<?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>176391</bug_id>
          
          <creation_ts>2017-09-05 12:28:37 -0700</creation_ts>
          <short_desc>Implement polymorphic prototypes</short_desc>
          <delta_ts>2017-10-04 12:48:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>177318</blocked>
    
    <blocked>177339</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>rniwa</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1345562</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-05 12:28:37 -0700</bug_when>
    <thetext>The plan is to allow object&apos;s to store their prototypes in their property storage instead of their structure. This will make code like this faster:
```
function foo() {
    class C { 
        constructor() {
            this.x = 20;
            this.y = 30;
        }
    }
    return new C;
}

function bar(a) { return a.x + a.y; }

let a = [foo(), foo(), foo(), foo(), foo(), foo(), foo(), foo()]
for (let I = 0; I &lt; 1000; I++)
    for (let x of a) bar(x);
```

The reason is each invocation of foo will create a new C class. Each result of foo() will end up with an object with a different structure, each with a different prototype, each pointing to a separate C.protoype field. That means that bar&apos;s ICs for &quot;.x&quot; and &quot;.y&quot; will become megamorphic and go to the slow path. However, the structure for the resulting object in each invocation of foo() will only be different in their prototype field. If we decided to store the prototype of the object in its property storage instead of on its structure, the C constructor can always return the same structure. This will make the inline caches in bar monomorphic.

This will probably require a lot of changes elsewhere in the system. I&apos;ll probably need to rewrite object property condition in some way. We&apos;ll also need to take precautions to not go poly-proto under every circumstance. For example, consider this program:

```
function foo() {
    return function C() { }
}
```
let c1 = foo();
c1.prototype = {x};

let c2 = foo();
c2.prototype = {y};

.... and so on
```

Since c1, c2, etc, will all produce structure&apos;s with truly different prototypes, it makes sense not to go poly proto under such circumstances. I think this means we&apos;ll want the structure representing &quot;function.prototype&quot; to have an InferredValue that infers its constructor. We only go poly-proto if the inferred value is invalidated. In the above program, it won&apos;t be invalidated, since c1/c2.protoytpe will point to object&apos;s of different structures. However, in the first program, the prototype for each C will have the same structure, leading to the inferred value for C.prototype&apos;s structure to be invalidated since it&apos;ll see more than one constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345565</commentid>
    <comment_count>1</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-05 12:29:46 -0700</bug_when>
    <thetext>Nice! I think I also have a bug open for this. I&apos;ll dup to yours.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345567</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-05 12:31:09 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #1)
&gt; Nice! I think I also have a bug open for this. I&apos;ll dup to yours.

Thanks. I thought we might have one already open, but I couldn&apos;t find it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345569</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-05 12:32:08 -0700</bug_when>
    <thetext>
(In reply to Saam Barati from comment #0)
&gt; The plan is to allow object&apos;s to store their prototypes in their property
&gt; storage instead of their structure.

Side question: Does it make sense to ensure that the prototype is always in inline storage, at least for final objects?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345634</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-05 13:50:02 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #3)
&gt; (In reply to Saam Barati from comment #0)
&gt; &gt; The plan is to allow object&apos;s to store their prototypes in their property
&gt; &gt; storage instead of their structure.
&gt; 
&gt; Side question: Does it make sense to ensure that the prototype is always in
&gt; inline storage, at least for final objects?

Probably no for the final objects with non-poly proto, but probably yes for the final objects that have poly proto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345635</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-05 13:51:07 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; (In reply to Keith Miller from comment #3)
&gt; &gt; (In reply to Saam Barati from comment #0)
&gt; &gt; &gt; The plan is to allow object&apos;s to store their prototypes in their property
&gt; &gt; &gt; storage instead of their structure.
&gt; &gt; 
&gt; &gt; Side question: Does it make sense to ensure that the prototype is always in
&gt; &gt; inline storage, at least for final objects?
&gt; 
&gt; Probably no for the final objects with non-poly proto, but probably yes for
&gt; the final objects that have poly proto.

Actually, this may require more thought. It obviously depends on the access patterns for this type of object. I&apos;ll need to think about this a bit more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345644</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-05 14:24:58 -0700</bug_when>
    <thetext>*** Bug 150983 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345665</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-09-05 15:18:38 -0700</bug_when>
    <thetext>*** Bug 174523 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345666</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-09-05 15:19:12 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #3)
&gt; (In reply to Saam Barati from comment #0)
&gt; &gt; The plan is to allow object&apos;s to store their prototypes in their property
&gt; &gt; storage instead of their structure.
&gt; 
&gt; Side question: Does it make sense to ensure that the prototype is always in
&gt; inline storage, at least for final objects?

No because we don&apos;t want to waste the space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346188</commentid>
    <comment_count>9</comment_count>
      <attachid>320086</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-06 18:20:18 -0700</bug_when>
    <thetext>Created attachment 320086
WIP

it begins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350135</commentid>
    <comment_count>10</comment_count>
      <attachid>321144</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-18 16:02:20 -0700</bug_when>
    <thetext>Created attachment 321144
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350177</commentid>
    <comment_count>11</comment_count>
      <attachid>321157</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-18 17:26:40 -0700</bug_when>
    <thetext>Created attachment 321157
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350461</commentid>
    <comment_count>12</comment_count>
      <attachid>321235</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-19 13:04:30 -0700</bug_when>
    <thetext>Created attachment 321235
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350629</commentid>
    <comment_count>13</comment_count>
      <attachid>321280</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-19 19:41:38 -0700</bug_when>
    <thetext>Created attachment 321280
WIP

I&apos;m about to start hacking on our ICs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350690</commentid>
    <comment_count>14</comment_count>
      <attachid>321301</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-20 01:30:25 -0700</bug_when>
    <thetext>Created attachment 321301
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350951</commentid>
    <comment_count>15</comment_count>
      <attachid>321360</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-20 13:55:03 -0700</bug_when>
    <thetext>Created attachment 321360
WIP

It did a poly proto load, but things are quite hacky ATM. I need to find the right abstractions for things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351015</commentid>
    <comment_count>16</comment_count>
      <attachid>321378</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-20 15:08:28 -0700</bug_when>
    <thetext>Created attachment 321378
patch

It did a poly proto load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351083</commentid>
    <comment_count>17</comment_count>
      <attachid>321396</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-20 17:33:19 -0700</bug_when>
    <thetext>Created attachment 321396
WIP

I&apos;m starting to think of splitting this work in two patches.

The first patch:
- implements poly proto vs mono proto constructor inference, along with detecting when to transition a create_this to make a poly proto object
- teaches the runtime about poly proto, and wires it through everywhere.
- It&apos;ll treat ObjectPropertyConditionSet and PrototypeAccessChain as mutually exclusive data structures to consult depending on poly proto state
- loads with poly proto anywhere in the chain will just emit GetById in the DFG
- we&apos;ll do the stupid thing where we load each prototype (even if mono proto), and check that the structure is what we expect it to be, inside AccessCase

And then in the second patch:
- Merge PrototypeAccessChain and ObjectPropertyConditionSet. The reason for this is: you may have mono proto structures in the middle of a prototype access that has poly proto somewhere in it. We can use normal OPC for the prototypes pointed to by mono proto structures since we know the prototype object won&apos;t change. There is no fundamental need to do the dumb thing stated above. I think if I pace things out this way, it&apos;ll be a nice succession of patches, without having to rewrite code.
- Teach the DFG about this hybrid data structure. We should still be able to emit GetByOffset for prototype loads. The DFG will learn to dynamically load the prototype in the case of poly proto, and emit necessary StructureCheck on it.

Anybody have thoughts on this plan?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351275</commentid>
    <comment_count>18</comment_count>
      <attachid>321452</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-21 11:21:00 -0700</bug_when>
    <thetext>Created attachment 321452
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351413</commentid>
    <comment_count>19</comment_count>
      <attachid>321485</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-21 15:29:35 -0700</bug_when>
    <thetext>Created attachment 321485
WIP

It can run ARES6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351503</commentid>
    <comment_count>20</comment_count>
      <attachid>321504</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-21 18:45:11 -0700</bug_when>
    <thetext>Created attachment 321504
WIP

instanceof works again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351567</commentid>
    <comment_count>21</comment_count>
      <attachid>321526</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-22 01:11:57 -0700</bug_when>
    <thetext>Created attachment 321526
WIP

many tests pass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351579</commentid>
    <comment_count>22</comment_count>
      <attachid>321528</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-22 02:02:49 -0700</bug_when>
    <thetext>Created attachment 321528
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351697</commentid>
    <comment_count>23</comment_count>
      <attachid>321559</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-22 10:37:07 -0700</bug_when>
    <thetext>Created attachment 321559
WIP

It passes almost all (or maybe all) JSC stress tests. It&apos;s time to start cleaning things up, auditing some more code, and writing a lot of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351702</commentid>
    <comment_count>24</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-22 10:41:05 -0700</bug_when>
    <thetext>Attachment 321559 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:52:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:392:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:393:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:564:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:631:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/PrototypeAccessChain.cpp:100:  One line control clauses should not use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:292:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:247:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:249:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/Structure.cpp:302:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/Structure.cpp:312:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3253:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:45:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:46:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:47:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:48:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:69:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:74:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/StructureChain.h:65:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:51:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:51:  The parameter name &quot;globalObject&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:77:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGOperations.cpp:250:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 25 in 61 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>1351733</commentid>
    <comment_count>25</comment_count>
      <attachid>321559</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-22 11:20:01 -0700</bug_when>
    <thetext>Comment on attachment 321559
WIP

Attachment 321559 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/4629035

New failing tests:
ChakraCore.yaml/ChakraCore/test/StackTrace/ErrorPrototype.js.default
typeProfiler.yaml/typeProfiler/deltablue-for-of.js.ftl-no-cjit-type-profiler
ChakraCore.yaml/ChakraCore/test/ControlFlow/forInObjectWithPrototype.js.default
typeProfiler.yaml/typeProfiler/deltablue-for-of.js.ftl-type-profiler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351756</commentid>
    <comment_count>26</comment_count>
      <attachid>321559</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-22 11:56:08 -0700</bug_when>
    <thetext>Comment on attachment 321559
WIP

Attachment 321559 did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/4629252

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/Document-createElement.html
imported/w3c/web-platform-tests/dom/nodes/Document-createElementNS.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351757</commentid>
    <comment_count>27</comment_count>
      <attachid>321574</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-22 11:56:09 -0700</bug_when>
    <thetext>Created attachment 321574
Archive of layout-test-results from ews100 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100  Port: mac-elcapitan  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351765</commentid>
    <comment_count>28</comment_count>
      <attachid>321559</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-22 12:16:48 -0700</bug_when>
    <thetext>Comment on attachment 321559
WIP

Attachment 321559 did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/4629331

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/Document-createElement.html
imported/w3c/web-platform-tests/dom/nodes/Document-createElementNS.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351766</commentid>
    <comment_count>29</comment_count>
      <attachid>321576</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-22 12:16:49 -0700</bug_when>
    <thetext>Created attachment 321576
Archive of layout-test-results from ews117 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117  Port: mac-elcapitan  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351809</commentid>
    <comment_count>30</comment_count>
      <attachid>321588</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-22 13:44:18 -0700</bug_when>
    <thetext>Created attachment 321588
WIP

More stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352088</commentid>
    <comment_count>31</comment_count>
      <attachid>321659</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-24 15:57:50 -0700</bug_when>
    <thetext>Created attachment 321659
WIP

making gets that go through primitives work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352089</commentid>
    <comment_count>32</comment_count>
      <attachid>321660</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-24 16:21:59 -0700</bug_when>
    <thetext>Created attachment 321660
WIP

make sure we hash-cons AccessCases doing a poly proto load</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352124</commentid>
    <comment_count>33</comment_count>
      <attachid>321666</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-24 21:17:50 -0700</bug_when>
    <thetext>Created attachment 321666
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352126</commentid>
    <comment_count>34</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-24 21:20:09 -0700</bug_when>
    <thetext>Attachment 321666 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:52:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:397:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:398:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:410:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:412:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:414:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:574:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:641:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:264:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:265:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:271:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:272:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:270:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:276:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:277:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:296:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:247:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:248:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:249:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:250:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:252:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/Structure.cpp:302:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/Structure.cpp:312:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/JSObject.cpp:1636:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3253:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:43:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:48:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:52:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:53:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:54:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:55:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:76:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:81:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/runtime/StructureChain.h:65:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:51:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:51:  The parameter name &quot;globalObject&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:77:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGOperations.cpp:250:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 40 in 69 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>1352129</commentid>
    <comment_count>35</comment_count>
      <attachid>321666</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-24 21:58:36 -0700</bug_when>
    <thetext>Comment on attachment 321666
WIP

Attachment 321666 did not pass jsc-ews (mac):
Output: http://webkit-queues.webkit.org/results/4646352

New failing tests:
typeProfiler.yaml/typeProfiler/deltablue-for-of.js.ftl-no-cjit-type-profiler
typeProfiler.yaml/typeProfiler/deltablue-for-of.js.ftl-type-profiler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352130</commentid>
    <comment_count>36</comment_count>
      <attachid>321666</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-24 22:35:46 -0700</bug_when>
    <thetext>Comment on attachment 321666
WIP

Attachment 321666 did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/4646535

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/Document-createElement.html
imported/w3c/web-platform-tests/dom/nodes/Document-createElementNS.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352131</commentid>
    <comment_count>37</comment_count>
      <attachid>321668</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-24 22:35:48 -0700</bug_when>
    <thetext>Created attachment 321668
Archive of layout-test-results from ews102 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-elcapitan  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352132</commentid>
    <comment_count>38</comment_count>
      <attachid>321666</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-24 22:55:39 -0700</bug_when>
    <thetext>Comment on attachment 321666
WIP

Attachment 321666 did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/4646543

New failing tests:
imported/w3c/web-platform-tests/dom/nodes/Document-createElement.html
imported/w3c/web-platform-tests/dom/nodes/Document-createElementNS.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352133</commentid>
    <comment_count>39</comment_count>
      <attachid>321669</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-24 22:55:40 -0700</bug_when>
    <thetext>Created attachment 321669
Archive of layout-test-results from ews114 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-elcapitan  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352557</commentid>
    <comment_count>40</comment_count>
      <attachid>321785</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-25 19:31:19 -0700</bug_when>
    <thetext>Created attachment 321785
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352562</commentid>
    <comment_count>41</comment_count>
      <attachid>321787</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-25 19:41:02 -0700</bug_when>
    <thetext>Created attachment 321787
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352923</commentid>
    <comment_count>42</comment_count>
      <attachid>321897</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-26 16:50:48 -0700</bug_when>
    <thetext>Created attachment 321897
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352944</commentid>
    <comment_count>43</comment_count>
      <attachid>321908</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-26 17:39:35 -0700</bug_when>
    <thetext>Created attachment 321908
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353016</commentid>
    <comment_count>44</comment_count>
      <attachid>321934</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-26 20:44:53 -0700</bug_when>
    <thetext>Created attachment 321934
WIP

I&apos;m forcing all create_this things to be poly proto as a testing strategy. Should help find some bugs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353032</commentid>
    <comment_count>45</comment_count>
      <attachid>321939</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-26 23:35:30 -0700</bug_when>
    <thetext>Created attachment 321939
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353966</commentid>
    <comment_count>46</comment_count>
      <attachid>322048</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-27 18:01:06 -0700</bug_when>
    <thetext>Created attachment 322048
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353984</commentid>
    <comment_count>47</comment_count>
      <attachid>322053</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-27 18:47:48 -0700</bug_when>
    <thetext>Created attachment 322053
WIP

We now do caching for InHit/InMiss. Going to write caching for puts now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353996</commentid>
    <comment_count>48</comment_count>
      <attachid>322057</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-27 19:49:06 -0700</bug_when>
    <thetext>Created attachment 322057
WIP

poly proto setters may be done. I need to still test custom value setters/getters and custom accessor setters/getters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354000</commentid>
    <comment_count>49</comment_count>
      <attachid>322058</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-27 19:54:57 -0700</bug_when>
    <thetext>Created attachment 322058
WIP

some more microbenchmarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354404</commentid>
    <comment_count>50</comment_count>
      <attachid>322152</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-28 18:36:31 -0700</bug_when>
    <thetext>Created attachment 322152
WIP

Now with tests for custom accessors / custom value getter/setters. I think we may have had zero tests for this inside jsc stress tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354411</commentid>
    <comment_count>51</comment_count>
      <attachid>322154</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-28 19:02:41 -0700</bug_when>
    <thetext>Created attachment 322154
WIP

Really close to being ready for review. I think I just need to write a changelog and verify a couple more things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354426</commentid>
    <comment_count>52</comment_count>
      <attachid>322160</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-28 20:11:37 -0700</bug_when>
    <thetext>Created attachment 322160
WIP

Almost done I think, just verifying performance is faster on microbenchmarks. It is indeed significantly faster. I need to run benchmark suites now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354427</commentid>
    <comment_count>53</comment_count>
      <attachid>322161</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-28 20:25:44 -0700</bug_when>
    <thetext>Created attachment 322161
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354716</commentid>
    <comment_count>54</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-29 14:56:25 -0700</bug_when>
    <thetext>Octane&apos;s delta blue falls right into our poly-proto heuristic:
```
Object.defineProperty(Object.prototype, &quot;inheritsFrom&quot;, {
  
  value: function (shuper) {
    function Inheriter() { }
    Inheriter.prototype = shuper.prototype;
    this.prototype = new Inheriter();
    this.superConstructor = shuper;
  }
});
```
Poly proto happens when the same &quot;shuper&quot; is passed in, which happens frequently.

This patch makes that test 65% slower, which leads to a 4% regression on Octane. Also likely leading to a JetStream regression. I&apos;m not sure if I should bother even changing the poly-proto heuristic. Perhaps the right way to land this patch is to just integrate it with OPC set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354717</commentid>
    <comment_count>55</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-29 14:58:16 -0700</bug_when>
    <thetext>Kraken and Octane besides delta blue look neutral. This patch may also be a 1-2% ARES6 speedup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354744</commentid>
    <comment_count>56</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-29 15:44:56 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #54)
&gt; Octane&apos;s delta blue falls right into our poly-proto heuristic:
&gt; ```
&gt; Object.defineProperty(Object.prototype, &quot;inheritsFrom&quot;, {
&gt;   
&gt;   value: function (shuper) {
&gt;     function Inheriter() { }
&gt;     Inheriter.prototype = shuper.prototype;
&gt;     this.prototype = new Inheriter();
&gt;     this.superConstructor = shuper;
&gt;   }
&gt; });
&gt; ```
&gt; Poly proto happens when the same &quot;shuper&quot; is passed in, which happens
&gt; frequently.
&gt; 
&gt; This patch makes that test 65% slower, which leads to a 4% regression on
&gt; Octane. Also likely leading to a JetStream regression. I&apos;m not sure if I
&gt; should bother even changing the poly-proto heuristic. Perhaps the right way
&gt; to land this patch is to just integrate it with OPC set.

Actually I&apos;m not sure if a combined PrototypeAccessChain and OPC set would solve the performance here. We end up with a prototype chain like so:

base (mono proto) =&gt; parent (poly proto) =&gt; parent^2 (mono proto)
Or we end up with:
base (mono proto) =&gt; parent (poly proto) =&gt; parent^2 (poly proto)
where we&apos;re loading from parent^2

In both cases, if the link in the chain before the thing we&apos;re loading from is poly proto, we can&apos;t say much about the identity of the thing above it. In this case, the thing before parent^2 is always poly proto, so we can&apos;t say anything about parent^2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354746</commentid>
    <comment_count>57</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-29 15:50:05 -0700</bug_when>
    <thetext>I wonder if the solution here is to just emit OPC when the base isn&apos;t poly proto. If the base isn&apos;t poly proto, but inherits from something poly proto, we&apos;re likely going to keep seeing the same prototype chain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1354878</commentid>
    <comment_count>58</comment_count>
      <attachid>322286</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-09-30 01:21:37 -0700</bug_when>
    <thetext>Created attachment 322286
WIP

The start of a new heuristic of when to go poly proto. Basically how it&apos;s going to work is:
we let profiling from ICs tell us when it thinks two structures should become poly proto because they&apos;re structurally equivalent sans having the same prototype. Then, we communicate this back to the executable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355033</commentid>
    <comment_count>59</comment_count>
      <attachid>322326</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-01 12:30:12 -0700</bug_when>
    <thetext>Created attachment 322326
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355059</commentid>
    <comment_count>60</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-01 14:02:39 -0700</bug_when>
    <thetext>Seems to be crashing some tests. Will look into why</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355133</commentid>
    <comment_count>61</comment_count>
      <attachid>322353</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-01 23:07:43 -0700</bug_when>
    <thetext>Created attachment 322353
WIP

Try it out on EWS. I think it&apos;s really close to being ready for review. The last major thing to do is write a changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355136</commentid>
    <comment_count>62</comment_count>
      <attachid>322354</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-01 23:28:03 -0700</bug_when>
    <thetext>Created attachment 322354
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355141</commentid>
    <comment_count>63</comment_count>
      <attachid>322355</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-01 23:52:57 -0700</bug_when>
    <thetext>Created attachment 322355
WIP

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355143</commentid>
    <comment_count>64</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-01 23:56:46 -0700</bug_when>
    <thetext>Attachment 322355 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/Repatch.cpp:577:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/StructureChain.h:65:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:584:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:585:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/AccessCase.cpp:586:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:52:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:64:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:65:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:66:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:71:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:73:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:75:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:76:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:79:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.cpp:87:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/PrototypeAccessChain.h:45:  The parameter name &quot;globalObject&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/PrototypeAccessChain.h:45:  The parameter name &quot;slot&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/PrototypeAccessChain.h:46:  The parameter name &quot;globalObject&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:51:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:51:  The parameter name &quot;globalObject&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ObjectAllocationProfile.h:77:  The parameter name &quot;vm&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3253:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 25 in 92 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>1355157</commentid>
    <comment_count>65</comment_count>
      <attachid>322355</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 01:05:28 -0700</bug_when>
    <thetext>Comment on attachment 322355
WIP

Attachment 322355 did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/4721248

Number of test failures exceeded the failure limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355158</commentid>
    <comment_count>66</comment_count>
      <attachid>322360</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 01:05:30 -0700</bug_when>
    <thetext>Created attachment 322360
Archive of layout-test-results from ews117 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews117  Port: mac-elcapitan  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355361</commentid>
    <comment_count>67</comment_count>
      <attachid>322403</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 11:46:34 -0700</bug_when>
    <thetext>Created attachment 322403
WIP

let&apos;s try this on EWS. I still haven&apos;t done 32-bit, but that should be really easy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355364</commentid>
    <comment_count>68</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 11:50:10 -0700</bug_when>
    <thetext>Attachment 322403 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 92 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>1355399</commentid>
    <comment_count>69</comment_count>
      <attachid>322409</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 12:25:53 -0700</bug_when>
    <thetext>Created attachment 322409
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355401</commentid>
    <comment_count>70</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 12:28:31 -0700</bug_when>
    <thetext>Attachment 322409 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 92 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>1355496</commentid>
    <comment_count>71</comment_count>
      <attachid>322409</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 14:28:37 -0700</bug_when>
    <thetext>Comment on attachment 322409
WIP

Attachment 322409 did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/4728552

New failing tests:
imported/w3c/web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-screenx-screeny.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355497</commentid>
    <comment_count>72</comment_count>
      <attachid>322438</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 14:28:39 -0700</bug_when>
    <thetext>Created attachment 322438
Archive of layout-test-results from ews101 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-elcapitan  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355593</commentid>
    <comment_count>73</comment_count>
      <attachid>322466</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 16:23:32 -0700</bug_when>
    <thetext>Created attachment 322466
patch

I still need to write the 32-bit parts of this patch. It should be mostly trivial. Anyways, it&apos;s ready for review minus 32-bit parts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355594</commentid>
    <comment_count>74</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 16:25:29 -0700</bug_when>
    <thetext>Attachment 322466 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 96 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>1355616</commentid>
    <comment_count>75</comment_count>
      <attachid>322466</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 16:56:31 -0700</bug_when>
    <thetext>Comment on attachment 322466
patch

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

&gt; Source/JavaScriptCore/runtime/StructureRareData.h:85
&gt; +    WriteBarrier&lt;InferredValue&gt; m_inferredConstructor;

will remove</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355620</commentid>
    <comment_count>76</comment_count>
      <attachid>322475</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 17:00:05 -0700</bug_when>
    <thetext>Created attachment 322475
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355622</commentid>
    <comment_count>77</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 17:02:47 -0700</bug_when>
    <thetext>Attachment 322475 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 94 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>1355639</commentid>
    <comment_count>78</comment_count>
      <attachid>322478</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 17:33:00 -0700</bug_when>
    <thetext>Created attachment 322478
patch

With 32-bit written. I think it works, but I&apos;m testing it locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355641</commentid>
    <comment_count>79</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 17:35:39 -0700</bug_when>
    <thetext>Attachment 322478 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 95 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>1355644</commentid>
    <comment_count>80</comment_count>
      <attachid>322479</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 17:38:44 -0700</bug_when>
    <thetext>Created attachment 322479
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355647</commentid>
    <comment_count>81</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-02 17:41:38 -0700</bug_when>
    <thetext>Attachment 322479 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 95 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>1355970</commentid>
    <comment_count>82</comment_count>
      <attachid>322563</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-03 12:26:38 -0700</bug_when>
    <thetext>Created attachment 322563
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355972</commentid>
    <comment_count>83</comment_count>
      <attachid>322563</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-10-03 12:28:31 -0700</bug_when>
    <thetext>Comment on attachment 322563
patch for landing

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

&gt; Source/JavaScriptCore/ChangeLog:96
&gt; +        to determine if two structures originated from the same executable. This
&gt; +        pruning will severely limit the chances of getting a hash conflict in practice.
&gt; +
&gt; +        * JavaScriptCore.xcodeproj/project.pbxproj:
&gt; +        * Sources.txt:
&gt; +        * builtins/BuiltinNames.cpp:

Can you include perf data in the changelog?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1355973</commentid>
    <comment_count>84</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-03 12:28:51 -0700</bug_when>
    <thetext>Attachment 322563 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h:52:  std::unique_ptr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:35:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 3 in 95 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>1355994</commentid>
    <comment_count>85</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-03 13:03:34 -0700</bug_when>
    <thetext>(In reply to Filip Pizlo from comment #83)
&gt; Comment on attachment 322563 [details]
&gt; patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=322563&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:96
&gt; &gt; +        to determine if two structures originated from the same executable. This
&gt; &gt; +        pruning will severely limit the chances of getting a hash conflict in practice.
&gt; &gt; +
&gt; &gt; +        * JavaScriptCore.xcodeproj/project.pbxproj:
&gt; &gt; +        * Sources.txt:
&gt; &gt; +        * builtins/BuiltinNames.cpp:
&gt; 
&gt; Can you include perf data in the changelog?

Yeah. I just kicked off a run of run-jsc-benchmarks. After that, I&apos;ll collect perf on the microbenchmarks I added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356082</commentid>
    <comment_count>86</comment_count>
      <attachid>322594</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-03 15:22:51 -0700</bug_when>
    <thetext>Created attachment 322594
traditional perf benchmark results

seems neutral</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356109</commentid>
    <comment_count>87</comment_count>
      <attachid>322601</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-03 15:56:46 -0700</bug_when>
    <thetext>Created attachment 322601
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356151</commentid>
    <comment_count>88</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-03 16:57:01 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 322601:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356152</commentid>
    <comment_count>89</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-03 16:57:03 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 322601:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356201</commentid>
    <comment_count>90</comment_count>
      <attachid>322601</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-03 18:53:22 -0700</bug_when>
    <thetext>Comment on attachment 322601
patch for landing

Clearing flags on attachment: 322601

Committed r222827: &lt;http://trac.webkit.org/changeset/222827&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356202</commentid>
    <comment_count>91</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-03 18:53:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356203</commentid>
    <comment_count>92</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-03 18:54:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/34804756&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356284</commentid>
    <comment_count>93</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-10-04 01:50:05 -0700</bug_when>
    <thetext>Oh, wow cool
https://arewefastyet.com/#machine=29&amp;view=single&amp;suite=ares6&amp;subtest=Air-steadyState</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1356589</commentid>
    <comment_count>94</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-04 12:48:13 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #93)
&gt; Oh, wow cool
&gt; https://arewefastyet.com/#machine=29&amp;view=single&amp;suite=ares6&amp;subtest=Air-
&gt; steadyState

👍🏽</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320086</attachid>
            <date>2017-09-06 18:20:18 -0700</date>
            <delta_ts>2017-09-18 16:02:20 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>6936</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkocmV2aXNpb24gMjIxNjg5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2luY2x1
ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogCisjaW5jbHVkZSAiUHJvYmVDb250ZXh0Lmgi
CisKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTIzMSw2ICsyMzMsMTAgQEAgdm9pZCBKSVQ6OmNv
bXBpbGVPcENhbGwoT3Bjb2RlSUQgb3Bjb2RlSQogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25t
ZW50KCk7CiAKICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgcHJvYmUo
W10gKFByb2JlOjpDb250ZXh0JiBjdHgpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3Qg
cmVzdWx0OiAiLCBKU1ZhbHVlOjpkZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0
eC5ncHIocmVnVDApKSkpOworICAgIH0pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGlu
c3RydWN0aW9uKTsKIH0KQEAgLTI2MCw2ICsyNjYsMTAgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENh
bGxTbG93Q2FzZShPcGNvZGVJRAogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAK
ICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgcHJvYmUoW10gKFByb2Jl
OjpDb250ZXh0JiBjdHgpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3QgcmVzdWx0OiAi
LCBKU1ZhbHVlOjpkZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0eC5ncHIocmVn
VDApKSkpOworICAgIH0pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGluc3RydWN0aW9u
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRo
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIxNjg5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0
Miw3IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6
ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSkt
Pm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQg
PSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBkYXRhTG9n
TG4oImNyZWF0ZV90aGlzIHJlc3VsdDogIiwgSlNWYWx1ZShyZXN1bHQpKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAv
I3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3Rv
ID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5w
cm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
CShyZXZpc2lvbiAyMjE2ODkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjk2LDcgKzEyOTYsNyBAQCBpbmxpbmUgSlNPYmpl
Y3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0Ojpn
ZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUo
dGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZt
LCBFeGVjU3RhdGUqIGV4ZWMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
YXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIxNjg5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBwcm90b3R5
cGUoY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAgICAgIC8v
IE9PUFMuIG1ha2Ugc3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nlc3NlcyB0
aGlzLgogICAgICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAgICAgIHJl
dHVybiBnZXQoZ2xvYmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpAQCAtMTAx
LDEzICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRDb25j
dXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1cnJl
bnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBn
ZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCiAg
ICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7CiAgICAg
ICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMTY4OSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTEsOCAr
MjUxLDIxIEBAIHB1YmxpYzoKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBi
ZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xv
YmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0
YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZt
LCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJv
dG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wg
aGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90
b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlw
ZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5
cGUoKSk7CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPworICAg
ICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVk
UHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFBy
b3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09i
amVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cChFeGVjU3RhdGUqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIxNjg5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAt
NzcsNiArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIAogICAgICAgICB2bS5oZWFwLm11dGF0
b3JGZW5jZSgpOwogICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICAgICAg
Ly8gT09QUzogSSB0aGluayB3ZSBtYXkgbmVlZCBhIHdyaXRlIGJhcnJpZXIgaGVyZSBvZiB8dGhp
c3wuCiAgICAgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIxNjg5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZN
JiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgp
IGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAg
IEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxs
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksNiArNzAsNyBAQCBpbmxpbmUgSlNP
YmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVj
dHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKQEAgLTQwNCw1ICs0MDYsMzUgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9w
ZXJ0eVRhYmxlKAogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0s
IHRoaXMsIHRhYmxlKTsKIH0KKworSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShj
b25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVj
dC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmICho
YXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJl
dHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitKU09iamVjdCogU3RydWN0dXJl
OjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sK
KyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BT
IGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJl
dHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3Rv
dHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJv
dG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXRE
aXJlY3Qob2Zmc2V0KTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisKK1N0cnVjdHVyZSogU3Ry
dWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkg
Y29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0
KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321144</attachid>
            <date>2017-09-18 16:02:20 -0700</date>
            <delta_ts>2017-09-18 17:26:40 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>31540</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMxNSw3ICsxMzE1LDcgQEAKIAkJMkQzNDJGMzZGNzI0
NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9y
aWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVF
RkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsK
IAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5
OTQgLyogbGliei5keWxpYiAqLzsgfTsKLQkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBh
cnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQuaCAqLzsgfTsKKwkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTI5NTI3ODFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyog
YnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzkx
RDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5IGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzUxRDJD
RjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNTYyLDYgKzE1
NjIsNyBAQAogCQk3OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3
NTk3MjFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2
MDAwNTIxNzRDIC8qIFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzlCODE5OTMxREQyNUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNG
NTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAv
KiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyog
REZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUg
LyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5
QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRp
b25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTc5Q0ZDNkYwMUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBD
NzY4RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC00MTgzLDYgKzQxODQsNyBAQAogCQk3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdhc21NZW1vcnlJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3OUI3NTk3MzFERkE0QzYwMDA1MjE3NEMgLyogV2FzbVBhZ2VDb3VudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtUGFnZUNvdW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2Jh
bE9iamVjdElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9i
YWxPYmplY3RJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5QkEyMUE1
MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9u
UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUM0QjE1QzFCQTIxNThGMDBG
RDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmg7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUNGQzZFRjFDMzNCMTAwMDBDNzY4
RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBM
TEludFBDUmFuZ2VzLmg7IHBhdGggPSBsbGludC9MTEludFBDUmFuZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03ODM0LDYgKzc4MzYsNyBAQAogCQkJCTE0QUQ5MTEzMURDQTk3
RkQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcCAqLywKIAkJCQkxNEFEOTEw
OTFEQ0E5Mjk0MDAxNEY5RkUgLyogTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTE0
Q0E5NThDMTZBQjUwRkEwMDkzOEEwNiAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oICovLAor
CQkJCTc5QkEyMUE1MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAgKi8sCiAJCQkJMEZEM0U0MDMxQjYxOEI2NjAwQzgwRTFFIC8qIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQwNDFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uaCAqLywKIAkJCQkwRkQzRTQwNTFCNjE4QjY2MDBDODBFMUUgLyogT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwICovLApAQCAtMTA2MTksNiArMTA2MjIsNyBAQAog
CQkJCTBGRUEwQTFFMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI3MTg3REZERUMwMDgzQjY4NyAvKiBGVExB
dmFpbGFibGVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEwOTE3MDUxM0RC
MDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QkEy
MUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9uVmFsdWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQjM4NzkyMUJGRDMxQTEwMEUzQUIxRSAvKiBGVExD
b21waWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOUQ0QzBDMUMzRTFDMTEwMDZDRDk4NCAv
KiBGVExFeGNlcHRpb25UYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEz
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKwor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBp
bmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBB
U1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NF
UlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgYm9vbCBoYXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRW
YWx1ZUZvckNvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJl
RGF0YSh2bSktPmVuc3VyZUluZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5cGUodm0pOworICAgICAg
ICBpbmZlcnJlZFZhbHVlRm9yQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3Rv
ciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUiKTsKKyAgICAgICAgaGFzUG9seVByb3RvID0gISFpbmZlcnJlZFZhbHVlRm9yQ29uc3RydWN0
b3ItPmluZmVycmVkVmFsdWUoKTsKKyAgICAgICAgaWYgKGhhc1BvbHlQcm90bykgeworICAgICAg
ICAgICAgZGF0YUxvZ0xuKCJIYXZlIGluZmVycmVkIGNvbnN0cnVjdG9yOiAiLCBpbmZlcnJlZENv
bnN0cnVjdG9yLCAiIGZvciBwcm90b3R5cGU6ICIsIEpTVmFsdWUocHJvdG90eXBlKSk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBkYXRhTG9nTG4oIlByb3RvdHlwZTogIiwgSlNWYWx1
ZShwcm90b3R5cGUpLCAiIGhhcyBpbnZhbGlkIGluZmVycmVkIGNvbnN0cnVjdG9yIik7CisgICAg
ICAgIH0KKworICAgICAgICAvLyBPT1BTOiB3ZSBrbm93IGhlcmUgaWYgd2UncmUgZG9pbmcgc29t
ZXRoaW5nIHRoYXQncyBwb2x5IHByb3RvLiBXZSBzaG91bGQgcHJvYmFibHkgY29udmV5IHRoYXQK
KyAgICAgICAgLy8gaW5mb3JtYXRpb24gaGVyZSBhbmQgYWxzbyBjb252ZXkgaWYgd2Uga25vdyB0
aGF0IHdlJ3ZlIHJlc2VydmVkIGFuIGlubGluZSBzcGFjZSBmb3IgdGhlIHByb3RvLgorICAgIH0K
KworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Cisg
ICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlz
aXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5l
Q2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1v
c3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8v
IHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGgg
aGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlm
IChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBn
dWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAg
Ly8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAg
ICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7
CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBv
YmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsK
KyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaGFzUG9seVByb3RvKSB7CisgICAg
ICAgIC8vIE9PUFM6IGxldHMgY29tbXVuaWNhdGUgdGhpcyB0byBzdHJ1Y3R1cmUgY3JlYXRlLiBJ
dCdzIGp1c3QgYXNzZXJ0aW5nIGl0IGdldHMgYW4gaW5saW5lIHNsb3QuCisgICAgICAgICsraW5s
aW5lQ2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4oaW5saW5lQ2Fw
YWNpdHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0KKworICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8
PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNpemVfdCBhbGxv
Y2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5
KTsKKyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0
b3JGb3IoYWxsb2NhdGlvblNpemUpOworICAgIAorICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4
dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYg
KGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXpl
KCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5
ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGlu
ZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisK
KyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0
cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHkpOworCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3Ry
dWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RGOjpzdG9yZVN0
b3JlRmVuY2UoKTsKKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIG1fc3RydWN0
dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9z
c2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7
CisgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQ
cm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAwOwor
ICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1l
TW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAg
ICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2
bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5h
bWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJv
cGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAgICAg
ICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZl
Y3RvcltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1
YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAg
ICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50
OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lv
biAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgog
CiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQg
aW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCog
b3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJU
KCFtX3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAg
ICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7
Ci0gICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGlj
IGFuYWx5c2lzLgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAo
IWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBvYmpl
Y3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlk
bid0Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9u
LiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+
IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93
IHRoZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBs
YXJnZSBvYmplY3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpT
RmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAg
ICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVD
YXBhY2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBs
YXJnZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5l
Q2FwYWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNp
dHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6
ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5l
Q2FwYWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxT
cGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAgLy8g
VGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUg
c2l6ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6ZV90
IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9m
KFdyaXRlQmFycmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBz
bG9wOwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZv
clByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0g
ICAgICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVy
ZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3JlU3Rv
cmVGZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAgICBt
X3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNh
cGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0
KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24q
IGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAg
ICAgewpAQCAtMTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKIAotICAgIHVuc2ln
bmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90
eXBlKQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9i
amVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAg
ICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5
TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZh
dGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+
Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVt
ZXJhdGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlO
YW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCkt
PnByb3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBy
b3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNWYWx1ZSB2YWx1
ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0g
ICAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNz
LWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAgICAgICBpZiAo
anNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAgICAgICAgICBj
b250aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlD
b3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2VkQWxsb2NhdG9y
KiBtX2FsbG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFzaWVyIGZvciBn
ZW5lcmF0ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkocmV2aXNpb24gMjIyMTgw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2luY2x1
ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogCisjaW5jbHVkZSAiUHJvYmVDb250ZXh0Lmgi
CisKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTIzMSw2ICsyMzMsMTAgQEAgdm9pZCBKSVQ6OmNv
bXBpbGVPcENhbGwoT3Bjb2RlSUQgb3Bjb2RlSQogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25t
ZW50KCk7CiAKICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgcHJvYmUo
W10gKFByb2JlOjpDb250ZXh0JiBjdHgpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3Qg
cmVzdWx0OiAiLCBKU1ZhbHVlOjpkZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0
eC5ncHIocmVnVDApKSkpOworICAgIH0pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGlu
c3RydWN0aW9uKTsKIH0KQEAgLTI2MCw2ICsyNjYsMTAgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENh
bGxTbG93Q2FzZShPcGNvZGVJRAogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAK
ICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgcHJvYmUoW10gKFByb2Jl
OjpDb250ZXh0JiBjdHgpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3QgcmVzdWx0OiAi
LCBKU1ZhbHVlOjpkZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0eC5ncHIocmVn
VDApKSkpOworICAgIH0pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGluc3RydWN0aW9u
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRo
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0
Miw3IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6
ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSkt
Pm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQg
PSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBkYXRhTG9n
TG4oImNyZWF0ZV90aGlzIHJlc3VsdDogIiwgSlNWYWx1ZShyZXN1bHQpKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAv
I3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3Rv
ID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVE
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkg
Kzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12
b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRp
YWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7
CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmpl
Y3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAog
dm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShy
ZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBpbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBw
cm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwog
CiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVy
biAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMTgw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEzNSw3ICsxMzUsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9u
OjphbGxvY2F0ZUFuCiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGds
b2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFy
ZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0
aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0
aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRv
IHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2Vl
cyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE1Myw3ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVE
YXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAg
ICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9y
YXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxp
emVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAy
MjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0
KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
KCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAK
IGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUq
IGV4ZWMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1
Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5
Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYg
KzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBwcm90b3R5cGUoY29uc3QgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAgICAgIC8vIE9PUFMuIG1ha2Ug
c3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nlc3NlcyB0aGlzLgogICAgICAg
ICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAgICAgIHJldHVybiBnZXQoZ2xv
YmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpAQCAtMTAxLDEzICsxMDIsNiBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsK
ICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0
Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50
bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3Qq
IGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBt
X2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDIsNiArMjAyLDI1
IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICBzZXRUcmFu
c2l0aW9uV2F0Y2hwb2ludElzTGlrZWx5VG9CZUZpcmVkKGZhbHNlKTsKICAgICBzZXRIYXNCZWVu
RGljdGlvbmFyeShmYWxzZSk7CiAgICAgc2V0SXNBZGRpbmdQcm9wZXJ0eUZvclRyYW5zaXRpb24o
ZmFsc2UpOworCisgICAgaWYgKEpTT2JqZWN0KiBvYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4odm0sIHByb3RvdHlwZSkpIHsKKyAgICAgICAgaWYgKG9iamVjdC0+c3RydWN0dXJlKCkt
Pmhhc1JhcmVEYXRhKCkKKyAgICAgICAgICAgICYmICEhb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+cmFy
ZURhdGEoKS0+aW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiAh
b2JqZWN0LT5zdHJ1Y3R1cmUoKS0+cmFyZURhdGEoKS0+aW5mZXJyZWRGdW5jdGlvbkZvclByb3Rv
dHlwZSgpLT5pbmZlcnJlZFZhbHVlKCkpIHsKKyAgICAgICAgICAgIC8vIFdlJ3JlIHBvbHkgcHJv
dG8gaGVyZSEKKworICAgICAgICAgICAgZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1
Y3R1cmUuIik7CisgICAgICAgICAgICBJbmZlcnJlZFZhbHVlKiB2YWx1ZSA9IG9iamVjdC0+c3Ry
dWN0dXJlKCktPnJhcmVEYXRhKCktPmluZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5cGUoKTsKKwor
ICAgICAgICAgICAgdGhpcy0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAg
ICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVByb3RvLCBEb250RW51bSwK
KyAgICAgICAgICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAg
ICAgICAgICAgICAgICAgICAvLyBPT1BTOiBsZXRzIG1ha2UgYSBkaWZmZXJlbnQgY3RvciBmb3Ig
dGhpcyB2YXJpYW50IG9mIHBvbHkgcHJvdG8sIHNpbmNlIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
IAorICAgICAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGtub3dzIHdoZW4gaXQncyBtYWtpbmcg
YSBwb2x5IHByb3RvIHZhcmlhbnQuCisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICB9
CisgICAgfQogIAogICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpKTsKICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8UHJvcGVydHlPZmZz
ZXQ+KGlubGluZUNhcGFjaXR5KSA8IGZpcnN0T3V0T2ZMaW5lT2Zmc2V0KTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjIxODApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5
KQpAQCAtMjUxLDggKzI1MSwyMSBAQCBwdWJsaWM6CiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qg
c2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywg
c2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1l
ZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9i
YWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFs
T2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9
CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBz
dG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFz
U3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICAvLyBPT1BTLiBtYXliZSBkZWJ1ZyBhc3NlcnRp
b24gaGVyZT8KKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAgIH0KKyAgICBK
U1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2Jq
ZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBT
dHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0
OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0
cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBw
cm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CkBAIC0yODAsNiArMjkzLDEzIEBA
IHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJh
cmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFy
ZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAg
ICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOwor
ICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAko
cmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIAogICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwogICAgICAgICBtX3ZlY3Rv
ciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICAgICAgLy8gT09QUzogSSB0aGluayB3ZSBtYXkgbmVl
ZCBhIHdyaXRlIGJhcnJpZXIgaGVyZSBvZiB8dGhpc3wuCiAgICAgfQogCiBwcml2YXRlOgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMu
aAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1
Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NF
UlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlw
ZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwpAQCAtNjksNiArNzAsNyBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJv
dG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7
CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlm
ICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTQwMCw5ICs0MDIsMzkgQEAg
aW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1v
dmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQ
cm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5F
IHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSog
dGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhp
cywgdGFibGUpOwogfQorCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQ
cm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FT
U0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAK
KyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90
b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkp
OworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIo
KTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lO
TElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNP
YmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVj
dHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAg
ICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICBKU1Zh
bHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKKyAgICBpZiAocHJvdG8uaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90
byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3Rv
dHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChK
U09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAg
cmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KICAgICAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIK
IAogI2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2Uu
aCIKKyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCkBAIC0xNzUsNiArMTc2LDEzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpj
bGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSW5mZXJy
ZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkRnVuY3Rpb25Gb3JQcm90
b3R5cGUoVk0mIHZtKQoreworICAgIGlmICghbV9pbmZlcnJlZEZ1bmN0aW9uRm9yUHJvdG90eXBl
KQorICAgICAgICBtX2luZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5cGUuc2V0KHZtLCB0aGlzLCBJ
bmZlcnJlZFZhbHVlOjpjcmVhdGUodm0pKTsKKyAgICByZXR1cm4gbV9pbmZlcnJlZEZ1bmN0aW9u
Rm9yUHJvdG90eXBlLmdldCgpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9i
amVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0t
LS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpP
YmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmlu
Z0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDEwIEBAIHB1YmxpYzoK
ICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0
b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0m
LCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1
Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rp
b24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisg
ICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlwZSgpIHsgcmV0dXJu
IG1faW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlwZS5nZXQoKTsgfQorICAgIEluZmVycmVkVmFs
dWUqIGVuc3VyZUluZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5cGUoVk0mKTsKKwogICAgIERFQ0xB
UkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03Niw2ICs4MSw3IEBAIHByaXZhdGU6CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8
SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAg
V3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1faW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlw
ZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRj
aHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1h
cDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2Vt
ZW50V2F0Y2hwb2ludFNldHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321157</attachid>
            <date>2017-09-18 17:26:40 -0700</date>
            <delta_ts>2017-09-19 13:04:30 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>33981</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMxNSw3ICsxMzE1LDcgQEAKIAkJMkQzNDJGMzZGNzI0
NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9y
aWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVF
RkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsK
IAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5
OTQgLyogbGliei5keWxpYiAqLzsgfTsKLQkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBh
cnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQuaCAqLzsgfTsKKwkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTI5NTI3ODFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyog
YnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzkx
RDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5IGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzUxRDJD
RjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNTYyLDYgKzE1
NjIsNyBAQAogCQk3OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3
NTk3MjFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2
MDAwNTIxNzRDIC8qIFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzlCODE5OTMxREQyNUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNG
NTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAv
KiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyog
REZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUg
LyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5
QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRp
b25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTc5Q0ZDNkYwMUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBD
NzY4RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC00MTgzLDYgKzQxODQsNyBAQAogCQk3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdhc21NZW1vcnlJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3OUI3NTk3MzFERkE0QzYwMDA1MjE3NEMgLyogV2FzbVBhZ2VDb3VudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtUGFnZUNvdW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2Jh
bE9iamVjdElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9i
YWxPYmplY3RJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5QkEyMUE1
MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9u
UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUM0QjE1QzFCQTIxNThGMDBG
RDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmg7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUNGQzZFRjFDMzNCMTAwMDBDNzY4
RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBM
TEludFBDUmFuZ2VzLmg7IHBhdGggPSBsbGludC9MTEludFBDUmFuZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03ODM0LDYgKzc4MzYsNyBAQAogCQkJCTE0QUQ5MTEzMURDQTk3
RkQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcCAqLywKIAkJCQkxNEFEOTEw
OTFEQ0E5Mjk0MDAxNEY5RkUgLyogTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTE0
Q0E5NThDMTZBQjUwRkEwMDkzOEEwNiAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oICovLAor
CQkJCTc5QkEyMUE1MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAgKi8sCiAJCQkJMEZEM0U0MDMxQjYxOEI2NjAwQzgwRTFFIC8qIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQwNDFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uaCAqLywKIAkJCQkwRkQzRTQwNTFCNjE4QjY2MDBDODBFMUUgLyogT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwICovLApAQCAtMTA2MTksNiArMTA2MjIsNyBAQAog
CQkJCTBGRUEwQTFFMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI3MTg3REZERUMwMDgzQjY4NyAvKiBGVExB
dmFpbGFibGVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEwOTE3MDUxM0RC
MDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QkEy
MUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9uVmFsdWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQjM4NzkyMUJGRDMxQTEwMEUzQUIxRSAvKiBGVExD
b21waWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOUQ0QzBDMUMzRTFDMTEwMDZDRDk4NCAv
KiBGVExFeGNlcHRpb25UYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEz
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKwor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBp
bmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBB
U1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NF
UlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgYm9vbCBoYXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRW
YWx1ZUZvckNvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJl
RGF0YSh2bSktPmVuc3VyZUluZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5cGUodm0pOworICAgICAg
ICBpbmZlcnJlZFZhbHVlRm9yQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3Rv
ciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUiKTsKKyAgICAgICAgaGFzUG9seVByb3RvID0gISFpbmZlcnJlZFZhbHVlRm9yQ29uc3RydWN0
b3ItPmluZmVycmVkVmFsdWUoKTsKKyAgICAgICAgaWYgKGhhc1BvbHlQcm90bykgeworICAgICAg
ICAgICAgZGF0YUxvZ0xuKCJIYXZlIGhhdmUgaW5mZXJyZWQgY29uc3RydWN0b3IiKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiV2UgZG8gbm90IGhhdmUgaW5mZXJy
ZWQgY29uc3RydWN0b3IiKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE9PUFM6IHdlIGtub3cg
aGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhhdCdzIHBvbHkgcHJvdG8uIFdlIHNob3Vs
ZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAvLyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBh
bHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUgcmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNl
IGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAw
OworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0
IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAg
ICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkg
b2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0
IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9u
LiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0
eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVs
dCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVy
biBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlm
IChoYXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gT09QUzogbGV0cyBjb21tdW5pY2F0ZSB0aGlz
IHRvIHN0cnVjdHVyZSBjcmVhdGUuIEl0J3MganVzdCBhc3NlcnRpbmcgaXQgZ2V0cyBhbiBpbmxp
bmUgc2xvdC4KKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2Nh
dGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9y
ID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisgICAgCisgICAg
Ly8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0
aGUgc2l6ZSBjbGFzcy4KKyAgICBpZiAoYWxsb2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBzbG9w
ID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0
ZUJhcnJpZXI8VW5rbm93bj4pOworICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOworICAg
ICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJv
dG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90
aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNy
ZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7CisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAg
ICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwg
SlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+
Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1l
QXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5
bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3Bl
cnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25N
b2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBw
cm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFt
ZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9y
LnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERp
cmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMg
YXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUg
bm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2
bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsKKwor
ICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0
cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWdu
ZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxv
Y2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFt
X2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7
Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhl
IG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlw
ZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAg
ICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBz
dGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJl
YWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5j
dGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxP
YmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChp
bmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFj
aXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsg
Z3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAg
ICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZl
cnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVD
YXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
OwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAg
ICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0
OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRv
ciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7
Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2Fw
YWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9y
KSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBh
bGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAg
ICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNp
dHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAg
IGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFw
LmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0
aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVk
Ci0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3Ig
PSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVy
ZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9Cisg
ICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgog
CiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChW
TSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90eXBl
ID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAg
ICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJv
cGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpT
dHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBw
cm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwg
cHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlO
YW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHBy
b3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3Bl
cnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9u
LCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJp
ZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFs
dWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50Owot
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBw
b3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7
CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBt
YWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRDYWxsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENh
bGwuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VENhbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw4IEBACiAjaW5jbHVkZSAiVGh1
bmtHZW5lcmF0b3JzLmgiCiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAKKyNp
bmNsdWRlICJQcm9iZUNvbnRleHQuaCIKKwogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMjMxLDYg
KzIzMywxMCBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJCiAgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKIAogICAgIHNhbXBsZUNvZGVCbG9jayhtX2Nv
ZGVCbG9jayk7CisKKyAgICBwcm9iZShbXSAoUHJvYmU6OkNvbnRleHQmIGN0eCkgeworICAgICAg
ICBkYXRhTG9nTG4oImNvbnN0cnVjdCByZXN1bHQ6ICIsIEpTVmFsdWU6OmRlY29kZShyZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4oY3R4LmdwcihyZWdUMCkpKSk7CisgICAgfSk7CiAgICAgCiAg
ICAgZW1pdFB1dENhbGxSZXN1bHQoaW5zdHJ1Y3Rpb24pOwogfQpAQCAtMjYwLDYgKzI2NiwxMCBA
QCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKE9wY29kZUlECiAgICAgY2hlY2tTdGFj
a1BvaW50ZXJBbGlnbm1lbnQoKTsKIAogICAgIHNhbXBsZUNvZGVCbG9jayhtX2NvZGVCbG9jayk7
CisKKyAgICBwcm9iZShbXSAoUHJvYmU6OkNvbnRleHQmIGN0eCkgeworICAgICAgICBkYXRhTG9n
TG4oImNvbnN0cnVjdCByZXN1bHQ6ICIsIEpTVmFsdWU6OmRlY29kZShyZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4oY3R4LmdwcihyZWdUMCkpKSk7CisgICAgfSk7CiAgICAgCiAgICAgZW1pdFB1
dENhbGxSZXN1bHQoaW5zdHJ1Y3Rpb24pOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjIxODApCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDcgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2Ny
ZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9wZXJh
bmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVEYXRh
KGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0
dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVj
dHVyZSk7CisgICAgICAgIGRhdGFMb2dMbigiY3JlYXRlX3RoaXMgcmVzdWx0OiAiLCBKU1ZhbHVl
KHJlc3VsdCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0
aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9y
CiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjIxODAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rp
b25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5j
dGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlu
aXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0
eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0
IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzks
NyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7
CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsK
KyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1
bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVs
bCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b24uY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDcgKzEzNSw3IEBAIEZ1bmN0
aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW4KICAgICBpZiAoIXByb3RvdHlwZSkK
ICAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKICAg
ICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFyZURhdGE6OmNyZWF0ZSh2
bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwg
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByYXJlRGF0YS0+
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24g
dGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2Fu
dCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTUzLDcg
KzE1Myw3IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKICAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKICAg
ICBpZiAoIXByb3RvdHlwZSkKICAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmpl
Y3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogICAgIHJldHVybiBt
X3JhcmVEYXRhLmdldCgpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg2Niw3ICs4NjYsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAg
IEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VSVChnZXRQcm90b3R5
cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0
UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURpcmVjdCgp
LmlzTnVsbCgpIHx8ICFzdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgSGVhcDo6
aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7IC8vIE9PUFMg
ZmluZCBhIHdheSB0byBtYWtlIHRoaXMgd29yawogICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCkt
PmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAgfQpAQCAt
MTI5OCw3ICsxMjk4LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0sIFN0cnVj
dAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3QK
IHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVy
biBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1
ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJl
LmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xh
enlDbGFzc1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHB1Ymxp
YzoKICAgICAKICAgICBKU09iamVjdCogcHJvdG90eXBlKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWwpIGNvbnN0CiAgICAgeworICAgICAgICAvLyBPT1BTLiBtYWtlIHN1cmUgaXQncyBvbmx5
IEpTR2xvYmFsT2JqZWN0IHRoYXQgYWNjZXNzZXMgdGhpcy4KICAgICAgICAgQVNTRVJUKCFpc0Nv
bXBpbGF0aW9uVGhyZWFkKCkpOwogICAgICAgICByZXR1cm4gZ2V0KGdsb2JhbCktPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOwogICAgIH0KQEAgLTEwMSwxMyArMTAyLDYgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAot
ICAgIEpTT2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAg
ICAgICByZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNv
bmN1cnJlbnRseSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5n
ZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBl
TWFwLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsOSArNjIsMjAgQEAgaW5s
aW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbQogICAgICAgICByZXR1cm4gc3Ry
dWN0dXJlOwogICAgIH0KIAorICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKwogICAg
IGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3Ry
dWN0dXJlOjpjcmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIGJvb2wgaXNQb2x5UHJvdG8g
PSBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5oYXNSYXJlRGF0YSgpCisgICAgICAgICYmICEhcHJv
dG90eXBlLT5zdHJ1Y3R1cmUoKS0+ZW5zdXJlUmFyZURhdGEodm0pLT5pbmZlcnJlZEZ1bmN0aW9u
Rm9yUHJvdG90eXBlKCkgLy8gT09QUzogbWFrZSByYXJlRGF0YSgpIHB1YmxpYworICAgICAgICAm
JiAhcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+ZW5zdXJlUmFyZURhdGEodm0pLT5pbmZlcnJlZEZ1
bmN0aW9uRm9yUHJvdG90eXBlKCktPmluZmVycmVkVmFsdWUoKTsKKyAgICBpZiAoaXNQb2x5UHJv
dG8pIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAg
ICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBl
SW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9IGVs
c2UgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAg
IHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhp
bmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5
LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2
aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk1LDYgKzI5NSwyOCBAQCB2b2lkIFN0cnVjdHVyZTo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCkt
PlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3Jl
YXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNz
SW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworCisgICAgZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1Y3R1
cmU6ICIsIFJhd1BvaW50ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVD
YXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUgdGhp
cyBzaG91bGQgYWx3YXlzIHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdp
dGhvdXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29y
ZVByb3RvLCBEb250RW51bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNM
b2NrZXImLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZz
ZXQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2Fw
YWNpdHkobmV3TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAg
ICAgLy8gT09QUzogbGV0cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBv
ZiBwb2x5IHByb3RvLCBzaW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAg
IC8vIGFscmVhZHkga25vd3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4K
KyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAg
ICAgICAgICAgZGF0YUxvZ0xuKCJTZXR0aW5nIG1fcHJvdG90eXBlIHRvOiAiLCBqc051bWJlcihv
ZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1bHQs
IGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5l
d0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZv
aWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihWZWN0
b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJv
cGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNp
b24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBK
U0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBC
YXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51
bSBQb2x5UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5m
byYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJv
dG9UYWcsIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBU
eXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0yNTEs
OCArMjUzLDIxIEBAIHB1YmxpYzoKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25s
eSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUg
Z2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGlt
bXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0
KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVk
UHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJv
b2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9w
cm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3Rv
dHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPwor
ICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIEpTVmFsdWUgc3Rv
cmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3Jl
ZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSog
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBK
U09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBz
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZv
ckxvb2t1cChFeGVjU3RhdGUqKSBjb25zdDsKQEAgLTI4MCw2ICsyOTUsMTMgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0
KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYg
dm0pCisgICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxv
Y2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAg
IAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAy
MjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5o
CSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgCiAg
ICAgICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgICAgIG1fdmVjdG9yID0gV1RGTW92
ZSh2ZWN0b3IpOworICAgICAgICAvLyBPT1BTOiBJIHRoaW5rIHdlIG1heSBuZWVkIGEgd3JpdGUg
YmFycmllciBoZXJlIG9mIHx0aGlzfC4KICAgICB9CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShyZXZpc2lv
biAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxp
bmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5saW5lIFN0cnVjdHVyZSog
U3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwog
ICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSw2
ICs3MCw3IEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5s
aW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09i
amVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3Qp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNDAwLDkgKzQwMiwzOSBAQCBpbmxpbmUgUHJv
cGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0
eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFi
bGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1
Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsK
ICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7
CiB9CisKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShj
b25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVj
dC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmICho
YXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJl
dHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpTT2Jq
ZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCogb2Jq
ZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0g
dGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIFJFTEVBU0Vf
QVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIEpTVmFsdWUgcHJvdG8g
PSBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKwor
QUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBw
cm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJv
dG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQogICAgIAogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVk
ZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5oIgorI2luY2x1
ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iu
aCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTE3
NSw2ICsxNzYsMTMgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQog
ICAgIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitJbmZlcnJlZFZhbHVlKiBT
dHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlwZShWTSYg
dm0pCit7CisgICAgaWYgKCFtX2luZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5cGUpCisgICAgICAg
IG1faW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlwZS5zZXQodm0sIHRoaXMsIEluZmVycmVkVmFs
dWU6OmNyZWF0ZSh2bSkpOworICAgIHJldHVybiBtX2luZmVycmVkRnVuY3Rpb25Gb3JQcm90b3R5
cGUuZ2V0KCk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0aG9kcyBmb3IgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0K
IAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Ok9iamVjdFRvU3Ry
aW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1cmVSYXJlRGF0YSkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAko
cmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVT
dHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMTAgQEAgcHVibGljOgogICAgIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0
OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYsIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJlIGEgdGhlIHN0cnVjdHVyZSBvZiBh
IHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0IG91ciBmdW5jdGlvbiBpcywgc3Vj
aCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVyZSBpcyB1cy4KKyAgICBJbmZlcnJl
ZFZhbHVlKiBpbmZlcnJlZEZ1bmN0aW9uRm9yUHJvdG90eXBlKCkgeyByZXR1cm4gbV9pbmZlcnJl
ZEZ1bmN0aW9uRm9yUHJvdG90eXBlLmdldCgpOyB9CisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJl
SW5mZXJyZWRGdW5jdGlvbkZvclByb3RvdHlwZShWTSYpOworCiAgICAgREVDTEFSRV9FWFBPUlRf
SU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDYgKzgxLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4g
bV9vYmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJp
ZXI8SW5mZXJyZWRWYWx1ZT4gbV9pbmZlcnJlZEZ1bmN0aW9uRm9yUHJvdG90eXBlOwogICAgIAog
ICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+
LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlI
YXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBv
aW50U2V0czsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321235</attachid>
            <date>2017-09-19 13:04:30 -0700</date>
            <delta_ts>2017-09-19 19:41:38 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>41922</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMxNSw3ICsxMzE1LDcgQEAKIAkJMkQzNDJGMzZGNzI0
NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9y
aWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVF
RkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsK
IAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5
OTQgLyogbGliei5keWxpYiAqLzsgfTsKLQkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBh
cnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQuaCAqLzsgfTsKKwkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTI5NTI3ODFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyog
YnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzkx
RDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5IGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzUxRDJD
RjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNTYyLDYgKzE1
NjIsNyBAQAogCQk3OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3
NTk3MjFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2
MDAwNTIxNzRDIC8qIFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzlCODE5OTMxREQyNUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNG
NTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAv
KiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyog
REZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUg
LyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5
QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRp
b25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTc5Q0ZDNkYwMUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBD
NzY4RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC00MTgzLDYgKzQxODQsNyBAQAogCQk3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdhc21NZW1vcnlJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3OUI3NTk3MzFERkE0QzYwMDA1MjE3NEMgLyogV2FzbVBhZ2VDb3VudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtUGFnZUNvdW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2Jh
bE9iamVjdElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9i
YWxPYmplY3RJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5QkEyMUE1
MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9u
UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUM0QjE1QzFCQTIxNThGMDBG
RDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmg7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUNGQzZFRjFDMzNCMTAwMDBDNzY4
RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBM
TEludFBDUmFuZ2VzLmg7IHBhdGggPSBsbGludC9MTEludFBDUmFuZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03ODM0LDYgKzc4MzYsNyBAQAogCQkJCTE0QUQ5MTEzMURDQTk3
RkQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcCAqLywKIAkJCQkxNEFEOTEw
OTFEQ0E5Mjk0MDAxNEY5RkUgLyogTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTE0
Q0E5NThDMTZBQjUwRkEwMDkzOEEwNiAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oICovLAor
CQkJCTc5QkEyMUE1MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAgKi8sCiAJCQkJMEZEM0U0MDMxQjYxOEI2NjAwQzgwRTFFIC8qIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQwNDFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uaCAqLywKIAkJCQkwRkQzRTQwNTFCNjE4QjY2MDBDODBFMUUgLyogT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwICovLApAQCAtMTA2MTksNiArMTA2MjIsNyBAQAog
CQkJCTBGRUEwQTFFMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI3MTg3REZERUMwMDgzQjY4NyAvKiBGVExB
dmFpbGFibGVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEwOTE3MDUxM0RC
MDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QkEy
MUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9uVmFsdWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQjM4NzkyMUJGRDMxQTEwMEUzQUIxRSAvKiBGVExD
b21waWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOUQ0QzBDMUMzRTFDMTEwMDZDRDk4NCAv
KiBGVExFeGNlcHRpb25UYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKwor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBp
bmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBB
U1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NF
UlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKHZt
KS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBw
cm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPnBvbHlQcm90b1N0cnVjdHVyZSh2
bSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5p
bmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3Ig
PSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXpl
KGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9y
OworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAg
ICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxz
ZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2Fs
bCBpbnRvIGEgZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMg
cG9seSBwcm90bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVu
dGFsbHkgZ2V0IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEo
dm0pOworICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQor
ICAgICAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAg
ICAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nh
c3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlKCkpKSB7CisgICAgICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5u
b3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9y
IGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7CisgICAgICAgICAgICBpc1BvbHlQcm90byA9
IGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9Cisg
ICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhh
dCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAv
LyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUg
cmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BT
OiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFz
c2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKyAgICAKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUg
Y2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3Ip
IHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2Nh
dGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGlu
ZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0
eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChw
cm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmlu
Z3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5
TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwor
CisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyMTgwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsK
LSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1
cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4K
LSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElu
bGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAg
ICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4g
aGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
LSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2Nh
dG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
Ci0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFs
bG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
LQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rv
ciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAgIHsKQEAgLTEy
NiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2Jq
ZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3Qg
Y291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgm
dm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9k
ZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYg
cHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5h
bWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVW
ZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5
cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAg
Ly8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nh
c3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0K
LSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7
Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0
b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNv
ZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYg
KzQzLDggQEAKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKICNpbmNsdWRlIDx3dGYvU3Ry
aW5nUHJpbnRTdHJlYW0uaD4KIAorI2luY2x1ZGUgIlByb2JlQ29udGV4dC5oIgorCiAKIG5hbWVz
cGFjZSBKU0MgewogCkBAIC0yMzEsNiArMjMzLDEwIEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxs
KE9wY29kZUlEIG9wY29kZUkKICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAg
ICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKKworICAgIHByb2JlKFtdIChQcm9iZTo6
Q29udGV4dCYgY3R4KSB7CisgICAgICAgIGRhdGFMb2dMbigiY29uc3RydWN0IHJlc3VsdDogIiwg
SlNWYWx1ZTo6ZGVjb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihjdHguZ3ByKHJlZ1Qw
KSkpKTsKKyAgICB9KTsKICAgICAKICAgICBlbWl0UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7
CiB9CkBAIC0yNjAsNiArMjY2LDEwIEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2Uo
T3Bjb2RlSUQKICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxl
Q29kZUJsb2NrKG1fY29kZUJsb2NrKTsKKworICAgIHByb2JlKFtdIChQcm9iZTo6Q29udGV4dCYg
Y3R4KSB7CisgICAgICAgIGRhdGFMb2dMbigiY29uc3RydWN0IHJlc3VsdDogIiwgSlNWYWx1ZTo6
ZGVjb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihjdHguZ3ByKHJlZ1QwKSkpKTsKKyAg
ICB9KTsKICAgICAKICAgICBlbWl0UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7CiB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjE4
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc3MCw2ICs3NzAsOCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJ
bnN0cnVjdGlvCiAgICAgUmVnaXN0ZXJJRCBjYWNoZWRGdW5jdGlvblJlZyA9IHJlZ1Q0OwogICAg
IFJlZ2lzdGVySUQgc2NyYXRjaFJlZyA9IHJlZ1QzOwogCisgICAgLy8gT09QUzogdGhpcyBpcyB3
cm9uZyB3LyBwb2x5IHByb3RvIQorCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjYWxsZWUs
IGNhbGxlZVJlZyk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoOChOb3RFcXVhbCwgQWRkcmVzcyhj
YWxsZWVSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoSlNG
dW5jdGlvblR5cGUpKSk7CiAgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxlZVJlZywgSlNGdW5jdGlv
bjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFSZWcpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAy
MjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDkgQEAgU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1sz
XS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3It
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
KS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSkpOworICAgICAgICBkYXRhTG9nTG4oImNyZWF0ZV90aGlzIHJlc3VsdDogIiwgSlNW
YWx1ZShyZXN1bHQpKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRl
cm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1
Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4
ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIy
MTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1
bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxp
emVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQg
RnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6
ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywg
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihj
b25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFz
b24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0
eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwg
SlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Q
cm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5p
c051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NK
U1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NywxMyArMjc3LDEzIEBA
IHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3RydWMKICAgICAgICAgZWxzZSBp
ZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKEpTT2JqZWN0OjppbmZvKCkp
KSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwgUmF3UG9pbnRlcihhc0NlbGwo
KSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0ZXJmbHkgIiwgUmF3UG9pbnRl
cihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0gICAgICAgICAgICBvdXQucHJp
bnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOworICAgICAgICAg
ICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4
dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIkNlbGw6
ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBp
bkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0KICNpZiBVU0Uo
SlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1
cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVyZUlEOiAiLCBhc0NlbGwoKS0+
c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGlzVHJ1ZSgpKQogICAgICAg
ICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDcgKzEz
NSw3IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW4KICAgICBpZiAo
IXByb3RvdHlwZSkKICAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90
b3R5cGUoKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFyZURh
dGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAg
ICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcg
Y29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAg
ICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRl
ZApAQCAtMTUzLDcgKzE1Myw3IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmluaXRp
YWxpemUKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2Jq
ZWN0KHZtKTsKICAgICBpZiAoIXByb3RvdHlwZSkKICAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFs
T2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVD
YXBhY2l0eSk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwog
ICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNDEsNiArMzQxLDE4IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTRnVuY3Rpb246OmNhbGxlckdldHRlcigKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBBU0NJSUxpdGVyYWwoIkZ1bmN0
aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXIiKSkpOwogfQogCitzdGF0
aWMgdm9pZCBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZChWTSYgdm0sIEpTVmFsdWUgcHJv
dG90eXBlVmFsdWUsIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAgIEpTT2JqZWN0KiBw
cm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZVZhbHVlKTsK
KyAgICBpZiAoIXByb3RvdHlwZSkKKyAgICAgICAgcmV0dXJuOworICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEo
dm0pOworICAgIGlmIChyYXJlRGF0YS0+bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkpCisgICAg
ICAgIHJhcmVEYXRhLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKyAgICBpZiAoSW5m
ZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRW
YWx1ZSo+KHZtLCByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKCkpKQorICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29u
c3RydWN0b3IsICJTZXR0aW5nIC5wcm90b3R5cGUgaW5zaWRlIEpTRnVuY3Rpb24iKTsKK30KKwog
Ym9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTQ1Miw2ICs0NjQsNyBAQCBib29s
IEpTRnVuY3Rpb246OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTCiAgICAgICAgIHRoaXNPYmplY3Qt
Pm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHBy
b3BlcnR5TmFtZSwgZ2V0U2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRh
KQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHBy
b3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGluZmVyQ29uc3RydWN0
b3JWYWx1ZUlmTmVlZGVkKHZtLCB2YWx1ZSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJl
bGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICB9CkBAIC01MTgsNiArNTMxLDggQEAgYm9vbCBK
U0Z1bmN0aW9uOjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iagogICAgICAgICB0aGlzT2JqZWN0LT5t
ZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAg
ICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5
cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1
ZSgpKQorICAgICAgICAgICAgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIGRlc2Ny
aXB0b3IudmFsdWUoKSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAg
ICAgICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVy
dHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7CiAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAg
ICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0
aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VS
VChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5
cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAg
ICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNz
SW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlubGluZSBKU09iamVjdDo6
SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFBy
b3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlz
KTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4
ZWNTdGF0ZSogZXhlYykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpA
QCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShj
b25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09Q
Uy4gbWFrZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMu
CiAgICAgICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJu
IGdldChnbG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMg
KzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJl
bnRseSgpOwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5
KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENv
bmN1cnJlbnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBK
U09iamVjdCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTYyLDkgKzYyLDI5IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRl
RW0KICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmpl
Y3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBp
bmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IG51bGxwdHI7CisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEo
KSkgeworICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0
cnVjdHVyZSh2bSktPnJhcmVEYXRhKCk7CisgICAgICAgIGlmIChKU1ZhbHVlIGluZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSog
cG9seVByb3RvU3RydWN0dXJlID0gcmFyZURhdGEtPnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsK
KyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBvbHlQcm90b1N0cnVjdHVyZTsKKyAg
ICAgICAgICAgIH0gCisKKyAgICAgICAgICAgIGlmIChyYXJlRGF0YS0+bmVlZHNQb2x5UHJvdG9T
dHJ1Y3R1cmUodm0pKSB7CisgICAgICAgICAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpj
cmVhdGUoCisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgICAgIHJhcmVEYXRhLT5zZXRQb2x5UHJvdG9T
dHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpj
cmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZv
LCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBt
X3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOwogICAgIHJl
dHVybiBzdHJ1Y3R1cmU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5NSw2ICsyOTUsMjgg
QEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0
PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0
dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5
cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQg
PSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZv
LCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIGRhdGFMb2dMbigiTWFraW5n
IHBvbHkgcHJvdG8gc3RydWN0dXJlOiAiLCBSYXdQb2ludGVyKHJlc3VsdCkpOworCisgICAgdW5z
aWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7
IC8vIE9PUFM6IG1heWJlIHRoaXMgc2hvdWxkIGFsd2F5cyBzdGFydCBhcyB6ZXJvPworICAgIHJl
c3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnVuZGVyc2NvcmVQcm90bywgRG9udEVudW0sCisgICAgICAgIFsmXSAoY29uc3Qg
R0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0
eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1
Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNh
cGFjaXR5KTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGxldHMgbWFrZSBhIGRpZmZlcmVudCBjdG9y
IGZvciB0aGlzIHZhcmlhbnQgb2YgcG9seSBwcm90bywgc2luY2UgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUgCisgICAgICAgICAgICAvLyBhbHJlYWR5IGtub3dzIHdoZW4gaXQncyBtYWtpbmcgYSBw
b2x5IHByb3RvIHZhcmlhbnQuCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9m
ZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiU2V0dGluZyBtX3Byb3RvdHlw
ZSB0bzogIiwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90
eXBlLnNldCh2bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3Vs
dC0+c2V0TGFzdE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JN
YXRlcmlhbGl6YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1
cmUqJiBzdHJ1Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3Ry
dWN0dXJlcy5pc0VtcHR5KCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVi
bGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9y
dGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3Rh
dGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3Rv
dHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBO
b25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0
dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5
cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1
Y3R1cmUoKTsKIApAQCAtMjUxLDggKzI1MywyNiBAQCBwdWJsaWM6CiAgICAgLy8gTk9URTogVGhp
cyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3Ry
dWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBp
cyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9p
ZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7
IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAK
LSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBl
LmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAg
SlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICAvLyBPT1BTLiBtYXliZSBkZWJ1
ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAg
IH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0
dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9y
ZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVk
UHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBz
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpT
T2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0
b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9y
TG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwpAQCAtMjgwLDYgKzMwMCwxOSBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQo
KSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwor
ICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisg
ICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJh
cmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAg
IFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNzMyLDEyICs3NjUsNiBA
QCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1cmVJRCgpICE9
IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRh
KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKLSAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURh
dGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFpbHNGdW5jPgog
ICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwgY29uc3QgRGV0
YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koKSBjb25z
dDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hh
aW4uaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIAogICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwogICAgICAgICBt
X3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICAgICAgLy8gT09QUzogSSB0aGluayB3ZSBt
YXkgbmVlZCBhIHdyaXRlIGJhcnJpZXIgaGVyZSBvZiB8dGhpc3wuCiAgICAgfQogCiBwcml2YXRl
OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlu
bGluZXMuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlu
bGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0
KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3By
b3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwpAQCAtNjksNiArNzAsNyBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3Rv
cmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
U3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5
cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwog
ICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTQwMCw5ICs0MDIs
MzkgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVy
biByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJl
OjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNf
SU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlU
YWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2
bSwgdGhpcywgdGFibGUpOwogfQorCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpz
dG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxF
QVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFz
c2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0lu
dDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFz
SW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxX
QVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29u
c3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3Qt
PnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFz
U3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3Qo
KTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAg
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAg
ICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKKyAgICBpZiAocHJv
dG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVj
dChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3Jl
ZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAg
IGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAg
ICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
ICAgICAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMTgwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURh
dGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2lu
dEJhc2UuaCIKKyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJ
bmxpbmVzLmgiCkBAIC0xNzUsNiArMTc2LDUzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVE
YXRhOjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAor
SlNWYWx1ZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKCkKK3sKKyAgICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUuZ2V0KCk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRzUG9s
eVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKEluZmVycmVkVmFsdWUq
IGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwg
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKSkKKyAgICAgICAgcmV0dXJu
IGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgIEFTU0VSVChp
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuYXNDZWxsKCktPmluaGVyaXRz
KHZtLCBTdHJ1Y3R1cmU6OmluZm8oKSkpOworICAgIHJldHVybiBmYWxzZTsKK30KKworU3RydWN0
dXJlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6cG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAg
ICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMt
PmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4ganNEeW5hbWljQ2FzdDxTdHJ1Y3R1cmUqPih2bSwgaW5mZXJyZWRD
b25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJl
RGF0YTo6aXNQb2x5UHJvdG8oVk0mIHZtKQoreworICAgIHJldHVybiBuZWVkc1BvbHlQcm90b1N0
cnVjdHVyZSh2bSkgfHwgISFwb2x5UHJvdG9TdHJ1Y3R1cmUodm0pOworfQorCitib29sIFN0cnVj
dHVyZVJhcmVEYXRhOjpuZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKQoreworICAgIHJldHVybiAh
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7Cit9CisKK0luZmVycmVk
VmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2
bSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUpOworICAgIEluZmVycmVkVmFsdWUqIHJlc3VsdCA9IEluZmVycmVkVmFsdWU6
OmNyZWF0ZSh2bSk7CisgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCByZXN1bHQpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQg
U3RydWN0dXJlUmFyZURhdGE6OnNldFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQoreworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBN
ZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQg
Y2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJl
V2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVj
dHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
Myw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwog
Y2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3Mg
T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2Mywy
MiBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBh
cmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdo
YXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0
dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0
cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxk
CisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwg
d2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAg
Ly8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEKKyAgICAvLyBKU0Z1bmN0
aW9uLiBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgZmllbGQg
ZWl0aGVyIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlCisgICAgLy8gdGhhdCBpcyBpbnZhbGlk
YXRlZC4gSWYgd2UgZXZlciBjb25zdHJ1Y3QgYW4gb2JqZWN0IHdobydzIF9fcHJvdG9fXyBwb2lu
dHMgdG8gdGhpcyBwcm90b3R5cGUsIHRoZW4KKyAgICAvLyB3ZSBtb3ZlIG1faW5mZXJyZWRDb25z
dHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHRvIHRoZSBTdHJ1Y3R1cmUgb2YgdGhlIG9iamVj
dCB0aGF0IHNob3VsZCBiZSBjcmVhdGVkCisgICAgLy8gdGhhdCBoYXMgcG9seSBwcm90by4KKyAg
ICBJbmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAgSlNW
YWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBib29s
IG5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJik7CisgICAgYm9vbCBuZWVkc0luZmVycmVkQ29u
c3RydWN0b3IoKTsKKyAgICB2b2lkIHNldFBvbHlQcm90b1N0cnVjdHVyZShWTSYsIFN0cnVjdHVy
ZSopOworICAgIFN0cnVjdHVyZSogcG9seVByb3RvU3RydWN0dXJlKFZNJik7IC8vIE1heSBiZSBu
dWxscHRyIGlmIG5vdCBwb2x5IHByb3RvIG9yIHBvbHkgcHJvdG8gc3RydWN0dXJlIGhhcyB5ZXQg
dG8gYmUgaW5zdGFudGlhdGVkLgorICAgIGJvb2wgaXNQb2x5UHJvdG8oVk0mKTsKKwogICAgIERF
Q0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03Niw2ICs5Myw3IEBAIHByaXZhdGU6
CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJp
ZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7Cisg
ICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlOwogICAgIAogICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVm
UHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVu
c2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRj
aHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1f
cmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321280</attachid>
            <date>2017-09-19 19:41:38 -0700</date>
            <delta_ts>2017-09-20 01:30:25 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>65323</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMxNSw3ICsxMzE1LDcgQEAKIAkJMkQzNDJGMzZGNzI0
NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9y
aWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVF
RkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsK
IAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5
OTQgLyogbGliei5keWxpYiAqLzsgfTsKLQkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBh
cnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQuaCAqLzsgfTsKKwkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTI5NTI3ODFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyog
YnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzkx
RDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5IGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzUxRDJD
RjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNTYyLDYgKzE1
NjIsNyBAQAogCQk3OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3
NTk3MjFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2
MDAwNTIxNzRDIC8qIFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzlCODE5OTMxREQyNUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNG
NTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAv
KiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyog
REZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUg
LyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5
QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRp
b25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTc5Q0ZDNkYwMUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBD
NzY4RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC00MTgzLDYgKzQxODQsNyBAQAogCQk3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdhc21NZW1vcnlJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3OUI3NTk3MzFERkE0QzYwMDA1MjE3NEMgLyogV2FzbVBhZ2VDb3VudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtUGFnZUNvdW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2Jh
bE9iamVjdElubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9i
YWxPYmplY3RJbmxpbmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5QkEyMUE1
MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9u
UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUM0QjE1QzFCQTIxNThGMDBG
RDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlv
blBoYXNlLmg7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUNGQzZFRjFDMzNCMTAwMDBDNzY4
RUEgLyogTExJbnRQQ1Jhbmdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBM
TEludFBDUmFuZ2VzLmg7IHBhdGggPSBsbGludC9MTEludFBDUmFuZ2VzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03ODM0LDYgKzc4MzYsNyBAQAogCQkJCTE0QUQ5MTEzMURDQTk3
RkQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcCAqLywKIAkJCQkxNEFEOTEw
OTFEQ0E5Mjk0MDAxNEY5RkUgLyogTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTE0
Q0E5NThDMTZBQjUwRkEwMDkzOEEwNiAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oICovLAor
CQkJCTc5QkEyMUE1MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAgKi8sCiAJCQkJMEZEM0U0MDMxQjYxOEI2NjAwQzgwRTFFIC8qIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQwNDFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uaCAqLywKIAkJCQkwRkQzRTQwNTFCNjE4QjY2MDBDODBFMUUgLyogT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwICovLApAQCAtMTA2MTksNiArMTA2MjIsNyBAQAog
CQkJCTBGRUEwQTFFMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI3MTg3REZERUMwMDgzQjY4NyAvKiBGVExB
dmFpbGFibGVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEwOTE3MDUxM0RC
MDBCQjcyMkMgLyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QkEy
MUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9uVmFsdWVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQjM4NzkyMUJGRDMxQTEwMEUzQUIxRSAvKiBGVExD
b21waWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOUQ0QzBDMUMzRTFDMTEwMDZDRDk4NCAv
KiBGVExFeGNlcHRpb25UYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKwor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBp
bmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBB
U1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NF
UlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKHZt
KS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBw
cm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPnBvbHlQcm90b1N0cnVjdHVyZSh2
bSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5p
bmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3Ig
PSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXpl
KGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9y
OworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAg
ICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxz
ZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2Fs
bCBpbnRvIGEgZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMg
cG9seSBwcm90bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVu
dGFsbHkgZ2V0IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEo
dm0pOworICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQor
ICAgICAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAg
ICAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nh
c3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlKCkpKSB7CisgICAgICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5u
b3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9y
IGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7CisgICAgICAgICAgICBpc1BvbHlQcm90byA9
IGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9Cisg
ICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhh
dCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAv
LyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUg
cmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BT
OiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFz
c2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKyAgICAKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUg
Y2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3Ip
IHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2Nh
dGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGlu
ZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0
eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChw
cm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmlu
Z3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5
TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwor
CisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyMTgwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsK
LSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1
cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4K
LSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElu
bGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAg
ICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4g
aGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
LSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2Nh
dG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
Ci0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFs
bG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
LQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rv
ciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAgIHsKQEAgLTEy
NiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2Jq
ZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3Qg
Y291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgm
dm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9k
ZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYg
cHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5h
bWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVW
ZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5
cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAg
Ly8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nh
c3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0K
LSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7
Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0
b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNv
ZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgorCituYW1lc3Bh
Y2UgSlNDIHsKKworUHJvdG90eXBlQWNjZXNzQ2hhaW46OlByb3RvdHlwZUFjY2Vzc0NoYWluKEpT
T2JqZWN0KiBiYXNlKQoreworICAgIEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYg
dm0gPSAqYmFzZS0+dm0oKTsKKworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgbV9jaGFpbi5h
cHBlbmQoc3RydWN0dXJlKTsKKworICAgICAgICBtX2hhc1BvbHlQcm90byB8PSAhc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBl
LmlzTnVsbCgpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVj
dChwcm90b3R5cGUpOworICAgIH0KK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWlu
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIEpTQyB7
CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRChQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nl
c3NDaGFpbihKU09iamVjdCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90Jik7CisKKyAgICBWZWN0
b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdzIHN0cnVjdHVyZSBmb3Ig
bm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSByZW1vdmVkLgorICAgIGJvb2wgbV9oYXNQ
b2x5UHJvdG8geyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1ZhbGlkIHsgdHJ1ZSB9OworfTsKKwor
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzA4LDYgKzQzMDgsOCBAQCBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAg
ICAgICBjYXNlIG9wX2NyZWF0ZV90aGlzOiB7CisgICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0
aHJvdWdoIHRoaXMgY29kZS4KKwogICAgICAgICAgICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAgICAgICAgTm9kZSogY2FsbGVlID0g
Z2V0KFZpcnR1YWxSZWdpc3RlcihjYWxsZWVPcGVyYW5kKSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsOCBA
QAogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmlu
dFN0cmVhbS5oPgogCisjaW5jbHVkZSAiUHJvYmVDb250ZXh0LmgiCisKIAogbmFtZXNwYWNlIEpT
QyB7CiAKQEAgLTIzMSw2ICsyMzMsMTAgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwoT3Bjb2Rl
SUQgb3Bjb2RlSQogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAKICAgICBzYW1w
bGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgLy9wcm9iZShbXSAoUHJvYmU6OkNvbnRl
eHQmIGN0eCkgeworICAgIC8vICAgIGRhdGFMb2dMbigiY29uc3RydWN0IHJlc3VsdDogIiwgSlNW
YWx1ZTo6ZGVjb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihjdHguZ3ByKHJlZ1QwKSkp
KTsKKyAgICAvL30pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGluc3RydWN0aW9uKTsK
IH0KQEAgLTI2MCw2ICsyNjYsMTAgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGxTbG93Q2FzZShP
cGNvZGVJRAogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAKICAgICBzYW1wbGVD
b2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgcHJvYmUoW10gKFByb2JlOjpDb250ZXh0JiBj
dHgpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3QgcmVzdWx0OiAiLCBKU1ZhbHVlOjpk
ZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0eC5ncHIocmVnVDApKSkpOworICAg
IH0pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGluc3RydWN0aW9uKTsKIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyMTgw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzcwLDYgKzc3MCw4IEBAIHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKElu
c3RydWN0aW8KICAgICBSZWdpc3RlcklEIGNhY2hlZEZ1bmN0aW9uUmVnID0gcmVnVDQ7CiAgICAg
UmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDM7CiAKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdy
b25nIHcvIHBvbHkgcHJvdG8hCisKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGNhbGxlZSwg
Y2FsbGVlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2g4KE5vdEVxdWFsLCBBZGRyZXNzKGNh
bGxlZVJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihKU0Z1
bmN0aW9uVHlwZSkpKTsKICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbGVlUmVnLCBKU0Z1bmN0aW9u
OjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YVJlZyk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIy
MjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSog
YnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKGFzT2JqZWN0KHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCkpLT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhhc09iamVjdChz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKSkpKSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNy
ZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgs
IHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVt
VmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7CiAKQEAgLTgxLDcgKzgxLDcgQEAgQ2xvbmVk
QXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVu
dHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3Qg
aXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0
aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiBy
ZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9u
ZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVz
dWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VS
VCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8
IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCArMTI1LDE0IEBAIENsb25lZEFy
Z3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9IH0KIAogICAgIEFTU0VSVCht
eUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgp
ID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3Ry
dWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVy
ZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVz
dWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVG
cmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50
c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJ
bmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNT
RVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0NSw3ICsxNDUsNyBAQCBDbG9uZWRBcmd1
bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgCiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGks
IGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3Vs
dC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI0Miw2ICsyNDIsMTIgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQog
ICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9wZXJhbmQ7CiAgICAgICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGlu
ZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CiAgICAg
ICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0
cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7CisgICAgICAg
ICAgICAvLyBPT1BTOiBpcyB0aGlzIHJpZ2h0PworICAgICAgICAgICAgY2FjaGVXcml0ZUJhcnJp
ZXIuc2V0V2l0aG91dFdyaXRlQmFycmllcihKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVj
dHMoKSk7CisgICAgICAgIH0KKyAgICAgICAgZGF0YUxvZ0xuKCJjcmVhdGVfdGhpcyByZXN1bHQ6
ICIsIEpTVmFsdWUocmVzdWx0KSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2Vj
bWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9t
Y29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3Qt
PmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlz
aW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURh
dGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpp
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkp
Cit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0g
ICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3Qs
IHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6
Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hh
ciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5l
Q2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3
NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAg
IGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6
aW5mbygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIo
YXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJh
d1BvaW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAg
b3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAg
ICAgICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUs
IGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50
KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQo
IiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAj
aWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+
c3RydWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXND
ZWxsKCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkK
ICAgICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEz
NSw3ICsxMzUsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuCiAg
ICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2Jq
ZWN0UHJvdG90eXBlKCk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlv
blJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0
eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwg
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8v
IEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUg
ZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBh
bGxvY2F0ZWQKQEAgLTE1Myw3ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9u
Ojppbml0aWFsaXplCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmds
b2JhbE9iamVjdCh2bSk7CiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9
IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlh
bGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0
aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYgKzM0MSwx
OCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFs
KCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0K
IAorc3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZtLCBKU1Zh
bHVlIHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBKU09i
amVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVW
YWx1ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJ1Y3R1
cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJh
cmVEYXRhKHZtKTsKKyAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3Rvcigp
KQorICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAg
aWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PElu
ZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpKSkKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUo
dm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyAucHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7
Cit9CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmpl
Y3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90JiBzbG90KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC00NTIsNiArNDY0LDcg
QEAgYm9vbCBKU0Z1bmN0aW9uOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjUwogICAgICAgICB0aGlz
T2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBl
eGVjLCBwcm9wZXJ0eU5hbWUsIGdldFNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9y
YXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9y
ZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpbmZlckNv
bnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgdmFsdWUsIHRoaXNPYmplY3QpOwogICAgICAgICBz
Y29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhl
YywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgfQpAQCAtNTE4LDYgKzUzMSw4IEBA
IGJvb2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICAgICAgdGhpc09i
amVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhl
YywgcHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURh
dGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8g
cHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0
b3IudmFsdWUoKSkKKyAgICAgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZt
LCBkZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNl
KCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwogICAgIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIy
MjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNs
b3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1
Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlm
IChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYg
UmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0
aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hh
aW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0
aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90
LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ip
KTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09i
amVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JB
R0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5
cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhv
bGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
KSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlD
YXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTEx
MSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1
dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0
aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRN
YXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpu
b25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwg
b2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKICAg
ICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0
dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRl
ZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRv
QXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0s
IHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwog
fQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0m
IHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNK
U1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0x
MzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9B
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShW
TSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3Ry
dWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5
VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29u
dmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVk
QXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JW
YWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1
b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAg
cmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsx
NDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAog
ICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVO
TElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJs
ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAg
ICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5z
dXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJu
IENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRp
Z3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9V
TkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0
b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19U
WVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAg
ICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAg
ICAKICAgICBkZWZhdWx0OgpAQCAtMTYzNiw3ICsxNjM2LDcgQEAgdm9pZCBKU09iamVjdDo6c2V0
UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3Ry
dWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90
b3R5cGUpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICAKLSAgICBp
ZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpKQorICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKHRoaXMpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYg
KHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkgewpAQCAtMjcyNiw3ICsyNzI2LDcg
QEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAg
cmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAg
ICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9y
YWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbmRl
eGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFuZCByZXRyeS4KICAgICAgICAg
ICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAw
LCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXgodGhpcywgZXhlYywg
aSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg3OCw3IEBAIGJvb2wgSlNPYmpl
Y3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAgICAgIHJldHVybiBwdXREaXJl
Y3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAg
ICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2
bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZyh0aGlzKSkgewogICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0g
Y3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAs
IGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMs
IHZhbHVlKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIy
MTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODY2LDcgKzg2Niw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZv
KCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhl
YXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAg
ICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgIXN0cnVjdHVyZSgp
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAo
Z2V0UHJvdG90eXBlRGlyZWN0KCkpKTsgLy8gT09QUyBmaW5kIGEgd2F5IHRvIG1ha2UgdGhpcyB3
b3JrCiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFT
U0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBpbmxpbmUg
SlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2Jq
ZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUo
KS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90
b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUo
Vk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGlu
ZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5l
KHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0
dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkp
OwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+
KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0
eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVy
ZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
YXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsNyBAQCBwdWJs
aWM6CiAgICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShjb25zdCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsKSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09QUy4gbWFrZSBzdXJlIGl0J3Mgb25s
eSBKU0dsb2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMuCiAgICAgICAgIEFTU0VSVCghaXND
b21waWxhdGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJuIGdldChnbG9iYWwpLT5zdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMgKzEwMiw2IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwogICAgIH0KICAgICAK
LSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7Ci0gICAg
ICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQotICAgICAg
ICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0gICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCogY29uc3RydWN0b3JD
b25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fY29uc3RydWN0b3Iu
Z2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25z
LmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsxNDMsMTEgQEAgc2l6ZV90
IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZQogICAgIHdoaWxlICgxKSB7CiAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlk
UHJvdG90eXBlQ2hhaW47CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBkZWZpbml0ZWx5IG5lZWRz
IHNvbWUgbW9yZSB0aG91Z2h0CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAg
ICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1l
KTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJ
KHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Rv
dHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDkgKzYyLDI5IEBAIGlubGluZSBTdHJ1
Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW0KICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsK
ICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisKICAgICBhZGRQcm90
b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsK
KyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisgICAgaWYgKHByb3RvdHlwZS0+
c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0
YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCk7CisgICAg
ICAgIGlmIChKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9
IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgewor
ICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogcG9seVByb3RvU3RydWN0dXJlID0gcmFyZURhdGEt
PnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIHBvbHlQcm90b1N0cnVjdHVyZTsKKyAgICAgICAgICAgIH0gCisKKyAgICAgICAgICAgIGlm
IChyYXJlRGF0YS0+bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7CisgICAgICAgICAgICAg
ICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICAgICAgICAgIFN0
cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZv
LCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgICAgICAgICAg
ICAgIHJhcmVEYXRhLT5zZXRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKKyAgICAg
ICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBtX3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1
Y3R1cmU+KHN0cnVjdHVyZSkpOwogICAgIHJldHVybiBzdHJ1Y3R1cmU7CiB9CkBAIC03Myw3ICs5
Myw3IEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAv
LyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNp
cyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBo
YXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5k
ZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3Rv
dHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChw
cm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKHByb3RvdHlwZSkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBl
KSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBl
TWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKICAgICByZXR1cm4gY3JlYXRlRW1w
dHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJ
bmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lv
biAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1
cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFj
aXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHBy
ZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBw
cmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+
bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkK
ICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCkBAIC0yOTUsNiArMjk1LDI4IEBAIHZvaWQg
U3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0aWNfY2FzdDxTdHJ1Y3R1
cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7CiB9CiAKK1N0cnVjdHVyZSogU3Ry
dWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywg
Y29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVjdHVyZSogcmVzdWx0ID0gY3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhp
bmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBkYXRhTG9nTG4oIk1ha2luZyBwb2x5IHBy
b3RvIHN0cnVjdHVyZTogIiwgUmF3UG9pbnRlcihyZXN1bHQpKTsKKworICAgIHVuc2lnbmVkIG9s
ZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOyAvLyBPT1BT
OiBtYXliZSB0aGlzIHNob3VsZCBhbHdheXMgc3RhcnQgYXMgemVybz8KKyAgICByZXN1bHQtPmFk
ZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT51bmRlcnNjb3JlUHJvdG8sIERvbnRFbnVtLAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNv
bmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQg
bmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpv
dXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7
CisgICAgICAgICAgICAvLyBPT1BTOiBsZXRzIG1ha2UgYSBkaWZmZXJlbnQgY3RvciBmb3IgdGhp
cyB2YXJpYW50IG9mIHBvbHkgcHJvdG8sIHNpbmNlIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIAor
ICAgICAgICAgICAgLy8gYWxyZWFkeSBrbm93cyB3aGVuIGl0J3MgbWFraW5nIGEgcG9seSBwcm90
byB2YXJpYW50LgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zm
c2V0KSk7CisgICAgICAgICAgICBkYXRhTG9nTG4oIlNldHRpbmcgbV9wcm90b3R5cGUgdG86ICIs
IGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQo
dm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExh
c3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxp
emF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3Ry
dWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMu
aXNFbXB0eSgpKTsKQEAgLTM5OCwxNyArNDIwLDE5IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjph
ZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlz
dGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9
CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29u
c3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+
c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IExldCdzIGp1c3QgcHV0IHRoaXMgb24gSlNP
YmplY3Q/CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVj
dCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2
bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3Jl
ZFByb3RvdHlwZSgpOworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFBy
b3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0
KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKICAgICB9CiB9CiAKQEAgLTQzNiwxNSArNDYwLDE2IEBAIGJvb2wgU3RydWN0dXJl
Ojpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wg
U3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6
bmVlZHNTbG93UHV0SW5kZXhpbmcoSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQorICAgIFJFTEVB
U0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtl
IHRoaXMgSlNPYmplY3QqIG1ldGhvZD8KKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhiYXNlKQogICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+
aXNIYXZpbmdBQmFkVGltZSgpOwogfQogCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJl
OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKK05vblByb3BlcnR5VHJh
bnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAg
aWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKGJhc2UpKSAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMg
YSBKU09iamVjdCogbWV0aG9kCiAgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246
OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICAKICAgICByZXR1cm4gTm9uUHJvcGVy
dHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKQEAgLTExMjEsMjAgKzExNDYsMjQg
QEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0
cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK2Jvb2wgU3RydWN0dXJlOjpw
cm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lLCBKU09iamVjdCogYmFzZSkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5z
dHJ1Y3R1cmUodm0pID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgYSBKU09iamVj
dCogbWV0aG9kLgorCiAgICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAg
cmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAg
ICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
YmFzZSk7CiAgICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0g
ICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAgICAgLy8gT09QUzog
TWF5YmUgdGhpcyBuZWVkcyBzb21lIGNsb3NlciBhdHRlbnRpb24sIGJ1dCBJJ20gbm90IHN1cmUg
aG93IHdlIGNhbiBzYXkKKyAgICAgICAgLy8gbXVjaCBhYm91dCBvdXIgcHJvdG90eXBlIGNoYWlu
IHdpdGhvdXQga25vd2luZyBjb25zdGFudCBwcm90b3R5cGUgdmFsdWVzLi4uCisgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAg
IGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0p
OworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICAgICAgCiAgICAg
ICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9
IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9w
ZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChv
ZmZzZXQpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsg
UG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0lu
Zm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAw
KTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3IEBAIHByb3Rl
Y3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAg
QVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0
KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUu
aXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3RvdHlwZS5pc0ludDMy
KCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vh
cmx5Q2VsbFRhZykKQEAgLTI0MCwxOSArMjQyLDM3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
ICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNz
b3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VY
UE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcyhKU09iamVjdCopIGNvbnN0OwogICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKFZNJikgY29uc3Q7CiAgICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmco
KSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoSlNPYmpl
Y3QqKSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbihKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKICAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7
IH0KIAogICAgIC8vIE5PVEU6IFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJp
bmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVjdHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBv
YmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMgcHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVu
Y2ggb2YgcGxhY2VzLgogICAgIHZvaWQgc2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2Jh
bE9iamVjdCk7IH0KLSAgICAgICAgCi0gICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25z
dCB7IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsgfQorCisgICAgYm9vbCBoYXNTdG9yZWRQcm90
b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICFtX3Byb3RvdHlwZS5nZXQoKS5p
c0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAg
ICAgLy8gT09QUy4gbWF5YmUgZGVidWcgYXNzZXJ0aW9uIGhlcmU/CisgICAgICAgIHJldHVybiBt
X3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zm
c2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7Cisg
ICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7
CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNv
bnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2Jq
ZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29u
c3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAg
ICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKSBjb25zdDsKQEAgLTI3NCwx
MiArMjk0LDI1IEBAIHB1YmxpYzoKICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7
CiAgICAgICAgIAogICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2Vw
dCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgSlNf
RVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0m
LCBQcm9wZXJ0eU5hbWUsIEpTT2JqZWN0Kik7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgp
IGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJl
RGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEu
Z2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShW
TSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBh
bGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQog
ICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNzMyLDEy
ICs3NjUsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1
cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEq
IHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91
c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFp
bHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwg
Y29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVu
Y3koKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIAogICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwog
ICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICAgICAgLy8gT09QUzogSSB0
aGluayB3ZSBtYXkgbmVlZCBhIHdyaXRlIGJhcnJpZXIgaGVyZSBvZiB8dGhpc3wuCiAgICAgfQog
CiBwcml2YXRlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2
MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5l
IEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFs
dWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtNjksNiArNzAsNyBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVj
dHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVk
UHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTQw
MCw5ICs0MDIsMzkgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAog
ICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQg
U3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUp
CitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwg
UHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1h
eUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQorCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3Ry
dWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sK
KyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BT
IGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJl
dHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5n
ZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBl
LmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsK
K30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVP
YmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VS
VChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAg
ICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5
cGVPYmplY3QoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMy
KCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50
MzIoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKKyAg
ICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVy
biBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1
cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25z
dAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2Jq
ZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVs
bHB0cjsKK30KICAgICAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24g
MjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURh
dGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0
dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVl
V2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAi
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNs
dWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURh
dGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3By
ZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3RyaW5n
VmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVydHlO
YW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqIFN0cnVjdHVyZVJhcmVEYXRhOjpjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KCkgY29uc3QKQEAgLTE3NSw2ICsxNzcsNTMgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURh
dGE6OmNsZWFyT2JqZQogICAgIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitK
U1ZhbHVlIFN0cnVjdHVyZVJhcmVEYXRhOjppbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUoKQoreworICAgIHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZS5nZXQoKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNQb2x5
UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rv
ck9yUG9seVByb3RvU3RydWN0dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlKCk7CisgICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoSW5mZXJyZWRWYWx1ZSog
aW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCBp
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpKQorICAgICAgICByZXR1cm4g
aW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgQVNTRVJUKGlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5hc0NlbGwoKS0+aW5oZXJpdHMo
dm0sIFN0cnVjdHVyZTo6aW5mbygpKSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJ1Y3R1
cmUqIFN0cnVjdHVyZVJhcmVEYXRhOjpwb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQoreworICAg
IEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0gdGhpcy0+
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgaWYgKCFpbmZl
cnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PFN0cnVjdHVyZSo+KHZtLCBpbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVE
YXRhOjppc1BvbHlQcm90byhWTSYgdm0pCit7CisgICAgcmV0dXJuIG5lZWRzUG9seVByb3RvU3Ry
dWN0dXJlKHZtKSB8fCAhIXBvbHlQcm90b1N0cnVjdHVyZSh2bSk7Cit9CisKK2Jvb2wgU3RydWN0
dXJlUmFyZURhdGE6Om5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpCit7CisgICAgcmV0dXJuICFp
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKK30KKworSW5mZXJyZWRW
YWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mIHZt
KQoreworICAgIFJFTEVBU0VfQVNTRVJUKCFtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSk7CisgICAgSW5mZXJyZWRWYWx1ZSogcmVzdWx0ID0gSW5mZXJyZWRWYWx1ZTo6
Y3JlYXRlKHZtKTsKKyAgICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBT
dHJ1Y3R1cmVSYXJlRGF0YTo6c2V0UG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCit7CisgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1l
dGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBj
bGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVX
YXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0
dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBj
bGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBP
YmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDIy
IEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFy
ZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hh
dCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1
cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0aGUgU3Ry
dWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0aGUgInByb3RvdHlwZSIgZmllbGQK
KyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZpZWxkLCB3
ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFudCBjb25zdHJ1Y3Rvci4KKyAgICAv
LyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVy
ZSBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZSBpbmZlcnJpbmcgYQorICAgIC8vIEpTRnVuY3Rp
b24uIElmIHdlIG5vdGljZSB0aGF0IHdlIGdvIHBvbHkgcHJvdG8sIHRoZW4gdGhpcyBmaWVsZCBl
aXRoZXIgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUKKyAgICAvLyB0aGF0IGlzIGludmFsaWRh
dGVkLiBJZiB3ZSBldmVyIGNvbnN0cnVjdCBhbiBvYmplY3Qgd2hvJ3MgX19wcm90b19fIHBvaW50
cyB0byB0aGlzIHByb3RvdHlwZSwgdGhlbgorICAgIC8vIHdlIG1vdmUgbV9pbmZlcnJlZENvbnN0
cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgdG8gdGhlIFN0cnVjdHVyZSBvZiB0aGUgb2JqZWN0
IHRoYXQgc2hvdWxkIGJlIGNyZWF0ZWQKKyAgICAvLyB0aGF0IGhhcyBwb2x5IHByb3RvLgorICAg
IEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICBKU1Zh
bHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGJvb2wg
bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mKTsKKyAgICBib29sIG5lZWRzSW5mZXJyZWRDb25z
dHJ1Y3RvcigpOworICAgIHZvaWQgc2V0UG9seVByb3RvU3RydWN0dXJlKFZNJiwgU3RydWN0dXJl
Kik7CisgICAgU3RydWN0dXJlKiBwb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mKTsgLy8gTWF5IGJlIG51
bGxwdHIgaWYgbm90IHBvbHkgcHJvdG8gb3IgcG9seSBwcm90byBzdHJ1Y3R1cmUgaGFzIHlldCB0
byBiZSBpbnN0YW50aWF0ZWQuCisgICAgYm9vbCBpc1BvbHlQcm90byhWTSYpOworCiAgICAgREVD
TEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDYgKzkzLDcgQEAgcHJpdmF0ZToK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmll
cjxKU1N0cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1By
b3BlcnR5TmFtZUVudW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAg
ICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmU7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQ
dHI8V2F0Y2hwb2ludFNldD4sIFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5z
aWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNo
cG9pbnRNYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9y
ZXBsYWNlbWVudFdhdGNocG9pbnRTZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQs
NiArMTQ0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1Zh
bHVlKEpTVmFsdWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0K
ICAgICBib29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQor
ICAgIGJvb2wgaXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAg
IGJvb2wgaXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAg
Ym9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wg
aXNHZXR0ZXJTZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321301</attachid>
            <date>2017-09-20 01:30:25 -0700</date>
            <delta_ts>2017-09-20 13:55:03 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>70075</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTMxNSw3ICsxMzE1LDcgQEAKIAkJMkQzNDJGMzZGNzI0
NDA5NjgwNEFEQjI0IC8qIFNvdXJjZU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDI1QkExMzM3RTQzNDRFMUIyNjlBNjcxIC8qIFNvdXJjZU9y
aWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTMyMUQ5RTRDRkI2NzQyM0E5N0YxOTFBNyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRUNCMTVF
RkM1MjQ2MjRCQzJGMDJENSAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcCAqLzsgfTsK
IAkJMzcxRDg0MkQxN0M5OEI2RTAwRUNGOTk0IC8qIGxpYnouZHlsaWIgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzFEODQyQzE3Qzk4QjZFMDBFQ0Y5
OTQgLyogbGliei5keWxpYiAqLzsgfTsKLQkJMzdDNzM4RDIxRURCNTZFNDAwM0YyQjBCIC8qIFBh
cnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQuaCAqLzsgfTsKKwkJMzdDNzM4RDIx
RURCNTZFNDAwM0YyQjBCIC8qIFBhcnNlSW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3MzhEMTFFREI1NjcyMDAzRjJCMEIgLyogUGFyc2VJbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTI5
NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBw
ZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFs
c193cmFwcGVyX2hlYWRlci5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTI5NTI3ODFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3NDFEMkNGNkFDMDBFNzhCODkgLyog
YnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaW1wbGVtZW50YXRpb24ucHkgKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOTUyNzkx
RDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5IGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyOTUyNzUxRDJD
RjZBQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNTU4LDEwICsx
NTU4LDEzIEBACiAJCTc5QjAwQ0JFMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUIwMENCQTFD
NkFCMDdFMDA4OEM2NUQgLyogUHJveHlPYmplY3QuY3BwICovOyB9OwogCQk3OUIwMENCRjFDNkFC
MDdFMDA4OEM2NUQgLyogUHJveHlPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5QjAwQ0JCMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVj
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5
QjE3ODhFMUQzOTlCODAwMEIxQTU2NyAvKiBKSVRNYXRoSUNGb3J3YXJkcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlBODk5RkUxRDM4NjEyRTAwRDE4
QzczIC8qIEpJVE1hdGhJQ0ZvcndhcmRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzlCNTI5RjYxRjcyNTU0RjAwOTIzMkUwIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3OUI1MjlGNDFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OUI1MjlG
NzFGNzI1NTRGMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCNTI5RjUxRjcyNTU0RTAwOTIz
MkUwIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLzsgfTsKIAkJNzlCNzU5NzQxREZBNEM2
MDAwNTIxNzRDIC8qIFdhc21NZW1vcnlJbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3NTk3MTFERkE0QzYwMDA1MjE3NEMgLyog
V2FzbU1lbW9yeUluZm9ybWF0aW9uLmNwcCAqLzsgfTsKIAkJNzlCNzU5NzUxREZBNEM2MDAwNTIx
NzRDIC8qIFdhc21NZW1vcnlJbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCNzU5NzIxREZBNEM2MDAwNTIxNzRDIC8qIFdhc21NZW1v
cnlJbmZvcm1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTc5Qjc1OTc2MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNvdW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3NTk3MzFERkE0
QzYwMDA1MjE3NEMgLyogV2FzbVBhZ2VDb3VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5QjgxOTkzMUREMjVDRjUwMEREQzcxNCAvKiBKU0ds
b2JhbE9iamVjdElubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2JhbE9iamVjdElubGlu
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3
OUJBMjFBNjFGNzA3MDI0MDA1OUUwNUMgLyogT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCQTIxQTUxRjcw
NzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcCAqLzsgfTsKIAkJNzlD
NEIxNUQxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9u
UGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzlDNEIxNUIxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0
aW9uUGhhc2UuY3BwICovOyB9OwogCQk3OUM0QjE1RTFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2
ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlDNEIxNUMxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0xp
dmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OUNGQzZGMDFDMzNCMTAwMDBDNzY4RUEgLyog
TExJbnRQQ1Jhbmdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzlDRkM2RUYxQzMzQjEwMDAwQzc2OEVBIC8qIExMSW50UENSYW5nZXMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDE3OSwxMCArNDE4
MiwxMyBAQAogCQk3OUIwMENCOTFDNkFCMDdFMDA4OEM2NUQgLyogUHJveHlDb25zdHJ1Y3Rvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm94eUNvbnN0cnVjdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QjAwQ0JBMUM2QUIwN0UwMDg4QzY1RCAvKiBQ
cm94eU9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm94
eU9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QjAwQ0JCMUM2QUIw
N0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQcm94eU9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OUI1MjlG
NDFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNzlCNTI5RjUxRjcyNTU0RTAwOTIzMkUwIC8qIFByb3RvdHlwZUFj
Y2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCNzU5
NzExREZBNEM2MDAwNTIxNzRDIC8qIFdhc21NZW1vcnlJbmZvcm1hdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNtTWVtb3J5SW5mb3JtYXRpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUI3NTk3MjFERkE0QzYwMDA1MjE3NEMgLyog
V2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdhc21NZW1vcnlJbmZvcm1hdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
OUI3NTk3MzFERkE0QzYwMDA1MjE3NEMgLyogV2FzbVBhZ2VDb3VudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtUGFnZUNvdW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc5QjgxOTkyMUREMjVDRjUwMEREQzcxNCAvKiBKU0dsb2JhbE9iamVjdElubGlu
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxPYmplY3RJbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5QkEyMUE1MUY3MDcwMjMwMDU5
RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0
Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwOyBw
YXRoID0gZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZH
TGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmg7IHBh
dGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3OUNGQzZFRjFDMzNCMTAwMDBDNzY4RUEgLyogTExJbnRQ
Q1Jhbmdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludFBDUmFuZ2Vz
Lmg7IHBhdGggPSBsbGludC9MTEludFBDUmFuZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03ODM0LDYgKzc4NDAsNyBAQAogCQkJCTE0QUQ5MTEzMURDQTk3RkQwMDE0RjlGRSAv
KiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcCAqLywKIAkJCQkxNEFEOTEwOTFEQ0E5Mjk0MDAx
NEY5RkUgLyogTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTE0Q0E5NThDMTZBQjUw
RkEwMDkzOEEwNiAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oICovLAorCQkJCTc5QkEyMUE1
MUY3MDcwMjMwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgKi8sCiAJCQkJ
MEZEM0U0MDMxQjYxOEI2NjAwQzgwRTFFIC8qIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcCAq
LywKIAkJCQkwRkQzRTQwNDFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJvcGVydHlDb25kaXRp
b24uaCAqLywKIAkJCQkwRkQzRTQwNTFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQuY3BwICovLApAQCAtNzg1MSw2ICs3ODU4LDggQEAKIAkJCQkxNEFEOTEwQTFE
Q0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTBGRDNFNDA3MUI2
MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8sCiAJCQkJMEZEM0U0MDgx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8sCisJCQkJNzlCNTI5RjUx
RjcyNTU0RTAwOTIzMkUwIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLywKKwkJCQk3OUI1
MjlGNDFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLywKIAkJCQkw
RjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNwcCAqLywKIAkJCQkwRjE1
Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8sCiAJCQkJMEY5MzMyOTkx
NENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApAQCAtOTAzOCw2ICs5MDQ3
LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50bENvbGxhdG9yUHJvdG90
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RCMDBGQzEwMjkgLyogSW50
bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENkUxQjRE
QzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzlCNTI5RjYxRjcyNTU0RjAwOTIzMkUwIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9y
bWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDc1MUI0REMxQzYwMEQ2
OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLApAQCAtMTA2MTksNiArMTA2MjksNyBAQAogCQkJCTBGRUEw
QTFFMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGNDg1MzI3MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVS
ZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEwOTE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QkEyMUE2MUY3MDcw
MjQwMDU5RTA1QyAvKiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRkVBMEEyNzE3MDk2MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9uVmFsdWVzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGQjM4NzkyMUJGRDMxQTEwMEUzQUIxRSAvKiBGVExDb21waWxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGOUQ0QzBDMUMzRTFDMTEwMDZDRDk4NCAvKiBGVExFeGNl
cHRpb25UYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMDk1Miw2ICsxMDk2Myw3IEBACiAJ
CQkJMTQ4RjIxQkMxMDdFQzU0RDAwNDJFQzJDIC8qIFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNzkyQ0IzNDkxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFw
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QjUyOUY3MUY3MjU1NEYwMDkyMzJFMCAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNUFCNDlEQzFCRUM4MDgy
MDA3MDIwRkIgLyogUGVyR2xvYmFsT2JqZWN0V3JhcHBlcldvcmxkLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGRjlDRTczMUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkU4MzQxNzFBNkVGOTdCMDBEMDQ4NDcgLyogUG9seW1vcnBo
aWNDYWxsU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5j
bHVkZSAiT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNw
YWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVj
dCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9u
KiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQo
IW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgaWYg
KHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICBpZiAo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRh
KCktPnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmlu
YWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAg
IG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZt
LCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxp
bmVDYXBhY2l0eTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAg
ICAgLy8gT09QUzogUHJvYmFibHkgY2FsbCBpbnRvIGEgZGlmZmVyZW50IHByb3RvdHlwZU1hcCBm
dW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMgcG9seSBwcm90bywgdGhhdCB3YXksCisgICAgICAgIC8v
IG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVudGFsbHkgZ2V0IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUu
CisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0
dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRz
SW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVy
cmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRD
b25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCByYXJlRGF0YS0+
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkpKSB7CisgICAgICAgICAg
ICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0
aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7Cisg
ICAgICAgICAgICBpc1BvbHlQcm90byA9IGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZh
bGlkYXRlZCgpOworICAgICAgICB9CisgICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3
ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhhdCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJs
eSBjb252ZXkgdGhhdAorICAgICAgICAvLyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZl
eSBpZiB3ZSBrbm93IHRoYXQgd2UndmUgcmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUg
cHJvdG8uCisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlm
IChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9u
IHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3Nz
aWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICgh
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBh
cmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAor
ICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNh
biBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAg
ICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0
aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxs
CisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9y
bWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElu
bGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQ
cm90bykgeworICAgICAgICAvLyBPT1BTOiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0
dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFzc2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90Lgor
ICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6
bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsK
KyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAg
ICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShp
bmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxs
U3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKyAgICAKKyAgICAvLyBUYWtlIGFk
dmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNs
YXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2Nh
dG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxV
bmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChp
bmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAu
ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFk
IHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAg
IFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsK
KyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5l
Q2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCog
cHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmpl
Y3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90
IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0s
IFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6
SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zy
b21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Cisg
ICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFt
ZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBw
cm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9u
LCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJp
ZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQorICAg
IHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9
CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJl
ZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0g
ICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2Fw
YWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAg
aWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5l
Q2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJh
c2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAg
ICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAg
Ly8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFs
eXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFs
aXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAg
ICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewot
ICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBz
byBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9i
amVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAv
LyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJU
KGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwot
Ci0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRp
b25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0
b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAg
Ci0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFp
bGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAg
ICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25T
aXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0K
LSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmpl
Y3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVz
IHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAg
V1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRv
cjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAg
ICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGlu
aXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93
bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5
LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUoKQogICAgIHsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90
eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1
cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVB
cnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRT
eW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+
c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5h
bWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURh
dGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1l
QXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAg
IEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVj
dG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUg
dXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAg
ICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVm
YXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1h
cmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdz
IGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90
eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7
CisKK1Byb3RvdHlwZUFjY2Vzc0NoYWluOjpQcm90b3R5cGVBY2Nlc3NDaGFpbihKU09iamVjdCog
YmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90KQoreworICAgIC8vIE9PUFM6IGNvbnNpZGVy
IERPTSBwcm94eSBoZXJlLiBBbHNvLCBwcm94eSBpbiB0aGUgcHJvdG90eXBlIGNoYWluPworCisg
ICAgSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOwor
CisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Qu
c2xvdEJhc2UoKTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKworICAgIHdoaWxlICh0cnVl
KSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZt
KTsKKyAgICAgICAgbV9jaGFpbi5hcHBlbmQoc3RydWN0dXJlKTsKKworICAgICAgICBtX2hhc1Bv
bHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKworICAgICAgICBp
ZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlw
ZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmpl
Y3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KSB7Cisg
ICAgICAgIC8vIE9PUFM6IHdvdWxkIHRoaXMgYWN0dWFsbHkgY29tZSB1cCBmb3IgcmVhbCBwcm9n
cmFtcz8KKyAgICAgICAgLy8gTmVlZCB0byBjb25zaWRlci4KKyAgICAgICAgbV9pc1ZhbGlkID0g
ZmFsc2U7CisgICAgfQorfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNs
b3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRChQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1Ymxp
YzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihKU09iamVjdCogYmFzZSwgY29uc3QgUHJvcGVy
dHlTbG90Jik7CisKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVkZXMg
YmFzZSdzIHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSByZW1v
dmVkLgorICAgIGJvb2wgbV9oYXNQb2x5UHJvdG8geyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1Zh
bGlkIHsgdHJ1ZSB9OworfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MzA4LDYgKzQzMDgsOCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2ln
bmVkCiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIG9wX2NyZWF0ZV90aGlzOiB7CisgICAgICAg
ICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdoIHRoaXMgY29kZS4KKwogICAgICAgICAgICAgaW50
IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAg
ICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjYWxsZWVPcGVyYW5kKSk7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkocmV2aXNpb24gMjIy
MTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogCisjaW5jbHVkZSAiUHJvYmVDb250ZXh0
LmgiCisKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTIzMSw2ICsyMzMsMTAgQEAgdm9pZCBKSVQ6
OmNvbXBpbGVPcENhbGwoT3Bjb2RlSUQgb3Bjb2RlSQogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KCk7CiAKICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgLy9w
cm9iZShbXSAoUHJvYmU6OkNvbnRleHQmIGN0eCkgeworICAgIC8vICAgIGRhdGFMb2dMbigiY29u
c3RydWN0IHJlc3VsdDogIiwgSlNWYWx1ZTo6ZGVjb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihjdHguZ3ByKHJlZ1QwKSkpKTsKKyAgICAvL30pOwogICAgIAogICAgIGVtaXRQdXRDYWxs
UmVzdWx0KGluc3RydWN0aW9uKTsKIH0KQEAgLTI2MCw2ICsyNjYsMTAgQEAgdm9pZCBKSVQ6OmNv
bXBpbGVPcENhbGxTbG93Q2FzZShPcGNvZGVJRAogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25t
ZW50KCk7CiAKICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOworCisgICAgcHJvYmUo
W10gKFByb2JlOjpDb250ZXh0JiBjdHgpIHsKKyAgICAgICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3Qg
cmVzdWx0OiAiLCBKU1ZhbHVlOjpkZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0
eC5ncHIocmVnVDApKSkpOworICAgIH0pOwogICAgIAogICAgIGVtaXRQdXRDYWxsUmVzdWx0KGlu
c3RydWN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDYgKzc3MCw4IEBAIHZvaWQgSklUOjpl
bWl0X29wX2NyZWF0ZV90aGlzKEluc3RydWN0aW8KICAgICBSZWdpc3RlcklEIGNhY2hlZEZ1bmN0
aW9uUmVnID0gcmVnVDQ7CiAgICAgUmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDM7CiAKKyAg
ICAvLyBPT1BTOiB0aGlzIGlzIHdyb25nIHcvIHBvbHkgcHJvdG8hCisKICAgICBlbWl0R2V0Vmly
dHVhbFJlZ2lzdGVyKGNhbGxlZSwgY2FsbGVlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2g4
KE5vdEVxdWFsLCBBZGRyZXNzKGNhbGxlZVJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQo
KSksIFRydXN0ZWRJbW0zMihKU0Z1bmN0aW9uVHlwZSkpKTsKICAgICBsb2FkUHRyKEFkZHJlc3Mo
Y2FsbGVlUmVnLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YVJlZyk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3Vt
ZW50cy5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAg
Q2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1
cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKGFzT2JqZWN0
KHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZyhhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKSkpKSB7CiAg
ICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0
ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7CiAKQEAg
LTgxLDcgKzgxLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQog
ICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmpl
Y3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBvZiB0aGUg
Y2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAg
ICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5n
dGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGlu
Z1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUo
dm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwx
NCArMTI1LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAg
ICB9IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25l
ZEFyZ3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VS
VCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNT
RVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8
IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50
czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSog
dGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMq
IHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVs
bHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5k
ZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVy
ZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0NSw3
ICsxNDUsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAg
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQtPnB1
dERpcmVjdEluZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBz
aG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsK
KyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
cmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhp
bmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIy
MjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsMTIgQEAgU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1sz
XS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3It
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
KS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9s
eVByb3RvT2Zmc2V0KCksIGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlKSk7CisgICAgICAgICAgICAvLyBPT1BTOiBpcyB0aGlzIHJpZ2h0PworICAgICAg
ICAgICAgY2FjaGVXcml0ZUJhcnJpZXIuc2V0V2l0aG91dFdyaXRlQmFycmllcihKU0NlbGw6OnNl
ZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKSk7CisgICAgICAgIH0KKyAgICAgICAgZGF0YUxvZ0xu
KCJjcmVhdGVfdGhpcyByZXN1bHQ6ICIsIEpTVmFsdWUocmVzdWx0KSk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNz
ZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9
IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3
OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9p
ZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBz
aXplX3QgaW5saW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlv
biogY29uc3RydWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFs
aXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0
LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZv
aWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2
aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25S
YXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJv
dG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVj
dEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90
eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAog
ICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4g
IW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRB
c3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlz
U3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJP
YmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgi
IHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJm
bHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJl
LCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwg
aW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAg
ICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQp
LCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50
KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgi
LCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAg
fSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24g
MjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNSw3ICsxMzUsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1
bmN0aW9uOjphbGxvY2F0ZUFuCiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlw
ZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CiAgICAgRnVuY3Rpb25SYXJlRGF0
YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRh
LT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCB0aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5
aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQg
aXQgc2VlcyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE1Myw3ICsxNTMsNyBAQCBGdW5jdGlv
blJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiAgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgaWYgKCFwcm90b3R5cGUp
CiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0g
ICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fcmFyZURhdGEtPmlu
aXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsK
IH0KIApAQCAtMzQxLDYgKzM0MSwxOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxs
ZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVj
LCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBz
dHJpY3QgY2FsbGVyIikpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZhbHVl
SWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBjb25z
dHJ1Y3RvcikKK3sKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09i
amVjdCo+KHZtLCBwcm90b3R5cGVWYWx1ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAgICAg
IHJldHVybjsKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0
cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICBpZiAocmFyZURhdGEtPm5lZWRz
SW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRD
b25zdHJ1Y3Rvcih2bSk7CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0
b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSkKKyAgICAgICAgaW5mZXJyZWRDb25z
dHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyAucHJvdG90eXBl
IGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVy
dHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CkBAIC00NTIsNiArNDY0LDcgQEAgYm9vbCBKU0Z1bmN0aW9uOjpwdXQoSlNDZWxsKiBjZWxs
LCBFeGVjUwogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3Bl
cnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGdldFNsb3QpOwogICAgICAg
ICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1f
cmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlv
biIpOworICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgdmFsdWUsIHRo
aXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNl
OjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAg
fQpAQCAtNTE4LDYgKzUzMSw4IEBAIGJvb2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVydHko
SlNPYmoKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0
eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAgICAgaWYg
KHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVE
YXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsK
KyAgICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUoKSkKKyAgICAgICAgICAgIGluZmVyQ29uc3Ry
dWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBkZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNPYmplY3QpOwog
ICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Q
cm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNl
cHRpb24pOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wg
SlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0
cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAg
ICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9w
ZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0
dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUsIHRoaXMpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVy
cm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9u
bHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1
LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VS
VChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBl
IG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFo
YXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAg
ICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNp
dHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0
ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlT
dG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVu
Z3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1
bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3Ry
dWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVy
ZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRp
b24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKHRoaXMpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBv
bGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0
cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1
cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNp
ZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29u
dmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0
Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZl
cnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFn
ZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlz
KSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29u
dGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBz
dHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0K
IAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFn
ZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsx
MzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2
bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3Ry
dWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1
cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6
OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3
LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAg
ICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBp
ZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3Vz
SlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAg
ICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6
OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICBy
ZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxE
b3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNK
U1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5n
VHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlm
IChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3Vs
ZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
KQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1
cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIg
KzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAg
ICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFT
U0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252
ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9J
TlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZt
KTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAg
ICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3Ry
dWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3Ry
dWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4g
Y29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExf
Q09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3Vs
ZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtMTYzNiw3ICsxNjM2LDcg
QEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZt
LCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3Ry
dWN0dXJlKTsKICAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHRoaXMpKQogICAgICAgICBy
ZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkg
ewpAQCAtMjcyNiw3ICsyNzI2LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZl
Y3RvckxlbgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhX
aXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRU
aHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAg
aWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYg
KHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAgICAgICAgICAg
ICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdl
IGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdl
dE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1
dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyAr
Mjg3OCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAg
ICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0
b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUs
IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkgewogICAgICAgICAgICAgQXJy
YXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3
VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX3Zl
Y3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fbnVt
VmFsdWVzSW5WZWN0b3IrKzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtODY2LDcgKzg2Niw3IEBAIHByb3RlY3Rl
ZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgQVNT
RVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURp
cmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90
b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNO
dWxsKCkgfHwgIXN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSB8fCBIZWFwOjpoZWFw
KHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsgLy8gT09QUyBmaW5k
IGEgd2F5IHRvIG1ha2UgdGhpcyB3b3JrCiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNP
YmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0xMjk4
LDcgKzEyOTgsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAK
IGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewot
ICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0
cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpT
T2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNp
b24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxp
bmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJv
b2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNh
blBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VS
VCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5z
dHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3Bl
cnR5TmFtZSwgdGhpc09iamVjdCkpOwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVj
dEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkK
ICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RN
b2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpA
QCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShj
b25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09Q
Uy4gbWFrZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMu
CiAgICAgICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJu
IGdldChnbG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMg
KzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJl
bnRseSgpOwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5
KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENv
bmN1cnJlbnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBK
U09iamVjdCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0
Myw2ICsxNDMsMTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZQog
ICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAg
ICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAgICAgLy8gT09QUzog
dGhpcyBkZWZpbml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAgICAgIGlmICghc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlk
UHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5
cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAg
ICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDkg
KzYyLDI5IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW0KICAgICAg
ICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CisKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCks
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5
cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7
CisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgeworICAg
ICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2
bSktPnJhcmVEYXRhKCk7CisgICAgICAgIGlmIChKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZSA9IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogcG9seVByb3Rv
U3RydWN0dXJlID0gcmFyZURhdGEtPnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHBvbHlQcm90b1N0cnVjdHVyZTsKKyAgICAgICAgICAg
IH0gCisKKyAgICAgICAgICAgIGlmIChyYXJlRGF0YS0+bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUo
dm0pKSB7CisgICAgICAgICAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisg
ICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgICAgICAgICAgICAgIHJhcmVEYXRhLT5zZXRQb2x5UHJvdG9TdHJ1Y3R1cmUo
dm0sIHN0cnVjdHVyZSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYg
KCFzdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisg
ICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0lu
Zm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBtX3N0cnVjdHVy
ZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOwogICAgIHJldHVybiBzdHJ1
Y3R1cmU7CiB9CkBAIC03Myw3ICs5Myw3IEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0
eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNh
cGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1
bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4K
ICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdU
eXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRl
eGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHByb3RvdHlwZSkgJiYgaGFzSW5kZXhlZFBy
b3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5n
VHlwZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAK
ICAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBp
bmRleGluZ1R5cGUsIDApOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAg
U3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxsKHZt
LCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5KHBy
ZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwgbV9w
cm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAsIG1f
cHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAgLCBt
X2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRj
aHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCkBAIC0y
OTUsNiArMjk1LDI4IEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAg
ICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7
CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVj
dHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUlu
Zm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBkYXRh
TG9nTG4oIk1ha2luZyBwb2x5IHByb3RvIHN0cnVjdHVyZTogIiwgUmF3UG9pbnRlcihyZXN1bHQp
KTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxp
bmVDYXBhY2l0eSgpOyAvLyBPT1BTOiBtYXliZSB0aGlzIHNob3VsZCBhbHdheXMgc3RhcnQgYXMg
emVybz8KKyAgICByZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAg
IHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT51bmRlcnNjb3JlUHJvdG8sIERvbnRFbnVtLAorICAgICAg
ICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBv
bGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICAvLyBPT1BTOiBsZXRzIG1ha2UgYSBk
aWZmZXJlbnQgY3RvciBmb3IgdGhpcyB2YXJpYW50IG9mIHBvbHkgcHJvdG8sIHNpbmNlIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlIAorICAgICAgICAgICAgLy8gYWxyZWFkeSBrbm93cyB3aGVuIGl0
J3MgbWFraW5nIGEgcG9seSBwcm90byB2YXJpYW50LgorICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICBkYXRhTG9nTG4oIlNldHRp
bmcgbV9wcm90b3R5cGUgdG86ICIsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVz
dWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAg
ICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0p
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1
cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0
dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAg
ICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwxNyArNDIwLDE5IEBAIFN0
cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJv
cGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0
dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2JqZWN0KiBiYXNlKSBj
b25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewot
ICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAg
UkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IExldCdz
IGp1c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7Cisg
ICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAgICAgaWYg
KGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90
eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAg
ICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOworICAgICAgICBj
dXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICB9CiB9CiAKQEAgLTQzNiwxNSArNDYw
LDE2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNv
bnN0Citib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoSlNPYmplY3QqIGJhc2Up
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKQorICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMp
OyAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgSlNPYmplY3QqIG1ldGhvZD8KKyAgICByZXR1cm4g
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhiYXNlKQogICAgICAg
ICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOwogfQogCi1Ob25Qcm9wZXJ0
eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkg
Y29uc3QKK05vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgaWYgKG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpCisgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKGJhc2UpKSAvLyBP
T1BTOiBtYXliZSBtYWtlIHRoaXMgYSBKU09iamVjdCogbWV0aG9kCiAgICAgICAgIHJldHVybiBO
b25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICAK
ICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsK
QEAgLTExMjEsMjAgKzExNDYsMjQgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RW
aXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkKK2Jvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0m
IHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU09iamVjdCogYmFzZSkKIHsKKyAgICBS
RUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOyAvLyBPT1BTOiBtYXli
ZSBtYWtlIHRoaXMgYSBKU09iamVjdCogbWV0aG9kLgorCiAgICAgaWYgKHBhcnNlSW5kZXgocHJv
cGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKTsKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoYmFzZSk7CiAgICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1
cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDsp
IHsKKyAgICAgICAgLy8gT09QUzogTWF5YmUgdGhpcyBuZWVkcyBzb21lIGNsb3NlciBhdHRlbnRp
b24sIGJ1dCBJJ20gbm90IHN1cmUgaG93IHdlIGNhbiBzYXkKKyAgICAgICAgLy8gbXVjaCBhYm91
dCBvdXIgcHJvdG90eXBlIGNoYWluIHdpdGhvdXQga25vd2luZyBjb25zdGFudCBwcm90b3R5cGUg
dmFsdWVzLi4uCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90
eXBlRGlyZWN0KCk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFz
Q2VsbCgpLT5zdHJ1Y3R1cmUodm0pOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90
eXBlKTsKICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRy
aWJ1dGVzKTsKKyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAo
IUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJl
dmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVk
ZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAg
IGVudW0gUG9seVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9s
eVByb3RvVGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAt
MTM4LDcgKzE0MCw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJU
KG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8
fCBtX3Byb3RvdHlwZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTI0MCwxOSArMjQyLDM3IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAm
IE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9S
VF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCopIGNvbnN0OwogICAgIGJvb2wgaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7CiAgICAgICAgIAotICAgIGJvb2wg
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24g
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgbmVlZHNT
bG93UHV0SW5kZXhpbmcoSlNPYmplY3QqKSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVjdCopIGNvbnN0OwogICAg
ICAgICAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4g
bV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KIAogICAgIC8vIE5PVEU6IFRoaXMgbWV0aG9kIHNob3Vs
ZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVjdHVyZXMsIHNpbmNl
IHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMgcHJlc3VtZWQgdG8g
YmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgogICAgIHZvaWQgc2V0R2xvYmFsT2Jq
ZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVj
dC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KLSAgICAgICAgCi0gICAgSlNWYWx1ZSBz
dG9yZWRQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsgfQorCisg
ICAgYm9vbCBoYXNTdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJu
ICFtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVk
UHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKKyAgICAgICAgLy8gT09QUy4gbWF5YmUgZGVidWcgYXNzZXJ0aW9uIGhl
cmU/CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVy
dHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlw
ZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNv
bnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVj
dChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBl
U3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVk
UHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVT
dHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3Rh
dGUqKSBjb25zdDsKQEAgLTI3NCwxMiArMjk0LDI1IEBAIHB1YmxpYzoKICAgICBib29sIG1hcmtJ
ZkNoZWFwKFNsb3RWaXNpdG9yJik7CiAgICAgICAgIAogICAgIC8vIFdpbGwganVzdCB0aGUgcHJv
dG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBP
UlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFBy
b3BlcnR5TmFtZSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1h
eUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUsIEpTT2JqZWN0Kik7CiAgICAgCiAg
ICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJl
RGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJl
UmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJl
RGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4o
bV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhhc1JhcmVE
YXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJu
IHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNv
bnN0CiAgICAgewpAQCAtNzMyLDEyICs3NjUsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
Y2VsbCAmJiBjZWxsLT5zdHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0g
ICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFT
U0VSVChoYXNSYXJlRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVy
ZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0
ZW5jeShQcm9wZXJ0eVRhYmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29s
IGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyMTgwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBj
b3B5KQpAQCAtNzcsNiArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIAogICAgICAgICB2bS5o
ZWFwLm11dGF0b3JGZW5jZSgpOwogICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsK
KyAgICAgICAgLy8gT09QUzogSSB0aGluayB3ZSBtYXkgbmVlZCBhIHdyaXRlIGJhcnJpZXIgaGVy
ZSBvZiB8dGhpc3wuCiAgICAgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyMTgwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBl
KCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFs
dWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksNiArNzAsNyBAQCBp
bmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1
cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBS
RUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVj
dCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKQEAgLTQwMCw5ICs0MDIsMzkgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0
IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5j
KTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwg
UHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQ
cm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9w
ZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQorCitBTFdB
WVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmpl
Y3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVy
ZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0
LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QK
K3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBP
T1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAg
IHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3By
b3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1f
cHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5n
ZXREaXJlY3Qob2Zmc2V0KTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJ
TkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBK
U09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9y
ZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1
cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KICAgICAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3
IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0aXZl
SW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZlcnJl
ZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3IEBA
IHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9yLmFw
cGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmpl
Y3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBlbmQo
dGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOwog
fQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0cnVjdHVyZVJhcmVEYXRhOjpjYWNoZWRQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAgLTE3NSw2ICsxNzcsNTMgQEAgaW5saW5l
IHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQogICAgIG1fb2JqZWN0VG9TdHJpbmdW
YWx1ZS5jbGVhcigpOwogfQogCitKU1ZhbHVlIFN0cnVjdHVyZVJhcmVEYXRhOjppbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKQoreworICAgIHJldHVybiBtX2luZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5nZXQoKTsKK30KKworYm9vbCBTdHJ1Y3R1
cmVSYXJlRGF0YTo6bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQoreworICAgIEpTVmFs
dWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0gdGhpcy0+aW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgaWYgKCFpbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8
SW5mZXJyZWRWYWx1ZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUpKQorICAgICAgICByZXR1cm4gaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRh
dGVkKCk7CisgICAgQVNTRVJUKGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVy
ZS5hc0NlbGwoKS0+aW5oZXJpdHModm0sIFN0cnVjdHVyZTo6aW5mbygpKSk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZVJhcmVEYXRhOjpwb2x5UHJvdG9TdHJ1
Y3R1cmUoVk0mIHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKCk7CisgICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUp
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PFN0cnVj
dHVyZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOworfQor
Citib29sIFN0cnVjdHVyZVJhcmVEYXRhOjppc1BvbHlQcm90byhWTSYgdm0pCit7CisgICAgcmV0
dXJuIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKHZtKSB8fCAhIXBvbHlQcm90b1N0cnVjdHVyZSh2
bSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRzSW5mZXJyZWRDb25zdHJ1Y3Rv
cigpCit7CisgICAgcmV0dXJuICFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUoKTsKK30KKworSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVy
cmVkQ29uc3RydWN0b3IoVk0mIHZtKQoreworICAgIFJFTEVBU0VfQVNTRVJUKCFtX2luZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgSW5mZXJyZWRWYWx1ZSogcmVz
dWx0ID0gSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKTsKKyAgICBtX2luZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHJlc3VsdCk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwordm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6c2V0UG9seVByb3RvU3RydWN0
dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgbV9pbmZlcnJlZENvbnN0
cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOworfQor
CiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmco
KSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3Ry
aW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3Ry
dWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1
Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjE4
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2Ns
YXNzIEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFz
cyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hw
b2ludDsKQEAgLTYyLDYgKzYzLDIyIEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNl
dENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IqKTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFu
ZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlv
bi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVy
ZVJhcmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0
aGUgInByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBh
ICJwcm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFu
dCBjb25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZSBpbmZlcnJp
bmcgYQorICAgIC8vIEpTRnVuY3Rpb24uIElmIHdlIG5vdGljZSB0aGF0IHdlIGdvIHBvbHkgcHJv
dG8sIHRoZW4gdGhpcyBmaWVsZCBlaXRoZXIgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUKKyAg
ICAvLyB0aGF0IGlzIGludmFsaWRhdGVkLiBJZiB3ZSBldmVyIGNvbnN0cnVjdCBhbiBvYmplY3Qg
d2hvJ3MgX19wcm90b19fIHBvaW50cyB0byB0aGlzIHByb3RvdHlwZSwgdGhlbgorICAgIC8vIHdl
IG1vdmUgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgdG8gdGhlIFN0
cnVjdHVyZSBvZiB0aGUgb2JqZWN0IHRoYXQgc2hvdWxkIGJlIGNyZWF0ZWQKKyAgICAvLyB0aGF0
IGhhcyBwb2x5IHByb3RvLgorICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3Ry
dWN0b3IoVk0mKTsKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSgpOworICAgIGJvb2wgbmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mKTsKKyAgICBi
b29sIG5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpOworICAgIHZvaWQgc2V0UG9seVByb3RvU3Ry
dWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CisgICAgU3RydWN0dXJlKiBwb2x5UHJvdG9TdHJ1Y3R1
cmUoVk0mKTsgLy8gTWF5IGJlIG51bGxwdHIgaWYgbm90IHBvbHkgcHJvdG8gb3IgcG9seSBwcm90
byBzdHJ1Y3R1cmUgaGFzIHlldCB0byBiZSBpbnN0YW50aWF0ZWQuCisgICAgYm9vbCBpc1BvbHlQ
cm90byhWTSYpOworCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2
LDYgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByZXZp
b3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOwog
ICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9pbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmU7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFw
PFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4sIFdURjo6SW50SGFzaDxQcm9w
ZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UHJvcGVydHlP
ZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3Bl
cnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9pbnRTZXRzOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIy
MjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5k
ZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAg
ICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFs
dWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4g
Z2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdl
dCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQo
KS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5p
c051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQo
KS5pc0dldHRlclNldHRlcigpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321360</attachid>
            <date>2017-09-20 13:55:03 -0700</date>
            <delta_ts>2017-09-20 15:08:28 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>91941</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
QEAgLTI2MCw2ICsyNjEsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfVU5JRklBQkxFX1NPVVJDRVMK
ICAgICBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiAgICAgYnl0ZWNvZGUvUHJvZ3Jh
bUNvZGVCbG9jay5jcHAKICAgICBieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKKyAgICBi
eXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKICAgICBieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAogICAgIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKICAgICBieXRlY29k
ZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzE1LDcgKzEzMTUs
NyBAQAogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUx
QjI2OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzIxRDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwICovOyB9OwogCQkzNzFEODQyRDE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5k
eWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
MUQ4NDJDMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICovOyB9OwotCQkzN0M3MzhEMjFF
REI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIwMDNGMkIwQiAvKiBQYXJzZUludC5o
ICovOyB9OworCQkzN0M3MzhEMjFFREI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIw
MDNGMkIwQiAvKiBQYXJzZUludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxMjk1Mjc3MUQyQ0Y2QkMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5l
cmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRp
bnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjk1Mjc4MUQyQ0Y2QkMwMEU3OEI4
OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9pbXBsZW1lbnRhdGlvbi5w
eSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjk1Mjc0
MUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9p
bXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0MTI5NTI3OTFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVf
d3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTI5NTI3NTFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfd3Jh
cHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTE1NTgsMTAgKzE1NTgsMTMgQEAKIAkJNzlCMDBDQkUxQzZBQjA3RTAwODhDNjVE
IC8qIFByb3h5T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5QjAwQ0JBMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5jcHAgKi87
IH07CiAJCTc5QjAwQ0JGMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCMDBDQkIxQzZBQjA3RTAw
ODhDNjVEIC8qIFByb3h5T2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzlCMTc4OEUxRDM5OUI4MDAwQjFBNTY3IC8qIEpJVE1hdGhJQ0Zv
cndhcmRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUE4OTlGRTFEMzg2MTJFMDBEMThDNzMgLyogSklUTWF0aElDRm9yd2FyZHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OUI1MjlGNjFGNzI1NTRG
MDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTc5QjUyOUY3MUY3MjU1NEYwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUI1MjlGNTFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovOyB9
OwogCQk3OUI3NTk3NDFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTcx
MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtTWVtb3J5SW5mb3JtYXRpb24uY3BwICovOyB9OwogCQk3
OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2MDAwNTIxNzRDIC8q
IFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNvdW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCODE5OTMxREQy
NUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNGNTAwRERDNzE0IC8q
IEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNo
VmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNh
dGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5QzRCMTVFMUJBMjE1
OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QzFCQTIx
NThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5Q0ZDNkYw
MUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBDNzY4RUEgLyogTExJ
bnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC00MTc5LDEwICs0MTgyLDEzIEBACiAJCTc5QjAwQ0I5MUM2QUIwN0UwMDg4QzY1RCAv
KiBQcm94eUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBy
b3h5Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCMDBDQkEx
QzZBQjA3RTAwODhDNjVEIC8qIFByb3h5T2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFByb3h5T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzlCMDBDQkIxQzZBQjA3RTAwODhDNjVEIC8qIFByb3h5T2JqZWN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3h5T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OUI1MjlGNTFGNzI1NTRFMDA5
MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3OUI3NTk3MTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9y
bWF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21NZW1v
cnlJbmZvcm1hdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5Qjc1OTcy
MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtTWVtb3J5SW5mb3JtYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbU1lbW9yeUluZm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21QYWdlQ291bnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCODE5OTIxREQyNUNGNTAwRERDNzE0IC8q
IEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0dsb2JhbE9iamVjdElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzlCQTIxQTUxRjcwNzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlDNEIxNUIxQkEyMTU4RjAw
RkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVz
ZXJ2YXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2
YXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVDMUJB
MjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJl
c2VydmF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5Q0ZDNkVGMUMzM0Ix
MDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IExMSW50UENSYW5nZXMuaDsgcGF0aCA9IGxsaW50L0xMSW50UENSYW5nZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc4MzQsNiArNzg0MCw3IEBACiAJCQkJMTRBRDkx
MTMxRENBOTdGRDAwMTRGOUZFIC8qIE1vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwICovLAogCQkJ
CTE0QUQ5MTA5MURDQTkyOTQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmggKi8s
CiAJCQkJMTRDQTk1OEMxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmggKi8sCisJCQkJNzlCQTIxQTUxRjcwNzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmNwcCAqLywKIAkJCQkwRkQzRTQwMzFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uY3BwICovLAogCQkJCTBGRDNFNDA0MUI2MThCNjYwMEM4MEUxRSAvKiBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAogCQkJCTBGRDNFNDA1MUI2MThCNjYwMEM4MEUx
RSAvKiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAgKi8sCkBAIC03ODUxLDYgKzc4NTgs
OCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmgg
Ki8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNw
cCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24u
aCAqLywKKwkJCQk3OUI1MjlGNTFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uY3BwICovLAorCQkJCTc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3Mu
aCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAg
Ki8sCkBAIC05MDM4LDYgKzkwNDcsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAv
KiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0
RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3OUI1MjlGNjFGNzI1NTRGMDA5MjMyRTAgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0
OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIElu
dGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDYxOSw2ICsx
MDYyOSw3IEBACiAJCQkJMEZFQTBBMUUxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjcxODdERkRFQzAwODNC
Njg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEw
QTA5MTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNzlCQTIxQTYxRjcwNzAyNDAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExD
b21tb25WYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZCMzg3OTIxQkZEMzFBMTAwRTNB
QjFFIC8qIEZUTENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RDRDMEMxQzNFMUMx
MTAwNkNEOTg0IC8qIEZUTEV4Y2VwdGlvblRhcmdldC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEw
OTUyLDYgKzEwOTYzLDcgQEAKIAkJCQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJz
ZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3OTJDQjM0OTFDNEVFRDVDMDBEMTNBRjMg
LyogUENUb0NvZGVPcmlnaW5NYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzlCNTI5RjcxRjcy
NTU0RjAwOTIzMkUwIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1QUI0OURDMUJFQzgwODIwMDcwMjBGQiAvKiBQZXJHbG9iYWxPYmplY3RXcmFwcGVyV29y
bGQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGOUNFNzMxQjlDRDZEMDAwNEVEQ0E2IC8qIFBv
bHltb3JwaGljQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRTgzNDE3MUE2RUY5N0Iw
MEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTUgKzQ5LDE4IEBACiAjaW5jbHVkZSAi
U3VwZXJTYW1wbGVyLmgiCiAjaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAKKyNpbmNsdWRl
ICJNYWNyb0Fzc2VtYmxlclByaW50ZXIuaCIKKwogbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFj
ZSBBY2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNl
OwogfQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNz
Q2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUodHlwZSkKICAgICAsIG1fb2Zmc2V0
KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ocHJvdG90eXBlQWNjZXNzQ2hh
aW4pCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJl
KTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsKQEAgLTE1MSw2ICsxNTQsOSBA
QCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYgKHZpYVBy
b3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluLm1faGFzUG9seVByb3RvKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0
Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5n
dGg6CkBAIC0zNzIsMjYgKzM3OCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1
YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsK
LSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJh
bmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlw
ZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQotICAgICAgICAgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9m
ZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAg
ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBl
QWNjZXNzQ2hhaW4ubV9oYXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiR2Vu
ZXJhdGluZyBwb2x5IHByb3RvIGxvYWQhIik7CisgICAgICAgICAgICBqaXQucHJpbnQoIkRvaW5n
IHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9y
QWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRl
LmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ubV9jaGFpbi5zaXplKCk7ICsraSkgewor
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogcyA9IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ubV9j
aGFpbltpXTsKKyAgICAgICAgICAgICAgICBib29sIGF0RW5kID0gaSArIDEgPT0gbV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi5tX2NoYWluLnNpemUoKTsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAg
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIEpTQ2Vs
bDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzKSk7Cisg
ICAgICAgICAgICAgICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3R5
cGUgPT0gTWlzcyAmJiAhcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHMtPnBvbHlQcm90b09mZnNldCgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zm
c2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIs
IG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIE9PUFM6IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBuZWVkZWQg
aWYgd2UgdHJhbnNpdGlvbiBvbiBzZXR0aW5nIHRoZSBwcm90b3R5cGUuCisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6
Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZh
bHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlw
ZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQ
Uik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRS
ZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6
RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVl
TnVsbCkpKTsgLy8gT09QUzogdGhpcyBpc24ndCBuZWVkZWQgaWYgd2Ugc3RpbGwgdHJhbnNpdGlv
biBvbiBzZXR0aW5nIG91ciBwcm90b3R5cGUuCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVy
ZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0
dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAg
ICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0
KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
UHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0
cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkp
LCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAg
ICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDYzLDYgKzUwNyw3IEBAIHZvaWQg
QWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgY2FzZSBNaXNzOgorICAgICAgICAvLyBPT1BTOgogICAgICAgICBqaXQubW92ZVRydXN0ZWRW
YWx1ZShqc1VuZGVmaW5lZCgpLCB2YWx1ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNjZWVkKCk7
CiAgICAgICAgIHJldHVybjsKQEAgLTUwNCwxMyArNTQ5LDE4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6
Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBiYXNl
R1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBpZiAoIW1f
Y29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUoCi0gICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksCi0g
ICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7Ci0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BS
ID0gc2NyYXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNz
R1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4u
bV9oYXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNo
R1BSOyAvLyB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQhIE9PUFM6IHRoaXMgaXMgdWdseS4KKyAgICAg
ICAgICAgIGppdC5wcmludCgiRG9pbmcgcG9seSBwcm90byBsb2FkIVxuIik7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAg
ICAgICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwKKyAgICAgICAgICAgICAgICAgICAgc2Ny
YXRjaEdQUik7CisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7
CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0g
YmFzZUZvckdldEdQUjsKKyAgICAgICAgfQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQ
UiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0
ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21W
YWx1ZVNldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIy
MTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29y
a2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGlu
ZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUg
IlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKQEAgLTE4Nyw3ICsxODgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB+QWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluKCkpOwogICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVm
YXVsdDsKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVs
ZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0ZSA9IFByaW1vcmRpYWw7IH0KQEAg
LTIyNyw2ICsyMjgsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
c3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25T
ZXQ7CisKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lv
biAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3Bh
Y2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJi
b3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFj
Y2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJh
c2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRl
clNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwg
UHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZt
LCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlh
UHJveHksIGFkZGl0aW9uYWxTZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fY3Vz
dG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQog
CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpj
cmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwKLSAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBj
dXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01B
dHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
CisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJh
c2UsCisgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1
dGUsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3
aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsNyArNjMsNyBAQCBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQs
IGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBjdXN0b21TbG90QmFzZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICByZXN1bHQtPm1f
ZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nv
ci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKQEAg
LTc0LDcgKzc0LDggQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlcgog
ICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBTZXR0
ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vzc29y
U2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVz
dWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7
CisgICAgLy8gT09QUzogZG8gc29tZXRoaW5nIGhlcmUKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZt
LCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51
bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKSk7CiAgICAgcmVz
dWx0LT5tX2N1c3RvbUFjY2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4g
V1RGTW92ZShyZXN1bHQpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIxODAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMSArNDksOCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCiAgICAgICAg
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNl
ID0gbnVsbHB0ciwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9u
PiA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jID0gbnVsbHB0ciwKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0
ciwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCwg
UHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKIAogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCiAgICAgICAgIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmMgPSBudWxscHRyLApAQCAtNjcsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9t
QWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBw
cml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
LCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vz
c0NoYWluKTsKIAogICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZSYpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIK
KworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRp
YWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVy
LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBK
U0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAg
ICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwor
CisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgeworICAg
ICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSkt
PnJhcmVEYXRhKCktPnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAg
ICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9y
Rm9yKEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KSk7CisKKyAg
ICAgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgICAgICAgICAgbV9zdHJ1Y3R1
cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG1faW5saW5lQ2FwYWNp
dHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3RydWN0b3Ip
IHsKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2FsbCBpbnRvIGEgZGlmZmVyZW50IHByb3Rv
dHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMgcG9seSBwcm90bywgdGhhdCB3YXksCisg
ICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVudGFsbHkgZ2V0IGEgcG9seSBwcm90byBz
dHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlw
ZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAgICAgICBpZiAocmFyZURh
dGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAgcmFyZURhdGEtPmVu
c3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICBpZiAoSW5mZXJyZWRWYWx1ZSog
aW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCBy
YXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkpKSB7Cisg
ICAgICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29uc3RydWN0
b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlIik7CisgICAgICAgICAgICBpc1BvbHlQcm90byA9IGluZmVycmVkQ29uc3RydWN0b3ItPmhh
c0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9CisgICAgICAgIC8vIE9PUFM6IHdlIGtub3cg
aGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhhdCdzIHBvbHkgcHJvdG8uIFdlIHNob3Vs
ZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAvLyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBh
bHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUgcmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNl
IGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAw
OworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0
IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAg
ICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkg
b2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0
IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9u
LiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0
eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVs
dCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVy
biBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlm
IChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BTOiBsZXRzIGNvbW11bmljYXRlIHRoaXMg
dG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFzc2VydGluZyBpdCBnZXRzIGFuIGlubGlu
ZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0
eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBB
U1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0
aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3Ig
PSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKyAgICAKKyAgICAv
LyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRo
ZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3Ag
PSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRl
QmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAg
ICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90
b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3Ro
ZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3Jl
YXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CisKKyAgICBtX2FsbG9jYXRvciA9IGFs
bG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAg
IG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBK
U09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5n
bG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVB
cnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3lt
Ym9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVy
dHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1v
ZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHBy
b3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1l
VmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGly
ZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBh
cmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBu
b3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZt
LCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisg
ICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3Ry
dWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25l
ZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9j
YXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1f
aW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsK
LSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZh
dWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUg
b2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBl
KTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAg
ICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0
YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVh
bCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0
aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBn
dWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAg
ICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJl
ZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNh
cGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAg
ICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAg
ICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6
OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9y
KiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsK
LSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBh
Y2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3Ip
IHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFs
bG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0
eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAg
ICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAu
ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRo
cmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQK
LSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9
IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJl
KTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAg
ICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAgIHsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAK
IHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZN
JiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUg
PT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAg
ICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9w
ZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0
cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHBy
b3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBw
cm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5h
bWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJv
cGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVy
dHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24s
IGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlk
ZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1
ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0K
LSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBv
c3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsK
IAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1h
a2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJl
dmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1OCw2ICsyNTgsMTEg
QEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAg
ICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAg
cmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0K
KworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAg
ICAgICAgIC8vIE9PUFM6IFdlIG5lZWQgc29tZSBzdG9yeSBoZXJlIG9mIGFuIGludGVybGVhdmlu
Zy4KKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxp
ZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0
dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgorCisjaW5j
bHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK1Byb3RvdHlwZUFjY2Vzc0No
YWluOjpQcm90b3R5cGVBY2Nlc3NDaGFpbihKU09iamVjdCogYmFzZSwgY29uc3QgUHJvcGVydHlT
bG90JiBzbG90KQoreworICAgIC8vIE9PUFM6IGNvbnNpZGVyIERPTSBwcm94eSBoZXJlLiBBbHNv
LCBwcm94eSBpbiB0aGUgcHJvdG90eXBlIGNoYWluPworCisgICAgSlNPYmplY3QqIGN1cnJlbnQg
PSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgSlNPYmplY3QqIHRhcmdl
dCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKworICAgIGJv
b2wgZm91bmQgPSBmYWxzZTsKKworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgbV9jaGFpbi5h
cHBlbmQoc3RydWN0dXJlKTsKKworICAgICAgICBtX2hhc1BvbHlQcm90byB8PSAhc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQp
IHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZShjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9
CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxk
IHRoaXMgYWN0dWFsbHkgY29tZSB1cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVl
ZCB0byBjb25zaWRlci4KKyAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAgfQorfQorCit9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsK
KworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7
CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRChQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nl
c3NDaGFpbigpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihjb25zdCBQcm90
b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQ
cm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hh
aW4oSlNPYmplY3QqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYpOworICAgIFByb3RvdHlwZUFj
Y2Vzc0NoYWluJiBvcGVyYXRvcj0oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0Owor
CisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1
Y3R1cmUgZm9yIG5vdywgYnV0IHBlcmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KKyAgICBi
b29sIG1faGFzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNWYWxpZCB7IHRydWUg
fTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFi
bGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFi
bGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFz
ZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQp
CitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCisg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFz
ZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAs
IG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJv
dG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5
cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJl
dHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nh
c2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
eHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
MywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nh
c2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNl
IEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxT
ZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3Jl
YXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2Us
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmlu
dFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBA
QCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAg
IFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVB
Y2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVj
dHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogCiBw
cml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDMwOCw2ICs0MzA4LDggQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9j
ayh1bnNpZ25lZAogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBvcF9jcmVhdGVfdGhpczogewor
ICAgICAgICAgICAgLy8gT09QUzogdGhpbmsgdGhyb3VnaCB0aGlzIGNvZGUuCisKICAgICAgICAg
ICAgIGludCBjYWxsZWVPcGVyYW5kID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsK
ICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlT3Bl
cmFuZCkpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAJKHJldmlz
aW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDggQEAKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMu
aCIKICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAorI2luY2x1ZGUgIlByb2Jl
Q29udGV4dC5oIgorCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0yMzEsNiArMjMzLDEwIEBAIHZv
aWQgSklUOjpjb21waWxlT3BDYWxsKE9wY29kZUlEIG9wY29kZUkKICAgICBjaGVja1N0YWNrUG9p
bnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKKwor
ICAgIC8vcHJvYmUoW10gKFByb2JlOjpDb250ZXh0JiBjdHgpIHsKKyAgICAvLyAgICBkYXRhTG9n
TG4oImNvbnN0cnVjdCByZXN1bHQ6ICIsIEpTVmFsdWU6OmRlY29kZShyZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4oY3R4LmdwcihyZWdUMCkpKSk7CisgICAgLy99KTsKICAgICAKICAgICBlbWl0
UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7CiB9CkBAIC0yNjAsNiArMjY2LDEwIEBAIHZvaWQg
SklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UoT3Bjb2RlSUQKICAgICBjaGVja1N0YWNrUG9pbnRl
ckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKKworICAg
IHByb2JlKFtdIChQcm9iZTo6Q29udGV4dCYgY3R4KSB7CisgICAgICAgIGRhdGFMb2dMbigiY29u
c3RydWN0IHJlc3VsdDogIiwgSlNWYWx1ZTo6ZGVjb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihjdHguZ3ByKHJlZ1QwKSkpKTsKKyAgICB9KTsKICAgICAKICAgICBlbWl0UHV0Q2FsbFJl
c3VsdChpbnN0cnVjdGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw2ICs3NzAsOCBAQCB2b2lk
IEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVjdGlvCiAgICAgUmVnaXN0ZXJJRCBjYWNo
ZWRGdW5jdGlvblJlZyA9IHJlZ1Q0OwogICAgIFJlZ2lzdGVySUQgc2NyYXRjaFJlZyA9IHJlZ1Qz
OwogCisgICAgLy8gT09QUzogdGhpcyBpcyB3cm9uZyB3LyBwb2x5IHByb3RvIQorCiAgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3RlcihjYWxsZWUsIGNhbGxlZVJlZyk7CiAgICAgYWRkU2xvd0Nhc2Uo
YnJhbmNoOChOb3RFcXVhbCwgQWRkcmVzcyhjYWxsZWVSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBl
T2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoSlNGdW5jdGlvblR5cGUpKSk7CiAgICAgbG9hZFB0cihB
ZGRyZXNzKGNhbGxlZVJlZywgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURh
dGFSZWcpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lv
biAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgUHJvdG90
eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNo
ZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFz
ZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsMzggQEAgc3RhdGljIElubGluZUNh
Y2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5
U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1
Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFi
c2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAg
ICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwor
ICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbihq
c0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCksIHNsb3QpOworICAgICAgICAgICAgaWYgKCFwcm90
b3R5cGVBY2Nlc3NDaGFpbi5tX2lzVmFsaWQpIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG4o
InByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gaXMgbm90IHZhbGlkISIpOworICAgICAgICAgICAgICAg
IC8vIE9PUFM6IFRoaXMgb2J2aW91c2x5IGlzIG5vdCBjb3JyZWN0LgorICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0
eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJl
LCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBs
KCkpOworICAgICAgICAgICAgICAgIGRhdGFMb2dMbigiVmFsaWQgcHJvdG90eXBlIGFjY2VzcyBj
aGFpbiEiKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG4oInByb3RvdHlwZSBhY2Nlc3MgY2hh
aW4gaGFzIHBvbHkgcHJvdG86ICIsIHByb3RvdHlwZUFjY2Vzc0NoYWluLm1faGFzUG9seVByb3Rv
KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRp
b25TZXQuaXNWYWxpZCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwog
Ci0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBj
b25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIGlm
ICghcHJvdG90eXBlQWNjZXNzQ2hhaW4ubV9oYXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAg
ICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgp
KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRp
b25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5z
bG90QmFzZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQu
aXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAg
ICAgICAgICAgIH0KKworCisgICAgICAgICAgICAvLyBPT1BTOiBhcmUgdGhlc2UgZXhwcmVzc2lv
biBlcXVpdmFsZW50PworICAgICAgICAgICAgLy9vZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGlu
dmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsK
KyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNs
b3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0
ZXIgPSBudWxscHRyOwpAQCAtMjk5LDcgKzMxNiw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5p
c0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBu
ZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3Qu
aXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAg
ICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRG
cm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53
YXRjaHBvaW50U2V0KCksIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAg
ICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzMzLDcg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAg
ICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNo
cG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIo
KSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20o
KSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0
dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZp
c2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1
bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50
cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0
ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNP
YmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJm
bHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwg
bGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgp
LT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBA
IENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29t
ZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMg
b2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9u
J3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3Vt
ZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3Qo
KS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91
bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAg
ICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVz
dWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdU
eXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBD
bG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBB
U1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1
Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3Ry
dWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93
UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhN
YWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBB
cmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVh
dGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwot
ICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7
CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhy
ZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xv
bmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5z
aWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChl
eGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQt
PnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDIsNiArMjQyLDEyIEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVf
dGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVj
LCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgp
OwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUp
OworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAg
ICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgp
LCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwor
ICAgICAgICAgICAgLy8gT09QUzogaXMgdGhpcyByaWdodD8KKyAgICAgICAgICAgIGNhY2hlV3Jp
dGVCYXJyaWVyLnNldFdpdGhvdXRXcml0ZUJhcnJpZXIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxs
ZWVPYmplY3RzKCkpOworICAgICAgICB9CisgICAgICAgIGRhdGFMb2dMbigiY3JlYXRlX3RoaXMg
cmVzdWx0OiAiLCBKU1ZhbHVlKHJlc3VsdCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0
dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3Jl
YXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFz
T2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3Bw
CShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlv
blJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJl
RGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNh
cGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCog
cHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9y
KQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFs
T2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFy
ZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29y
a2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNv
bnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90
IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3
LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1Ywog
ICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNP
YmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQ
b2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZs
eSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAg
ICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIp
Iik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3Ry
dWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91
dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0
LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAg
ICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXND
ZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6
ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNU
cnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMzUsNyArMTM1LDcgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2Nh
dGVBbgogICAgIGlmICghcHJvdG90eXBlKQogICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmpl
Y3QtPm9iamVjdFByb3RvdHlwZSgpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0g
RnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAK
ICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byByZWFkIHRo
ZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJv
cGVybHkgYWxsb2NhdGVkCkBAIC0xNTMsNyArMTUzLDcgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNG
dW5jdGlvbjo6aW5pdGlhbGl6ZQogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0
aGlzLT5nbG9iYWxPYmplY3Qodm0pOwogICAgIGlmICghcHJvdG90eXBlKQogICAgICAgICBwcm90
b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEt
PmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM0MSw2
ICszNDEsMTggQEAgRW5jb2RlZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJ
TGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlciIp
KSk7CiB9CiAKK3N0YXRpYyB2b2lkIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKFZNJiB2
bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1ZSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7Cisg
ICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJv
dG90eXBlVmFsdWUpOworICAgIGlmICghcHJvdG90eXBlKQorICAgICAgICByZXR1cm47CisgICAg
U3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5l
bnN1cmVSYXJlRGF0YSh2bSk7CisgICAgaWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3Ry
dWN0b3IoKSkKKyAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0p
OworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWlj
Q2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUoKSkpCisgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlm
eVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5j
dGlvbiIpOworfQorCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVj
dCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtNDUyLDYg
KzQ2NCw3IEBAIGJvb2wgSlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1MKICAgICAg
ICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09i
amVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBnZXRTbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmpl
Y3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVh
cigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAg
aW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIHZhbHVlLCB0aGlzT2JqZWN0KTsKICAg
ICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmpl
Y3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIH0KQEAgLTUxOCw2ICs1
MzEsOCBAQCBib29sIEpTRnVuY3Rpb246OmRlZmluZU93blByb3BlcnR5KEpTT2JqCiAgICAgICAg
IHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmpl
Y3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5t
X3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0
b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGlmIChk
ZXNjcmlwdG9yLnZhbHVlKCkpCisgICAgICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5l
ZWRlZCh2bSwgZGVzY3JpcHRvci52YWx1ZSgpLCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUu
cmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3duUHJvcGVydHkob2JqZWN0
LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHRocm93RXhjZXB0aW9uKTsKICAgICB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZp
c2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJ
bmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9i
ai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAg
ICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmli
dXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSkt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBv
YmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lLCB0aGlzKSB8fCBv
YmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29w
ZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0
ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZs
eSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1B
WF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5k
ZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3Bl
cnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpOworICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KHRoaXMpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHBy
b3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTEx
LDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAK
ICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZs
eSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJm
bHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVy
ZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5l
d1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1
Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlz
KSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQs
IG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRV
bmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRl
Y2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRo
aXMpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91
YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMy
VG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250
aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZt
KQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERv
dWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0
b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uo
dm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7Cisg
ICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Q
cm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250
aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNp
ZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAg
ICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAKQEAgLTE0
NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVEb3VibGUK
ICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktf
SU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAg
IGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3Vv
dXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsK
ICAgICAgICAgCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8
IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAg
IHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5n
U2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRv
QXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAg
ICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAog
ICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRl
eGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVU
b0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
LSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
KyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlz
KSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtKTsK
ICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzYsNyArMTYzNiw3IEBAIHZvaWQgSlNPYmpl
Y3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVy
ZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZt
KSwgcHJvdG90eXBlKTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAg
Ci0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKKyAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyh0aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIAog
ICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhpcykpIHsKQEAgLTI3MjYsNyAr
MjcyNiw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAg
ICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFn
ZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFy
cmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkgewogICAgICAgICAgICAgLy8gQ29udmVydCB0
aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xvd1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnkuCiAg
ICAgICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5n
dGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRoaXMs
IGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7CkBAIC0yODc4LDcgKzI4NzgsNyBAQCBib29s
IEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJleW9uCiAgICAgICAgICAgICByZXR1cm4g
cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAg
ICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJheVN0
b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3Rv
cmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgw
LCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV92ZWN0b3JbaV0uc2V0KHZt
LCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9y
Kys7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlz
aW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTg2Niw3ICs4NjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAg
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2
bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwo
KSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkp
KTsKKyAgICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8ICFzdHJ1
Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFw
OjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7IC8vIE9PUFMgZmluZCBhIHdheSB0byBtYWtl
IHRoaXMgd29yawogICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAg
ICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMjk4LDcgQEAg
aW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1
ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3Ry
dWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJv
dG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDAwLDggQEAgQUxX
QVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7
CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1
Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICAvLyBPT1BTOiBUaGlzIGNvZGUgbG9va3Mgd3Jvbmc/IFdoeSBkb2Vzbid0IGl0IGNh
bGwgdGhlIGdldFByb3RvdHlwZSBmdW5jdGlvbiBob29rPworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICgh
cHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0
ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5l
Rm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUo
dm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1
cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFt
ZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlw
ZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0KSk7
CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4o
dm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5
cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJl
YWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJl
LmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xh
enlDbGFzc1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHB1Ymxp
YzoKICAgICAKICAgICBKU09iamVjdCogcHJvdG90eXBlKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWwpIGNvbnN0CiAgICAgeworICAgICAgICAvLyBPT1BTLiBtYWtlIHN1cmUgaXQncyBvbmx5
IEpTR2xvYmFsT2JqZWN0IHRoYXQgYWNjZXNzZXMgdGhpcy4KICAgICAgICAgQVNTRVJUKCFpc0Nv
bXBpbGF0aW9uVGhyZWFkKCkpOwogICAgICAgICByZXR1cm4gZ2V0KGdsb2JhbCktPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOwogICAgIH0KQEAgLTEwMSwxMyArMTAyLDYgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAot
ICAgIEpTT2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAg
ICAgICByZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNv
bmN1cnJlbnRseSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5n
ZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMu
Y3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYgKzE0MywxMSBAQCBzaXplX3Qg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lCiAgICAgd2hpbGUgKDEpIHsKICAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQ
cm90b3R5cGVDaGFpbjsKKworICAgICAgICAvLyBPT1BTOiB0aGlzIGRlZmluaXRlbHkgbmVlZHMg
c29tZSBtb3JlIHRob3VnaHQKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAg
ICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUp
OwogICAgICAgICBpZiAodi5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAko
cmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90
eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsOSArNjIsMjkgQEAgaW5saW5lIFN0cnVj
dHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbQogICAgICAgICByZXR1cm4gc3RydWN0dXJlOwog
ICAgIH0KIAorICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKwogICAgIGFkZFByb3Rv
dHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpj
cmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKKyAgICBpZiAocHJvdG90eXBlLT5z
dHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRh
KiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKTsKKyAgICAg
ICAgaWYgKEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0g
cmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSB7Cisg
ICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBwb2x5UHJvdG9TdHJ1Y3R1cmUgPSByYXJlRGF0YS0+
cG9seVByb3RvU3RydWN0dXJlKHZtKSkgeworICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gcG9seVByb3RvU3RydWN0dXJlOworICAgICAgICAgICAgfSAKKworICAgICAgICAgICAgaWYg
KHJhcmVEYXRhLT5uZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgICAgICAgICAgU3Ry
dWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8s
IGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICAg
ICAgcmFyZURhdGEtPnNldFBvbHlQcm90b1N0cnVjdHVyZSh2bSwgc3RydWN0dXJlKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoIXN0cnVjdHVyZSkgeworICAgICAg
ICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVj
dHVyZT4oc3RydWN0dXJlKSk7CiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KQEAgLTczLDcgKzkz
LDcgQEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8v
IFdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lz
IGZvciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhh
dmUgYSBkZWZhdWx0IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRl
eGluZ1R5cGUgPSBiYXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90
eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHBy
b3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMocHJvdG90eXBlKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUp
KQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBlICYgfkluZGV4aW5nU2hhcGVN
YXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAogICAgIHJldHVybiBjcmVhdGVFbXB0
eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUlu
Zm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9u
IDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShW
TSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVy
ZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNp
dHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJl
dmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHBy
ZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5t
X2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQog
ICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKQEAgLTI5NSw2ICsyOTUsMjggQEAgdm9pZCBT
dHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVy
ZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBj
b25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGlu
Z1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIGRhdGFMb2dMbigiTWFraW5nIHBvbHkgcHJv
dG8gc3RydWN0dXJlOiAiLCBSYXdQb2ludGVyKHJlc3VsdCkpOworCisgICAgdW5zaWduZWQgb2xk
T3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7IC8vIE9PUFM6
IG1heWJlIHRoaXMgc2hvdWxkIGFsd2F5cyBzdGFydCBhcyB6ZXJvPworICAgIHJlc3VsdC0+YWRk
UHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3BlcnR5TmFtZXMt
PnVuZGVyc2NvcmVQcm90bywgRG9udEVudW0sCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29u
Y3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBu
ZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91
dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsK
KyAgICAgICAgICAgIC8vIE9PUFM6IGxldHMgbWFrZSBhIGRpZmZlcmVudCBjdG9yIGZvciB0aGlz
IHZhcmlhbnQgb2YgcG9seSBwcm90bywgc2luY2UgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUgCisg
ICAgICAgICAgICAvLyBhbHJlYWR5IGtub3dzIHdoZW4gaXQncyBtYWtpbmcgYSBwb2x5IHByb3Rv
IHZhcmlhbnQuCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZz
ZXQpKTsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiU2V0dGluZyBtX3Byb3RvdHlwZSB0bzogIiwg
anNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2
bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0TGFz
dE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6
YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1
Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0dXJlcy5p
c0VtcHR5KCkpOwpAQCAtMzk4LDE3ICs0MjAsMTkgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFk
ZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25z
dCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5t
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5z
dHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUzogTGV0J3MganVzdCBwdXQgdGhpcyBvbiBKU09i
amVjdD8KKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0
KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZt
KS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCk7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJv
dG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3Qo
cHJvdG90eXBlKS0+c3RydWN0dXJlKCk7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90
b3R5cGUpOwogICAgIH0KIH0KIApAQCAtNDM2LDE1ICs0NjAsMTYgQEAgYm9vbCBTdHJ1Y3R1cmU6
OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBT
dHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpu
ZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4g
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2Ug
dGhpcyBKU09iamVjdCogbWV0aG9kPworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKGJhc2UpCiAgICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5p
c0hhdmluZ0FCYWRUaW1lKCk7CiB9CiAKLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6
OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAorTm9uUHJvcGVydHlUcmFu
c2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVj
dCogYmFzZSkgY29uc3QKIHsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICBp
ZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoYmFzZSkpIC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBh
IEpTT2JqZWN0KiBtZXRob2QKICAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6
QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIAogICAgIHJldHVybiBOb25Qcm9wZXJ0
eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwpAQCAtMTEyMSwyMCArMTE0NiwyNCBA
QCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorYm9vbCBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUsIEpTT2JqZWN0KiBiYXNlKQogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0
cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0
KiBtZXRob2QuCisKICAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICBy
ZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAg
ICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhi
YXNlKTsKICAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAg
ICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICAvLyBPT1BTOiBN
YXliZSB0aGlzIG5lZWRzIHNvbWUgY2xvc2VyIGF0dGVudGlvbiwgYnV0IEknbSBub3Qgc3VyZSBo
b3cgd2UgY2FuIHNheQorICAgICAgICAvLyBtdWNoIGFib3V0IG91ciBwcm90b3R5cGUgY2hhaW4g
d2l0aG91dCBrbm93aW5nIGNvbnN0YW50IHByb3RvdHlwZSB2YWx1ZXMuLi4KKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAg
aWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7
CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwogICAgICAgICAKICAgICAg
ICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0g
Y3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51bSBQb2x5UHJvdG9UYWcgeyBQ
b2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5m
byosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDAp
OworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENs
YXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0xMzgsNyArMTQwLDcgQEAgcHJvdGVj
dGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBB
U1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3Qo
KSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5p
c09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIo
KSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENyZWF0aW5nRWFy
bHlDZWxsVGFnKQpAQCAtMjQwLDE5ICsyNDIsMzcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
ISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpICYgTWF5SGF2ZUluZGV4ZWRBY2Nlc3Nv
cnMpOwogICAgIH0KICAgICAgICAgCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKEpTT2JqZWN0KikgY29uc3Q7CiAgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUoVk0mKSBjb25zdDsKICAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygp
IGNvbnN0OwotICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVj
dCopIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsg
fQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmlu
ZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9i
amVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5j
aCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFs
T2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3Rv
dHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlz
SW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAg
IHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAg
ICAvLyBPT1BTLiBtYXliZSBkZWJ1ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAgcmV0dXJuIG1f
cHJvdG90eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZz
ZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3Rv
dHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAg
ICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsK
KyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29u
c3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmpl
Y3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25z
dDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAg
IEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwpAQCAtMjc0LDEy
ICsyOTQsMjUgQEAgcHVibGljOgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImKTsK
ICAgICAgICAgCiAgICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJjZXB0
IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBKU19F
WFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYs
IFByb3BlcnR5TmFtZSwgSlNPYmplY3QqKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkg
Y29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVE
YXRhLmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBj
b25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5n
ZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZN
JiB2bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFs
bG9jYXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAg
ICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBAIC03MzIsMTIg
Kzc2NSw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVy
ZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSog
cmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwot
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3Vz
T3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWls
c0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBj
b25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5j
eSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
Q2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBA
IHByb3RlY3RlZDoKICAgICAgICAgCiAgICAgICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAg
ICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOworICAgICAgICAvLyBPT1BTOiBJIHRo
aW5rIHdlIG1heSBuZWVkIGEgd3JpdGUgYmFycmllciBoZXJlIG9mIHx0aGlzfC4KICAgICB9CiAK
IHByaXZhdGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJ
bmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYx
LDcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUg
SlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAg
ICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1
ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CkBAIC02OSw2ICs3MCw3IEBAIGlubGluZSBKU09iamVjdCogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQ
cm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNDAw
LDkgKzQwMiwzOSBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAg
ICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBT
dHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkK
K0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQ
cm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5
QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CisKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1
Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAorewor
ICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMg
ZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0
dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdl
dCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUu
Z2V0KCkuYXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOwor
fQorCitBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9i
amVjdChjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJU
KG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAg
IGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIo
KSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQz
MigpOworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworICAg
IGlmIChwcm90by5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJu
IGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0
Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmpl
Y3QpKQorICAgICAgICByZXR1cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxs
cHRyOworfQogICAgIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAy
MjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0
YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1
cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVX
YXRjaHBvaW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJK
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1
ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6dmlzaXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJl
dmlvdXMpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdW
YWx1ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Io
KSBjb25zdApAQCAtMTc1LDYgKzE3Nyw1MyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0pT
VmFsdWUgU3RydWN0dXJlUmFyZURhdGE6OmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSgpCit7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlLmdldCgpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc1BvbHlQ
cm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9y
T3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBp
bmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIGlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkpCisgICAgICAgIHJldHVybiBp
bmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICBBU1NFUlQoaW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmFzQ2VsbCgpLT5pbmhlcml0cyh2
bSwgU3RydWN0dXJlOjppbmZvKCkpKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cnVjdHVy
ZSogU3RydWN0dXJlUmFyZURhdGE6OnBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAg
SlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5p
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIGluZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURh
dGE6OmlzUG9seVByb3RvKFZNJiB2bSkKK3sKKyAgICByZXR1cm4gbmVlZHNQb2x5UHJvdG9TdHJ1
Y3R1cmUodm0pIHx8ICEhcG9seVByb3RvU3RydWN0dXJlKHZtKTsKK30KKworYm9vbCBTdHJ1Y3R1
cmVSYXJlRGF0YTo6bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkKK3sKKyAgICByZXR1cm4gIWlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworfQorCitJbmZlcnJlZFZh
bHVlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0p
Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKTsKKyAgICBJbmZlcnJlZFZhbHVlKiByZXN1bHQgPSBJbmZlcnJlZFZhbHVlOjpj
cmVhdGUodm0pOworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
LnNldCh2bSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFN0
cnVjdHVyZVJhcmVEYXRhOjpzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKK3sKKyAgICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0
aG9kcyBmb3IgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNs
YXNzZXMgLS0tLS0tLS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQ6Ok9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1
cmVSYXJlRGF0YSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNs
YXNzIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9i
amVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMjIg
QEAgcHVibGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlO
YW1lRW51bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51
bWVyYXRvcihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJl
IGEgdGhlIHN0cnVjdHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0
IG91ciBmdW5jdGlvbiBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVy
ZSBpcyB1cy4KKyAgICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1
Y3R1cmUgb2YgYW4gb2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAor
ICAgIC8vIG9mIGEgY29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdl
IHdhbnQgdG8gaW5mZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8v
IElmIHdlIGRvLCB0aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
IHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhCisgICAgLy8gSlNGdW5jdGlv
bi4gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIGZpZWxkIGVp
dGhlciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZQorICAgIC8vIHRoYXQgaXMgaW52YWxpZGF0
ZWQuIElmIHdlIGV2ZXIgY29uc3RydWN0IGFuIG9iamVjdCB3aG8ncyBfX3Byb3RvX18gcG9pbnRz
IHRvIHRoaXMgcHJvdG90eXBlLCB0aGVuCisgICAgLy8gd2UgbW92ZSBtX2luZmVycmVkQ29uc3Ry
dWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSB0byB0aGUgU3RydWN0dXJlIG9mIHRoZSBvYmplY3Qg
dGhhdCBzaG91bGQgYmUgY3JlYXRlZAorICAgIC8vIHRoYXQgaGFzIHBvbHkgcHJvdG8uCisgICAg
SW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIEpTVmFs
dWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgYm9vbCBu
ZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYpOworICAgIGJvb2wgbmVlZHNJbmZlcnJlZENvbnN0
cnVjdG9yKCk7CisgICAgdm9pZCBzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICBTdHJ1Y3R1cmUqIHBvbHlQcm90b1N0cnVjdHVyZShWTSYpOyAvLyBNYXkgYmUgbnVs
bHB0ciBpZiBub3QgcG9seSBwcm90byBvciBwb2x5IHByb3RvIHN0cnVjdHVyZSBoYXMgeWV0IHRv
IGJlIGluc3RhbnRpYXRlZC4KKyAgICBib29sIGlzUG9seVByb3RvKFZNJik7CisKICAgICBERUNM
QVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArOTMsNyBAQCBwcml2YXRlOgog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVy
PEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAg
IFdyaXRlQmFycmllcjxVbmtub3duPiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0
cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hw
b2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3Jl
cGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2
ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFs
dWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQog
ICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9Cisg
ICAgYm9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAg
Ym9vbCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBp
c0dldHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321378</attachid>
            <date>2017-09-20 15:08:28 -0700</date>
            <delta_ts>2017-09-20 17:33:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>92201</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
QEAgLTI2MCw2ICsyNjEsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfVU5JRklBQkxFX1NPVVJDRVMK
ICAgICBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiAgICAgYnl0ZWNvZGUvUHJvZ3Jh
bUNvZGVCbG9jay5jcHAKICAgICBieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKKyAgICBi
eXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKICAgICBieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAogICAgIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKICAgICBieXRlY29k
ZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzE1LDcgKzEzMTUs
NyBAQAogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUx
QjI2OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzIxRDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwICovOyB9OwogCQkzNzFEODQyRDE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5k
eWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
MUQ4NDJDMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICovOyB9OwotCQkzN0M3MzhEMjFF
REI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIwMDNGMkIwQiAvKiBQYXJzZUludC5o
ICovOyB9OworCQkzN0M3MzhEMjFFREI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIw
MDNGMkIwQiAvKiBQYXJzZUludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxMjk1Mjc3MUQyQ0Y2QkMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5l
cmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRp
bnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjk1Mjc4MUQyQ0Y2QkMwMEU3OEI4
OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9pbXBsZW1lbnRhdGlvbi5w
eSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjk1Mjc0
MUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9p
bXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0MTI5NTI3OTFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVf
d3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTI5NTI3NTFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfd3Jh
cHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTE1NTgsMTAgKzE1NTgsMTMgQEAKIAkJNzlCMDBDQkUxQzZBQjA3RTAwODhDNjVE
IC8qIFByb3h5T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5QjAwQ0JBMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5jcHAgKi87
IH07CiAJCTc5QjAwQ0JGMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCMDBDQkIxQzZBQjA3RTAw
ODhDNjVEIC8qIFByb3h5T2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzlCMTc4OEUxRDM5OUI4MDAwQjFBNTY3IC8qIEpJVE1hdGhJQ0Zv
cndhcmRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUE4OTlGRTFEMzg2MTJFMDBEMThDNzMgLyogSklUTWF0aElDRm9yd2FyZHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OUI1MjlGNjFGNzI1NTRG
MDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTc5QjUyOUY3MUY3MjU1NEYwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUI1MjlGNTFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovOyB9
OwogCQk3OUI3NTk3NDFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTcx
MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtTWVtb3J5SW5mb3JtYXRpb24uY3BwICovOyB9OwogCQk3
OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2MDAwNTIxNzRDIC8q
IFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNvdW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCODE5OTMxREQy
NUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNGNTAwRERDNzE0IC8q
IEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNo
VmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNh
dGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5QzRCMTVFMUJBMjE1
OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QzFCQTIx
NThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5Q0ZDNkYw
MUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBDNzY4RUEgLyogTExJ
bnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC00MTc5LDEwICs0MTgyLDEzIEBACiAJCTc5QjAwQ0I5MUM2QUIwN0UwMDg4QzY1RCAv
KiBQcm94eUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBy
b3h5Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCMDBDQkEx
QzZBQjA3RTAwODhDNjVEIC8qIFByb3h5T2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFByb3h5T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzlCMDBDQkIxQzZBQjA3RTAwODhDNjVEIC8qIFByb3h5T2JqZWN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3h5T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OUI1MjlGNTFGNzI1NTRFMDA5
MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3OUI3NTk3MTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9y
bWF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21NZW1v
cnlJbmZvcm1hdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5Qjc1OTcy
MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtTWVtb3J5SW5mb3JtYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbU1lbW9yeUluZm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21QYWdlQ291bnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCODE5OTIxREQyNUNGNTAwRERDNzE0IC8q
IEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0dsb2JhbE9iamVjdElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzlCQTIxQTUxRjcwNzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlDNEIxNUIxQkEyMTU4RjAw
RkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVz
ZXJ2YXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2
YXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVDMUJB
MjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJl
c2VydmF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5Q0ZDNkVGMUMzM0Ix
MDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IExMSW50UENSYW5nZXMuaDsgcGF0aCA9IGxsaW50L0xMSW50UENSYW5nZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc4MzQsNiArNzg0MCw3IEBACiAJCQkJMTRBRDkx
MTMxRENBOTdGRDAwMTRGOUZFIC8qIE1vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwICovLAogCQkJ
CTE0QUQ5MTA5MURDQTkyOTQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmggKi8s
CiAJCQkJMTRDQTk1OEMxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmggKi8sCisJCQkJNzlCQTIxQTUxRjcwNzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmNwcCAqLywKIAkJCQkwRkQzRTQwMzFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uY3BwICovLAogCQkJCTBGRDNFNDA0MUI2MThCNjYwMEM4MEUxRSAvKiBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAogCQkJCTBGRDNFNDA1MUI2MThCNjYwMEM4MEUx
RSAvKiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAgKi8sCkBAIC03ODUxLDYgKzc4NTgs
OCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmgg
Ki8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNw
cCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24u
aCAqLywKKwkJCQk3OUI1MjlGNTFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uY3BwICovLAorCQkJCTc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3Mu
aCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAg
Ki8sCkBAIC05MDM4LDYgKzkwNDcsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAv
KiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0
RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3OUI1MjlGNjFGNzI1NTRGMDA5MjMyRTAgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0
OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIElu
dGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDYxOSw2ICsx
MDYyOSw3IEBACiAJCQkJMEZFQTBBMUUxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjcxODdERkRFQzAwODNC
Njg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEw
QTA5MTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNzlCQTIxQTYxRjcwNzAyNDAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExD
b21tb25WYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZCMzg3OTIxQkZEMzFBMTAwRTNB
QjFFIC8qIEZUTENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RDRDMEMxQzNFMUMx
MTAwNkNEOTg0IC8qIEZUTEV4Y2VwdGlvblRhcmdldC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEw
OTUyLDYgKzEwOTYzLDcgQEAKIAkJCQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJz
ZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3OTJDQjM0OTFDNEVFRDVDMDBEMTNBRjMg
LyogUENUb0NvZGVPcmlnaW5NYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzlCNTI5RjcxRjcy
NTU0RjAwOTIzMkUwIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1QUI0OURDMUJFQzgwODIwMDcwMjBGQiAvKiBQZXJHbG9iYWxPYmplY3RXcmFwcGVyV29y
bGQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGOUNFNzMxQjlDRDZEMDAwNEVEQ0E2IC8qIFBv
bHltb3JwaGljQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRTgzNDE3MUE2RUY5N0Iw
MEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTUgKzQ5LDE4IEBACiAjaW5jbHVkZSAi
U3VwZXJTYW1wbGVyLmgiCiAjaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAKKyNpbmNsdWRl
ICJNYWNyb0Fzc2VtYmxlclByaW50ZXIuaCIKKwogbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFj
ZSBBY2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNl
OwogfQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNz
Q2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUodHlwZSkKICAgICAsIG1fb2Zmc2V0
KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ocHJvdG90eXBlQWNjZXNzQ2hh
aW4pCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJl
KTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsKQEAgLTE1MSw2ICsxNTQsOSBA
QCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYgKHZpYVBy
b3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluLm1faGFzUG9seVByb3RvKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0
Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5n
dGg6CkBAIC0zNzIsMjYgKzM3OCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1
YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsK
LSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJh
bmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlw
ZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQotICAgICAgICAgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9m
ZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAg
ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBl
QWNjZXNzQ2hhaW4ubV9oYXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiR2Vu
ZXJhdGluZyBwb2x5IHByb3RvIGxvYWQhIik7CisgICAgICAgICAgICAvL2ppdC5wcmludCgiRG9p
bmcgcG9seSBwcm90byBhY2Nlc3MgY2hlY2tcbiIpOworICAgICAgICAgICAgR1BSUmVnIGJhc2VG
b3JBY2Nlc3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3Rh
dGUuYmFzZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5tX2NoYWluLnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzID0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5t
X2NoYWluW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRFbmQgPSBpICsgMSA9PSBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluLm1fY2hhaW4uc2l6ZSgpOworICAgICAgICAgICAgICAgIGZhbGxUaHJv
dWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlND
ZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHMpKTsK
KyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1f
dHlwZSA9PSBNaXNzICYmICFzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gcy0+cG9seVByb3RvT2Zmc2V0KCk7
CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChv
ZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQ
Uiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gT09QUzogSSBkb24ndCB0aGluayB0aGlzIGlzIG5lZWRl
ZCBpZiB3ZSB0cmFuc2l0aW9uIG9uIHNldHRpbmcgdGhlIHByb3RvdHlwZS4KKyAgICAgICAgICAg
ICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQo
VmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHMtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHMtPnN0b3JlZFBy
b3RvdHlwZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90
eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNz
R1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHMtPnBvbHlQcm90b09mZnNldCgpOworICAgICAg
ICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNl
dFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJz
OjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFs
dWVOdWxsKSkpOyAvLyBPT1BTOiB0aGlzIGlzbid0IG5lZWRlZCBpZiB3ZSBzdGlsbCB0cmFuc2l0
aW9uIG9uIHNldHRpbmcgb3VyIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0
dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1
Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAg
ICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2gu
YXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZz
ZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
MihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQo
KSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zm
c2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAg
ICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC00NjMsNiArNTA3LDcgQEAgdm9p
ZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICByZXR1cm47CiAK
ICAgICBjYXNlIE1pc3M6CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGppdC5tb3ZlVHJ1c3Rl
ZFZhbHVlKGpzVW5kZWZpbmVkKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0YXRlLnN1Y2NlZWQo
KTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTA0LDEzICs1NDksMTggQEAgdm9pZCBBY2Nlc3NDYXNl
OjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZvckdldEdQUiA9IGJh
c2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAgIGlmICgh
bV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgKLSAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwK
LSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NH
UFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nl
c3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFp
bi5tX2hhc1BvbHlQcm90bykgeworICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0
Y2hHUFI7IC8vIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCEgT09QUzogdGhpcyBpcyB1Z2x5LgorICAg
ICAgICAgICAgLy9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gbG9hZCFcbiIpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksCisgICAgICAgICAgICAgICAgICAg
IHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNo
R1BSOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQ
UiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFs
dWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVl
R2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3Vz
dG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9u
IDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25J
bmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNs
dWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODcsNyArMTg4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKKyAgICBBY2Nlc3NDYXNlKFZNJiwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbigpKTsKICAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmKSA9
IGRlZmF1bHQ7CiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9
IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9
CkBAIC0yMjcsNiArMjI4LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0
aW9uU2V0OworCisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2
aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFt
ZXNwYWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wg
dmVyYm9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAg
OiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJh
c2UsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFz
ZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBt
X2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsK
IH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8
RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNs
b3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0
cmlidXRlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDcgKzYzLDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFs
U2V0LCBjdXN0b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25h
bFNldCwgY3VzdG9tU2xvdEJhc2UsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgcmVzdWx0
LT5tX2RvbUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNj
ZXNzb3IuZ2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7
CkBAIC03NCw3ICs3NCw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0
ZXIKICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0g
U2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nl
c3NvclNldHRlcik7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+
IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFz
ZSkpOworICAgIC8vIE9PUFM6IGRvIHNvbWV0aGluZyBoZXJlCisgICAgc3RkOjp1bmlxdWVfcHRy
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNl
LCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSkpOwogICAg
IHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0
dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIy
MTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vz
c0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMTEgKzQ5LDggQEAgcHVibGljOgogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAg
ICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90
QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYyA9IG51bGxwdHIsCisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51
bGxwdHIsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxv
cHQsIFByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUsIFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LAogICAgICAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jID0gbnVsbHB0ciwKQEAgLTY3LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQqIGN1
c3RvbUFjY2Vzc29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7IH0K
IAogcHJpdmF0ZToKLSAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
KFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2lu
dFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9u
LmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpp
bml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBv
d25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7
CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5
KTsKKworICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsK
KyAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUo
dm0pLT5yYXJlRGF0YSgpLT5wb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7CisgICAgICAgICAgICB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsKKyAg
ICAgICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9j
YXRvckZvcihKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSkpOwor
CisgICAgICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICAgICAgICAgIG1fc3Ry
dWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBtX2lubGluZUNh
cGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVj
dG9yKSB7CisgICAgICAgIC8vIE9PUFM6IFByb2JhYmx5IGNhbGwgaW50byBhIGRpZmZlcmVudCBw
cm90b3R5cGVNYXAgZnVuY3Rpb24gaGVyZSB0aGF0IG1ha2VzIHBvbHkgcHJvdG8sIHRoYXQgd2F5
LAorICAgICAgICAvLyBubyBvbmUgZWxzZSBjYW4gYWNjaWRlbnRhbGx5IGdldCBhIHBvbHkgcHJv
dG8gc3RydWN0dXJlLgorICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90
b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgaWYgKHJh
cmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAgICAgICAgIHJhcmVEYXRh
LT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKyAgICAgICAgaWYgKEluZmVycmVkVmFs
dWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2
bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSkg
eworICAgICAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0
cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSIpOworICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBpbmZlcnJlZENvbnN0cnVjdG9y
LT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgfQorICAgICAgICAvLyBPT1BTOiB3ZSBr
bm93IGhlcmUgaWYgd2UncmUgZG9pbmcgc29tZXRoaW5nIHRoYXQncyBwb2x5IHByb3RvLiBXZSBz
aG91bGQgcHJvYmFibHkgY29udmV5IHRoYXQKKyAgICAgICAgLy8gaW5mb3JtYXRpb24gaGVyZSBh
bmQgYWxzbyBjb252ZXkgaWYgd2Uga25vdyB0aGF0IHdlJ3ZlIHJlc2VydmVkIGFuIGlubGluZSBz
cGFjZSBmb3IgdGhlIHByb3RvLgorICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRl
ZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKwor
ICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVt
cHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIg
anVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5j
dGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERl
ZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRv
IHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3Qu
CisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0
eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5
ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAg
ICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gT09QUzogbGV0cyBjb21tdW5pY2F0ZSB0
aGlzIHRvIHN0cnVjdHVyZSBjcmVhdGUuIEl0J3MganVzdCBhc3NlcnRpbmcgaXQgZ2V0cyBhbiBp
bmxpbmUgc2xvdC4KKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Cisg
ICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxs
b2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2Nh
dG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisgICAgCisg
ICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBp
biB0aGUgc2l6ZSBjbGFzcy4KKyAgICBpZiAoYWxsb2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBz
bG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihX
cml0ZUJhcnJpZXI8VW5rbm93bj4pOworICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwor
ICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0u
cHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBh
bm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5
IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgbV9hbGxvY2F0b3Ig
PSBhbGxvY2F0b3I7CisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsK
KyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9i
amVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2
bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlw
ZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlO
YW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0
ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFBy
b3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRp
b25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9y
JiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5
TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVj
dG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdl
dERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlv
bnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBh
cmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24q
Pih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsK
KworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFt
X3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9h
bGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJU
KCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9
IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsg
dGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3Rv
dHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAg
ICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRo
ZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhl
IHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBm
dW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmlu
YWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlm
IChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdl
YWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAg
ICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBp
bmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFj
aXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGlu
ZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxp
bmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAg
ICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0g
ICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVD
YXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2Jq
ZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9j
YXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6
ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUg
Y2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2Nh
dG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkg
LSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2Fw
YWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAg
ICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsK
LSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBl
TWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhl
ciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVh
dGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0
b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVj
dHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9
CisgICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGlj
OgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3Vu
dChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90
eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAg
ICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAg
UHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2Rl
OjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAg
ICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2
bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVy
dHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9
IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7
Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHBy
b3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29t
bW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3Zl
cnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwg
dmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50
OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25l
ZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlw
ZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0
byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3Bw
CShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4
LDExIEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAg
ICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAg
ICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7Cisg
ICAgICAgICAgICAvLyBPT1BTOiBXZSBuZWVkIHNvbWUgc3RvcnkgaGVyZSBvZiBhbiBpbnRlcmxl
YXZpbmcuCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6Omlu
dmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHN0
cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CiAgICAgICAgIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBl
QWNjZXNzQ2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKwor
I2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6UHJvdG90eXBlQWNjZXNzQ2hhaW4oSlNPYmplY3QqIGJhc2UsIGNvbnN0IFByb3Bl
cnR5U2xvdCYgc2xvdCkKK3sKKyAgICAvLyBPT1BTOiBjb25zaWRlciBET00gcHJveHkgaGVyZS4g
QWxzbywgcHJveHkgaW4gdGhlIHByb3RvdHlwZSBjaGFpbj8KKworICAgIEpTT2JqZWN0KiBjdXJy
ZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0
YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisKKyAg
ICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisgICAgICAgIG1fY2hh
aW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7
CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNj
ZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29s
LiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhp
bmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdy
ZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgbV9oYXNQb2x5UHJvdG8gfD0g
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShjdXJyZW50KTsKKyAgICAgICAgaWYg
KHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50
ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFy
Z2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxkIHRoaXMgYWN0dWFsbHkgY29tZSB1cCBmb3Ig
cmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVlZCB0byBjb25zaWRlci4KKyAgICAgICAgbV9p
c1ZhbGlkID0gZmFsc2U7CisgICAgfQorfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3Rl
bnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQ
cm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0No
YWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRChQcm90b3R5cGVBY2Nlc3NDaGFpbik7
CisKK3B1YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKyAgICBQ
cm90b3R5cGVBY2Nlc3NDaGFpbihjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVs
dDsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRl
ZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oSlNPYmplY3QqIGJhc2UsIGNvbnN0IFBy
b3BlcnR5U2xvdCYpOworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvcGVyYXRvcj0oUHJvdG90
eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0OworCisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1f
Y2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5vdywgYnV0IHBlcmhhcHMg
dGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KKyAgICBib29sIG1faGFzUG9seVByb3RvIHsgZmFsc2Ug
fTsKKyAgICBib29sIG1faXNWYWxpZCB7IHRydWUgfTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5j
cHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94
eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAg
ICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFs
U2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNz
Q2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJs
ZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBl
QWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3Mg
fHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJl
dHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIH0KIAogUHJveHlhYmxl
QWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lv
biAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNj
ZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBw
dWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFj
Y2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlh
UHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOwor
ICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQgPSBudWxscHRyLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWlu
KCkpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNv
bnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFj
Y2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBK
U0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogCiBwcml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94
eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMwOCw2ICs0MzA4LDggQEAg
Ym9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICB9CiAKICAg
ICAgICAgY2FzZSBvcF9jcmVhdGVfdGhpczogeworICAgICAgICAgICAgLy8gT09QUzogdGhpbmsg
dGhyb3VnaCB0aGlzIGNvZGUuCisKICAgICAgICAgICAgIGludCBjYWxsZWVPcGVyYW5kID0gY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9
IGdldChWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDgg
QEAKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJp
bnRTdHJlYW0uaD4KIAorI2luY2x1ZGUgIlByb2JlQ29udGV4dC5oIgorCiAKIG5hbWVzcGFjZSBK
U0MgewogCkBAIC0yMzEsNiArMjMzLDEwIEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsKE9wY29k
ZUlEIG9wY29kZUkKICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2Ft
cGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKKworICAgIC8vcHJvYmUoW10gKFByb2JlOjpDb250
ZXh0JiBjdHgpIHsKKyAgICAvLyAgICBkYXRhTG9nTG4oImNvbnN0cnVjdCByZXN1bHQ6ICIsIEpT
VmFsdWU6OmRlY29kZShyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oY3R4LmdwcihyZWdUMCkp
KSk7CisgICAgLy99KTsKICAgICAKICAgICBlbWl0UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7
CiB9CkBAIC0yNjAsNiArMjY2LDEwIEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2Uo
T3Bjb2RlSUQKICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxl
Q29kZUJsb2NrKG1fY29kZUJsb2NrKTsKKworICAgIHByb2JlKFtdIChQcm9iZTo6Q29udGV4dCYg
Y3R4KSB7CisgICAgICAgIGRhdGFMb2dMbigiY29uc3RydWN0IHJlc3VsdDogIiwgSlNWYWx1ZTo6
ZGVjb2RlKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihjdHguZ3ByKHJlZ1QwKSkpKTsKKyAg
ICB9KTsKICAgICAKICAgICBlbWl0UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7CiB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjE4
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc3MCw2ICs3NzAsOCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJ
bnN0cnVjdGlvCiAgICAgUmVnaXN0ZXJJRCBjYWNoZWRGdW5jdGlvblJlZyA9IHJlZ1Q0OwogICAg
IFJlZ2lzdGVySUQgc2NyYXRjaFJlZyA9IHJlZ1QzOwogCisgICAgLy8gT09QUzogdGhpcyBpcyB3
cm9uZyB3LyBwb2x5IHByb3RvIQorCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjYWxsZWUs
IGNhbGxlZVJlZyk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoOChOb3RFcXVhbCwgQWRkcmVzcyhj
YWxsZWVSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoSlNG
dW5jdGlvblR5cGUpKSk7CiAgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxlZVJlZywgSlNGdW5jdGlv
bjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFSZWcpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDgg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKKyAgICAgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNj
ZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0
KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAo
c2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1
LDIzICsyNTcsMzggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmpl
Y3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAg
ICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJv
cGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7
Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1
Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNz
Q2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbihqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCks
IHNsb3QpOworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi5tX2lzVmFsaWQp
IHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG4oInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gaXMg
bm90IHZhbGlkISIpOworICAgICAgICAgICAgICAgIC8vIE9PUFM6IFRoaXMgb2J2aW91c2x5IGlz
IG5vdCBjb3JyZWN0LgorICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAg
ICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIGRhdGFM
b2dMbigiVmFsaWQgcHJvdG90eXBlIGFjY2VzcyBjaGFpbiEiKTsKKyAgICAgICAgICAgICAgICBk
YXRhTG9nTG4oInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gaGFzIHBvbHkgcHJvdG86ICIsIHByb3Rv
dHlwZUFjY2Vzc0NoYWluLm1faGFzUG9seVByb3RvKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90
LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRp
b24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4ubV9o
YXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKworCisgICAgICAgICAg
ICAvLyBPT1BTOiBhcmUgdGhlc2UgZXhwcmVzc2lvbiBlcXVpdmFsZW50PworICAgICAgICAgICAg
Ly9vZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQu
c2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3Qu
aXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAg
IH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjk5LDcgKzMx
Niw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAg
ZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5p
c1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlz
cyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNl
dCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNz
Q2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVh
YmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzMzLDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9u
IHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAog
ICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJs
ZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAg
ICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxw
dHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvbUF0dHJpYnV0ZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xv
bmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUK
ICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAo
VU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChV
TkxJS0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0
ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAg
ICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVj
dG9yTGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0
IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0
CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5
YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHko
dm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJl
KCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3Vt
ZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVy
ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5
cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmlu
ZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRz
KiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZy
YW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAg
Q2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwg
dGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1
cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpz
VmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMu
Y3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDEyIEBAIFNM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFs
bG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1
Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOworICAgICAgICAgICAgLy8gT09QUzogaXMgdGhp
cyByaWdodD8KKyAgICAgICAgICAgIGNhY2hlV3JpdGVCYXJyaWVyLnNldFdpdGhvdXRXcml0ZUJh
cnJpZXIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpOworICAgICAgICB9Cisg
ICAgICAgIC8vZGF0YUxvZ0xuKCJjcmVhdGVfdGhpcyByZXN1bHQ6ICIsIEpTVmFsdWUocmVzdWx0
KSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5v
cmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAg
ICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVE
YXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFy
ZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6
ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25z
dHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciog
cmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJl
RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAg
IHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZv
aWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24q
IGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRp
YWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJ
KHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFs
dWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAg
ICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAg
ICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3Qo
YXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGlu
Q29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmlu
dCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2lu
dGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpz
dHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkK
LSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7Cisg
ICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlE
KCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50
KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3ICsxMzUsNyBAQCBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuCiAgICAgaWYgKCFwcm90b3R5cGUp
CiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CiAg
ICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUo
dm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEt
PmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9u
IHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdh
bnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE1Myw3
ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAg
ICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2Jq
ZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4g
bV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYgKzM0MSwxOCBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0
aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIg
dXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5m
ZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZVZhbHVl
LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0g
anNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1ZSk7CisgICAgaWYgKCFw
cm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURh
dGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICBp
ZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICByYXJlRGF0
YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgaWYgKEluZmVycmVkVmFsdWUq
IGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwg
cmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSkKKyAg
ICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAi
U2V0dGluZyAucHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9CisKIGJvb2wgSlNGdW5j
dGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC00NTIsNiArNDY0LDcgQEAgYm9vbCBKU0Z1bmN0aW9u
OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjUwogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJs
ZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUs
IGdldFNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAg
ICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJv
cGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5l
ZWRlZCh2bSwgdmFsdWUsIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAg
ICAgICAgIHJldHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgc2xvdCk7CiAgICAgfQpAQCAtNTE4LDYgKzUzMSw4IEBAIGJvb2wgSlNGdW5jdGlvbjo6
ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUo
dm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBz
bG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0
aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5
IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUoKSkKKyAgICAg
ICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBkZXNjcmlwdG9yLnZhbHVl
KCksIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVy
biBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVz
Y3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcw
LDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0s
IHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNl
cHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBB
U0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0K
IApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlh
bEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7
CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRf
VU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNT
RVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgIEFTU0VSVCghaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMt
PnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVy
ZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVy
Zmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUs
IGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAg
QXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRp
b24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpu
b25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKICAgICBudWtlU3RydWN0dXJlQW5k
U2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRT
dHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYs
NyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAog
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZN
JiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBz
dHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJl
dHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzRG91
YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsx
MjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7
Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0p
LT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0
SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6
Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRv
QXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKHRoaXMpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRp
Z3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0
aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0Fy
cmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9
CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFs
dWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8
IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAg
IHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91
c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhp
bmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAg
aWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlz
KSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0
dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUw
Myw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAg
ICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdf
VFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwg
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJ
S0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVl
cygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAg
ICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5z
dXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAg
ICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAg
ICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQz
MlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAg
ICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNT
RVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZl
cnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpA
QCAtMTYzNiw3ICsxNjM2LDcgQEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZN
JiB2bQogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90
b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwogICAgIHNldFN0
cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmICgh
bmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KHRoaXMpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5p
c1Byb3RvdHlwZSh0aGlzKSkgewpAQCAtMjcyNiw3ICsyNzI2LDcgQEAgYm9vbCBKU09iamVjdDo6
cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhC
ZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMs
IGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKSB7CiAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBT
bG93UHV0QXJyYXlTdG9yYWdlIGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3Rv
cmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAg
ICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRo
cm93KTsKQEAgLTI4NzgsNyArMjg3OCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4
U2xvd09yQmV5b24KICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rv
ckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUs
IGF0dHJpYnV0ZXMsIG1vZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAg
ICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkg
ewogICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdl
KHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAg
ICAgICBzdG9yYWdlLT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAg
ICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtODY2LDcg
Kzg2Niw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKICAgICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNT
RVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0g
SGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoZ2V0UHJv
dG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgIXN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0
KCkpKTsgLy8gT09QUyBmaW5kIGEgd2F5IHRvIG1ha2UgdGhpcyB3b3JrCiAgICAgICAgIEFTU0VS
VChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0p
KTsKICAgICB9CkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0
KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
KCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAK
IGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUq
IGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDAsOCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6
OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURU
YWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0
T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIE9PUFM6IFRoaXMgY29k
ZSBsb29rcyB3cm9uZz8gV2h5IGRvZXNuJ3QgaXQgY2FsbCB0aGUgZ2V0UHJvdG90eXBlIGZ1bmN0
aW9uIGhvb2s/CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVz
LmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlT
X0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlz
T2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAg
ICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5
SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhp
c09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRv
KHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0
LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwg
MCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90
LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ip
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMTgwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBw
cm90b3R5cGUoY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAg
ICAgIC8vIE9PUFMuIG1ha2Ugc3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nl
c3NlcyB0aGlzLgogICAgICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAg
ICAgIHJldHVybiBnZXQoZ2xvYmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpA
QCAtMTAxLDEzICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5n
ZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNv
bmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0g
ICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDMsNiArMTQzLDExIEBAIHNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihD
YWxsRnJhbWUKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5
KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAg
IC8vIE9PUFM6IHRoaXMgZGVmaW5pdGVseSBuZWVkcyBzb21lIG1vcmUgdGhvdWdodAorICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1
cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgp
KQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02Miw5ICs2MiwyOSBAQCBpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0
ZUVtCiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywg
aW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBudWxscHRyOworICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRh
KCkpIHsKKyAgICAgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5z
dHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpOworICAgICAgICBpZiAoSlNWYWx1ZSBpbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUq
IHBvbHlQcm90b1N0cnVjdHVyZSA9IHJhcmVEYXRhLT5wb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7
CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpOworICAgICAgICAgICAgICAgIHJldHVybiBwb2x5UHJvdG9TdHJ1Y3R1cmU7Cisg
ICAgICAgICAgICB9IAorCisgICAgICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzUG9seVByb3Rv
U3RydWN0dXJlKHZtKSkgeworICAgICAgICAgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAorICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgICAgICByYXJlRGF0YS0+c2V0UG9seVByb3Rv
U3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5m
bywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAg
bV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKICAgICBy
ZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsNyArOTMsNyBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlw
ZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZl
IGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBp
bnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFj
aXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUt
PmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3Bl
cnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhwcm90b3R5cGUpICYmIGhh
c0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9
IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFn
ZVNoYXBlOwogCiAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFz
c0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcg
KzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6
IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVD
YXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkK
LSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkp
CisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgp
KQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFu
c2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zm
c2V0KQpAQCAtMjk1LDYgKzI5NSwyOCBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwq
IGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0
cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1Rh
ZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90
eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
LCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sK
KyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
CisgICAgZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50
ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3Vs
dC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUgdGhpcyBzaG91bGQgYWx3YXlz
IHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9u
KAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVByb3RvLCBEb250RW51
bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9m
ZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09QUzogbGV0
cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHByb3RvLCBz
aW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVhZHkga25v
d3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgZGF0YUxv
Z0xuKCJTZXR0aW5nIG1fcHJvdG90eXBlIHRvOiAiLCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAg
ICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNl
dCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOwor
ICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpm
aW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwg
OD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRh
YmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMTcgKzQy
MCwxOSBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0
dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVy
ZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVj
dHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVj
dCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRo
aXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpKQorICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBP
T1BTOiBMZXQncyBqdXN0IHB1dCB0aGlzIG9uIEpTT2JqZWN0PworICAgIFZNJiB2bSA9ICpiYXNl
LT52bSgpOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7Cisg
ICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAKLSAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAg
aWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsK
KyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CiAgICAgfQogfQogCkBAIC00
MzYsMTUgKzQ2MCwxNiBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUo
KSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlzIEpTT2JqZWN0KiBtZXRob2Q/Cisg
ICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoYmFz
ZSkKICAgICAgICAgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKIH0KIAot
Tm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpIGNvbnN0CitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGlm
IChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZyhi
YXNlKSkgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZAogICAgICAg
ICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3Jh
Z2U7CiAgICAgCiAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJh
eVN0b3JhZ2U7CkBAIC0xMTIxLDIwICsxMTQ2LDI0IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZD
aGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCitib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGJhc2Up
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8g
T09QUzogbWF5YmUgbWFrZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZC4KKwogICAgIGlmIChwYXJz
ZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKGJhc2UpOwogICAgIAotICAgIGZvciAoU3Ry
dWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQg
PSBiYXNlOyA7KSB7CisgICAgICAgIC8vIE9PUFM6IE1heWJlIHRoaXMgbmVlZHMgc29tZSBjbG9z
ZXIgYXR0ZW50aW9uLCBidXQgSSdtIG5vdCBzdXJlIGhvdyB3ZSBjYW4gc2F5CisgICAgICAgIC8v
IG11Y2ggYWJvdXQgb3VyIHByb3RvdHlwZSBjaGFpbiB3aXRob3V0IGtub3dpbmcgY29uc3RhbnQg
cHJvdG90eXBlIHZhbHVlcy4uLgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHBy
b3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwot
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5
TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAg
ICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsK
ICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUs
IGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJy
YXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0g
Tm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJl
KCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAg
ICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgp
KTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUu
aXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKICAgICB9CiAKICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcpCkBAIC0yNDAsMTkgKzI0
MiwzNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdI
aXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAg
ICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoSlNPYmplY3QqKSBjb25zdDsKICAg
ICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwogICAgICAgICAK
LSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlU
cmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBi
b29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKEpTT2JqZWN0KikgY29uc3Q7CisgICAgTm9uUHJvcGVy
dHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqKSBj
b25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1l
dGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1
cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHBy
ZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNl
dEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9n
bG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAg
IEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0
KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VS
VChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFz
c2VydGlvbiBoZXJlPworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQor
ICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4g
bV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFBy
b3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90
b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3Jl
ZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmpl
Y3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVk
UHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29r
dXAoRXhlY1N0YXRlKikgY29uc3Q7CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwogICAgICAgICAKICAgICAvLyBXaWxsIGp1
c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0g
ICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lLCBKU09iamVjdCop
OwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0
dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAg
IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NF
UlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVS
YXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1
Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYg
KCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAg
ICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZp
b3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTczMiwxMiArNzY1LDYgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwog
ICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewot
ICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9
Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zm
c2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7
CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIy
MjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAKICAg
ICAgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKICAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3Zl
KHZlY3Rvcik7CisgICAgICAgIC8vIE9PUFM6IEkgdGhpbmsgd2UgbWF5IG5lZWQgYSB3cml0ZSBi
YXJyaWVyIGhlcmUgb2YgfHRoaXN8LgogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAg
ICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDYg
KzcwLDcgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxp
bmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC00MDAsOSArNDAyLDM5IEBAIGlubGluZSBQcm9w
ZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5
TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJs
ZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVj
dHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewog
ICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsK
IH0KKworQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNv
bnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0
LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0
dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmpl
Y3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmpl
Y3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0
aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgp
KQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgUkVMRUFTRV9B
U1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgSlNWYWx1ZSBwcm90byA9
IG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitB
TFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1
cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHBy
b3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90
by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRl
ICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVk
ZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
IgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAs
NiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDUz
IEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVj
dFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSlNWYWx1ZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkKK3sKKyAgICByZXR1cm4g
bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7Cit9CisKK2Jv
b2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sK
KyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRo
aXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGlmICgh
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5
bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlKSkKKyAgICAgICAgcmV0dXJuIGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0Jl
ZW5JbnZhbGlkYXRlZCgpOworICAgIEFTU0VSVChpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUuYXNDZWxsKCktPmluaGVyaXRzKHZtLCBTdHJ1Y3R1cmU6OmluZm8oKSkpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworU3RydWN0dXJlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6cG9s
eVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4ganNEeW5hbWlj
Q2FzdDxTdHJ1Y3R1cmUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6aXNQb2x5UHJvdG8oVk0mIHZtKQor
eworICAgIHJldHVybiBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkgfHwgISFwb2x5UHJvdG9T
dHJ1Y3R1cmUodm0pOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc0luZmVycmVk
Q29uc3RydWN0b3IoKQoreworICAgIHJldHVybiAhaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlKCk7Cit9CisKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjpl
bnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCgh
bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgIEluZmVycmVk
VmFsdWUqIHJlc3VsdCA9IEluZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSk7CisgICAgbV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCByZXN1bHQpOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldFBvbHlQ
cm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIG1faW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0
dXJlKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBP
YmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24m
IGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZp
c2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVj
dHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMiBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJv
dG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRo
YXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRo
ZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2gg
bWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4g
SWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZl
IGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFs
dWUgaW5mZXJyaW5nIGEKKyAgICAvLyBKU0Z1bmN0aW9uLiBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBn
byBwb2x5IHByb3RvLCB0aGVuIHRoaXMgZmllbGQgZWl0aGVyIHBvaW50cyB0byBhbiBJbmZlcnJl
ZFZhbHVlCisgICAgLy8gdGhhdCBpcyBpbnZhbGlkYXRlZC4gSWYgd2UgZXZlciBjb25zdHJ1Y3Qg
YW4gb2JqZWN0IHdobydzIF9fcHJvdG9fXyBwb2ludHMgdG8gdGhpcyBwcm90b3R5cGUsIHRoZW4K
KyAgICAvLyB3ZSBtb3ZlIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
IHRvIHRoZSBTdHJ1Y3R1cmUgb2YgdGhlIG9iamVjdCB0aGF0IHNob3VsZCBiZSBjcmVhdGVkCisg
ICAgLy8gdGhhdCBoYXMgcG9seSBwcm90by4KKyAgICBJbmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZl
cnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBib29sIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZN
Jik7CisgICAgYm9vbCBuZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKTsKKyAgICB2b2lkIHNldFBv
bHlQcm90b1N0cnVjdHVyZShWTSYsIFN0cnVjdHVyZSopOworICAgIFN0cnVjdHVyZSogcG9seVBy
b3RvU3RydWN0dXJlKFZNJik7IC8vIE1heSBiZSBudWxscHRyIGlmIG5vdCBwb2x5IHByb3RvIG9y
IHBvbHkgcHJvdG8gc3RydWN0dXJlIGhhcyB5ZXQgdG8gYmUgaW5zdGFudGlhdGVkLgorICAgIGJv
b2wgaXNQb2x5UHJvdG8oVk0mKTsKKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZh
dGU6CkBAIC03Niw2ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJp
bmdWYWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2Nh
Y2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1f
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlOwogICAgIAogICAgIHR5cGVk
ZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6Oklu
dEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShy
ZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJh
cnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFs
dWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0
IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyBy
ZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1
cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyBy
ZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321396</attachid>
            <date>2017-09-20 17:33:19 -0700</date>
            <delta_ts>2017-09-21 11:21:00 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>94025</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjUzLDYgKzI1Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9VTklGSUFCTEVfU09VUkNFUwog
ICAgIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiAgICAgYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKICAgICBieXRlY29kZS9Nb2R1bGVQcm9n
cmFtQ29kZUJsb2NrLmNwcAorICAgIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAogICAgIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogICAgIGJ5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogICAgIGJ5dGVjb2RlL09wY29kZS5jcHAK
QEAgLTI2MCw2ICsyNjEsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfVU5JRklBQkxFX1NPVVJDRVMK
ICAgICBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiAgICAgYnl0ZWNvZGUvUHJvZ3Jh
bUNvZGVCbG9jay5jcHAKICAgICBieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKKyAgICBi
eXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKICAgICBieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAogICAgIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKICAgICBieXRlY29k
ZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMzE1LDcgKzEzMTUs
NyBAQAogCQkyRDM0MkYzNkY3MjQ0MDk2ODA0QURCMjQgLyogU291cmNlT3JpZ2luLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MjVCQTEzMzdFNDM0NEUx
QjI2OUE2NzEgLyogU291cmNlT3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzIxRDlFNENGQjY3NDIzQTk3RjE5MUE3IC8qIE1vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMjBFQ0IxNUVGQzUyNDYyNEJDMkYwMkQ1IC8qIE1vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwICovOyB9OwogCQkzNzFEODQyRDE3Qzk4QjZFMDBFQ0Y5OTQgLyogbGliei5k
eWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3
MUQ4NDJDMTdDOThCNkUwMEVDRjk5NCAvKiBsaWJ6LmR5bGliICovOyB9OwotCQkzN0M3MzhEMjFF
REI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIwMDNGMkIwQiAvKiBQYXJzZUludC5o
ICovOyB9OworCQkzN0M3MzhEMjFFREI1NkU0MDAzRjJCMEIgLyogUGFyc2VJbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QzczOEQxMUVEQjU2NzIw
MDNGMkIwQiAvKiBQYXJzZUludC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxMjk1Mjc3MUQyQ0Y2QkMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5l
cmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI5NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRp
bnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVhZGVyLnB5ICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxMjk1Mjc4MUQyQ0Y2QkMwMEU3OEI4
OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9pbXBsZW1lbnRhdGlvbi5w
eSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjk1Mjc0
MUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9p
bXBsZW1lbnRhdGlvbi5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0MTI5NTI3OTFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVf
d3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTI5NTI3NTFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfd3Jh
cHBlcl9oZWFkZXIucHkgKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTE1NTgsMTAgKzE1NTgsMTMgQEAKIAkJNzlCMDBDQkUxQzZBQjA3RTAwODhDNjVE
IC8qIFByb3h5T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5QjAwQ0JBMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5jcHAgKi87
IH07CiAJCTc5QjAwQ0JGMUM2QUIwN0UwMDg4QzY1RCAvKiBQcm94eU9iamVjdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCMDBDQkIxQzZBQjA3RTAw
ODhDNjVEIC8qIFByb3h5T2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzlCMTc4OEUxRDM5OUI4MDAwQjFBNTY3IC8qIEpJVE1hdGhJQ0Zv
cndhcmRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUE4OTlGRTFEMzg2MTJFMDBEMThDNzMgLyogSklUTWF0aElDRm9yd2FyZHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OUI1MjlGNjFGNzI1NTRG
MDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTc5QjUyOUY3MUY3MjU1NEYwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OUI1MjlGNTFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovOyB9
OwogCQk3OUI3NTk3NDFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5Qjc1OTcx
MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtTWVtb3J5SW5mb3JtYXRpb24uY3BwICovOyB9OwogCQk3
OUI3NTk3NTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUI3NTk3MjFERkE0QzYw
MDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCNzU5NzYxREZBNEM2MDAwNTIxNzRDIC8q
IFdhc21QYWdlQ291bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNvdW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlCODE5OTMxREQy
NUNGNTAwRERDNzE0IC8qIEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlCODE5OTIxREQyNUNGNTAwRERDNzE0IC8q
IEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTc5QkEyMUE2MUY3MDcwMjQwMDU5RTA1QyAvKiBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OUJBMjFBNTFGNzA3MDIzMDA1OUUwNUMgLyogT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuY3BwICovOyB9OwogCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNo
VmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNh
dGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CiAJCTc5QzRCMTVFMUJBMjE1
OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QzFCQTIx
NThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5Q0ZDNkYw
MUMzM0IxMDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUNGQzZFRjFDMzNCMTAwMDBDNzY4RUEgLyogTExJ
bnRQQ1Jhbmdlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC00MTc5LDEwICs0MTgyLDEzIEBACiAJCTc5QjAwQ0I5MUM2QUIwN0UwMDg4QzY1RCAv
KiBQcm94eUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBy
b3h5Q29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCMDBDQkEx
QzZBQjA3RTAwODhDNjVEIC8qIFByb3h5T2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFByb3h5T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzlCMDBDQkIxQzZBQjA3RTAwODhDNjVEIC8qIFByb3h5T2JqZWN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3h5T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OUI1MjlGNTFGNzI1NTRFMDA5
MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3OUI3NTk3MTFERkE0QzYwMDA1MjE3NEMgLyogV2FzbU1lbW9yeUluZm9y
bWF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21NZW1v
cnlJbmZvcm1hdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5Qjc1OTcy
MURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtTWVtb3J5SW5mb3JtYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbU1lbW9yeUluZm9ybWF0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5Qjc1OTczMURGQTRDNjAwMDUyMTc0QyAvKiBXYXNtUGFnZUNv
dW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21QYWdlQ291bnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlCODE5OTIxREQyNUNGNTAwRERDNzE0IC8q
IEpTR2xvYmFsT2JqZWN0SW5saW5lcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0dsb2JhbE9iamVjdElubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzlCQTIxQTUxRjcwNzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlDNEIxNUIxQkEyMTU4RjAw
RkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVz
ZXJ2YXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2
YXRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5QzRCMTVDMUJB
MjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJl
c2VydmF0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5Q0ZDNkVGMUMzM0Ix
MDAwMEM3NjhFQSAvKiBMTEludFBDUmFuZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IExMSW50UENSYW5nZXMuaDsgcGF0aCA9IGxsaW50L0xMSW50UENSYW5nZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc4MzQsNiArNzg0MCw3IEBACiAJCQkJMTRBRDkx
MTMxRENBOTdGRDAwMTRGOUZFIC8qIE1vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwICovLAogCQkJ
CTE0QUQ5MTA5MURDQTkyOTQwMDE0RjlGRSAvKiBNb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmggKi8s
CiAJCQkJMTRDQTk1OEMxNkFCNTBGQTAwOTM4QTA2IC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmggKi8sCisJCQkJNzlCQTIxQTUxRjcwNzAyMzAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmNwcCAqLywKIAkJCQkwRkQzRTQwMzFCNjE4QjY2MDBDODBFMUUgLyogT2JqZWN0UHJv
cGVydHlDb25kaXRpb24uY3BwICovLAogCQkJCTBGRDNFNDA0MUI2MThCNjYwMEM4MEUxRSAvKiBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAogCQkJCTBGRDNFNDA1MUI2MThCNjYwMEM4MEUx
RSAvKiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAgKi8sCkBAIC03ODUxLDYgKzc4NTgs
OCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmgg
Ki8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNw
cCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24u
aCAqLywKKwkJCQk3OUI1MjlGNTFGNzI1NTRFMDA5MjMyRTAgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uY3BwICovLAorCQkJCTc5QjUyOUY0MUY3MjU1NEUwMDkyMzJFMCAvKiBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3Mu
aCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAg
Ki8sCkBAIC05MDM4LDYgKzkwNDcsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAv
KiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0
RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3OUI1MjlGNjFGNzI1NTRGMDA5MjMyRTAgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0
OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIElu
dGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMDYxOSw2ICsx
MDYyOSw3IEBACiAJCQkJMEZFQTBBMUUxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVh
cFJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjcxODdERkRFQzAwODNC
Njg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEw
QTA5MTcwNTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNzlCQTIxQTYxRjcwNzAyNDAwNTlFMDVDIC8qIE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTI3MTcwOTYyM0IwMEJCNzIyQyAvKiBGVExD
b21tb25WYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZCMzg3OTIxQkZEMzFBMTAwRTNB
QjFFIC8qIEZUTENvbXBpbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RDRDMEMxQzNFMUMx
MTAwNkNEOTg0IC8qIEZUTEV4Y2VwdGlvblRhcmdldC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEw
OTUyLDYgKzEwOTYzLDcgQEAKIAkJCQkxNDhGMjFCQzEwN0VDNTREMDA0MkVDMkMgLyogUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJz
ZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3OTJDQjM0OTFDNEVFRDVDMDBEMTNBRjMg
LyogUENUb0NvZGVPcmlnaW5NYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzlCNTI5RjcxRjcy
NTU0RjAwOTIzMkUwIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1QUI0OURDMUJFQzgwODIwMDcwMjBGQiAvKiBQZXJHbG9iYWxPYmplY3RXcmFwcGVyV29y
bGQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGOUNFNzMxQjlDRDZEMDAwNEVEQ0E2IC8qIFBv
bHltb3JwaGljQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRTgzNDE3MUE2RUY5N0Iw
MEQwNDg0NyAvKiBQb2x5bW9ycGhpY0NhbGxTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTUgKzQ5LDE4IEBACiAjaW5jbHVkZSAi
U3VwZXJTYW1wbGVyLmgiCiAjaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAKKyNpbmNsdWRl
ICJNYWNyb0Fzc2VtYmxlclByaW50ZXIuaCIKKwogbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFj
ZSBBY2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNl
OwogfQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNz
Q2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUodHlwZSkKICAgICAsIG1fb2Zmc2V0
KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ocHJvdG90eXBlQWNjZXNzQ2hh
aW4pCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJl
KTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsKQEAgLTE1MSw2ICsxNTQsOSBA
QCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYgKHZpYVBy
b3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgc3dp
dGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVu
Z3RoOgpAQCAtMzcyLDI2ICszNzgsNjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhH
dWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQcm94eSgpKSB7
Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJy
YW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5
cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAgICAgICAgIGpp
dC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRP
ZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQo
Ci0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0g
ICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmIChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgZGF0YUxvZ0xuKCJH
ZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAgICAgIC8vaml0LnByaW50KCJE
b2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAgICAgICAgICBHUFJSZWcgYmFz
ZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAgICAgICBqaXQubW92ZShz
dGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY2hhaW4oKVtpXTsKKyAgICAgICAgICAgICAgICBib29sIGF0RW5kID0gaSArIDEg
PT0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpLnNpemUoKTsKKyAgICAgICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1
Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nl
c3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNl
KG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IE9PUFM6IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBuZWVkZWQgaWYgd2UgdHJhbnNpdGlvbiBvbiBz
ZXR0aW5nIHRoZSBwcm90b3R5cGUuCisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nl
c3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNP
YmplY3QoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOwor
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZz
ZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVy
czo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZh
bHVlTnVsbCkpKTsgLy8gT09QUzogdGhpcyBpc24ndCBuZWVkZWQgaWYgd2Ugc3RpbGwgdHJhbnNp
dGlvbiBvbiBzZXR0aW5nIG91ciBwcm90b3R5cGUuCisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVj
dHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3Ry
dWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7Cisg
ICAgICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zm
c2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0
KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9m
ZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDYzLDYgKzUwNyw3IEBAIHZv
aWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgcmV0dXJuOwog
CiAgICAgY2FzZSBNaXNzOgorICAgICAgICAvLyBPT1BTOgogICAgICAgICBqaXQubW92ZVRydXN0
ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCB2YWx1ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNjZWVk
KCk7CiAgICAgICAgIHJldHVybjsKQEAgLTUwNCwxMyArNTQ5LDE3IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBi
YXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBpZiAo
IW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUoCi0gICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSks
Ci0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7Ci0gICAgICAgICAgICBiYXNlRm9yQWNjZXNz
R1BSID0gc2NyYXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNj
ZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4udXNlc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2Ny
YXRjaEdQUjsgLy8gdmlhIGdlbmVyYXRlV2l0aEd1YXJkISBPT1BTOiB0aGlzIGlzIHVnbHkuCisg
ICAgICAgICAgICAvL2ppdC5wcmludCgiRG9pbmcgcG9seSBwcm90byBsb2FkIVxuIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkg
eworICAgICAgICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAg
ICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsK
KyAgICAgICAgfQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJS
ZWc7CiAgICAgICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9
IEN1c3RvbUFjY2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBt
X3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKQEAgLTU2OSw2ICs2MTgsOSBAQCB2b2lk
IEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KIAorICAgICAgICAvL2lmIChtX3R5cGUgPT0gR2V0dGVyICYmIG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4ubV9oYXNQb2x5UHJvdG8pCisgICAgICAgIC8vICAgIGppdC5wcmludCgiRG9pbmcg
Z2V0dGVyIGNhbGwgZm9yIHBvbHkgcHJvdG9cbiIpOworCiAgICAgICAgIC8vIFN0dWZmIGZvciBj
dXN0b20gZ2V0dGVycy9zZXR0ZXJzLgogICAgICAgICBDQ2FsbEhlbHBlcnM6OkNhbGwgb3BlcmF0
aW9uQ2FsbDsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNs
dWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3
dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTg2LDggKzE4NywxMCBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBjb25zdCBQcm90
b3R5cGVBY2Nlc3NDaGFpbiYgcHJvdG90eXBlQWNjZXNzQ2hhaW4oKSBjb25zdCB7IHJldHVybiBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluOyB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZN
JiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jik7CisgICAgQWNjZXNzQ2FzZShWTSYs
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFByb3RvdHlwZUFjY2Vzc0NoYWluID0g
UHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAgICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNl
JikgPSBkZWZhdWx0OwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNl
JikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlh
bDsgfQpAQCAtMjI3LDYgKzIzMCw4IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBtX2Nv
bmRpdGlvblNldDsKKworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluIG1fcHJvdG90eXBlQWNjZXNz
Q2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjE4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxp
c3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7
CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MucHJvdG90eXBlQWNjZXNzQ2hhaW4oKS51c2VzUG9s
eVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhT
dGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
SW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNP
YmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90
b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgbV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwo
dm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAot
ICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0
b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERP
TUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBH
ZXR0ZXI6CkBAIC02Myw3ICs2Myw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0
ZXJTZXR0ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0
ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRyaWJ1
dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRlcjsK
ICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwpAQCAtNzQsNyArNzQsOCBAQCBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVl
U2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVl
X3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBm
YWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICAvLyBPT1BTOiBkbyBzb21ldGhp
bmcgaGVyZQorICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1
bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UsIFBy
b3RvdHlwZUFjY2Vzc0NoYWluKCkpKTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iuc2V0
dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDExICs0OSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9w
ZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2
aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0g
bnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAot
ICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAgICAgICBzdGQ6
Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAgICAg
ICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0g
bnVsbHB0ciwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAorICAgICAgICBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJp
YnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFBy
b3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUq
LCBQcm9wZXJ0eU9mZnNldCwKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsCkBAIC02Nyw3ICs2
NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0dXJu
IG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSk7
CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogCiAgICAgR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorCituYW1lc3BhY2UgSlNDIHsKKwordm9p
ZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQor
eworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwor
ICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1
Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKS0+cG9seVByb3RvU3Ry
dWN0dXJlKHZtKSkgeworICAgICAgICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSBzdHJ1
Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFs
bG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoSlNGaW5hbE9iamVjdDo6YWxsb2Nh
dGlvblNpemUoaW5saW5lQ2FwYWNpdHkpKTsKKworICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7CisgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1
cmUpOworICAgICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCisgICAgYm9vbCBpc1BvbHlQcm90
byA9IGZhbHNlOworICAgIGlmIChjb25zdHJ1Y3RvcikgeworICAgICAgICAvLyBPT1BTOiBQcm9i
YWJseSBjYWxsIGludG8gYSBkaWZmZXJlbnQgcHJvdG90eXBlTWFwIGZ1bmN0aW9uIGhlcmUgdGhh
dCBtYWtlcyBwb2x5IHByb3RvLCB0aGF0IHdheSwKKyAgICAgICAgLy8gbm8gb25lIGVsc2UgY2Fu
IGFjY2lkZW50YWxseSBnZXQgYSBwb2x5IHByb3RvIHN0cnVjdHVyZS4KKyAgICAgICAgU3RydWN0
dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVS
YXJlRGF0YSh2bSk7CisgICAgICAgIGlmIChyYXJlRGF0YS0+bmVlZHNJbmZlcnJlZENvbnN0cnVj
dG9yKCkpCisgICAgICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2
bSk7CisgICAgICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNE
eW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkpIHsKKyAgICAgICAgICAgIGluZmVycmVkQ29uc3Ry
dWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29u
c3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKyAgICAgICAgICAgIGlzUG9s
eVByb3RvID0gaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAg
ICAgIH0KKyAgICAgICAgLy8gT09QUzogd2Uga25vdyBoZXJlIGlmIHdlJ3JlIGRvaW5nIHNvbWV0
aGluZyB0aGF0J3MgcG9seSBwcm90by4gV2Ugc2hvdWxkIHByb2JhYmx5IGNvbnZleSB0aGF0Cisg
ICAgICAgIC8vIGluZm9ybWF0aW9uIGhlcmUgYW5kIGFsc28gY29udmV5IGlmIHdlIGtub3cgdGhh
dCB3ZSd2ZSByZXNlcnZlZCBhbiBpbmxpbmUgc3BhY2UgZm9yIHRoZSBwcm90by4KKyAgICB9CisK
KyAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGluZmVycmVkSW5saW5l
Q2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAg
ICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lz
LgorICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3Bl
cnR5Q291bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNh
cGFjaXR5KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0
IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAgICAgICAgICAvLyBz
ZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhl
bHBlciBmdW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0gZWxzZSBpZiAo
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBh
Y2l0eSgpKSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vl
c3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAgICAgICAgICAgIC8v
IG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAg
ICB9CisKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owor
ICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVD
YXBhY2l0eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2Jq
ZWN0LgorICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Cisg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElu
bGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAg
IC8vIE9PUFM6IGxldHMgY29tbXVuaWNhdGUgdGhpcyB0byBzdHJ1Y3R1cmUgY3JlYXRlLiBJdCdz
IGp1c3QgYXNzZXJ0aW5nIGl0IGdldHMgYW4gaW5saW5lIHNsb3QuCisgICAgICAgICsraW5saW5l
Q2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4oaW5saW5lQ2FwYWNp
dHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0KKworICAgIEFT
U0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBK
U0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
KyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JG
b3IoYWxsb2NhdGlvblNpemUpOworICAgIAorICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJh
IGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFs
bG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkg
LSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVj
dHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0
dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RGOjpzdG9yZVN0b3Jl
RmVuY2UoKTsKKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIG1fc3RydWN0dXJl
LnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGlu
ZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2li
bGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7Cisg
ICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90
b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAg
IFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9k
ZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBw
cm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwg
cHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVB
cnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVy
dHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBK
U1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3Rv
cltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxs
eSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBp
ZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50Owor
fQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAy
MjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5p
dGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3du
ZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkp
Ci0gICAgewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFt
X3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAg
ICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0g
ICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFu
YWx5c2lzLgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURl
ZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3Rz
IGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0
Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBU
aGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpT
RmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAg
Ly8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRo
ZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJn
ZSBvYmplY3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmlu
YWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAg
ICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJn
ZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2Fw
YWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFT
U0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkg
PD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90
IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2Fw
YWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFj
ZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFr
ZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6
ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNs
b3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdy
aXRlQmFycmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9w
OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAg
ICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwg
aXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVG
ZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0
cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFj
aXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBw
cm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNv
bnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAg
ewpAQCAtMTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKIAotICAgIHVuc2lnbmVk
IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBl
KQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVj
dCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAg
IHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFt
ZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVT
eW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0
UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJh
dGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1l
VmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnBy
b3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3Bl
cnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9
IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0gICAg
ICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxl
dmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAgICAgICBpZiAoanNE
eW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0gICAgICAgIHJldHVy
biBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3Vu
dChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2VkQWxsb2NhdG9yKiBt
X2FsbG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFzaWVyIGZvciBnZW5l
cmF0ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCwxMSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCBnZW5lcmF0ZUNvbmRpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSXQncyBhIHByb3h5
LCBzbyBpbnZhbGlkLlxuIik7CiAgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQ6OmludmFsaWQoKTsKICAgICAgICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gT09QUzogV2UgbmVlZCBz
b21lIHN0b3J5IGhlcmUgb2YgYW4gaW50ZXJsZWF2aW5nLgorICAgICAgICAgICAgcmV0dXJuIE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAg
CiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChn
bG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9uZXhpc3RlbnQp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCituYW1l
c3BhY2UgSlNDIHsKKworUHJvdG90eXBlQWNjZXNzQ2hhaW46OlByb3RvdHlwZUFjY2Vzc0NoYWlu
KEpTT2JqZWN0KiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisgICAgLy8gT09Q
UzogY29uc2lkZXIgRE9NIHByb3h5IGhlcmUuIEFsc28sIHByb3h5IGluIHRoZSBwcm90b3R5cGUg
Y2hhaW4/CisKKyAgICBKU09iamVjdCogY3VycmVudCA9IGJhc2U7CisgICAgVk0mIHZtID0gKmJh
c2UtPnZtKCk7CisKKyAgICBKU09iamVjdCogdGFyZ2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxs
cHRyIDogc2xvdC5zbG90QmFzZSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAg
d2hpbGUgKHRydWUpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5z
dHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkgeworICAg
ICAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKSB7CisgICAgICAgICAg
ICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0
dXJlKHZtLCBjdXJyZW50KTsKKyAgICAgICAgfQorCisgICAgICAgIG1fY2hhaW4uYXBwZW5kKHN0
cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAg
ICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAg
IC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90
b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xv
dCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNo
YWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAg
ICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgbV91c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoY3VycmVudCk7CisgICAgICAgIGlmIChwcm90b3R5cGUu
aXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0
KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3VuZCAmJiAhIXRhcmdldCkgeworICAg
ICAgICAvLyBPT1BTOiB3b3VsZCB0aGlzIGFjdHVhbGx5IGNvbWUgdXAgZm9yIHJlYWwgcHJvZ3Jh
bXM/CisgICAgICAgIC8vIE5lZWQgdG8gY29uc2lkZXIuIEkgdGhpbmsgaXQgZG9lcyBzaW5jZSBi
dWlsZGluZyBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldAorICAgICAgICAvLyBzZWVtcyB0byBh
c3N1bWUgdGhpcyBpcyBwb3NzaWJsZS4KKyAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAg
fQorfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3Bh
Y2UgSlNDIHsKKworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBT
dHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRChQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90
b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihj
b25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nl
c3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oSlNPYmplY3QqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYpOworICAgIFBy
b3RvdHlwZUFjY2Vzc0NoYWluJiBvcGVyYXRvcj0oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBk
ZWZhdWx0OworCisgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9
CisKKyAgICBib29sIHVzZXNQb2x5UHJvdG8oKSBjb25zdCB7IHJldHVybiBtX3VzZXNQb2x5UHJv
dG87IH0KKworICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJl
dHVybiBtX2NoYWluOyB9CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hh
aW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5vdywgYnV0IHBlcmhhcHMgdGhp
cyBzaG91bGQgYmUgcmVtb3ZlZC4KKyAgICBib29sIG1fdXNlc1BvbHlQcm90byB7IGZhbHNlIH07
CisgICAgYm9vbCBtX2lzVmFsaWQgeyB0cnVlIH07Cit9OworCit9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3Bw
CShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
eHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE3ICszMCwxOCBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAotUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNz
Q2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlh
YmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAorICAgIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90
b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICAs
IG1fdmlhUHJveHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNl
dCkKIHsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nh
c2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVB
Y2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUs
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNo
cG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8
IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1
cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZt
LCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHks
IGFkZGl0aW9uYWxTZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiB9CiAKIFByb3h5YWJsZUFj
Y2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24g
MjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVi
bGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nl
c3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
dmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVBy
b3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAg
ICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
ID0gbnVsbHB0ciwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigp
KTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVByaW50ZXImKSBjb25z
dCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIH5Qcm94eWFibGVBY2Nl
c3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlND
ZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCk7CisgICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDgsNiArNDMwOCw4IEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgfQogCiAgICAg
ICAgIGNhc2Ugb3BfY3JlYXRlX3RoaXM6IHsKKyAgICAgICAgICAgIC8vIE9PUFM6IHRoaW5rIHRo
cm91Z2ggdGhpcyBjb2RlLgorCiAgICAgICAgICAgICBpbnQgY2FsbGVlT3BlcmFuZCA9IGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBOb2RlKiBjYWxsZWUgPSBn
ZXQoVmlydHVhbFJlZ2lzdGVyKGNhbGxlZU9wZXJhbmQpKTsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVENhbGwuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVENhbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw4IEBA
CiAjaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50
U3RyZWFtLmg+CiAKKyNpbmNsdWRlICJQcm9iZUNvbnRleHQuaCIKKwogCiBuYW1lc3BhY2UgSlND
IHsKIApAQCAtMjMxLDYgKzIzMywxMCBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJ
RCBvcGNvZGVJCiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKIAogICAgIHNhbXBs
ZUNvZGVCbG9jayhtX2NvZGVCbG9jayk7CisKKyAgICAvL3Byb2JlKFtdIChQcm9iZTo6Q29udGV4
dCYgY3R4KSB7CisgICAgLy8gICAgZGF0YUxvZ0xuKCJjb25zdHJ1Y3QgcmVzdWx0OiAiLCBKU1Zh
bHVlOjpkZWNvZGUocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGN0eC5ncHIocmVnVDApKSkp
OworICAgIC8vfSk7CiAgICAgCiAgICAgZW1pdFB1dENhbGxSZXN1bHQoaW5zdHJ1Y3Rpb24pOwog
fQpAQCAtMjYwLDYgKzI2NiwxMCBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKE9w
Y29kZUlECiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKIAogICAgIHNhbXBsZUNv
ZGVCbG9jayhtX2NvZGVCbG9jayk7CisKKyAgICBwcm9iZShbXSAoUHJvYmU6OkNvbnRleHQmIGN0
eCkgeworICAgICAgICBkYXRhTG9nTG4oImNvbnN0cnVjdCByZXN1bHQ6ICIsIEpTVmFsdWU6OmRl
Y29kZShyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oY3R4LmdwcihyZWdUMCkpKSk7CisgICAg
fSk7CiAgICAgCiAgICAgZW1pdFB1dENhbGxSZXN1bHQoaW5zdHJ1Y3Rpb24pOwogfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiAyMjIxODAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03NzAsNiArNzcwLDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5z
dHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rpb25SZWcgPSByZWdUNDsKICAgICBS
ZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAgIC8vIE9PUFM6IHRoaXMgaXMgd3Jv
bmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlLCBj
YWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgoTm90RXF1YWwsIEFkZHJlc3MoY2Fs
bGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKEpTRnVu
Y3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsZWVSZWcsIEpTRnVuY3Rpb246
Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBA
IHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogCisgICAgICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vz
c0NoYWluOworCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgp
ID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNs
b3QuaXNVbnNldCgpIHx8IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwy
MyArMjU3LDM4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAg
c3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0
Kj4oYmFzZUNlbGwpKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAg
ICBpZiAoc2xvdC5pc1Vuc2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3Bl
cnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewot
ICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3Bl
cnR5TWlzcygKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0
dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0No
YWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oanNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpLCBz
bG90KTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4uaXNWYWxpZCgpKSB7
CisgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKCJwcm90b3R5cGUgYWNjZXNzIGNoYWluIGlzIG5v
dCB2YWxpZCEiKTsKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiBUaGlzIG9idmlvdXNseSBpcyBu
b3QgY29ycmVjdC4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAotICAgICAgICAg
ICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9n
TG4oIlZhbGlkIHByb3RvdHlwZSBhY2Nlc3MgY2hhaW4hIik7CisgICAgICAgICAgICAgICAgZGF0
YUxvZ0xuKCJwcm90b3R5cGUgYWNjZXNzIGNoYWluIGhhcyBwb2x5IHByb3RvOiAiLCBwcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAgICAgICAgICAgIG9mZnNldCA9IHNsb3Qu
aXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlv
bigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi51c2Vz
UG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKworCisgICAgICAgICAg
ICAvLyBPT1BTOiBhcmUgdGhlc2UgZXhwcmVzc2lvbiBlcXVpdmFsZW50PworICAgICAgICAgICAg
Ly9vZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQu
c2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3Qu
aXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAg
IH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjk5LDcgKzMx
Niw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAg
ZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5p
c1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlz
cyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNl
dCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNz
Q2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVh
YmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzMzLDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9u
IHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAog
ICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJs
ZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAg
ICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxw
dHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAg
ICAgIGRvbUF0dHJpYnV0ZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xv
bmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUK
ICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAo
VU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChV
TkxJS0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0
ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAg
ICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVj
dG9yTGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0
IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0
CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5
YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHko
dm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJl
KCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3Vt
ZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVy
ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5
cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmlu
ZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRz
KiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZy
YW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAg
Q2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwg
dGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1
cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpz
VmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMu
Y3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDEyIEBAIFNM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFs
bG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1
Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOworICAgICAgICAgICAgLy8gT09QUzogaXMgdGhp
cyByaWdodD8KKyAgICAgICAgICAgIGNhY2hlV3JpdGVCYXJyaWVyLnNldFdpdGhvdXRXcml0ZUJh
cnJpZXIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpOworICAgICAgICB9Cisg
ICAgICAgIC8vZGF0YUxvZ0xuKCJjcmVhdGVfdGhpcyByZXN1bHQ6ICIsIEpTVmFsdWUocmVzdWx0
KSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5v
cmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAg
ICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVE
YXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFy
ZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6
ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25z
dHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciog
cmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJl
RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAg
IHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZv
aWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24q
IGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRp
YWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJ
KHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFs
dWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAg
ICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAg
ICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3Qo
YXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGlu
Q29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmlu
dCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2lu
dGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpz
dHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkK
LSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7Cisg
ICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlE
KCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50
KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3ICsxMzUsNyBAQCBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuCiAgICAgaWYgKCFwcm90b3R5cGUp
CiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CiAg
ICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUo
dm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEt
PmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9u
IHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdh
bnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE1Myw3
ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7CiAg
ICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2Jq
ZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4g
bV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYgKzM0MSwxOCBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0
aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIg
dXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5m
ZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZVZhbHVl
LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0g
anNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1ZSk7CisgICAgaWYgKCFw
cm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURh
dGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICBp
ZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICByYXJlRGF0
YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgaWYgKEluZmVycmVkVmFsdWUq
IGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwg
cmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSkKKyAg
ICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAi
U2V0dGluZyAucHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9CisKIGJvb2wgSlNGdW5j
dGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC00NTIsNiArNDY0LDcgQEAgYm9vbCBKU0Z1bmN0aW9u
OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjUwogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJs
ZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUs
IGdldFNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAg
ICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJv
cGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5l
ZWRlZCh2bSwgdmFsdWUsIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAg
ICAgICAgIHJldHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgc2xvdCk7CiAgICAgfQpAQCAtNTE4LDYgKzUzMSw4IEBAIGJvb2wgSlNGdW5jdGlvbjo6
ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUo
dm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBz
bG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0
aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5
IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUoKSkKKyAgICAg
ICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBkZXNjcmlwdG9yLnZhbHVl
KCksIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVy
biBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVz
Y3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcw
LDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0s
IHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNl
cHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBB
U0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0K
IApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlh
bEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7
CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRf
VU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNT
RVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgIEFTU0VSVCghaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMt
PnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVy
ZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVy
Zmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUs
IGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAg
QXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRp
b24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpu
b25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKICAgICBudWtlU3RydWN0dXJlQW5k
U2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRT
dHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYs
NyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAog
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZN
JiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBz
dHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJl
dHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzRG91
YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsx
MjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7
Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0p
LT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0
SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6
Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRv
QXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKHRoaXMpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRp
Z3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0
aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0Fy
cmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9
CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFs
dWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8
IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAg
IHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91
c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhp
bmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAg
aWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlz
KSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0
dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUw
Myw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAg
ICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdf
VFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwg
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJ
S0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVl
cygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAg
ICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5z
dXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAg
ICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAg
ICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQz
MlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAg
ICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNT
RVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZl
cnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpA
QCAtMTYzNiw3ICsxNjM2LDcgQEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZN
JiB2bQogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90
b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwogICAgIHNldFN0
cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmICgh
bmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KHRoaXMpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5p
c1Byb3RvdHlwZSh0aGlzKSkgewpAQCAtMjcyNiw3ICsyNzI2LDcgQEAgYm9vbCBKU09iamVjdDo6
cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhC
ZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMs
IGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKSB7CiAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBT
bG93UHV0QXJyYXlTdG9yYWdlIGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3Rv
cmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAg
ICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRo
cm93KTsKQEAgLTI4NzgsNyArMjg3OCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4
U2xvd09yQmV5b24KICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rv
ckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUs
IGF0dHJpYnV0ZXMsIG1vZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAg
ICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkg
ewogICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdl
KHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAg
ICAgICBzdG9yYWdlLT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAg
ICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtODY2LDcg
Kzg2Niw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKICAgICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNT
RVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0g
SGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoZ2V0UHJv
dG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgIXN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0
KCkpKTsgLy8gT09QUyBmaW5kIGEgd2F5IHRvIG1ha2UgdGhpcyB3b3JrCiAgICAgICAgIEFTU0VS
VChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0p
KTsKICAgICB9CkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0
KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
KCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAK
IGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUq
IGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDAsOCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6
OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURU
YWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0
T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIE9PUFM6IFRoaXMgY29k
ZSBsb29rcyB3cm9uZz8gV2h5IGRvZXNuJ3QgaXQgY2FsbCB0aGUgZ2V0UHJvdG90eXBlIGZ1bmN0
aW9uIGhvb2s/CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVz
LmgJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlT
X0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlz
T2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAg
ICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5
SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhp
c09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRv
KHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXNPYmplY3QpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0
LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwg
MCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90
LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ip
KTsKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMTgwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBw
cm90b3R5cGUoY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAg
ICAgIC8vIE9PUFMuIG1ha2Ugc3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nl
c3NlcyB0aGlzLgogICAgICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAg
ICAgIHJldHVybiBnZXQoZ2xvYmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpA
QCAtMTAxLDEzICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5n
ZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNv
bmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0g
ICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDMsNiArMTQzLDExIEBAIHNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihD
YWxsRnJhbWUKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5
KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAg
IC8vIE9PUFM6IHRoaXMgZGVmaW5pdGVseSBuZWVkcyBzb21lIG1vcmUgdGhvdWdodAorICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1
cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgp
KQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02Miw5ICs2MiwyOSBAQCBpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0
ZUVtCiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2Jq
ZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywg
aW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBudWxscHRyOworICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRh
KCkpIHsKKyAgICAgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5z
dHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpOworICAgICAgICBpZiAoSlNWYWx1ZSBpbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUq
IHBvbHlQcm90b1N0cnVjdHVyZSA9IHJhcmVEYXRhLT5wb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7
CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpOworICAgICAgICAgICAgICAgIHJldHVybiBwb2x5UHJvdG9TdHJ1Y3R1cmU7Cisg
ICAgICAgICAgICB9IAorCisgICAgICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzUG9seVByb3Rv
U3RydWN0dXJlKHZtKSkgeworICAgICAgICAgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAorICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgICAgICByYXJlRGF0YS0+c2V0UG9seVByb3Rv
U3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5m
bywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAg
bV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKICAgICBy
ZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsNyArOTMsNyBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlw
ZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZl
IGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBp
bnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFj
aXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUt
PmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3Bl
cnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhwcm90b3R5cGUpICYmIGhh
c0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9
IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFn
ZVNoYXBlOwogCiAgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFz
c0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyMTgwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcg
KzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6
IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVD
YXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkK
LSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkp
CisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgp
KQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFu
c2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zm
c2V0KQpAQCAtMjk1LDYgKzI5NSwyOCBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwq
IGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0
cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1Rh
ZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90
eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZv
LCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sK
KyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
CisgICAgZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50
ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3Vs
dC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUgdGhpcyBzaG91bGQgYWx3YXlz
IHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9u
KAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVByb3RvLCBEb250RW51
bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9m
ZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09QUzogbGV0
cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHByb3RvLCBz
aW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVhZHkga25v
d3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgZGF0YUxv
Z0xuKCJTZXR0aW5nIG1fcHJvdG90eXBlIHRvOiAiLCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAg
ICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNl
dCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOwor
ICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpm
aW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwg
OD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRh
YmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMTcgKzQy
MCwxOSBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0
dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVy
ZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVj
dHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVj
dCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRo
aXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpKQorICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBP
T1BTOiBMZXQncyBqdXN0IHB1dCB0aGlzIG9uIEpTT2JqZWN0PworICAgIFZNJiB2bSA9ICpiYXNl
LT52bSgpOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7Cisg
ICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAKLSAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAg
aWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsK
KyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CiAgICAgfQogfQogCkBAIC00
MzYsMTUgKzQ2MCwxNiBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUo
KSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlzIEpTT2JqZWN0KiBtZXRob2Q/Cisg
ICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoYmFz
ZSkKICAgICAgICAgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKIH0KIAot
Tm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpIGNvbnN0CitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGlm
IChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZyhi
YXNlKSkgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZAogICAgICAg
ICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3Jh
Z2U7CiAgICAgCiAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJh
eVN0b3JhZ2U7CkBAIC0xMTIxLDIwICsxMTQ2LDI0IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZD
aGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCitib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGJhc2Up
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8g
T09QUzogbWF5YmUgbWFrZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZC4KKwogICAgIGlmIChwYXJz
ZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKGJhc2UpOwogICAgIAotICAgIGZvciAoU3Ry
dWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQg
PSBiYXNlOyA7KSB7CisgICAgICAgIC8vIE9PUFM6IE1heWJlIHRoaXMgbmVlZHMgc29tZSBjbG9z
ZXIgYXR0ZW50aW9uLCBidXQgSSdtIG5vdCBzdXJlIGhvdyB3ZSBjYW4gc2F5CisgICAgICAgIC8v
IG11Y2ggYWJvdXQgb3VyIHByb3RvdHlwZSBjaGFpbiB3aXRob3V0IGtub3dpbmcgY29uc3RhbnQg
cHJvdG90eXBlIHZhbHVlcy4uLgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHBy
b3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwot
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5
TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAg
ICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCShyZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsK
ICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUs
IGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJy
YXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0g
Tm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJl
KCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAg
ICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgp
KTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUu
aXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKICAgICB9CiAKICAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcpCkBAIC0yNDAsMTkgKzI0
MiwzNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdI
aXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAg
ICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoSlNPYmplY3QqKSBjb25zdDsKICAg
ICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwogICAgICAgICAK
LSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlU
cmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBi
b29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKEpTT2JqZWN0KikgY29uc3Q7CisgICAgTm9uUHJvcGVy
dHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqKSBj
b25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1l
dGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1
cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHBy
ZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNl
dEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9n
bG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAg
IEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0
KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VS
VChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFz
c2VydGlvbiBoZXJlPworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQor
ICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4g
bV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFBy
b3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90
b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3Jl
ZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmpl
Y3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVk
UHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29r
dXAoRXhlY1N0YXRlKikgY29uc3Q7CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwogICAgICAgICAKICAgICAvLyBXaWxsIGp1
c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0g
ICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lLCBKU09iamVjdCop
OwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0
dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAg
IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NF
UlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVS
YXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1
Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYg
KCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAg
ICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZp
b3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTczMiwxMiArNzY1LDYgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwog
ICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewot
ICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9
Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zm
c2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7
CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIy
MjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAKICAg
ICAgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKICAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3Zl
KHZlY3Rvcik7CisgICAgICAgIC8vIE9PUFM6IEkgdGhpbmsgd2UgbWF5IG5lZWQgYSB3cml0ZSBi
YXJyaWVyIGhlcmUgb2YgfHRoaXN8LgogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAg
ICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDYg
KzcwLDcgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxp
bmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC00MDAsOSArNDAyLDM5IEBAIGlubGluZSBQcm9w
ZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5
TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJs
ZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVj
dHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewog
ICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsK
IH0KKworQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNv
bnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0
LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0
dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmpl
Y3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmpl
Y3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0
aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgp
KQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgUkVMRUFTRV9B
U1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgSlNWYWx1ZSBwcm90byA9
IG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitB
TFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1
cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHBy
b3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90
by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CiAgICAgCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjE4MCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRl
ICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVk
ZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
IgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAs
NiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDUz
IEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVj
dFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSlNWYWx1ZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkKK3sKKyAgICByZXR1cm4g
bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7Cit9CisKK2Jv
b2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sK
KyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRo
aXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGlmICgh
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5
bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlKSkKKyAgICAgICAgcmV0dXJuIGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0Jl
ZW5JbnZhbGlkYXRlZCgpOworICAgIEFTU0VSVChpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUuYXNDZWxsKCktPmluaGVyaXRzKHZtLCBTdHJ1Y3R1cmU6OmluZm8oKSkpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworU3RydWN0dXJlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6cG9s
eVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4ganNEeW5hbWlj
Q2FzdDxTdHJ1Y3R1cmUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6aXNQb2x5UHJvdG8oVk0mIHZtKQor
eworICAgIHJldHVybiBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkgfHwgISFwb2x5UHJvdG9T
dHJ1Y3R1cmUodm0pOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc0luZmVycmVk
Q29uc3RydWN0b3IoKQoreworICAgIHJldHVybiAhaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlKCk7Cit9CisKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjpl
bnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCgh
bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgIEluZmVycmVk
VmFsdWUqIHJlc3VsdCA9IEluZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSk7CisgICAgbV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCByZXN1bHQpOwor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldFBvbHlQ
cm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIG1faW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0
dXJlKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBP
YmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24m
IGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZp
c2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVj
dHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMiBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJv
dG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRo
YXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRo
ZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2gg
bWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4g
SWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZl
IGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFs
dWUgaW5mZXJyaW5nIGEKKyAgICAvLyBKU0Z1bmN0aW9uLiBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBn
byBwb2x5IHByb3RvLCB0aGVuIHRoaXMgZmllbGQgZWl0aGVyIHBvaW50cyB0byBhbiBJbmZlcnJl
ZFZhbHVlCisgICAgLy8gdGhhdCBpcyBpbnZhbGlkYXRlZC4gSWYgd2UgZXZlciBjb25zdHJ1Y3Qg
YW4gb2JqZWN0IHdobydzIF9fcHJvdG9fXyBwb2ludHMgdG8gdGhpcyBwcm90b3R5cGUsIHRoZW4K
KyAgICAvLyB3ZSBtb3ZlIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
IHRvIHRoZSBTdHJ1Y3R1cmUgb2YgdGhlIG9iamVjdCB0aGF0IHNob3VsZCBiZSBjcmVhdGVkCisg
ICAgLy8gdGhhdCBoYXMgcG9seSBwcm90by4KKyAgICBJbmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZl
cnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBib29sIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZN
Jik7CisgICAgYm9vbCBuZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKTsKKyAgICB2b2lkIHNldFBv
bHlQcm90b1N0cnVjdHVyZShWTSYsIFN0cnVjdHVyZSopOworICAgIFN0cnVjdHVyZSogcG9seVBy
b3RvU3RydWN0dXJlKFZNJik7IC8vIE1heSBiZSBudWxscHRyIGlmIG5vdCBwb2x5IHByb3RvIG9y
IHBvbHkgcHJvdG8gc3RydWN0dXJlIGhhcyB5ZXQgdG8gYmUgaW5zdGFudGlhdGVkLgorICAgIGJv
b2wgaXNQb2x5UHJvdG8oVk0mKTsKKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZh
dGU6CkBAIC03Niw2ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJp
bmdWYWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2Nh
Y2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1f
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlOwogICAgIAogICAgIHR5cGVk
ZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6Oklu
dEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRz
PFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShy
ZXZpc2lvbiAyMjIxODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJh
cnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFs
dWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0
IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyBy
ZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1
cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyBy
ZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321452</attachid>
            <date>2017-09-21 11:21:00 -0700</date>
            <delta_ts>2017-09-21 15:29:35 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>91063</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYg
KzIyNyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUv
TWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFj
ZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0
ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0
eUNvbmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAog
Ynl0ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUv
UHJvZ3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0
ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3ND
YXNlLmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1
cy5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA2MSw2ICsxMDYxLDcgQEAKIAkJNzkxOUI3
ODAxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29t
cGlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTc5MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAv
KiBKSVRNYXRoSUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0
RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAv
KiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlF
RSAvKiBHZXRQdXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0
ZXJzQnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3Rl
cnNCeUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5
Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5OSw2ICszNTAwLDggQEAKIAkJNzkyMzNDMjkxRDM0
NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKSVRNYXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcx
QzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3Jp
Z2luTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2lu
TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJB
NDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3
NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBp
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
ZXRQdXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5
OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5
R3JhcGhDb2xvcmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdy
YXBoQ29sb3JpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM0MSw2ICs3
MzQ0LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9j
ay5oICovLAogCQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlv
bi5jcHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0
aW9uLmggKi8sCisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJ
ZEZsYWdzLmNwcCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZs
YWdzLmggKi8sCiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMu
Y3BwICovLApAQCAtODUyOSw2ICs4NTM0LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdG
RUQgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNF
NDFCNEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1h
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3Rv
dHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBE
Njk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAv
KiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNSArNDksMTggQEAKICNpbmNsdWRlICJTdXBlclNhbXBs
ZXIuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKIAorI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyUHJpbnRlci5oIgorCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEFjY2Vzc0Nh
c2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUFj
Y2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpBY2Nl
c3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQor
ICAgICwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbihwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAg
ICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1f
Y29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0OwpAQCAtMTUxLDYgKzE1NCw5IEBAIGJvb2wgQWNj
ZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNl
c1BvbHlQcm90bygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fdHlw
ZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CkBAIC0z
NzIsMjYgKzM3OCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlV2l0aEd1YXJkKAogICAg
IH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsKLSAgICAgICAg
ICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKLSAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBl
T2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
MihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQotICAgICAgICAgICAgaml0LmxvYWRQdHIo
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwg
c2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAg
ICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4udXNlc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiR2VuZXJhdGlu
ZyBwb2x5IHByb3RvIGxvYWQhIik7CisgICAgICAgICAgICAvL2ppdC5wcmludCgiRG9pbmcgcG9s
eSBwcm90byBhY2Nlc3MgY2hlY2tcbiIpOworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFz
ZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpLnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWlu
LmNoYWluKClbaV07CisgICAgICAgICAgICAgICAgYm9vbCBhdEVuZCA9IGkgKyAxID09IG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKS5zaXplKCk7CisgICAgICAgICAgICAgICAgZmFsbFRo
cm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBK
U0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0dXJlKSk7CisgICAgICAgICAgICAgICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChtX3R5cGUgPT0gTWlzcyAmJiAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3Ry
dWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQp
KSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBPT1BTOiBJ
IGRvbid0IHRoaW5rIHRoaXMgaXMgbmVlZGVkIGlmIHdlIHRyYW5zaXRpb24gb24gc2V0dGluZyB0
aGUgcHJvdG90eXBlLgorICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5k
KGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAo
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKGFzT2JqZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRp
dmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6OkVxdWFs
LCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwp
KSk7IC8vIE9PUFM6IHRoaXMgaXNuJ3QgbmVlZGVkIGlmIHdlIHN0aWxsIHRyYW5zaXRpb24gb24g
c2V0dGluZyBvdXIgcHJvdG90eXBlLgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmFs
bFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAg
ICAgaWYgKHZpYVByb3h5KCkpIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQo
CisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAorICAgICAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVG
b3J3YXJkaW5nUHJveHlUeXBlKSkpOworCisgICAgICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0Nh
bGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2Ny
YXRjaEdQUik7CisKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAg
ICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSks
CisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAg
ICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgICAgIGJyZWFrOwogICAgIH0gfTsKQEAgLTQ2Myw2ICs1MDcsNyBAQCB2b2lkIEFjY2Vz
c0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgIHJldHVybjsKIAogICAgIGNh
c2UgTWlzczoKKyAgICAgICAgLy8gT09QUzoKICAgICAgICAgaml0Lm1vdmVUcnVzdGVkVmFsdWUo
anNVbmRlZmluZWQoKSwgdmFsdWVSZWdzKTsKICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwogICAg
ICAgICByZXR1cm47CkBAIC01MDQsMTMgKzU0OSwxNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVy
YXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsK
IAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRp
dGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAg
ICAgICAgICAgIHNjcmF0Y2hHUFIpOwotICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNj
cmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9
IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQ
b2x5UHJvdG8oKSkgeworICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7
IC8vIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCEgT09QUzogdGhpcyBpcyB1Z2x5LgorICAgICAgICAg
ICAgLy9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gbG9hZCFcbiIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAg
ICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAg
IH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAg
ICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21B
Y2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9
IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC01NjksNiArNjE4LDkgQEAgdm9pZCBBY2Nlc3ND
YXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
KyAgICAgICAgLy9pZiAobV90eXBlID09IEdldHRlciAmJiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWlu
Lm1faGFzUG9seVByb3RvKQorICAgICAgICAvLyAgICBqaXQucHJpbnQoIkRvaW5nIGdldHRlciBj
YWxsIGZvciBwb2x5IHByb3RvXG4iKTsKKwogICAgICAgICAvLyBTdHVmZiBmb3IgY3VzdG9tIGdl
dHRlcnMvc2V0dGVycy4KICAgICAgICAgQ0NhbGxIZWxwZXJzOjpDYWxsIG9wZXJhdGlvbkNhbGw7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAko
cmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vz
c0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNG
dW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5o
IgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1h
UHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTE4Niw4ICsxODcsMTAgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB+QWNjZXNzQ2FzZSgpOwogCisgICAgY29uc3QgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4mIHByb3RvdHlwZUFjY2Vzc0NoYWluKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5
cGVBY2Nlc3NDaGFpbjsgfQorCiBwcm90ZWN0ZWQ6Ci0gICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluKCkpOwogICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVm
YXVsdDsKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVs
ZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0ZSA9IFByaW1vcmRpYWw7IH0KQEAg
LTIyNyw2ICsyMzAsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
c3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25T
ZXQ7CisKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChs
aXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworCisgICAg
ICAgICAgICBpZiAoYWNjZXNzLnByb3RvdHlwZUFjY2Vzc0NoYWluKCkudXNlc1BvbHlQcm90bygp
KQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRy
dWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFj
Y2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFs
CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFj
Y2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBj
dXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRl
clNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25k
aXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpT
T2JqZWN0KiBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBvd25l
ciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNl
dCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKLSAgICBQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90
QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUp
CisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVy
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1
dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlw
ZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpA
QCAtNjMsNyArNjMsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVy
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
dmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgcHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAg
IHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0
dXJuIFdURk1vdmUocmVzdWx0KTsKQEAgLTc0LDcgKzc0LDggQEAgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsK
ICAgICBBU1NFUlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8
fCB0eXBlID09IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZt
LCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51
bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgLy8gT09QUzogZG8gc29tZXRoaW5nIGhlcmUK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbigpKSk7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLnNldHRlciA9IGN1
c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMSArNDks
OCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVh
dGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkg
PSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIs
Ci0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAg
SlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwKLSAgICAgICAgc3RkOjpvcHRpb25h
bDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGJvb2wg
dmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKKyAgICAgICAgSlNPYmplY3Qq
IGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5v
dGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVB
Y2Nlc3NDaGFpbigpKTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
Y3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVy
dHlPZmZzZXQsCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLApAQCAtNjcsNyArNjQsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3Rv
bUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nh
c2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKIAogICAgIEdldHRlclNldHRlckFjY2Vz
c0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSYpOwogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKwor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBp
bmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBB
U1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NF
UlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKHZt
KS0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBw
cm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPnBvbHlQcm90b1N0cnVjdHVyZSh2
bSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5p
bmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3Ig
PSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXpl
KGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9y
OworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAg
ICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxz
ZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2Fs
bCBpbnRvIGEgZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMg
cG9seSBwcm90bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVu
dGFsbHkgZ2V0IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEo
dm0pOworICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQor
ICAgICAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAg
ICAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nh
c3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlKCkpKSB7CisgICAgICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5u
b3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9y
IGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7CisgICAgICAgICAgICBpc1BvbHlQcm90byA9
IGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9Cisg
ICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhh
dCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAv
LyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUg
cmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BT
OiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFz
c2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKyAgICAKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUg
Y2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3Ip
IHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2Nh
dGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGlu
ZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0
eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChw
cm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmlu
Z3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5
TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwor
CisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyMzI5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsK
LSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1
cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4K
LSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElu
bGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAg
ICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4g
aGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
LSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2Nh
dG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
Ci0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFs
bG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
LQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rv
ciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAgIHsKQEAgLTEy
NiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2Jq
ZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3Qg
Y291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgm
dm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9k
ZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYg
cHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5h
bWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVW
ZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5
cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAg
Ly8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nh
c3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0K
LSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7
Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0
b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNv
ZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1OCw2ICsyNTgsMTEgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2Vu
ZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52
YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIE9PUFM6IFdlIG5lZWQgc29tZSBzdG9y
eSBoZXJlIG9mIGFuIGludGVybGVhdmluZy4KKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAg
ICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2Jq
ZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
dG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5
cGVBY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpT
QyB7CisKK1Byb3RvdHlwZUFjY2Vzc0NoYWluOjpQcm90b3R5cGVBY2Nlc3NDaGFpbihKU09iamVj
dCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90KQoreworICAgIC8vIE9PUFM6IGNvbnNp
ZGVyIERPTSBwcm94eSBoZXJlLiBBbHNvLCBwcm94eSBpbiB0aGUgcHJvdG90eXBlIGNoYWluPwor
CisgICAgSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgp
OworCisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNs
b3Quc2xvdEJhc2UoKTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKworICAgIHdoaWxlICh0
cnVlKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKTsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpIHsKKyAgICAgICAgICAg
IG1faXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkgeworICAgICAgICAgICAgICAgIG1f
aXNWYWxpZCA9IGZhbHNlOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwg
Y3VycmVudCk7CisgICAgICAgIH0KKworICAgICAgICBtX2NoYWluLmFwcGVuZChzdHJ1Y3R1cmUp
OworCisgICAgICAgIGlmIChjdXJyZW50ID09IHRhcmdldCkgeworICAgICAgICAgICAgZm91bmQg
PSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBv
bmx5IGhhdmUgcG9seSBwcm90byBpZiB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJvdG90eXBlIHZp
YQorICAgICAgICAvLyB0aGUgcG9seSBwcm90byBwcm90b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBp
cyB0aGUgb25seSBwb2x5IHByb3RvCisgICAgICAgIC8vIHRoaW5nIGluIHRoZSBjaGFpbiwgYW5k
IHdlIGhhdmUgYSBjYWNoZSBoaXQgb24gaXQsIHRoZW4gd2UncmUgbm90CisgICAgICAgIC8vIHBv
bHkgcHJvdG8uCisgICAgICAgIG1fdXNlc1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKGN1cnJlbnQpOyAvLyBtYXliZSBwcm90b3R5cGUgZm9yIGxvb2t1cCBo
ZXJlPworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KKworICAgIGlm
ICghZm91bmQgJiYgISF0YXJnZXQpIHsKKyAgICAgICAgLy8gT09QUzogd291bGQgdGhpcyBhY3R1
YWxseSBjb21lIHVwIGZvciByZWFsIHByb2dyYW1zPworICAgICAgICAvLyBOZWVkIHRvIGNvbnNp
ZGVyLiBJIHRoaW5rIGl0IGRvZXMgc2luY2UgYnVpbGRpbmcgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQKKyAgICAgICAgLy8gc2VlbXMgdG8gYXNzdW1lIHRoaXMgaXMgcG9zc2libGUuCisgICAg
ICAgIG1faXNWYWxpZCA9IGZhbHNlOworICAgIH0KK30KKworfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFj
Y2Vzc0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTT2JqZWN0Owor
Y2xhc3MgUHJvcGVydHlTbG90OworY2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQoUHJvdG90eXBlQWNjZXNz
Q2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7
CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mKSA9
IGRlZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90eXBlQWNjZXNzQ2hhaW4m
JikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKEpTT2JqZWN0KiBiYXNlLCBj
b25zdCBQcm9wZXJ0eVNsb3QmKTsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3BlcmF0b3I9
KFByb3RvdHlwZUFjY2Vzc0NoYWluJiYpID0gZGVmYXVsdDsKKworICAgIGJvb2wgaXNWYWxpZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQorCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkg
Y29uc3QgeyByZXR1cm4gbV91c2VzUG9seVByb3RvOyB9CisKKyAgICBjb25zdCBWZWN0b3I8U3Ry
dWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jaGFpbjsgfQorCitwcml2YXRlOgor
ICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAvLyBJbmNsdWRlcyBiYXNlJ3Mgc3RydWN0
dXJlIGZvciBub3csIGJ1dCBwZXJoYXBzIHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQuCisgICAgYm9v
bCBtX3VzZXNQb2x5UHJvdG8geyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1ZhbGlkIHsgdHJ1ZSB9
OworfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJs
ZUFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJs
ZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNl
KHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkK
K1Byb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKKyAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNl
KHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwg
bV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm90
b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBBU1NFUlQodHlw
ZSA9PSBMb2FkIHx8IHR5cGUgPT0gTWlzcyB8fCB0eXBlID09IEdldEdldHRlcik7Ci0gICAgcmV0
dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5
LCBhZGRpdGlvbmFsU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBwcm90b3R5cGVBY2Nl
c3NDaGFpbikpOwogfQogCiBQcm94eWFibGVBY2Nlc3NDYXNlOjp+UHJveHlhYmxlQWNjZXNzQ2Fz
ZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94
eWFibGVBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDEzICszMywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgUHJveHlhYmxlQWNjZXNzQ2Fz
ZSA6IHB1YmxpYyBBY2Nlc3NDYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEFjY2Vzc0Nhc2Ug
QmFzZTsKKyAgICB1c2luZyBCYXNlID0gQWNjZXNzQ2FzZTsKIAogICAgIGJvb2wgdmlhUHJveHko
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3ZpYVByb3h5OyB9CiAgICAgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYWRkaXRpb25hbFNl
dC5nZXQoKTsgfQogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVh
dGUoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0ID0gbnVsbHB0cik7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIFByb3RvdHlwZUFjY2Vzc0No
YWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50
U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBA
IHB1YmxpYzoKICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAg
UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFj
Y2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKIHBy
aXZhdGU6CiAgICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MzA4LDYgKzQzMDgsOCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2Nr
KHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIG9wX2NyZWF0ZV90aGlzOiB7Cisg
ICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdoIHRoaXMgY29kZS4KKwogICAgICAgICAg
ICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwog
ICAgICAgICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjYWxsZWVPcGVy
YW5kKSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwq
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50
eXBlKCkgPT0gSlNGdW5jdGlvblR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2Fz
dDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0
eSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAg
ICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7Cisg
ICAgICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1
Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisg
ICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZz
ZXQoKSwgY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUp
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0g
Y29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYwLDYgKzQzNjAsOCBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIC8vIHRoZW4g
d2Ugc3BlY3VsYXRlIGJlY2F1c2Ugd2Ugd2FudCB0byBnZXQgcmVjb21waWxlZCBpZiBpdCBpc24n
dCAoc2luY2UKICAgICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2Qgc3RhcnQgdGFraW5nIHNsb3cgcGF0
aCBhIGxvdCkuCiAgICAgICAgIAorICAgICAgICAvLyBPT1BTOiB3ZSBzaG91bGQgZ28gc2xvdyBw
YXRoIGhlcmUgZm9yIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICAKICAgICAgICAgU3Bl
Y3VsYXRlQ2VsbE9wZXJhbmQgY2FsbGVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAg
R1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IGFsbG9jYXRv
cih0aGlzKTsKQEAgLTQzODQsNyArNDM4NiwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0
UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5s
b2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRh
OjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0
LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURh
dGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBz
bG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywg
YWxsb2NhdG9yR1BSKSk7CisKKyAgICAgICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRl
ciBoZXJlCisgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QWRkcmVzcyhzdHJ1Y3R1
cmVHUFIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKyAgICAg
ICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRj
aEdQUikpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxw
dHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNo
R1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBp
bGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwg
cmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNiArNzcwLDggQEAgdm9pZCBKSVQ6OmVt
aXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rp
b25SZWcgPSByZWdUNDsKICAgICBSZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAg
IC8vIE9PUFM6IHRoaXMgaXMgd3Jvbmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0
dWFsUmVnaXN0ZXIoY2FsbGVlLCBjYWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgo
Tm90RXF1YWwsIEFkZHJlc3MoY2FsbGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgp
KSwgVHJ1c3RlZEltbTMyKEpTRnVuY3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhj
YWxsZWVSZWcsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsK
QEAgLTc3Nyw2ICs3NzksOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVj
dGlvCiAgICAgbG9hZFB0cihBZGRyZXNzKHJhcmVEYXRhUmVnLCBGdW5jdGlvblJhcmVEYXRhOjpv
ZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvclJlZyk7CiAgICAgbG9hZFB0cihBZGRy
ZXNzKHJhcmVEYXRhUmVnLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUo
KSksIHN0cnVjdHVyZVJlZyk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoVGVzdFB0cihaZXJvLCBh
bGxvY2F0b3JSZWcpKTsKKyAgICAvLyBPT1BTLCB3ZSBjYW4gZG8gYmV0dGVyIGhlcmUhCisgICAg
bG9hZDY0KEFkZHJlc3Moc3RydWN0dXJlUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgp
KSwgc2NyYXRjaFJlZyk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoSWZJbnQzMihKU1ZhbHVlUmVn
cyhzY3JhdGNoUmVnKSkpOwogCiAgICAgbG9hZFB0cihjYWNoZWRGdW5jdGlvbiwgY2FjaGVkRnVu
Y3Rpb25SZWcpOwogICAgIEp1bXAgaGFzU2Vlbk11bHRpcGxlQ2FsbGVlcyA9IGJyYW5jaFB0cihF
cXVhbCwgY2FjaGVkRnVuY3Rpb25SZWcsIFRydXN0ZWRJbW1QdHIoSlNDZWxsOjpzZWVuTXVsdGlw
bGVDYWxsZWVPYmplY3RzKCkpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBh
dGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVD
YWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisg
ICAgICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM4IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAg
ICAgICAgIGlmIChKU09iamVjdCogYmFzZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwg
YmFzZUNlbGwpKSB7CisgICAgICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGVhY2ggUHJvdG90
eXBlQWNjZXNzQ2hhaW4gYWJvdXQgbm9uIG9iamVjdAorICAgICAgICAgICAgICAgIC8vIGJhc2Vz
LgorICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNz
Q2hhaW4oYmFzZSwgc2xvdCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGlmICghcHJvdG90
eXBlQWNjZXNzQ2hhaW4uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgLy8gT09QUzogVGhp
cyBvYnZpb3VzbHkgaXMgbm90IGNvcnJlY3QuCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVV
cE9uQ2FjaGU7CisgICAgICAgICAgICB9IAorCisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFj
Y2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgICAgIGlmIChzbG90Lmlz
VW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNv
bmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29k
ZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQor
CiAKLSAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6
IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAg
Ly8gT09QUzogYXJlIHRoZXNlIGV4cHJlc3Npb24gZXF1aXZhbGVudD8KKyAgICAgICAgICAgIC8v
b2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9uU2V0LnNs
b3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBvZmZzZXQgPSBzbG90Lmlz
VW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICB9
CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVsbHB0cjsKQEAgLTI5OSw3ICszMTYs
NyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNV
bnNldCgpKSB7CiAgICAgICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6
OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3Mg
OiBBY2Nlc3NDYXNlOjpMb2FkLAotICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQo
KSk7CisgICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBwcm90b3R5cGVBY2Nl
c3NDaGFpbik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFjY2Vzc0Nh
c2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJs
ZUdldHRlcigpKQpAQCAtMzE2LDcgKzMzMyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0
cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwKICAg
ICAgICAgICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFibGVD
dXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAgICAgICAgICAg
ICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRy
LAotICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgICAg
ICBkb21BdHRyaWJ1dGUsIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25l
ZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDksNyArNDksNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAg
ICAgICAgIHJldHVybiAwOwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0gICAgaWYgKFVO
TElLRUxZKHN0cnVjdHVyZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAgICBpZiAoVU5M
SUtFTFkoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSh2
bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKGFzT2JqZWN0KHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKCkpKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVy
Zmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAg
ICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rv
ckxlbmd0aDsKIApAQCAtODEsNyArODEsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3Vt
ZW50czo6Y3JlYXRlCiAgICAgLy8gTkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0
aGUgZ2xvYmFsIG9iamVjdCBvZiBvZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAog
ICAgIC8vIG9mIHRoZSBjYWxsZWUuIFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJl
IHdlIHNob3VsZC4KICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZt
LCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgp
LCBjYWxsZWUsIGxlbmd0aCk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVy
ZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2
bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIApAQCAtMTI1LDE0ICsxMjUsMTQgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNTRVJUKG15RnJhbWUtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1cmUo
KSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyog
Q2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFt
ZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2RlKQogewogICAgIENs
b25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRh
cmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJl
KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0
cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1
cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIApAQCAtMTQ1LDcgKzE0NSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRz
OjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAg
ICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1Zh
bHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRl
eGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0MiwxMiBAQCBTTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMpCiAgICAgICAgIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwg
c3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGlzIHRoaXMg
cmlnaHQ/CisgICAgICAgICAgICBjYWNoZVdyaXRlQmFycmllci5zZXRXaXRob3V0V3JpdGVCYXJy
aWVyKEpTQ2VsbDo6c2Vlbk11bHRpcGxlQ2FsbGVlT2JqZWN0cygpKTsKKyAgICAgICAgfQorICAg
ICAgICAvL2RhdGFMb2dMbigiY3JlYXRlX3RoaXMgcmVzdWx0OiAiLCBKU1ZhbHVlKHJlc3VsdCkp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3Jn
L2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAg
IEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0
YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVE
YXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUo
dm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3Ry
dWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJl
YXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2
b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lk
IGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBj
b25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFs
aXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVl
OjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAg
ICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFz
Q2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNv
bnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQo
IiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRl
cihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3Ry
dWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0g
ICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAg
ICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgp
KTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgi
VHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAgRnVuY3Rp
b25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVBbgogICAgIGlmICghcHJvdG90eXBlKQog
ICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwogICAg
IEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZt
KTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5p
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0
aHJlYWQgbWF5IGJlIHRyeWluZyB0byByZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50
IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNTMsNyAr
MTUzLDcgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6aW5pdGlhbGl6ZQogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwogICAg
IGlmICghcHJvdG90eXBlKQogICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVj
dFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAg
ICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1f
cmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM0MSw2ICszNDEsMTggQEAgRW5jb2RlZEpTVmFsdWUg
SlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhy
b3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVz
ZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlciIpKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGluZmVy
Q29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKFZNJiB2bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1ZSwg
SlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpz
RHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBlVmFsdWUpOworICAgIGlmICghcHJv
dG90eXBlKQorICAgICAgICByZXR1cm47CisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRh
ID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSk7CisgICAgaWYg
KHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAgICAgcmFyZURhdGEt
PmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBp
bmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIHJh
cmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkpCisgICAg
ICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNl
dHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5jdGlvbiIpOworfQorCiBib29sIEpTRnVuY3Rp
b246OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMs
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBW
TSYgdm0gPSBleGVjLT52bSgpOwpAQCAtNDUyLDYgKzQ2NCw3IEBAIGJvb2wgSlNGdW5jdGlvbjo6
cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1MKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUo
dm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBn
ZXRTbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAg
ICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3Bl
cnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVk
ZWQodm0sIHZhbHVlLCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAg
ICAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFs
dWUsIHNsb3QpOwogICAgIH0KQEAgLTUxOCw2ICs1MzEsOCBAQCBib29sIEpTRnVuY3Rpb246OmRl
ZmluZU93blByb3BlcnR5KEpTT2JqCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZt
KS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xv
dCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhp
c09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBv
ZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnZhbHVlKCkpCisgICAgICAg
ICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgZGVzY3JpcHRvci52YWx1ZSgp
LCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4g
QmFzZTo6ZGVmaW5lT3duUHJvcGVydHkob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2Ny
aXB0b3IsIHRocm93RXhjZXB0aW9uKTsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3
ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBw
cm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZz
ZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAg
ICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAg
ICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVU
byh2bSwgcHJvcGVydHlOYW1lLCB0aGlzKSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVND
SUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAK
QEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJ
bmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwog
ICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VO
VVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VS
VCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghc3Ry
dWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICBBU1NFUlQoIWluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5z
dHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUt
Pm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2Uq
IEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZs
eSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBs
ZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFy
cmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBT
dHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9u
KHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9u
UHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNl
dEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3Ry
dWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjA2LDcg
KzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYg
dm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3Ry
dWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1
cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29udGlndW91c0RvdWJs
ZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2
NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewot
ICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydElu
dDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNv
bnZlcnREb3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVy
biBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0Fy
cmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbih0aGlzKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1
b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlv
bikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRD
b250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0Fy
cmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJh
eVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRp
b24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0
cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQog
CiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVl
IHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0
OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICBy
ZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFs
SW50MzIodm0sIDApOwogICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNE
b3VibGVzIEpTT2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5n
VHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlm
IChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3Vs
ZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
KQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVy
biBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcgKzE1MDMs
NyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAg
c3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtF
TFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMo
KTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAg
ICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3Vy
ZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAg
IEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAg
IEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAg
ICAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAg
CiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJU
b0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElO
R19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAg
ICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAg
ICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsK
ICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAg
IAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VS
VCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0
Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAg
LTE2MzYsNyArMTYzNiw3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYg
dm0KICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKICAgICBzZXRTdHJ1
Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBpZiAoIW5l
d1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyh0
aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQ
cm90b3R5cGUodGhpcykpIHsKQEAgLTI3MjYsNyArMjcyNiw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlz
KSkgewogICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xv
d1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3Jh
Z2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAg
ICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJv
dyk7CkBAIC0yODc4LDcgKzI4NzgsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNs
b3dPckJleW9uCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JM
ZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBh
dHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAg
fQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewor
ICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsK
ICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2
bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAg
ICAgc3RvcmFnZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAg
ICBzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yKys7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg2Niw3ICs4
NjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VS
VChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhl
YXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKGdldFByb3Rv
dHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8ICFzdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgp
KSk7IC8vIE9PUFMgZmluZCBhIHdheSB0byBtYWtlIHRoaXMgd29yawogICAgICAgICBBU1NFUlQo
c3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7
CiAgICAgfQpAQCAtMTI5OCw3ICsxMjk4LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChW
TSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGly
ZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgp
OworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBp
bmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjKQpAQCAtMTQwMCw3ICsxNDAwLDggQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0Ojpn
ZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFi
bGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93
bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBPT1BTOiBUaGlzIGNvZGUg
bG9va3Mgd3Jvbmc/IFdoeSBkb2Vzbid0IGl0IGNhbGwgdGhlIGdldFByb3RvdHlwZSBmdW5jdGlv
biBob29rPworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5o
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19J
TkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09i
amVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAg
ICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUlu
dGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNP
YmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2
bSwgcHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0KSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+
cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAs
IHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5p
c1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7
CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHB1YmxpYzoKICAgICAKICAgICBKU09iamVjdCogcHJv
dG90eXBlKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwpIGNvbnN0CiAgICAgeworICAgICAg
ICAvLyBPT1BTLiBtYWtlIHN1cmUgaXQncyBvbmx5IEpTR2xvYmFsT2JqZWN0IHRoYXQgYWNjZXNz
ZXMgdGhpcy4KICAgICAgICAgQVNTRVJUKCFpc0NvbXBpbGF0aW9uVGhyZWFkKCkpOwogICAgICAg
ICByZXR1cm4gZ2V0KGdsb2JhbCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIH0KQEAg
LTEwMSwxMyArMTAyLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0
Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2JqZWN0KiBwcm90b3R5cGVDb25j
dXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAg
IAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRseSgpIGNvbnN0CiAgICAgewog
ICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTQzLDYgKzE0MywxMSBAQCBzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2Fs
bEZyYW1lCiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgp
KQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKworICAgICAgICAv
LyBPT1BTOiB0aGlzIGRlZmluaXRlbHkgbmVlZHMgc29tZSBtb3JlIHRob3VnaHQKKyAgICAgICAg
aWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJu
IEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAgICBpZiAodi5pc051bGwoKSkK
ICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjIsOSArNjIsMjkgQEAgaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVF
bQogICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAorICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKwogICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVj
dC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGlu
ZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
bnVsbHB0cjsKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgp
KSB7CisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3Ry
dWN0dXJlKHZtKS0+cmFyZURhdGEoKTsKKyAgICAgICAgaWYgKEpTVmFsdWUgaW5mZXJyZWRDb25z
dHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0gcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSB7CisgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBw
b2x5UHJvdG9TdHJ1Y3R1cmUgPSByYXJlRGF0YS0+cG9seVByb3RvU3RydWN0dXJlKHZtKSkgewor
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcG9seVByb3RvU3RydWN0dXJlOworICAg
ICAgICAgICAgfSAKKworICAgICAgICAgICAgaWYgKHJhcmVEYXRhLT5uZWVkc1BvbHlQcm90b1N0
cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNy
ZWF0ZSgKKyAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICAgICAgcmFyZURhdGEtPnNldFBvbHlQcm90b1N0
cnVjdHVyZSh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
KyAgICBpZiAoIXN0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNy
ZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8s
IGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1f
c3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CiAgICAgcmV0
dXJuIHN0cnVjdHVyZTsKIH0KQEAgLTczLDcgKzkzLDcgQEAgU3RydWN0dXJlKiBQcm90b3R5cGVN
YXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBp
bmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50
ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGluZSBjYXBhY2l0
eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3RydWN0dXJlLT5p
bmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0
aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMocHJvdG90eXBlKSAmJiBoYXNJ
bmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAo
aW5kZXhpbmdUeXBlICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VT
aGFwZTsKIAogICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCksIGluZGV4aW5nVHlwZSwgMCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsy
NDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBK
U0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2Fw
YWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0g
ICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQor
ICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkK
ICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNp
dGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKQEAgLTI5NSw2ICsyOTUsMjggQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBj
ZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1
Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcs
IFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywg
SW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7Cisg
ICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKwor
ICAgIC8vZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50
ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3Vs
dC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUgdGhpcyBzaG91bGQgYWx3YXlz
IHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9u
KAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+dW5kZXJzY29yZVByb3RvLCBEb250RW51
bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9m
ZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09QUzogbGV0
cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHByb3RvLCBz
aW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVhZHkga25v
d3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgLy9kYXRh
TG9nTG4oIlNldHRpbmcgbV9wcm90b3R5cGUgdG86ICIsIGpzTnVtYmVyKG9mZnNldCkpOworICAg
ICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zm
c2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7
CisgICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6
OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUq
LCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYg
dGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwxNyAr
NDIwLDE5IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICBy
ZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0
dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3Ry
dWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0g
dGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8v
IE9PUFM6IExldCdzIGp1c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/CisgICAgVk0mIHZtID0gKmJh
c2UtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsK
KyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAotICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAg
ICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgp
OworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICB9CiB9CiAKQEAg
LTQzNiwxNSArNDYwLDE2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJ
bmRleGluZygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoSlNP
YmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKQorICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVy
ZSgpID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgSlNPYmplY3QqIG1ldGhvZD8K
KyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhi
YXNlKQogICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOwogfQog
Ci1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKCkgY29uc3QKK05vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAg
aWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5n
KGJhc2UpKSAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgYSBKU09iamVjdCogbWV0aG9kCiAgICAg
ICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3Rv
cmFnZTsKICAgICAKICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFy
cmF5U3RvcmFnZTsKQEAgLTExMjEsMjAgKzExNDYsMjQgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJ
ZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVy
ZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSkKK2Jvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2Vw
dFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU09iamVjdCogYmFz
ZSkKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOyAv
LyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgYSBKU09iamVjdCogbWV0aG9kLgorCiAgICAgaWYgKHBh
cnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdElu
Q2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoYmFzZSk7CiAgICAgCi0gICAgZm9yIChT
dHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgZm9yIChKU09iamVjdCogY3VycmVu
dCA9IGJhc2U7IDspIHsKKyAgICAgICAgLy8gT09QUzogTWF5YmUgdGhpcyBuZWVkcyBzb21lIGNs
b3NlciBhdHRlbnRpb24sIGJ1dCBJJ20gbm90IHN1cmUgaG93IHdlIGNhbiBzYXkKKyAgICAgICAg
Ly8gbXVjaCBhYm91dCBvdXIgcHJvdG90eXBlIGNoYWluIHdpdGhvdXQga25vd2luZyBjb25zdGFu
dCBwcm90b3R5cGUgdmFsdWVzLi4uCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVu
dC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgICAgICBjdXJyZW50ID0g
cHJvdG90eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOworICAgICAgICBjdXJyZW50ID0gYXNP
YmplY3QocHJvdG90eXBlKTsKICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7
Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVy
dHlOYW1lLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3Vy
cmVudC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwog
ICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGlj
OgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFs
OwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlw
ZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25B
cnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJl
KiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUg
PSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1
cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAg
ICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxs
KCkpOworICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlw
ZS5pc051bGwoKSB8fCBtX3Byb3RvdHlwZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTI0MCwxOSAr
MjQyLDM3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGlu
Z0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAot
ICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCopIGNvbnN0Owog
ICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7CiAgICAgICAg
IAotICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0
eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAg
IGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoSlNPYmplY3QqKSBjb25zdDsKKyAgICBOb25Qcm9w
ZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVjdCop
IGNvbnN0OwogICAgICAgICAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29u
c3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KIAogICAgIC8vIE5PVEU6IFRoaXMg
bWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVj
dHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMg
cHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgogICAgIHZvaWQg
c2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBt
X2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KLSAgICAgICAgCi0g
ICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZS5n
ZXQoKTsgfQorCisgICAgYm9vbCBoYXNTdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuICFtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCk7CisgICAgfQorICAgIEpT
VmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgLy8gT09QUy4gbWF5YmUgZGVidWcg
YXNzZXJ0aW9uIGhlcmU/CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9
CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVy
biBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVk
UHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFBy
b3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09i
amVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cChFeGVjU3RhdGUqKSBjb25zdDsKQEAgLTI3NCwxMiArMjk0LDI1IEBAIHB1YmxpYzoKICAg
ICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7CiAgICAgICAgIAogICAgIC8vIFdpbGwg
anVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8K
LSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUsIEpTT2JqZWN0
Kik7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICBy
ZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisg
ICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFT
U0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVy
ZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0
cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBp
ZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAg
ICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJl
dmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNzMyLDEyICs3NjUsNiBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7
CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAg
IH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tP
ZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25z
dDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koKSBjb25zdDsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4u
aAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIAog
ICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwogICAgICAgICBtX3ZlY3RvciA9IFdURk1v
dmUodmVjdG9yKTsKKyAgICAgICAgLy8gT09QUzogSSB0aGluayB3ZSBtYXkgbmVlZCBhIHdyaXRl
IGJhcnJpZXIgaGVyZSBvZiB8dGhpc3wuCiAgICAgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3Rv
cmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsK
ICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjks
NiArNzAsNyBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlu
bGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29u
c3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNP
YmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTQwMCw5ICs0MDIsMzkgQEAgaW5saW5lIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVy
dHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRh
YmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3Ry
dWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7
CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUp
OwogfQorCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmpl
Y3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAo
aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsK
KyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICBy
ZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09i
amVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9i
amVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09
IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICBKU1ZhbHVlIHByb3Rv
ID0gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisK
K0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVj
dHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCog
cHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHBy
b3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KICAgICAKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
UmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1
ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNs
dWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03
MCw2ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFw
cGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUpOwogfQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0cnVjdHVyZVJhcmVE
YXRhOjpjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAgLTE3NSw2ICsxNzcs
NTMgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQogICAgIG1fb2Jq
ZWN0VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitKU1ZhbHVlIFN0cnVjdHVyZVJhcmVEYXRh
OjppbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKQoreworICAgIHJldHVy
biBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5nZXQoKTsKK30KKwor
Ym9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQor
eworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0g
dGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgaWYg
KCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpz
RHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUpKQorICAgICAgICByZXR1cm4gaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFz
QmVlbkludmFsaWRhdGVkKCk7CisgICAgQVNTRVJUKGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZS5hc0NlbGwoKS0+aW5oZXJpdHModm0sIFN0cnVjdHVyZTo6aW5mbygpKSk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZVJhcmVEYXRhOjpw
b2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlKCk7CisgICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBqc0R5bmFt
aWNDYXN0PFN0cnVjdHVyZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1
Y3R1cmUpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjppc1BvbHlQcm90byhWTSYgdm0p
Cit7CisgICAgcmV0dXJuIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKHZtKSB8fCAhIXBvbHlQcm90
b1N0cnVjdHVyZSh2bSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRzSW5mZXJy
ZWRDb25zdHJ1Y3RvcigpCit7CisgICAgcmV0dXJuICFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUoKTsKK30KKworSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6
OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mIHZtKQoreworICAgIFJFTEVBU0VfQVNTRVJU
KCFtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgSW5mZXJy
ZWRWYWx1ZSogcmVzdWx0ID0gSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKTsKKyAgICBtX2luZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHJlc3VsdCk7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6c2V0UG9s
eVByb3RvU3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgbV9p
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1
Y3R1cmUpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5
cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAK
IE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmlu
Z0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJl
dmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3Ry
dWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDIyIEBAIHB1YmxpYzoKICAgICBKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsK
ICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBw
cm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2gg
dGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUg
dGhlIFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGlj
aCBtaWdodCBiZSB0aGUgInByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9y
LiBJZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhh
dmUgYSBjb25zdGFudCBjb25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSBwb2ludHMgdG8gYW4gSW5mZXJyZWRW
YWx1ZSBpbmZlcnJpbmcgYQorICAgIC8vIEpTRnVuY3Rpb24uIElmIHdlIG5vdGljZSB0aGF0IHdl
IGdvIHBvbHkgcHJvdG8sIHRoZW4gdGhpcyBmaWVsZCBlaXRoZXIgcG9pbnRzIHRvIGFuIEluZmVy
cmVkVmFsdWUKKyAgICAvLyB0aGF0IGlzIGludmFsaWRhdGVkLiBJZiB3ZSBldmVyIGNvbnN0cnVj
dCBhbiBvYmplY3Qgd2hvJ3MgX19wcm90b19fIHBvaW50cyB0byB0aGlzIHByb3RvdHlwZSwgdGhl
bgorICAgIC8vIHdlIG1vdmUgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUgdG8gdGhlIFN0cnVjdHVyZSBvZiB0aGUgb2JqZWN0IHRoYXQgc2hvdWxkIGJlIGNyZWF0ZWQK
KyAgICAvLyB0aGF0IGhhcyBwb2x5IHByb3RvLgorICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUlu
ZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGJvb2wgbmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUo
Vk0mKTsKKyAgICBib29sIG5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpOworICAgIHZvaWQgc2V0
UG9seVByb3RvU3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CisgICAgU3RydWN0dXJlKiBwb2x5
UHJvdG9TdHJ1Y3R1cmUoVk0mKTsgLy8gTWF5IGJlIG51bGxwdHIgaWYgbm90IHBvbHkgcHJvdG8g
b3IgcG9seSBwcm90byBzdHJ1Y3R1cmUgaGFzIHlldCB0byBiZSBpbnN0YW50aWF0ZWQuCisgICAg
Ym9vbCBpc1BvbHlQcm90byhWTSYpOworCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJp
dmF0ZToKQEAgLTc2LDYgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4gbV9vYmplY3RUb1N0
cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I+IG1f
Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4g
bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmU7CiAgICAgCiAgICAgdHlw
ZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4sIFdURjo6
SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9pbnRTZXRz
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJ
KHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRl
QmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUpIHsgbV92
YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVyKCkgY29u
c3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigpIGNvbnN0
IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJl
dHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321485</attachid>
            <date>2017-09-21 15:29:35 -0700</date>
            <delta_ts>2017-09-21 18:45:11 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>115703</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYg
KzIyNyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUv
TWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFj
ZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0
ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0
eUNvbmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAog
Ynl0ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUv
UHJvZ3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0
ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3ND
YXNlLmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1
cy5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA2MSw2ICsxMDYxLDcgQEAKIAkJNzkxOUI3
ODAxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29t
cGlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTc5MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAv
KiBKSVRNYXRoSUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0
RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAv
KiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlF
RSAvKiBHZXRQdXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0
ZXJzQnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3Rl
cnNCeUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5
Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5OSw2ICszNTAwLDggQEAKIAkJNzkyMzNDMjkxRDM0
NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKSVRNYXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcx
QzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3Jp
Z2luTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2lu
TWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJB
NDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3
NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBp
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBH
ZXRQdXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5
OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5
R3JhcGhDb2xvcmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdy
YXBoQ29sb3JpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM0MSw2ICs3
MzQ0LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9j
ay5oICovLAogCQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlv
bi5jcHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0
aW9uLmggKi8sCisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJ
ZEZsYWdzLmNwcCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZs
YWdzLmggKi8sCiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMu
Y3BwICovLApAQCAtODUyOSw2ICs4NTM0LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdG
RUQgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNF
NDFCNEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1h
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3Rv
dHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBE
Njk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1
Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAv
KiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNSArNDksMTggQEAKICNpbmNsdWRlICJTdXBlclNhbXBs
ZXIuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKIAorI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyUHJpbnRlci5oIgorCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEFjY2Vzc0Nh
c2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUFj
Y2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpBY2Nl
c3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQor
ICAgICwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbihwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAg
ICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1f
Y29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0OwpAQCAtMTUxLDYgKzE1NCw5IEBAIGJvb2wgQWNj
ZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNl
c1BvbHlQcm90bygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fdHlw
ZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CkBAIC0y
MzAsNiArMjM2LDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIAog
ICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1
Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwogCisgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWluID0gIiwgbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bik7CisKICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAgICAgICAgIG91dC5wcmlu
dChjb21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAoIW1fY29uZGl0aW9uU2V0
LmlzRW1wdHkoKSkKQEAgLTI0Myw2ICsyNTIsMTAgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdl
YWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJr
ZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKSkgewor
ICAgICAgICBpZiAoIUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZlKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0yNzMs
NiArMjg2LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAg
IGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZD
aGVhcCh2aXNpdG9yKTsKIAorICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluLmNoYWluKCkpCisgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1h
cmtJZkNoZWFwKHZpc2l0b3IpOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRy
YW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVj
dHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArMzg4LDY0IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBp
ZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFz
ZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwot
Ci0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFs
bFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVy
ZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAg
ICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAg
ICAgIC8vZGF0YUxvZ0xuKCJHZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAg
ICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAg
ICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAg
ICAgICAgICBqaXQubW92ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNo
YWluKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKVtpXTsKKyAgICAgICAgICAgICAgICBi
b29sIGF0RW5kID0gaSArIDEgPT0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpLnNpemUo
KTsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAg
ICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAo
YXRFbmQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmICFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9m
ZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIE9PUFM6IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBuZWVkZWQgaWYg
d2UgdHJhbnNpdGlvbiBvbiBzZXR0aW5nIHRoZSBwcm90b3R5cGUuCisgICAgICAgICAgICAgICAg
ICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90
RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVl
TnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQu
bW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJh
c2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJv
dG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5s
aW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNl
Rm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vz
c0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJy
YW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsgLy8gT09QUzogdGhpcyBpc24ndCBuZWVkZWQg
aWYgd2Ugc3RpbGwgdHJhbnNpdGlvbiBvbiBzZXR0aW5nIG91ciBwcm90b3R5cGUuCisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJh
c2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAg
IHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAg
ICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5j
aDgoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2Vs
bDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAg
ICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQ
cm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVy
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAg
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlND
ZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dHVyZSgpKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJv
dWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1
Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7
CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAt
NDYzLDYgKzUxNyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSBNaXNzOgorICAgICAgICAvLyBPT1BTOgogICAg
ICAgICBqaXQubW92ZVRydXN0ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCB2YWx1ZVJlZ3MpOwogICAg
ICAgICBzdGF0ZS5zdWNjZWVkKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTUwNCwxMyArNTU5LDE3
IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAg
IGJhc2VGb3JHZXRHUFIgPSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNz
R1BSOwotICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAg
ICAgaml0Lm1vdmUoCi0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRy
KGFsdGVybmF0ZUJhc2UoKSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7Ci0gICAgICAg
ICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICBiYXNl
Rm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsgLy8gdmlhIGdlbmVyYXRlV2l0aEd1YXJkISBPT1BT
OiB0aGlzIGlzIHVnbHkuCisgICAgICAgICAgICAvL2ppdC5wcmludCgiRG9pbmcgcG9seSBwcm90
byBsb2FkIVxuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0
aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwg
c2NyYXRjaEdQUik7CisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hH
UFI7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BS
ID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1
ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVH
ZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0
b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKQEAgLTU2
OSw2ICs2MjgsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICAvL2lmIChtX3R5cGUgPT0gR2V0dGVy
ICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ubV9oYXNQb2x5UHJvdG8pCisgICAgICAgIC8vICAg
IGppdC5wcmludCgiRG9pbmcgZ2V0dGVyIGNhbGwgZm9yIHBvbHkgcHJvdG9cbiIpOworCiAgICAg
ICAgIC8vIFN0dWZmIGZvciBjdXN0b20gZ2V0dGVycy9zZXR0ZXJzLgogICAgICAgICBDQ2FsbEhl
bHBlcnM6OkNhbGwgb3BlcmF0aW9uQ2FsbDsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpA
QCAtMTg2LDggKzE4NywxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7
CiAKKyAgICBjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgcHJvdG90eXBlQWNjZXNzQ2hhaW4o
KSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOyB9CisKIHByb3RlY3RlZDoK
LSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jik7Cisg
ICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFByb3Rv
dHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAgICAgQWNjZXNzQ2Fz
ZShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWZhdWx0OwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9y
PShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBt
X3N0YXRlID0gUHJpbW9yZGlhbDsgfQpAQCAtMjI3LDYgKzIzMCw4IEBAIHByaXZhdGU6CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWlu
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJ
KHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRT
dGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vz
c0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNj
ZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xv
d1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MucHJvdG90eXBlQWNj
ZXNzQ2hhaW4oKS51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5
SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAg
aWYgKCFzdHJ1Y3R1cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9H
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjMy
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBm
YWxzZTsKIH0KIAotR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwg
b3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVBy
b3h5LCBhZGRpdGlvbmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5
cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVy
LCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwg
YWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgbV9jdXN0b21TbG90
QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgK
LSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdl
dHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0
ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFj
Y2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAg
ICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgUHJv
dG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0
eXBlKSB7CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02Myw3ICs2Myw3IEBAIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgfTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiBy
ZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9t
U2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4g
cmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3Rv
bVNsb3RCYXNlLCBwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgIHJlc3VsdC0+bV9kb21BdHRy
aWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRl
ciA9IGN1c3RvbUdldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwpAQCAtNzQsNyAr
NzQsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgSlNP
YmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0
eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIp
OwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3
IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICAv
LyBPT1BTOiBkbyBzb21ldGhpbmcgaGVyZQorICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVy
LCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwg
Y3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpKTsKICAgICByZXN1bHQtPm1f
Y3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJldHVybiBXVEZNb3Zl
KHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ5LDExICs0OSw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKICAgICAgICAgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQo
KSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxs
cHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3Rk
OjpudWxsb3B0KTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBu
dWxscHRyLAorICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLCBzdGQ6
Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0LCBQcm90b3R5
cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKICAgICAgICAgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51
bGxwdHIsCkBAIC02Nyw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3Nv
cigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6
Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2Vs
bCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4p
OwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1
bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1
bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOCArNDYsMTAg
QEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9u
UHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUg
fHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
OwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBw
b2x5bW9ycGhpYyBwcm90b3R5cGVzCiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsK
ICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFt
ZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NF
UlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAg
Ym9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIGlmIChjb25zdHJ1Y3RvcikgeworICAgICAg
ICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAg
ICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSkt
PnJhcmVEYXRhKCktPnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgICAgICB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsKKyAg
ICAgICAgICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5h
bGxvY2F0b3JGb3IoSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkp
KTsKKworICAgICAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgICAgICAg
ICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OworICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIE9PUFM6IFBy
b2JhYmx5IGNhbGwgaW50byBhIGRpZmZlcmVudCBwcm90b3R5cGVNYXAgZnVuY3Rpb24gaGVyZSB0
aGF0IG1ha2VzIHBvbHkgcHJvdG8sIHRoYXQgd2F5LAorICAgICAgICAvLyBubyBvbmUgZWxzZSBj
YW4gYWNjaWRlbnRhbGx5IGdldCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICBTdHJ1
Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3Vy
ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgaWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3Ry
dWN0b3IoKSkKKyAgICAgICAgICAgIHJhcmVEYXRhLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9y
KHZtKTsKKyAgICAgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzQ2Fz
dDxJbmZlcnJlZFZhbHVlKj4ocmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpKTsKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUo
dm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSIpOworICAgICAgICBpc1BvbHlQcm90byA9IGluZmVycmVkQ29uc3Ry
dWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICAvLyBPT1BTOiB3ZSBrbm93IGhl
cmUgaWYgd2UncmUgZG9pbmcgc29tZXRoaW5nIHRoYXQncyBwb2x5IHByb3RvLiBXZSBzaG91bGQg
cHJvYmFibHkgY29udmV5IHRoYXQKKyAgICAgICAgLy8gaW5mb3JtYXRpb24gaGVyZSBhbmQgYWxz
byBjb252ZXkgaWYgd2Uga25vdyB0aGF0IHdlJ3ZlIHJlc2VydmVkIGFuIGlubGluZSBzcGFjZSBm
b3IgdGhlIHByb3RvLgorICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsK
KyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJ
bmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBi
YXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
Kz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAg
ICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9i
amVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBk
aWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4g
VGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQg
cHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4g
YSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAg
ICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElu
bGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAg
IC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5h
bE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5
ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAo
aXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gT09QUzogbGV0cyBjb21tdW5pY2F0ZSB0aGlzIHRv
IHN0cnVjdHVyZSBjcmVhdGUuIEl0J3MganVzdCBhc3NlcnRpbmcgaXQgZ2V0cyBhbiBpbmxpbmUg
c2xvdC4KKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkg
PSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNp
dHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkp
OworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlv
blNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0g
dm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtl
IGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXpl
IGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxs
b2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmll
cjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlm
IChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisg
ICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCk7CisgICAgfQorCisgICAgLy8gT09QUzogbmVlZCB0byBtYWtlIHRoaXMgQVBJIG1vcmUg
Y2xlYXIuCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVy
IHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0
ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgbV9hbGxvY2F0b3IgPSBhbGxv
Y2F0b3I7CisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBt
X2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xv
YmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJy
YXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJv
bE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9w
ZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZl
Y3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNp
emUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVj
dCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJl
IGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90
IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwg
dmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAg
IH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1
OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVj
dHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0
b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lu
bGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0g
ICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7
Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAg
ICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0
aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwg
aW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlv
bnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vl
c3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAg
ICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0Ojph
bGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciog
YWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNp
dHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7
Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxv
Y2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAg
IGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJl
YWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0g
ICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7
Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAg
dm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
ZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBw
cml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYg
dm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09
IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAg
ICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVy
dHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJp
bmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90
b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJv
cGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1l
QXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3Bl
cnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAg
ICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5
TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBh
bmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRl
bi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUp
KQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3Nz
aWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAK
ICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtl
IHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZp
c2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4LDExIEBA
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAg
ICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJl
dHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisK
KyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAg
ICAgICAvLyBPT1BTOiBXZSBuZWVkIHNvbWUgc3RvcnkgaGVyZSBvZiBhbiBpbnRlcmxlYXZpbmcu
CisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQo
KTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CiAgICAgICAgIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNs
dWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworUHJvdG90eXBlQWNjZXNzQ2hh
aW46OlByb3RvdHlwZUFjY2Vzc0NoYWluKEpTT2JqZWN0KiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QpCit7CisgICAgLy8gT09QUzogY29uc2lkZXIgRE9NIHByb3h5IGhlcmUuIEFsc28s
IHByb3h5IGluIHRoZSBwcm90b3R5cGUgY2hhaW4/CisKKyAgICBKU09iamVjdCogY3VycmVudCA9
IGJhc2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBKU09iamVjdCogdGFyZ2V0
ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworCisgICAgYm9v
bCBmb3VuZCA9IGZhbHNlOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmlzUHJveHkoKSkgeworICAgICAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0Rp
Y3Rpb25hcnkoKSkgeworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZsYXR0ZW5l
ZEJlZm9yZSgpKSB7CisgICAgICAgICAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzdHJ1Y3R1cmUt
PmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBjdXJyZW50KTsKKyAgICAgICAgfQorCisg
ICAgICAgIG1fY2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQg
PT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdl
IG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHBy
b3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAg
ICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBp
dCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgbV91c2Vz
UG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoY3VycmVudCk7
IC8vIG1heWJlIHByb3RvdHlwZSBmb3IgbG9va3VwIGhlcmU/CisgICAgICAgIGlmIChwcm90b3R5
cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3VuZCAmJiAhIXRhcmdldCkgewor
ICAgICAgICAvLyBPT1BTOiB3b3VsZCB0aGlzIGFjdHVhbGx5IGNvbWUgdXAgZm9yIHJlYWwgcHJv
Z3JhbXM/CisgICAgICAgIC8vIE5lZWQgdG8gY29uc2lkZXIuIEkgdGhpbmsgaXQgZG9lcyBzaW5j
ZSBidWlsZGluZyBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldAorICAgICAgICAvLyBzZWVtcyB0
byBhc3N1bWUgdGhpcyBpcyBwb3NzaWJsZS4KKyAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7Cisg
ICAgfQorfQorCit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpkdW1wKFByaW50U3RyZWFtJiBv
dXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQcm90b3R5cGVBY2Nlc3NDaGFpbiIpOworICAg
IGlmICghaXNWYWxpZCgpKSB7CisgICAgICAgIG91dC5wcmludCgiIGlzIGludmFsaWQiKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodXNlc1BvbHlQcm90bygpKQorICAgICAgICBv
dXQucHJpbnQoIiB1c2VzUG9seVByb3RvIik7CisgICAgb3V0LnByaW50KCI6IFsiKTsKKyAgICBm
b3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgeworICAgICAgICBzdHJ1Y3R1cmUt
PmR1bXAob3V0KTsKKyAgICB9CisgICAgb3V0LnByaW50KCJdIik7Cit9CisKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBK
U09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVyZTsKKworY2xhc3Mg
UHJvdG90eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEKFByb3Rv
dHlwZUFjY2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkg
PSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKGNvbnN0IFByb3RvdHlwZUFjY2Vz
c0NoYWluJikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKFByb3RvdHlwZUFj
Y2Vzc0NoYWluJiYpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihKU09iamVj
dCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90Jik7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4m
IG9wZXJhdG9yPShQcm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRlZmF1bHQ7CisKKyAgICBib29s
IGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0KKworICAgIGJvb2wgdXNlc1Bv
bHlQcm90bygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc1BvbHlQcm90bzsgfQorCisgICAgY29uc3Qg
VmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKwor
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAgIHZvaWQgY2xlYXJD
aGFpbigpIHsgbV9jaGFpbi5jbGVhcigpOyB9CisKK3ByaXZhdGU6CisgICAgVmVjdG9yPFN0cnVj
dHVyZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5vdywgYnV0
IHBlcmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KKyAgICBib29sIG1fdXNlc1BvbHlQcm90
byB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzVmFsaWQgeyB0cnVlIH07Cit9OworCit9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFj
Y2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE3
ICszMCwxOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJv
eHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNz
VHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nl
c3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorUHJveHlhYmxlQWNjZXNz
Q2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5
cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAorICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm90b3R5cGVBY2Nl
c3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nl
c3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBwcm90b3R5cGVBY2Nlc3ND
aGFpbikKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQo
YWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5
YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
dHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWlu
IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlw
ZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQp
KTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiB9CiAK
IFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2Uu
aAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5h
bWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vz
c0Nhc2UgewogcHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5n
IEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCos
IEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAg
ICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBu
dWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVB
Y2Nlc3NDaGFpbigpKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVBy
aW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
Y2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIH5Q
cm94eWFibGVBY2Nlc3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAgICBQcm94eWFibGVBY2Nlc3ND
YXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCk7CisgICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpT
Q2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFk
ZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKIAogcHJpdmF0ZToKICAgICBib29s
IG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDgsNiAr
NDMwOCw4IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAg
ICAgfQogCiAgICAgICAgIGNhc2Ugb3BfY3JlYXRlX3RoaXM6IHsKKyAgICAgICAgICAgIC8vIE9P
UFM6IHRoaW5rIHRocm91Z2ggdGhpcyBjb2RlLgorCiAgICAgICAgICAgICBpbnQgY2FsbGVlT3Bl
cmFuZCA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBOb2Rl
KiBjYWxsZWUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGNhbGxlZU9wZXJhbmQpKTsKIApAQCAtNDMz
MCwxMiArNDMzMiwxNCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVk
CiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAgICAgICBpZiAoRnVuY3Rp
b25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxs
b2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZy
ZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9p
bnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQo
KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUg
dXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhh
bnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0
LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0
YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50Lgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1f
Z3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE3ODYsNyArMTc4Niw4IEBAIGJvb2wgR3JhcGg6OmNhbkRvRmFzdFNwcmVh
ZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUgPSBnbG9i
YWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdpbi5zZW1hbnRpYyktPmFycmF5UHJvdG90
eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICB2YWx1ZS5tX3N0cnVjdHVyZS5m
b3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpIHsKLSAgICAgICAgYWxs
R29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCisg
ICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKQorICAgICAg
ICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQog
ICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkKICAgICAgICAgICAgICYm
IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JT
eW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAgICAgICAmJiAhc3RydWN0dXJl
LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjQ0LDcgKzI0NCwxMyBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ3JlYXRlVGhp
CiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlvblR5cGUpIHsKICAgICAg
ICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5yYXJl
RGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhl
YywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpKTsKKyAg
ICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1
Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJNYWRlIHBv
bHkgcHJvdG8gb2JqZWN0OiAiLCBSYXdQb2ludGVyKHJlc3VsdCkpOworICAgICAgICAgICAgcmVz
dWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0cnVj
dG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29u
c3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYwLDYgKzQzNjAsOCBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIC8vIHRoZW4gd2Ug
c3BlY3VsYXRlIGJlY2F1c2Ugd2Ugd2FudCB0byBnZXQgcmVjb21waWxlZCBpZiBpdCBpc24ndCAo
c2luY2UKICAgICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2Qgc3RhcnQgdGFraW5nIHNsb3cgcGF0aCBh
IGxvdCkuCiAgICAgICAgIAorICAgICAgICAvLyBPT1BTOiB3ZSBzaG91bGQgZ28gc2xvdyBwYXRo
IGhlcmUgZm9yIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICAKICAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgY2FsbGVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BS
VGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IGFsbG9jYXRvcih0
aGlzKTsKQEAgLTQzODQsNyArNDM4NiwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRy
KE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2Fk
UHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpv
ZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93
UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxs
b2NhdG9yR1BSKSk7CisKKyAgICAgICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRlciBo
ZXJlCisgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QWRkcmVzcyhzdHJ1Y3R1cmVH
UFIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAg
c2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaEdQ
UikpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIs
IGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BS
LCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVy
OjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFy
ZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNiArNzcwLDggQEAgdm9pZCBKSVQ6OmVtaXRf
b3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rpb25S
ZWcgPSByZWdUNDsKICAgICBSZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAgIC8v
IE9PUFM6IHRoaXMgaXMgd3Jvbmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXIoY2FsbGVlLCBjYWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgoTm90
RXF1YWwsIEFkZHJlc3MoY2FsbGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwg
VHJ1c3RlZEltbTMyKEpTRnVuY3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxs
ZWVSZWcsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsKQEAg
LTc3OCw2ICs3ODAsMTAgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3Rp
bwogICAgIGxvYWRQdHIoQWRkcmVzcyhyYXJlRGF0YVJlZywgRnVuY3Rpb25SYXJlRGF0YTo6b2Zm
c2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6
Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJy
YW5jaFRlc3RQdHIoWmVybywgYWxsb2NhdG9yUmVnKSk7CiAKKyAgICAvLyBPT1BTLCB3ZSBjYW4g
ZG8gYmV0dGVyIGhlcmUhCisgICAgbG9hZDY0KEFkZHJlc3Moc3RydWN0dXJlUmVnLCBTdHJ1Y3R1
cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaFJlZyk7CisgICAgYWRkU2xvd0Nhc2UoYnJh
bmNoSWZJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkpOworCiAgICAgbG9hZFB0cihjYWNo
ZWRGdW5jdGlvbiwgY2FjaGVkRnVuY3Rpb25SZWcpOwogICAgIEp1bXAgaGFzU2Vlbk11bHRpcGxl
Q2FsbGVlcyA9IGJyYW5jaFB0cihFcXVhbCwgY2FjaGVkRnVuY3Rpb25SZWcsIFRydXN0ZWRJbW1Q
dHIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpKTsKICAgICBhZGRTbG93Q2Fz
ZShicmFuY2hQdHIoTm90RXF1YWwsIGNhbGxlZVJlZywgY2FjaGVkRnVuY3Rpb25SZWcpKTsKQEAg
LTgwMCw2ICs4MDYsNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1
CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBkb2Vzbid0IGhhdmUgYW4gYWxsb2NhdGlvbiBw
cm9maWxlCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCAobm8g
YWxsb2NhdG9yKQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQg
KGFsbG9jYXRvciBlbXB0eSkKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24g
ZmFpbGVkLCBzdHJ1Y3R1cmUgaGFzIHBvbHkgcHJvdG8KICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7
IC8vIGNhY2hlZCBmdW5jdGlvbiBkaWRuJ3QgbWF0Y2gKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBz
bG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfY3JlYXRlX3Ro
aXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAy
MjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNh
Y2hlR2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRP
ZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsNDAgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3Ry
dWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1
cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2Vu
Y2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAg
ICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0g
Z2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2
bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAg
ICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgaWYgKEpTT2Jq
ZWN0KiBiYXNlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBiYXNlQ2VsbCkpIHsKKyAg
ICAgICAgICAgICAgICAvLyBPT1BTOiBtYXliZSB0ZWFjaCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBh
Ym91dCBub24gb2JqZWN0CisgICAgICAgICAgICAgICAgLy8gYmFzZXMuCisgICAgICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbihiYXNlLCBzbG90
KTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJv
dG8oKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2xlYXJDaGFp
bigpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRp
dGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
LmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgIC8vIE9PUFM6IFRoaXMgb2J2aW91c2x5IGlz
IG5vdCBjb3JyZWN0LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAg
ICAgICAgICAgfSAKKworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi51c2Vz
UG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKwogCi0gICAgICAgICAg
ICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQu
c2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGFyZSB0
aGVzZSBleHByZXNzaW9uIGVxdWl2YWxlbnQ/CisgICAgICAgICAgICAvL29mZnNldCA9IHNsb3Qu
aXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlv
bigpLm9mZnNldCgpOworICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZh
bGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpT
RnVuY3Rpb24qIGdldHRlciA9IG51bGxwdHI7CkBAIC0yOTksNyArMzE4LDcgQEAgc3RhdGljIElu
bGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5zZXQoKSkgewogICAg
ICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNv
ZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDogQWNjZXNzQ2FzZTo6
TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOworICAgICAgICAg
ICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJv
bVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBBY2Nlc3NDYXNlOjpBY2Nlc3NUeXBl
IHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkKQEAg
LTMxNiw3ICszMzUsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlE
CiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksCiAgICAgICAgICAgICAgICAg
ICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90
LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAgICAgICAgICAgICAgc2xvdC5pc0Nh
Y2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDogbnVsbHB0ciwKLSAgICAgICAgICAg
ICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRl
LCBwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5
cGUuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShF
eGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0g
ICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVjdC0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpOwog
fQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0
aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02MTAs
NyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAg
ICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVjdCkp
CisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsK
ICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9p
bihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJs
ZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYg
KCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAg
ICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2Jq
ZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAg
ICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0K
QEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMo
KS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAo
Y29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVy
c2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xl
bmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZs
eS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRh
dGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2Jq
ZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3RvcmFn
ZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlm
IChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAm
JiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwog
ICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc0LDcgKzEx
NzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VMWSgh
aGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2UtPnN0
cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlmIChM
SUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpTVmFs
dWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAgIGlm
ICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJn
dW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3
ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAg
ICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtF
TFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VM
WShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHko
dm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBi
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVu
Z3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRz
OjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBn
bG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAg
Ly8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ug
c2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNh
bGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZt
KS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
CkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6
Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsK
LSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkp
OworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
cmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBF
eGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVk
QXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0
RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgp
LT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQog
CkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNy
ZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUo
KSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5n
VHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2
bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25T
bG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDEzIEBAIFNMT1dfUEFU
SF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFj
aXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNv
bnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0
eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1
Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSkpOworICAgICAgICAgICAgLy8gT09QUzogaXMgdGhpcyByaWdo
dD8KKyAgICAgICAgICAgIGNhY2hlV3JpdGVCYXJyaWVyLnNldFdpdGhvdXRXcml0ZUJhcnJpZXIo
SlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpOworICAgICAgICAgICAgLy9kYXRh
TG9nTG4oIk1hZGUgcG9seSBwcm90byBvYmplY3Q6ICIsIFJhd1BvaW50ZXIocmVzdWx0KSk7Cisg
ICAgICAgIH0KKyAgICAgICAgLy9kYXRhTG9nTG4oImNyZWF0ZV90aGlzIHJlc3VsdDogIiwgSlNW
YWx1ZShyZXN1bHQpKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRl
cm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1
Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4
ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIy
MzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1
bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxp
emVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQg
RnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6
ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywg
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihj
b25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFz
b24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0
eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwg
SlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Q
cm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5p
c051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5h
bEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTk2LDEyICs5NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRl
CiAKIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVT
bG93KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNs
YXNzKQogewotCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0
LmlzQ29uc3RydWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0g
ZXhlYy0+anNDYWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24g
aWYgd2Ugd2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9u
KiB0YXJnZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJn
ZXQpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNB
cnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRo
SW50MzI6CiAgICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9
IGV4ZWMudm0oKTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVgg
fHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAg
ICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVy
biBudWxscHRyOwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
ID0gZXhlYy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBK
U0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBh
cnJheSBjb250YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUs
CiAgICAgLy8gdXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAg
ICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygp
ICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwg
dGhpcykpIAogICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNl
U2xvd1B1dChpbmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0
OCw3ICsxMDQ4LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAog
ICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92
aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAg
Ly8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4g
aW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAt
IGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
SlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAg
ICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBi
b29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhh
dmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3Vu
ZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0
aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2Ug
bW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAg
IGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0p
KSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFy
dEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRl
cmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAgICAgaWYg
KFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTE0MzYsNyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6
aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlw
ZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5
UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEs
OCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZv
ciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90
eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8fCBvdGhl
ckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQor
ICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRo
aXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Qm91bmRGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTM1LDYgKzEzNSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1
Y3QKICAgICAvLyBpc24ndCBhbnkgZ29vZCBwbGFjZSB0byBwdXQgdGhlIHN0cnVjdHVyZSBvbiBJ
bnRlcm5hbCBGdW5jdGlvbnMuCiAgICAgaWYgKHRhcmdldEpTRnVuY3Rpb24pIHsKICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0YXJnZXRKU0Z1bmN0aW9uLT5yYXJlRGF0YSh2bSktPmdl
dEJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgLy8gT09QUzoKICAgICAgICAgaWYg
KHN0cnVjdHVyZSAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IHByb3RvdHlwZSAm
JiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdCkKICAgICAgICAgICAg
IHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcs
MTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAg
ICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09i
amVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1Bv
aW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5
ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAg
ICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIiki
KTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1
Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0
LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQu
cHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAg
ICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0Nl
bGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDog
IiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1Ry
dWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEzNSw3ICsxMzUsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0
ZUFuCiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVj
dC0+b2JqZWN0UHJvdG90eXBlKCk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBG
dW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVD
YXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAog
ICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhl
IHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9w
ZXJseSBhbGxvY2F0ZWQKQEAgLTE1Myw3ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1
bmN0aW9uOjppbml0aWFsaXplCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRo
aXMtPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3Rv
dHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYg
KzM0MSwxOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlM
aXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikp
KTsKIH0KIAorc3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZt
LCBKU1ZhbHVlIHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAg
ICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90
b3R5cGVWYWx1ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBT
dHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVu
c3VyZVJhcmVEYXRhKHZtKTsKKyAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1
Y3RvcigpKQorICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7
CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWND
YXN0PEluZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBv
bHlQcm90b1N0cnVjdHVyZSgpKSkKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5
V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyAucHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0
aW9uIik7Cit9CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0
KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90JiBzbG90KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC00NTIsNiAr
NDY0LDcgQEAgYm9vbCBKU0Z1bmN0aW9uOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjUwogICAgICAg
ICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGdldFNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVj
dC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFy
KCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBp
bmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgdmFsdWUsIHRoaXNPYmplY3QpOwogICAg
ICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpwdXQodGhpc09iamVj
dCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgfQpAQCAtNTE4LDYgKzUz
MSw4IEBAIGJvb2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICAgICAg
dGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVj
dCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1f
cmFyZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3Rv
cmUgdG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaWYgKGRl
c2NyaXB0b3IudmFsdWUoKSkKKyAgICAgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVl
ZGVkKHZtLCBkZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5y
ZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3Qs
IGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwogICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjppc0l0ZXJhdG9yUHJvdG9jb2xG
YXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVy
ZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCisgICAgaWYgKGdldFBy
b3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTcz
LDcgKzczLDcgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAg
ICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVTZXRGYXN0QW5kTm9uT2JzZXJ2
YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIGlmIChzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCisg
ICAgICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3Rv
dHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHJldHVybiB0cnVl
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNyArNzcwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0
SW5saW5lU2xvdyhFeGVjU3RhdGUqIAogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBv
YmotPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAg
ICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAgICAgaWYgKGF0dHJp
YnV0ZXMgJiBSZWFkT25seSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0p
LT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwg
b2JqID09IHRoaXMpOworICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpcykgfHwg
b2JqID09IHRoaXMpOwogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2Nv
cGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3Jp
dGVFcnJvcikpOwogICAgICAgICAgICAgfQogCkBAIC0xMDE1LDcgKzEwMTUsNyBAQCBCdXR0ZXJm
bHkqIEpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhlCiAgICAgQVNTRVJUKGxlbmd0aCA8PSBN
QVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKTsKICAgICBJbmRleGluZ1R5cGUgb2xkVHlwZSA9IGlu
ZGV4aW5nVHlwZSgpOwogICAgIEFTU0VSVF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9w
ZXJ0aWVzKG9sZFR5cGUpKTsKLSAgICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKKyAgICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGlu
Zyh0aGlzKSk7CiAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBw
cm9wZXJ0eUNhcGFjaXR5ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTEx
MSw3ICsxMTExLDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQog
CiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJm
bHkodm0sIHRoaXMsIG9sZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVy
Zmx5LmdldE1heUJlTnVsbCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1
cmUtPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBu
ZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3Ry
dWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhp
cykpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlE
LCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAg
ICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0
VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0VW5k
ZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0
aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0Rv
dWJsZShWTSYgdm0pCkBAIC0xMjY0LDcgKzEyNjQsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0
Ojpjb252ZXJ0SW50MzJUb0FyCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJh
eVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRp
b24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1
cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29u
dGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZNJiB2
bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRE
b3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSkt
PnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBBcnJheVN0b3Jh
Z2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9u
UHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91CiAKIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJl
dHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5z
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0Q29u
dGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogdm9pZCBKU09iamVjdDo6Y29udmVydFVuZGVj
aWRlZEZvclZhbHVlKFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkKQEAgLTE0NDcsNyArMTQ0Nyw3IEBA
IENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlSW50MzIKICAgICAKICAgICBzd2l0
Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6
Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwog
ICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBAIC0x
NDc0LDcgKzE0NzQsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91Ymxl
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1
b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7
CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2Jq
ZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAg
ICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0
aWFsQ29udGlndW91cyh2bSwgMCk7CiAgICAgICAgIApAQCAtMTU0MCwyMiArMTU0MCwyMiBAQCBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhCiAgICAgICAgIAogICAgIGNh
c2UgQUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRU
b0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5H
X1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAg
ICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAg
ICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwog
ICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAK
ICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0RG91Ymxl
VG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9DT05USUdVT1VTX0lO
REVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7
Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7
CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhp
cykpOwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7
CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjM2LDcgKzE2MzYsNyBAQCB2b2lkIEpTT2Jq
ZWN0OjpzZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2
bSksIHByb3RvdHlwZSk7CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAg
IAotICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCkpCisgICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXModGhpcykpCiAgICAgICAgIHJldHVybjsKICAgICAK
ICAgICBpZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7CkBAIC0yNzI2LDcg
KzI3MjYsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAg
ICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVB
cnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQg
dGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5Lgog
ICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVu
Z3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlz
LCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODc4LDcgQEAgYm9v
bCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJu
IHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAg
ICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0
b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgo
MCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2
bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3Rv
cisrOwpAQCAtMzU1OCw3ICszNTU4LDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFi
bGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAg
IHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQo
aW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0
KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlw
ZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwo
KSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhp
cykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3
YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVj
dCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyAr
MTI5OCw3IEBAIGlubGluZSBKU09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5s
aW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0
dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQw
MCw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVj
dHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xv
dCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9l
c24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAg
ICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6
OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0
aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRl
cm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1J
bnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVj
dCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0
UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmpl
Y3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAg
ICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0
UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5
cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAg
ICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAg
ICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZt
LCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsK
QEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGlu
ZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5l
KHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0
dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkp
OwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+
KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0
eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjMyOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5k
Tm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90
eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw3
ICs3Myw3IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAg
ICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFi
bGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisg
ICAgICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJv
dG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgcmV0dXJuIHRy
dWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1
cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xh
c3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgz
LDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBwcm90b3R5cGUoY29uc3QgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAgICAgIC8vIE9PUFMuIG1ha2Ugc3Vy
ZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nlc3NlcyB0aGlzLgogICAgICAgICBB
U1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAgICAgIHJldHVybiBnZXQoZ2xvYmFs
KS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpAQCAtMTAxLDEzICsxMDIsNiBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAg
ICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0g
ICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHko
KSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgp
OwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNv
bnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2Nv
bnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3Bl
cmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDEx
IEBAIHNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUKICAgICB3aGlsZSAo
MSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1
cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAgIC8vIE9PUFM6IHRoaXMgZGVmaW5p
dGVseSBuZWVkcyBzb21lIG1vcmUgdGhvdWdodAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFz
U3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNo
YWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3Vw
KGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJu
IGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFw
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxNyArNTQsMzggQEAg
dm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMg
YSBwcm90b3R5cGUuCiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRl
RW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNz
SW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
CitpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5
cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlw
ZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJv
dG9TdHJ1Y3R1cmUpCiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIC8vIE9PUFM6
IG1ha2Ugc3VyZSB0aGlzIGlzbid0IGNhbGxlZCB3LyBwcm90b3R5cGU9bnVsbHB0ciBmb3IgdmFs
aWQgcmVhc29ucy4KKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9seVByb3Rv
U3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5m
bywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0cnVj
dHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsK
KyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAg
IHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBl
LCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwor
CisgICAgLy8gT09QUzogZmlndXJlIG91dCB3aGF0IHRvIGRvIGhlcmUuIFRoaXMgZmVlbHMgbGlr
ZSB0aGUgd3JvbmcgcGxhY2UgdG8gZG8gdGhpcy4KKyAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVj
dHVyZSkgeworICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUt
PnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCk7CisgICAgICAgIEFTU0VSVChyYXJlRGF0YS0+bmVl
ZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJl
OjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICAgICAgcmFyZURhdGEtPnNldFBvbHlQcm90b1N0cnVjdHVyZSh2bSwg
c3RydWN0dXJlKTsKKyAgICB9CisKKyAgICBpZiAoIXN0cnVjdHVyZSkgeworICAgICAgICBzdHJ1
Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4o
c3RydWN0dXJlKSk7CiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KQEAgLTczLDIwICs5NCwyMSBA
QCBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2Ug
Y3VycmVudGx5IGRvIG5vdCBoYXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9y
IHN1YmNsYXNzZXMgYW5kIGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBh
IGRlZmF1bHQgaW5saW5lIGNhcGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZSA9IGJhc2VTdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUt
PnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90
eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3Nlcyhwcm90b3R5cGUpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAg
ICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2sp
IHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygp
LCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1
cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1
Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5
cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0
U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90
b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVt
cHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBl
SW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRl
eGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpT
RmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3Rv
dHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3Qs
IGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwor
ICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNh
cGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Rv
dHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBA
IHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJl
KiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0
cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9T
dHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0
eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0Kiwg
SlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1
cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09i
amVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0
OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0
cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
cHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlw
ZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlT
dHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBl
SW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNP
YmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBr
ZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCos
IHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+
IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0
dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVj
dCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVy
ZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVj
dHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2Fw
YWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywg
cHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMs
IHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3Vz
LT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVk
KQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKQEAgLTI5NSw2ICsyOTUsMjggQEAgdm9p
ZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVj
dHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZv
LCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRl
eGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIC8vZGF0YUxvZ0xuKCJNYWtpbmcgcG9s
eSBwcm90byBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25l
ZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8g
T09QUzogbWF5YmUgdGhpcyBzaG91bGQgYWx3YXlzIHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0
LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlO
YW1lcy0+dW5kZXJzY29yZVByb3RvLCBEb250RW51bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1Nh
ZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zm
c2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVy
ZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNp
dHkpOworICAgICAgICAgICAgLy8gT09QUzogbGV0cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9y
IHRoaXMgdmFyaWFudCBvZiBwb2x5IHByb3RvLCBzaW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSAKKyAgICAgICAgICAgIC8vIGFscmVhZHkga25vd3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkg
cHJvdG8gdmFyaWFudC4KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0
KG9mZnNldCkpOworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIlNldHRpbmcgbV9wcm90b3R5cGUg
dG86ICIsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlw
ZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQt
PnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0
ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJl
KiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVj
dHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDIwLDMwIEBAIFN0cnVjdHVyZSogU3RydWN0
dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9u
VG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNl
dCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZv
ciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3Vy
cmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgUkVMRUFTRV9BU1NFUlQo
YmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IExldCdzIGp1c3QgcHV0IHRoaXMg
b24gSlNPYmplY3Q/CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisgICAgZm9yIChjb25zdCBK
U09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFz
T2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOworICAgICAgICBjdXJyZW50ID0gYXNPYmpl
Y3QocHJvdG90eXBlKTsKICAgICB9CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIEFT
U0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOworCiAgICAgaWYgKHRoaXMtPm1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5
cGUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI2LDcgKzQ1Miw3IEBAIGJvb2wgU3RydWN0
dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1
cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3Bl
cnRpZXMob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0g
c3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlw
ZS5pc09iamVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3Qg
PSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDM2LDE1ICs0NjIsMTYgQEAgYm9vbCBTdHJ1Y3R1
cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9v
bCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJl
OjpuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1
cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgUkVM
RUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1h
a2UgdGhpcyBKU09iamVjdCogbWV0aG9kPworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKGJhc2UpCiAgICAgICAgIHx8IGdsb2JhbE9iamVjdCgp
LT5pc0hhdmluZ0FCYWRUaW1lKCk7CiB9CiAKLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1
cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAorTm9uUHJvcGVydHlU
cmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09i
amVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAg
ICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoYmFzZSkpIC8vIE9PUFM6IG1heWJlIG1ha2UgdGhp
cyBhIEpTT2JqZWN0KiBtZXRob2QKICAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlv
bjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIAogICAgIHJldHVybiBOb25Qcm9w
ZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwpAQCAtMTEwOSw3ICsxMTM2LDcg
QEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAogICAgIAogICAgIHJldHVybiAoIW1f
Z2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0
LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjpp
c01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOworICAgICAgICAm
JiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBI
ZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQog
CiBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0x
MTIxLDIwICsxMTQ4LDI0IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRv
ciYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
TWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiti
b29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGJhc2UpCiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgbWFr
ZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZC4KKwogICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5
TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCk7CisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKGJhc2UpOwogICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50
ID0gdGhpczsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3Jl
ZFByb3RvdHlwZSgpOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7Cisg
ICAgICAgIC8vIE9PUFM6IE1heWJlIHRoaXMgbmVlZHMgc29tZSBjbG9zZXIgYXR0ZW50aW9uLCBi
dXQgSSdtIG5vdCBzdXJlIGhvdyB3ZSBjYW4gc2F5CisgICAgICAgIC8vIG11Y2ggYWJvdXQgb3Vy
IHByb3RvdHlwZSBjaGFpbiB3aXRob3V0IGtub3dpbmcgY29uc3RhbnQgcHJvdG90eXBlIHZhbHVl
cy4uLgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURp
cmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwo
KS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7
CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRl
cyk7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2
bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFKU0M6
OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAK
QEAgLTExNzIsNiArMTIwMyw3IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0
cnVjdHUKICAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRl
KCk7CiAgICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsK
ICAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgICAgICAv
LyBPT1BTOgogICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpOwogICAgICAgICB9CiAKQEAgLTExODEsMTMgKzEyMTMsNiBAQCBSZWY8U3RydWN0dXJl
U2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAot
Ym9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikK
LXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHko
KQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBl
KCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVj
dEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsi
LCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzEyMjcsOSBAQCB2
b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnBy
aW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAg
aWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90
eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90
b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAg
ICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCku
YXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjMyOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3Rv
VGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBj
b25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3IEBA
IHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAg
ICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlz
T2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQobV9wcm90
b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3RvdHlwZS5p
c0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVh
dGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTI0MCwxOSArMjQyLDM3IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVk
QWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAg
IGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKEpTT2JqZWN0KikgY29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUoVk0mLCBKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4
aW5nKEpTT2JqZWN0KikgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2Jq
ZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBj
YWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFs
CiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJs
ZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0
aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFz
U3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5
cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgp
IGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUo
KSk7CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPworICAgICAg
ICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBv
bHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFz
U3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJ
bnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVj
dCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNP
YmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShj
b25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkg
Y29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7
CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90
VmlzaXRvciYpOwogICAgICAgICAKICAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFp
biBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUg
Ym9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUp
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lLCBKU09iamVjdCopOwogICAgIAogICAgIGJvb2wgaGFz
UmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFyZURhdGEobV9wcmV2
aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBy
YXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNP
clJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJl
UmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAg
ICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgp
OworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsK
QEAgLTU5MCwxMCArNjIzLDYgQEAgcHVibGljOgogCiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0
b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwogICAgIAotICAgIC8vIERldGVybWluZXMgaWYgdGhl
IHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRoaXMgb25lIGNvdWxkIGJlIHVzZWQg
Zm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVyIG9uZS4KLSAgICBib29sIGNhblVz
ZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7Ci0gICAgCiAgICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJikgY29uc3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVt
cENvbnRleHQqKSBjb25zdDsKICAgICB2b2lkIGR1bXBCcmllZihQcmludFN0cmVhbSYsIGNvbnN0
IENTdHJpbmcmKSBjb25zdDsKQEAgLTczMiwxMiArNzYxLDYgQEAgcHJpdmF0ZToKICAgICAgICAg
cmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAg
IH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
dHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0
Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAg
ICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjMy
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdv
cmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAKICAgICAg
ICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKICAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZl
Y3Rvcik7CisgICAgICAgIC8vIE9PUFM6IEkgdGhpbmsgd2UgbWF5IG5lZWQgYSB3cml0ZSBiYXJy
aWVyIGhlcmUgb2YgfHRoaXN8LgogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmNyZWF0ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAgICAg
aWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDYgKzcw
LDcgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUg
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7
CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC00MDAsOSArNDAyLDM5IEBAIGlubGluZSBQcm9wZXJ0
eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFt
ZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShW
TSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVy
ZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAg
IG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0K
KworQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNvbnN0
IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5z
dHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhhc1N0
b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAg
UkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0dXJu
IG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmplY3Qq
IFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qp
IGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlz
KTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQor
ICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgUkVMRUFTRV9BU1NF
UlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9i
amVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdB
WVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3Rv
ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+
c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CiAgICAgCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVE
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJB
ZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAi
SW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgog
I2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiAr
NzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQo
dGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0
aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3Iu
YXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6
Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDUzIEBA
IGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVjdFRv
U3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSlNWYWx1ZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6aW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkKK3sKKyAgICByZXR1cm4gbV9p
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7Cit9CisKK2Jvb2wg
U3RydWN0dXJlUmFyZURhdGE6Om5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAg
ICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMt
PmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFt
aWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKSkKKyAgICAgICAgcmV0dXJuIGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5J
bnZhbGlkYXRlZCgpOworICAgIEFTU0VSVChpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUuYXNDZWxsKCktPmluaGVyaXRzKHZtLCBTdHJ1Y3R1cmU6OmluZm8oKSkpOworICAg
IHJldHVybiBmYWxzZTsKK30KKworU3RydWN0dXJlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6cG9seVBy
b3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4ganNEeW5hbWljQ2Fz
dDxTdHJ1Y3R1cmUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
KTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6aXNQb2x5UHJvdG8oVk0mIHZtKQorewor
ICAgIHJldHVybiBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkgfHwgISFwb2x5UHJvdG9TdHJ1
Y3R1cmUodm0pOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc0luZmVycmVkQ29u
c3RydWN0b3IoKQoreworICAgIHJldHVybiAhaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKCk7Cit9CisKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1
cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9p
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgIEluZmVycmVkVmFs
dWUqIHJlc3VsdCA9IEluZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSk7CisgICAgbV9pbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCByZXN1bHQpOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldFBvbHlQcm90
b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIG1faW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJl
KTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRv
U3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmpl
Y3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtl
eSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lv
biAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJl
RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
OwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMiBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAg
dm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90
eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQg
ZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBT
dHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWln
aHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYg
d2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEg
Y29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUg
aW5mZXJyaW5nIGEKKyAgICAvLyBKU0Z1bmN0aW9uLiBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBw
b2x5IHByb3RvLCB0aGVuIHRoaXMgZmllbGQgZWl0aGVyIHBvaW50cyB0byBhbiBJbmZlcnJlZFZh
bHVlCisgICAgLy8gdGhhdCBpcyBpbnZhbGlkYXRlZC4gSWYgd2UgZXZlciBjb25zdHJ1Y3QgYW4g
b2JqZWN0IHdobydzIF9fcHJvdG9fXyBwb2ludHMgdG8gdGhpcyBwcm90b3R5cGUsIHRoZW4KKyAg
ICAvLyB3ZSBtb3ZlIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHRv
IHRoZSBTdHJ1Y3R1cmUgb2YgdGhlIG9iamVjdCB0aGF0IHNob3VsZCBiZSBjcmVhdGVkCisgICAg
Ly8gdGhhdCBoYXMgcG9seSBwcm90by4KKyAgICBJbmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZlcnJl
ZENvbnN0cnVjdG9yKFZNJik7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBib29sIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJik7
CisgICAgYm9vbCBuZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKTsKKyAgICB2b2lkIHNldFBvbHlQ
cm90b1N0cnVjdHVyZShWTSYsIFN0cnVjdHVyZSopOworICAgIFN0cnVjdHVyZSogcG9seVByb3Rv
U3RydWN0dXJlKFZNJik7IC8vIE1heSBiZSBudWxscHRyIGlmIG5vdCBwb2x5IHByb3RvIG9yIHBv
bHkgcHJvdG8gc3RydWN0dXJlIGhhcyB5ZXQgdG8gYmUgaW5zdGFudGlhdGVkLgorICAgIGJvb2wg
aXNQb2x5UHJvdG8oVk0mKTsKKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6
CkBAIC03Niw2ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdW
YWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hl
ZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1faW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlOwogICAgIAogICAgIHR5cGVkZWYg
SGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhh
c2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFBy
b3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZp
c2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJp
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUg
PSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsg
cmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJl
dHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1
cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4g
Z2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1
cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw2ICs5NCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5l
IEoKIAogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBpbmxpbmUgSlNDOjpKU09iamVj
dCogZ2V0RE9NUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFs
T2JqZWN0KQogeworICAgIC8vIE9PUFM6IGxvb2sgaW50byB0aGlzCiAgICAgcmV0dXJuIEpTQzo6
anNDYXN0PEpTQzo6SlNPYmplY3QqPihhc09iamVjdChnZXRET01TdHJ1Y3R1cmU8V3JhcHBlckNs
YXNzPih2bSwgZ2xvYmFsT2JqZWN0KS0+c3RvcmVkUHJvdG90eXBlKCkpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321504</attachid>
            <date>2017-09-21 18:45:11 -0700</date>
            <delta_ts>2017-09-22 01:11:57 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>131610</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCShyZXZpc2lv
biAyMjIzMjkpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0cyA9IFsKICAgICBuZXcg
VGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwogCi10ZXN0cy5mb3JFYWNo
KGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7Ci0gICAgICAg
IHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3Ry
dWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAgICBpZiAodGVzdC52YWx1
ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3Vs
dDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdGVzdHMuZm9yRWFjaChm
dW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKKyAgICAg
ICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7Ci0gICAgICAgICAgICB0
aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0KSB7CisgICAgICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsKKyAgICAg
ICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiArMjI3LDcgQEAgYnl0ZWNvZGUvTGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQ
cm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVj
b2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCkBA
IC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29k
ZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcAog
Ynl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9QdXRC
eUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4MDFFMDM1NTlDMDA1QkVFRDggLyog
QjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyMzNDMkIxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MkNCMzRBMUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTQ1NzVD
RDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY0NjU2QTFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY1QzIxNzFF
NUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjVDMjE1MUU1
RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NkRBQTJC
MUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVl
Qml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0
aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVE1hdGhJQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFDNEVFRDVDMDBEMTNBRjMgLyogUENU
b0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJD
QjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0No
YWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NUYwOTlDMUUwMzYwMDUwMEJC
RTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGlsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9j
YXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgcGF0
aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzczNDQsOCBAQAogCQkJCTE0QUQ5MTBB
MURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmggKi8sCiAJCQkJMEZEM0U0MDcx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQw
ODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uaCAqLywKKwkJCQk3OTQ1NzVD
QzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTc5
NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovLAogCQkJ
CTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuY3BwICovLAogCQkJCTBG
MTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuaCAqLywKIAkJCQkwRjkzMzI5
OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAgKi8sCkBAIC04NTI5LDYgKzg1
MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAvKiBJbnRsQ29sbGF0b3JQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0RTBDREIwMEZDMTAyOSAvKiBJ
bnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q2RTFC
NERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVG
b3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFDNjAw
RDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFBy
b3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJP
UAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2
bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3lt
Ym9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJv
dG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBT
eW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjAyLDYgKzIwMiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AK
ICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1w
bDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNk
ZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVU
b1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsK
QEAgLTIyNiw2ICsyMjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZh
dGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlM
VElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAg
ICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJ
TklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpAQCAtMjM0LDYgKzIzNiw4IEBAIHB1
YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAg
ICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQo
bV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVi
bGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmlt
cGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0
IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsK
QEAgLTI0Niw2ICsyNTAsNyBAQCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NF
U1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVO
YW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAog
cHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU0LDYgKzI1
OSw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
V0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJz
Y29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRp
bk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAg
ICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5oIgog
I2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVy
bmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fc3Ry
dWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRp
b25TZXQgPSBjb25kaXRpb25TZXQ7CkBAIC0xNTEsNiArMTU0LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAg
ICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIzMCw2ICsy
MzYsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgCiAgICAgZWxz
ZSBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9
ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7CiAKKyAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludChjb21tYSwg
InByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKwog
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0
eSgpKQpAQCAtMjQzLDYgKzI1MiwxMCBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYg
dm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0
cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKFN0cnVjdHVy
ZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpKSB7CisgICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICsyODYs
OSBAQCBib29sIEFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1f
c3RydWN0dXJlKQogICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZp
c2l0b3IpOwogCisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY2hhaW4oKSkKKyAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlv
bjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5w
cmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICszODgsNjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQ
cm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1
YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBK
U0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAg
ICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5
Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmICht
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy9k
YXRhTG9nTG4oIkdlbmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAgLy9q
aXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAgICAg
IEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAg
IGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKS5z
aXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRF
bmQgPSBpICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOworICAg
ICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVuZCkg
eworICAgICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVs
YXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gT09QUzogSSBkb24ndCB0aGluayB0aGlzIGlzIG5lZWRlZCBpZiB3ZSB0cmFu
c2l0aW9uIG9uIHNldHRpbmcgdGhlIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwg
YmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBy
b3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNl
dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZz
ZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nl
c3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQo
Q0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tNjQoVmFsdWVOdWxsKSkpOyAvLyBPT1BTOiB0aGlzIGlzbid0IG5lZWRlZCBpZiB3ZSBz
dGlsbCB0cmFuc2l0aW9uIG9uIHNldHRpbmcgb3VyIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0
dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAg
ICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0
YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0
cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkp
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC00NjMsNiAr
NTE3LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAg
ICByZXR1cm47CiAKICAgICBjYXNlIE1pc3M6CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGpp
dC5tb3ZlVHJ1c3RlZFZhbHVlKGpzVW5kZWZpbmVkKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0
YXRlLnN1Y2NlZWQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTA0LDEzICs1NTksMTcgQEAgdm9p
ZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZv
ckdldEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0g
ICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQu
bW92ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJu
YXRlQmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJh
c2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzY3JhdGNoR1BSOyAvLyB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQhIE9PUFM6IHRoaXMg
aXMgdWdseS4KKyAgICAgICAgICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGxvYWQh
XG4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0g
SW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAm
JiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVl
U2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtNTY5LDYgKzYy
OCw5IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCisgICAgICAgIC8vaWYgKG1fdHlwZSA9PSBHZXR0ZXIgJiYgbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5tX2hhc1BvbHlQcm90bykKKyAgICAgICAgLy8gICAgaml0LnBy
aW50KCJEb2luZyBnZXR0ZXIgY2FsbCBmb3IgcG9seSBwcm90b1xuIik7CisKICAgICAgICAgLy8g
U3R1ZmYgZm9yIGN1c3RvbSBnZXR0ZXJzL3NldHRlcnMuCiAgICAgICAgIENDYWxsSGVscGVyczo6
Q2FsbCBvcGVyYXRpb25DYWxsOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgog
I2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYs
OCArMTg3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAg
IGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBwcm90b3R5cGVBY2Nlc3NDaGFpbigpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47IH0KKwogcHJvdGVjdGVkOgotICAgIEFj
Y2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwg
U3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKKyAgICBBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKICAgICBBY2Nlc3NDYXNlKGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUg
PSBQcmltb3JkaWFsOyB9CkBAIC0yMjcsNiArMjMwLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gbV9wcm90
b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3Mudmlh
UHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0
YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy5wcm90b3R5cGVBY2Nlc3NDaGFp
bigpLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1
cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRl
ckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwg
YWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFk
ZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vz
c0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNlLnNl
dE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6
b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDcgKzYzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFz
ZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQo
bmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJh
c2UsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgcmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9
IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3IuZ2V0dGVyID0gY3Vz
dG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CkBAIC03NCw3ICs3NCw4IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAg
c3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSkpOworICAgIC8vIE9PUFM6
IGRvIHNvbWV0aGluZyBoZXJlCisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21T
bG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21B
Y2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDksMTEgKzQ5LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAg
ICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9
IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0g
ICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxv
cHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIs
CisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIFByb3RvdHlwZUFjY2Vz
c0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwK
QEAgLTY3LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29u
c3QgeyByZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKICAg
ICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIy
MzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMCBAQCBwcml2
YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
OjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1
Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0
cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkp
OworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3Jw
aGljIHByb3RvdHlwZXMKICAgICBpZiAocHJvdG90eXBlID09IGJhc2VTdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpKQogICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNlU3RydWN0dXJlOwogICAgIGVs
c2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjppbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJU
KCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFt
X2lubGluZUNhcGFjaXR5KTsKKworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBp
ZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
ID0gY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+
bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUgJiYgcHJvdG90eXBlLT5zdHJ1Y3R1
cmUodm0pLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPnBvbHlQcm90b1N0
cnVjdHVyZSh2bSkpIHsKKworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgICAgICAgICAvL2RhdGFMb2dMbigiYWxy
ZWFkeSBoYXZlIHBvbHkgcHJvdG8gc3RydWN0dXJlIGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2lu
dGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOworICAgICAgICAgICAgICAgIC8vZGF0
YUxvZ0xuKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKS0+c291cmNlKCkudmlldygpKTsKKyAg
ICAgICAgICAgICAgICAvL3N0cnVjdHVyZS0+ZHVtcChXVEY6OmRhdGFGaWxlKCkpOworICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBh
Y2l0eSgpOworICAgICAgICAgICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0u
Y2VsbFNwYWNlLmFsbG9jYXRvckZvcihKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxp
bmVDYXBhY2l0eSkpOworCisgICAgICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7
CisgICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsK
KyAgICAgICAgICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAg
Ly8gT09QUzogUHJvYmFibHkgY2FsbCBpbnRvIGEgZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5j
dGlvbiBoZXJlIHRoYXQgbWFrZXMgcG9seSBwcm90bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5v
IG9uZSBlbHNlIGNhbiBhY2NpZGVudGFsbHkgZ2V0IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisg
ICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5m
ZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVk
Q29uc3RydWN0b3Iodm0pOworICAgICAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVj
dG9yID0ganNDYXN0PEluZmVycmVkVmFsdWUqPihyYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rv
ck9yUG9seVByb3RvU3RydWN0dXJlKCkpOworICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5u
b3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9y
IGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7CisgICAgICAgIGlzUG9seVByb3RvID0gaW5m
ZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+bV9j
b25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisgICAgICAgIC8vaWYgKGlzUG9seVBy
b3RvKSB7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7
CisgICAgICAgIC8vICAgIGRhdGFMb2dMbigiR29pbmcgcG9seSBwcm90byBmb3IgZXhlY3V0YWJs
ZTogIiwgUmF3UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAg
Ly8gICAgZGF0YUxvZ0xuKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKS0+c291cmNlKCkudmll
dygpKTsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCJXaGljaCBoYXMgZXhlY3V0YWJsZTogIiwg
UmF3UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAgLy99CisK
KyAgICAgICAgZXhlY3V0YWJsZS0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUu
c2V0KHZtLCBleGVjdXRhYmxlLCBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSkpOworICAgICAgICAv
LyBPT1BTOiB3ZSBrbm93IGhlcmUgaWYgd2UncmUgZG9pbmcgc29tZXRoaW5nIHRoYXQncyBwb2x5
IHByb3RvLiBXZSBzaG91bGQgcHJvYmFibHkgY29udmV5IHRoYXQKKyAgICAgICAgLy8gaW5mb3Jt
YXRpb24gaGVyZSBhbmQgYWxzbyBjb252ZXkgaWYgd2Uga25vdyB0aGF0IHdlJ3ZlIHJlc2VydmVk
IGFuIGlubGluZSBzcGFjZSBmb3IgdGhlIHByb3RvLgorICAgIH0KKworICAgIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmlu
YWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBz
aHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJv
dG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAg
ICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0
aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0
aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4K
KyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZh
dWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNh
cGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAg
ICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBh
bGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBs
YXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBp
bmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAg
IH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAg
ICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsK
KyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gT09QUzogbGV0cyBj
b21tdW5pY2F0ZSB0aGlzIHRvIHN0cnVjdHVyZSBjcmVhdGUuIEl0J3MganVzdCBhc3NlcnRpbmcg
aXQgZ2V0cyBhbiBpbmxpbmUgc2xvdC4KKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFj
aXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5h
bE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9j
YXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6
ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZh
aWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAg
c2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8g
c2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9
IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElu
bGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgLy8gT09QUzogbmVlZCB0byBt
YWtlIHRoaXMgQVBJIG1vcmUgY2xlYXIuCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5w
cm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICAvLyBFbnN1
cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2Vl
IGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAg
bV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwg
c3RydWN0dXJlKTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisK
K3Vuc2lnbmVkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0
eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBl
ID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJy
YXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3lt
Ym9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0
dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJh
eSwgRW51bWVyYXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVy
dHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRh
KCktPnByb3BlcnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJv
cGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBw
cm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAg
ICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9i
amVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0
PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAg
ICAgKytjb3VudDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNw
YWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgp
IHsgcmV0dXJuICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAg
IEFTU0VSVCghbV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAg
ICAgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRy
eSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAg
ICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291
bnQodm0sIHByb3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSkgewotICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1v
c3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAg
ICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3
aXRoIGhlbHBlciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAg
ICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3Bl
cnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21h
bGwKLSAgICAgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAg
ICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxp
bmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAg
ICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFj
aXR5ID4gMCk7Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAg
IE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihh
bGxvY2F0aW9uU2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBl
eHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAg
ICBpZiAoYWxsb2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3It
PmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25v
d24+KTsKLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQot
ICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
dm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRo
YXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBw
cm9wZXJseSBjcmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAg
ICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwg
b3duZXIsIHN0cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBh
Y2l0eTsKLSAgICB9CisgICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWdu
ZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxs
cHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMjYsMjcgKzc0
LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0
UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAg
ICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3Rv
dHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0g
MDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9w
ZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1
ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJv
bVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAg
ICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5
TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9y
KCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNp
emUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXRE
aXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0
aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0
IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVu
Y3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAg
ICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0K
KyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmpl
Y3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQ
cmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTgsNiArMjU4LDExIEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29u
ZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4i
KTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxp
ZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKSB7CisgICAgICAgICAgICAvLyBPT1BTOiBXZSBuZWVkIHNvbWUgc3RvcnkgaGVyZSBv
ZiBhbiBpbnRlcmxlYXZpbmcuCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNWYWx1
ZSB2YWx1ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CiAg
ICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFj
Y2Vzc0NoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vz
c0NoYWluLmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKwor
UHJvdG90eXBlQWNjZXNzQ2hhaW46OlByb3RvdHlwZUFjY2Vzc0NoYWluKEpTT2JqZWN0KiBiYXNl
LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisgICAgLy8gT09QUzogY29uc2lkZXIgRE9N
IHByb3h5IGhlcmUuIEFsc28sIHByb3h5IGluIHRoZSBwcm90b3R5cGUgY2hhaW4/CisKKyAgICBK
U09iamVjdCogY3VycmVudCA9IGJhc2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAg
ICBKU09iamVjdCogdGFyZ2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90
QmFzZSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAgd2hpbGUgKHRydWUpIHsK
KyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwor
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkgeworICAgICAgICAgICAgbV9pc1Zh
bGlkID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKSB7CisgICAgICAgICAgICAgICAgbV9pc1ZhbGlk
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBjdXJyZW50
KTsKKyAgICAgICAgfQorCisgICAgICAgIG1fY2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAg
ICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2
ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAg
ICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBv
bmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2
ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90
by4KKyAgICAgICAgbV91c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoY3VycmVudCk7IC8vIG1heWJlIHByb3RvdHlwZSBmb3IgbG9va3VwIGhlcmU/Cisg
ICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3Vu
ZCAmJiAhIXRhcmdldCkgeworICAgICAgICAvLyBPT1BTOiB3b3VsZCB0aGlzIGFjdHVhbGx5IGNv
bWUgdXAgZm9yIHJlYWwgcHJvZ3JhbXM/CisgICAgICAgIC8vIE5lZWQgdG8gY29uc2lkZXIuIEkg
dGhpbmsgaXQgZG9lcyBzaW5jZSBidWlsZGluZyBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldAor
ICAgICAgICAvLyBzZWVtcyB0byBhc3N1bWUgdGhpcyBpcyBwb3NzaWJsZS4KKyAgICAgICAgbV9p
c1ZhbGlkID0gZmFsc2U7CisgICAgfQorfQorCit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQcm90b3R5cGVB
Y2Nlc3NDaGFpbiIpOworICAgIGlmICghaXNWYWxpZCgpKSB7CisgICAgICAgIG91dC5wcmludCgi
IGlzIGludmFsaWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAodXNlc1BvbHlQ
cm90bygpKQorICAgICAgICBvdXQucHJpbnQoIiB1c2VzUG9seVByb3RvIik7CisgICAgb3V0LnBy
aW50KCI6IFsiKTsKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgewor
ICAgICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICB9CisgICAgb3V0LnByaW50KCJdIik7
Cit9CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFj
ZSBKU0MgeworCitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0
cnVjdHVyZTsKKworY2xhc3MgUHJvdG90eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEKFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3Rv
dHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKGNv
bnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vz
c0NoYWluKFByb3RvdHlwZUFjY2Vzc0NoYWluJiYpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVB
Y2Nlc3NDaGFpbihKU09iamVjdCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90Jik7CisgICAgUHJv
dG90eXBlQWNjZXNzQ2hhaW4mIG9wZXJhdG9yPShQcm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRl
ZmF1bHQ7CisKKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0K
KworICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc1BvbHlQcm90
bzsgfQorCisgICAgY29uc3QgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0
dXJuIG1fY2hhaW47IH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsK
KworICAgIHZvaWQgY2xlYXJDaGFpbigpIHsgbV9jaGFpbi5jbGVhcigpOyB9CisKK3ByaXZhdGU6
CisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1
Y3R1cmUgZm9yIG5vdywgYnV0IHBlcmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KKyAgICBi
b29sIG1fdXNlc1BvbHlQcm90byB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzVmFsaWQgeyB0cnVl
IH07Cit9OworCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlh
YmxlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDE3ICszMCwxOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotUHJveHlh
YmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNl
dCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKLSAgICA6IEJh
c2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
KQorUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAor
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJh
c2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkpCiAgICAg
LCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNl
dCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25k
aXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFBy
b3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VSVCh0
eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAgICBy
ZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNl
KHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJv
eHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3ND
YXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3ND
YXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2Fz
ZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94
eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFs
U2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNy
ZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUq
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNl
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgUHJvdG90eXBlQWNjZXNz
Q2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJp
bnRTdHJlYW0mLCBDb21tYVByaW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcg
QEAgcHVibGljOgogICAgIH5Qcm94eWFibGVBY2Nlc3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAg
ICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCk7CisgICAgUHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKIAog
cHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQzMDgsNiArNDMwOCw4IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxv
Y2sodW5zaWduZWQKICAgICAgICAgfQogCiAgICAgICAgIGNhc2Ugb3BfY3JlYXRlX3RoaXM6IHsK
KyAgICAgICAgICAgIC8vIE9PUFM6IHRoaW5rIHRocm91Z2ggdGhpcyBjb2RlLgorCiAgICAgICAg
ICAgICBpbnQgY2FsbGVlT3BlcmFuZCA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7
CiAgICAgICAgICAgICBOb2RlKiBjYWxsZWUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGNhbGxlZU9w
ZXJhbmQpKTsKIApAQCAtNDMzMCwxMiArNDMzMiwxNCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpw
YXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAg
ICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURh
dGEoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBy
YXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJv
ZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2Fs
bGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAg
ICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFk
ZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1
Y3R1cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVl
OworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJl
RGF0YSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygp
LmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1
cCB0byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgo
UGhhbnRvbSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5l
d09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODYsNyArMTc4Niw4IEBAIGJvb2wgR3Jh
cGg6OmNhbkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlwZSogYXJy
YXlQcm90b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdpbi5zZW1h
bnRpYyktPmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICB2
YWx1ZS5tX3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1
cmUpIHsKLSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09
IGFycmF5UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9
PSBhcnJheVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5
KCkKICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVy
dHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAg
ICAgICAmJiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMyBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5j
dGlvblR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4o
Y29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3Ry
dWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkt
PnN0cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0
KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8v
ZGF0YUxvZ0xuKCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0IGZvciBleGVjdXRhYmxlOiAiLCBSYXdQ
b2ludGVyKGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5qc0V4ZWN1dGFibGUoKSkp
OworICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3Rv
T2Zmc2V0KCksIGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90
eXBlKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBK
U1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYw
LDYgKzQzNjAsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgICAgIC8vIHRoZW4gd2Ugc3BlY3VsYXRlIGJlY2F1c2Ugd2Ugd2FudCB0byBnZXQgcmVjb21w
aWxlZCBpZiBpdCBpc24ndCAoc2luY2UKICAgICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2Qgc3RhcnQg
dGFraW5nIHNsb3cgcGF0aCBhIGxvdCkuCiAgICAgICAgIAorICAgICAgICAvLyBPT1BTOiB3ZSBz
aG91bGQgZ28gc2xvdyBwYXRoIGhlcmUgZm9yIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAg
ICAKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY2FsbGVlKHRoaXMsIG5vZGUtPmNoaWxk
MSgpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSVGVt
cG9yYXJ5IGFsbG9jYXRvcih0aGlzKTsKQEAgLTQzODQsNyArNDM4NiwxMyBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZCht
X2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwog
ICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBG
dW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7
CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIs
IEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9i
amVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BS
KTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fz
c2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisKKyAgICAgICAgLy8gT09QUzogd2UgY2Fu
IGRvIGEgbG90IGJldHRlciBoZXJlCisgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6
QWRkcmVzcyhzdHJ1Y3R1cmVHUFIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaElmSW50MzIoSlNW
YWx1ZVJlZ3Moc2NyYXRjaEdQUikpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChy
ZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1t
UHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5s
b2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0
T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0
QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJl
ZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BS
UmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BS
UmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhh
dCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwg
SlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7
CkBAIC0zMjQ5LDggKzMyNDksMTYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3Rh
bmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5j
aDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMy
KFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52
bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9h
ZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2pp
dC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcs
IHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2Fk
T2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRj
aDNSZWcpOworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJbnQzMihK
U1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOworICAgIC8vIE9PUFM6IHRoaXMgaXMgd3JvbmcgaWYg
d2UgYWxsb3cgb3V0IG9mIGxpbmUgb2Zmc2V0cyBmb3IgcG9seSBwcm90by4KKyAgICBtX2ppdC56
ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0Lmxv
YWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRD
b21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwg
c2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQu
bW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2Ny
YXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJy
YW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7
CkBAIC0zMzgxLDEwICszMzg5LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0
YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5v
ZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAg
ICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNj
cmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHBy
b3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigp
OwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAg
R1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNW
YWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdz
KCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDA0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1f
aml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUs
IHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAg
ICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJl
Zywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAg
ICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE3LDE1IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkg
c2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZh
bHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAg
ICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNo
MlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gz
LmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVl
UmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNo
UmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1
bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1
OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xl
U3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3Vs
YXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9p
ZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJS
ZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0
Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJS
ZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0
UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBj
b21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3Rv
bShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4NSwxMCArODg4NSwx
MiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdC
bG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdC
bG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3
QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdC
bG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9j
aygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3
QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1f
b3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAg
ICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5MDYs
MTYgKzg5MDgsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxW
YWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAg
ICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3Qp
OworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAg
ICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAg
ICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlND
ZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1f
b3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0g
ICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhh
c0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyks
IHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5k
VG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5h
cHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1
ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJl
bnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9w
cm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0
KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVG
cm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7Cisg
ICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBv
bHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBw
ZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBp
bmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRf
TUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigK
KyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0
aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9m
ZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90
b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFll
dEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGko
SW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9j
ayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAg
ICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3Rv
dHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90
b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEg
LSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdl
IGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVt
aXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQo
QWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAg
ICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9h
ZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7
CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVS
ZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBs
b2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNl
dE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5r
KHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBi
cmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdU
MikubGlua1RvKGxvb3AsIHRoaXMpOwogCkBAIC03NzAsNiArNzc1LDggQEAgdm9pZCBKSVQ6OmVt
aXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rp
b25SZWcgPSByZWdUNDsKICAgICBSZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAg
IC8vIE9PUFM6IHRoaXMgaXMgd3Jvbmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0
dWFsUmVnaXN0ZXIoY2FsbGVlLCBjYWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgo
Tm90RXF1YWwsIEFkZHJlc3MoY2FsbGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgp
KSwgVHJ1c3RlZEltbTMyKEpTRnVuY3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhj
YWxsZWVSZWcsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsK
QEAgLTc3OCw2ICs3ODUsMTAgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1
Y3RpbwogICAgIGxvYWRQdHIoQWRkcmVzcyhyYXJlRGF0YVJlZywgRnVuY3Rpb25SYXJlRGF0YTo6
b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVSZWcpOwogICAgIGFkZFNsb3dDYXNl
KGJyYW5jaFRlc3RQdHIoWmVybywgYWxsb2NhdG9yUmVnKSk7CiAKKyAgICAvLyBPT1BTLCB3ZSBj
YW4gZG8gYmV0dGVyIGhlcmUhCisgICAgbG9hZDY0KEFkZHJlc3Moc3RydWN0dXJlUmVnLCBTdHJ1
Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaFJlZyk7CisgICAgYWRkU2xvd0Nhc2Uo
YnJhbmNoSWZJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkpOworCiAgICAgbG9hZFB0cihj
YWNoZWRGdW5jdGlvbiwgY2FjaGVkRnVuY3Rpb25SZWcpOwogICAgIEp1bXAgaGFzU2Vlbk11bHRp
cGxlQ2FsbGVlcyA9IGJyYW5jaFB0cihFcXVhbCwgY2FjaGVkRnVuY3Rpb25SZWcsIFRydXN0ZWRJ
bW1QdHIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpKTsKICAgICBhZGRTbG93
Q2FzZShicmFuY2hQdHIoTm90RXF1YWwsIGNhbGxlZVJlZywgY2FjaGVkRnVuY3Rpb25SZWcpKTsK
QEAgLTgwMCw2ICs4MTEsNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfY3JlYXRlX3RoaXMoSW5z
dHJ1CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBkb2Vzbid0IGhhdmUgYW4gYWxsb2NhdGlv
biBwcm9maWxlCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCAo
bm8gYWxsb2NhdG9yKQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWls
ZWQgKGFsbG9jYXRvciBlbXB0eSkKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRp
b24gZmFpbGVkLCBzdHJ1Y3R1cmUgaGFzIHBvbHkgcHJvdG8KICAgICBsaW5rU2xvd0Nhc2UoaXRl
cik7IC8vIGNhY2hlZCBmdW5jdGlvbiBkaWRuJ3QgbWF0Y2gKIAogICAgIEpJVFNsb3dQYXRoQ2Fs
bCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfY3JlYXRl
X3RoaXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lv
biAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgUHJvdG90
eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNo
ZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFz
ZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsNDAgQEAgc3RhdGljIElubGluZUNh
Y2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5
U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1
Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFi
c2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAg
ICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwot
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAg
ICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgaWYgKEpT
T2JqZWN0KiBiYXNlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBiYXNlQ2VsbCkpIHsK
KyAgICAgICAgICAgICAgICAvLyBPT1BTOiBtYXliZSB0ZWFjaCBQcm90b3R5cGVBY2Nlc3NDaGFp
biBhYm91dCBub24gb2JqZWN0CisgICAgICAgICAgICAgICAgLy8gYmFzZXMuCisgICAgICAgICAg
ICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbihiYXNlLCBz
bG90KTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5
UHJvdG8oKSkKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2xlYXJD
aGFpbigpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNv
bmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0No
YWluLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgICAgIC8vIE9PUFM6IFRoaXMgb2J2aW91c2x5
IGlzIG5vdCBjb3JyZWN0LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwor
ICAgICAgICAgICAgfSAKKworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi51
c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlv
bnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBj
b2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKwogCi0gICAgICAg
ICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25T
ZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGFy
ZSB0aGVzZSBleHByZXNzaW9uIGVxdWl2YWxlbnQ/CisgICAgICAgICAgICAvL29mZnNldCA9IHNs
b3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRp
dGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBp
bnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAg
IEpTRnVuY3Rpb24qIGdldHRlciA9IG51bGxwdHI7CkBAIC0yOTksNyArMzE4LDcgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICBlbHNlIHsKICAgICAg
ICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5zZXQoKSkgewog
ICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0s
IGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDogQWNjZXNzQ2Fz
ZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOworICAgICAg
ICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0
RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBBY2Nlc3NDYXNlOjpBY2Nlc3NU
eXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkK
QEAgLTMxNiw3ICszMzUsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRC
eUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksCiAgICAgICAgICAgICAg
ICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBz
bG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAgICAgICAgICAgICAgc2xvdC5p
c0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDogbnVsbHB0ciwKLSAgICAgICAg
ICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmli
dXRlLCBwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90
b3R5cGUuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBm
YWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29s
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7
Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVj
dC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3Qp
OwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0
KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02
MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQog
ICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVj
dCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2Fz
ZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0
Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0Rv
dWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAg
aWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAg
ICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
T2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAg
ICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAg
IH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5
UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3Vv
dXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBo
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBp
ZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJl
dmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1Ymxp
Y0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRl
cmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xl
KGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlz
T2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3Rv
cmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAg
IGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMo
KSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgp
OwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc0LDcg
KzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VM
WSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2Ut
PnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlm
IChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAh
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpT
VmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAg
IGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVk
QXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAg
ICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5M
SUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJ
S0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJm
bHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAg
ICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9y
TGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1l
bnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRo
ZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAg
ICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUg
d2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0s
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCks
IGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3Vs
dC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50
czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgp
KTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhp
bmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4
aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBD
bG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1l
LCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xv
bmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFy
Z2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3Ry
dWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVy
ZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVz
dWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6
OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAg
ICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFs
dWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4
aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVy
ZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3Bw
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDEzIEBAIFNMT1df
UEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RF
bXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFz
U3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBz
dHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOworICAgICAgICAgICAgLy8gT09QUzogaXMgdGhpcyBy
aWdodD8KKyAgICAgICAgICAgIGNhY2hlV3JpdGVCYXJyaWVyLnNldFdpdGhvdXRXcml0ZUJhcnJp
ZXIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpOworICAgICAgICAgICAgLy9k
YXRhTG9nTG4oIk1hZGUgcG9seSBwcm90byBvYmplY3QgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1Bv
aW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpKSk7CisgICAgICAgIH0KKyAgICAgICAg
Ly9kYXRhTG9nTG4oImNyZWF0ZV90aGlzIHJlc3VsdDogIiwgSlNWYWx1ZShyZXN1bHQpKTsKICAg
ICB9IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21h
LTI2Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1Zh
bHVlIHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hp
bGRyZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0
b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxl
KTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsK
KyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlw
ZVN0cnVjdHVyZSk7CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxl
Ojpmcm9tR2xvYmFsQ29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uRXhlY3V0YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTczLDYgKzE3Myw5IEBAIHB1YmxpYzoKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmds
ZXRvbkZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQogCisg
ICAgLy8gT09QUzogYWRkIG1ldGhvZHMgZm9yIHRoaXMuCisgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisKIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIEV4ZWN1dGFibGVCYXNlOwogICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSgK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBA
QCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVu
Y3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90
IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNv
bnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2
bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhp
cywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1
bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9u
IDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURh
dGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwg
c2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBi
b29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAy
MjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRl
cm5hbEZ1bmN0aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdWJjbGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1Rh
cmdldCwgU3RydWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQo
IW5ld1RhcmdldCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3
VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChi
YXNlQ2xhc3MtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkg
YmUgYW4gSW50ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29u
c3RydWN0LgogICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxK
U0Z1bmN0aW9uKj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg4Miw3ICs4ODIsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRl
JiBlCiAgICAgY2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3Vv
dXM6IHsKICAgICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0g
TUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9J
TkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRo
aXMpKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAg
LTkxNyw3ICs5MTcsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdl
CiAgICAgCiAgICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lz
ZSBpbiBhbiBhYm5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGht
IGluIEFycmF5UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlz
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBp
ZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgp
IAogICAgICAgICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC0xMDQ4LDcgKzEwNDgsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0
Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhv
bGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0
IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxp
emUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5z
aWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0
aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyAr
K2kpIHsKICAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXMo
KVtpICsgY291bnRdLmdldCgpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghdikpIHsK
QEAgLTEwODksNyArMTA4OSw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRl
eGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0
YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAg
ICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2
ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRM
ZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAg
ICAgICAgIGRvdWJsZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKClbaSArIGNvdW50
XTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpAQCAtMTQzNiw3ICsx
NDM2LDcgQEAgYm9vbCBKU0FycmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTgogICAgIGlm
IChzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9i
YWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgp
ICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw4ICs2MSw4IEBAIGlubGluZSBib29sIEpTQXJyYXk6OmNhbkZhc3RD
b3B5KFZNJiB2bSwKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJWE1FOiBXZSBzaG91
bGQgaGF2ZSBhIHdhdGNocG9pbnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBvbiBBcnJheS5wcm90
b3R5cGUgYW5kIE9iamVjdC5wcm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9mIHdhbGtpbmcgdGhl
IHByb3RvdHlwZSBjaGFpbi4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NTU5MgotICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0pCi0gICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhlckFycmF5KSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCShyZXZpc2lv
biAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rp
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNiArMTM1LDcgQEAgaW5saW5lIFN0cnVjdHVy
ZSogZ2V0Qm91bmRGdW5jdGlvblN0cnVjdAogICAgIC8vIGlzbid0IGFueSBnb29kIHBsYWNlIHRv
IHB1dCB0aGUgc3RydWN0dXJlIG9uIEludGVybmFsIEZ1bmN0aW9ucy4KICAgICBpZiAodGFyZ2V0
SlNGdW5jdGlvbikgewogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRhcmdldEpTRnVu
Y3Rpb24tPnJhcmVEYXRhKHZtKS0+Z2V0Qm91bmRGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAg
ICAvLyBPT1BTOgogICAgICAgICBpZiAoc3RydWN0dXJlICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCkgPT0gcHJvdG90eXBlICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xv
YmFsT2JqZWN0KQogICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcElu
Q29udGV4dEFzc3VtaW5nU3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0lu
Zm8oKS0+aXNTdWJDbGFzc09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQu
cHJpbnQoIk9iamVjdDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0
LnByaW50KCIgd2l0aCBidXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSkt
PmJ1dHRlcmZseSgpKSk7Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpz
dHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVj
dHVyZSAiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxs
KCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwg
Y29udGV4dCksICIpIik7CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBv
dXQucHJpbnQoIiwgSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0
LnByaW50KCIsIFN0cnVjdHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5k
aWYKICAgICB9IGVsc2UgaWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDcgKzEzNSw3IEBAIEZ1bmN0aW9uUmFyZURh
dGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW4KICAgICBpZiAoIXByb3RvdHlwZSkKICAgICAgICAg
cHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKICAgICBGdW5jdGlv
blJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAg
cmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5s
aW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1h
eSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1
cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTUzLDcgKzE1Myw3IEBA
IEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKICAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKICAgICBpZiAoIXBy
b3RvdHlwZSkKICAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5
cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
dm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9yYXJl
RGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogICAgIHJldHVybiBtX3JhcmVEYXRh
LmdldCgpOwogfQogCkBAIC0zNDEsNiArMzQxLDE4IEBAIEVuY29kZWRKU1ZhbHVlIEpTRnVuY3Rp
b246OmNhbGxlckdldHRlcigKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVy
cm9yKGV4ZWMsIHNjb3BlLCBBU0NJSUxpdGVyYWwoIkZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJl
dHJpZXZlIHN0cmljdCBjYWxsZXIiKSkpOwogfQogCitzdGF0aWMgdm9pZCBpbmZlckNvbnN0cnVj
dG9yVmFsdWVJZk5lZWRlZChWTSYgdm0sIEpTVmFsdWUgcHJvdG90eXBlVmFsdWUsIEpTRnVuY3Rp
b24qIGNvbnN0cnVjdG9yKQoreworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWND
YXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZVZhbHVlKTsKKyAgICBpZiAoIXByb3RvdHlwZSkK
KyAgICAgICAgcmV0dXJuOworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3Rv
dHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAgIGlmIChyYXJlRGF0
YS0+bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkpCisgICAgICAgIHJhcmVEYXRhLT5lbnN1cmVJ
bmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKyAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRD
b25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCByYXJlRGF0YS0+
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkpKQorICAgICAgICBpbmZl
cnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIC5w
cm90b3R5cGUgaW5zaWRlIEpTRnVuY3Rpb24iKTsKK30KKwogYm9vbCBKU0Z1bmN0aW9uOjpnZXRP
d25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKQEAgLTQ1Miw2ICs0NjQsNyBAQCBib29sIEpTRnVuY3Rpb246OnB1dChKU0Nl
bGwqIGNlbGwsIEV4ZWNTCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0
T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZ2V0U2xvdCk7
CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09i
amVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBh
IGZ1bmN0aW9uIik7CisgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCB2
YWx1ZSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0
dXJuIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90
KTsKICAgICB9CkBAIC01MTgsNiArNTMxLDggQEAgYm9vbCBKU0Z1bmN0aW9uOjpkZWZpbmVPd25Q
cm9wZXJ0eShKU09iagogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93
blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogICAg
ICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3Qt
Pm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5j
dGlvbiIpOworICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICAgICAgaW5m
ZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIGRlc2NyaXB0b3IudmFsdWUoKSwgdGhpc09i
amVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OmRl
ZmluZU93blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCB0
aHJvd0V4Y2VwdGlvbik7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNN
YXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGds
b2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAg
aWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90
b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5t
YXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNyArNzMsNyBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZh
c3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3Rv
dHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICAgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9
IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAs
NyBAQCBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0
eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7
CiAgICAgICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAg
ICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVU
byh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lLCB0aGlzKSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRl
cmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEw
MTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUK
ICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIElu
ZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChv
bGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3Ry
dWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghc3RydWN0dXJl
KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1
cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9m
TGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNy
ZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgs
IHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3Rv
cmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1
cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBv
bGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVy
dHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRl
cmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJl
KHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjA2LDcgKzEyMDYs
NyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7
Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNP
YmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBA
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJl
dHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9B
cnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5z
aXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnRE
b3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0
Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252
ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0
aGlzKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9B
cnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAg
LTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1
b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3Rv
cmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3Jh
Z2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7
CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiB2b2lk
IEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVl
KQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1
cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFM
TF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
KyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4g
Q29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIo
dm0sIDApOwogICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVz
IEpTT2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgp
KSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJ
S0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAg
ICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVh
dGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBD
b250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNo
IChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgot
ICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBA
IC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5
U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgog
ICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VS
VCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VS
VCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICBy
ZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAg
Y2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBF
UzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBB
U1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBB
U1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAg
ICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAg
IGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGln
dW91c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzYs
NyArMTYzNiw3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJh
bnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKICAgICBzZXRTdHJ1Y3R1cmUo
dm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBpZiAoIW5ld1N0cnVj
dHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyh0aGlzKSkK
ICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5
cGUodGhpcykpIHsKQEAgLTE5NTEsNyArMTk1MSw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGlu
YXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1
bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFy
ZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0
Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAg
ICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9i
amVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAg
ICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGll
c0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0g
UHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MjcsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRC
eUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9u
ZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwg
dmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAg
ICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkg
eworICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
IHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQ
dXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdl
KHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAg
ICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cp
OwpAQCAtMjg3OCw3ICsyODc5LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93
T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVu
Z3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0
cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0K
LSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAg
ICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0s
IGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAg
IHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAg
c3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICszNTU5LDcgQEAgdWlu
dDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2
bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkK
KyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVj
dCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUo
KSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAg
ICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlz
KSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChn
ZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFBy
b3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVE
aXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAg
QVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5m
byh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlubGluZSBKU09iamVjdDo6SlNP
YmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3Rv
dHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsK
IH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNT
dGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwMCw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09i
amVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1
cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0
LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUs
IHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhp
cyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9lc24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUg
ZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElu
bGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBB
TFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFko
c3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1
bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNs
b3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUg
PSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBA
QCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5j
bGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5
cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFs
TWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdl
dFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlw
ZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5M
SU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmpl
Y3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAg
IEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRl
cmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0s
IHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkpOwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1
dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBz
bG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNT
dHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwog
ICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1NldC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0
Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9i
YWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlm
IChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90
b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5q
c1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw3ICs3Myw3IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25l
RmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJv
dG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxP
YmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3Qo
KSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMzI5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGUoY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7
CisgICAgICAgIC8vIE9PUFMuIG1ha2Ugc3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhh
dCBhY2Nlc3NlcyB0aGlzLgogICAgICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7
CiAgICAgICAgIHJldHVybiBnZXQoZ2xvYmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAg
ICAgfQpAQCAtMTAxLDEzICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVj
dHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3Rv
dHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAg
ICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjMy
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDExIEBAIHNpemVfdCBub3JtYWxpemVQcm90b3R5cGVD
aGFpbihDYWxsRnJhbWUKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5p
c1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisg
ICAgICAgIC8vIE9PUFM6IHRoaXMgZGVmaW5pdGVseSBuZWVkcyBzb21lIG1vcmUgdGhvdWdodAor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0
cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2Lmlz
TnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NCwxNyArNTQsMzggQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlw
ZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAKLWlubGluZSBTdHJ1
Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJ
bmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlw
ZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVN
YXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgYXV0byBrZXkg
PSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBn
bG9iYWxPYmplY3QpOworICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0aGlzIGlzbid0IGNhbGxlZCB3
LyBwcm90b3R5cGU9bnVsbHB0ciBmb3IgdmFsaWQgcmVhc29ucy4KKyAgICBhdXRvIGtleSA9IHN0
ZDo6bWFrZV90dXBsZShtYWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlw
ZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYg
KG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90
b3R5cGUpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90
b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCisg
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworCiAgICAgYWRkUHJvdG90eXBlKHByb3Rv
dHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAg
ICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUlu
Zm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOworCisgICAgLy8gT09QUzogZmlndXJlIG91dCB3aGF0
IHRvIGRvIGhlcmUuIFRoaXMgZmVlbHMgbGlrZSB0aGUgd3JvbmcgcGxhY2UgdG8gZG8gdGhpcy4K
KyAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBTdHJ1Y3R1cmVSYXJl
RGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCk7Cisg
ICAgICAgIEFTU0VSVChyYXJlRGF0YS0+bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKTsKKyAg
ICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1
cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmFyZURhdGEt
PnNldFBvbHlQcm90b1N0cnVjdHVyZSh2bSwgc3RydWN0dXJlKTsKKyAgICB9CisKKyAgICBpZiAo
IXN0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAg
ICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5m
bywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJl
cy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CiAgICAgcmV0dXJuIHN0cnVj
dHVyZTsKIH0KQEAgLTczLDIwICs5NCwyMSBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1w
dHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGlubGluZSBj
YXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBpbnRlcm5hbCBm
dW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFjaXR5IG9mIDAu
CiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUtPmluZGV4aW5n
VHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5k
ZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhwcm90b3R5cGUpICYmIGhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGlu
Z1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwog
Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwg
aW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJl
KiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJl
Rm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1
cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCks
IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAg
ICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpT
RmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9T
dHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVj
dHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCog
b2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVt
b3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjpt
YWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCks
IGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAg
SlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNl
U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2
b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBp
c1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVz
dGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNv
bnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4
aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVj
dHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVz
OwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFr
R0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBK
U0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1
Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25z
dCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVy
ZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsy
NDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBK
U0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2Fw
YWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0g
ICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQor
ICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkK
ICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNp
dGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKQEAgLTI5NSw2ICsyOTUsMjggQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBj
ZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1
Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcs
IFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywg
SW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7Cisg
ICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKwor
ICAgIC8vZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50
ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3Vs
dC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUgdGhpcyBzaG91bGQgYWx3YXlz
IHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9u
KAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUoKSwgRG9udEVudW0sCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZl
Q29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNl
dCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6
Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5
KTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGxldHMgbWFrZSBhIGRpZmZlcmVudCBjdG9yIGZvciB0
aGlzIHZhcmlhbnQgb2YgcG9seSBwcm90bywgc2luY2UgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUg
CisgICAgICAgICAgICAvLyBhbHJlYWR5IGtub3dzIHdoZW4gaXQncyBtYWtpbmcgYSBwb2x5IHBy
b3RvIHZhcmlhbnQuCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChv
ZmZzZXQpKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJTZXR0aW5nIG1fcHJvdG90eXBlIHRv
OiAiLCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUu
c2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5z
ZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVy
aWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSom
IHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1
cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMjYgKzQyMCwzMCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRv
RXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQp
OwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3Ig
KGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJl
bnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIFJFTEVBU0VfQVNTRVJUKGJh
c2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTOiBMZXQncyBqdXN0IHB1dCB0aGlzIG9u
IEpTT2JqZWN0PworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworICAgIGZvciAoY29uc3QgSlNP
YmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1
cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09i
amVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0
KHByb3RvdHlwZSk7CiAgICAgfQogfQogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJiB2bSkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBBU1NF
UlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKKwogICAgIGlmICh0aGlzLT5tYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1Zh
bHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBl
LmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0
ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQyNiw3ICs0NTIsNyBAQCBib29sIFN0cnVjdHVy
ZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJl
ID0gKm9iamVjdC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0
aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5
cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0
cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUu
aXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0g
YXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQzNiwxNSArNDYyLDE2IEBAIGJvb2wgU3RydWN0dXJl
Ojpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wg
U3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6
bmVlZHNTbG93UHV0SW5kZXhpbmcoSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQorICAgIFJFTEVB
U0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtl
IHRoaXMgSlNPYmplY3QqIG1ldGhvZD8KKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhiYXNlKQogICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+
aXNIYXZpbmdBQmFkVGltZSgpOwogfQogCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJl
OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKK05vblByb3BlcnR5VHJh
bnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAg
aWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKGJhc2UpKSAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMg
YSBKU09iamVjdCogbWV0aG9kCiAgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246
OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICAKICAgICByZXR1cm4gTm9uUHJvcGVy
dHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKQEAgLTExMDksNyArMTEzNiw3IEBA
IGJvb2wgU3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2ds
b2JhbE9iamVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5n
ZXQoKSkpCi0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYg
KCFoYXNTdG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVh
cDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAog
Ym9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEy
MSwyMCArMTE0OCwyNCBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3Im
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1h
eUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorYm9v
bCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBiYXNlKQogeworICAgIFJFTEVBU0Vf
QVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2Ug
dGhpcyBhIEpTT2JqZWN0KiBtZXRob2QuCisKICAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5h
bWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpOworICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcyhiYXNlKTsKICAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9
IHRoaXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAg
ICAgICAvLyBPT1BTOiBNYXliZSB0aGlzIG5lZWRzIHNvbWUgY2xvc2VyIGF0dGVudGlvbiwgYnV0
IEknbSBub3Qgc3VyZSBob3cgd2UgY2FuIHNheQorICAgICAgICAvLyBtdWNoIGFib3V0IG91ciBw
cm90b3R5cGUgY2hhaW4gd2l0aG91dCBrbm93aW5nIGNvbnN0YW50IHByb3RvdHlwZSB2YWx1ZXMu
Li4KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJl
Y3QoKTsKICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCkt
PnN0cnVjdHVyZSh2bSk7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwog
ICAgICAgICAKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMp
OworICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0p
LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmICghSlNDOjpp
c1ZhbGlkT2Zmc2V0KG9mZnNldCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCkBA
IC0xMTcyLDYgKzEyMDMsNyBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1
Y3R1CiAgICAgICAgICAgICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgp
OwogICAgICAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7CiAg
ICAgICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOworICAgICAgICAgICAgLy8g
T09QUzoKICAgICAgICAgICAgIGN1clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKTsKICAgICAgICAgfQogCkBAIC0xMTgxLDEzICsxMjEzLDYgQEAgUmVmPFN0cnVjdHVyZVNo
YXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dQogICAgIHJldHVybiBiYXNlU2hhcGU7CiB9CiAKLWJv
b2wgU3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSogb3RoZXIpCi17
Ci0gICAgcmV0dXJuIGlubGluZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlubGluZUNhcGFjaXR5KCkK
LSAgICAgICAgJiYgc3RvcmVkUHJvdG90eXBlKCkgPT0gb3RoZXItPnN0b3JlZFByb3RvdHlwZSgp
Ci0gICAgICAgICYmIG9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpID09IG90aGVyLT5vYmplY3RJ
bml0aWFsaXphdGlvbkJsb2IoKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJl
YW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoUmF3UG9pbnRlcih0aGlzKSwgIjpbIiwg
Y2xhc3NJbmZvKCktPmNsYXNzTmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3ICsxMjI3LDkgQEAgdm9p
ZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgYwogICAgIAogICAgIG91dC5wcmlu
dCgifSwgIiwgSW5kZXhpbmdUeXBlRHVtcChpbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIGlm
IChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKKyAgICBpZiAoIWhhc1N0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5UHJvdG9P
ZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCiAgICAg
ICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdldCgpLmFz
Q2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwog
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1Rh
ZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xh
c3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29u
c3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAg
ICAgIEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09i
amVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90
eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJ
bnQzMigpKTsKICAgICB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRp
bmdFYXJseUNlbGxUYWcpCkBAIC0yNDAsMTkgKzI0MiwzNyBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFj
Y2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBi
b29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OworICAgIEpTX0VYUE9S
VF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cyhKU09iamVjdCopIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJ
bmRleGluZygpIGNvbnN0OwotICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGlu
ZyhKU09iamVjdCopIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVj
dC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2Fs
bGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAog
ICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUg
aW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhp
cywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0
b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBl
LmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkp
OworICAgICAgICAvLyBPT1BTLiBtYXliZSBkZWJ1ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAg
cmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5
UHJvdG9PZmZzZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0
b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50
MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3Qq
KSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2Jq
ZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29u
c3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmpl
Y3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNv
bnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwpA
QCAtMjc0LDEyICsyOTQsMjUgQEAgcHVibGljOgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZp
c2l0b3ImKTsKICAgICAgICAgCiAgICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4g
aW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJv
b2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsK
KyAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYsIFByb3BlcnR5TmFtZSwgSlNPYmplY3QqKTsKICAgICAKICAgICBib29sIGhhc1Jh
cmVEYXRhKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlv
dXNPclJhcmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFy
ZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JS
YXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJh
cmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAg
ICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsK
KyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBA
IC01MzMsMTIgKzU2Niw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhcnRXYXRjaGluZ0ludGVybmFs
UHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc3RhcnRXYXRjaGluZ0ludGVy
bmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0mIHZtKQotICAgIHsKLSAg
ICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0cnVjdHVyZTsgc3RydWN0
dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAg
IHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZt
KTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlwZXMoKSBjb25zdAogICAgIHsKICAg
ICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU5MCwxMCArNjE3LDYgQEAg
cHVibGljOgogCiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFs
dWUpOwogICAgIAotICAgIC8vIERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNo
IGVub3VnaCB0aGF0IHRoaXMgb25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAg
Ly8gb2YgdGhlIG90aGVyIG9uZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3Ry
dWN0dXJlKik7Ci0gICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAg
dm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBjb25zdDsKICAg
ICB2b2lkIGR1bXBCcmllZihQcmludFN0cmVhbSYsIGNvbnN0IENTdHJpbmcmKSBjb25zdDsKQEAg
LTczMiwxMiArNzU1LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+
c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJh
cmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFyZURh
dGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1f
cHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlU
YWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENv
bnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTc3LDYg
Kzc3LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICAKICAgICAgICAgdm0uaGVhcC5tdXRhdG9yRmVu
Y2UoKTsKICAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgICAgIC8vIE9P
UFM6IEkgdGhpbmsgd2UgbWF5IG5lZWQgYSB3cml0ZSBiYXJyaWVyIGhlcmUgb2YgfHRoaXN8Lgog
ICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAK
IGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU1Zh
bHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmpl
Y3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VS
VChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBK
U1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qp
IGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlz
KTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQor
ICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9w
cm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBt
X3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0
KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVk
UHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVM
RUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBh
c3NlcnQgCisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9iamVjdC0+Z2V0RGly
ZWN0KHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZ
U19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShj
b25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8g
PSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5z
dHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlTX0lOTElORSBQcm9w
ZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKQEAgLTQwMCw3ICs0MzAsNyBAQCBpbmxp
bmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJlbW92ZShw
cm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3Bl
cnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9p
ZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJs
ZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0
YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVk
ZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5oIgorI2luY2x1
ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iu
aCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTcw
LDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6dmlzaXRDaGlsZHJlbihKUwogICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJldmlvdXMpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSk7CiAgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKTsKKyAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSk7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFyZURh
dGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3Nyw1
MyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAgbV9vYmpl
Y3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0pTVmFsdWUgU3RydWN0dXJlUmFyZURhdGE6
OmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpCit7CisgICAgcmV0dXJu
IG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmdldCgpOworfQorCiti
b29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7
CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0
aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAo
IWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNE
eW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSkpCisgICAgICAgIHJldHVybiBpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNC
ZWVuSW52YWxpZGF0ZWQoKTsKKyAgICBBU1NFUlQoaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlLmFzQ2VsbCgpLT5pbmhlcml0cyh2bSwgU3RydWN0dXJlOjppbmZvKCkpKTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cnVjdHVyZSogU3RydWN0dXJlUmFyZURhdGE6OnBv
bHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGpzRHluYW1p
Y0Nhc3Q8U3RydWN0dXJlKj4odm0sIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6OmlzUG9seVByb3RvKFZNJiB2bSkK
K3sKKyAgICByZXR1cm4gbmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pIHx8ICEhcG9seVByb3Rv
U3RydWN0dXJlKHZtKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNJbmZlcnJl
ZENvbnN0cnVjdG9yKCkKK3sKKyAgICByZXR1cm4gIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSgpOworfQorCitJbmZlcnJlZFZhbHVlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6
ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0pCit7CisgICAgUkVMRUFTRV9BU1NFUlQo
IW1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKKyAgICBJbmZlcnJl
ZFZhbHVlKiByZXN1bHQgPSBJbmZlcnJlZFZhbHVlOjpjcmVhdGUodm0pOworICAgIG1faW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgcmVzdWx0KTsK
KyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpzZXRQb2x5
UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBtX2lu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVj
dHVyZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0aG9kcyBmb3IgT2JqZWN0LnByb3RvdHlw
ZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0KIAog
T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Ok9iamVjdFRvU3RyaW5n
QWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
JiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1cmVSYXJlRGF0YSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
UmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1
Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMjIgQEAgcHVibGljOgogICAgIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0Owog
ICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYsIEpTUHJvcGVydHlO
YW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJlIGEgdGhlIHN0cnVjdHVyZSBvZiBhIHBy
b3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0IG91ciBmdW5jdGlvbiBpcywgc3VjaCB0
aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVyZSBpcyB1cy4KKyAgICAvLyBXZSdyZSB0
aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1Y3R1cmUgb2YgYW4gb2JqZWN0IHdoaWNo
IG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAorICAgIC8vIG9mIGEgY29uc3RydWN0b3Iu
IElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdlIHdhbnQgdG8gaW5mZXIgaWYgd2UgaGF2
ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8vIElmIHdlIGRvLCB0aGVuIG1faW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHBvaW50cyB0byBhbiBJbmZlcnJlZFZh
bHVlIGluZmVycmluZyBhCisgICAgLy8gSlNGdW5jdGlvbi4gSWYgd2Ugbm90aWNlIHRoYXQgd2Ug
Z28gcG9seSBwcm90bywgdGhlbiB0aGlzIGZpZWxkIGVpdGhlciBwb2ludHMgdG8gYW4gSW5mZXJy
ZWRWYWx1ZQorICAgIC8vIHRoYXQgaXMgaW52YWxpZGF0ZWQuIElmIHdlIGV2ZXIgY29uc3RydWN0
IGFuIG9iamVjdCB3aG8ncyBfX3Byb3RvX18gcG9pbnRzIHRvIHRoaXMgcHJvdG90eXBlLCB0aGVu
CisgICAgLy8gd2UgbW92ZSBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVy
ZSB0byB0aGUgU3RydWN0dXJlIG9mIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmUgY3JlYXRlZAor
ICAgIC8vIHRoYXQgaGFzIHBvbHkgcHJvdG8uCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5m
ZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9y
UG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgYm9vbCBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZShW
TSYpOworICAgIGJvb2wgbmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCk7CisgICAgdm9pZCBzZXRQ
b2x5UHJvdG9TdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBTdHJ1Y3R1cmUqIHBvbHlQ
cm90b1N0cnVjdHVyZShWTSYpOyAvLyBNYXkgYmUgbnVsbHB0ciBpZiBub3QgcG9seSBwcm90byBv
ciBwb2x5IHByb3RvIHN0cnVjdHVyZSBoYXMgeWV0IHRvIGJlIGluc3RhbnRpYXRlZC4KKyAgICBi
b29sIGlzUG9seVByb3RvKFZNJik7CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2
YXRlOgpAQCAtNzYsNiArOTMsNyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3Ry
aW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9j
YWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAgIFdyaXRlQmFycmllcjxVbmtub3duPiBt
X2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZTsKICAgICAKICAgICB0eXBl
ZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJ
bnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAko
cmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVC
YXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFsdWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3Zh
bHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQogICAgIGJvb2wgaXNOdW1iZXIoKSBjb25z
dCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9CisgICAgYm9vbCBpc0ludDMyKCkgY29uc3Qg
eyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAgYm9vbCBpc09iamVjdCgpIGNvbnN0IHsg
cmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0
dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBpc0dldHRlclNldHRlcigpIGNvbnN0IHsg
cmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAkod29ya2luZyBj
b3B5KQpAQCAtOTQsNiArOTQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlu
bGluZSBKCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5lIEpTQzo6SlNP
YmplY3QqIGdldERPTVByb3RvdHlwZShKU0M6OlZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKIHsKKyAgICAvLyBPT1BTOiBsb29rIGludG8gdGhpcwogICAgIHJldHVybiBK
U0M6OmpzQ2FzdDxKU0M6OkpTT2JqZWN0Kj4oYXNPYmplY3QoZ2V0RE9NU3RydWN0dXJlPFdyYXBw
ZXJDbGFzcz4odm0sIGdsb2JhbE9iamVjdCktPnN0b3JlZFByb3RvdHlwZSgpKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321526</attachid>
            <date>2017-09-22 01:11:57 -0700</date>
            <delta_ts>2017-09-22 02:02:49 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>142577</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCShyZXZpc2lv
biAyMjIzMjkpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0cyA9IFsKICAgICBuZXcg
VGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwogCi10ZXN0cy5mb3JFYWNo
KGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7Ci0gICAgICAg
IHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3Ry
dWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAgICBpZiAodGVzdC52YWx1
ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3Vs
dDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdGVzdHMuZm9yRWFjaChm
dW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKKyAgICAg
ICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7Ci0gICAgICAgICAgICB0
aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0KSB7CisgICAgICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsKKyAgICAg
ICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiArMjI3LDcgQEAgYnl0ZWNvZGUvTGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQ
cm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVj
b2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCkBA
IC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29k
ZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcAog
Ynl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9QdXRC
eUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4MDFFMDM1NTlDMDA1QkVFRDggLyog
QjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyMzNDMkIxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MkNCMzRBMUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTQ1NzVD
RDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY0NjU2QTFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY1QzIxNzFF
NUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjVDMjE1MUU1
RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NkRBQTJC
MUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVl
Qml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0
aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVE1hdGhJQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFDNEVFRDVDMDBEMTNBRjMgLyogUENU
b0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJD
QjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0No
YWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NUYwOTlDMUUwMzYwMDUwMEJC
RTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGlsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9j
YXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgcGF0
aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzczNDQsOCBAQAogCQkJCTE0QUQ5MTBB
MURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmggKi8sCiAJCQkJMEZEM0U0MDcx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQw
ODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uaCAqLywKKwkJCQk3OTQ1NzVD
QzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTc5
NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovLAogCQkJ
CTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuY3BwICovLAogCQkJCTBG
MTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuaCAqLywKIAkJCQkwRjkzMzI5
OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAgKi8sCkBAIC04NTI5LDYgKzg1
MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAvKiBJbnRsQ29sbGF0b3JQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0RTBDREIwMEZDMTAyOSAvKiBJ
bnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q2RTFC
NERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVG
b3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFDNjAw
RDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFBy
b3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJP
UAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2
bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3lt
Ym9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJv
dG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBT
eW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjAyLDYgKzIwMiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AK
ICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1w
bDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNk
ZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVU
b1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsK
QEAgLTIyNiw2ICsyMjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZh
dGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlM
VElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAg
ICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJ
TklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpAQCAtMjM0LDYgKzIzNiw4IEBAIHB1
YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAg
ICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQo
bV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVi
bGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmlt
cGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0
IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsK
QEAgLTI0Niw2ICsyNTAsNyBAQCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NF
U1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVO
YW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAog
cHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU0LDYgKzI1
OSw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
V0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJz
Y29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRp
bk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAg
ICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5oIgog
I2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVy
bmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fc3Ry
dWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRp
b25TZXQgPSBjb25kaXRpb25TZXQ7CkBAIC0xNTEsNiArMTU0LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAg
ICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIzMCw2ICsy
MzYsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgCiAgICAgZWxz
ZSBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9
ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7CiAKKyAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludChjb21tYSwg
InByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKwog
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0
eSgpKQpAQCAtMjQzLDYgKzI1MiwxMCBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYg
dm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0
cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKFN0cnVjdHVy
ZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpKSB7CisgICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICsyODYs
OSBAQCBib29sIEFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1f
c3RydWN0dXJlKQogICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZp
c2l0b3IpOwogCisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY2hhaW4oKSkKKyAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlv
bjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5w
cmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICszODgsNjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQ
cm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1
YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBK
U0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAg
ICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5
Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmICht
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy9k
YXRhTG9nTG4oIkdlbmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAgLy9q
aXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAgICAg
IEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAg
IGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKS5z
aXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRF
bmQgPSBpICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOworICAg
ICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVuZCkg
eworICAgICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVs
YXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gT09QUzogSSBkb24ndCB0aGluayB0aGlzIGlzIG5lZWRlZCBpZiB3ZSB0cmFu
c2l0aW9uIG9uIHNldHRpbmcgdGhlIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwg
YmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBy
b3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNl
dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZz
ZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nl
c3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQo
Q0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tNjQoVmFsdWVOdWxsKSkpOyAvLyBPT1BTOiB0aGlzIGlzbid0IG5lZWRlZCBpZiB3ZSBz
dGlsbCB0cmFuc2l0aW9uIG9uIHNldHRpbmcgb3VyIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0
dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAg
ICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0
YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0
cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkp
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC00NjMsNiAr
NTE3LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAg
ICByZXR1cm47CiAKICAgICBjYXNlIE1pc3M6CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGpp
dC5tb3ZlVHJ1c3RlZFZhbHVlKGpzVW5kZWZpbmVkKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0
YXRlLnN1Y2NlZWQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTA0LDEzICs1NTksMTcgQEAgdm9p
ZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZv
ckdldEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0g
ICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQu
bW92ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJu
YXRlQmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJh
c2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzY3JhdGNoR1BSOyAvLyB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQhIE9PUFM6IHRoaXMg
aXMgdWdseS4KKyAgICAgICAgICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGxvYWQh
XG4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0g
SW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAm
JiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVl
U2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtNTY5LDYgKzYy
OCw5IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCisgICAgICAgIC8vaWYgKG1fdHlwZSA9PSBHZXR0ZXIgJiYgbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5tX2hhc1BvbHlQcm90bykKKyAgICAgICAgLy8gICAgaml0LnBy
aW50KCJEb2luZyBnZXR0ZXIgY2FsbCBmb3IgcG9seSBwcm90b1xuIik7CisKICAgICAgICAgLy8g
U3R1ZmYgZm9yIGN1c3RvbSBnZXR0ZXJzL3NldHRlcnMuCiAgICAgICAgIENDYWxsSGVscGVyczo6
Q2FsbCBvcGVyYXRpb25DYWxsOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgog
I2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYs
OCArMTg3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAg
IGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBwcm90b3R5cGVBY2Nlc3NDaGFpbigpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47IH0KKwogcHJvdGVjdGVkOgotICAgIEFj
Y2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwg
U3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKKyAgICBBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKICAgICBBY2Nlc3NDYXNlKGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUg
PSBQcmltb3JkaWFsOyB9CkBAIC0yMjcsNiArMjMwLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gbV9wcm90
b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3Mudmlh
UHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0
YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy5wcm90b3R5cGVBY2Nlc3NDaGFp
bigpLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1
cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRl
ckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwg
YWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFk
ZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vz
c0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNlLnNl
dE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6
b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDcgKzYzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFz
ZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQo
bmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJh
c2UsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgcmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9
IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3IuZ2V0dGVyID0gY3Vz
dG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CkBAIC03NCw3ICs3NCw4IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAg
c3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSkpOworICAgIC8vIE9PUFM6
IGRvIHNvbWV0aGluZyBoZXJlCisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21T
bG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21B
Y2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDksMTEgKzQ5LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAg
ICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9
IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0g
ICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxv
cHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIs
CisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIFByb3RvdHlwZUFjY2Vz
c0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwK
QEAgLTY3LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29u
c3QgeyByZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKICAg
ICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIy
MzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2
YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
OjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1
Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0
cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkp
OworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3Jw
aGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHBy
b3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3Ry
dWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1
ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCituYW1l
c3BhY2UgSlNDIHsKKwordm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rp
b24qIGNvbnN0cnVjdG9yKQoreworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VS
VCghbV9zdHJ1Y3R1cmUpOworICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBi
b29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAg
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKTsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlICYmIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgewor
ICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcHJvdG90eXBlLT5zdHJ1Y3R1
cmUodm0pLT5yYXJlRGF0YSgpLT5wb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7CisKKyAgICAgICAg
ICAgICAgICAvL2RhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7Cisg
ICAgICAgICAgICAgICAgLy9kYXRhTG9nTG4oImFscmVhZHkgaGF2ZSBwb2x5IHByb3RvIHN0cnVj
dHVyZSBmb3IgZXhlY3V0YWJsZTogIiwgUmF3UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRh
YmxlKCkpKTsKKyAgICAgICAgICAgICAgICAvL2RhdGFMb2dMbihjb25zdHJ1Y3Rvci0+anNFeGVj
dXRhYmxlKCktPnNvdXJjZSgpLnZpZXcoKSk7CisgICAgICAgICAgICAgICAgLy9zdHJ1Y3R1cmUt
PmR1bXAoV1RGOjpkYXRhRmlsZSgpKTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgICAgICAgICBN
YXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoSlNG
aW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpKTsKKworICAgICAgICAg
ICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgICAgICAgICAgICAgIG1fc3RydWN0
dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgbV9pbmxpbmVD
YXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIE9PUFM6IFByb2JhYmx5IGNhbGwgaW50
byBhIGRpZmZlcmVudCBwcm90b3R5cGVNYXAgZnVuY3Rpb24gaGVyZSB0aGF0IG1ha2VzIHBvbHkg
cHJvdG8sIHRoYXQgd2F5LAorICAgICAgICAvLyBubyBvbmUgZWxzZSBjYW4gYWNjaWRlbnRhbGx5
IGdldCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSog
cmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsK
KyAgICAgICAgaWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAg
ICAgICAgIHJhcmVEYXRhLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKyAgICAgICAg
SW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzQ2FzdDxJbmZlcnJlZFZhbHVl
Kj4ocmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKTsK
KyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9y
LCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSIpOworICAgICAgICBpc1BvbHlQcm90byA9IGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5J
bnZhbGlkYXRlZCgpICYmIGV4ZWN1dGFibGUtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3Ry
dWN0dXJlOworICAgICAgICAvL2lmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyAgICBkYXRh
TG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4o
IkdvaW5nIHBvbHkgcHJvdG8gZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0
b3ItPmpzRXhlY3V0YWJsZSgpKSk7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbihjb25zdHJ1Y3Rv
ci0+anNFeGVjdXRhYmxlKCktPnNvdXJjZSgpLnZpZXcoKSk7CisgICAgICAgIC8vICAgIGRhdGFM
b2dMbigiV2hpY2ggaGFzIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpz
RXhlY3V0YWJsZSgpKSk7CisgICAgICAgIC8vfQorCisgICAgICAgIGV4ZWN1dGFibGUtPm1fY29u
c3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlLnNldCh2bSwgZXhlY3V0YWJsZSwgcHJvdG90
eXBlLT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgLy8gT09QUzogd2Uga25vdyBoZXJlIGlmIHdl
J3JlIGRvaW5nIHNvbWV0aGluZyB0aGF0J3MgcG9seSBwcm90by4gV2Ugc2hvdWxkIHByb2JhYmx5
IGNvbnZleSB0aGF0CisgICAgICAgIC8vIGluZm9ybWF0aW9uIGhlcmUgYW5kIGFsc28gY29udmV5
IGlmIHdlIGtub3cgdGhhdCB3ZSd2ZSByZXNlcnZlZCBhbiBpbmxpbmUgc3BhY2UgZm9yIHRoZSBw
cm90by4KKyAgICB9CisKKyAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYg
KGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKSkgeworICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24g
c3RhdGljIGFuYWx5c2lzLgorICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3Np
YmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFp
bmZlcnJlZElubGluZUNhcGFjaXR5KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFy
ZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Cisg
ICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2Fu
IGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAg
ICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRl
ZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRp
ZXMgYXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwK
KyAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBh
Y2l0eSgpOworICAgICAgICB9CisKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElu
bGluZUNhcGFjaXR5OworICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3Jt
YWwgb3IgbGFyZ2Ugb2JqZWN0LgorICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5s
aW5lQ2FwYWNpdHk7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVBy
b3RvKSB7CisgICAgICAgIC8vIE9PUFM6IGxldHMgY29tbXVuaWNhdGUgdGhpcyB0byBzdHJ1Y3R1
cmUgY3JlYXRlLiBJdCdzIGp1c3QgYXNzZXJ0aW5nIGl0IGdldHMgYW4gaW5saW5lIHNsb3QuCisg
ICAgICAgICsraW5saW5lQ2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjpt
aW4oaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwor
ICAgIH0KKworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxp
bmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAg
IHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlu
bGluZUNhcGFjaXR5KTsKKyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxT
cGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRh
Z2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4K
KyAgICBpZiAoYWxsb2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+
Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93
bj4pOworICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5l
Q2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwor
ICAgIH0KKworICAgIC8vIE9PUFM6IG5lZWQgdG8gbWFrZSB0aGlzIEFQSSBtb3JlIGNsZWFyLgor
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0
eSwgaXNQb2x5UHJvdG8pOworCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQg
c2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAg
V1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwor
ICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVD
YXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZTo6cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBw
cm90b3R5cGUpCit7CisgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVj
dCgpLT5vYmplY3RQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3Qg
Y291bnQgPSAwOworICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwg
UHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJ
bmNsdWRlKTsKKyAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJv
bVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAg
ICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1l
VmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsK
KyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsr
aSkgeworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHBy
b3BlcnR5TmFtZVZlY3RvcltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24s
IGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlk
ZGVuLgorICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAg
cmV0dXJuIGNvdW50OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcg
QEAgcHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0K
IAotICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAg
ICAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBh
Y2l0eSk7Ci0KLSAgICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBp
ZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFz
ZWQgb24gc3RhdGljIGFuYWx5c2lzLgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAg
ICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAv
LyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5
emVyIGp1c3QgZGlkbid0Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxp
emVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAg
ICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZh
dWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2Jq
ZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAg
ICAgICAgfQotCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2Fw
YWNpdHk7Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8v
IE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBK
U0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGlu
ZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAg
fQotCi0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQo
aW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0K
LSAgICAgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlv
blNpemUoaW5saW5lQ2FwYWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRv
ciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAK
LSAgICAgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWls
YWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAg
ICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNp
emUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVD
YXBhY2l0eSArPSBzbG9wOwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5h
bE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVj
dFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOwotCi0gICAgICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMg
dGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBX
VEY6OnN0b3JlU3RvcmVGZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9y
OwotICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAg
ICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5p
dGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3du
ZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHks
IEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSgpCiAgICAgewpAQCAtMTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
IAotICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09i
amVjdCogcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5
cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVy
biAwOwotCi0gICAgICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFy
cmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5
bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5z
dHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFt
ZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0
YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVB
cnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAg
SlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0
b3JbaV0pOwotCi0gICAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1
c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAg
ICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9
Ci0gICAgICAgIHJldHVybiBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFy
a2VkQWxsb2NhdG9yKiBtX2FsbG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3Mg
ZWFzaWVyIGZvciBnZW5lcmF0ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X3N0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIy
MzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCwxMSBAQCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpCiAgICAgICAgICAgICAgICAgZGF0YUxv
ZygiSXQncyBhIHByb3h5LCBzbyBpbnZhbGlkLlxuIik7CiAgICAgICAgICAgICByZXR1cm4gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKICAgICAgICAgfQorCisgICAgICAg
IGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8g
T09QUzogV2UgbmVlZCBzb21lIHN0b3J5IGhlcmUgb2YgYW4gaW50ZXJsZWF2aW5nLgorICAgICAg
ICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5
Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNl
cnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdl
IGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGlu
dGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAg
ICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBp
ZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQg
QEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAg
ICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgp
LCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVz
cGFjZSBKU0MgeworCitQcm90b3R5cGVBY2Nlc3NDaGFpbjo6UHJvdG90eXBlQWNjZXNzQ2hhaW4o
SlNPYmplY3QqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICAvLyBPT1BT
OiBjb25zaWRlciBET00gcHJveHkgaGVyZS4gQWxzbywgcHJveHkgaW4gdGhlIHByb3RvdHlwZSBj
aGFpbj8KKworICAgIEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFz
ZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxw
dHIgOiBzbG90LnNsb3RCYXNlKCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB3
aGlsZSAodHJ1ZSkgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAg
ICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpIHsKKyAgICAgICAgICAg
ICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1
cmUodm0sIGN1cnJlbnQpOworICAgICAgICB9CisKKyAgICAgICAgbV9jaGFpbi5hcHBlbmQoc3Ry
dWN0dXJlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAg
IGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
Ly8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3Rv
dHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90
IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hh
aW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAg
ICAvLyBwb2x5IHByb3RvLgorICAgICAgICBtX3VzZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShjdXJyZW50KTsgLy8gbWF5YmUgcHJvdG90eXBlIGZvciBs
b29rdXAgaGVyZT8KKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisK
KyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxkIHRo
aXMgYWN0dWFsbHkgY29tZSB1cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVlZCB0
byBjb25zaWRlci4gSSB0aGluayBpdCBkb2VzIHNpbmNlIGJ1aWxkaW5nIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0CisgICAgICAgIC8vIHNlZW1zIHRvIGFzc3VtZSB0aGlzIGlzIHBvc3NpYmxl
LgorICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgUHJvdG90eXBl
QWNjZXNzQ2hhaW46OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJp
bnQoIlByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAg
ICAgb3V0LnByaW50KCIgaXMgaW52YWxpZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGlmICh1c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludCgiIHVzZXNQb2x5UHJvdG8i
KTsKKyAgICBvdXQucHJpbnQoIjogWyIpOworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
OiBtX2NoYWluKSB7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgIH0KKyAgICBv
dXQucHJpbnQoIl0iKTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlT
bG90OworY2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQoUHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCitwdWJs
aWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisgICAg
UHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0Owor
ICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKEpTT2JqZWN0KiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNs
b3QmKTsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3BlcmF0b3I9KFByb3RvdHlwZUFjY2Vz
c0NoYWluJiYpID0gZGVmYXVsdDsKKworICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNWYWxpZDsgfQorCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QgeyByZXR1cm4g
bV91c2VzUG9seVByb3RvOyB9CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWlu
KCkgY29uc3QgeyByZXR1cm4gbV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0OworCisgICAgdm9pZCBjbGVhckNoYWluKCkgeyBtX2NoYWluLmNsZWFyKCk7
IH0KKworcHJpdmF0ZToKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVk
ZXMgYmFzZSdzIHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSBy
ZW1vdmVkLgorICAgIGJvb2wgbV91c2VzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
aXNWYWxpZCB7IHRydWUgfTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3ND
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2
aWFQcm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1z
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNy
ZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7
CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRH
ZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5
YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNl
dCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flBy
b3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAg
ICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQog
ICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQ
cm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAog
cHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsK
KyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4pOwogCiBwcml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lv
biAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMwOCw2ICs0MzA4LDggQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBvcF9j
cmVhdGVfdGhpczogeworICAgICAgICAgICAgLy8gT09QUzogdGhpbmsgdGhyb3VnaCB0aGlzIGNv
ZGUuCisKICAgICAgICAgICAgIGludCBjYWxsZWVPcGVyYW5kID0gY3VycmVudEluc3RydWN0aW9u
WzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9IGdldChWaXJ0dWFsUmVn
aXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkBAIC00MzMwLDEyICs0MzMyLDE0IEBAIGJvb2wgQnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlv
bikgewogICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1
bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEt
PmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAg
ICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0u
dS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVy
U3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5
RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBp
cyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCks
IGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShz
dHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4Niw3ICsxNzg2
LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAogICAgIEFycmF5
UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2RlLT5jaGlsZDEo
KS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29sIGFsbEdvb2Qg
PSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdpc3RlcmVkU3Ry
dWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0dXJl
LT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJyZW50
bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpID09IGludmFsaWRP
ZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMu
Y3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDEzIEBAIEpTQ2VsbCog
SklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29uc3RydWN0b3ItPnR5
cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVEYXRhID0ganNDYXN0
PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5
KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgICAg
IHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKKyAg
ICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVj
dHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgewor
ICAgICAgICAgICAgLy9kYXRhTG9nTG4oIk1hZGUgcG9seSBwcm90byBvYmplY3QgZm9yIGV4ZWN1
dGFibGU6ICIsIFJhd1BvaW50ZXIoanNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPmpz
RXhlY3V0YWJsZSgpKSk7CisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0
dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQzNjAsNiArNDM2MCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUo
Tm9kZSogbm9kZSkKICAgICAgICAgLy8gdGhlbiB3ZSBzcGVjdWxhdGUgYmVjYXVzZSB3ZSB3YW50
IHRvIGdldCByZWNvbXBpbGVkIGlmIGl0IGlzbid0IChzaW5jZQogICAgICAgICAvLyBvdGhlcndp
c2Ugd2UnZCBzdGFydCB0YWtpbmcgc2xvdyBwYXRoIGEgbG90KS4KICAgICAgICAgCisgICAgICAg
IC8vIE9PUFM6IHdlIHNob3VsZCBnbyBzbG93IHBhdGggaGVyZSBmb3IgcG9seSBwcm90byBzdHJ1
Y3R1cmUuCisgICAgICAgIAogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBjYWxsZWUodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwog
ICAgICAgICBHUFJUZW1wb3JhcnkgYWxsb2NhdG9yKHRoaXMpOwpAQCAtNDM4NCw3ICs0Mzg2LDEz
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xv
d1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJh
cmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3Mo
cmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwg
YWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVz
cyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkp
LCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hU
ZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKworICAgICAgICAv
LyBPT1BTOiB3ZSBjYW4gZG8gYSBsb3QgYmV0dGVyIGhlcmUKKyAgICAgICAgbV9qaXQubG9hZDY0
KEpJVENvbXBpbGVyOjpBZGRyZXNzKHN0cnVjdHVyZUdQUiwgU3RydWN0dXJlOjpwcm90b3R5cGVP
ZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJh
bmNoSWZJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoR1BSKSkpOworCiAgICAgICAgIGVtaXRBbGxv
Y2F0ZUpTT2JqZWN0KHJlc3VsdEdQUiwgbnVsbHB0ciwgYWxsb2NhdG9yR1BSLCBzdHJ1Y3R1cmVH
UFIsIFRydXN0ZWRJbW1QdHIoMCksIHNjcmF0Y2hHUFIsIHNsb3dQYXRoKTsKICAgICAgICAgCiAg
ICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1
bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YUdQUik7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMzcsNyArMzIzNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVQdXRCeVZhbEZvckMKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2
YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBz
Y3JhdGNoMlJlZykKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2Jq
ZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBz
Y3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZykKIHsKICAg
ICAvLyBDaGVjayB0aGF0IHByb3RvdHlwZSBpcyBhbiBvYmplY3QuCiAgICAgc3BlY3VsYXRpb25D
aGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChw
cm90b3R5cGVSZWcpKTsKQEAgLTMyNDksOCArMzI0OSwxNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlSW5zdGFuY2VPZkZvCiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AoJm1f
aml0KTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBwZXJmb3JtRGVmYXVsdEhhc0luc3RhbmNl
ID0gbV9qaXQuYnJhbmNoOChNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsCiAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkp
LCBUcnVzdGVkSW1tMzIoUHJveHlPYmplY3RUeXBlKSk7Ci0gICAgbV9qaXQuZW1pdExvYWRTdHJ1
Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsK
LSAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0
cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hS
ZWcpOworICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVn
LCBzY3JhdGNoM1JlZywgc2NyYXRjaDJSZWcpOworICAgIC8vbV9qaXQubG9hZFB0cihNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgp
ICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoTWFj
cm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zm
c2V0KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0byBub3RQb2x5UHJvdG8gPSBtX2ppdC5icmFu
Y2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2gzUmVnKSk7CisgICAgLy8gT09QUzogdGhp
cyBpcyB3cm9uZyBpZiB3ZSBhbGxvdyBvdXQgb2YgbGluZSBvZmZzZXRzIGZvciBwb2x5IHByb3Rv
LgorICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7
CisgICAgbV9qaXQubG9hZDY0KEpJVENvbXBpbGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2Ny
YXRjaDNSZWcsIEpJVENvbXBpbGVyOjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxp
bmVTdG9yYWdlKCkpLCBzY3JhdGNoM1JlZyk7CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0
KTsKKyAgICBtX2ppdC5tb3ZlKHNjcmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIGlzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkVxdWFsLCBzY3JhdGNoUmVnLCBwcm90b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQp
CiAgICAgbV9qaXQuYnJhbmNoSWZDZWxsKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8o
bG9vcCwgJm1faml0KTsKQEAgLTMzODEsMTAgKzMzODksMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90
b3R5cGUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRj
aCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJv
dG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9
IHNjcmF0Y2guZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdw
cigpOworICAgICAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAg
ICAgCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElm
Q2VsbCh2YWx1ZS5qc1ZhbHVlUmVncygpKTsKICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFs
dWUuanNWYWx1ZVJlZ3MoKS5wYXlsb2FkR1BSKCk7CkBAIC0zMzk0LDcgKzM0MDQsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBp
c0NlbGwubGluaygmbV9qaXQpOwogICAgICAgICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZG
b3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRj
aDJSZWcpOworICAgICAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJl
ZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwog
ICAgICAgICAKICAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTcs
MTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0
aGlzKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVn
IHZhbHVlUmVnID0gdmFsdWUuZ3ByKCk7CiAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3Rv
dHlwZS5ncHIoKTsKICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAg
R1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gz
UmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgCi0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmpl
Y3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcp
OworICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5
cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVz
c2VkQm9vbGVhblJlc3VsdChzY3JhdGNoUmVnLCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjMyOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzU5LDcgKzc1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0
aXZlTm9uUGVlcGhvbGVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAg
Ym9vbCBub25TcGVjdWxhdGl2ZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsK
ICAgICAKLSAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcg
dmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVn
LCBHUFJSZWcgc2NyYXRjaDJSZWcpOworICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmpl
Y3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNj
cmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVn
KTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJ
bnN0YW5jZU9mQ3VzdG9tKE5vZGUqKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
ODg1LDEwICs4ODg1LDEyIEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9j
ayBpc0NlbGxDYXNlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9v
cCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVC
aXRzID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90
byA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5
cGUgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5j
ZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9
IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJl
Y3QgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5z
dGFuY2VTbG93ID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGlu
dWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25k
aXRpb247CiAgICAgICAgIGlmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVk
VXNlKQpAQCAtODkwNiwxNiArODkwOCwyOCBAQCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21C
bG9jayBvcmlnaW5hbFZhbHVlID0gbV9vdXQuYW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5q
dW1wKGxvb3ApOwogICAgICAgICAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFBy
b3RvdHlwZURpcmVjdCk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5
cGVCaXRzKTsKICAgICAgICAgTFZhbHVlIHZhbHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5h
bFZhbHVlKTsKICAgICAgICAgTFZhbHVlIHR5cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1
ZSwgbV9oZWFwcy5KU0NlbGxfdHlwZUluZm9UeXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAog
ICAgICAgICAgICAgbV9vdXQubm90RXF1YWwodHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9i
amVjdFR5cGUpKSwKLSAgICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJh
cmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQ
cm90b3R5cGVCaXRzKSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAg
ICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7Cisg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsK
ICAgICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAg
ICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVh
cHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7CisKKyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMg
PSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOwor
ICAgICAgICBWYWx1ZUZyb21CbG9jayBkaXJlY3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90
b3R5cGVCaXRzKTsKKyAgICAgICAgbV9vdXQuYnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyks
IHVuc3VyZShsb2FkUG9seVByb3RvKSwgdW5zdXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAg
ICAgICBtX291dC5hcHBlbmRUbyhsb2FkUG9seVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAg
ICAgICAgTFZhbHVlIGluZGV4ID0gbV9vdXQuYml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNv
bnN0SW50NjQoVUlOVF9NQVgpKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0g
bV9vdXQuYW5jaG9yKAorICAgICAgICAgICAgbV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleCht
X2hlYXBzLnByb3BlcnRpZXMuYXRBbnlOdW1iZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0
LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1
bXAoY29tcGFyZVByb3RvdHlwZSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVBy
b3RvdHlwZSwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlw
ZSA9IG1fb3V0LnBoaShJbnQ2NCwgZGlyZWN0UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAg
IFZhbHVlRnJvbUJsb2NrIGlzSW5zdGFuY2VSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9v
bGVhblRydWUpOwogICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVh
bChjdXJyZW50UHJvdG90eXBlLCBwcm90b3R5cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2
LDEzIEBAIHZvaWQgSklUOjplbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8v
IExvYWQgdGhlIHByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBl
cXVhbCB0byByZWdUMSAtIFdJTiEKICAgICAvLyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhp
dCBudWxsIC0gaWYgd2UgaGF2ZSB0aGVuIGRyb3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28g
YWdhaW4uCi0gICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMp
OwotICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1QyLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgp
KSwgcmVnVDIpOworICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJl
Z1QzKTsKKyAgICBsb2FkNjQoQWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZz
ZXQoKSksIHJlZ1Q0KTsKKyAgICBhdXRvIGhhc1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90
SW50MzIoSlNWYWx1ZVJlZ3MocmVnVDQpKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwg
cmVnVDQpOworICAgIGxvYWQ2NChCYXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBK
U09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVk
UHJvdG90eXBlLmxpbmsodGhpcyk7CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAg
aXNJbnN0YW5jZSA9IGJyYW5jaFB0cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVt
cElmSlNDZWxsKHJlZ1QyKS5saW5rVG8obG9vcCwgdGhpcyk7CiAKQEAgLTc3MCw2ICs3NzUsOCBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVjdGlvCiAgICAgUmVnaXN0ZXJJ
RCBjYWNoZWRGdW5jdGlvblJlZyA9IHJlZ1Q0OwogICAgIFJlZ2lzdGVySUQgc2NyYXRjaFJlZyA9
IHJlZ1QzOwogCisgICAgLy8gT09QUzogdGhpcyBpcyB3cm9uZyB3LyBwb2x5IHByb3RvIQorCiAg
ICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjYWxsZWUsIGNhbGxlZVJlZyk7CiAgICAgYWRkU2xv
d0Nhc2UoYnJhbmNoOChOb3RFcXVhbCwgQWRkcmVzcyhjYWxsZWVSZWcsIEpTQ2VsbDo6dHlwZUlu
Zm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoSlNGdW5jdGlvblR5cGUpKSk7CiAgICAgbG9h
ZFB0cihBZGRyZXNzKGNhbGxlZVJlZywgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwg
cmFyZURhdGFSZWcpOwpAQCAtNzc4LDYgKzc4NSwxMCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVh
dGVfdGhpcyhJbnN0cnVjdGlvCiAgICAgbG9hZFB0cihBZGRyZXNzKHJhcmVEYXRhUmVnLCBGdW5j
dGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVyZVJlZyk7CiAg
ICAgYWRkU2xvd0Nhc2UoYnJhbmNoVGVzdFB0cihaZXJvLCBhbGxvY2F0b3JSZWcpKTsKIAorICAg
IC8vIE9PUFMsIHdlIGNhbiBkbyBiZXR0ZXIgaGVyZSEKKyAgICBsb2FkNjQoQWRkcmVzcyhzdHJ1
Y3R1cmVSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoUmVnKTsKKyAg
ICBhZGRTbG93Q2FzZShicmFuY2hJZkludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKSk7CisK
ICAgICBsb2FkUHRyKGNhY2hlZEZ1bmN0aW9uLCBjYWNoZWRGdW5jdGlvblJlZyk7CiAgICAgSnVt
cCBoYXNTZWVuTXVsdGlwbGVDYWxsZWVzID0gYnJhbmNoUHRyKEVxdWFsLCBjYWNoZWRGdW5jdGlv
blJlZywgVHJ1c3RlZEltbVB0cihKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKSkp
OwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaFB0cihOb3RFcXVhbCwgY2FsbGVlUmVnLCBjYWNoZWRG
dW5jdGlvblJlZykpOwpAQCAtODAwLDYgKzgxMSw3IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9j
cmVhdGVfdGhpcyhJbnN0cnUKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGRvZXNuJ3QgaGF2
ZSBhbiBhbGxvY2F0aW9uIHByb2ZpbGUKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9j
YXRpb24gZmFpbGVkIChubyBhbGxvY2F0b3IpCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBh
bGxvY2F0aW9uIGZhaWxlZCAoYWxsb2NhdG9yIGVtcHR5KQorICAgIGxpbmtTbG93Q2FzZShpdGVy
KTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQsIHN0cnVjdHVyZSBoYXMgcG9seSBwcm90bwogICAgIGxp
bmtTbG93Q2FzZShpdGVyKTsgLy8gY2FjaGVkIGZ1bmN0aW9uIGRpZG4ndCBtYXRjaAogCiAgICAg
SklUU2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNs
b3dfcGF0aF9jcmVhdGVfdGhpcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRj
aC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5l
Q2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAor
ICAgICAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZz
ZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8
fCBzbG90LnNsb3RCYXNlKCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1Nyw0MCBAQCBz
dGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+Zmxh
dHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNV
bnNldCgpICYmIHN0cnVjdHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVy
ZUZvclByb3BlcnR5QWJzZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwogCi0gICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAg
ICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlO
YW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRp
dGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xv
dEJhc2UoKSwKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAg
ICAgICAgICBpZiAoSlNPYmplY3QqIGJhc2UgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0s
IGJhc2VDZWxsKSkgeworICAgICAgICAgICAgICAgIC8vIE9PUFM6IG1heWJlIHRlYWNoIFByb3Rv
dHlwZUFjY2Vzc0NoYWluIGFib3V0IG5vbiBvYmplY3QKKyAgICAgICAgICAgICAgICAvLyBiYXNl
cy4gQWRkIHRlc3RzIGhlcmUuCisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4g
PSBQcm90b3R5cGVBY2Nlc3NDaGFpbihiYXNlLCBzbG90KTsKKyAgICAgICAgICAgICAgICBpZiAo
IXByb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2xlYXJDaGFpbigpOwogICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAg
ICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluLmlzVmFsaWQoKSkgeworICAgICAgICAg
ICAgICAgIC8vIE9PUFM6IFRoaXMgb2J2aW91c2x5IGlzIG5vdCBjb3JyZWN0LgogICAgICAgICAg
ICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfSAKKworICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUu
aW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBj
b25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgK
KyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwg
c2xvdC5zbG90QmFzZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmlt
cGwoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRp
b25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNo
ZTsKKyAgICAgICAgICAgIH0KKwogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQo
KSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZz
ZXQoKTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGFyZSB0aGVzZSBleHByZXNzaW9uIGVxdWl2YWxl
bnQ/CisgICAgICAgICAgICAvL29mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAg
ICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRP
ZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdldHRlciA9IG51bGxw
dHI7CkBAIC0yOTksNyArMzE4LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hl
R2V0QnlJRAogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxl
VmFsdWUoKSB8fCBzbG90LmlzVW5zZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQ
cm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkg
PyBBY2Nlc3NDYXNlOjpNaXNzIDogQWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAg
ICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwg
c2xvdC53YXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRT
ZXQoKSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBBY2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAg
aWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzUsNyBAQCBzdGF0aWMg
SW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRU
YXJnZXRGcm9tUHJveHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgp
LCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0
ciwKICAgICAgICAgICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5z
bG90QmFzZSgpIDogbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsK
KyAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlLCBwcm90b3R5cGVBY2Nlc3NDaGFpbik7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc2NiwxMCArNzY2LDkgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X3B1dF9ieV9pZAogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xv
dC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0
dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShw
Y1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlw
ZUNoYWluKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNl
bGwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVC
bG9jaywgY2hhaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+
KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNT
dGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBh
dXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAK
IHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNP
YmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2
MDksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAg
ICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhp
c09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAg
ICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICB9CkBAIC02MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4
ZWNTdGF0ZQogICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVt
YmVyKHZhbHVlKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhv
bGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAg
ICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAg
ICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAt
ODE2LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YK
ICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRh
dGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250
YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShk
YXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlz
T2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3Ro
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNv
bnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwg
bGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3Qp
KQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0g
KnRoaXNPYmplY3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxl
bmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
KmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAg
ICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTExNzQsNyArMTE3Myw3
IEBAIHN0YXRpYyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNB
bnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0
dXJlKCktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VM
WSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZh
bHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVu
dHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25l
ZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5
LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShz
dHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKGFz
T2JqZWN0KHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUodm0pLT5uZWVk
c1Nsb3dQdXRJbmRleGluZyhhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKSkp
KSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwg
bnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7
CiAKQEAgLTgxLDcgKzgxLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNy
ZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2Jh
bCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBv
ZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91
bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVl
LCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5p
bmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVk
c1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTEyNSwxNCArMTI1LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVh
dGUKICAgICB9IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkt
PmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAg
IEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBz
aG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7Cisg
ICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1
bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFy
Z3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNT
dGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1
bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFt
ZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0
cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAg
LTE0NSw3ICsxNDUsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRl
CiAgICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1
bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsK
LSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBl
KCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+
aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQ
YXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsMTMgQEAgU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkg
PSBwY1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3Ry
dWN0b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2Jq
ZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSkgeworICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVy
ZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlKSk7CisgICAgICAgICAgICAvLyBPT1BTOiBpcyB0aGlzIHJpZ2h0Pwor
ICAgICAgICAgICAgY2FjaGVXcml0ZUJhcnJpZXIuc2V0V2l0aG91dFdyaXRlQmFycmllcihKU0Nl
bGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKSk7CisgICAgICAgICAgICAvL2RhdGFMb2dM
bigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwgUmF3UG9pbnRlcihj
b25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAgfQorICAgICAgICAvL2RhdGFM
b2dMbigiY3JlYXRlX3RoaXMgcmVzdWx0OiAiLCBKU1ZhbHVlKHJlc3VsdCkpOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYu
MC8jc2VjLW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJv
dG8gPSBjb25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhl
Y3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTEsNiArOTEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihK
CiAgICAgICAgIGNvZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAg
ICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0
dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21H
bG9iYWxDb2RlKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25F
eGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzMsNiArMTczLDkgQEAgcHVibGljOgogCiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVu
Y3Rpb24oKSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9uLmdldCgpOyB9CiAKKyAgICAvLyBP
T1BTOiBhZGQgbWV0aG9kcyBmb3IgdGhpcy4KKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZTsKKwogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgRXhlY3V0YWJsZUJhc2U7CiAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5j
cHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0
aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJh
cmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5l
Q2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0
KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0
b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9i
YWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25S
YXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMzI5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3
b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIo
Y29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXpl
X3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjMyOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVu
Y3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBT
dHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFy
Z2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQg
JiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFz
cy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJ
bnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3Qu
CiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rp
b24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgy
LDcgKzg4Miw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAg
ICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91czogewog
ICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BB
UlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8
IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVjdCgpOwpAQCAtOTE3LDcg
KzkxNyw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAK
ICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFu
IGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJy
YXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3Rv
cmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAg
ICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTEwNDgsNyArMTA0OCw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdp
dGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVm
b3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhh
bGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBz
aG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBl
bmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewog
ICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBj
b3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtMTA4
OSw3ICsxMDg5LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAog
ICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92
aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAg
Ly8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4g
aW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAt
IGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
ZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBA
QCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVj
dHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDggKzYxLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0m
IHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZl
IGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBh
bmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90
eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTky
Ci0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkK
LSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjMy
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBnZXRC
b3VuZEZ1bmN0aW9uU3RydWN0CiAgICAgLy8gaXNuJ3QgYW55IGdvb2QgcGxhY2UgdG8gcHV0IHRo
ZSBzdHJ1Y3R1cmUgb24gSW50ZXJuYWwgRnVuY3Rpb25zLgogICAgIGlmICh0YXJnZXRKU0Z1bmN0
aW9uKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGFyZ2V0SlNGdW5jdGlvbi0+
cmFyZURhdGEodm0pLT5nZXRCb3VuZEZ1bmN0aW9uU3RydWN0dXJlKCk7CisgICAgICAgIC8vIE9P
UFM6CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSA9PSBwcm90b3R5cGUgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmpl
Y3QpCiAgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0
QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5p
c1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmludCgi
T2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQo
IiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVy
Zmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVy
ZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIs
IGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwog
ICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0
KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmlu
dCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJpbnQo
IiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAg
IH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9u
IDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNG
dW5jdGlvbjo6YWxsb2NhdGVBbgogICAgIGlmICghcHJvdG90eXBlKQogICAgICAgICBwcm90b3R5
cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwogICAgIEZ1bmN0aW9uUmFyZURh
dGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0
YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgdGhpcyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRy
eWluZyB0byByZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0
IGl0IHNlZXMgaXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNTMsNyArMTUzLDcgQEAgRnVuY3Rp
b25SYXJlRGF0YSogSlNGdW5jdGlvbjo6aW5pdGlhbGl6ZQogICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwogICAgIGlmICghcHJvdG90eXBl
KQogICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwot
ICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX3JhcmVEYXRhLT5p
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7
CiB9CiAKQEAgLTM0MSw2ICszNDEsMTggQEAgRW5jb2RlZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2Fs
bGVyR2V0dGVyKAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhl
Yywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUg
c3RyaWN0IGNhbGxlciIpKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGluZmVyQ29uc3RydWN0b3JWYWx1
ZUlmTmVlZGVkKFZNJiB2bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1ZSwgSlNGdW5jdGlvbiogY29u
c3RydWN0b3IpCit7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNP
YmplY3QqPih2bSwgcHJvdG90eXBlVmFsdWUpOworICAgIGlmICghcHJvdG90eXBlKQorICAgICAg
ICByZXR1cm47CisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5z
dHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSk7CisgICAgaWYgKHJhcmVEYXRhLT5uZWVk
c0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVk
Q29uc3RydWN0b3Iodm0pOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVj
dG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkpCisgICAgICAgIGluZmVycmVkQ29u
c3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgLnByb3RvdHlw
ZSBpbnNpZGUgSlNGdW5jdGlvbiIpOworfQorCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3Bl
cnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwpAQCAtNDUyLDYgKzQ2NCw3IEBAIGJvb2wgSlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2Vs
bCwgRXhlY1MKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9w
ZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBnZXRTbG90KTsKICAgICAg
ICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5t
X3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rp
b24iKTsKKyAgICAgICAgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIHZhbHVlLCB0
aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gQmFz
ZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAg
IH0KQEAgLTUxOCw2ICs1MzEsOCBAQCBib29sIEpTRnVuY3Rpb246OmRlZmluZU93blByb3BlcnR5
KEpTT2JqCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiAgICAgICAgIGlm
ICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJl
RGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7
CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnZhbHVlKCkpCisgICAgICAgICAgICBpbmZlckNvbnN0
cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgZGVzY3JpcHRvci52YWx1ZSgpLCB0aGlzT2JqZWN0KTsK
ICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3du
UHJvcGVydHkob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHRocm93RXhj
ZXB0aW9uKTsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01h
cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAu
Y3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU01hcDo6aXNJ
dGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2Jq
ZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgp
KQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3Rv
dHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CkBAIC03Myw3ICs3Myw3IEBAIGJvb2wgSlNNYXA6OmNhbkNsb25lRmFzdEFuZE5v
bk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzTWFwUHJvdG90eXBlU2V0
RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
ICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1h
cFByb3RvdHlwZSgpKQorICAgICAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFs
T2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
ICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJv
b2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwg
YXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAg
ICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NF
UlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBw
cm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3Ry
dWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0
eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlw
ZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVh
ZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsx
MDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFT
U0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdU
eXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUs
ICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7
CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2Fw
YWNpdHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNy
ZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJy
YXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9y
TGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiBy
ZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3
U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVj
dHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5z
aXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKHRoaXMpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZt
LCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5l
d1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5z
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5k
ZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6
Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNv
bnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0
aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRv
Q29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZt
LCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsK
IH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3Rv
cmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3
ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZN
JiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBy
ZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmpl
Y3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0x
NDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMy
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1
b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7
CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmpl
Y3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAg
ICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3Vv
dXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4
aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAg
IGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhp
cykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICBy
ZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAs
MjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQog
ICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
IEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFM
TF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAg
ICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBB
TExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9B
cnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtMTYzNiw3ICsxNjM2
LDcgQEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3
U3RydWN0dXJlKTsKICAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmICghbmV3U3RydWN0dXJlLT5h
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHRoaXMpKQogICAgICAg
ICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlz
KSkgewpAQCAtMTk1MSw3ICsxOTUxLDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3JkaW5hcnlUb1By
aW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVmYXVsdCB2YWx1
ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4gYXJlCiAgICAg
Ly8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRXYXRjaGluZ0lu
dGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOworICAgIGZvciAo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5z
dHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgb2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNl
c3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9PSBQcmVmZXJT
dHJpbmcpIHsKQEAgLTI3MjYsNyArMjcyNyw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5SW5kZXhC
ZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5b25kVmVjdG9y
TGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwg
c2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0g
ICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkgewogICAg
ICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xvd1B1dEFycmF5
U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkg
KyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHJl
dHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7CkBAIC0y
ODc4LDcgKzI4NzksNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJleW9u
CiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRo
QXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVz
LCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAg
ICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBp
ZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAgICAg
ICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEs
IGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFn
ZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdl
LT5tX251bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NTksNyBAQCB1aW50MzJfdCBK
U09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAg
ICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlm
IChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAg
ICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg2Niw3ICs4
NjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VS
VChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhl
YXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKGdldFByb3Rv
dHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8ICFzdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgp
KSk7IC8vIE9PUFMgZmluZCBhIHdheSB0byBtYWtlIHRoaXMgd29yawogICAgICAgICBBU1NFUlQo
c3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7
CiAgICAgfQpAQCAtMTI5OCw3ICsxMjk4LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChW
TSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGly
ZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgp
OworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBp
bmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjKQpAQCAtMTQwMCw3ICsxNDAwLDggQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0Ojpn
ZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFi
bGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93
bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBPT1BTOiBUaGlzIGNvZGUg
bG9va3Mgd3Jvbmc/IFdoeSBkb2Vzbid0IGl0IGNhbGwgdGhlIGdldFByb3RvdHlwZSBmdW5jdGlv
biBob29rPworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5o
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19J
TkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFBy
b3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50
ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVj
dC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJv
dG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZ
U19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5m
bygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBz
bG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RU
eXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90
eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2Jq
ZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9v
bCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2Fu
UGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJU
KCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0
b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0
cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVy
dHlOYW1lLCB0aGlzT2JqZWN0KSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0
SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQog
ICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1v
ZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAg
IHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1l
RW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3Ry
dWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0
b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAg
JiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVD
aGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAg
IHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVy
dGllcyA9IDA7CkBAIC0xMzYsNyArMTM2LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvciogcHJvcGVydAogICAgIG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVy
ZSk7CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVhdGUo
dm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJvcGVydGllcywg
V1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90
eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOworICAgIGVudW1l
cmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMsIGJhc2UpKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3RydWN0dXJlLT5j
YW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKICAgICAgICAgc3RydWN0dXJlLT5zZXRD
YWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKICAgICByZXR1cm4g
ZW51bWVyYXRvcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJ
KHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0Ojppc0l0ZXJh
dG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3Qt
PnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkK
KyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3Rv
dHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CkBAIC03Myw3ICs3Myw3IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5v
bk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJvdG90eXBlQWRk
RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
ICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpz
U2V0UHJvdG90eXBlKCkpCisgICAgICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9i
YWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUoY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAgICAg
IC8vIE9PUFMuIG1ha2Ugc3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nlc3Nl
cyB0aGlzLgogICAgICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAgICAg
IHJldHVybiBnZXQoZ2xvYmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpAQCAt
MTAxLDEzICsxMDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRD
b25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1
cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAg
CiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDMsNiArMTQzLDExIEBAIHNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxs
RnJhbWUKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkp
CiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAgIC8v
IE9PUFM6IHRoaXMgZGVmaW5pdGVseSBuZWVkcyBzb21lIG1vcmUgdGhvdWdodAorICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4g
SW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+
cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NCwxNyArNTQsMzggQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVj
dAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFBy
b3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25z
dCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0
ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBw
cm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFz
c0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1h
a2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmpl
Y3QpOworICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0aGlzIGlzbid0IGNhbGxlZCB3LyBwcm90b3R5
cGU9bnVsbHB0ciBmb3IgdmFsaWQgcmVhc29ucy4KKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90
dXBsZShtYWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5l
Q2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5
UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwor
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJv
dG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCisgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOworCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0g
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xv
YmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNz
SW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBudWxscHRyOworCisgICAgLy8gT09QUzogZmlndXJlIG91dCB3aGF0IHRvIGRvIGhl
cmUuIFRoaXMgZmVlbHMgbGlrZSB0aGUgd3JvbmcgcGxhY2UgdG8gZG8gdGhpcy4KKyAgICBpZiAo
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFy
ZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCk7CisgICAgICAgIEFT
U0VSVChyYXJlRGF0YS0+bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgc3Ry
dWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQ
cm90bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBp
bmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmFyZURhdGEtPnNldFBvbHlQ
cm90b1N0cnVjdHVyZSh2bSwgc3RydWN0dXJlKTsKKyAgICB9CisKKyAgICBpZiAoIXN0cnVjdHVy
ZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAg
IHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhp
bmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5
LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0K
QEAgLTczLDIwICs5NCwyMSBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1
cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGlubGluZSBjYXBhY2l0eSBz
dGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBj
b25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFjaXR5IG9mIDAuCiAgICAgSW5k
ZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwot
ICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBl
KSkKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhwcm90b3R5cGUpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVz
KGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+
SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0
dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3Ry
dWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdU
eXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5
cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90
eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0g
ICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBK
U0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxP
YmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4g
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmpl
Y3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
OwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6
bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCks
IGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxl
KG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9i
amVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpA
QCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JU
X1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpT
X0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBi
b29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJl
KEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFy
RW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlw
ZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgog
CiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNz
SW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVj
dHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAK
ICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8v
IEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3Rk
Ojp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9i
amVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAg
PSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0lu
Zm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0
cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBT
dHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0s
IHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJl
dmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3By
b3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9w
cm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1f
Y2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNo
cG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKQEAgLTI5
NSw2ICsyOTUsMjggQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAg
IHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsK
IH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3Qg
VHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdU
eXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0
dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5m
bywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIC8vZGF0
YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50ZXIocmVzdWx0
KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZM
aW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUgdGhpcyBzaG91bGQgYWx3YXlzIHN0YXJ0IGFz
IHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAorICAgICAg
ICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29yZVByb3RvUHJp
dmF0ZU5hbWUoKSwgRG9udEVudW0sCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVu
dEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0
T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGlu
ZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAg
ICAgICAgIC8vIE9PUFM6IGxldHMgbWFrZSBhIGRpZmZlcmVudCBjdG9yIGZvciB0aGlzIHZhcmlh
bnQgb2YgcG9seSBwcm90bywgc2luY2UgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUgCisgICAgICAg
ICAgICAvLyBhbHJlYWR5IGtub3dzIHdoZW4gaXQncyBtYWtpbmcgYSBwb2x5IHByb3RvIHZhcmlh
bnQuCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsK
KyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJTZXR0aW5nIG1fcHJvdG90eXBlIHRvOiAiLCBqc051
bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCBy
ZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zm
c2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlv
bihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVy
ZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1w
dHkoKSk7CkBAIC0zOTgsMjYgKzQyMCwzMCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJv
cGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdT
dHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1i
b29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0
cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJlbnQtPm1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVj
dHVyZSgpID09IHRoaXMpOyAvLyBPT1BTOiBMZXQncyBqdXN0IHB1dCB0aGlzIG9uIEpTT2JqZWN0
PworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1
cnJlbnQgPSBiYXNlOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5t
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5
cGVEaXJlY3QoKTsKICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90
b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSk7CiAgICAgfQogfQogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKFZNJiB2bSkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBBU1NFUlQoYmFzZS0+
c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKKwogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
dGhpcy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmpl
Y3QocHJvdG90eXBlKTsKQEAgLTQyNiw3ICs0NTIsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVj
dC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVj
dC0+aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5z
dG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3Qo
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3Qo
cHJvdG90eXBlKTsKQEAgLTQzNiwxNSArNDYyLDE2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011
c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJl
OjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93
UHV0SW5kZXhpbmcoSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQorICAgIFJFTEVBU0VfQVNTRVJU
KGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgSlNP
YmplY3QqIG1ldGhvZD8KKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcyhiYXNlKQogICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdB
QmFkVGltZSgpOwogfQogCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKK05vblByb3BlcnR5VHJhbnNpdGlvbiBT
dHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqIGJhc2Up
IGNvbnN0CiB7Ci0gICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAgaWYgKG5lZWRz
U2xvd1B1dEluZGV4aW5nKGJhc2UpKSAvLyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgYSBKU09iamVj
dCogbWV0aG9kCiAgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRl
U2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICAKICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0
aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKQEAgLTEwNjcsMTEgKzEwOTQsNiBAQCB2b2lkIFN0
cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldh
dGNocG9pbnRTZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9
CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2Rl
QmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2st
Pmdsb2JhbE9iamVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNP
YmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0xMTA5LDcgKzExMzEsNyBAQCBi
b29sIFN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9i
YWxPYmplY3QgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0
KCkpKQotICAgICAgICAmJiAoIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFy
a2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICgh
aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6
OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJv
b2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjEs
MjAgKzExNDMsMjQgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgog
ICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJ
bnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK2Jvb2wg
U3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU09iamVjdCogYmFzZSkKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtlIHRo
aXMgYSBKU09iamVjdCogbWV0aG9kLgorCiAgICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1l
KSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKTsKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoYmFzZSk7CiAgICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0
aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJv
dG90eXBlKCk7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAg
ICAgLy8gT09QUzogTWF5YmUgdGhpcyBuZWVkcyBzb21lIGNsb3NlciBhdHRlbnRpb24sIGJ1dCBJ
J20gbm90IHN1cmUgaG93IHdlIGNhbiBzYXkKKyAgICAgICAgLy8gbXVjaCBhYm91dCBvdXIgcHJv
dG90eXBlIGNoYWluIHdpdGhvdXQga25vd2luZyBjb25zdGFudCBwcm90b3R5cGUgdmFsdWVzLi4u
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFzQ2VsbCgpLT5z
dHJ1Y3R1cmUodm0pOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAg
ICAgICAgCiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsK
KyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+
Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoIUpTQzo6aXNW
YWxpZE9mZnNldChvZmZzZXQpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIApAQCAt
MTE3Miw2ICsxMTk4LDcgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0
dQogICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsK
ICAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwogICAg
ICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKKyAgICAgICAgICAgIC8vIE9P
UFM6CiAgICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCk7CiAgICAgICAgIH0KIApAQCAtMTE4MSwxMyArMTIwOCw2IEBAIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKICAgICByZXR1cm4gYmFzZVNoYXBlOwogfQogCi1ib29s
IFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqIG90aGVyKQotewot
ICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxpbmVDYXBhY2l0eSgpCi0g
ICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9yZWRQcm90b3R5cGUoKQot
ICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhlci0+b2JqZWN0SW5p
dGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIodGhpcyksICI6WyIsIGNs
YXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDIsNyArMTIyMiw5IEBAIHZvaWQg
U3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAKICAgICBvdXQucHJpbnQo
In0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAgICAKLSAgICBpZiAo
bV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zm
c2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAg
ICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0Nl
bGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG
bGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51bSBQb2x5UHJvdG9UYWcg
eyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNz
SW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9
IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0
IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0xMzgsNyArMTQwLDcgQEAgcHJv
dGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmpl
Y3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlw
ZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50
MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENyZWF0aW5n
RWFybHlDZWxsVGFnKQpAQCAtMjQwLDI2ICsyNDIsNDQgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpICYgTWF5SGF2ZUluZGV4ZWRBY2Nl
c3NvcnMpOwogICAgIH0KICAgICAgICAgCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBhbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7Ci0gICAgYm9v
bCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mKSBjb25zdDsKKyAgICBKU19FWFBPUlRf
UFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
SlNPYmplY3QqKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShW
TSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmco
SlNPYmplY3QqKSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKICAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3Qu
Z2V0KCk7IH0KIAogICAgIC8vIE5PVEU6IFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxl
ZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVjdHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAg
ICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMgcHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGlu
IGEgYnVuY2ggb2YgcGxhY2VzLgogICAgIHZvaWQgc2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMs
IGdsb2JhbE9iamVjdCk7IH0KLSAgICAgICAgCi0gICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUo
KSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsgfQorCisgICAgYm9vbCBoYXNTdG9y
ZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICFtX3Byb3RvdHlwZS5n
ZXQoKS5pc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29u
c3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsK
KyAgICAgICAgLy8gT09QUy4gbWF5YmUgZGVidWcgYXNzZXJ0aW9uIGhlcmU/CisgICAgICAgIHJl
dHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVBy
b3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMy
KCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0Kikg
Y29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVj
dCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0
IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0
KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25z
dDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKSBjb25zdDsKICAg
ICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAg
IEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayopIGNvbnN0OwotICAgIFN0cnVj
dHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0g
ICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNvbnN0OworICAg
IEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNl
KSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJv
dG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogICAgIHN0YXRp
YyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICAKICAgICAv
LyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJrIGR1cmluZyBHQyBpZiBkb2luZyBzbyB3b3Vs
ZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVkIGFtb3VudApAQCAtMjc0LDEyICsyOTQsMjUg
QEAgcHVibGljOgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImKTsKICAgICAgICAg
CiAgICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJjZXB0IHRoaXMgcHJv
cGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBKU19FWFBPUlRfUFJJ
VkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5
TmFtZSwgSlNPYmplY3QqKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAg
ICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgp
KTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAg
IHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Cisg
ICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAg
ICB7CisgICAgICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFy
ZURhdGEodm0pOworICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAg
U3RydWN0dXJlKiBwcmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU2Niw2IEBA
IHB1YmxpYzoKICAgICAgICAgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAg
ICAgfQogICAgIAotICAgIHZvaWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVj
ZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBi
b29sIGhhc0luZmVycmVkVHlwZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9p
bmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU5MCwxMCArNjE3LDYgQEAgcHVibGljOgogCiAgICAgUmVm
PFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwogICAgIAotICAgIC8v
IERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRoaXMg
b25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVyIG9u
ZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7Ci0gICAgCiAg
ICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0
KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBjb25zdDsKICAgICB2b2lkIGR1bXBCcmllZihQ
cmludFN0cmVhbSYsIGNvbnN0IENTdHJpbmcmKSBjb25zdDsKQEAgLTcyMCw4ICs3NDMsNyBAQCBw
cml2YXRlOgogICAgICAgICByZXR1cm4gbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZz
ZXQsIG1faW5saW5lQ2FwYWNpdHkpOwogICAgIH0KIAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0g
ICAgYm9vbCBpc1ZhbGlkKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5
cGVDaGFpbikgY29uc3Q7CisgICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAK
ICAgICAvLyBZb3UgaGF2ZSB0byBob2xkIHRoZSBzdHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4K
ICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHBpbihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZN
JiwgUHJvcGVydHlUYWJsZSopOwpAQCAtNzMyLDEyICs3NTQsNiBAQCBwcml2YXRlOgogICAgICAg
ICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAg
ICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0g
ICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0K
LQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZz
ZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsK
ICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9u
IDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWlu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFp
bjo6dmlzaXRDaGlsZHJlbihKU0NlbAogICAgIH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7CisKKyAgICBzaXplX3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVj
dCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUo
dm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBz
dGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKwor
ICAgIHNpemVfdCBpID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3Vy
cmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9i
amVjdChjdXJyZW50KSkKKyAgICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50
LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAKKyAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAg
IG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRo
aXMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG
bGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4q
IGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hh
aW4qIGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVj
dHVyZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNo
YWluPih2bS5oZWFwKSkgU3RydWN0dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0
dXJlLmdldCgpKTsKICAgICAgICAgY2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAg
LTYyLDIyICs2Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCop
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVy
ZSogaGVhZCkKLSAgICB7Ci0gICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAg
ICAgc2l6ZV90IHNpemUgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhl
YWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwo
KSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgp
KQotICAgICAgICAgICAgKytzaXplOwotCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKLQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAg
ICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1
cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsr
XS5zZXQodm0sIHRoaXMsIGN1cnJlbnQpOwotICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRh
dG9yRmVuY2UoKTsKLSAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlu
bGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpz
dG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0
b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7
CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5
LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAK
IGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkg
Y29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAg
SlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2Jq
ZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1
cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90
eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQo
b2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAg
aWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBl
KCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7Cisg
ICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUg
SlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0
KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUo
KSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQgCisgICAgaWYgKGhhc1N0b3JlZFByb3Rv
dHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNW
YWx1ZSBwcm90byA9IG9iamVjdC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBp
ZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBh
c09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAor
eworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0
KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKwogQUxXQVlTX0lOTElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldChWTSYg
dm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRl
czsKQEAgLTE2OCw4ICsxOTgsMjEgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZl
bHlUcmFucwogCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJU
KGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBpZiAoaXNPYmplY3QoKSkKLSAgICAgICAgcmV0
dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7
CisgICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpCisgICAgICAgIHJldHVy
biBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworCisgICAgQVNTRVJUKHR5cGVJbmZv
KCkudHlwZSgpID09IFN0cmluZ1R5cGUpOworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmlu
Z1Byb3RvdHlwZSgpOworfQorCitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZv
ckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0
Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9P
UFMgZGVidWcgYXNzZXJ0PworICAgIGlmIChpc09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3Rv
cmVkUHJvdG90eXBlKGFzT2JqZWN0KGJhc2UpKTsKICAgICBpZiAodHlwZUluZm8oKS50eXBlKCkg
PT0gU3ltYm9sVHlwZSkKICAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90
eXBlKCk7CiAKQEAgLTE4MiwyNyArMjI1LDI4IEBAIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6
cHJvdG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJl
Ojpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNv
bnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QK
IHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOyAvLyBP
T1BTOiBtYXliZSBkZWJ1Zz8KICAgICAvLyBXZSBjYWNoZSBvdXIgcHJvdG90eXBlIGNoYWluIHNv
IG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0
LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkgewotICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwotICAgICAgICBtX2NhY2hl
ZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwg
cHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgp
KSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFp
bi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVG
b3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVD
aGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5p
c051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90b3R5cGUpKSk7CiAgICAgfQogICAgIHJl
dHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpOwogfQogCi1pbmxpbmUgU3RydWN0dXJl
Q2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjKSBjb25zdAor
aW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHByb3RvdHlwZUNo
YWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJu
IHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwg
YmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNv
bnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluLCBKU09iamVjdCog
YmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFByb3RvdHlwZUNoYWluKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1
cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9v
a3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4qIGNh
Y2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNoYWluLT5oZWFkKCk7CiAgICAgd2hpbGUg
KCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5pc051bGwoKSkgewogICAgICAgICBpZiAo
YXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkgIT0gY2FjaGVkU3RydWN0dXJlLT5nZXQo
KSkKQEAgLTIxMywxMSArMjU3LDYgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpT
R2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNOdWxsKCkgJiYgISpjYWNoZWRTdHJ1Y3R1
cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKLXsKLSAgICByZXR1
cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGNhY2hlZFByb3RvdHlwZUNo
YWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJlOjpkaWRSZXBsYWNlUHJvcGVydHkoUHJv
cGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChMSUtFTFkoIWhhc1JhcmVEYXRhKCkpKQpA
QCAtNDAwLDcgKzQzOSw3IEBAIGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92
ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2
b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRh
YmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYg
dm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5z
ZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRh
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVy
ZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdh
dGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRh
Ojp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2
aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1Zh
bHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFt
ZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRD
b25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigp
IGNvbnN0CkBAIC0xNzUsNiArMTc3LDUzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRh
OjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSlNW
YWx1ZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlKCkKK3sKKyAgICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUuZ2V0KCk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRzUG9seVBy
b3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGlu
ZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgaW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKSkKKyAgICAgICAgcmV0dXJuIGlu
ZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgIEFTU0VSVChpbmZl
cnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuYXNDZWxsKCktPmluaGVyaXRzKHZt
LCBTdHJ1Y3R1cmU6OmluZm8oKSkpOworICAgIHJldHVybiBmYWxzZTsKK30KKworU3RydWN0dXJl
KiBTdHJ1Y3R1cmVSYXJlRGF0YTo6cG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBK
U1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICByZXR1cm4ganNEeW5hbWljQ2FzdDxTdHJ1Y3R1cmUqPih2bSwgaW5mZXJyZWRDb25z
dHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6aXNQb2x5UHJvdG8oVk0mIHZtKQoreworICAgIHJldHVybiBuZWVkc1BvbHlQcm90b1N0cnVj
dHVyZSh2bSkgfHwgISFwb2x5UHJvdG9TdHJ1Y3R1cmUodm0pOworfQorCitib29sIFN0cnVjdHVy
ZVJhcmVEYXRhOjpuZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKQoreworICAgIHJldHVybiAhaW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7Cit9CisKK0luZmVycmVkVmFs
dWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkK
K3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUpOworICAgIEluZmVycmVkVmFsdWUqIHJlc3VsdCA9IEluZmVycmVkVmFsdWU6OmNy
ZWF0ZSh2bSk7CisgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCByZXN1bHQpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgU3Ry
dWN0dXJlUmFyZURhdGE6OnNldFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQoreworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRo
b2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xh
c3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0
Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVy
ZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
UmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xh
c3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2Jq
ZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMiBA
QCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUg
YSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQg
b3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJl
IGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVj
dHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisg
ICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ug
d2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8g
SWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUg
cG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEKKyAgICAvLyBKU0Z1bmN0aW9u
LiBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgZmllbGQgZWl0
aGVyIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlCisgICAgLy8gdGhhdCBpcyBpbnZhbGlkYXRl
ZC4gSWYgd2UgZXZlciBjb25zdHJ1Y3QgYW4gb2JqZWN0IHdobydzIF9fcHJvdG9fXyBwb2ludHMg
dG8gdGhpcyBwcm90b3R5cGUsIHRoZW4KKyAgICAvLyB3ZSBtb3ZlIG1faW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHRvIHRoZSBTdHJ1Y3R1cmUgb2YgdGhlIG9iamVjdCB0
aGF0IHNob3VsZCBiZSBjcmVhdGVkCisgICAgLy8gdGhhdCBoYXMgcG9seSBwcm90by4KKyAgICBJ
bmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAgSlNWYWx1
ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBib29sIG5l
ZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJik7CisgICAgYm9vbCBuZWVkc0luZmVycmVkQ29uc3Ry
dWN0b3IoKTsKKyAgICB2b2lkIHNldFBvbHlQcm90b1N0cnVjdHVyZShWTSYsIFN0cnVjdHVyZSop
OworICAgIFN0cnVjdHVyZSogcG9seVByb3RvU3RydWN0dXJlKFZNJik7IC8vIE1heSBiZSBudWxs
cHRyIGlmIG5vdCBwb2x5IHByb3RvIG9yIHBvbHkgcHJvdG8gc3RydWN0dXJlIGhhcyB5ZXQgdG8g
YmUgaW5zdGFudGlhdGVkLgorICAgIGJvb2wgaXNQb2x5UHJvdG8oVk0mKTsKKwogICAgIERFQ0xB
UkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03Niw2ICs5Myw3IEBAIHByaXZhdGU6CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8
SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAg
V3JpdGVCYXJyaWVyPFVua25vd24+IG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlOwogICAgIAogICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRy
PFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2ln
bmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBv
aW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVw
bGFjZW1lbnRXYXRjaHBvaW50U2V0czsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYg
KzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1
ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAg
ICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAg
ICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBi
b29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJv
b2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlz
R2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5o
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdy
YXBwZXJDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw3IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5lIEoKIAogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBl
ckNsYXNzPiBpbmxpbmUgSlNDOjpKU09iamVjdCogZ2V0RE9NUHJvdG90eXBlKEpTQzo6Vk0mIHZt
LCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQogeworICAgIC8vIE9PUFM6IGxvb2sg
aW50byB0aGlzCiAgICAgcmV0dXJuIEpTQzo6anNDYXN0PEpTQzo6SlNPYmplY3QqPihhc09iamVj
dChnZXRET01TdHJ1Y3R1cmU8V3JhcHBlckNsYXNzPih2bSwgZ2xvYmFsT2JqZWN0KS0+c3RvcmVk
UHJvdG90eXBlKCkpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321528</attachid>
            <date>2017-09-22 02:02:49 -0700</date>
            <delta_ts>2017-09-22 10:37:07 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>143778</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCShyZXZpc2lv
biAyMjIzMjkpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0cyA9IFsKICAgICBuZXcg
VGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwogCi10ZXN0cy5mb3JFYWNo
KGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7Ci0gICAgICAg
IHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3Ry
dWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAgICBpZiAodGVzdC52YWx1
ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3Vs
dDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdGVzdHMuZm9yRWFjaChm
dW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKKyAgICAg
ICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7Ci0gICAgICAgICAgICB0
aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0KSB7CisgICAgICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsKKyAgICAg
ICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiArMjI3LDcgQEAgYnl0ZWNvZGUvTGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQ
cm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVj
b2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCkBA
IC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29k
ZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcAog
Ynl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9QdXRC
eUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4MDFFMDM1NTlDMDA1QkVFRDggLyog
QjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyMzNDMkIxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MkNCMzRBMUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTQ1NzVD
RDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY0NjU2QTFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY1QzIxNzFF
NUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjVDMjE1MUU1
RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NkRBQTJC
MUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVl
Qml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0
aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVE1hdGhJQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFDNEVFRDVDMDBEMTNBRjMgLyogUENU
b0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJD
QjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0No
YWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NUYwOTlDMUUwMzYwMDUwMEJC
RTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGlsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9j
YXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgcGF0
aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzczNDQsOCBAQAogCQkJCTE0QUQ5MTBB
MURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmggKi8sCiAJCQkJMEZEM0U0MDcx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQw
ODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uaCAqLywKKwkJCQk3OTQ1NzVD
QzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTc5
NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovLAogCQkJ
CTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuY3BwICovLAogCQkJCTBG
MTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuaCAqLywKIAkJCQkwRjkzMzI5
OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAgKi8sCkBAIC04NTI5LDYgKzg1
MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAvKiBJbnRsQ29sbGF0b3JQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0RTBDREIwMEZDMTAyOSAvKiBJ
bnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q2RTFC
NERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVG
b3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFDNjAw
RDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFBy
b3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJP
UAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2
bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3lt
Ym9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJv
dG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBT
eW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjAyLDYgKzIwMiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AK
ICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1w
bDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNk
ZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVU
b1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsK
QEAgLTIyNiw2ICsyMjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZh
dGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlM
VElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAg
ICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJ
TklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpAQCAtMjM0LDYgKzIzNiw4IEBAIHB1
YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAg
ICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQo
bV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVi
bGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmlt
cGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0
IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsK
QEAgLTI0Niw2ICsyNTAsNyBAQCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NF
U1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVO
YW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAog
cHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU0LDYgKzI1
OSw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
V0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJz
Y29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRp
bk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAg
ICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5oIgog
I2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVy
bmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fc3Ry
dWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRp
b25TZXQgPSBjb25kaXRpb25TZXQ7CkBAIC0xNTEsNiArMTU0LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAg
ICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIzMCw2ICsy
MzYsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgCiAgICAgZWxz
ZSBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9
ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7CiAKKyAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludChjb21tYSwg
InByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKwog
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0
eSgpKQpAQCAtMjQzLDYgKzI1MiwxMCBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYg
dm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0
cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKFN0cnVjdHVy
ZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpKSB7CisgICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICsyODYs
OSBAQCBib29sIEFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1f
c3RydWN0dXJlKQogICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZp
c2l0b3IpOwogCisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY2hhaW4oKSkKKyAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlv
bjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5w
cmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICszODgsNjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQ
cm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1
YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBK
U0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAg
ICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5
Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmICht
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy9k
YXRhTG9nTG4oIkdlbmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAgLy9q
aXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAgICAg
IEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAg
IGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKS5z
aXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRF
bmQgPSBpICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOworICAg
ICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVuZCkg
eworICAgICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVs
YXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gT09QUzogSSBkb24ndCB0aGluayB0aGlzIGlzIG5lZWRlZCBpZiB3ZSB0cmFu
c2l0aW9uIG9uIHNldHRpbmcgdGhlIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwg
YmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBy
b3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNl
dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZz
ZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nl
c3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQo
Q0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tNjQoVmFsdWVOdWxsKSkpOyAvLyBPT1BTOiB0aGlzIGlzbid0IG5lZWRlZCBpZiB3ZSBz
dGlsbCB0cmFuc2l0aW9uIG9uIHNldHRpbmcgb3VyIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0
dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAg
ICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0
YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0
cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkp
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC00NjMsNiAr
NTE3LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAg
ICByZXR1cm47CiAKICAgICBjYXNlIE1pc3M6CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGpp
dC5tb3ZlVHJ1c3RlZFZhbHVlKGpzVW5kZWZpbmVkKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0
YXRlLnN1Y2NlZWQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTA0LDEzICs1NTksMTcgQEAgdm9p
ZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZv
ckdldEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0g
ICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQu
bW92ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJu
YXRlQmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJh
c2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzY3JhdGNoR1BSOyAvLyB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQhIE9PUFM6IHRoaXMg
aXMgdWdseS4KKyAgICAgICAgICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGxvYWQh
XG4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0g
SW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAm
JiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVl
U2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtNTY5LDYgKzYy
OCw5IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCisgICAgICAgIC8vaWYgKG1fdHlwZSA9PSBHZXR0ZXIgJiYgbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5tX2hhc1BvbHlQcm90bykKKyAgICAgICAgLy8gICAgaml0LnBy
aW50KCJEb2luZyBnZXR0ZXIgY2FsbCBmb3IgcG9seSBwcm90b1xuIik7CisKICAgICAgICAgLy8g
U3R1ZmYgZm9yIGN1c3RvbSBnZXR0ZXJzL3NldHRlcnMuCiAgICAgICAgIENDYWxsSGVscGVyczo6
Q2FsbCBvcGVyYXRpb25DYWxsOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgog
I2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYs
OCArMTg3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAg
IGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBwcm90b3R5cGVBY2Nlc3NDaGFpbigpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47IH0KKwogcHJvdGVjdGVkOgotICAgIEFj
Y2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwg
U3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKKyAgICBBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKICAgICBBY2Nlc3NDYXNlKGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUg
PSBQcmltb3JkaWFsOyB9CkBAIC0yMjcsNiArMjMwLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gbV9wcm90
b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3Mudmlh
UHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0
YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy5wcm90b3R5cGVBY2Nlc3NDaGFp
bigpLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1
cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRl
ckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwg
YWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFk
ZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vz
c0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNlLnNl
dE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6
b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDcgKzYzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFz
ZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQo
bmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJh
c2UsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgcmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9
IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3IuZ2V0dGVyID0gY3Vz
dG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CkBAIC03NCw3ICs3NCw4IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAg
c3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSkpOworICAgIC8vIE9PUFM6
IGRvIHNvbWV0aGluZyBoZXJlCisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21T
bG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21B
Y2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDksMTEgKzQ5LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAg
ICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9
IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0g
ICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxv
cHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIs
CisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIFByb3RvdHlwZUFjY2Vz
c0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwK
QEAgLTY3LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29u
c3QgeyByZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKICAg
ICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIy
MzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2
YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
OjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1
Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0
cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkp
OworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3Jw
aGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHBy
b3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3Ry
dWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1
ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCituYW1l
c3BhY2UgSlNDIHsKKwordm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rp
b24qIGNvbnN0cnVjdG9yKQoreworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VS
VCghbV9zdHJ1Y3R1cmUpOworICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBi
b29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAg
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKTsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlICYmIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgewor
ICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcHJvdG90eXBlLT5zdHJ1Y3R1
cmUodm0pLT5yYXJlRGF0YSgpLT5wb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7CisgICAgICAgICAg
ICAgICAgLy9kYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAg
ICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJhbHJlYWR5IGhhdmUgcG9seSBwcm90byBzdHJ1Y3R1
cmUgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJs
ZSgpKSk7CisgICAgICAgICAgICAgICAgLy9kYXRhTG9nTG4oY29uc3RydWN0b3ItPmpzRXhlY3V0
YWJsZSgpLT5zb3VyY2UoKS52aWV3KCkpOworICAgICAgICAgICAgICAgIC8vc3RydWN0dXJlLT5k
dW1wKFdURjo6ZGF0YUZpbGUoKSk7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmlu
YWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAg
ICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2Fw
YWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBPT1BTOiBQcm9iYWJseSBjYWxsIGludG8g
YSBkaWZmZXJlbnQgcHJvdG90eXBlTWFwIGZ1bmN0aW9uIGhlcmUgdGhhdCBtYWtlcyBwb2x5IHBy
b3RvLCB0aGF0IHdheSwKKyAgICAgICAgLy8gbm8gb25lIGVsc2UgY2FuIGFjY2lkZW50YWxseSBn
ZXQgYSBwb2x5IHByb3RvIHN0cnVjdHVyZS4KKyAgICAgICAgU3RydWN0dXJlUmFyZURhdGEqIHJh
cmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSk7Cisg
ICAgICAgIGlmIChyYXJlRGF0YS0+bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkpCisgICAgICAg
ICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisKKyAgICAgICAg
aWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PElu
ZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpKSkgeworICAgICAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5
V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBpbmZl
cnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSAmJiBleGVjdXRhYmxlLT5tX2Nv
bnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZTsKKyAgICAgICAgfQorICAgICAgICAvL2lm
IChpc1BvbHlQcm90bykgeworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0t
LS0tLS0tLSIpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIkdvaW5nIHBvbHkgcHJvdG8gZm9y
IGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpKSk7
CisgICAgICAgIC8vICAgIGRhdGFMb2dMbihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCktPnNv
dXJjZSgpLnZpZXcoKSk7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbigiV2hpY2ggaGFzIGV4ZWN1
dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpKSk7CisgICAg
ICAgIC8vfQorCisgICAgICAgIGV4ZWN1dGFibGUtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlLnNldCh2bSwgZXhlY3V0YWJsZSwgcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pKTsK
KyAgICAgICAgLy8gT09QUzogd2Uga25vdyBoZXJlIGlmIHdlJ3JlIGRvaW5nIHNvbWV0aGluZyB0
aGF0J3MgcG9seSBwcm90by4gV2Ugc2hvdWxkIHByb2JhYmx5IGNvbnZleSB0aGF0CisgICAgICAg
IC8vIGluZm9ybWF0aW9uIGhlcmUgYW5kIGFsc28gY29udmV5IGlmIHdlIGtub3cgdGhhdCB3ZSd2
ZSByZXNlcnZlZCBhbiBpbmxpbmUgc3BhY2UgZm9yIHRoZSBwcm90by4KKyAgICB9CisKKyAgICB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAv
LyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgorICAg
ICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291
bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5
KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2Vs
eSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAgICAgICAgICAvLyBzZWUgdGhl
IHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBm
dW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgp
KSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywg
c28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAgICAgICAgICAgIC8vIG9iamVj
dCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9CisK
KyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAg
ICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0Lgor
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAg
IGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkp
CisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgIC8vIE9P
UFM6IGxldHMgY29tbXVuaWNhdGUgdGhpcyB0byBzdHJ1Y3R1cmUgY3JlYXRlLiBJdCdzIGp1c3Qg
YXNzZXJ0aW5nIGl0IGdldHMgYW4gaW5saW5lIHNsb3QuCisgICAgICAgICsraW5saW5lQ2FwYWNp
dHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4oaW5saW5lQ2FwYWNpdHksIEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0KKworICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFs
T2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6
ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKKyAgICBN
YXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxs
b2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNh
cGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KKyAgICBpZiAoYWxsb2NhdG9yKSB7
CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRp
b25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOworICAgICAgICBpbmxpbmVD
YXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBK
U0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIC8vIE9PUFM6
IG5lZWQgdG8gbWFrZSB0aGlzIEFQSSBtb3JlIGNsZWFyLgorICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgaXNQb2x5UHJvdG8pOworCisg
ICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBp
dCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2Uo
KTsKKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIG1fc3RydWN0dXJlLnNldCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFj
aXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7CisgICAgaWYg
KHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUo
KSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAgIFByb3Bl
cnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3Ry
aW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBwcm90b3R5
cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVy
dHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheURh
dGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1l
QXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBKU1ZhbHVl
IHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7
CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFz
cy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBpZiAoanNE
eW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit9
IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
YmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpCi0gICAg
ewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cnVj
dHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAg
ICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lz
LgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQ
cm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWluZmVycmVk
SW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSBy
YXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Ci0gICAg
ICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNh
biBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsK
LSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxP
YmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGVm
YXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8g
dHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmpl
Y3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBB
U1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmpl
Y3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7
Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90IGFsbG9j
YXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkp
OwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxv
Y2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFrZSBhZHZh
bnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFz
cy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNsb3AgPSAo
YWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFy
cmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwotICAg
ICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIC8v
IEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2ls
bCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgp
OwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0g
aW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVj
dG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAt
MTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKIAotICAgIHVuc2lnbmVkIHBvc3Np
YmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQotICAg
IHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5v
YmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgIHNpemVf
dCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5
KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xN
b2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVy
dHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1v
ZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9y
JiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5
TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFt
ZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3Rv
dHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0gICAgICAgICAg
ICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9i
amVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAgICAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjb3Vu
dDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYg
dm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2VkQWxsb2NhdG9yKiBtX2FsbG9j
YXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFzaWVyIGZvciBnZW5lcmF0ZWQg
Y29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA0LDExICsyMDQsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24gZ2Vu
ZXJhdGVDb25kaXRpbwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNv
bmRpdGlvbjo6QWJzZW5jZTogeworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsK
ICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2UoCiAgICAg
ICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBy
b3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlT2ZTZXRFZmZlY3Q6IHsKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uOjphYnNlbmNlT2ZTZXRFZmZlY3QoCiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwg
dWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtMjU4LDYgKzI2MiwxMSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCBnZW5lcmF0ZUNvbmRpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSXQncyBhIHByb3h5LCBz
byBpbnZhbGlkLlxuIik7CiAgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQ6OmludmFsaWQoKTsKICAgICAgICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gT09QUzogV2UgbmVlZCBzb21l
IHN0b3J5IGhlcmUgb2YgYW4gaW50ZXJsZWF2aW5nLgorICAgICAgICAgICAgcmV0dXJuIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjpp
c1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHBy
b2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFu
eXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAg
ICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0g
c3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9m
ZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRp
b25JbnRlcm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNv
bmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFs
aWQgYmVjYXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25z
ZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3
ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBp
bnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNp
Z25lZCBjdXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9m
ZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRl
cyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitQcm90
b3R5cGVBY2Nlc3NDaGFpbjo6UHJvdG90eXBlQWNjZXNzQ2hhaW4oSlNPYmplY3QqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICAvLyBPT1BTOiBjb25zaWRlciBET00gcHJv
eHkgaGVyZS4gQWxzbywgcHJveHkgaW4gdGhlIHByb3RvdHlwZSBjaGFpbj8KKworICAgIEpTT2Jq
ZWN0KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpT
T2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNl
KCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAgICAgICAgICBtX2lzVmFsaWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5o
YXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpIHsKKyAgICAgICAgICAgICAgICBtX2lzVmFsaWQgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGN1cnJlbnQpOwor
ICAgICAgICB9CisKKyAgICAgICAgbV9jaGFpbi5hcHBlbmQoc3RydWN0dXJlKTsKKworICAgICAg
ICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBv
bHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAg
Ly8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkg
cG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEg
Y2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgor
ICAgICAgICBtX3VzZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZShjdXJyZW50KTsgLy8gbWF5YmUgcHJvdG90eXBlIGZvciBsb29rdXAgaGVyZT8KKyAgICAg
ICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
dXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYm
ICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxkIHRoaXMgYWN0dWFsbHkgY29tZSB1
cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVlZCB0byBjb25zaWRlci4gSSB0aGlu
ayBpdCBkb2VzIHNpbmNlIGJ1aWxkaW5nIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0CisgICAg
ICAgIC8vIHNlZW1zIHRvIGFzc3VtZSB0aGlzIGlzIHBvc3NpYmxlLgorICAgICAgICBtX2lzVmFs
aWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlByb3RvdHlwZUFjY2Vz
c0NoYWluIik7CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAgICAgb3V0LnByaW50KCIgaXMg
aW52YWxpZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh1c2VzUG9seVByb3Rv
KCkpCisgICAgICAgIG91dC5wcmludCgiIHVzZXNQb2x5UHJvdG8iKTsKKyAgICBvdXQucHJpbnQo
IjogWyIpOworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAg
ICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgIH0KKyAgICBvdXQucHJpbnQoIl0iKTsKK30K
KworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vz
c0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpT
QyB7CisKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90OworY2xhc3MgU3RydWN0
dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQoUHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oY29uc3Qg
UHJvdG90eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hh
aW4oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vz
c0NoYWluKEpTT2JqZWN0KiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmKTsKKyAgICBQcm90b3R5
cGVBY2Nlc3NDaGFpbiYgb3BlcmF0b3I9KFByb3RvdHlwZUFjY2Vzc0NoYWluJiYpID0gZGVmYXVs
dDsKKworICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQorCisg
ICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QgeyByZXR1cm4gbV91c2VzUG9seVByb3RvOyB9
CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4g
bV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisg
ICAgdm9pZCBjbGVhckNoYWluKCkgeyBtX2NoYWluLmNsZWFyKCk7IH0KKworcHJpdmF0ZToKKyAg
ICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdzIHN0cnVjdHVy
ZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSByZW1vdmVkLgorICAgIGJvb2wg
bV91c2VzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNWYWxpZCB7IHRydWUgfTsK
K307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVB
Y2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQ
cm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCisgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAsIG1f
YWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90
eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUg
PT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0s
IG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwg
YWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2Uo
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlh
YmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywx
MyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2Ug
OiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJh
c2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQu
Z2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRl
KFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0
cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVy
ZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogCiBwcml2
YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzczMyw2ICszNzMzLDggQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAg
ICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0
KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAv
LyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5
aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0
IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhv
dyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8v
IE9PUFM6IHRoaXMgbmVlZHMgYXR0ZW50aW9uCiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHBy
b3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNpemUo
KTsgKytpKSB7CkBAIC00MzA4LDYgKzQzMTAsOCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIG9wX2NyZWF0ZV90aGlz
OiB7CisgICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdoIHRoaXMgY29kZS4KKwogICAg
ICAgICAgICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kOwogICAgICAgICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjYWxs
ZWVPcGVyYW5kKSk7CiAKQEAgLTQzMzAsMTIgKzQzMzQsMTQgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJh
cmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQp
LCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUo
c3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUo
cmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2lu
dHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxp
dmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dy
YXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg2LDcgKzE3ODYsOCBAQCBib29s
IEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUq
IGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4u
c2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAg
ICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3Ry
dWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlv
bmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnBy
b3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAg
ICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTMgQEAgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpT
RnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlv
bio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURh
dGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09i
amVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAg
ICAvL2RhdGFMb2dMbigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwg
UmF3UG9pbnRlcihqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+anNFeGVjdXRhYmxl
KCkpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAg
ICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDM2MCw2ICs0MzYwLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICAvLyB0aGVuIHdlIHNwZWN1bGF0ZSBiZWNhdXNlIHdlIHdhbnQgdG8gZ2V0IHJl
Y29tcGlsZWQgaWYgaXQgaXNuJ3QgKHNpbmNlCiAgICAgICAgIC8vIG90aGVyd2lzZSB3ZSdkIHN0
YXJ0IHRha2luZyBzbG93IHBhdGggYSBsb3QpLgogICAgICAgICAKKyAgICAgICAgLy8gT09QUzog
d2Ugc2hvdWxkIGdvIHNsb3cgcGF0aCBoZXJlIGZvciBwb2x5IHByb3RvIHN0cnVjdHVyZS4KKyAg
ICAgICAgCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNhbGxlZSh0aGlzLCBub2RlLT5j
aGlsZDEoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CiAgICAgICAgIEdQ
UlRlbXBvcmFyeSBhbGxvY2F0b3IodGhpcyk7CkBAIC00Mzg0LDcgKzQzODYsMTMgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBzbG93UGF0aC5hcHBl
bmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgcmFyZURhdGFHUFIp
KTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQ
UiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mQWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JH
UFIpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRh
R1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkg
KyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVy
ZUdQUik7CisKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFj
cm9Bc3NlbWJsZXI6Olplcm8sIGFsbG9jYXRvckdQUikpOworCisgICAgICAgIC8vIE9PUFM6IHdl
IGNhbiBkbyBhIGxvdCBiZXR0ZXIgaGVyZQorICAgICAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGls
ZXI6OkFkZHJlc3Moc3RydWN0dXJlR1BSLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwg
c2NyYXRjaEdQUik7CisgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hJZkludDMy
KEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIpKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmpl
Y3QocmVzdWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3Rl
ZEltbVB0cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9q
aXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9m
ZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBH
UFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVn
KQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSos
IEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcs
IEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNr
IHRoYXQgcHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5
cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJl
ZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5i
cmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJ
bW0zMihQcm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9q
aXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0
LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAg
bV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gz
UmVnLCBzY3JhdGNoMlJlZyk7CisgICAgLy9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5
bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNj
cmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50
MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdyb25n
IGlmIHdlIGFsbG93IG91dCBvZiBsaW5lIG9mZnNldHMgZm9yIHBvbHkgcHJvdG8uCisgICAgbV9q
aXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRjaDNSZWcsIHNjcmF0Y2gzUmVnKTsKKyAgICBtX2pp
dC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywg
SklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2Uo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBub3RQb2x5UHJvdG8ubGluaygmbV9qaXQpOworICAgIG1f
aml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworCiAgICAgTWFjcm9Bc3NlbWJsZXI6
Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6RXF1YWws
IHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBtX2pp
dC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykpLmxpbmtUbyhsb29wLCAmbV9q
aXQpOwpAQCAtMzM4MSwxMCArMzM4OSwxMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
SW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHByb3RvdHlwZSh0aGlz
LCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwog
ICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgICAgIEdQUlRlbXBvcmFy
eSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIEdQUlJlZyBwcm90b3R5cGVSZWcg
PSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAg
ICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgICAgICAKICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNDZWxsID0gbV9qaXQuYnJhbmNoSWZDZWxsKHZhbHVl
LmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5qc1ZhbHVl
UmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMzOTQsNyArMzQwNCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgCiAgICAgICAgIGlzQ2VsbC5saW5r
KCZtX2ppdCk7CiAgICAgICAgIAotICAgICAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChu
b2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Cisg
ICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5
cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAgICAgICAgIAog
ICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIApAQCAtMzQwNywxMyArMzQxNywxNSBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgCiAgICAgR1BSVGVtcG9y
YXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAKICAgICBHUFJSZWcgdmFsdWVSZWcg
PSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigp
OwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICBHUFJSZWcgc2Ny
YXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3Jh
dGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2
YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgY29t
cGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2Ny
YXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKIAogICAgIGJsZXNzZWRCb29sZWFu
UmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBA
IC03NTksNyArNzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm9uU3BlY3VsYXRpdmVOb25QZWVw
aG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICBib29sIG5vblNw
ZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIAotICAg
IHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywg
R1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBz
Y3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwg
R1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJl
c3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpOwogICAgIHZv
aWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZD
dXN0b20oTm9kZSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4ODUsMTAgKzg4
ODUsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIExCYXNpY0Jsb2NrIGlzQ2VsbENh
c2UgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBsb29wID0gbV9vdXQu
bmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlwZUJpdHMgPSBtX291
dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUG9seVByb3RvID0gbV9vdXQu
bmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29tcGFyZVByb3RvdHlwZSA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdFlldEluc3RhbmNlID0gbV9vdXQu
bmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3
QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlwZURpcmVjdCA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cg
PSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBt
X291dC5uZXdCbG9jaygpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIGNvbmRpdGlvbjsKICAg
ICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpCkBAIC04
OTA2LDE2ICs4OTA4LDI4IEBAIHByaXZhdGU6CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG9yaWdp
bmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2VsbCk7CiAgICAgICAgIG1fb3V0Lmp1bXAobG9vcCk7
CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlRGly
ZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZUJpdHMpOwog
ICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291dC5waGkoSW50NjQsIG9yaWdpbmFsVmFsdWUpOwog
ICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0LmxvYWQ4WmVyb0V4dDMyKHZhbHVlLCBtX2hlYXBz
LkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAg
ICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291dC5jb25zdEludDMyKFByb3h5T2JqZWN0VHlwZSkp
LAotICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlRGlyZWN0KSwgcmFyZWx5KGRlZmF1
bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZUJp
dHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwogCi0gICAgICAgIG1fb3V0LmFw
cGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3QsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgbV9v
dXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJpdHMsIGxvYWRQb2x5UHJvdG8pOwogICAgICAgICBM
VmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVjdHVyZSh2YWx1ZSk7Ci0gICAgICAgIExWYWx1ZSBj
dXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1
cmVfcHJvdG90eXBlKTsKKworICAgICAgICBMVmFsdWUgcHJvdG90eXBlQml0cyA9IG1fb3V0Lmxv
YWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7CisgICAgICAgIFZh
bHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBlID0gbV9vdXQuYW5jaG9yKHByb3RvdHlwZUJpdHMp
OworICAgICAgICBtX291dC5icmFuY2goaXNJbnQzMihwcm90b3R5cGVCaXRzKSwgdW5zdXJlKGxv
YWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFyZVByb3RvdHlwZSkpOworCisgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNvbXBhcmVQcm90b3R5cGUpOworICAgICAgICBMVmFs
dWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJvdG90eXBlQml0cywgbV9vdXQuY29uc3RJbnQ2NChV
SU5UX01BWCkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBwb2x5UHJvdG8gPSBtX291dC5hbmNo
b3IoCisgICAgICAgICAgICBtX291dC5sb2FkNjQobV9vdXQuYmFzZUluZGV4KG1faGVhcHMucHJv
cGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1ZSwgaW5kZXgsIFNjYWxlRWlnaHQsIEpTT2JqZWN0
OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkpKTsKKyAgICAgICAgbV9vdXQuanVtcChjb21wYXJl
UHJvdG90eXBlKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhjb21wYXJlUHJvdG90eXBlLCBu
b3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQu
cGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwgcG9seVByb3RvKTsKICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuVHJ1ZSk7
CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0LmVxdWFsKGN1cnJlbnRQ
cm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMgQEAgdm9p
ZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUg
cHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJl
Z1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBp
ZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAg
ICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0gICAgbG9h
ZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUMik7
CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMpOworICAg
IGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVn
VDQpOworICAgIGF1dG8gaGFzU3RvcmVkUHJvdG90eXBlID0gYnJhbmNoSWZOb3RJbnQzMihKU1Zh
bHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7Cisg
ICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0Ojpv
ZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBoYXNTdG9yZWRQcm90b3R5cGUu
bGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNl
ID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwo
cmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApAQCAtNzcwLDYgKzc3NSw4IEBAIHZvaWQgSklU
OjplbWl0X29wX2NyZWF0ZV90aGlzKEluc3RydWN0aW8KICAgICBSZWdpc3RlcklEIGNhY2hlZEZ1
bmN0aW9uUmVnID0gcmVnVDQ7CiAgICAgUmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDM7CiAK
KyAgICAvLyBPT1BTOiB0aGlzIGlzIHdyb25nIHcvIHBvbHkgcHJvdG8hCisKICAgICBlbWl0R2V0
VmlydHVhbFJlZ2lzdGVyKGNhbGxlZSwgY2FsbGVlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFu
Y2g4KE5vdEVxdWFsLCBBZGRyZXNzKGNhbGxlZVJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZz
ZXQoKSksIFRydXN0ZWRJbW0zMihKU0Z1bmN0aW9uVHlwZSkpKTsKICAgICBsb2FkUHRyKEFkZHJl
c3MoY2FsbGVlUmVnLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YVJl
Zyk7CkBAIC03NzgsNiArNzg1LDEwIEBAIHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKElu
c3RydWN0aW8KICAgICBsb2FkUHRyKEFkZHJlc3MocmFyZURhdGFSZWcsIEZ1bmN0aW9uUmFyZURh
dGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlUmVnKTsKICAgICBhZGRTbG93
Q2FzZShicmFuY2hUZXN0UHRyKFplcm8sIGFsbG9jYXRvclJlZykpOwogCisgICAgLy8gT09QUywg
d2UgY2FuIGRvIGJldHRlciBoZXJlIQorICAgIGxvYWQ2NChBZGRyZXNzKHN0cnVjdHVyZVJlZywg
U3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2hSZWcpOworICAgIGFkZFNsb3dD
YXNlKGJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykpKTsKKwogICAgIGxvYWRQ
dHIoY2FjaGVkRnVuY3Rpb24sIGNhY2hlZEZ1bmN0aW9uUmVnKTsKICAgICBKdW1wIGhhc1NlZW5N
dWx0aXBsZUNhbGxlZXMgPSBicmFuY2hQdHIoRXF1YWwsIGNhY2hlZEZ1bmN0aW9uUmVnLCBUcnVz
dGVkSW1tUHRyKEpTQ2VsbDo6c2Vlbk11bHRpcGxlQ2FsbGVlT2JqZWN0cygpKSk7CiAgICAgYWRk
U2xvd0Nhc2UoYnJhbmNoUHRyKE5vdEVxdWFsLCBjYWxsZWVSZWcsIGNhY2hlZEZ1bmN0aW9uUmVn
KSk7CkBAIC04MDAsNiArODExLDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2NyZWF0ZV90aGlz
KEluc3RydQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gZG9lc24ndCBoYXZlIGFuIGFsbG9j
YXRpb24gcHJvZmlsZQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWls
ZWQgKG5vIGFsbG9jYXRvcikKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24g
ZmFpbGVkIChhbGxvY2F0b3IgZW1wdHkpCisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxv
Y2F0aW9uIGZhaWxlZCwgc3RydWN0dXJlIGhhcyBwb2x5IHByb3RvCiAgICAgbGlua1Nsb3dDYXNl
KGl0ZXIpOyAvLyBjYWNoZWQgZnVuY3Rpb24gZGlkbid0IG1hdGNoCiAKICAgICBKSVRTbG93UGF0
aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2Ny
ZWF0ZV90aGlzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIFBy
b3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3Qu
Y2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8IHNsb3Quc2xv
dEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDQwIEBAIHN0YXRpYyBJbmxp
bmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlv
bmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgJiYg
c3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVy
dHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAg
ICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgp
KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0g
Z2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAot
ICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgIGlm
IChKU09iamVjdCogYmFzZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgYmFzZUNlbGwp
KSB7CisgICAgICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGVhY2ggUHJvdG90eXBlQWNjZXNz
Q2hhaW4gYWJvdXQgbm9uIG9iamVjdAorICAgICAgICAgICAgICAgIC8vIGJhc2VzLiBBZGQgdGVz
dHMgaGVyZS4KKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluKGJhc2UsIHNsb3QpOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBl
QWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgICAgICBwcm90b3R5
cGVBY2Nlc3NDaGFpbi5jbGVhckNoYWluKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGlm
ICghcHJvdG90eXBlQWNjZXNzQ2hhaW4uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgLy8g
T09QUzogVGhpcyBvYnZpb3VzbHkgaXMgbm90IGNvcnJlY3QuCiAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9IAorCisgICAgICAgICAgICBpZiAoIXBy
b3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgICAgIGlm
IChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBn
ZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RC
YXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgfQorCiAKLSAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxp
ZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAg
ICAgICAgICAgLy8gT09QUzogYXJlIHRoZXNlIGV4cHJlc3Npb24gZXF1aXZhbGVudD8KKyAgICAg
ICAgICAgIC8vb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0
aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBvZmZzZXQg
PSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwog
ICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVsbHB0cjsKQEAgLTI5
OSw3ICszMTgsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAg
ICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8
IHNsb3QuaXNVbnNldCgpKSB7CiAgICAgICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFj
Y2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nh
c2U6Ok1pc3MgOiBBY2Nlc3NDYXNlOjpMb2FkLAotICAgICAgICAgICAgICAgICAgICBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNo
cG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBwcm90
b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c0NhY2hlYWJsZUdldHRlcigpKQpAQCAtMzE2LDcgKzMzNSw3IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwKICAgICAgICAgICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXND
YWNoZWFibGVDdXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAg
ICAgICAgICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkg
OiBudWxscHRyLAotICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAg
ICAgICAgICAgICBkb21BdHRyaWJ1dGUsIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzY2LDEwICs3NjYsOSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lk
CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9m
ZnNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0
cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0
QnlJZEZsYWdzICYgUHV0QnlJZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhl
Yyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0g
c3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFp
bik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBw
Y1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5
cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0
ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0g
c3RhdGUudm0oKTsKLSAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpT
VmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNT
dHJpbmcqIHNlcGFyYXRvciwgdWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0
YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAg
ICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAg
ICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAg
ICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYz
NCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAg
ICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUp
KTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRv
QmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAg
ICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBo
b2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBp
ZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAg
ICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShk
YXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVj
dCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpA
QCAtODI2LDcgKzgyNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90
b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0Rv
dWJsZSgpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYm
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAg
IGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6
cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aGlzT2JqZWN0KTsKQEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVj
dC0+YnV0dGVyZmx5KCktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3Rv
cmFnZS52ZWN0b3JMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3Rv
cmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhp
c09iamVjdCkpCisgICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpy
ZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwpAQCAtMTE3NCw3ICsxMTczLDcgQEAgc3RhdGlj
IGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3Rv
cmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlB
cnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgc291cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291
cmNlLT50cnlHZXRJbmRleFF1aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRz
LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBDbG9u
ZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0gICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAgICBpZiAoVU5MSUtFTFkoYXNPYmplY3Qoc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKGFzT2JqZWN0KHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpKSkpIHsKICAgICAg
ICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBz
dHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJh
eVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rvckxlbmd0aDsKIApAQCAtODEs
NyArODEsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAg
Ly8gTkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFsIG9iamVjdCBv
ZiBvZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9mIHRoZSBjYWxs
ZWUuIFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3VsZC4KICAgICBD
bG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUsIGxlbmd0aCk7
Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSkt
PmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI1LDE0ICsx
MjUsMTQgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIH0g
fQogCiAgICAgQVNTRVJUKG15RnJhbWUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJn
dW1lbnRzU3RydWN0dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQo
IXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpj
cmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJn
ZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVz
dWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRy
LCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGlu
Z1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0
NSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFTU0VS
VCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAg
IEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1
bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5
cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyMzI5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0MiwxMSBAQCBTTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfY3JlYXRlX3RoaXMpCiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IHBjWzNdLnUu
b3BlcmFuZDsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25zdHJ1Y3Rvci0+cmFy
ZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5z
dHJ1Y3R1cmUoKTsKICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywg
c3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KSB7CisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJv
dG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0
IGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUo
KSkpOworICAgICAgICB9CisgICAgICAgIC8vZGF0YUxvZ0xuKCJjcmVhdGVfdGhpcyByZXN1bHQ6
ICIsIEpTVmFsdWUocmVzdWx0KSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2Vj
bWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9t
Y29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3Qt
PmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVu
Y3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29u
c3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+
bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1
dGFibGUqIEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25F
eGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOSBAQCBwdWJsaWM6CiAK
ICAgICBJbmZlcnJlZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xl
dG9uRnVuY3Rpb24uZ2V0KCk7IH0KIAorICAgIC8vIE9PUFM6IGFkZCBtZXRob2RzIGZvciB0aGlz
LgorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsK
ICAgICBGdW5jdGlvbkV4ZWN1dGFibGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFy
ZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25S
YXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFs
aXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNv
bnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFy
KiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0g
ICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
dm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlv
biogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5p
dGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsg
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5h
bEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5
NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVj
dHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewot
CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3Ry
dWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anND
YWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7
CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2Vy
ZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRG
dW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAg
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSogSlNB
cnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAg
ICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0o
KTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNv
dW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250
YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8g
dXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0
b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAog
ICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChp
bmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsxMDQ4
LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAv
LyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5n
cyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3Vn
aCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlT
dG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50Owot
ICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2
ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpTQXJy
YXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hl
Y2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0
IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0
aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAg
ICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlz
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAg
ICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBp
IDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29u
dGlndW91c0RvdWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KHYgIT0gdikpIHsKQEAgLTE0MzYsNyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRv
clByb3RvY29sRmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAg
IGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlu
bGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEsOCBAQCBpbmxp
bmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVk
IHByb3BlcnRpZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAg
Ly8gaW5zdGVhZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAg
ICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgb3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5j
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYg
KzEzNSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1Y3QKICAgICAv
LyBpc24ndCBhbnkgZ29vZCBwbGFjZSB0byBwdXQgdGhlIHN0cnVjdHVyZSBvbiBJbnRlcm5hbCBG
dW5jdGlvbnMuCiAgICAgaWYgKHRhcmdldEpTRnVuY3Rpb24pIHsKICAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSB0YXJnZXRKU0Z1bmN0aW9uLT5yYXJlRGF0YSh2bSktPmdldEJvdW5kRnVu
Y3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgLy8gT09QUzoKICAgICAgICAgaWYgKHN0cnVjdHVy
ZSAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IHByb3RvdHlwZSAmJiBzdHJ1Y3R1
cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBz
dHJ1Y3R1cmU7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
SlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3Nywx
MyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVs
c2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5m
bygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXND
ZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1Bv
aW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0
LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAg
ICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNv
bnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJD
ZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAo
IiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3Ry
dWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxs
KCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAg
ICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3
ICsxMzUsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuCiAgICAg
aWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJh
cmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7
CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEg
REZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0
YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxv
Y2F0ZWQKQEAgLTE1Myw3ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjpp
bml0aWFsaXplCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2Jh
bE9iamVjdCh2bSk7CiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGds
b2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlz
KTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYgKzM0MSwxOCBA
QCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJG
dW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAor
c3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVl
IHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBKU09iamVj
dCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1
ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJ1Y3R1cmVS
YXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVE
YXRhKHZtKTsKKyAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQor
ICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgaWYg
KEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVy
cmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSgpKSkKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0s
IGNvbnN0cnVjdG9yLCAiU2V0dGluZyAucHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9
CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC00NTIsNiArNDY0LDcgQEAg
Ym9vbCBKU0Z1bmN0aW9uOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjUwogICAgICAgICB0aGlzT2Jq
ZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVj
LCBwcm9wZXJ0eU5hbWUsIGdldFNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJl
RGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0
byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpbmZlckNvbnN0
cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgdmFsdWUsIHRoaXNPYmplY3QpOwogICAgICAgICBzY29w
ZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywg
cHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgfQpAQCAtNTE4LDYgKzUzMSw4IEBAIGJv
b2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICAgICAgdGhpc09iamVj
dC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywg
cHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEp
CiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJv
dG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iu
dmFsdWUoKSkKKyAgICAgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBk
ZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7
CiAgICAgICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHBy
b3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwogICAgIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9u
CiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
ICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURp
cmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkg
QEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAo
IWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVTZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBp
ZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3Rv
dHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc3MCw3ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSog
CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0
KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNl
dChvZmZzZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0g
ICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAg
ICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lLCB0aGlzKSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUo
KSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAg
ICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUlu
aXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5H
VEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNT
RVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAg
IEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VS
VCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICBBU1NFUlQo
IWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0
aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1
Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1
dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0
dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwog
ICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsK
LSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFu
c2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiAgICAgbnVrZVN0cnVjdHVy
ZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAg
c2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0x
MjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVk
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2
bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAg
ICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0p
LT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29udGlndW91
c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQs
NyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAog
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZt
KQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcg
QEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3Jh
Z2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAg
IHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRD
b250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJh
bnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3Vv
dXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3Vz
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uo
dm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykp
OwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBK
U1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpT
T2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsK
ICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2Uo
KSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAg
ICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJ
bml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRp
Z3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGlu
ZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAg
ICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
dGhpcykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAg
IHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcg
KzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAg
CiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVY
SU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAo
VU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNW
YWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsK
ICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAg
ICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VS
VCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0
SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9J
TkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkp
OwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAg
ICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
IEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVs
dDoKQEAgLTE2MzYsNyArMTYzNiw3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dChWTSYgdm0KICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKICAgICBz
ZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1
cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBp
ZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3Nlcyh0aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVN
YXAuaXNQcm90b3R5cGUodGhpcykpIHsKQEAgLTE5NTEsNyArMTk1MSw4IEBAIEpTVmFsdWUgSlNP
YmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdo
YXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90
eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJl
KCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNo
YWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7
IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9i
amVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVy
bmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAg
aWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MjcsNyBAQCBib29sIEpT
T2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0
QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAg
ICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAs
IDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUg
dG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRl
QXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAx
KSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwg
c2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODc5LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGly
ZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KHRoaXMpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJh
eVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsK
ICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwog
ICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICsz
NTU5LDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3Qt
PnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5p
bmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjIz
MjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8o
KSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVh
cDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAg
ICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCkt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChn
ZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdv
cmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNT
RVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlubGluZSBK
U09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgp
LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShW
TSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwMCw4IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAg
ICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
Ly8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9lc24ndCBpdCBjYWxsIHRoZSBn
ZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlw
ZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3
ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAg
IGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90
eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9
PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAg
ICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAg
ICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVj
KTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1
MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAg
ICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFko
c3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1
bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNs
b3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUg
PSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBA
QCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAg
aWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUp
KSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNT
RVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2Vw
dFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkpOwogICAgICAgICBpZiAoIXRo
aXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2Nv
cGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3Jp
dGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlu
bGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVuZ3RoCiAg
ICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkg
PT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51bWVyYXRv
ci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4
ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQzMl90IG51
bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDcgKzEzNiw3IEBAIGlubGluZSBK
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBub3JtYWxpemVQcm90b3R5cGVD
aGFpbihleGVjLCBzdHJ1Y3R1cmUpOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJvcGVydHlOYW1l
RW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgsIG51bWJlclN0
cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAgIGVudW1lcmF0
b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWlu
KGV4ZWMpKTsKKyAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3Ry
dWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CiAgICAgaWYgKCFpbmRleGVkTGVu
Z3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCiAgICAg
ICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVy
YXRvcik7CiAgICAgcmV0dXJuIGVudW1lcmF0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAg
Ym9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1
cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3Qt
PmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2Jh
bE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTU2V0
OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0
LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHB1YmxpYzoKICAgICAKICAgICBKU09iamVjdCog
cHJvdG90eXBlKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwpIGNvbnN0CiAgICAgeworICAg
ICAgICAvLyBPT1BTLiBtYWtlIHN1cmUgaXQncyBvbmx5IEpTR2xvYmFsT2JqZWN0IHRoYXQgYWNj
ZXNzZXMgdGhpcy4KICAgICAgICAgQVNTRVJUKCFpc0NvbXBpbGF0aW9uVGhyZWFkKCkpOwogICAg
ICAgICByZXR1cm4gZ2V0KGdsb2JhbCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIH0K
QEAgLTEwMSwxMyArMTAyLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUu
Z2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2JqZWN0KiBwcm90b3R5cGVD
b25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0
dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQot
ICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRseSgpIGNvbnN0CiAgICAg
ewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTQzLDYgKzE0MywxMSBAQCBzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4o
Q2FsbEZyYW1lCiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94
eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKworICAgICAg
ICAvLyBPT1BTOiB0aGlzIGRlZmluaXRlbHkgbmVlZHMgc29tZSBtb3JlIHRob3VnaHQKKyAgICAg
ICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0
dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAgICBpZiAodi5pc051bGwo
KSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTQsMTcgKzU0LDM4IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQcm90b3R5cGUoSlNP
YmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxpbmUgU3RydWN0dXJl
KiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywg
Y29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpj
cmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyog
Y2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1dG8ga2V5ID0gc3Rk
OjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFs
T2JqZWN0KTsKKyAgICAvLyBPT1BTOiBtYWtlIHN1cmUgdGhpcyBpc24ndCBjYWxsZWQgdy8gcHJv
dG90eXBlPW51bGxwdHIgZm9yIHZhbGlkIHJlYXNvbnMuCisgICAgYXV0byBrZXkgPSBzdGQ6Om1h
a2VfdHVwbGUobWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtl
UG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBl
KTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBl
KHByb3RvdHlwZSkpOwogICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAorICAgIFZN
JiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKwogICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUp
OwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAgICAg
IGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBj
bGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gbnVsbHB0cjsKKworICAgIC8vIE9PUFM6IGZpZ3VyZSBvdXQgd2hhdCB0byBk
byBoZXJlLiBUaGlzIGZlZWxzIGxpa2UgdGhlIHdyb25nIHBsYWNlIHRvIGRvIHRoaXMuCisgICAg
aWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgU3RydWN0dXJlUmFyZURhdGEq
IHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpOworICAgICAg
ICBBU1NFUlQocmFyZURhdGEtPm5lZWRzUG9seVByb3RvU3RydWN0dXJlKHZtKSk7CisgICAgICAg
IHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQ
b2x5UHJvdG8sIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5m
bywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgICAgIHJhcmVEYXRhLT5zZXRQ
b2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgfQorCisgICAgaWYgKCFzdHJ1
Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAg
ICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGlu
ZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBtX3N0cnVjdHVyZXMuc2V0
KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOwogICAgIHJldHVybiBzdHJ1Y3R1cmU7
CiB9CkBAIC03MywyMCArOTQsMjEgQEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3Ry
dWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNp
dHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rp
b24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAg
IEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUo
KTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5n
VHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMocHJvdG90eXBlKSAmJiBoYXNJbmRleGVkUHJvcGVy
dGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBl
ICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAotICAg
IHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFz
ZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4
aW5nVHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5j
bGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSogUHJv
dG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQog
ewotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0Zp
bmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmV0
dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFs
T2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6
OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3RydWN0
dXJlKTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVj
dCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShz
dGQ6Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5m
bygpLCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90
dXBsZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9i
YWxPYmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpTX0VY
UE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0cnVj
dHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBj
bGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNP
YmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQcm90
b3R5cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0
ZS4KIAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBT
dHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
OwogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAg
ICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFw
PHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9i
YWxPYmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0dXJl
TWFwID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xh
c3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcg
QEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxs
KHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5
KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwg
bV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAs
IG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAg
LCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25X
YXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCkBA
IC0yOTUsNiArMjk1LDI4IEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkK
ICAgICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJl
KCk7CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4
aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0
cnVjdHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlw
ZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICAv
L2RhdGFMb2dMbigiTWFraW5nIHBvbHkgcHJvdG8gc3RydWN0dXJlOiAiLCBSYXdQb2ludGVyKHJl
c3VsdCkpOworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91
dE9mTGluZUNhcGFjaXR5KCk7IC8vIE9PUFM6IG1heWJlIHRoaXMgc2hvdWxkIGFsd2F5cyBzdGFy
dCBhcyB6ZXJvPworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAg
ICAgICAgdm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90
b1ByaXZhdGVOYW1lKCksIERvbnRFbnVtLAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1
cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3
TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpvdXRP
ZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7Cisg
ICAgICAgICAgICAvLyBPT1BTOiBsZXRzIG1ha2UgYSBkaWZmZXJlbnQgY3RvciBmb3IgdGhpcyB2
YXJpYW50IG9mIHBvbHkgcHJvdG8sIHNpbmNlIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIAorICAg
ICAgICAgICAgLy8gYWxyZWFkeSBrbm93cyB3aGVuIGl0J3MgbWFraW5nIGEgcG9seSBwcm90byB2
YXJpYW50LgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0
KSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiU2V0dGluZyBtX3Byb3RvdHlwZSB0bzogIiwg
anNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2
bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0TGFz
dE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6
YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1
Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0dXJlcy5p
c0VtcHR5KCkpOwpAQCAtMzk4LDI2ICs0MjAsMzAgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFk
ZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25z
dCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5t
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5z
dHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUzogTGV0J3MganVzdCBwdXQgdGhpcyBvbiBKU09i
amVjdD8KKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0
KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZt
KS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCk7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJv
dG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3Qo
cHJvdG90eXBlKS0+c3RydWN0dXJlKCk7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90
b3R5cGUpOwogICAgIH0KIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZShWTSYgdm0pIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgQVNTRVJUKGJh
c2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CisKICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09i
amVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFz
T2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MjYsNyArNDUyLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6Omhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpv
YmplY3QtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhv
YmplY3QtPmluZGV4aW5nVHlwZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0g
c3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1
cmUuc3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2Jq
ZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CkBAIC00MzYsMTUgKzQ2MiwxNiBAQCBib29sIFN0cnVjdHVyZTo6aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6Om5lZWRz
U2xvd1B1dEluZGV4aW5nKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBhbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKKyAgICBSRUxFQVNFX0FT
U0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlz
IEpTT2JqZWN0KiBtZXRob2Q/CisgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoYmFzZSkKICAgICAgICAgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2
aW5nQUJhZFRpbWUoKTsKIH0KIAotTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0CitOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKEpTT2JqZWN0KiBi
YXNlKSBjb25zdAogewotICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAgIGlmIChu
ZWVkc1Nsb3dQdXRJbmRleGluZyhiYXNlKSkgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlzIGEgSlNP
YmplY3QqIG1ldGhvZAogICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxv
Y2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CiAgICAgCiAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJh
bnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7CkBAIC0xMDY3LDExICsxMDk0LDYgQEAgdm9p
ZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cgogICAgICAgICBtX3RyYW5zaXRp
b25XYXRjaHBvaW50U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykp
OwogfQogCi1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayog
Y29kZUJsb2NrKSBjb25zdAotewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoY29kZUJs
b2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVu
KEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgU3RydWN0dXJlKiB0
aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+KGNlbGwpOwpAQCAtMTEwOSw3ICsxMTMxLDcg
QEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAogICAgIAogICAgIHJldHVybiAoIW1f
Z2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0
LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjpp
c01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOworICAgICAgICAm
JiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBI
ZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQog
CiBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0x
MTIxLDIwICsxMTQzLDI0IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRv
ciYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
TWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiti
b29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGJhc2UpCiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgbWFr
ZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZC4KKwogICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5
TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCk7CisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKGJhc2UpOwogICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50
ID0gdGhpczsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3Jl
ZFByb3RvdHlwZSgpOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7Cisg
ICAgICAgIC8vIE9PUFM6IE1heWJlIHRoaXMgbmVlZHMgc29tZSBjbG9zZXIgYXR0ZW50aW9uLCBi
dXQgSSdtIG5vdCBzdXJlIGhvdyB3ZSBjYW4gc2F5CisgICAgICAgIC8vIG11Y2ggYWJvdXQgb3Vy
IHByb3RvdHlwZSBjaGFpbiB3aXRob3V0IGtub3dpbmcgY29uc3RhbnQgcHJvdG90eXBlIHZhbHVl
cy4uLgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURp
cmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwo
KS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7
CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRl
cyk7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2
bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFKU0M6
OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAK
QEAgLTExNzIsNiArMTE5OCw3IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0
cnVjdHUKICAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRl
KCk7CiAgICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsK
ICAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgICAgICAv
LyBPT1BTOgogICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpOwogICAgICAgICB9CiAKQEAgLTExODEsMTMgKzEyMDgsNiBAQCBSZWY8U3RydWN0dXJl
U2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAot
Ym9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikK
LXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHko
KQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBl
KCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVj
dEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsi
LCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzEyMjIsOSBAQCB2
b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnBy
aW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAg
aWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90
eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90
b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAg
ICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCku
YXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjMyOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3Rv
VGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBj
b25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3IEBA
IHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAg
ICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlz
T2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQobV9wcm90
b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3RvdHlwZS5p
c0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVh
dGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTI0MCwyNiArMjQyLDQ0IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVk
QWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAg
IGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKEpTT2JqZWN0KikgY29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUoVk0mLCBKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4
aW5nKEpTT2JqZWN0KikgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2Jq
ZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBj
YWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFs
CiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJs
ZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0
aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFz
U3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5
cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgp
IGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUo
KSk7CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPworICAgICAg
ICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBv
bHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFz
U3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJ
bnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVj
dCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNP
YmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShj
b25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkg
Y29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7
CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsK
LSAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBT
dHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0
OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsK
KyAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCog
YmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4q
IHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAg
ICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28g
d291bGQgb25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3NCwxMiArMjk0
LDI1IEBAIHB1YmxpYzoKICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7CiAgICAg
ICAgIAogICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlz
IHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNo
YWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgSlNfRVhQT1JU
X1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9w
ZXJ0eU5hbWUsIEpTT2JqZWN0Kik7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0
CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5n
ZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QK
KyAgICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkp
OworICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0p
CisgICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0
ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAog
ICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NjYs
NiBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0p
OwogICAgIH0KICAgICAKLSAgICB2b2lkIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJ
Zk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0
YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAg
ICAgYm9vbCBoYXNJbmZlcnJlZFR5cGVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAh
IW1faW5mZXJyZWRUeXBlVGFibGU7CkBAIC01OTAsMTAgKzYxNyw2IEBAIHB1YmxpYzoKIAogICAg
IFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKICAgICAKLSAg
ICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0
aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhl
ciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOwotICAg
IAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29u
dGV4dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CiAgICAgdm9pZCBkdW1wQnJp
ZWYoUHJpbnRTdHJlYW0mLCBjb25zdCBDU3RyaW5nJikgY29uc3Q7CkBAIC03MjAsOCArNzQzLDcg
QEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1f
b2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0
OwotICAgIGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJv
dG90eXBlQ2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0
cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0
OwogCiAgICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhl
c2UuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXIm
LCBWTSYsIFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzU0LDYgQEAgcHJpdmF0ZToKICAg
ICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgp
OwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAg
ewotICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAg
ICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNr
T2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29u
c3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZp
c2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVD
aGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJl
Q2hhaW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hh
aW46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNP
YmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7
CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9y
ID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7
CisKKyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3Vy
cmVudC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsK
KyAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmll
cih0aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNo
YWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVy
ZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBT
dHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1
cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0
cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7
CkBAIC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0Nl
bGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1
Y3R1cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0g
ICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwot
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQg
PSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9y
W2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAu
bXV0YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAg
IH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5saW5lIFN0cnVj
dHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVy
ZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVCho
YXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdl
dCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBA
IC02OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3Rv
dAogCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwog
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAo
IW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3Ry
dWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFBy
b3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNT
RVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAor
ICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3Rv
dHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7
CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigp
OworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5M
SU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09i
amVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0
dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQ
cm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAg
IEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7Cisg
ICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1
cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29u
c3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9i
amVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQo
Vk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJp
YnV0ZXM7CkBAIC0xNjgsOCArMTk4LDIxIEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNp
dGl2ZWx5VHJhbnMKIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29r
dXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAg
IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlw
ZSgpOworICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQorICAgICAgICBy
ZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVCh0eXBl
SW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
dHJpbmdQcm90b3R5cGUoKTsKK30KKworaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5
cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlKSBj
b25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAv
LyBPT1BTIGRlYnVnIGFzc2VydD8KKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJu
IHN0b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7CiAgICAgaWYgKHR5cGVJbmZvKCkudHlw
ZSgpID09IFN5bWJvbFR5cGUpCiAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFBy
b3RvdHlwZSgpOwogCkBAIC0xODIsMjcgKzIyNSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUZvckxvCiAgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVj
dHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNv
bnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsg
Ly8gT09QUzogbWF5YmUgZGVidWc/CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFp
biBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9i
amVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9j
YWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUo
dm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1
cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBl
Q2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90
eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5
cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAg
ICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVj
dHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29u
c3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5
cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJl
dHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWlu
KSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JM
b29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdo
aWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAg
aWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+
Z2V0KCkpCkBAIC0yMTMsMTEgKzI1Nyw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxp
ZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3Ry
dWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5
cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5
KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgp
KSkKQEAgLTQwMCw3ICs0MzksNyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpy
ZW1vdmVQCiAgICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxp
bmUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxl
KiB0YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUo
Vk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNh
ZmUuc2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lv
biAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJl
RGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1
Y3R1cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFs
dWVXYXRjaHBvaW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRl
ICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJl
RGF0YTo6dmlzaXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1f
cHJldmlvdXMpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJp
bmdWYWx1ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEpTUHJvcGVydHlOYW1l
RW51bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0
b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3Nyw1MyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJl
RGF0YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAK
K0pTVmFsdWUgU3RydWN0dXJlUmFyZURhdGE6OmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpCit7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlLmdldCgpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc1Bv
bHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChJbmZlcnJlZFZhbHVl
KiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0s
IGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkpCisgICAgICAgIHJldHVy
biBpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICBBU1NFUlQo
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmFzQ2VsbCgpLT5pbmhlcml0
cyh2bSwgU3RydWN0dXJlOjppbmZvKCkpKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cnVj
dHVyZSogU3RydWN0dXJlUmFyZURhdGE6OnBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7Cisg
ICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlz
LT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIGluZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFy
ZURhdGE6OmlzUG9seVByb3RvKFZNJiB2bSkKK3sKKyAgICByZXR1cm4gbmVlZHNQb2x5UHJvdG9T
dHJ1Y3R1cmUodm0pIHx8ICEhcG9seVByb3RvU3RydWN0dXJlKHZtKTsKK30KKworYm9vbCBTdHJ1
Y3R1cmVSYXJlRGF0YTo6bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkKK3sKKyAgICByZXR1cm4g
IWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworfQorCitJbmZlcnJl
ZFZhbHVlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYg
dm0pCit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVBy
b3RvU3RydWN0dXJlKTsKKyAgICBJbmZlcnJlZFZhbHVlKiByZXN1bHQgPSBJbmZlcnJlZFZhbHVl
OjpjcmVhdGUodm0pOworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lk
IFN0cnVjdHVyZVJhcmVEYXRhOjpzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0g
TWV0aG9kcyBmb3IgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50
IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQ6Ok9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1
Y3R1cmVSYXJlRGF0YSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsK
IGNsYXNzIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNz
IE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMs
MjIgQEAgcHVibGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1l
RW51bWVyYXRvcihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2Ug
YXJlIGEgdGhlIHN0cnVjdHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3
aGF0IG91ciBmdW5jdGlvbiBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVj
dHVyZSBpcyB1cy4KKyAgICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBT
dHJ1Y3R1cmUgb2YgYW4gb2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVs
ZAorICAgIC8vIG9mIGEgY29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQs
IHdlIHdhbnQgdG8gaW5mZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAg
IC8vIElmIHdlIGRvLCB0aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhCisgICAgLy8gSlNGdW5j
dGlvbi4gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIGZpZWxk
IGVpdGhlciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZQorICAgIC8vIHRoYXQgaXMgaW52YWxp
ZGF0ZWQuIElmIHdlIGV2ZXIgY29uc3RydWN0IGFuIG9iamVjdCB3aG8ncyBfX3Byb3RvX18gcG9p
bnRzIHRvIHRoaXMgcHJvdG90eXBlLCB0aGVuCisgICAgLy8gd2UgbW92ZSBtX2luZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSB0byB0aGUgU3RydWN0dXJlIG9mIHRoZSBvYmpl
Y3QgdGhhdCBzaG91bGQgYmUgY3JlYXRlZAorICAgIC8vIHRoYXQgaGFzIHBvbHkgcHJvdG8uCisg
ICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIEpT
VmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgYm9v
bCBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYpOworICAgIGJvb2wgbmVlZHNJbmZlcnJlZENv
bnN0cnVjdG9yKCk7CisgICAgdm9pZCBzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICBTdHJ1Y3R1cmUqIHBvbHlQcm90b1N0cnVjdHVyZShWTSYpOyAvLyBNYXkgYmUg
bnVsbHB0ciBpZiBub3QgcG9seSBwcm90byBvciBwb2x5IHByb3RvIHN0cnVjdHVyZSBoYXMgeWV0
IHRvIGJlIGluc3RhbnRpYXRlZC4KKyAgICBib29sIGlzUG9seVByb3RvKFZNJik7CisKICAgICBE
RUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArOTMsNyBAQCBwcml2YXRl
OgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJy
aWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwor
ICAgIFdyaXRlQmFycmllcjxVbmtub3duPiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJl
ZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0
Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBt
X3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0
NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUg
PSBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5n
VmFsdWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsg
fQogICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9
CisgICAgYm9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAg
ICAgYm9vbCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAg
ICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9v
bCBpc0dldHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2Fj
aGUuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XcmFwcGVyQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBKCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdy
YXBwZXJDbGFzcz4gaW5saW5lIEpTQzo6SlNPYmplY3QqIGdldERPTVByb3RvdHlwZShKU0M6OlZN
JiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKKyAgICAvLyBPT1BTOiBs
b29rIGludG8gdGhpcwogICAgIHJldHVybiBKU0M6OmpzQ2FzdDxKU0M6OkpTT2JqZWN0Kj4oYXNP
YmplY3QoZ2V0RE9NU3RydWN0dXJlPFdyYXBwZXJDbGFzcz4odm0sIGdsb2JhbE9iamVjdCktPnN0
b3JlZFByb3RvdHlwZSgpKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321559</attachid>
            <date>2017-09-22 10:37:07 -0700</date>
            <delta_ts>2017-09-22 13:44:18 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>143989</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCShyZXZpc2lv
biAyMjIzMjkpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
d29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0cyA9IFsKICAgICBuZXcg
VGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwogCi10ZXN0cy5mb3JFYWNo
KGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7Ci0gICAgICAg
IHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3Ry
dWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAgICBpZiAodGVzdC52YWx1
ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3Vs
dDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdGVzdHMuZm9yRWFjaChm
dW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKKyAgICAg
ICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAg
ICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7Ci0gICAgICAgICAgICB0
aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0KSB7CisgICAgICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsKKyAgICAg
ICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiArMjI3LDcgQEAgYnl0ZWNvZGUvTGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQ
cm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVj
b2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCkBA
IC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29k
ZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcAog
Ynl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9QdXRC
eUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4MDFFMDM1NTlDMDA1QkVFRDggLyog
QjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyMzNDMkIxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MkNCMzRBMUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTQ1NzVD
RDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY0NjU2QTFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY1QzIxNzFF
NUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjVDMjE1MUU1
RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NkRBQTJC
MUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVl
Qml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0
aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVE1hdGhJQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFDNEVFRDVDMDBEMTNBRjMgLyogUENU
b0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJD
QjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0No
YWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NUYwOTlDMUUwMzYwMDUwMEJC
RTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGlsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9j
YXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgcGF0
aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzczNDQsOCBAQAogCQkJCTE0QUQ5MTBB
MURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmggKi8sCiAJCQkJMEZEM0U0MDcx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQw
ODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uaCAqLywKKwkJCQk3OTQ1NzVD
QzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTc5
NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovLAogCQkJ
CTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuY3BwICovLAogCQkJCTBG
MTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuaCAqLywKIAkJCQkwRjkzMzI5
OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAgKi8sCkBAIC04NTI5LDYgKzg1
MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAvKiBJbnRsQ29sbGF0b3JQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0RTBDREIwMEZDMTAyOSAvKiBJ
bnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q2RTFC
NERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVG
b3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFDNjAw
RDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFBy
b3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJP
UAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2
bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3lt
Ym9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJv
dG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBT
eW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjAyLDYgKzIwMiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AK
ICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1w
bDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNk
ZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVU
b1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsK
QEAgLTIyNiw2ICsyMjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZh
dGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlM
VElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAg
ICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJ
TklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpAQCAtMjM0LDYgKzIzNiw4IEBAIHB1
YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAg
ICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQo
bV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVi
bGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmlt
cGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0
IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsK
QEAgLTI0Niw2ICsyNTAsNyBAQCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NF
U1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVO
YW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAog
cHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU0LDYgKzI1
OSw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
V0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJz
Y29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRp
bk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAg
ICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5oIgog
I2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVy
bmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fc3Ry
dWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRp
b25TZXQgPSBjb25kaXRpb25TZXQ7CkBAIC0xNTEsNiArMTU0LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAg
ICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIzMCw2ICsy
MzYsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgCiAgICAgZWxz
ZSBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9
ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7CiAKKyAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludChjb21tYSwg
InByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKwog
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0
eSgpKQpAQCAtMjQzLDYgKzI1MiwxMCBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYg
dm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0
cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKFN0cnVjdHVy
ZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpKSB7CisgICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICsyODYs
OSBAQCBib29sIEFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1f
c3RydWN0dXJlKQogICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZp
c2l0b3IpOwogCisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY2hhaW4oKSkKKyAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlv
bjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5w
cmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICszODgsNjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQ
cm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAg
ICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1
YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBK
U0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAg
ICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5
Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmICht
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy9k
YXRhTG9nTG4oIkdlbmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAgLy9q
aXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAgICAg
IEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAg
IGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKS5z
aXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRF
bmQgPSBpICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOworICAg
ICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVuZCkg
eworICAgICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVs
YXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gT09QUzogSSBkb24ndCB0aGluayB0aGlzIGlzIG5lZWRlZCBpZiB3ZSB0cmFu
c2l0aW9uIG9uIHNldHRpbmcgdGhlIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwg
YmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBy
b3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNl
dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZz
ZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nl
c3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQo
Q0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tNjQoVmFsdWVOdWxsKSkpOyAvLyBPT1BTOiB0aGlzIGlzbid0IG5lZWRlZCBpZiB3ZSBz
dGlsbCB0cmFuc2l0aW9uIG9uIHNldHRpbmcgb3VyIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0
dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAg
ICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0
YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0
cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkp
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC00NjMsNiAr
NTE3LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAg
ICByZXR1cm47CiAKICAgICBjYXNlIE1pc3M6CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGpp
dC5tb3ZlVHJ1c3RlZFZhbHVlKGpzVW5kZWZpbmVkKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0
YXRlLnN1Y2NlZWQoKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNTA0LDEzICs1NTksMTcgQEAgdm9p
ZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZv
ckdldEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0g
ICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQu
bW92ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJu
YXRlQmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJh
c2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzY3JhdGNoR1BSOyAvLyB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQhIE9PUFM6IHRoaXMg
aXMgdWdseS4KKyAgICAgICAgICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGxvYWQh
XG4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQu
aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNo
R1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0g
SW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAm
JiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVl
U2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtNTY5LDYgKzYy
OCw5IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCisgICAgICAgIC8vaWYgKG1fdHlwZSA9PSBHZXR0ZXIgJiYgbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbi5tX2hhc1BvbHlQcm90bykKKyAgICAgICAgLy8gICAgaml0LnBy
aW50KCJEb2luZyBnZXR0ZXIgY2FsbCBmb3IgcG9seSBwcm90b1xuIik7CisKICAgICAgICAgLy8g
U3R1ZmYgZm9yIGN1c3RvbSBnZXR0ZXJzL3NldHRlcnMuCiAgICAgICAgIENDYWxsSGVscGVyczo6
Q2FsbCBvcGVyYXRpb25DYWxsOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgog
I2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYs
OCArMTg3LDEwIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAg
IGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBwcm90b3R5cGVBY2Nlc3NDaGFpbigpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47IH0KKwogcHJvdGVjdGVkOgotICAgIEFj
Y2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwg
U3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKKyAgICBBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKICAgICBBY2Nlc3NDYXNlKGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0
IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUg
PSBQcmltb3JkaWFsOyB9CkBAIC0yMjcsNiArMjMwLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gbV9wcm90
b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3Mudmlh
UHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0
YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy5wcm90b3R5cGVBY2Nlc3NDaGFp
bigpLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1
cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRl
ckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwg
YWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFk
ZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vz
c0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNlLnNl
dE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6
b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDcgKzYzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFz
ZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQo
bmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJh
c2UsIHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgcmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9
IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3IuZ2V0dGVyID0gY3Vz
dG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CkBAIC03NCw3ICs3NCw4IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAg
c3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSkpOworICAgIC8vIE9PUFM6
IGRvIHNvbWV0aGluZyBoZXJlCisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21T
bG90QmFzZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21B
Y2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDksMTEgKzQ5LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAg
ICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9
IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0g
ICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxv
cHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIs
CisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIFByb3RvdHlwZUFjY2Vz
c0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwK
QEAgLTY3LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29u
c3QgeyByZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKICAg
ICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIy
MzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2
YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
OjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1
Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0
cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkp
OworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3Jw
aGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHBy
b3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3Ry
dWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1
ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCituYW1l
c3BhY2UgSlNDIHsKKwordm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rp
b24qIGNvbnN0cnVjdG9yKQoreworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VS
VCghbV9zdHJ1Y3R1cmUpOworICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBi
b29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAg
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKTsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlICYmIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKSkgewor
ICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcHJvdG90eXBlLT5zdHJ1Y3R1
cmUodm0pLT5yYXJlRGF0YSgpLT5wb2x5UHJvdG9TdHJ1Y3R1cmUodm0pKSB7CisgICAgICAgICAg
ICAgICAgLy9kYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAg
ICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJhbHJlYWR5IGhhdmUgcG9seSBwcm90byBzdHJ1Y3R1
cmUgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJs
ZSgpKSk7CisgICAgICAgICAgICAgICAgLy9kYXRhTG9nTG4oY29uc3RydWN0b3ItPmpzRXhlY3V0
YWJsZSgpLT5zb3VyY2UoKS52aWV3KCkpOworICAgICAgICAgICAgICAgIC8vc3RydWN0dXJlLT5k
dW1wKFdURjo6ZGF0YUZpbGUoKSk7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmlu
YWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAg
ICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2Fw
YWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBPT1BTOiBQcm9iYWJseSBjYWxsIGludG8g
YSBkaWZmZXJlbnQgcHJvdG90eXBlTWFwIGZ1bmN0aW9uIGhlcmUgdGhhdCBtYWtlcyBwb2x5IHBy
b3RvLCB0aGF0IHdheSwKKyAgICAgICAgLy8gbm8gb25lIGVsc2UgY2FuIGFjY2lkZW50YWxseSBn
ZXQgYSBwb2x5IHByb3RvIHN0cnVjdHVyZS4KKyAgICAgICAgU3RydWN0dXJlUmFyZURhdGEqIHJh
cmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSk7Cisg
ICAgICAgIGlmIChyYXJlRGF0YS0+bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkpCisgICAgICAg
ICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisKKyAgICAgICAg
aWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PElu
ZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSgpKSkgeworICAgICAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5
V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBpbmZl
cnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSAmJiBleGVjdXRhYmxlLT5tX2Nv
bnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZTsKKyAgICAgICAgfQorICAgICAgICAvL2lm
IChpc1BvbHlQcm90bykgeworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0t
LS0tLS0tLSIpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIkdvaW5nIHBvbHkgcHJvdG8gZm9y
IGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpKSk7
CisgICAgICAgIC8vICAgIGRhdGFMb2dMbihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCktPnNv
dXJjZSgpLnZpZXcoKSk7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbigiV2hpY2ggaGFzIGV4ZWN1
dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpKSk7CisgICAg
ICAgIC8vfQorCisgICAgICAgIGV4ZWN1dGFibGUtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlLnNldCh2bSwgZXhlY3V0YWJsZSwgcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pKTsK
KyAgICAgICAgLy8gT09QUzogd2Uga25vdyBoZXJlIGlmIHdlJ3JlIGRvaW5nIHNvbWV0aGluZyB0
aGF0J3MgcG9seSBwcm90by4gV2Ugc2hvdWxkIHByb2JhYmx5IGNvbnZleSB0aGF0CisgICAgICAg
IC8vIGluZm9ybWF0aW9uIGhlcmUgYW5kIGFsc28gY29udmV5IGlmIHdlIGtub3cgdGhhdCB3ZSd2
ZSByZXNlcnZlZCBhbiBpbmxpbmUgc3BhY2UgZm9yIHRoZSBwcm90by4KKyAgICB9CisKKyAgICB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAv
LyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgorICAg
ICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291
bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5
KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2Vs
eSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAgICAgICAgICAvLyBzZWUgdGhl
IHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBm
dW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgp
KSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywg
c28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAgICAgICAgICAgIC8vIG9iamVj
dCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9CisK
KyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAg
ICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0Lgor
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAg
IGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkp
CisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgIC8vIE9P
UFM6IGxldHMgY29tbXVuaWNhdGUgdGhpcyB0byBzdHJ1Y3R1cmUgY3JlYXRlLiBJdCdzIGp1c3Qg
YXNzZXJ0aW5nIGl0IGdldHMgYW4gaW5saW5lIHNsb3QuCisgICAgICAgICsraW5saW5lQ2FwYWNp
dHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4oaW5saW5lQ2FwYWNpdHksIEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0KKworICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFs
T2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6
ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKKyAgICBN
YXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxs
b2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNh
cGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KKyAgICBpZiAoYWxsb2NhdG9yKSB7
CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRp
b25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOworICAgICAgICBpbmxpbmVD
YXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBK
U0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIC8vIE9PUFM6
IG5lZWQgdG8gbWFrZSB0aGlzIEFQSSBtb3JlIGNsZWFyLgorICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgaXNQb2x5UHJvdG8pOworCisg
ICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBp
dCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2Uo
KTsKKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIG1fc3RydWN0dXJlLnNldCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFj
aXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7CisgICAgaWYg
KHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUo
KSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAgIFByb3Bl
cnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3Ry
aW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBwcm90b3R5
cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVy
dHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheURh
dGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1l
QXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBKU1ZhbHVl
IHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7
CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFz
cy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBpZiAoanNE
eW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit9
IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
YmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpCi0gICAg
ewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cnVj
dHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAg
ICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lz
LgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQ
cm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWluZmVycmVk
SW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSBy
YXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Ci0gICAg
ICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNh
biBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsK
LSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxP
YmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGVm
YXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8g
dHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmpl
Y3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBB
U1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmpl
Y3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7
Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90IGFsbG9j
YXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkp
OwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxv
Y2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFrZSBhZHZh
bnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFz
cy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNsb3AgPSAo
YWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFy
cmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwotICAg
ICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIC8v
IEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2ls
bCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgp
OwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0g
aW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVj
dG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAt
MTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKIAotICAgIHVuc2lnbmVkIHBvc3Np
YmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQotICAg
IHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5v
YmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgIHNpemVf
dCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5
KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xN
b2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVy
dHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1v
ZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9y
JiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5
TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFt
ZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3Rv
dHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0gICAgICAgICAg
ICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9i
amVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAgICAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjb3Vu
dDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYg
dm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2VkQWxsb2NhdG9yKiBtX2FsbG9j
YXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFzaWVyIGZvciBnZW5lcmF0ZWQg
Y29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA0LDExICsyMDQsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24gZ2Vu
ZXJhdGVDb25kaXRpbwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNv
bmRpdGlvbjo6QWJzZW5jZTogeworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsK
ICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2UoCiAgICAg
ICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBy
b3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlT2ZTZXRFZmZlY3Q6IHsKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uOjphYnNlbmNlT2ZTZXRFZmZlY3QoCiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwg
dWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtMjU4LDYgKzI2MiwxMSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCBnZW5lcmF0ZUNvbmRpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSXQncyBhIHByb3h5LCBz
byBpbnZhbGlkLlxuIik7CiAgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQ6OmludmFsaWQoKTsKICAgICAgICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gT09QUzogV2UgbmVlZCBzb21l
IHN0b3J5IGhlcmUgb2YgYW4gaW50ZXJsZWF2aW5nLgorICAgICAgICAgICAgcmV0dXJuIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjpp
c1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHBy
b2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFu
eXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAg
ICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0g
c3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9m
ZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRp
b25JbnRlcm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNv
bmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFs
aWQgYmVjYXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25z
ZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3
ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBp
bnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNp
Z25lZCBjdXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9m
ZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRl
cyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitQcm90
b3R5cGVBY2Nlc3NDaGFpbjo6UHJvdG90eXBlQWNjZXNzQ2hhaW4oSlNPYmplY3QqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICAvLyBPT1BTOiBjb25zaWRlciBET00gcHJv
eHkgaGVyZS4gQWxzbywgcHJveHkgaW4gdGhlIHByb3RvdHlwZSBjaGFpbj8KKworICAgIEpTT2Jq
ZWN0KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpT
T2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNl
KCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAgICAgICAgICBtX2lzVmFsaWQg
PSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5o
YXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpIHsKKyAgICAgICAgICAgICAgICBtX2lzVmFsaWQgPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGN1cnJlbnQpOwor
ICAgICAgICB9CisKKyAgICAgICAgbV9jaGFpbi5hcHBlbmQoc3RydWN0dXJlKTsKKworICAgICAg
ICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBv
bHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAg
Ly8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkg
cG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEg
Y2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgor
ICAgICAgICBtX3VzZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZShjdXJyZW50KTsgLy8gbWF5YmUgcHJvdG90eXBlIGZvciBsb29rdXAgaGVyZT8KKyAgICAg
ICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
dXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYm
ICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxkIHRoaXMgYWN0dWFsbHkgY29tZSB1
cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVlZCB0byBjb25zaWRlci4gSSB0aGlu
ayBpdCBkb2VzIHNpbmNlIGJ1aWxkaW5nIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0CisgICAg
ICAgIC8vIHNlZW1zIHRvIGFzc3VtZSB0aGlzIGlzIHBvc3NpYmxlLgorICAgICAgICBtX2lzVmFs
aWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlByb3RvdHlwZUFjY2Vz
c0NoYWluIik7CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAgICAgb3V0LnByaW50KCIgaXMg
aW52YWxpZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh1c2VzUG9seVByb3Rv
KCkpCisgICAgICAgIG91dC5wcmludCgiIHVzZXNQb2x5UHJvdG8iKTsKKyAgICBvdXQucHJpbnQo
IjogWyIpOworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAg
ICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgIH0KKyAgICBvdXQucHJpbnQoIl0iKTsKK30K
KworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vz
c0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpT
QyB7CisKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90OworY2xhc3MgU3RydWN0
dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQoUHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oY29uc3Qg
UHJvdG90eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBlQWNjZXNzQ2hh
aW4oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vz
c0NoYWluKEpTT2JqZWN0KiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmKTsKKyAgICBQcm90b3R5
cGVBY2Nlc3NDaGFpbiYgb3BlcmF0b3I9KFByb3RvdHlwZUFjY2Vzc0NoYWluJiYpID0gZGVmYXVs
dDsKKworICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQorCisg
ICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QgeyByZXR1cm4gbV91c2VzUG9seVByb3RvOyB9
CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4g
bV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisg
ICAgdm9pZCBjbGVhckNoYWluKCkgeyBtX2NoYWluLmNsZWFyKCk7IH0KKworcHJpdmF0ZToKKyAg
ICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdzIHN0cnVjdHVy
ZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSByZW1vdmVkLgorICAgIGJvb2wg
bV91c2VzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNWYWxpZCB7IHRydWUgfTsK
K307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVB
Y2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQ
cm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCisgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAsIG1f
YWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90
eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUg
PT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0s
IG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwg
YWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2Uo
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlh
YmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywx
MyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2Ug
OiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJh
c2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQu
Z2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRl
KFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0
cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVy
ZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogCiBwcml2
YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzczMyw2ICszNzMzLDggQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAg
ICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0
KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAv
LyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5
aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0
IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhv
dyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8v
IE9PUFM6IHRoaXMgbmVlZHMgYXR0ZW50aW9uCiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHBy
b3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNpemUo
KTsgKytpKSB7CkBAIC00MzA4LDYgKzQzMTAsOCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIG9wX2NyZWF0ZV90aGlz
OiB7CisgICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdoIHRoaXMgY29kZS4KKwogICAg
ICAgICAgICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kOwogICAgICAgICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjYWxs
ZWVPcGVyYW5kKSk7CiAKQEAgLTQzMzAsMTIgKzQzMzQsMTQgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJh
cmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQp
LCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUo
c3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUo
cmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2lu
dHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxp
dmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dy
YXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg2LDcgKzE3ODYsOCBAQCBib29s
IEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUq
IGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4u
c2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAg
ICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3Ry
dWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlv
bmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnBy
b3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAg
ICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTMgQEAgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpT
RnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlv
bio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURh
dGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09i
amVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAg
ICAvL2RhdGFMb2dMbigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwg
UmF3UG9pbnRlcihqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+anNFeGVjdXRhYmxl
KCkpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAg
ICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDM2MCw2ICs0MzYwLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICAvLyB0aGVuIHdlIHNwZWN1bGF0ZSBiZWNhdXNlIHdlIHdhbnQgdG8gZ2V0IHJl
Y29tcGlsZWQgaWYgaXQgaXNuJ3QgKHNpbmNlCiAgICAgICAgIC8vIG90aGVyd2lzZSB3ZSdkIHN0
YXJ0IHRha2luZyBzbG93IHBhdGggYSBsb3QpLgogICAgICAgICAKKyAgICAgICAgLy8gT09QUzog
d2Ugc2hvdWxkIGdvIHNsb3cgcGF0aCBoZXJlIGZvciBwb2x5IHByb3RvIHN0cnVjdHVyZS4KKyAg
ICAgICAgCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNhbGxlZSh0aGlzLCBub2RlLT5j
aGlsZDEoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhpcyk7CiAgICAgICAgIEdQ
UlRlbXBvcmFyeSBhbGxvY2F0b3IodGhpcyk7CkBAIC00Mzg0LDcgKzQzODYsMTMgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBzbG93UGF0aC5hcHBl
bmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgcmFyZURhdGFHUFIp
KTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQ
UiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mQWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JH
UFIpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRh
R1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkg
KyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVy
ZUdQUik7CisKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFj
cm9Bc3NlbWJsZXI6Olplcm8sIGFsbG9jYXRvckdQUikpOworCisgICAgICAgIC8vIE9PUFM6IHdl
IGNhbiBkbyBhIGxvdCBiZXR0ZXIgaGVyZQorICAgICAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGls
ZXI6OkFkZHJlc3Moc3RydWN0dXJlR1BSLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwg
c2NyYXRjaEdQUik7CisgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hJZkludDMy
KEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIpKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmpl
Y3QocmVzdWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3Rl
ZEltbVB0cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9q
aXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9m
ZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBH
UFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVn
KQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSos
IEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcs
IEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNr
IHRoYXQgcHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5
cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJl
ZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5i
cmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJ
bW0zMihQcm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9q
aXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0
LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAg
bV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gz
UmVnLCBzY3JhdGNoMlJlZyk7CisgICAgLy9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5
bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNj
cmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50
MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdyb25n
IGlmIHdlIGFsbG93IG91dCBvZiBsaW5lIG9mZnNldHMgZm9yIHBvbHkgcHJvdG8uCisgICAgbV9q
aXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRjaDNSZWcsIHNjcmF0Y2gzUmVnKTsKKyAgICBtX2pp
dC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywg
SklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2Uo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBub3RQb2x5UHJvdG8ubGluaygmbV9qaXQpOworICAgIG1f
aml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworCiAgICAgTWFjcm9Bc3NlbWJsZXI6
Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6RXF1YWws
IHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBtX2pp
dC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykpLmxpbmtUbyhsb29wLCAmbV9q
aXQpOwpAQCAtMzM4MSwxMCArMzM4OSwxMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
SW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHByb3RvdHlwZSh0aGlz
LCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwog
ICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgICAgIEdQUlRlbXBvcmFy
eSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIEdQUlJlZyBwcm90b3R5cGVSZWcg
PSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAg
ICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgICAgICAKICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNDZWxsID0gbV9qaXQuYnJhbmNoSWZDZWxsKHZhbHVl
LmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5qc1ZhbHVl
UmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMzOTQsNyArMzQwNCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgCiAgICAgICAgIGlzQ2VsbC5saW5r
KCZtX2ppdCk7CiAgICAgICAgIAotICAgICAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChu
b2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Cisg
ICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5
cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAgICAgICAgIAog
ICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIApAQCAtMzQwNywxMyArMzQxNywxNSBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgCiAgICAgR1BSVGVtcG9y
YXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAKICAgICBHUFJSZWcgdmFsdWVSZWcg
PSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigp
OwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICBHUFJSZWcgc2Ny
YXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3Jh
dGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2
YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgY29t
cGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2Ny
YXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKIAogICAgIGJsZXNzZWRCb29sZWFu
UmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBA
IC03NTksNyArNzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm9uU3BlY3VsYXRpdmVOb25QZWVw
aG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICBib29sIG5vblNw
ZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIAotICAg
IHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywg
R1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBz
Y3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwg
R1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJl
c3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpOwogICAgIHZv
aWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZD
dXN0b20oTm9kZSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4ODUsMTAgKzg4
ODUsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIExCYXNpY0Jsb2NrIGlzQ2VsbENh
c2UgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBsb29wID0gbV9vdXQu
bmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlwZUJpdHMgPSBtX291
dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUG9seVByb3RvID0gbV9vdXQu
bmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29tcGFyZVByb3RvdHlwZSA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdFlldEluc3RhbmNlID0gbV9vdXQu
bmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3
QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlwZURpcmVjdCA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cg
PSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBt
X291dC5uZXdCbG9jaygpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIGNvbmRpdGlvbjsKICAg
ICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpCkBAIC04
OTA2LDE2ICs4OTA4LDI4IEBAIHByaXZhdGU6CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG9yaWdp
bmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2VsbCk7CiAgICAgICAgIG1fb3V0Lmp1bXAobG9vcCk7
CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlRGly
ZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZUJpdHMpOwog
ICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291dC5waGkoSW50NjQsIG9yaWdpbmFsVmFsdWUpOwog
ICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0LmxvYWQ4WmVyb0V4dDMyKHZhbHVlLCBtX2hlYXBz
LkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAg
ICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291dC5jb25zdEludDMyKFByb3h5T2JqZWN0VHlwZSkp
LAotICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlRGlyZWN0KSwgcmFyZWx5KGRlZmF1
bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZUJp
dHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwogCi0gICAgICAgIG1fb3V0LmFw
cGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3QsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgbV9v
dXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJpdHMsIGxvYWRQb2x5UHJvdG8pOwogICAgICAgICBM
VmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVjdHVyZSh2YWx1ZSk7Ci0gICAgICAgIExWYWx1ZSBj
dXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1
cmVfcHJvdG90eXBlKTsKKworICAgICAgICBMVmFsdWUgcHJvdG90eXBlQml0cyA9IG1fb3V0Lmxv
YWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7CisgICAgICAgIFZh
bHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBlID0gbV9vdXQuYW5jaG9yKHByb3RvdHlwZUJpdHMp
OworICAgICAgICBtX291dC5icmFuY2goaXNJbnQzMihwcm90b3R5cGVCaXRzKSwgdW5zdXJlKGxv
YWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFyZVByb3RvdHlwZSkpOworCisgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNvbXBhcmVQcm90b3R5cGUpOworICAgICAgICBMVmFs
dWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJvdG90eXBlQml0cywgbV9vdXQuY29uc3RJbnQ2NChV
SU5UX01BWCkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBwb2x5UHJvdG8gPSBtX291dC5hbmNo
b3IoCisgICAgICAgICAgICBtX291dC5sb2FkNjQobV9vdXQuYmFzZUluZGV4KG1faGVhcHMucHJv
cGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1ZSwgaW5kZXgsIFNjYWxlRWlnaHQsIEpTT2JqZWN0
OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkpKTsKKyAgICAgICAgbV9vdXQuanVtcChjb21wYXJl
UHJvdG90eXBlKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhjb21wYXJlUHJvdG90eXBlLCBu
b3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQu
cGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwgcG9seVByb3RvKTsKICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuVHJ1ZSk7
CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0LmVxdWFsKGN1cnJlbnRQ
cm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMgQEAgdm9p
ZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUg
cHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJl
Z1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBp
ZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAg
ICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0gICAgbG9h
ZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUMik7
CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMpOworICAg
IGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVn
VDQpOworICAgIGF1dG8gaGFzU3RvcmVkUHJvdG90eXBlID0gYnJhbmNoSWZOb3RJbnQzMihKU1Zh
bHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7Cisg
ICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0Ojpv
ZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBoYXNTdG9yZWRQcm90b3R5cGUu
bGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNl
ID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwo
cmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApAQCAtNzcwLDYgKzc3NSw4IEBAIHZvaWQgSklU
OjplbWl0X29wX2NyZWF0ZV90aGlzKEluc3RydWN0aW8KICAgICBSZWdpc3RlcklEIGNhY2hlZEZ1
bmN0aW9uUmVnID0gcmVnVDQ7CiAgICAgUmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDM7CiAK
KyAgICAvLyBPT1BTOiB0aGlzIGlzIHdyb25nIHcvIHBvbHkgcHJvdG8hCisKICAgICBlbWl0R2V0
VmlydHVhbFJlZ2lzdGVyKGNhbGxlZSwgY2FsbGVlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFu
Y2g4KE5vdEVxdWFsLCBBZGRyZXNzKGNhbGxlZVJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZz
ZXQoKSksIFRydXN0ZWRJbW0zMihKU0Z1bmN0aW9uVHlwZSkpKTsKICAgICBsb2FkUHRyKEFkZHJl
c3MoY2FsbGVlUmVnLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YVJl
Zyk7CkBAIC03NzgsNiArNzg1LDEwIEBAIHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKElu
c3RydWN0aW8KICAgICBsb2FkUHRyKEFkZHJlc3MocmFyZURhdGFSZWcsIEZ1bmN0aW9uUmFyZURh
dGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlUmVnKTsKICAgICBhZGRTbG93
Q2FzZShicmFuY2hUZXN0UHRyKFplcm8sIGFsbG9jYXRvclJlZykpOwogCisgICAgLy8gT09QUywg
d2UgY2FuIGRvIGJldHRlciBoZXJlIQorICAgIGxvYWQ2NChBZGRyZXNzKHN0cnVjdHVyZVJlZywg
U3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2hSZWcpOworICAgIGFkZFNsb3dD
YXNlKGJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykpKTsKKwogICAgIGxvYWRQ
dHIoY2FjaGVkRnVuY3Rpb24sIGNhY2hlZEZ1bmN0aW9uUmVnKTsKICAgICBKdW1wIGhhc1NlZW5N
dWx0aXBsZUNhbGxlZXMgPSBicmFuY2hQdHIoRXF1YWwsIGNhY2hlZEZ1bmN0aW9uUmVnLCBUcnVz
dGVkSW1tUHRyKEpTQ2VsbDo6c2Vlbk11bHRpcGxlQ2FsbGVlT2JqZWN0cygpKSk7CiAgICAgYWRk
U2xvd0Nhc2UoYnJhbmNoUHRyKE5vdEVxdWFsLCBjYWxsZWVSZWcsIGNhY2hlZEZ1bmN0aW9uUmVn
KSk7CkBAIC04MDAsNiArODExLDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2NyZWF0ZV90aGlz
KEluc3RydQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gZG9lc24ndCBoYXZlIGFuIGFsbG9j
YXRpb24gcHJvZmlsZQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWls
ZWQgKG5vIGFsbG9jYXRvcikKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24g
ZmFpbGVkIChhbGxvY2F0b3IgZW1wdHkpCisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxv
Y2F0aW9uIGZhaWxlZCwgc3RydWN0dXJlIGhhcyBwb2x5IHByb3RvCiAgICAgbGlua1Nsb3dDYXNl
KGl0ZXIpOyAvLyBjYWNoZWQgZnVuY3Rpb24gZGlkbid0IG1hdGNoCiAKICAgICBKSVRTbG93UGF0
aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2Ny
ZWF0ZV90aGlzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIFBy
b3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3Qu
Y2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8IHNsb3Quc2xv
dEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDQwIEBAIHN0YXRpYyBJbmxp
bmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlv
bmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgJiYg
c3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVy
dHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAg
ICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgp
KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0g
Z2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAot
ICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgIGlm
IChKU09iamVjdCogYmFzZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgYmFzZUNlbGwp
KSB7CisgICAgICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGVhY2ggUHJvdG90eXBlQWNjZXNz
Q2hhaW4gYWJvdXQgbm9uIG9iamVjdAorICAgICAgICAgICAgICAgIC8vIGJhc2VzLiBBZGQgdGVz
dHMgaGVyZS4KKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluKGJhc2UsIHNsb3QpOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBl
QWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgICAgICBwcm90b3R5
cGVBY2Nlc3NDaGFpbi5jbGVhckNoYWluKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGlm
ICghcHJvdG90eXBlQWNjZXNzQ2hhaW4uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAgICAgLy8g
T09QUzogVGhpcyBvYnZpb3VzbHkgaXMgbm90IGNvcnJlY3QuCiAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9IAorCisgICAgICAgICAgICBpZiAoIXBy
b3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgICAgIGlm
IChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBn
ZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RC
YXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgfQorCiAKLSAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxp
ZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAg
ICAgICAgICAgLy8gT09QUzogYXJlIHRoZXNlIGV4cHJlc3Npb24gZXF1aXZhbGVudD8KKyAgICAg
ICAgICAgIC8vb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0
aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBvZmZzZXQg
PSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwog
ICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVsbHB0cjsKQEAgLTI5
OSw3ICszMTgsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAg
ICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8
IHNsb3QuaXNVbnNldCgpKSB7CiAgICAgICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFj
Y2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nh
c2U6Ok1pc3MgOiBBY2Nlc3NDYXNlOjpMb2FkLAotICAgICAgICAgICAgICAgICAgICBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNo
cG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBwcm90
b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c0NhY2hlYWJsZUdldHRlcigpKQpAQCAtMzE2LDcgKzMzNSw3IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwKICAgICAgICAgICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXND
YWNoZWFibGVDdXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAg
ICAgICAgICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkg
OiBudWxscHRyLAotICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAg
ICAgICAgICAgICBkb21BdHRyaWJ1dGUsIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzY2LDEwICs3NjYsOSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lk
CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9m
ZnNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0
cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0
QnlJZEZsYWdzICYgUHV0QnlJZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhl
Yyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0g
c3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFp
bik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBw
Y1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNp
b24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5
cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0
ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0g
c3RhdGUudm0oKTsKLSAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpT
VmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNT
dHJpbmcqIHNlcGFyYXRvciwgdWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0
YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAg
ICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg
ICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAg
ICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAg
ICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYz
NCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAg
ICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUp
KTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRv
QmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAg
aWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAg
ICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBo
b2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBp
ZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAg
ICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShk
YXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVj
dCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpA
QCAtODI2LDcgKzgyNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90
b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0Rv
dWJsZSgpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYm
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAg
IGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6
cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aGlzT2JqZWN0KTsKQEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVj
dC0+YnV0dGVyZmx5KCktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3Rv
cmFnZS52ZWN0b3JMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3Rv
cmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhp
c09iamVjdCkpCisgICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpy
ZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwpAQCAtMTE3NCw3ICsxMTczLDcgQEAgc3RhdGlj
IGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3Rv
cmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlB
cnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgc291cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291
cmNlLT50cnlHZXRJbmRleFF1aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRz
LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBDbG9u
ZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0gICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAgICBpZiAoVU5MSUtFTFkoYXNPYmplY3Qoc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKGFzT2JqZWN0KHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpKSkpIHsKICAgICAg
ICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBz
dHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJh
eVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rvckxlbmd0aDsKIApAQCAtODEs
NyArODEsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAg
Ly8gTkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFsIG9iamVjdCBv
ZiBvZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9mIHRoZSBjYWxs
ZWUuIFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3VsZC4KICAgICBD
bG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUsIGxlbmd0aCk7
Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSkt
PmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI1LDE0ICsx
MjUsMTQgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIH0g
fQogCiAgICAgQVNTRVJUKG15RnJhbWUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJn
dW1lbnRzU3RydWN0dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQo
IXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpj
cmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJn
ZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVz
dWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRy
LCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGlu
Z1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0
NSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0RGly
ZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFTU0VS
VCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAg
IEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1
bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5
cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyMzI5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0MiwxMSBAQCBTTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfY3JlYXRlX3RoaXMpCiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IHBjWzNdLnUu
b3BlcmFuZDsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25zdHJ1Y3Rvci0+cmFy
ZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5z
dHJ1Y3R1cmUoKTsKICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywg
c3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KSB7CisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJv
dG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0
IGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUo
KSkpOworICAgICAgICB9CisgICAgICAgIC8vZGF0YUxvZ0xuKCJjcmVhdGVfdGhpcyByZXN1bHQ6
ICIsIEpTVmFsdWUocmVzdWx0KSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2Vj
bWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9t
Y29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3Qt
PmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVu
Y3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29u
c3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+
bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1
dGFibGUqIEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25F
eGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOSBAQCBwdWJsaWM6CiAK
ICAgICBJbmZlcnJlZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xl
dG9uRnVuY3Rpb24uZ2V0KCk7IH0KIAorICAgIC8vIE9PUFM6IGFkZCBtZXRob2RzIGZvciB0aGlz
LgorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBl
U3RydWN0dXJlOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsK
ICAgICBGdW5jdGlvbkV4ZWN1dGFibGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFy
ZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25S
YXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFs
aXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNv
bnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFy
KiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0g
ICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
dm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlv
biogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5p
dGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsg
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5h
bEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5
NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVj
dHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewot
CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3Ry
dWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anND
YWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7
CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2Vy
ZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRG
dW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAg
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSogSlNB
cnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAg
ICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0o
KTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNv
dW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250
YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8g
dXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0
b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAog
ICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChp
bmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsxMDQ4
LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAv
LyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5n
cyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3Vn
aCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlT
dG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50Owot
ICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2
ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpTQXJy
YXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hl
Y2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0
IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0
aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAg
ICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlz
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAg
ICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBp
IDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29u
dGlndW91c0RvdWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KHYgIT0gdikpIHsKQEAgLTE0MzYsNyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRv
clByb3RvY29sRmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAg
IGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlu
bGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEsOCBAQCBpbmxp
bmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVk
IHByb3BlcnRpZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAg
Ly8gaW5zdGVhZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAg
ICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgb3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5j
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYg
KzEzNSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1Y3QKICAgICAv
LyBpc24ndCBhbnkgZ29vZCBwbGFjZSB0byBwdXQgdGhlIHN0cnVjdHVyZSBvbiBJbnRlcm5hbCBG
dW5jdGlvbnMuCiAgICAgaWYgKHRhcmdldEpTRnVuY3Rpb24pIHsKICAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSB0YXJnZXRKU0Z1bmN0aW9uLT5yYXJlRGF0YSh2bSktPmdldEJvdW5kRnVu
Y3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgLy8gT09QUzoKICAgICAgICAgaWYgKHN0cnVjdHVy
ZSAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IHByb3RvdHlwZSAmJiBzdHJ1Y3R1
cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBz
dHJ1Y3R1cmU7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
SlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3Nywx
MyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVs
c2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5m
bygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXND
ZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1Bv
aW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0
LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAg
ICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNv
bnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJD
ZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAo
IiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYg
VVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3Ry
dWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxs
KCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAg
ICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw3
ICsxMzUsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuCiAgICAg
aWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJh
cmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7
CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEg
REZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0
YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxv
Y2F0ZWQKQEAgLTE1Myw3ICsxNTMsNyBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjpp
bml0aWFsaXplCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2Jh
bE9iamVjdCh2bSk7CiAgICAgaWYgKCFwcm90b3R5cGUpCiAgICAgICAgIHByb3RvdHlwZSA9IGds
b2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlz
KTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYgKzM0MSwxOCBA
QCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJG
dW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAor
c3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVl
IHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBKU09iamVj
dCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1
ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJ1Y3R1cmVS
YXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVE
YXRhKHZtKTsKKyAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQor
ICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgaWYg
KEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVy
cmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSgpKSkKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0s
IGNvbnN0cnVjdG9yLCAiU2V0dGluZyAucHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9
CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3Qs
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
JiBzbG90KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC00NTIsNiArNDY0LDcgQEAg
Ym9vbCBKU0Z1bmN0aW9uOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjUwogICAgICAgICB0aGlzT2Jq
ZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVj
LCBwcm9wZXJ0eU5hbWUsIGdldFNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJl
RGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0
byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpbmZlckNvbnN0
cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgdmFsdWUsIHRoaXNPYmplY3QpOwogICAgICAgICBzY29w
ZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywg
cHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgfQpAQCAtNTE4LDYgKzUzMSw4IEBAIGJv
b2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICAgICAgdGhpc09iamVj
dC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywg
cHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEp
CiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJv
dG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0b3Iu
dmFsdWUoKSkKKyAgICAgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBk
ZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7
CiAgICAgICAgIHJldHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHBy
b3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwogICAgIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9u
CiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
ICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURp
cmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkg
QEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAo
IWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVTZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBp
ZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3Rv
dHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc3MCw3ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSog
CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0
KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNl
dChvZmZzZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0g
ICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAg
ICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lLCB0aGlzKSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUo
KSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAg
ICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUlu
aXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5H
VEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNT
RVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAg
IEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VS
VCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICBBU1NFUlQo
IWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0
aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1
Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1
dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0
dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwog
ICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsK
LSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFu
c2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiAgICAgbnVrZVN0cnVjdHVy
ZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAg
c2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0x
MjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVk
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2
bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAg
ICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0p
LT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29udGlndW91
c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQs
NyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAog
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZt
KQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcg
QEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3Jh
Z2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAg
IHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRD
b250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJh
bnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3Vv
dXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3Vz
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uo
dm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykp
OwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBK
U1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpT
T2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsK
ICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2Uo
KSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAg
ICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJ
bml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRp
Z3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGlu
ZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAg
ICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
dGhpcykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAg
IHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcg
KzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAg
CiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVY
SU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAo
VU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNW
YWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsK
ICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAg
ICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VS
VCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0
SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9J
TkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkp
OwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAg
ICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
IEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVs
dDoKQEAgLTE2MzYsNyArMTYzNiw3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dChWTSYgdm0KICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKICAgICBz
ZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1
cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBp
ZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3Nlcyh0aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVN
YXAuaXNQcm90b3R5cGUodGhpcykpIHsKQEAgLTE5NTEsNyArMTk1MSw4IEBAIEpTVmFsdWUgSlNP
YmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdo
YXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90
eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJl
KCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNo
YWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7
IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9i
amVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVy
bmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAg
aWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MjcsNyBAQCBib29sIEpT
T2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0
QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAg
ICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAs
IDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUg
dG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRl
QXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAx
KSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwg
c2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODc5LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGly
ZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KHRoaXMpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJh
eVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsK
ICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwog
ICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICsz
NTU5LDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3Qt
PnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5p
bmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjIz
MjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8o
KSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVh
cDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAg
ICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCkt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChn
ZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdv
cmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNT
RVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlubGluZSBK
U09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgp
LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShW
TSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwMCw4IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAg
ICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
Ly8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9lc24ndCBpdCBjYWxsIHRoZSBn
ZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlw
ZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3
ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAg
IGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90
eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9
PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAg
ICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAg
ICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVj
KTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1
MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAg
ICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFko
c3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1
bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNs
b3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUg
PSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBA
QCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAg
aWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUp
KSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNT
RVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2Vw
dFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkpOwogICAgICAgICBpZiAoIXRo
aXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2Nv
cGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3Jp
dGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCShy
ZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlu
bGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVuZ3RoCiAg
ICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkg
PT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51bWVyYXRv
ci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4
ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQzMl90IG51
bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDkgKzEzNiwxMSBAQCBpbmxpbmUg
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgbm9ybWFsaXplUHJvdG90eXBl
Q2hhaW4oZXhlYywgc3RydWN0dXJlKTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJT
dHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJh
dG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFp
bihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJv
cGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVu
Z3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKSB7CisgICAgICAgIGVudW1l
cmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3Bl
cnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIH0KICAgICByZXR1cm4gZW51
bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNw
cAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVj
dC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgp
KQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJv
dG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5k
Tm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNTZXRQcm90b3R5cGVB
ZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0
cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xh
enlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtODMs
NiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShjb25zdCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09QUy4gbWFr
ZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMuCiAgICAg
ICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJuIGdldChn
bG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMgKzEwMiw2
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgp
OwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJl
bnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVj
dCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJu
IG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsx
NDMsMTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZQogICAgIHdo
aWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAg
IHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBk
ZWZpbml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JM
b29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE3ICs1NCwz
OCBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0CiAgICAgLy8gdXNl
ZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpj
cmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyog
Y2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBv
bHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CisgICAgLy8g
T09QUzogbWFrZSBzdXJlIHRoaXMgaXNuJ3QgY2FsbGVkIHcvIHByb3RvdHlwZT1udWxscHRyIGZv
ciB2YWxpZCByZWFzb25zLgorICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5
UHJvdG9TdHJ1Y3R1cmUgPyBudWxscHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xh
c3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1f
c3RydWN0dXJlcy5nZXQoa2V5KSkgeworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVy
ZSkgeworICAgICAgICAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAg
ICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CisKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZt
KCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGlu
Z1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxw
dHI7CisKKyAgICAvLyBPT1BTOiBmaWd1cmUgb3V0IHdoYXQgdG8gZG8gaGVyZS4gVGhpcyBmZWVs
cyBsaWtlIHRoZSB3cm9uZyBwbGFjZSB0byBkbyB0aGlzLgorICAgIGlmIChtYWtlUG9seVByb3Rv
U3RydWN0dXJlKSB7CisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3Rv
dHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKTsKKyAgICAgICAgQVNTRVJUKHJhcmVEYXRh
LT5uZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkpOworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgICAgICByYXJlRGF0YS0+c2V0UG9seVByb3RvU3RydWN0dXJl
KHZtLCBzdHJ1Y3R1cmUpOworICAgIH0KKworICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAg
IHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICB9CiAgICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0
dXJlPihzdHJ1Y3R1cmUpKTsKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsMjAgKzk0
LDIxIEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAv
LyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNp
cyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBo
YXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5k
ZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3Rv
dHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChw
cm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKHByb3RvdHlwZSkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBl
KSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBl
TWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1w
dHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJ
bmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAg
IHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFz
ZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4
aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUq
IFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3Jl
YXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6
OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0
cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8o
KSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdU
eXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQg
UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9i
amVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0
KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5s
aW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYs
MTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1
Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0Kiwg
SlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZB
VEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQ
cm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUq
IGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0
cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBl
KEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0Kikg
Y29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0g
ICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhp
bmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01h
cDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2Ug
dGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2Jq
ZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVj
dHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxz
dGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFs
T2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAko
cmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3Ry
dWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJl
U3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxp
bmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0
aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwg
dGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJl
dmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dh
dGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyOCBA
QCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8
U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1
cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlw
ZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdU
eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9
IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8s
IGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgLy9kYXRhTG9nTG4oIk1ha2lu
ZyBwb2x5IHByb3RvIHN0cnVjdHVyZTogIiwgUmF3UG9pbnRlcihyZXN1bHQpKTsKKworICAgIHVu
c2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgp
OyAvLyBPT1BTOiBtYXliZSB0aGlzIHNob3VsZCBhbHdheXMgc3RhcnQgYXMgemVybz8KKyAgICBy
ZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBE
b250RW51bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3
TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09Q
UzogbGV0cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHBy
b3RvLCBzaW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVh
ZHkga25vd3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAg
Ly9kYXRhTG9nTG4oIlNldHRpbmcgbV9wcm90b3R5cGUgdG86ICIsIGpzTnVtYmVyKG9mZnNldCkp
OworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1i
ZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9m
ZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1
Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1
Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRh
YmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5
OCwyNiArNDIwLDMwIEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQK
ICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwo
c3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJl
OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jv
b2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJy
ZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhp
cyk7IC8vIE9PUFM6IExldCdzIGp1c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/CisgICAgVk0mIHZt
ID0gKmJhc2UtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IGJhc2U7
IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAotICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwog
ICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVj
dHVyZSgpOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICB9CiB9
CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBj
b25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0s
IEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0p
ID09IHRoaXMpOworCiAgICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQ
cm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUp
OwpAQCAtNDI2LDcgKzQ1Miw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Q
cm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUo
dm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5
cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlw
ZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpA
QCAtNDM2LDE1ICs0NjIsMTYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZyhK
U09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0
dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBKU09iamVjdCogbWV0aG9k
PworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KGJhc2UpCiAgICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7CiB9
CiAKLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSBjb25zdAorTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAg
ICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhp
bmcoYmFzZSkpIC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBtZXRob2QKICAg
ICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlT
dG9yYWdlOwogICAgIAogICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRl
QXJyYXlTdG9yYWdlOwpAQCAtMTA2NywxMSArMTA5NCw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRU
cmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5m
aXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QK
LXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0
KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2Fz
dDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMDksNyArMTEzMSw3IEBAIGJvb2wgU3RydWN0dXJl
Ojppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBI
ZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAg
ICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50
bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFoYXNTdG9yZWRQcm90
b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25j
dXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBTdHJ1Y3R1cmU6
Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMSwyMCArMTE0MywyNCBA
QCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorYm9vbCBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUsIEpTT2JqZWN0KiBiYXNlKQogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0
cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0
KiBtZXRob2QuCisKICAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICBy
ZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAg
ICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhi
YXNlKTsKICAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAg
ICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICAvLyBPT1BTOiBN
YXliZSB0aGlzIG5lZWRzIHNvbWUgY2xvc2VyIGF0dGVudGlvbiwgYnV0IEknbSBub3Qgc3VyZSBo
b3cgd2UgY2FuIHNheQorICAgICAgICAvLyBtdWNoIGFib3V0IG91ciBwcm90b3R5cGUgY2hhaW4g
d2l0aG91dCBrbm93aW5nIGNvbnN0YW50IHByb3RvdHlwZSB2YWx1ZXMuLi4KKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAg
aWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7
CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwogICAgICAgICAKICAgICAg
ICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0g
Y3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCkBAIC0xMTcyLDYgKzExOTgs
NyBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgICAgICAg
ICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAgICAgICAgICAg
Y3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7CiAgICAgICAgICAgICBjdXJT
aGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOworICAgICAgICAgICAgLy8gT09QUzoKICAgICAgICAg
ICAgIGN1clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKICAgICAgICAg
fQogCkBAIC0xMTgxLDEzICsxMjA4LDYgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6
OnRvU3RydWN0dQogICAgIHJldHVybiBiYXNlU2hhcGU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpj
YW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSogb3RoZXIpCi17Ci0gICAgcmV0dXJuIGlu
bGluZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlubGluZUNhcGFjaXR5KCkKLSAgICAgICAgJiYgc3Rv
cmVkUHJvdG90eXBlKCkgPT0gb3RoZXItPnN0b3JlZFByb3RvdHlwZSgpCi0gICAgICAgICYmIG9i
amVjdEluaXRpYWxpemF0aW9uQmxvYigpID09IG90aGVyLT5vYmplY3RJbml0aWFsaXphdGlvbkJs
b2IoKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QK
IHsKICAgICBvdXQucHJpbnQoUmF3UG9pbnRlcih0aGlzKSwgIjpbIiwgY2xhc3NJbmZvKCktPmNs
YXNzTmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3ICsxMjIyLDkgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgYwogICAgIAogICAgIG91dC5wcmludCgifSwgIiwgSW5kZXhp
bmdUeXBlRHVtcChpbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIGlmIChtX3Byb3RvdHlwZS5n
ZXQoKS5pc0NlbGwoKSkKKyAgICBpZiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBv
dXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAg
ZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCiAgICAgICAgIG91dC5wcmludCgi
LCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdldCgpLmFzQ2VsbCgpKSk7CiAKICAg
ICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEy
OSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0
dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9
OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNW
YWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhp
bmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3Rh
dGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwg
SW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAK
ICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
ewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChtX3By
b3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJv
dG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkg
fHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKICAgICB9
CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcp
CkBAIC0yNDAsMjYgKzI0Miw0NCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGlu
Z1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAg
fQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCopIGNv
bnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3Qq
KSBjb25zdDsKICAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0
OwotICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkgY29uc3Q7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCopIGNv
bnN0OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAg
ICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUg
Y3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBv
ZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBw
bGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0
KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIo
KTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICAvLyBP
T1BTLiBtYXliZSBkZWJ1ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAgcmV0dXJuIG1fcHJvdG90
eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBj
b25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3RvdHlwZSgp
KTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9Cisg
ICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBK
U09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7Cisg
ICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBj
b25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAg
ICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAgIEpTVmFs
dWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJv
dG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90
b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHBy
b3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90
b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAg
IFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNP
YmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihF
eGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRD
aGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgIAogICAgIC8vIEEgU3RydWN0dXJl
IGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEg
c21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwogICAgICAgICAKICAgICAvLyBXaWxs
IGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/
Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0
b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lLCBKU09iamVj
dCopOwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAg
cmV0dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKwor
ICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBB
U1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1
cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBT
dHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAg
aWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7Cisg
ICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHBy
ZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiArNTY2LDYgQEAgcHVibGljOgogICAg
ICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9CiAgICAgCi0g
ICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRp
cmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJu
YWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wgaGFzSW5mZXJy
ZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVycmVkVHlwZVRh
YmxlOwpAQCAtNTkwLDEwICs2MTcsNiBAQCBwdWJsaWM6CiAKICAgICBSZWY8U3RydWN0dXJlU2hh
cGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSk7CiAgICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBp
ZiB0aGUgdHdvIHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUg
dXNlZCBmb3IgYWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wg
Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKLSAgICAKICAgICB2b2lkIGR1bXAo
UHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0m
LCBEdW1wQ29udGV4dCopIGNvbnN0OwogICAgIHZvaWQgZHVtcEJyaWVmKFByaW50U3RyZWFtJiwg
Y29uc3QgQ1N0cmluZyYpIGNvbnN0OwpAQCAtNzIwLDggKzc0Myw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9pbmxpbmVD
YXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBib29sIGlzVmFs
aWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25z
dDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2Fj
aGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAgIC8vIFlvdSBo
YXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQcm9wZXJ0eVRh
YmxlKik7CkBAIC03MzIsMTIgKzc1NCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBjZWxs
ICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAKLSAgICBT
dHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJU
KGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFy
ZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5
KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJvb2wgY2hl
Y2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNpdENoaWxk
cmVuKEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
KTsKKworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0g
aGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFBy
b3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3RkOjp1bmlx
dWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlx
dWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6ZV90IGkg
PSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50
ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQp
KQorICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVjdHVyZSh2
bSkpOworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0b3IgPSBX
VEZNb3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0
Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0
dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2
bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZN
JiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNo
YWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhlYXAp
KSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkpOwog
ICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIgKzYyLDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3Rl
ZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQotICAg
IHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXplX3Qgc2l6
ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsg
Y3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2Jq
ZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAg
ICArK3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5b
XT4oc2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9yIChTdHJ1
Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90
eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhp
cywgY3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwot
ICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAgICBmcmll
bmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyMzI5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBl
KCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFs
dWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQxIEBA
IGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0cnVj
dHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogeworICAg
IFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09iamVjdCogb2Jq
ZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitB
TFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNP
YmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVj
dHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxF
QVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2Jq
ZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3Ry
dWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29u
c3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAv
LyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAg
ICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0g
b2JqZWN0LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051
bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3Rv
KTsKK30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90
eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpT
T2JqZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBy
ZXR1cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdB
WVNfSU5MSU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY4LDgg
KzE5OCwyMSBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAKIGlu
bGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJv
dG90eXBlKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gbV9wcm90b3R5
cGUuZ2V0KCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBpZiAodHlw
ZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVj
dC0+c3ltYm9sUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0g
U3RyaW5nVHlwZSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7
Cit9CisKK2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKK3sKKyAgICBSRUxF
QVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3Nl
cnQ/CisgICAgaWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUo
YXNPYmplY3QoYmFzZSkpOwogICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBl
KQogICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKIApAQCAt
MTgyLDI3ICsyMjUsMjggQEAgaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JM
bwogICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNo
YWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBT
dHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVB
U0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIGRl
YnVnPwogICAgIC8vIFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMg
Y2FuIHNoYXJlIGl0LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJv
dG90eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hh
aW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAo
IWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNl
KSkgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QsIGJhc2UpOworICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwg
dGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVs
bHB0ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVk
UHJvdG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0
dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0
dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0o
KSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hh
aW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAot
aW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBi
b29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAog
ewogICAgIGlmICghY2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVj
dCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2Jq
ZWN0LCBiYXNlKTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJl
ID0gY2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVj
dHVyZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90
b3R5cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDEx
ICsyNTcsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAg
cmV0dXJuIHByb3RvdHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5s
aW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hh
aW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBp
bmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQpCiB7CiAgICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC00MDAsNyArNDM5
LDcgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVy
biByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJl
OjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNf
SU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlU
YWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2
bSwgdGhpcywgdGFibGUpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIK
IAogI2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2Uu
aCIKKyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCkBAIC03MCw2ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRy
ZW4oSlMKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2
aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7
CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0cnVj
dHVyZVJhcmVEYXRhOjpjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAgLTE3
NSw2ICsxNzcsNTMgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQog
ICAgIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitKU1ZhbHVlIFN0cnVjdHVy
ZVJhcmVEYXRhOjppbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKQorewor
ICAgIHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5nZXQo
KTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUo
Vk0mIHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7
CisgICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1
Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpKQorICAgICAgICByZXR1cm4gaW5mZXJyZWRDb25zdHJ1
Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgQVNTRVJUKGluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZS5hc0NlbGwoKS0+aW5oZXJpdHModm0sIFN0cnVjdHVyZTo6
aW5mbygpKSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZVJh
cmVEYXRhOjpwb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9y
T3JQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVy
biBqc0R5bmFtaWNDYXN0PFN0cnVjdHVyZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjppc1BvbHlQcm90
byhWTSYgdm0pCit7CisgICAgcmV0dXJuIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKHZtKSB8fCAh
IXBvbHlQcm90b1N0cnVjdHVyZSh2bSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6Om5l
ZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpCit7CisgICAgcmV0dXJuICFpbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKK30KKworSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJl
UmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mIHZtKQoreworICAgIFJFTEVB
U0VfQVNTRVJUKCFtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7Cisg
ICAgSW5mZXJyZWRWYWx1ZSogcmVzdWx0ID0gSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKTsKKyAg
ICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IHJlc3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6c2V0UG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7
CisgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0
aGlzLCBzdHJ1Y3R1cmUpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVj
dC5wcm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0t
LS0tLS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmpl
Y3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVE
YXRhLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0Fk
YXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDIyIEBAIHB1YmxpYzoKICAg
ICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Io
KSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBK
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1
cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24g
aXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAg
Ly8gV2UncmUgdGhlIFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9i
amVjdCB3aGljaCBtaWdodCBiZSB0aGUgInByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNv
bnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVy
IGlmIHdlIGhhdmUgYSBjb25zdGFudCBjb25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhl
biBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSBwb2ludHMgdG8gYW4g
SW5mZXJyZWRWYWx1ZSBpbmZlcnJpbmcgYQorICAgIC8vIEpTRnVuY3Rpb24uIElmIHdlIG5vdGlj
ZSB0aGF0IHdlIGdvIHBvbHkgcHJvdG8sIHRoZW4gdGhpcyBmaWVsZCBlaXRoZXIgcG9pbnRzIHRv
IGFuIEluZmVycmVkVmFsdWUKKyAgICAvLyB0aGF0IGlzIGludmFsaWRhdGVkLiBJZiB3ZSBldmVy
IGNvbnN0cnVjdCBhbiBvYmplY3Qgd2hvJ3MgX19wcm90b19fIHBvaW50cyB0byB0aGlzIHByb3Rv
dHlwZSwgdGhlbgorICAgIC8vIHdlIG1vdmUgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUgdG8gdGhlIFN0cnVjdHVyZSBvZiB0aGUgb2JqZWN0IHRoYXQgc2hvdWxkIGJl
IGNyZWF0ZWQKKyAgICAvLyB0aGF0IGhhcyBwb2x5IHByb3RvLgorICAgIEluZmVycmVkVmFsdWUq
IGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGJvb2wgbmVlZHNQb2x5UHJvdG9T
dHJ1Y3R1cmUoVk0mKTsKKyAgICBib29sIG5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpOworICAg
IHZvaWQgc2V0UG9seVByb3RvU3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CisgICAgU3RydWN0
dXJlKiBwb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mKTsgLy8gTWF5IGJlIG51bGxwdHIgaWYgbm90IHBv
bHkgcHJvdG8gb3IgcG9seSBwcm90byBzdHJ1Y3R1cmUgaGFzIHlldCB0byBiZSBpbnN0YW50aWF0
ZWQuCisgICAgYm9vbCBpc1BvbHlQcm90byhWTSYpOworCiAgICAgREVDTEFSRV9FWFBPUlRfSU5G
TzsKIAogcHJpdmF0ZToKQEAgLTc2LDYgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4gbV9v
YmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJpZXI8
VW5rbm93bj4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmU7CiAgICAg
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNl
dD4sIFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tl
eUhhc2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNo
cG9pbnRTZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJy
aWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVC
YXJyaWVyLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFs
dWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQz
MigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3Qo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBj
b25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBl
ckNsYXNzPiBpbmxpbmUgSgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGlu
ZSBKU0M6OkpTT2JqZWN0KiBnZXRET01Qcm90b3R5cGUoSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFs
T2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CisgICAgLy8gT09QUzogbG9vayBpbnRvIHRoaXMKICAg
ICByZXR1cm4gSlNDOjpqc0Nhc3Q8SlNDOjpKU09iamVjdCo+KGFzT2JqZWN0KGdldERPTVN0cnVj
dHVyZTxXcmFwcGVyQ2xhc3M+KHZtLCBnbG9iYWxPYmplY3QpLT5zdG9yZWRQcm90b3R5cGUoKSkp
OwogfQogCg==
</data>
<flag name="commit-queue"
          id="341535"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>321574</attachid>
            <date>2017-09-22 11:56:09 -0700</date>
            <delta_ts>2017-09-22 13:44:18 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews100 for mac-elcapitan</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1067617</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">UEsDBBQAAgAIAGxZNkstOQTyQ0MAABoMAQAfABwARHVtcFJlbmRlclRyZWUtMzAyODktc2FtcGxl
LnR4dFVUCQADTFLFWUxSxVl1eAsAAQT1AQAABBQAAADsXG1z20aS/s5fgQ9XXik2KMwrZlg+b+HV
8Z4cay3tOlUpFwsvQwllEmAA0rb2118PQJAACcpW7OxeLlSqLIYYdD/d0/10NwDByaP5fZVVRjEz
qmixnGf5reGvF8u3Kk9VeVMqZZwts9QgFhby3FAfVXlvIMtYZPN5VqmkyNNqdFUWiaqqidH+7En4
pT77/egqWt3tFsHPxT+L+Xqhqgs/WkUXwbvri3cq/p9stfnlrrN5evFWzVVUqYu+0NFlEaWGk6Zl
q9n6jCxGeGxZ1uhVqvJVNstUORlCNPqnKqusyHdgrJFXpMq4uV+q9sufBTc5BdAlyDJ2Nl7dr+6K
vDFKvB+NALu6uMkW2xOxhWzTkibGBkITZE0oHlNkG6ZlA7TLaJ0nd8buhP5yi00YLOdos/zNtdEH
+zpKDPjyZ9iFMUJjbpwh9hIxZJ2P3qplUa466+2R027wTVHMtYSLdVVexFl+UW+3GpnwMxp50Xxu
3JbR8m4y0kqkkMbNXamidMoYF0R7MKuW0Sq5+/tardUUTYykWIyjJcgYL6IsN1f1csM4q1SZRfPz
Ws7TWlK1igCWcZblxjyL0/t5OoZ/svgcjiPD+MX6bM9mM5nMkGBR+n5zZoOiv3GvQROIWT0zkruo
BAh5tfrhh/NGdn9pLZxbVi1fR4adzsTs/X4ojBeLCaLg6FZpozbtLXqESmJxsVOZCGIPq8Syq7JR
OrtVq2rrp+q+WqnFNOn4yuI7b0UpSSJuve9JaeRMp1WpZpCh6AFhmHZlUWJzuS9rI63abOxRWD1U
lCLGDiW1yOqYyoskyhM13xf6QZW5mncN3km2SYRnIno/EJ9SHsQn7sanDrrNUXMR5dGtKgfjdNqu
mi5uy+k2oDdhuzm2Q8fwFp2Io3SWJnux25eX5R+LD+oBebjjSBCoLMR7jtQiPwAD56vpr0X1SN8R
NRvynY1YxwGNydN+vm7kL5uDHQVkhzaxiCIM7Zm/fJy8TeJsBFJLomjf/K3IuEjvvwIh2pMo0/cH
WfexyNIfgKPSyWQKvAb/bHQsy+Lz/fPdgdUagum5Xm6c/XB+Fi+ANItkMnGq+zy5iaoPz7df/aii
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
9WqUmHu2ewp2jfXTkF87o/mRuRhL9azY0nevCmedfbQry7XLKp8x/upYnounWY+q1Rn3fbZi1Bft
BpOnsZeOZo4zdpWWE7IXzufhWAuHhXksFWUopRW7saQ+GPT9tsdmqTNeJ5ojdN6vGkflOZuY/LgM
2tey3S0HE/ZSbx5ZWNu+6wiMoZp7b2Np47CqctN597maYy9MO7TSSNJ6cex0oiqed3th217NZ5d9
qA6kNJXVWI1OP33LWlqYSWW4Wh4H2/GtMZgMiliN82jX2serrjYP9CJUBsuwjX2nBm5rtzy9BHIR
b6flYHtZLtyf1xveDo/fuj97SXXyfHnZ3rc1Gzjp+rhcZ227khw2KlqMvVIr+8y3L6P1dmT0tdEm
9Vt2J+HDi/P9to27M+WornfzZdm6zi+3fmtp31b9/ri1M3vxYqYrbw3jafIWJXym9or43fNWabHK
vXylD9+Xe703S9S4XOYs6CfK04SdNdXezwZB2u74k6E8aelRQ7+2RNbx348zWTXjAwufi6ehNUxv
Po/ax7O5Ul/SXnRZDK+dDhsej4arxNK0PTSzaqONPd5oObPecp12u9rZ0hJ5OD8I038+zw5Pk+dE
fmv32Kh/YNss43wzHb5Hft/L8vEpWFtP78vd7dC4Ll97QXsc52JY3vLC243Y6JzxWTpfvTnyvnvt
D/1Q+t56Xo33B3ujR5onTZzX/qLYyO+ny7mRp0H6fTv1CvPiby/h961T2m9J53Jlf/zxFxf6A+8z
E/4JUEsDBAoAAgAAALhYNksbPhtwBwAAAAcAAAARABwAX3dwdF9jZXJ0cy9zZXJpYWxVVAkAA/tQ
xVn7UMVZdXgLAAEE9QEAAAQUAAAAMDZCNjU1ClBLAwQKAAIAAAC4WDZLWg8AaQcAAAAHAAAAFQAc
AF93cHRfY2VydHMvc2VyaWFsLm9sZFVUCQAD+1DFWftQxVl1eAsAAQT1AQAABBQAAAAwNkI2NTQK
UEsDBBQAAgAIAGdZNktHQ/kpVJ8BACi+DwAOABwAYWNjZXNzX2xvZy50eHRVVAkAA0JSxVn4UMVZ
dXgLAAEE9QEAAAQUAAAA3D3bbtvIku/nK4gDJE+HNvvezMIwEseZBLlO4iQ7s1gMaImyOKFIDknF
8d9vFynZstikqObF8iKxLcmyqqu67l1VjbA4ctQ/ZNnq3/9gfPzFT46xg8QzhJ45/Bl1LdsRjvO/
1r9/O7+wjlM/i5fpxM+OszC+trNJGiT5URKeTv3QuzlBjmO9vrj4dIyO0L8trJ7ZFuIucvm/UDMo
8czB90F5STLxJnP/mDrUXnhRMPOz/GieL8ItEOozHAtR1AXGNPYzO4pz2/8VKChrcBuQ1Cosgl1L
tMKF1MDZoF+wSEL/KP+Vb6GDiIUEdTsAAYKtAekIhhyJLSJJL3jcA6ahGwAk1OIE9wJua6Puk6/Y
IwUMSSw7QPMu4zS3i8d2HKnvkx9BdHWLpa3AaMmKJVcsQnuHrAdGpYU78eJ9YNP4OgpjbwqYrrex
FlPiuBZxRC872nIZdSLJieItdwgy6Mmu4OGeVEA95Bo5oswSCPeGa5LGV2o1mX6LGVKIogEQvQVb
gyUi3GJ8SMg2Osr9iuIlipO4HBIsrgHLOBsSLK3DlnbipckEPvxn4CnNOA1Sf6IcgXmyAUZpCPWZ
FJF+LI0OoI5zkRJRyoeDWce2TBHU6ULQZT7XISSosLDoSdkqGMeZny+Trb2ijhJ35XlQ7BiIQAmm
ZLxJHOVpHNrBYrHMvcvQt+d5nugQY5Ja2MQN2caqBvDR39k2KTF84e4Qg1nqLXz7Osjnayd4chWc
lg/te+s5uV3PfxbeL9u78sFN3vaTXWxRVzkQfRFDuZfL0MvjtFjXMgr+Wfpvpifo6dn+a1NeL1cL
oIdJNoYEOlSyMS4xe2iyba9LuorVkHQenGY6gjFC22g6OjbBGHFJ93UNQDCHMGOCNSlsrVcokDJF
7D7nhPFVELWBuY85KjwUiyDm9gurZAwNMOQiFRdvOdedwd2mLTTYIcuVrGdKLi9vQ/EqRGXeBaf7
88ottEnqZXP7eu5HduT9DK68HKI079q7sXN48dKb/NByjVB2nvNxuRTJLqhuiKwh0lQhzR003hpq
3FImLCrZg5GCwOcqx9jtS3m29PKIKx/ajNS4K5gx/uCWpMZdQbhVemE4ji3ZBbvd1JQ/9aM88EJ7
mYZaBcGxhU1YUoOpv0jym4aYkDJxoIzoCOF0IfNNGoRhMFFEDrRp+SIT64p++GkTWG2WWak6KnuH
Z8/idKHDUAJQE2HWAAyi3FcPkrzc+ym2n7x0nrivnrxET6QDj1+cF99x8Z1tvP68+F5xWrnyZ+gw
i+u8NmYxInte2swLQ1ArnRcnQEcPyEWnwUnXJYJ4MdQzASM/v47T/elnf3r+5cu2fkGWpM6BLxDx
A4w0CXUp6YVw94/KuohFcdAC2tXBo2jz0gsgBA8sha8UwvjJmSKKeHLGiscvnpwhnbQJPibmnD8M
5jbW4c7RmLgLdIh5Fkoo72KxpgrXNL5RtrPMQGiP3KhyS5kB0/+d2Tmck94RYP1KkmriI6xQIRbG
Lj7ETBuRrBuh89JHCWoJTbGiMxGHmc6jnez6NJjN/FRFP2V2xI7T4CqI7koXFl4QaY9iVKSChdst
RbM+IQviSJuXIQjqTpxeGByezr00gnPkCoO7jEEKgLRxQNg2PtFPL1v9sHMPvI+p7c2UD2JPU+/a
DhZq67TYCSW+yJHSGGgyD8IgKVDLjjN/ovSkCi0B6psCaPk2reoQLlUxHTcGfe1fXoXHK26ZhL4X
Ad+CyfAifRGRwAQVlUS9oKtJ4nBXKYNWp4OsrkathRbkHZjkDpCKsH+pLzsMFiAGk/wo+3lVUe9C
8YjYH5rOtWsWc22wKhR3unIc+DURulBxH++ygju4K4hNdYGIKpRJq9qg3fAy9VRvTQSC7Dbtma4r
eA21BiaMu4FYBqZoWlNAwSF/3uXj48lyAWhcKxUGmfpFaPuhX7yEtSaZuQqk2w8R64E35umcYRDW
oculUP6X869nz1qDCuOJF96r9fGPkqiiZDBWVkipzg64FBnNRsmiUOiISC+7VZs/XaWCOe4A5jYn
FClXMEs85QHFyzwLpv5dcWHi6ctusEPdjuDvsGy9kGo9MHaJRV3eyzK0RccrQlPWC4gojsqEA0jD
LAh9exlNlfPUSO8iwcCkxR3Zw27rfX6ivlHU627WqhNMLSrI4FuGWRfvaJ1Ou4tfknlyCg7TyXod
9hrTp5N4oZCdniivMFL+TaXKXylvZ7TFAAud6Jkvt8GBhZc1osSJ0vSu7MnKbGbXKkXoitkQ61d1
NFZZtiuY7QMtB4+IVl9StBst1xlcNawVrTO61Cp3r05wBZP8oAUXGIEQKEgXj2GdLqaPYpkOegzL
lORRUBOhR7LrTD4OcqLHwZ30USxTSPYoqImcR0FNk5DwAZZpkgN4iGWKx2GHHgVvSudxUJM+Et7s
EsHN4tQPriK7KSuBKKcqjO8nxqkArMlOuMyilA4CshFZ4vaXgNmCu90WrksvcWQx6jwkeCLaeF98
Bz+tTtzrTnIRQ7jlUS5vjejqLL3uWIdDecQQAPWN7xZp5dDsC83ebJ+oHBcSrv7LXsA2pPSQYpGm
QwHe00GkdEzgrE5siyPw7PjGD8P4WnMIoRQMQpLvA+D+wf7RIqH3PpNb2HLdvT7RmLmQY8LLUOXh
R/k0yJI4C6AEwsuhEAVOgDIvml7Gv449ZXAWCbRoZ/lN6Gdz388zu+kojlJuCcd8ObMgzP00iK6O
PdirVR1DU/c0kaLSl9QKYmOJRuoD2hqhEpRZ3JUmCMY/giKxt4ReoH+WMdRp/PTC5boYyV8E9iQO
Y62WlAhZkuFeGWq3/qCkV5lALpaUwnmtMwzDbpw2alm3rpnO5VCRgvZf1B3Azazw6TINT6osfffm
xKsOsSAw60ethjnmzLVR6VW+UrJ4QYKjSba9xYhLtc1OD9LajFpxKqjYyTUB1dhUtab66SSe+ieK
hE+B9MV7ipa7VDFGvLBhnARszNPy+V8BVLsV7/prXe2WKLEMJv95gp2aLpRyf1pO6mmDhG6Bp2pl
+IKx95g7H/CFi7+dv672xyHpdvFe5srli9Obgje0RsXF4P4NI6KTNM5u628KedxlUXDL1oHd6m8X
4ly50ozSw2XSKLYBA/+p4tG/anlU9CZndSxK6adX398zef5Rcnn28nOVRRlCQ6t4HSfVKXiu/tMB
mKh+7hFz+OA8uzqfE+yxc2y7NH8Xjv32ib9G6Df26hydv6bf3lQ5liN+0GQsXmgmo8TuwGT89O77
qzP8/DXH78//W3z4qhF8woYRfLUKP428cI9YhLasODnoTUUOpwPvKrpA5D1+8frrxw+/vfvTcau7
KvHgHrt2f2sddogiWKuKvgfa3MWyiC1VgBdMvXzHHnNKBt7iiw9f6PnXsz/FJ/bm/PtrncWWfKCw
3fZ/JeqHXko5dIb+f9lHQYYW1Y8X3y/O/nj9/OXLN2+cz84XzT46jyvKqio8JoY2Y7+7Xy7+cC4w
xS++vkUvLnQjSAZSeNCiAomXRZBl6g2NFgwR4RRl1wOr3u01NaRJqBjKvkNjhu3/swx+7rDqwsLu
4CTZWE0dNSSyhOwj1XkZxpMfLVKdnLjQBDRalmrmBaE+S9VubqTBBiThUkVzzX4dgvHZ7aabdWKB
9Vpq998xywSv58vE0Qawq7h2MBMizJLCIHj1fwJeBYDNxwrQ1F7AeUt+k+hbrxwYty0HYu1d7gBB
chzmalyIEjQY59Yhhg+m/iKJi7aCZQK+g3ZzuUvUg35OP6sQG9qHXDQezDJRQU3U9iY5ozyYBYqT
6vJ3EsmWo5h28e0ingazmzuWTZUpgEx6zXwmwkEzy0PQzGQwvQiNfqmtnCrojsnyNEgSJUPF2dXC
z2HecPkOL7z2bvT91JDLddnQirtmqdUjLkmkYkrWTbPewb2vV70syKrXCsBou25neFtyoMjuhbpx
jdAMhh30QMS+s5qnxTvUW05KxtjWs4hbLhP9EqVO72GiNqDrIWpTIyPlPdrp1UYU7GRP5l6a+fr7
RIhyRbGUg2doJvO46J9ei7o+MSNNVqKXKPUoiaOshhTAXKtfXKjXTyDCKz8I2ND3Fk/ICxVprt7+
hLz8evHKlttyAqM1Ws0weYgVXwdwzUJmI8xQdeHc5Ox2lHUv85mO0szEax9lwU8wLrhD/dQsW9AD
WbY9i+NLL1Wr162SDev57MzjIfzQvsfUn3nLUF8oREmROOjX0Oh6AKXEB2R1VySpmF1hMUaHN7ur
ebqO06ddTDMVxGbBRG8NGW95/cQY1pB1qsFU4aqf5vfnUZRcv+5O106nEDCdQjx4JBCpXUv1soiU
xiIHJCXFUisywixucqS6ybhQ+O+n2T0GXtXT6rSoAkkcciC8y7HsB/ntUmK7/IVmxhFGcHVBX9Z2
BW3TguriMkQshuWDS0tsr9mxHEQNF2xdperP9CkHqIsyWPTMzyfz48t4evM1g3WUO6EbsYaliioO
KYCsp1DFBnDlDoku+ZhW89rQoQgqQwfEvXqNL1pewGdsCrUZQZicKN3D5GGN7pPOoUTxVDgPzVJl
aV9dIpEQeUDbWq5Vk9tih+OJigdXEsso82Z+bRad8pbXq4mRdvVuvRVZdVp6R2IUP43vv5INxapC
/3SZQD9Kw0EVXIpDWlX1inYj0u+DrMvYCt5yyJZom7g9rUKv5KrKbC5ulffpBJjrAbe66FL0Jqpa
acS85Yy1HhgLuezBxb6yLm4JSkbk9/VdMmhMbl8NMR9exLhmVCIZGqhbI9eDkxhpARPOhgZM9IAR
PxBbxcTgm071m87doQEzLWDmDg4Y6zddDA5Y6Ektm5u1RX99/O1mUYjd87x13ZEEspSs6+evus+h
vOsqjZfRdOv0uJzohy3XocPIaHm3wY5mCSQtRtHQSmK9lDqjy1yLD+UK/Fps9hbYSRrDVdlwzVsQ
KW9gWd4D0Ewl2fZ2EWE0ML92Vj+SVJqZrf32pyWNan0mqIlkaCyJoa3uxNgCBSN+vSSA0sTL4lQz
iKD2uXbEAicUfOH9Ae011r9d0r8GlY0SJA1S9Re4wA1JqG9uThR/+Wm0vvxBrTH8UvSfa0dWu0Q5
2qOp2HbD9TtgC3fm/PAb8IVDaMFHw9cVw+KbBwulHPRN5NzQ5zJE1RG9iGicacZ+YATzXKUJn2Zq
7XEKEWeBiR3G3rSGZC6FuwxMoEzjxd1Ef7VDaXC5zGHC0zIM7bnS8mEdSOIqkCakg6MXwOW4OIi3
vWwS6G/VZCq6hw6vPRxC/WGewmfj5L8slVlG+Qmq3kpEHCO11jxFQ88aqBj165D+wemMBUFwiU27
q6JFi6Otxjk3levF9/PmgTuU7YkX9u2QuylEhjBxR3GqXVy5qz204TDUiNGB5dkxcVT2M+qSDsf2
uMr2nA4Ij1ThCZM0pdHdb8TER7h/0q0RXWgkYkbuapbdyyyWJXJhfHUFerYKCK6eEiZatoFYDYaK
O+OxgQLIWT9ZrXYKo66lhcM16h3s2GYd/51Fq8Y4GE5/MBoF40tF8qJhS98ZhqkLM2t6sgW1ZQ4O
7gKhYfipEiNb5xzdXgOQ5V56x/z2hqBVrgVQuk/0YYMzPz8rX4TbEStgkHRN9r4MxPJ5Gud5WPTy
eLP1U7+Y6ro5zKYpHCVYspZ3WtREi5PUh9TdbahY8N/Uy726c1nkENGy1mgQLlDbXeGBckxu+Wf4
6O+kyhDENfGSjKwTNZHBKqRlYM/9MNHVxakoh6otMODwxiJamM7jpzVFmsrVxH3kP+siyIIN9UOG
HdfChDwUv135rXSOog7imI1m1B9M/uB6zbSdFkac0T608NUOLSzajUlsCpM3+iyKIhX9sAFixohV
fb/tLT6PFLEhm/pqK0d3OlULK3yBhV+5ErOw+fs4d8MthKPx8rxmOZGVY7dqgLD9aBLXpV44hxQs
7RxjaJOsUM/RT34ABLFRLih3DcOZ0gGZeVMQcKCbviQYHAHWKSkw8cK17NVYHdbyZs1OTi1Fw6YX
MOe9G+uoOF/X5vEcw2RrrUr8Ndc7BYxJxc6ol0ArDJQnoNjhRxxIO9XHWlI6XePzpoZdJvqKXTf5
ui5GJTBmCw8lPutxkIOd6ICK0Of6YWCI06e7rREqRrhoOQq2k34zTcBvxpDR5iQA8LQWZS+n1tsF
eRL9M3nJDpKLcRh8VUiGx/MKHD7cRv3S7RNjHVIMRWkUhBblCyrwKq5z+TvT94GJlqOedvl7ucIu
NU01CAI17B10fRDNfbhgenrrfdnbw8Yg1VXTsSso9OANssmKw8NgUk5h0u+1yZH/foqG42EVzX+t
2spPdN34CkUujGqnDmdSIEbmxwIADdixaFK4u8Y+TooKF/3hPUMWxm7Pbl2xgIkiHLRSe6EeNBGG
+mCvsYjk/PNn+vztH+T9m7Ozd9/PNHNgTeqE99C5u1iWmslMC8/ztOp6MkyHssqYy56i+Hv6vdCv
bQJ4l7st+2zHWAl2RlHyu5ir3ehqscc1MnXRJzapzDW/sAaMaG8HgpuqqrEIQ/E4GdqEGp35DGXB
qmPtERkjGcolcwe2DOjD2bcPH96++uPiDSKM6MbnYzI0j+kqHoRxzq46em9liov7FW+n8O2S76fw
tLr1hAo8mPGgzkh6iuy4wqyHTdWUlXDeb8ih1R6SmB1pjsE8GJhnYLrTKt2NQh4z++fKoS0D4Yew
t1gzoJOPvbUw3oTwgZKCZctCY5U3kjCz28SZrstO66EgBMOfRnPhyKEyGB4tOU/ZYHlLjORoyugg
fAiiVRUHuTA2XlMc4dzchVboQcJVubNFtrXIwMZReLNKwWq1CKJOy/sF+uE9NJYrZ3I6uC4Z+zVP
7SLCLpK3Ra0Y/CqCXICfTdRb9F4Wxhwm045Vh0VMJnIUBxvFFRiA13ZK4Q5hqIaJI11JvoS8FO0v
LejHs5rbQCBVYngcClU+OztQkCDcNOW+MiBrs1HkWPSnCszMGdi/VpMSOWQRWYWkJnWriAnZjXXu
uYXAO5q2WqG0AO/VLSj3V+sVMG6elQ/jCOi1GpILdTX6KgQXWr/loD7tjl4+JCWykEuH3zxpNuCn
Bz6ur7wNgywv/0hffQuVSMNTxrW4UXmIYTMlH6eIiyGTEo7ZMgwzFRD60cbD9aC8jQOu2qFqWOlL
uPu3C6clcTEkwoZrX+49KW13rY+CXZeoaMKAwFdhfOmFq1tSb29LnSrEr4oq96KXQ7mtjTcrUeKY
HcfWmvDi8eriG6XUshpnkwHqncsYpsvF4uaoeoyt5IPInj69Oh9DWBSjzuc2/yy91MfO0eWiMkyA
YCV0jPcG4iqYbROomKNqLtVKneYBTJhdvaCdxYyVC4z6I1RV2zLoeDWpUq5Rt5vTcqtKVzCivmRv
+Ggq82BbmPugB83trr/qs7gIMdmpwr9ygVAU5zDJf6o8Kv1dQcxo4EyTA6VWo7+iBDHl9SPRrZGs
Hp8VCKhYGq36DMmDPno0G065b4SFsUkn2l5Hj5+fX9CP5PmL92/I+fn3D1xz9EjoQH5D6s/UKufN
vgMkjIwSYvse9Loucg6qYKv8kxaVW9t35cLiOR+acyi+eP3t4i3HZy/4nx/Je81duSa+15pnQEXY
0yXcmgJZRWjlzZVzfaX87Kl9eVN/n6PDiZm3uYeyf7pi3ROnwkZCoJHycUatUybdcbifcR8780lG
ab7RBRC6OhWH+hWRk1KYs/tmf3yF8QG0F0Q1jaTMsFBjL2l3X8lvf7758uX9xafn4vWHP3XSPoaW
RtQR+FFzCR96q95/wM+/v70QyslGr9591lUTmTSZtTLpeZDXzObirOUleqPvXGWLkMPEwHv0x3P+
7t3vr88/vmJff3+PhWaPJBlD6TJERUcjncel7dAMLITCaiRMtr0Vt/0MsqIUKQyiH/orUQvr5Yyi
l5DcL6b+9PFLAyVPkY6WwqQivy6LlkCIfv/2Hm1xPHSMcjpSh+2+A4x3UBHrqMgcOWI2hw0QPyXL
bJ7lNQMeGJd7N1KYMCNneBymIK5JxUAd2ytzEUcR1GysnKzVjfENI9OohHPbkZrMAd2+2PMWVw1v
Um5B5Giu/O91uqV+EnqKumtWjS//BhJP5kGorSJ0lc1DssORT5IGP4tNW/X7Kah1031RMcl6r8EO
Vbdch22mRff/yLu2HsdtJf1X/LAz+3I0I95EcoFBkOQg2AXOw0GAAAss9kFty93KuC1Hsqe7z69f
FinZbouUKeriNhbIBDPuS5HFYrGuXzWw2rbGQ3VtyCDA8udUk69leZ1uNvqyrguYB2jykFlZqn85
hRkqzKGneI6QSiLG6f/uuWtHgzg4KSG99T0E3pqigPnRZJxZJ9VhCZDRuujqSsSWiwWhdKLE9hFQ
rd/JHFPfq7yqNZNFAfYrzw68qu5LyjBaEMI+GOd0XcCqANjZYh9lr/lFe7hSLMrWpZOV5Ey6bonH
d0ibg3eaSdD0Ge7o6f+v3nPDPiyWhBVkfYRTwXe5bMb/33DbHXTIXVME1LPM5T0yCKEE3eO6BZ8F
tC0WIrlLuUd3ueygXv0PwG16l4YNCipzv7QNak9fD1mpNAyle6RuAiNh8F2ecRioV2+Fg2J+l/YB
ijEaI1Gn1qeW0ilDsfLBQqA0P8Jje5/GnyD8Pm2EAY7IdpltmmDmOs03h7IrlskxTI+5S5kMQioN
sKQkHRAW3RU77XNG61yRNI2Bu2yr0bnqIn87zB90ZuIwgLe2HJTZj3STr/RjF+moUbayI6gK8IPx
gFB+dUJd04Bj7mIupt5UxMRo4c8nV4iTwtDbMSqgTtPa1OlYnSlE8MwKvs2DE5a0K6bGEB4pm2w7
alhxtc92lkpJBPM5e0TzHM0OudpX2RGzQ5iG1cuPcHcQvfn5a/V5PXAO3+ueVycSBgC0aIzjMkBW
rqZOgfmCJWja62ka3eU4WFAeRXIxnyDVcXZiLtRbtqAhc/fqSuxVBmUwUbUpXnR/WgRvV76M3LMy
EybD3ouJdF5XKoEROfUQqmH2pma57qDfKxNJswHavr99+fLV/LdOq31zVqcfQ3H8qv6ABv6yq1af
oQ8CkDu+6e/8hH/7sV19SVcFoD88Ffuieip2nzWJn/fflP9ziWGSMA55UoJnF2FzS2ksb8DFR+jh
i6jipfoDjQhtPsKHHXxTLKMLEdOPbwAEdTC9exyP3VigAwHA3F5xxQIxnk/+dY2ogbV8mw6BOKqg
kmFVfdm1pzQl0CgR4tF09nRW8IB1tXMigAsgYwQSjlvep+WjvcNHqreZcjJa86iPPYUFH81S7/IK
EGLJ0BRZX+sjaMxCfR0MUJJuO4vyx20BDQkWy9HenBArDyiRE6jZI4cddgKJySK57bPdLNHXXD3e
C3Oe2F5XDLgaY5S/v7Mlo4e67L45aVsBlboi8rbO35GjXnUVDE8od9ap5cYH5D272Ewx4uvzBiCF
6pDJOX39EAEEiH6JsuVTYTsdMFVDblrnQ4S7HyLJe2aFxtkqXkhKP5QcOoWw7yyGURgEY5hxTytt
LMIipBoh3ypbBMwQwE4yg6OK5aGKHrK1em4iFzQjRckirAx94D4ZgymseFQILLDF9RurXthn9ar+
y/mq4lioF71nafw458sAiiW5wZWXC9kzsTQaXXIDuuqAUVBTZ76tdkoRFSXYbVWxyerqwFWhNVj9
5QyqKVdZlOrqSmvoWp2zul9kyApOmz5+5pjGk3D1WyjtHjQsXHR2yne9mNcV7RzhnETZo37pIHEd
xaS9D8gjDv7lbagHy5Af7DX5yWMT+9dWiA2GwntBUYkZMaIa67QDJorIJP5gqz4hP7iW7BWo8DhH
W3ACCkkoHsISj1miyAsm42aiQux85yRg1UGzVv3KL8QIHfJ+M4qFM4JhHOmm/Roc/HxfZRsrfiRj
EIcioj/B/mm2Niwx5l6wkmKSgAbht9GNnpOEIbQNk216vKX9j+QSaF8KCG3HA8Tv3OF2CqKr0wWp
XcubHEqfccZE4kk1QY11zei0mq2B1EahNzAwCGXoopgHXP06GfKYrxXbike1gir/4fYsOcOeYwVE
FziuUiYHpVyqp9SBMk8oVq80GkNrQ3uzC4iXATJgyAU51rzkz2fAdFH2ustLR4mA8o39ZouJAWlI
xONprZog89qcyCqvdpv0rRaBwxZUabrZFC9VVDfRnDSJPT8guWc1Tw9d2oiHK62OYAQmH4Vm9rzb
2/wKpTPIOC+EEccLEs04m7FMkms1c2KMW3uKutpFQVdaJGPs6FrvKpKBDiXI93GsBuCf6zqiJ4hu
7AsdYthBwEHrQvs8QkkAyFuOK/BnnL18RriplaDD3y99k5Hj6BZUoln3RBM2Kz0Wz3tmhJPhsRWb
sLoTwxhKcdG8bKUhltVzXi3Pi/WL510K2Mgt35eIBMLmiIt5zy6hY2ix63gSsR9Ox4g7ozPfAjn3
rZtZUiid97qJmfkZoqUDLBQmSZ8YwHA9iUPi6kMOjs2rl/0GwoxIj8Xz8lPOzE/CZjBslQkdkhWw
WnouI33BOB7TG3CQQcot5PO8osgPvDBAGKyikITsq9v50OOkfB0QGshat2/q8LNxEmYvOAIxNSay
NYSlPHqMZKjkt3uIo21xHufsDpQT9f4s/GpQrt4K3VKmgwp6Tpg1GxH7DrMa+q5KTsm4F+Nyey7J
gcaHeOoADcJzqOQ4KFMF9/0l366Kl6jYZdsofSgO++hhk26/62p4U81wVAeO2BqgOyaDxPI1qvJ/
ZQ4wbhgWy6eOfsoRQhfqNlsK3SzVBglMQo0xm+nh4ZwP31yjvVyo6TBIkA4JiPeyw+c+LYb5LLeY
SDTVzqJtjR58mV6Qi0SOZRa/6nvs0rdceb7jmATtqbSm5wBTvKA8meliCYqH2B3bR2V3/HUojqaU
NfsD4LkhbuB7o8OMVTXJkurwcBQKSJkcjR49gdXelKPHBQwSE12md+zjt3u8BHAOR7KS35NzJmnY
giVT2wCEy8mTNHyWJA2NyVT1YKcy8Xcnd7UgHJN4nPNzgkeYkUIwrk3M8QgQzOJ5FBghDA9/bhrl
0YlhiNQrk6AhB9W4TdvHKH1J36KXpxzcNi0yMBdU3b5IPXdNLYK1uh2mkqJx9Evf5biaqsiCyAGG
YPW2XUam9v1YXpRva08yq/Pj9nqMxBPD98rx17MJGr+5LWiCQcUexrOYhoTPKNEEzxQ7imlC5jkp
GQTJZccOf0nzfbR/yrbvgIYtBjbTOOJyDNv38uiM1WtzLJUuSIbEN/ZPebmCIpB9M69eEd2kr85R
6xQtRroFeoxfIzCW0n8EwaIhz3QzVzr6syq2JpyyUnt7M8NHYMA0RKm+4c/6U5gf1m5rUQ6upOM8
ZIa7h32+0VOg1Rr+OmTl2/qwXep1AGLvPqsZ0jpnxfUg4yjk9iCMhlWJdkhVV7M1hXArIvEw4tfl
KkiAj6PDweWpH0r9mau4DgHeOWXDNjNYahAWt12BiMmkbp/d0UvQ4hp++vCdKzn7rSjMzltz2xdM
efA35Xwi+SwM+Hm7+qV5+tvBkqRfunl8NlCS3FQOKI5vzAB54wUwdtubCMBQt78ILOYfwY6ggo8S
nNVj/a44F1hPf76tEkTJWFaTwytUvz0gkH9qU4X01QmvItIj8spM+d9rQHLR0W/T+35Kudozq1DM
j2ZKkhA5ZMs9O4CD8sXvGXwevKsgVF1jqSiPINvZjVGkNDeZ8ar4ASiG7BK5d0kkVFpMRPchray7
lVy5VhNfS8mwnODw3J64UO9MIkP9Cv1/5SuVNVJuF5w2h1w1nlytSdrLfOztd6PG7/4M2/62Lw+t
RxMs+fCGzhr/CjrInDDQCfAypDHu/NiUhoZ8QNYxbcyoMTkSnbaeRDE06tAxWhc011wwv5hSMh0N
kwUSIfWUJ4VUZ2eU5bB7i9IqWh7KjQPnFUb/hQyCOMel0ZChh/1a1INt24ohBmc0xmTmR5PFAy/O
Kturf7rA0/0GQUqbNNcNy7tiW6lHolg1eYe6h9Zq3cSgD7wGOkif6qDDbpeVyxTo96wTogs/e0+6
ztFc4a8Pm+IhqpZlvqtLvd4DsjzvihJeUvMd9vJEQcCx4CGLOcnvLj1UkG1p1lIDP7YFmbKELhBL
CB1G8HRhlg6MGaqklwYYJWME8D271WXPIav2SgFMFn5Y/nKEKadBnpAXuKy6Ss95ValHfbnJ1crO
fuqhUPbT9stjvm6DysKHDagsQ9j8/bei/HY5ZpdJwvXhQDR+ij1Ufx3SMkM1+m2zpti9IgRZAS0u
yKsLU7q6weGWV6eC+OXb0l7IiiTyrFzpR0p96fJZpJ5gztLF5XeoEDCHXolIr2UYLA+/Lkk5h1tN
vNLtVzivOAEUH11vCwY8Vp6MTKh9wAhaF6mY+oQ7VlGfr4hn2asfJoCFjobfO5S5EpbquxPkGY3x
2wE5QeOv2UfPJ55O+gWZ2p76qn64FnsSk/pvGuLAZdr1fOINtF1D7RyN2PR6A9Ua0/nS3idQGJCE
SH2bnCYD1LiLmm5OZmgcYtwg9SlrcnfY2ymaEAteJJgNUWWNR3OirsTehEEv3WZd5YXFgovuxOM1
6/TMfDKe7Zm52nY4JMQ+xOhb/Hewi/8NviVPN5/4L+jLFxx/4n9fPqVl9T//+wnHlxKst6/cLSJo
+CED3Eyl/CD1NlSHB3drI0EgwBOw2Sg3J7dh3IJXr69F66zzjbr9VXRs2qzUq5huK8AbtYbqlOGI
Q0ycK0drEVnCyPiXBPyMb59+iz/J3z5J9En83UKYYdrnEIGNZ7VcxSZfRQ7QG+VSEJEM/eV6PoP1
13MYLT9Q0LPyh5K7TkEH27Pn4ZgnIUAIJB/LxX/JHr4rz68oH729e3hpcU9bz2unXnJIKAs/y/QA
Lu4+rzsdzSN/tLJ1ELuKXspi+xgpV3wF35puqsAfs4bT1FuOeT+19M8/egqJuk9Mad0rCe1xWXSm
oy++FqHTj0NHqfr9VuB3FOTkT7dsrJdqYiLnG1jn27y63AKNYcUJk0P0TJUvDU3tgf/x+z/qkBdE
AJeHPUCuVZu0erL34XKReM4YuWq2nS0FYqcQbdQ+jFKDOhJglMZnwEhRorj6VhbL79UFNxLTdP1u
OdBz8kf9S+7ocLXFL3St1Ae5UqQxqM++32zGuQEUJwtx0dVgzvE2MmKCpTB2IZkjtIf0QMkxTCeT
ZWq6W8BBtVodidL0hAfog/Tr14evWyUnujcFOvNtfdvmOaTgOAXs6tRpAf3+6jd/ebWmExgwLsQV
dId69+UbdOcu88oRS+IQr/fqpHbIKPQlKre6zLQaNXCB+rMIv1oDFBSgnjkbEuvxaXZqeO2eaHM8
DUcHCYWglF/VvteFMedQn8oXdaFbkSFIl6Ip5KtuZYvZKA8mVDMr69XLBENYyLAQ4tjH3dXZCu13
4zuvnRE0Di2ZKOBAnPC3lhZ8RpQ/hgS5PfetHZYmFrUQnIzBhqpcQq/WU7bZ2csRBPUsaOpUde8e
5awBbleS9RNptTYmwxyoawSphSAe4n1fI8hsO4yT6Qgmth1SPB1BbiPIJiSIrQQnZKmwEZR0NhXh
Mw+Nh2QwfBkgbUKMR+R4jb/1/rExlJRbE1Sk4iLV2F1G/+8ef0Jxi6bvAKZAdiILOykZxTOGXWG1
x2JvBgE5sERMOADJi1ZObZ8cAhzg3gvQLgjUBLAwI6JPdBUlbPar6rynmMqhO9a1To690kvNO9qR
XvOnl0UJ4YLm3yfHuv5C8+8LKRSJ8nsvitwuftUHW7XmNIWk0RDHo1ivN/m2a0gXIsh3bO0g2X2/
kusYF3FI1mrQkpwm8vvvi5y5D0lg4hpHQ32582hWBZEPJVjFM4yYTzebNwf4IPYExr8Bx5x+PDh4
iI+SYj9r9ax8HyaWkHsUMcHEBz3ndnExBUcr/jBs7nJ2Eb5ARVrnZbWfQxpNKc2C8bs6VylHKcTx
vKsYS3yjJ6rDH5IXmR0z6HgiRtSzRFmIQXArNQ9lVBBWji+SDnMwimJ5d4wSlNzfmuPk/gQSUXqH
whGPdomK/VNWBjxTOmcQ3+F5s8AQwLqA1GO6zKKqXHZ1HeEYo7BMzo15I2N+j/f3/hiNsLy/F4kL
fIeMpii8kPIle9CXvh7DqRf8XKwymJ36m/rCZyhEaIo74Dt/N9/4a3HY7u2I6Ezcn7RyeY9rFnd4
wciw9hrIrQL6pimQgRX3FlCZ3KNiuj/5FOz+lCnnQ6s57eNkkzkyJj2jzlKIOwyhxkNKGUwneVHm
j/k2+u///D16yTebf6gv1krDmgGK6QJjElIEetrguigudJEp5sMLIQdFOHTPeN0Ps9v85ALshFJr
jkL6Ck/Zla0+oga4O1KEstIFSqB+YVjFj004XIRdoO+ELRiOR6HdEIUHptqBY3RcxtFxtARY1dlS
SiZawbbY6jJRQNtsvu9SsJhaQDygesFgh63MUNrzKRM6zw9ffUz3gIfthvtHiCeecP9BXDDq5/RB
iyd28Cq8YATPtSafo+JoQZEYJS20BV3wBDj3P6pol1srDRVNkeg2/UlIRgAu46aLccgzOCnzGZYz
Fd0QhOctgMFMzFsyRsfkpU9hY1CQYUhhI8Fs3sJGLMnMhY2Cz1zYKNAHeKgwnrnYkdB5iwtHFSTP
ij9K53jXTF8BGdJK2PNFqzsZJJ+5YwVjMtyCf3nK99kmrxxzE4jwnIIZ1hFQsy5E+nsV2xs6SODZ
HvdJ1CZ2Pu4kpmO6VyepcI2ySdiCygk3aTMoyDRaErsNimkaF7D7fefJdATtzy2ZjqCwmkxoOoLW
l04k09wMCHCZaQuXWlP5N0k8TRbmPJ7dNxsDU0PYhMdttR/5JCY5MoowHqtvxHeL1u4mTqcTsMPW
IWKCsVtQTYaEkQo9ca+xcgCf7GFTLL8rg/3hTf1z58bL4NPv9fX1tX1fYsRuQ1kEtaqDoFZfH/P1
cRQdQEZobnf1fTLGPcebOSPPah/L7/80J9sumoSJRTQkweAFmWmFwSQ4EHBOHdR3LZurvEofNs24
VoPEoQPstTwrvyDLtJuZlWVR2lM9Esz0eGhDipk2qj77KXR1n1fZOj1sbBM1x7TuO8duh4QSOigV
1vZiREApD/GLTD7IhBIchyrD2Pb+UBngqL4rM2P6RESIhVQPozhCTkYkRo6RT2GoaDalds6pjoFl
oMITxKej6fBR1FYpHedtbjfqN/AFyZCzugQKbXzX3eYndX7vqKGFhGLioGbxDoI1HqOt30J5eEHz
U1udB6CV6pNql1XKRM+DFGPcWRivnQJa0j7fHpRqPE5Y0FOGdxsYkm4kxQ4UjmC8SIhdZbl92HX7
UIi5GPAwWVVXQingpI5yJwy3a9Z7MT2yqqQEoJSlvNkb6Xwa0UiGfRCjHDpNPT1JCOz0WLxKAVpk
m+4zS6VfPJkqxBdYcVoVcplMq9sFvtXxYzs6i1xQTm63JodIYqqs7YnPAvmkK1B8VSsTl1b2Sju5
CXRKL7mAclbSK4UPYMglPd/3zq76AdzHB2rtkiqoDg2+bdISHX0AQsZhAZ+QCiYWJz762clD78tg
vYucKGs9gJleFXOgj9scP5bwVcpoO3lETZhQfdtjm0uIoll45Kq+kmzB0KCaNs8xWawek4VbssKp
nkAhEzyKCuFOFeITG5tCHtTBt6TBVFfCD2HIyFoKABEZRTCcrycLYHdQrs0rOuhLySvXFqJ3BuW9
hJyOoBUhzCfvFUrQXkiDpyNoRQhj/DaXtR7qdU11I6hECXlghiRrCGHTEbRmH+WExy5Cy5lCCVqz
j8kkV7cr/8XxbSR7ucnS0tMs8YKpDjS3+UUjh3YWpRQj2dv2yBHWgy7CjOvi4U/YwzrfG8smgwog
5XD/eLSjFjG4OIMVtKXYyD68Rzf4kvGtyHp8ojUmxJQ9yDAawWD78zTLQIliDcAdR6aB3L5jivyK
BmxneWa3mqP8NS+XmzawhxllQAWekK8umxwAIkYi7LT+plF7xK32vPKXvhTbBY3IUtBIsJzLxJ3G
HnPXihNKpiNoNXERno6gtbSLTbhDa5kInfAM7SC4fDqCSSgmbShBbpXSCVkqQhsMQgkGF68FPhDY
XgqiHt4ETUjUFUWO8YKheNpXaZQostWiwN0WhSfKdyBTiWs8ME2SCYm6ThIRRXzikxSDnJz0oSo2
h32m52JW+zLfmdIs3SrWLiphWA8/GzTO+SLEfRzs3B6EroxtPaiee5XFX/NZDpVSMHbQHkA0ov1I
mCleF6MrYWzYj6yEmdFPbw9lvvqyfMwhNPtcfYPpKP/xM1JbYQn/xH+9XMQCScnHUTfnG+50LqhQ
Oi7EwHHNNKn26f5QRctiZf5u96QwVXJE4mRsJ7GztA9hJP0aRS6JwsSpMt+/fV2V6WNU/NATi54L
aJ8qtnoqjbviB8EMdMriCc/VXfPDQlIe9vEoZwdb6TjI2QeWTAPMjQgJofVQfKSnJz74wv5Nf/CL
/sB2f5W2omior7w0TrIS5paTjBY0JK5ylF6/YSsy5L0Kkhn6jj4cKQuJ5QTRZu9oM5hXl5DJ7qjV
vqRSGQeSzrRh/I46zBjkKJlwwx1KCc8jYO2yQXXIOBmNtkYRjvQXwXDK0mfr1CgS5u6eG0wnM0mP
j9q1n1MMA9ZIHE+scTGb6eRwayJmQuQH0/YEEXkLYQoZhRVQh0pjLGY6bdIa8B7kdw9mLaYzbZi3
ZsxzegvFlIxjTlRPxcvv2Tors/K/IIhjHWkrZDILd2l8GXJU4hRif1s2qie/YBa/sthiP0nOYCrh
YEe1MqU9zaf2ErbYEylhUo8V44QMqvTpg9IlQ66n4SvEHZWXuC6L58gAsDVzZ3VuA9h9jOY4xiQi
PZd9PHvp4pA7iFNB/KCZfH10iPSk+32ZPxzsbT2MQgSbTr/bDiNRBFjjQb1YmLKbGhZ/87hlJMQv
CusXQzPl8ShG8+bxcEjlmFcxSNMWoBsIqv3bJjMNh1q3FOVKKZo6ixpUt8pJMm8CctLkFZmvirAD
rIrMnIAMylr38sySeROcXqguYyY4g+r1ByU4BQ2N5a032VKnwvx6BSTkxDCeOZ0q8cxlKZjJuctS
PpTOd9em1wZw60WGZh80ZXGuEdV8bxXVoMeKSnzz9QY1AWA5MCqpITXB5bakwzTuQBMbXZZp9WQ1
u7my9fhNkhq/1h8IGSO7CRoLdvOD7VEwjhm6h5u/LaLnbJWn0IDaxiGXt2d5r0pmge+B55rh0bHv
t70PwsSgO/hSqqvmGsYAf4k2qeLhc7HK13m2qmMRNcrG/nn3Ga7kt9ONvGwtpGqJZEiYqUHEiZYA
j5XZ8VoETIQNKQ241Ymmm43jPEOsgHxbQSlBUTa7OM/RFmUV/R97z7bbNpLl+34FX5KnMK77JUAQ
dLqn94LZHWAw+xzQEm0xkUUNKbnjXsy/bx2SuliskshSkZLSDQSOLNs6rFPnfoVLsqRipIEnfKph
q0PcwZLX5Tx5McoiTtbTLI+zMoY3HLYj1pr5JZjsodUNg1u1mXO4DxRwUylvh1aMxQU7vK3kwnvy
1iH7H93F0oH9LZ2rlNwaamPzfvESl+t6cYUV0eQsIfZqZ91rceYc1NltCI4bk4CzWVIsDLAiXeaF
xWanknHjrIYJntZKyrarh/qkeusL2n38czZNc8so2nr4M4ZhJOc18u7hqw1Bcw6tQvyGxMZ9kWRz
w8DHxAfziS0d3kz9fSU+2jejFPfrsOqVTTtIpAEIgcK0ylgXMDeBLMwHP9er6ASAkLchXzfOQkwc
lIeUX8SqnCXLJn5T05y1DU32DvoNnirp6rxSRW/MM3HdcV/f5NIWuescWNycteg6CsH0tq0z18EQ
Rbeqml1H4pgdG0Yd0AnkhOHbiT0bfH21Wuj42iMh5NyaxEW+iEPEbvvX4xyaR64JS4obkiI3QU2V
DeEIsBN8A8bDuwDVGlrfkLu+LLLFyiUs1bUFQgI18W3mPThrriAVwxG7Ub3+YFShy3ykoSOFTvnp
jBYSpiJ6SzySrIvEgVCM1QAU6drzKvymVVzYJnOQYiBePhZMYLeDrEU8M781S+dTh5cRri1rmqfl
l0W++lKxbatsgvpNBDvDViZeJW6X05j517q+x+UP/pCGzjV9iqX1Eosb8sJXztQzxeOok81kyhuK
wqyeHTjT7MbMbWckiYsbtjidIUuf0sY6G15Vn3xLX+oXsXkVz+ZlnKQlJspuWhIcXRUaO9YsMQn9
Q2dxY9ujqh68urL37+9gPsu8+qVkmd2ZNw7+8iE3vhfMN1jlcZkuptb17ZFUfKQAGpHoisKPfeqg
sB7DAKiVI/qp0qLm//Y4EcWYGiNJjJU+m8HL9dKeT8cYuup8EnS2zNbRASGUQlfveSnOp/w5jZ1t
e1TCvqRAEyRfAWt38XKDO4nGNeSpYmNkCJP7yTR9g355eJxlX83/FnOQaRYcybEzXFQNPeWEXr34
5vJyHrHf0H6NR2IWrYZhy0+bY9eBTYt9hPHl78SzRBnzniEWT2f388+//MUwulFzv/77f/znf9Uv
LQO00AUbPkKUHnOBrv/53YW2ggzNrHU/v5Z66Coh/moqRew7RKA2c15XxMWEPyzL90/L1wOQRARj
H2+Afo9Vv1GGbuUAXUpUGeED3zkWUnIF8V18/YjrUv/otT5qfHXmLEzichwZhr3KBdrG+UO6mszg
sMt8UabxfT59sWY0abUzjQ8uwohSo3m//PP//PUN/6V2gZtvDA0szJ+uvizS32DTdPkR2/wDwW/E
UHAGC6XP3IrvT/PZarVsgB2iPZ3McsC0paGOMny9Ne09ha3XtrQLWFnOq9d8WFelqtywyEapbka5
u4LRUtymfeIs+vbpqm9CY0U63X/Sp/WqnuBtxIMRouWqWE+su3MZrHij9NbsFScKyVXTxJHpAJiR
c+fNusmgDZFxmMyEyDVj61gFosCjBScbY6SOUPayTDS7AcvEXTWo+a0J2CPVcrdgJB4pTmOI34yM
dqlrefUnOFW5hW9BU54qauKcjhbnbcRlHentITuxVuoGCN5Z/MNk0BHHFXI7pI+2DtnbKjHzEb2d
p4tH82cYtVFMJb+BOJWzVIiiG9GtbteP3KB6dbZj0Svg164VOlxF+hrop08pSt9JJIFEijMj3YgY
shExzCZh1GVVzbsTAcZ3AVQVwZJf980Qi/DHSvBrfGjMjz010pKF8ZItQsz4lFHfMqtAWGlmgW5w
sFXbzHZzWg1cmNOGKfu2EQyMF4qQDTN4aMu2DVOgsLvG/DAD+NiaetyKHNJ34kevBmDg4ricZ0aJ
AWM/woR2+KXTjb9SwEp4NTpFMz0QRd89J8XdQz43er68k4u7UpAJwTPOlpzp+WS54M8Ik6eJuSX0
uLj7x90x3DXXu7lbbrlXJM5D3ipfT2Ye92oZMoD1baOUVfPPuDkJ06MLEsxGF+t88LUTgPUPW0m2
Zz7ni02j6TvX77iyi4AsxoNmTI0Nv8qWUMq4y51aKgvZCB1hJ7HhxFfX2lG4eC6Rnx0F1nBm4MbJ
PHtcxDAtGgzjpuF7N3jUvifNGC8yIufNvak+HTBoGHk+r8RVJaoMRup/D4m529c23332LS3f3xvu
f8qe0n+8LNM6ufDmvhYI8/lPECypXv2aFx9b+hNLTBnUGtCbu/1+f0HsBCM7nRwp16VN898W1cV9
LfNFvUCkWhBTXZ85elGlqT7yt9u1Mai1OgX+w30Zv3sxuItiuYwEV5e5dvcVBblVwZkYq3+hby1Z
eNZpn58Rof+Y/MyET7iunwI4vsEXGW1KghToxdsd5nYORtJYdDercxQPNZWijS3XcFUdMSoGg3q4
Ua7amYf0qPCUYqPC43xcfFJGx6qP8JBHddj1jYTZAeYr48K+Q51jOSrWvOa9nkMVGI1MhWRcfPJx
uZqhkblMjXw+gsc9nxgZn0KPfH/o0uZfnaCiXOp3QzsBnn9Rp8i+fP7y85dfvvzF4kQQrn5oKU3l
yFJT4CvyNvdyc/xYNYny6qlzG/MOU77/ks/+ngu1741l2JySDkMKTlNcGuf5Vl0XyfhA2LKxjQi0
qOHYEDpCry0OdJjOwNJiR0t0DmqaJeT18JCkfFlM7PyBcEQECngHr0C6GAQGIegrk5fvhrlHoQLZ
Rw/Jtwa5rcYqYN6I9dzvPka88yyHswt2JcE6FJc4mcQ4vJHXPrt+Cux06A1rEZ5TTzAqk+hGNZkI
5Ag5Ga+Z4UfVj8l3W8bTNstR0PMZz0roghpuk+i2czdnKpQt6hmxGe2ChzSaHLxPhN+Q6H7WWact
z0i7xEs5z3+Lmwa95fyTMxEZV+Uhfft2bzRz5PyT1/Vn5ERlnvbafXxselk1uMyS2jLGizrHBl3l
yyYdjO1WrsLQnBKGltf3FajSwHJwDuZG9wxcquGw5nXktY9js+V7mseLfLUZvtgwVlwWk/je0NK3
dBrfv8STcmmDLgWLmM9ovZMUYxv4xiOGcdALddCOFMay1jdqAmmf6fgVoPJulk2XGdw9LJGY5Evr
VBPKDH4oQQPcOhSdHJ5KRYx08Ypxd1ibsrFPgOgVINrQyNywINS23MFDQD8B1Lx9/L83hMAb5r8P
q2KdvjMvnpP5OoU3GPlXaxZuxw3S+KRYs+fIlaLmAjzwsTt99vTYXHF97TgWBH1nzLaknSBFSaQ6
FbJ3BkhizBD6DirbApJTCB5qOnaRJaGoU1V6MDp7Nso+WWZvyOfuFKe1/ldbLAqfBz+q59wlB9B6
wYNCs1M6xQRmH4S9kErIlM+t5fVcRd3a4s7GYWMBdypbxkHr6Ltlf5xMXP5znRSp4VmwJltGiGao
9xCq8yoPSct8lcwY/IiiTttaTstfa3KBUAEhGQ926xUXOl2QJenYBCQE4ecQ0CWjQlIG5m16xA9g
nI1+N4SRsDLZSv0KpL8OYowBNfx9ky4yP04n6yLdNtjag0RSG/GJx7jJTRZJjX2RXCM63gG7dZXg
q+sqoVqIIDKeOWQ8GL66P4R6Lt5sXt5VGzOqGWLZ/TxbvRhVBo71vbmPOqpsFewU5vqjwPfPjppy
0vOU/ZYVSH0ZOgvai0MV12GFLHMJWcr5GFTQSAHJRgSm8M2RQpBCfk4QvczJB+5NYUSeI4zXS+OU
HVnfQTDnERFhDLhXwNrtLwrWadAwCni9qN5J7ud7Zk0bJGaRVGqQw33a7X5IbSdFgl6YFS3E5KWR
vG5aUj3WRTfmpEQD8Un9+TiQD9CTjlQgi+X0jYnxWLO5MS3+mMqKCiKGpVUxMGbHaHuhrCfH/VmW
bilLpxTLKzKMupZRM4zPMZudXiBlxv4nPjHMQzEHIRaYp1HkT037dB1nbBK9EGHNFs260nhjvFtH
T5OOSwzwtRXUMk68yhkmRfqULlbmSapik/XqQRkH9/uqvYHN+OsCG1uKcIzD6MGm6swVXsS9tZLV
aW+yTdXo/vf543MLjlRUQ1O9GCVAwFHgI7XLZbEmijHDWgFA1d9Xk2raJ1KK+9lirXJ6wzAb3p1a
VkRoEWmk+JUJz4GqfqmgyBelfSShs5ioWw88/rFqranS/Mc89dFKV0p9UnyHa1EgELxdtros8scv
2WKafn//RNeqFXMmXdcg4T9mBSyVWga+kqckW6D3q0MBLjUX5jqMWcoCA5wUL8sVem9etnJbESP8
j+BrBqpT5Wro3FxLOlpoklEuL5gM7dZldK4T/VMzEdK4wLXk/VyP6ZU/d0IR8kmk7VC0V0W2ec9h
SQqJZMSGjmmeQMk7+89/3k3VxO7fcn/KZq4qPTZv1igt+cc9vJQ/8uG3oQhq5TH6I59dbi01m30q
yI9M8+qocY4I8bVQmqUB9Wbe6ptG/SznyUu8mqULo7PTb/F9MvlWF+PB6DgI6hovu8jn9gIGY8cQ
cVaZIcj2WVIsYDtsS8RrzgkUvIpAEIp0mRcWVUIl4xEhvoGCu1VhsFZ/jX9L759Xq7iKI20WDlgL
XrXiESUj1WNQn36RySYeNinLeJnA/t5WTIJXZMCowD5afy/utpxnq3iWfo/N99kqg0XRrdSw0phC
6S7BTJ4Jbrf9AZa5xns/M5g1Xlth7s3aAcNxRBgboEwZymA/4XY3BBFBocVP6arIJqU1966R8quE
2sft3rmgcjedAv1UicW6kpfaRoga2cbwWYtK+rQJctFt4haxt1DVO2OPhdCxgiOhc+RWqPpoIbH/
SR8y45ikRWGs8Gq1e7MulyG2QbUtf2Agd+MRB9QdEgBQdfQabrV4+bUQqhc9K92pGa/rKZumuEUe
N0HmGLo5rCufzQUSigY6a+sJrGcXnQbRHMCfZaURDy9325lHX8t4mk/WwMQxyP5qS+l9arx6dzei
kcigPP1PXzegbXoRl9lkBZ5wmf2elvZkmRLQo9QfoDldtbV4h+7mnbbOJNzwjDEHPI61J43qnrpZ
Ol+mxWsYcGuU0IjhIGQDXQV1LwGBgMqnQ4dBEmpkkSBDwKI2WFioIWAxG6xuRXa9YXHruXggNjMs
9QTa48lYPMiY3YbDp6U9EQs9zXqIEwrrCc9RFW5Y0o7NQc6lrFSC2RCwtJ0iA1M/rmC1ShJqtmb4
HJLczfFqiNM4oY9prdM/tZKP3Fg1MjwHkOMcYEwJ7EEp3cxt9F4hRhHnXCFKkdCkbX9TH+1+zP7O
nlKnOYERMbqH+7iiAUxwJLUHPXXJuToH93Vr8AkJkWAPBj1M81S2BOEPy7JVeWAMlEj5CLdeMLCQ
0rjCRNF/+/ChM4gq05Ct9nl/khfl1m2C4k/Dp+CCJ/PyI7Qjt+d4wDqhftZEkCUvxvIzbj9RHpBf
TSw0VlmInUpaYG/KhUTkbrkkNXb/EZpFCDaWSx8Z1DPecbQNlUgjIbDwPfJeXqdyms2hK2eufc86
wpQIX/apg2NbR6ZIH9LCGODWqR/QwyzkGCcSUlyGYbqNkTr/fIoOfL54w6Wl5QFiY51Qb2ZMn4x5
0miQZbFeACdM1xVDFOlzMs+mlS9s7d2CqYE++qTlhoIPbHFFmcEsfPVgB2Nm3G1tjbhcZA8PVr6u
VCK68PX1NNDDPwCRnijeSy0ZgqniN1A5eixsU5sihBEo/iXYE/A/1/kKDLtZUhidZjkVoTrqNvs5
sOBhNMLdKiVs5ypXyWKaFNP4KZ8aRZynZTWvqh5WtVNjO0wv56BOIacHeQrzTrooHfzKYVkV0Wdf
dfUch48AmLh7yHPLBluYqdPTVQtyE7DMXF2CAqDRDY9LAfb7Bj1PLoMAqtBwhNYmMCrpBc7JYEns
BRBMOUyh0eMD5hSK8lEQ0gaKLlsk3Uj0rhINdcxcB8YDRsZQV4yHJPE9XeYSpCwSTA2PfCuqqacj
1unA7YNSGVRj7C7TYo1wY8UjTAZEbJ3UOplOM7YDQfwSmlL6ZCzdV2s5bxvvML6xL0kFMwwoHnS8
035pzCRZggtVNtUxu++rp61mYs0f3puf7OY+gbp7Q36F9zaDnyjZTX7C7UIXCJUYp15dQhZGTFxA
BnNYM87pgFxbuzJGCcFNZ4vKG3YzL5UwuTq40WOFbxWZXF7AyIbECNLMN2J1onjMXjqGI6ouIDYw
9KpS4auA18tlWkwgs3U0CQLZCeLtF+9PGGiDs5xJyoh7meoH8fq6Dq+JOBrVnpoL3cQfQTw2rz8e
CVG+rUTopqHxbTVCtPrYO2d/I0XsrEKFw2GtLDb2PPsusG08LGUKy0gofhkuY8iLKMrJnfnLOJmv
0mKRrLLndKOXD+CY34okzJ3gITFKbUNvpTI8LAX1PE+yhpLdVTNadre4DB/+pKysj3z3G5MiN+I0
L7JHu8tsnBvYzTAKorFg7Hy+g5arZD3N8tbQNUvjHQeWIToM1PtseZ8vT7T6YSH9Sn0qfH7+23/H
+XNaFOZAR0ruKGcR8yHbI8dytctRjMETUlx5nmkH7dXpSLvil6pIMx9abOabf12mjzGIliyZO4vY
BDIE76O/j9UYNFdlKS4zxK8GgWWZ7CIiJkMD21qINvecmtOhwQC2T0gBnfisQr1qzjGxTiYnureZ
dfI4UHdinwtmnHAxFizm4+t7ggpL7pA3XxrXMY239ex7+bttwi6FZLbReNM4X8xf7IPmmPar8jyG
h3p4Q+xkf+mXRA9fFs47Zb7p68d4SFeT2baSq/IbwTFbussXiKCGiTr1LTlgtYrU6sjZdlpZuoDB
Xj+b74239HZdzD+Cmfnhrm5gmRmT8oNCCNlqX5I5OFrZw8Ycgo+r3oNPS9/W71Yf94b+9Ib8av5t
j2HegY+tLfZknhrz9SHJ5ubKN5P9t2GMu6ScZNmrmVikWvqt+2OlUWyQa9zXa1AonsyXM+siFYFh
+CvuD8yj0wj5HKr3uBWN+dGyJ9rLZN4jiDXEHKAZbn+j6afNNx8pwgdWLIxTxcTzyO6uvPWqIqWW
+80pYNp4qz1O35vwralqonxu9nQRLbYWB3dzak8C28GxQWFKhgCy6VrYdDHYav5rDqm+8D9lYVsW
ij+xYsMKkX9ipa03mf4TK22sdPL+O2ihJTs2UQ2sRya8Wjd6tBMj5GOtHNPy5GRgrISxiMfiYsYb
7DatuN9znWd9CFghXhsDcGv/W6bFBS0iWj9Tp2rQs57IFSTWkVYHzkYwtJAz0dJqcB7uyVwVwTqS
UlyWXEhLcinOL0cu/GDw24WopY2VbruX6YXCJpJenJK5QdBFKZm+ujMKlIzk5ShZMH4NlNzGijiI
CF+CWIRRChclFvkKLRLqjQ5GplzovtoPxjW6oDw+yFdcgli6zVWjQYLCzeIBqgKjnPaxd2snaDv0
Ya8F0D6LUKGI+TjsR5+Y9Xpi45lZnw0jFTEcHpvHWKpGn3miV5g7abobR8fnOdOyTB4hAlVn8qd5
1U1Yv50280umWblMjMNrb4KVBkUCB7++zlKnjQlMPajp9OifdtEjp6Qn4Z5RVcsJRDKlIMFvuRrI
aptOJbmxzZB/VLPOLCXPSTMBp+6ofkoWL/H3WWEVB5xDxRYNEUn9PS3yuB6AZ8n1GjGJdWgwrSgt
BPTVmBSiJWXnXFjDiLOknG0GnE9eJnN7hSaXxoD38c43NVp3myLMenstjFKI60LSeb6wwpRMdpwG
5Tji625pw9zpo3FUyhjGE0HR5CJ5zh6dLZoYY91xAMjpSD8c+TGvweYLZ8s25BY6DS10nbjC9hxS
CpnRd6vsd+fxmIRBQjzE6ZyVHfXAIh0xn0kYF60YZ/p0xTj1iTVusLcwvJ5Ov9wn0y/5/Vej22zt
pZSae9I6NJRP9euW/GJUjgWqW7X9Aagdv94lCyMXC1iMnU3sZW3SUB47C8brgRqTfGpJKkuOVcf6
uS6AynW1CtZ8sn3wAIxS0CwE5poFnKeKOpnoOiuoy/HqDUKV0ds8xsmiUkRg+Sw96wGW0JGfrFZF
dr9epRsMTPL8W5bayx5IBNsde6TKrcd9hL0sk1k2n+6f2YpmJKAhL+Qp96rZQexVg1HbmWVu7pdp
EhLwwqjXzc7mWtkfVMhVWoHB+vMzJFutROPn0oCoxP8KgpEP5tSzdjUoQ5QxaBFT6hxvASwIAwbO
2ypLBkVHIqZwQOZ8vP9mJRbNIqI9WGK7Q+q3WbZK5+aKDF3Op5OksJe3KtFxs7njjpbThxhWQmZN
C/bEKFSwgErHiCXjDagzTrW7KMv5HGuyoNCV6CBAXctKYTskGUyAOmjE+KvMyE0erE7MLieB6tE5
hFjkBs6p3k5YQGtoI8w1WUA6V6j5Vdo5+flEopjB7iif4sqOpHICvFZQgy3Pvs0ye1wkVV0TsbtV
1fQkFOiY/XQsCSVgWid10RBYhwF1gtXWpVAbTMJdnP3aOo+o7I0+J/Kk4Qk0FD84HHCDS3oOLr/X
NxXnjdu5LKrIalm93bYc6toVA1TzEFTymIOCtXtEumOP7en7O3lGl7bl5pxoYG1LCB3lkHU5sw3T
2hgVIpRLmK9maQHxIzu90o4dGU5ynRUwVDU1vHh0jxShkvnVgttQawPqoBmuOrYi+YGN3ZP4EfSg
CBkEdJk9LWEg5Ct63Wx7pyE4f7NUwGWsMQzye7j7O6IDjasnyRg3+P/sfVmTGze25l/hi+qh7bSw
L32DobBl+07P9OLb7r4zb4osMqsqLZLJ5lKquhPz3wcHSC7FRCZB5ELKMx1uicWiiARwcHDW7/vg
30I18KTdvhIZEchdFJv8oUyRGSVnc3Iz60tDZ/gqXT/58RMA7LhTJ8OCy8w+2Nf//Pufx81qyGg8
ylVMvO0yPMOYgq/DCG8Wt2kw22ylO5mMZY1avy4mnuCLNtdhjGrzCMk6yRfJNJ/AW+nKW3+lLCp2
OyGx+QuLdmvBB2oAUo0omq0KuedZgDhWx9w1SngsKa1GOiiK3XrkDx5nOCySxs7vptc/Eygww8ia
9w9YNiHvXU/jbpN9qstVfDOm3zEkQkCgrkW4qUxiGt1t8Zgnqa+xlEiq4YUOunYb9+r4p6TM3yZG
POb5GlDXLAdLGfLy5jct5YW4/Ck8+cVy6q7DrtKPjKmEhF/EufBrNI/KNJuCleh5Rb2rqIzFLTrd
S690EhzK9MbOEcgEUNfRoLzzJSM1U9gJ2XYBy93yeykI7JPWQ6yfii/+vJg90q2//0u+mEI9kBkG
agQms9x/cJUOhRlilzFanCFNokIb21K036l9HCZ0whjuhG7mu687aSSwoQAUEmSCnQxplAWsqHGK
suPXB4t9k1vnvaysNJftKs9qEhKKx0ntKUYERsjTSYqJthCcot8B8L5vI+irD/VjR1Wovkoys59Z
/uyH4dIWLqdjeSHN8mL2ikcMuZxtzWxhjhmkEJ/VjsJtV8TgT1UxcxhRf9JZimViYRnuZ3WMLzLu
RqoRnw/oO6EQ0ZIzKRTmSiq/yGISv87HUuVf8SSvNUwp1A8HgXyy+qTWqng0D7EGjKnGxFaMor1w
f71jG0mG4oMOdxVLJKEDk1NpRhCI12yr6Nk+ZDrCpziDM4WrOFOCE2oZLFg3o2WLx1m+fnrvQMJs
NNgL1yUJoFiQGHt+8pZpZZqBBwPoZ5WFhCg+4hG2x6HN4AjlYPeeB5rDBbEw5h2s4qAAh0CjxBiO
OEFNtape14PgCkJNY9sJu17ngOskpacETJ09blwVf9nfqkSEYjiNz06KOfSGO68buvI9KJRKYAGN
vv0phjSdnEqj1EyPJEcDLXxNexIheqRUhEXdQkrPt7Joqr469VLip/KwbCoLxzGkXhxDzFiMqXlQ
Zh7AVIf5tTDWpdFzY3SXzx/xmLyQxJhG2QLMBniLjNP7zOtYMEys1dCfhZQvcqPT4GoCAkKfTwqA
7yep3p2obftXwAG6FsVEpVxV6rGdvM42H92bnj4Q6EzSJ4Zbv6tQo160BIfksgPh+l/8hdCpMc9/
8ZdLmAuDn1wYA2580M1b7cqX/Lqql1RUr5QR6mtZWK0BXvnnkt4tWaeL6X3xkk0TB2Rz/Bm/+wz1
LhR3lF9w+n7plxUGyPKUnzQtXlFPVCWDMsRu4vwq1E2CoImPLvYQHN+T1VtSmkuZspiM1SX+KyVi
iPvO2K/7mXrLNFVbV/3NIT7+wa1AbWqCaE0B1K+V93kRvog/u4w14Mnf9AVQBbOQhF71AqCVC0DF
BEhqpChfQIFKfeQOqvsJo92N564e6C4wTldFUhWERk+UzRWVflUaiKLt6iNqepqO2qkcvzW0Fq9r
iuqNIqHqJq4eGaPQLgwA7AAzYq+gH//2l4+ua+DPjj/clmr485Fg4MRI+yEbAftY1p/asHiS2s5A
r0IEOu+T8MKt6cMqWAyOsz8Dr1Mo1lubF7PMxtq9BVEaMA+iffhuNIOsmuVUXpKv8+VVLpEdYOML
A1pn51mza4BVRKWc4Yq6uCqJFEt0G1pQoq49MteVHeyYAUIbQ7Gq2EeI7Q3dQLkqJTdw/zESBbYQ
DkgqSMx902z02M2Egs9mk4sQFdgBeLqZ6zfhJ+MOZFMPZQcR2AgL6bk8AnVRf0GUbwBljLCRiLmm
u+i6pixC6ZZ1fu8tUJEZ+ZNrg/40yxefP5W//GShdz5NjVICP9J79QnB4vZud908Zht75buKpa1r
xp4aZbMqXs2RsJ/ypsy0MHduJ7Vt5Ts+phwqjPlPo7ybss53Wczyyev7HcoZXCjHuuX9G0UDOsb+
UZvPZ61CE15UZUhzUsJ7+l4am8U+jcsdZbV3VNxGm/jS2mE9Il4rBJJx5v+JI/OyODBrwDVyb9Sl
bhmnPaxemR0K6yqP/fIY0/niExSGb8NCGDmg3XpVzDy6kHKFbF/HBTbv6Sk95rhpMEQJHfGY+7Bq
Ytt6yldj9tYAV+nApq6Q8HY96IQLySlwN3Hg8oVmXD6AXIw7tbcAxjom4BRk35rLzpm41vQPtHax
pnENFaeX4N7Wd3LhrVwDhBCiBsl5UA3JWSZb3Tlv3CfAPgLXaU9rUMtDYN6abufz1ypobUw53elX
WZgVRALxxAabGxeyZ1/Gq2U4NCSQ7laVtruyul5VwVV3c4uK88ToYyUB4YLd0kKymHu8VkgEiQ0P
lJmfxNzdRryn2xWI/R5Avg6FkdlmC97xBVcto1CYX2fT9t9hXx++5R39Gb7nHf3RfNM7Isx3mdf2
24x9Zr6Pwzfy4++E99238lpdFZXEbLqDa4N+BN/WMSCywxuI/D8hLYzf1JXAFB3CgOKIQ5qb8y7v
H9qdnekHhdPGjerDDnHvLqbJQ2Ht6kPeB2xtaI+GDyxrYr0YQS2+pi2VTvkDvDb379xBlT9A/aZ5
1cS9BHqo3XV8HvWPyk68yt3CuvSBK4qwJ2e9STfbNRQZ3m3SlZGGsQ23GSWMK4giJT687OKB6kbZ
BWwutCvO3c17QdtLGHSN735zsvZlElFfmDiOtw84be8p+g8ujbspj77bfHUZkrA++GK53MdiN6ss
nfvhIGhcE6u/+topVMiYpY8QgNmDNIfUVKNdYAsrToaM2n5XG66QDI8oRgOE2TBlXUFlrJ1+LgGV
9oQGhKMKtCe0gmgRWwvx63/++88F6GD4/mxa20inBIbWzB639AyooZAUaEda1+n7Jpytvls/V6nf
jXGoVfsZhwc1owwVl7Oe5FNitOtL5udEYUhzMxvZfjZH23RB7oRLFtcgbW5mYx+soLN9O5vazIOF
JH7vw+zVtOf51WsZIYESTbfZPv/GEY3jgt2XrFxUC3TTyp07zJRBl2WL1aLe1VKMW1uRdyHoxnqe
bCJEXbE40I8TRWVnWaIjenL2ShmVEa32/cNUU+tEoBYND/5RqiYoZnSkY0LqF+5Zw/HVwJpDrl8O
TTqTnAdzy3232TxUS4MUdFbzPtiWPHRLiJnTKLre2jP6hUOLQgzoyCkCFZQF1aGDYgRMyEJ3Aft0
nz9+mv/Ld86NHdLK6fVuFfPsFBNGp9CON6pdwQUUscWYRBccyvID3vMIYOVRDRoxxT2fHMGCV5ih
vBtfYWeanCoVlwS99JnOGRLAoBCEZcvfPseevH2HD5qsv+QbS/kOlEvPAGhyvyq+rOsqH6ENIojQ
p27gU0Drh2KV7B/GrEXQUwgUWAd//il28KdvHqQW/5kG4lyfH7euM5kwEohif7FDnWBAIKp2n2Hz
uBgZvY4iJCoUMtFvuQrAnGyl6M9yaz2kxvgv8XOOfNJ8Ytf/QKJlP/KO/Axv7lm0KEKqnkiLK4GB
6BARiZrZdnhnTUiYBZU98vPoD8fFZj48GAEkjjQo9sDrWvft7szMDiTAqgNTKlE7qyFKjAgCjU9U
7+cLa3H5GLtwpd2v1XYJZTsNYVGq4FCJDvaqg/ikrYnkJEJzNTg0/mSJcXCx7OIsBDTIBZmItcPt
0vnr3MgrdK4eCsfcbXQ2338HT2d0z3hSmJPrI6RDQWwBPBgxCsC/PuWLafbiRXCyZcO3InJlSJwq
GnGim0ilLZzRb+ti8QF9J7FQxmAmmAtq/iKVeAHIfWtHwhmpHp1FtL2ujbkcIYqn/X9n5a0B659q
4zF1K2uAToaq6GSSAmkxHHV85dO3TDdP41MNVTZRQu/knaujhK8z/7ZyezswJXN1oxvRItYp8isS
zHQba991OdjLeKdXZ7mDEGrKyKvAZip+WeL7jHODmYJ6Axkx8M4BLb44z3O/TV5Hl7FQNsp+D25Y
2JR3AytIFevEvjoWIMddsSuL+eN710rxVKw3f4RyGN8/t7wCdfXnAKRO2derXajFhwFzXbSZhK3F
8QbBR1RGeL9RQN6M/C42Ql9ikl4qrxgK6rj+HayTaHWne5t+DrURlMs23/79Uzb/7kvx8FBpIQHg
Uqxl+7NW7XTE5j/RkcYsibyBu7tSSBHKFHdmAi/VMKo22xqz8A3RZIdR4PV6CafQEvU7OApYfP2T
4Ih/9ZPQ7Q72bWwEQ7pzxQpBHYzw7+Cs0ZizdozfsZylr4krFUwmT9vF58w4OpO6EFUoKwKPa27l
QdDNTT5TSUXyi3vvzwBsNkkXtpZls0oX6wfzwXuzMVm22EOX+DEipLTQb1+/EpBfvyKT+uu/URTt
NgyxzlbPRpgbwxAKymp/B8Y1ll//JLSiv4ONUOTrP4iilTC9aWzqJnDjwGBbejG3IeQYf/1CjnR0
HsiLRmIlAxT2zHX4+IOZGAcCI18zK4dRjJDuzwJD2KzGY7HdHL30QTebxeAcx4aXIX+ew3yMLVtW
x9RGkTU2d6Rukzi/twH6aXKE/OaHgcCWkKuH1fuwzadjSDZCirGCKshOsnj7D/Y6tkuq8hFvlyNq
biN9o3YJv1Dp2rbSE8bYHhfnzr0/PmXCwMAeS6NRl8LA6NgpK/2VJmrMUdw+a2Q8uWkx3xH5lYe7
OnUNYxJJez9zd1Cns95ky0qmFJo8ABDoghB6gA77YFT2Nhubs6WM7SA4kIBX1ZoSrdTaKwiU5Uss
VmtX0WApK5PsZZMtLMutOYc1LHnAmMpR20jBOaZUTjoaoZEhNayFuW4d/9fPsG1/cwHs9y87dFb3
s8Mrguo7r/smAxuYOzsuGgk2XIkc4bqzhT2MXrvE1RlTbeEq9MCFRjg+c15RC34STh5XzLRf21JU
3tR3lyUCmetxOID7+Uv4oD4kpig2uqpGUXm5lj2yEyr6tuzz9BrrFJJOsjet4Ja/xk8wC0tRR+WI
6+0SFF+SnhR8WsgyCkxPgLcVVZIYwAmCJWuZW3bOXP6wq4mBi9m+9xFW8M69+xZxZG8wWsQRhRz9
14v7qJFsDGUDdxMH927LmzfmwgNkXOc6fjwgnZ9aWmykGe54Z+59pbgCMKM7KWMIYW7B6PZ2ibTZ
JYqZGn5Kp1A33U6JKXZ7U8LtdkmEanQH7XFEbm6mlhnBni+Th3zmkFTghX28EqO8ou8BaiW7gwrZ
8V76Tq8awG4W3R68es5cc810e6MB/Lybphe+zrjEmv7OjrrEKL5f4Zgtt9K5kKy3tdQKttWa8eFK
EzGOKRzxjfawyhaTp3NGLMSyaEw3TWuziyLU6URhWSvMrRZ7kFPbxNMq3R1yvRLegxO0WD7t/L2X
h6LauAZ10fjCYH3XWvYwdkXLYqTEsLoPoxiHaacprA5LHByTA2JaZfNi4y/RtZ2wuh/vzMZrzrpn
xryHRmnVUc9iMw0jhlpAqnu4WA4oAnfXNPqxFOyqs+vVDMOQL73lvSMt905Ex2KK9aENBA6/R/oV
FDdhJH/H8qGxjlecB32yy0faGpdsfu+Pf0gsbRbtlpezlUAyJPnv97gxpPDv9yKgOsY3rNguoFZs
2yTgADxnK+AVeJvJ/1RRPd4GPcyY7NBXrUUxbNVg1xwJNYv9mpQwrO43xtZxKqKOgpEDuiVqVUkR
QE51IZaFs53D7g1XDqRigrxnEX3PNBBKEopqFX4jGp9gka+fxpvVNquYwjKQHaLm+niB/53C02GA
YuQd2bbnMP9F66I48yrbNLpR1eP+yXoyVZ8OIur9Z9TgUPqyaQrWgoqIgxGFystxl2Va/op3rI0B
TLu2b7xHT0qjT8UwLhmDiBHlXYTGLuccjRLSIwVjSWdLH3i9vT90KnvMb6OqBVb9Xk8Os2W26wz3
ThwqNCiVA1oHdavktxTohXn/yn12waYIiQH5h3V6va0yoBorPuf+mIsmIyLUEGq6biHqVDbhuMuF
ALAgi9oKLeYOfOMtF7a9IhmP64Pu8qqgnF75smJRncenwWTbiJFYKBcPhpb5z/2D0qd4vwaZmWTf
fUmfHQiMvYTew4/lRxLzgcfN03hR3OUTY/1CrPT15OBaWCIhVYubaZku8wO64VMGYXev7qIIs0AW
Jd6CSYGJr3YvMEFKihHXaECAMRIPnLMHK51lwPCbWGRJCNa7ej+gVZ+Zt+9fk9/8dpE5u3Hx43Z1
UzEAHPXcFsQDLAz4GZz3ai/4GRkgJxCxnu7Ke0PanG0+ujc9Wg/SPpTSIcGO8IUxkWiHgGBCB7Ge
KQc/h7eIerq/k9/S59QB7TaYzBQBYbNA170qSRSYSTTSTgzqwjnjMJyvVEMjEOmv6Dd/XBSrrHQe
sk2abNJHiGvdF1OvdpDKXPecXXtJwrBVuxDCw6oYC3of9qtbHiBzZUy0963KDPW+fcochQ/bRf6v
bfan6Rjf2ajyjs/YWATJ2nwo+9a8sP/w2xJ/99v51kZryrYq83P6khg7fIwq6CsjzliMF37Rg5Ne
HlySGIDO1n6LMbIQua7Z06599JwhbEQ5pgtwf7OAC2qLEMBH9VkaHJu/yUWFdV2QRl+obxIgf5HD
amAjCCcYe653wFtBwSMDCjGczpawmqvrKd9LVgYrMhKsdQcteAOrGpPI0h/rfk0E77iIx8E6diyV
dV6EhrI8fZ1wEqNxpaPdS2bd6hBjx0qkvsbblmnM+w6/CPxVGlDmluAdX2bVqwixmKRWNfIw3c6X
ruK7UpApgXpWyiEuFG57cblucRTM4V3nEGlrJPAWZoMowoPqS39qrVW07KiqtpRUF+Q/mrwnShAJ
89yRYvSjAxs1HWOz1IMDfwIr7pOLHX+qB1mw9ARIDLYB1Ci1ZMR1iwTn5ilfTW398muZV7IxmuWm
5KHxGoUEQLG799PPEl1CNod1ETy0Sa5d+LBS7gOJu6g4hC8OZGuMnoupN9hLQR3KLmZU7t12k8/y
jcuUmuto9fqwXVgwlrG7Gss5VyILIyXFdewpLLpb52qczbiAQkD5K7qouLd6pZ07J02cLMapGfHe
80ptsu5lxY3loPI3pQBhPLmMtiPm2EUF7UOv0YVVpF6NRtHFOA7xFT2Ko3br2PawU9SFlbDMVvN0
8YYjAJ4ESk/tQ5yK1fERuVstjKVsrFpCjTlIbRNSheOdoy5AIRqeotoMFdfuHlOaRCx6CLuuIEg1
RHHE7uD5gSko5rT9Nu9Jvtyy7zQZrIiFSiuh0ZKdZWUx0rIXwK/OpruP78CW9k/jMO5aiFRZdgR4
cf1utFGsPxeF2+hKpGokubyuoAmifud7LFkbIJL0vthufpili8/792wAIXvZJObspP72WwjOdniC
T8/tvuCvLJqBJ3owxo6/HB3a/VgLT+Q5X+f3s+xT+bO/TlUDfdUQ5VT1c69qMUYAgrzNU01mkC1O
V9PDK5vZaMiXS6boiMbc45HoGLJzst06XmRGpezpLD0CRtTkKZ9NV9mi/mRhwVFcGU4MAoKOaV85
Q7v3wVhPAiMqKDfGlYeEj8eknar8zOt5OpvVMTRHOXe+fTxCKHDH1MZF7AeSe/hEsttT/25S4yah
NiyV+1eWodKXveJc4ZFALKpYMVYhQ8TkXKKKEx2HUeej/HZVv+slkHVOvLehFMZRJKSbxa6lflZa
jxTD17gIDmvuuQqEMqdZhUi9CPHEk5314ndXWOD1L1pryln2kk9SL3wfkQIF4veJzqW+LgmGMYRE
UDP8kYjvi1OYtJhvWXT7a/nzL47x+39m99+v19n8fvbqTrN/2ylE+YMIM0WUZ9woc5QCW+f1xiai
/dg+N6ESVKdnYl1icLUSBvETL3I7fGe4S44u1nq/hxljnDLd27m/pBqDKnPJsYgzucv5HIVaG7M/
vuYrS45O2FC7A7i0q0U629nTPp2soPpJDnI1OHichguCYgXdthGCUiUYg96kPclYCW6fTPN1eg8V
bebF53q4UHNXguakne/TQXYCd8xDIocDAwht9U7toaoqHWkd7nhtf9iNSumEv81eICkCDfVODlJT
EpkCclAM4oc/IQDu715ucWKet1oaga0eQSrMM2u9Al6zyTiNxpURQ+r02iovggOT6eKyNH4Zjv7U
0ApGsGXGunzso92fPKWLR1BPbgWe8myVriZPryB5xaKuPdr4j4GMwzVWjgONeFnmK8vVMKuptJfG
ScO9WjgXahrMqeji+gZEuN0O19zgHpA4rIJ4EC87dA7C5cGIxMRfOMTAc8IDXtOzxZmLWkMDWucL
YUZ4f5+us8S82RCoYMZMQPQ624CFuOQ0xMVQaVdj1IYS4VB3vn62SXPvsZWuKfFuoQRMGt1CZ78u
0nk++ZROIfT0qXzbv2nELCvu0ZizVYwpLPmLZ7U5CWwtjx3+S5pvku1ik88cr0vVaJQ4zlo6tcl2
BJFvevpdPWuDj4ExuH/8msOHoRO10FXT7CE1jnpZgVkTlUBxOtMPh/786GFopsaBUqirMVyS4MVD
BaqML8s6GuXFBspPMU8JISONRacz8VO4jgQWvQjHcZnPQ1br0gGdZ2eL+WCe5jsjG5XuHCMXBA1h
P3itZAJYPlj1fQb9/gEFbACiW1rK0J+7v2F9hTpMjWTM8a5GPKvj7YJr3ioxwXEvC/tQrOZJaqs2
kvVq0hRqVhSWmA09eW4Ob8zVeuisMpL7mCUlSbK/dAIEiPR0cr7kC+N8Gk+oJh+pJQ/kXPau63pT
LJe2ouVMXwI2HjRBA0XMibzsMm6on7QiuklXFlmvunWWBkJ1cCZ9Cwnyaa58f+YFRkaDZSDEIOe/
IRykzSkJayg5eYynHFqeXg9pnt8cPagdFOjWHhcJgihYsZj60SCM5qEYx5+QHSx4sn5KAY+uJoEq
oDigC0Haj7erD/hgfxzD8BlEpz0FEooYEyFi9PNlNR44FCYk6WCiDdMx5sCIatWPtJBGaWGg6ER7
txPQ7J+zndv56WmVPfgbc50z39ftYdwga/7U9HkRBM3ttKv5nnG0pa3+0p1mAR6zRbZKN9kel8u2
UH4ssagsHrEt/Xi/XDyW7ZQfy3bKXZOkT8qpCgMX6us0c8X6kgmI3vllAQFSOO/d/zTfLzt1DUlF
fXAIaahOB6EeHYVZTMi1tjypuWbBgquqWFv2bYvTG6s2WRpdPzOa09dYBk1Bmqg2V0szI3EN0DhC
R99wbzyLdVI8JJsnmwEAHOs0f6hwExNJdJ8LBAfanNq5b6EA11tL1KfOgFa4Rr0hjKGO4gqVzi+x
g1DEYew7tSJ/dLjuM29RFGEkkIvznG28Xdm80Sb3krdCYo5C9VWP6yWkObLmAHVR6HRu90HrsRjL
7BL5t589bY4ENFwqBOCDxhQsdjI+YwSSI/Ja40tG1EhS1qs0CYAHRFRdZY6MYYUu9s0vNExm/vAg
goRUDPyCT/Hs37Oq1RLVGad9bL71Lp8/4vHjKssWibEKX8q6TXibjEt9BT/Q4x/Y2K/JqISjb+5P
4MnqUSqMEcKlEQ6Cb82wrprVTEnek2HrD49pFAgR3+ulTMRAqVRvJhVbP69NENTCA+9gaGbZCggV
ft2YE/Rj6vclsAzu4boBsxFLovo6oS4Cp2lHqZWjeHCyzmYPxwW2fuo8FudynxG/+1lxb1HzpkUG
0cdNMk83k6ekDMjDo9Vk07QxVNRXoKkoUlFtTUYaXTANmlwgNusxPbn15ajWYpiQncCMo0gFcFQ0
4n62OInVEgJlS3NZL4FmmzqEEPN7Vxh2XFXeoPmYNvdvfFD2iIvAlcG5MCL2N4YROqIxgbTI+h/Z
Y73IfrlrqmuxomzEY+JjUT2NvCOfZoefA5j0mfMKfUg6QEWMNO52zDrMHhWfmThSBEeC6t8xY4Ny
+KO7SdUC5PCu3JPGUZhg17jTGiN0AmjUpBhGAzbYe3DFSjpI/IRg1kFO3x6S+uYgPKKDjMIF71Gp
psZu3jiDwIsBq3rpV/DJTkOalkndy93ie4y979LwPIJT2z/X37bYp7Auxs6z+OP793ufwiF6XLjH
D2leKYp2joaSPWotq6yM4irVFbzvzcRr0bbSykOmbT3gaQCRtlEZZnw9jJa0Jkz6OQNw5GwCPKRm
YYpn48DuP+lX5AzsrD62avL5bBV/q7rrZtbXKJpes6e/wpZG87wC+Se93nL2rVShm9BIVOONrHop
p3cLMM9f4OSV7u5TPjXi/iVdLWpKVWxDp6bDLEqDardmCpfDPEfIXaOgz5/Qr/CueWPuu5uGS9V5
aIH66iSM0dtJrq4JB5syzjBh6M6D8y1xTzGH0s42NwaUFK1Pf4beO4shnM0y23LQUNjPAW4Wt+hl
Mb7IJ7sHUGDjQoCfXOPfp/vswQz7aZqvJ3Cx1UBYWObpjmpUX8wd/+NPf/3TTz8mZcllZuOR5pgd
+i/qikwojY3Ie664WX7/ZZUuf/MggGIO2dBWDWh+wtYSRqvaxAN1hhx3c3fb8K7bZ+8iWs411slQ
+WJRTGDLzC1qHD0/FajRi7H9B+n6dTGxUHtTwOdoaMPhSnTj6MXqEk4561P9Z5OnIrHpRqjGM2oV
ukjH7+hH0CPfwHWQZP/a5s/v6I/vCNnFr3dfl7jvM7/5phzIfe5EL33zjshFscjMX+aX7+hPd/8a
//L9r796EH+Yue34tXTnKlsW5v6CtuIm1Smg6ETpqPbiWiF3dZFGqQITsNdE4iNBSY+i8NZm20Fh
eZ8FWByREj0fC6YpUYzRu59sv/d6/PMq//YdQUaECDIDwUszlPkLKxiMCPPy3//yD8+NzGUPACZn
TlG2Gtecl+TvTtD+ZgTNuDXfNBwX+sM3pVSaL/jGsZ+eIDG734MJ5z9W0HIvEO7+VJU+t3v6GlHB
GND0BbrKkV6Yv/dBAXO+3QtYWmdz+9H/gcOzz3MGLfy7cIVZNE+/vmZdAGA1ni3OmOAas9CzherP
FtY9tHIcdcucbKo/mUDAn5Wkh1M+Keb3uZGYPaSVRcQHiHdvrBICSaSHh1gswFWE4FH2DPT0LqDW
6OCzOJ/6WnJE+GWAdhdKkCWrsx15sw+O1GB80LN3Ds5jbDXEnXXVy9cuueIg339wjnqlU1NAjJrw
Hh8+SPxZD7mCOsFrDKIw41mywR5lH0fZFI3gPxhqjni7EMRZ5ETKyZWDNUdLc/zk+Rx0l/1lUhaM
p+u8GqTBUdiPl5GrCWF0pFaX2nUnzGMn/GIejaKU7ivCaxTv2yDneyCVtzmPfK9vbENwbXZPl+3H
A2gNr86rRCco8DbQfnXIepOuEvv5LPmS3a/huDZXClJhmU67Dhya7/43QAAYo+8oYHILIRhBksrK
wiQjwpSI8XYuBfibZ/Ni9doA8ccgbUHUDRnTtgCh3piGzkUu+peoQFGCFqy+LWtMwCRSuKV22zVP
V8IA5pDKIBGQ0Usatprmuohij46FzcdBYNBdzLrJuLGk8s1KW/Zgp8I568BOpYqxCNk5xUrP5491
eWpAFKFBwFXxO/Uyn4Hts+sSaRJS4BAJ6uyUt3vkIaMUxkLZ2ZI22dFMawAwuPxxLqsmZX0eshrL
qDxlPsuIkqBKqM52INSrodQopKBOilYSro0EI6bbS7glC/ZcaoLQ7tV7T2nul6ej7D3UZO400LJa
XqWD6q/lUOYaGEu1EJUMikVjqozbogJj4xK22f2wTPBv6XPqrA3w0/yZYGluL9n9jr2pS3MUUIfE
dCk9dpdskUh9ltU4InGFcifb4phH4DiE+UAQ3CBGPsxf9PLFORKP/aT3CCgTs0CfbT2v2UN/vSWH
4GCrYT1wjLsH8KTNMaSyIy6449KIzKb1Dtgjn9LNp3pcZKVhdVXvS/sBexaXMjKsPfuHMDP2e3cu
KjC+EG5VMbfFLV15esRFGOil7CQ8dbotNr97ErPyo4IJAGDBfYimn22eQ7zlEoGs0hlXNSzUpUHB
h0uwO8jZZRULCBqXkehtrtXjB7OlPRiW62VJvZLkEKRZbPzZKhmY67xkuvNiu86g7ssP2mcRES4f
stqlBT8+pauFt/RJG88PBbJGd3PAptul+T2YG84wzJ/ris3Mmg/t2/yh4sSpEUdUi443oqxFqMLF
SkA/F31a+B6Rr1JwACJeGPFhm6uDak2wpOjiq+OXVfo4T2sDAXLEuSKq1/NaVVFwYqXsceesOB22
761eBqwnQqFFQ8kbcqTg0qz3o0CvUjWY6jGXn8uoTNwj5rtmpn05mxf5DgoEEL32xlIcE1hplOh6
O5tazFh6XavrzXYdb5IHn1kApxOOkHzXvbqcPhhVuHo2j5SuE/NTTWYcyEx1f7tQUSqwD+xCPewQ
dYOF76Q27gMI4/ha+5jYyHvnYrcD8If4Yb6YQZlSE7UiHHilvtLLTwPgcw9r6AMNDiBGUEy2jkpU
z0x9JTqTJLBdInK8yhm1I0rV4/1gy2Zv5YhiM6MR1eZyGDQWUoai94tsQ9HmRHhC1Aq1iZswy0Ek
hBxCCzVkLChhgT12sWv9tuMnqWtKK0FvWIxte3yoHNjwzuja/WhVyn1qRNU8SV0LFDdOkUZXthO9
eVPgkuwh334sKpeXAgGtm5S3Y7z5cyiwejzCsvGGq4/jVd70HzOWG+tqtLPMBJwIfA3r2ZJV7b7F
ac7nvJiVGOoncT0PlZQSQN7Vs+WjkPGVubF8TuoU95DenhiwVkr0f8oCj5cwinnoyNRF918FShGI
yrhuF5zOVqtiZbxRAKXPJ3W9V2FlbO1Nz8fmTVJUBqZovf6gA03cPK2KzQYqDq2HBkJsURXeeu7f
GXfxbvfRsYb/3W0AYyFdukgnLJ75zGlYQSs2EgL3INeh99qZultrgPRwt+3CvsANuobCTuSFZeM2
w8FvLJhVX8MpqDkAsqP06+6wVWNBRvtgcBxjRbssTUsfNtD0naez4rGG+1bHzeeiu0AjSjQRquYu
8FwFggolulFkdtf91gnUw2nU0Wa+NRc+POTZbGoViX31nM62WcWGoNCVjukg4sT6DW9CI591Ycui
EqiINMuwfiq2s+mn1XYxXhR3//LfcBfEsXYMfHeT9XJsrwZzPf7hHf3B/HUY2fzwpm3U/ozci0ow
iks8YBB0r54PnRH1nodSfefH6p3wGGe7ptaWG4OTY9x90eZ2+bhKp9nBDykLBgH315gvye73Tg/u
8YphhusaolEOnigZzLppYuTCFgvoRjy8eiFlHLqL0BAmhJ+IGFMw17u5LR4LCFP47V6oLdU3dlUq
o74kIwOVEDCF1TC2j8Tsmiq52WgGYGirlwesF2AxFKE+IiMzyiydZND5b5Hyd8vgiQILpJUFJ+JE
ks4rUqH9yxWj+mE1BBtRTa/jgTd72kIBYpzEbar+34DnH5VhH1lGjFEvbmCFzIIiAo15SLQxY8J4
fxSNK4+8GM9Isd+ZsdponaZp2mCgcswjdraXhksqUT/hljdQLjbiMl+yQ8QFA9jl8mmMK3xXUmPN
urn819t7qxnqCiaIDQpGWBo+PfwlzY35Z8HhEqMfF9PUnxgRCrxUdhMRkjX8+gxkDKUDNJlJpDXF
ss5MwlUzSQRST/XjgEzglql1O4CbNoxsuLUFTf0WtIgzbaNX55igJXydLI0SjzFFznV8MEUxlQQj
Y+xoAED2d3xQHFMgXFXEJ1I+TfZXRbXKkbTT/ccXb/leDWyKkNDOK3gb9ebh8PIrOlh7yE9VjqpR
H1jFJFt3/SbmS0Gff7LoHn6eTtu2LNvME9jEjVpM10/+sA2JKyb0BxZtALOMKsLrf/79z+Ni85St
liDFXlYtc0yMW456NKEuwBGCW+Pi9mw+AqtHXktjN8WIwOwQMfEG43FlL/m6rJCfz1/fHkJwfo2G
gZxIJ1/+lurMfTsUjrGW3+6Af05cBPv1ECKIihAcf/33T9n8u83mwbMyjLb98iOM/CXI3/q7583m
dCSKR4x0s8FvCZZ3e8B6Lfm5Pe/mHZKNDg67tEik5l51vciuZ9y2c2UL4KWDUM8KTCF/7TcWUAgt
ySCRLazokHFwG3M+6DSPSWXuKqrUELYn80Nv40Dyw5r7fucrVo4Z4BSIoXqrWha/PqSzma2PM77X
UwFCXF+0DwkVPjwcRD1QFkdh5BEdhIVpTHvEwTK0vcf1hqEEhKYe0lTRrvY5QCkU178RLXhRZk+H
99Zrtu7x4gKWFVQr6cCNqwgetEdQyzaurtWMxeNzleJTMhHIeFr75Xvz5sNDtpk8VUpmR0y3io/X
G5nm39CYeJjv2e9Tb2WGeXzC8DD2AGOik6g98DPuQDU2ReJ8L9fMUKk7iTOkT/ml1s+PLpKyw0df
l+prWkD+zJvTRmDEt8klnRu0yu9MLBpsu4YuY0Z9SVdTWNgH6MyB/MUDNPQ0tNdhS1QZk8D/Qifv
v2T3y2z1cLTBdX6R0VTtMMaOQkQNC2sW3oOQQznuBPuqllyUYNT31JJJvpp4qcEJJKJw24TX2ZGJ
Z2gGXqKO5PQ4CXc6io/y3qvyRBJLdsykxt2VwjWeloT4ieeI8bsZuVLQ6gRUMDpoFdUldsTEUhok
q2xePNeBNyuI2fObgoTDjJAbMpybob0UNPTw3m/ARjJaKYhRbleR9j+0EXIM1oNWrR7c7AxEBJ6z
1XprlszR2HqjA7BIfQRM1tnq+0d4/ymdFl9+/NtfSjpG2ELwhx5XkKmoM2Fwq+qEy2shugpNvUGh
a6KkF2aOnIse4PoaV958cl2s/KtuXHPR7sguAJ1wlaWWBXW1nWXr45JQT70DxyOs1Q2g0zAitOqj
2qgO9PEYSeZALlopORJYXLI6F1U/xTwP6wEWpVFgH/IZVBYXizKl7DVrlLZuQDsrcg+x6QaHC+7y
xXtx/qF5cnzyPZWllIIPvbVHT+eXNtR2EWuEZ8eBS7qpn2seBXPWe5Uelvx2bLFGdCC44ClSw55a
41t/zjel5bb202BrLoydE+J7qm4eLJvfm6VzYH3eBwKu5KAklToXfywHqVaAIKOpxFWqBqKQH2LM
V8DrlmGuruq4utyKm5n7nhA+pAVIYh1Y/qeG6AKpmYPXcqV0xM+gqaqba6FmSAWxvqjhlGdDNyqx
eLVty+FCWSckkfIqnghUe16+JzVEDVAFvc7/y98TChWGlEUIwHGw2BZsHfZvAns8S+rixJKaXYxR
SLv5HSn2cqauwG/5WIExwlSCiN+k9muMlnDBAjtuurqOX4xhv0hnDShU9piE1fmpkCOxdczVvoLC
EceoF0Xq8ICWqVE5Z5FDhBzxIMBNNWhLaowVYFHUwxDLOpKn+nsSI4uCq1qJ0WPh8JU2RWLzjUld
bajkoV2lqu7OOAfDY9vqZUenAuYBs9pN8GFVeONkGBSbvMxed+A/TeXZlVwbb307nE5tlaUbh0i5
XZjXkyfoxvHGoyDRx69kT51tiGNY0AHVs7tOKn3dnlZNTs3K4UtWrSaWAZWEY4rkHQQ1QhvzgPVE
0rhNC/P1CWJXvM3zIy8hWzwU5nGn9iYp8QWb+IGF2RoaY4scnaanHAT21emG1NnOtuZxvb2f5+s1
9NofpSH9LGbcSAi6ps2/Lu+9IE5uikeE6ZtyCM9vvwdiUgNHdcSy15X9rpeFearkvph6q3y5VeCS
DqyjarAOSSBdoPJ1Um6McXqEZAw/1nQqwI2hb0Q95IunDDAop04q/M2OGIKXZMA9chCdDVCzcNwI
68zGN1pp80YjVYk3ELSaGW+7x5v+Yv5va2SHlEAwiKCwNjtoZepjuPbxir5Fx2RkkNN+7E1VZcrD
qAQ1aRSLCFu1lVBRRqUa2HxsLBynlF24Cp2cdZub8WbqIAkk1NX1pR+ElkNj0u1YKQG16bcVtvb6
VNBQzCNksLQ7D2nZ39YHIPHU2J2Pi13PaxOaANXtnEnbpQh7Yn3JWugG8EMIU9c5auunzJ9iU+C9
EHHF4/aWBDEoH4PNY40IHzByVNz/BgLWlBmkcWHIRiE+K70osFdm0LyUd0f9uRNsbmI8uI3VwF19
gY1FNVNda62nVfaQIACWLhbTdQ0jaC/hhjOi7z+GYOEhckXlcQ5YF4+oYHFxp5AIK0Z97D9p3H9b
JCOH23+or33I3Ipns6wuggN8WFYZDW7b1hdEU0EVvyFr7QzXMdzEauCNLep2E+ouhbzi0X5ZzzYH
wsyIOIYkIpDZMVYsv//h48+wgNW2HEI01OPLW7ua3yzqCTCC89nZiF8lsLlZpYu1jRo/bBcTBwth
nraSNJSWN6FdKP+iNr0+4ryNZ9L8slHRIg0he3mNqMrp470VfBvcBSgDfAV/omTYPeO/O66CQe3N
PwSZmXXU0sCmIgZcz2Y9Uu//UAUYBAN6ZEZf+KMeGEBqiOyharQW4MNFAEqu13T7ks/yGiBBzrn1
eHqxSU6grY/csCaEawLYI/qaB/aMEQ9AXkT3eI07UXqLQeT45kZMDx2s9bWeUE2pGFCeT27KY/Gu
RrUxpkDYKfAQZ99JVVl0B1fRCrAmF7s6cihMsaDKR7/ZQSt761UkVL7fkItwnsVX0WspNvfA3gfT
DAADbwqUVmko1je/FYoPIprHHFdluNDCX+23tI7kChrcruBolVdDTIKYgAHKetTIll1tl1WvJu+g
H7XP4S1a5naxyWe1/G04EKz1eiqZIIWGyQDXJ+4JAGX1EIIJ1Fjr7f2+vN0nx4haiJlB3YHW9Kqh
roNWEPvk+Pqaxb/2AqBFbsSvaZBgDShKAeoZnTxnulyeommf9Ft4OLmhmh3RHloDPMhb1cR7ICSm
aotByP02BBxGdE1pPeOHUGKMHHRtU6J05UidLUGo/Nq6vTBiN2aCN3R7wQqLHs/nVQD4/lgDHVuF
30Mkxuzxlkx56iYS7FGLgOSNJb9CTBFqWi0gkHE2FsX2DEU1mMXkZkJ15tldRPt4AqcZEiVHLKYk
JQD3daAq3wBV6adbANLNmLoXryiXjTE1zQ8jyq5xZpgWN2Datimy4FAszgm9jZN/xjxggDDS5z4T
HzuY1IHk7kOctFoSb0p7XBfv+Qa+S8Y76Ww4QhE197JtQ5rn86zCPP3buljclcs5/t/vCIE3zF9/
3Ky22bfmhUU5hTcY+T8VnKORoHLIp31eTL9Ll/k78kP4c2utKw/OR5ywW7A4ff1wCHPRQW3nwlhj
GyjE25FTBVR7Aqc3lp2KfcRjSG1Tc9dRoOGWE1zG+Ca6v4LYtSAA2JWm329qeZtWe7QwwMDRSDzL
o5gqgDvY6PqjY/5xYA938/XjmN55eYAEgYiEOUmDNAO5NEBJI7ZuiplTyeL6gXq1tD3GNWEdPOQ/
jOr+myNKMefLKON8/2QJqPWkcL9sWjGMgcWKklZC63JsDsbDKZ4ns2XJU7qYzvwEolLyQGKJs3hJ
51GKo1KQDQOtPIF/woSivUQAYjTquYCVWfyY+O/Ou9shmVgCl3zx6PUzsHGluurMMyop22TJ0j8W
MSuPJb4K+EUjoVZwzThAdRPB4nekClRSlVAAfogxfL070nzkazCkkQAo4q4uyHX6nCW/+EUiMVcj
7goKwphQ5gTuhO8DKIFxO/VHEfCl6HbKovicQ/2da2fa18Mar8vfHcDgjLQ+82tAas1Wn8zV7Ahb
9svkJ2+yOMq027vuNFjprt19ztO6NVUHrLwMx+VNWZFNoBYDBI/hH9XKz/vl4vHMM2oJ26hYh3f1
3mHYOuz3pivbKBAcg/RVLdKoxPqJYiyucuA8AwOG1kze5pvPsJ30f+9c3rtLCFK9aPoagTEiPVv6
5YZjFhfnvBFA4m6stTf19g4Z51Cr0IQwCeECIrtDODhyVE620N5ddVjvhEogR+zgwrpP12YF7ost
VJ+mC68nraALn1w5Y1K/ZX68HAxFvDcTqrAd4PUVg0ZttCsuOzpjxRwg6gDSsFL7LbAAWEMaGQd0
EnMkv9kmSRP3vh9ZwvZB3sKp3nfxNR9vILNq2Q10dKw26aN3FDA3ObvV49SIESYRtGqSnq8Pxmi4
aLvbg3N9JYezngwntAQMHE5jlotOzn8Qbr0DeRop1MZagrTSP//+5/cv63Xy409//dNPP7rC7n26
CdarWGXOIbJBkN2N5yd5wXFBKN/hyyfeW0EAaHdcq8Butm+om47ndqgiti5/sWpCRjC6eNQSU9PD
0eEnOCfA4CNa9uJdIla8B1Sq9k3GtG2U1wmX+zvZPGUPpf941MBj/H4/QH5b2LyIs/YlX0wBF2CZ
+ZEwFDdnIUQC9TAW0pmua6jkpi2e9ugacciH7plqwnOcUmV7EFssT7owcgF02msnJ5svRQIFdn6A
Rw0TJN1M8Ghko3Gtn+8bUgFKa7Ni0CF4m80KwUFvKsSiBopQuyDxRrqalK/RUUHsyHoIOrHgJlMK
gLqaDi4jTA0jI6zV3M6qSDPN8tSTZJY9ZzO/z0J0IKKCHqapkIRRzp9RQ8CRuMmcuXC4NKz130js
hS1cCLlEABpMfRj5j/sA67+BlyTYt/l//vC3v39B/+PfH4vvzf/++us/n3765yO8/An++OHj938y
f338jyn+JYM3fvxp9tN//OffGZn/wt6Rn7n64fvv/2FefP+gf3v860+r7+0/nf38j8+/bv9j/vFj
1VnAchhB2xSed/11KBysX3Uz13Fzh6ORS0IiLsfTVgtXGbbO59tZah7FdhNuF/m/ttmfpmMJVBZY
qruP9lNlxcF4nr5Ay2ilCgIIaLnAqM+z4o/FIUh4ikEkyquyGOB2Y36N+6yxljTijrMw1zyodv2C
TdxHf8x5LN+v3U7LWSn7lm2mlCZa4TrZRt++I2hRuIoxj6AzjCMErguSQx9yuw3fnyHZ1S1Z2lif
5+tIT3u1syDWiexaKg+SuCsKKslxzfaYA5SnsxpsMUp7uSy6LOo05iqhndmNxytSZz4K0SpjeQm9
E2cqxlYdVEVwxFAPZ+YENfJMlAErTAJD6sPZNc1tYyhC99fTZ3mHMbYepTpWfo7apYEHKl85TEJv
kQ9BYKqxCFmtLVI4X5uAIU3KWllEgerSrx1JKNWU7qDYDY+0RAP5x1x1NKmmHa2rFmOBgGHndJ5j
ME82uTEkjcKrjDNSWtEr2rJnmbOC26Ig6KxZV4J4psCOUNTRQJcV2J1XBxRBjwUTrR7vcO3M8sXn
pDbFYzmMcMdxpGM3/o3h6L/yoABWsY524+3EveUZHFoXUY/atuwbg84WGzx3uaAa0xQs5aEChkJc
0wY+S/RFiZaqS7F3dJnehccsEGO8BzursQ8HaDSx5v2dyPo08wGweWL0Ux39CeFWYvs/PpunbNHY
/SFtoRXvOVFSmuy7tfGqFC0GDPtLMtBAiF5DCv12uUSBvXSxUrevQXeP438KDqFLNEhmLssaCiI0
cI1jehVt3ly7i9paLiePAD6hGdu+Nss3Pn+/E5v7FuQ6yn25KjbFpJjNsvW6ISNAAcS7T4+vKUtF
aazJFX+6zwY+BNRXoBsL0irec9RKSXNgFOPnola2mdYTtRIqxlSot5geizrEDyA2BlaMgXTfuaoE
DZl2zq5SlNBN7gYQVChjvD8l4D/7Zh/D+ryvKdcKEd2lXO+MizrOIQBlwapHeyeomoJoLiEGfJ1q
ioYEBYccmu7J6ncd8uFOs9YKENbaXBXn266jjM3L2q0VuYqF0txbQaGmn8qe1QMRiglMRVCyxlic
5Ndsk3y0paTmB4++kJywIQ7vdrnMVpN07dWtitJAitlo87cwTvFqWUdNat3QMDTHtitRB8vSR/Kq
fTEz40z1LNKYaSUUoo0iPd9aUAbbH5tuvBdfVDXHkQB9zl7vi3Q1Tcwls9isk6lZycUj+CXPOXCW
p7Pk8Gl/RQcPhCHpSTc1hMZwYBNvyPk6XShb01nV1QiCTEr3d6TOeEbm/8YmkD2Vup2Qa+wrfxqg
zzAioVy2OoRjeDcmPMOOat26cOCyjd86b3drY1Nv12Pjnt1t0tVjthnbKbjXbyHDnQuHJWZ9F94J
qZS8+/7RwfbXnX/PYddGWUc5VL3pScSuU1N5aGc4Z/0xJmyFbfxTQlggQd/pPfbfsljtSFAbMf+g
tpd1MvJbYFybESzHf0jzWRX6PhlpcYa1XQf3oeaLRTGBSOdzbk7dvKyhch/z42DAvXS7p0gqga6z
KRgxqgc+wN6id05apfZaLIFZ+3ZJxeM2sXXyZVUYY6WMCq0ywOPMwFFcm3PqqyeBvvUebJUQxgoL
Z32GsUJCtQvryWBxbcjNxhy1WMj42jodYmJNWXAS529fpGC40TAEM+RUzCUKxlj1um8ZPxHuXZHw
kKL9hmRkUyzr41SUYLMw6rrnPgyWRV9OzXQC+bN52Rx4mTT8787CzgKLz/vlzDxwxUJB1PzBde+O
3D5x36wEMBKRjlMHatKVRzXrSe6wHFsGxEqJWmXGsz6wwXppgFFkM++x+KTbzZM/CoOAqZHfTkuc
Irzv6AcTSgnC6gN6d7+s0sd5Oq6vwGZIaDSgiOa7iN4OFcdIqL+nT4SCeJyTzX2NQZ2zr6QNtl/l
um5sYYMeYKy66beu5yn20BSTtsUuF40mUQe7fBniDxa0gzEf8hVkG9LV5rUcr7S8gBrbx4gNKBeE
dN4Aojz9H4pq0rIa43Rh66br4dbWSBgXgd+6/rO0ZtetzwzoUdI8YiF3IJxAkzXLDuCb5fs1PAfM
3An0aoqwvucFQc+L6E9NVI1dplQc/sIpCCRGCMpcPkCJx+Oq2C4qOKJEMxSIOK0jcTIVav3lxWNa
rQ80ji7nXajvzVNujO43usVKAxjfZ6CpJYlrLL4sd4qpFKiussKmmZar/NkYwZ6Mk32r/Kjw+bpG
vtHAEa1S/WQv6XwJYJfF/H0Vidc8HJKh4Csu29DyxGkxiPZZZTb8fKqEHOpOabfU2qbSnCis29XM
74u+SzDmdDo1nloOj/Ga5Jts7jWKIQpP5Fct6oJjNsDKfcC+tQtCbouhviCW+oJU+8TMX0RK2bOG
bKo7FUIa70Z2s+ZPq+whsec4SF55ZFdFxNDVDYfB+UXIUX6VVS62TZQe1bquN9nyDb5HGT3k3cd9
q7yn5uBucqO3y+DO2p8543F4AL7VNwpzlk6yUD0F8BR9X8laKKKIIDWKSlygqXyKCqqbhlg7j6Yy
qyc6UpLhZxXQmkmfpb02dVMR3Ld8pIviQEdaV0F+ER0pHh9xzTk+0h0WqvktGVsH1rxfCeEpDljt
VPe9DdXtp3IAbBduPGeqFbr7CZrzs/X451UOJ4IQ84cZCF6aocxfWFlKam1e/vtf/nFJBofKHkKL
060jaciSvVb0Kj+zigSLtrv3OZvud6yecswGlLo3XLP5fXaEC1Q25fnZmmMd5JpGjkkxzcYUybtd
R8c7+v078rP5b38qzTuXnct0lkHFB4Ajn8zADGSeVqB+ynLqxy07oY2p0E7bzrNNeijiqu/6xkZM
uipUPR7TGzIBogmCBhJKf80Q3GV99zxANYj5j4UqMtKsyLzeOYu5Bm7oZDFBu5PvhvZuSdq2i4aI
XBNrPdXAWSSvsVuuZOfYeZgD1L17+7RI0u5K79Vdw5wNPNCG+7l5pYyLxVxjw3mvTbrnbgQM7csQ
sm0V0/bln4gn/0Qo50oMJBr+C1DF4WQNrrhtlZ9XcXPaewEoJ1Iioe/+nBrveF5M84c8mzYoCumG
dIrCa/SHkPAQFLHrUCt/xBDuxxIDdLQQlprTJ6i77pp6c6HzfqDJ+rtKcVhDedQD2ALlRXGoUDDv
3b8mx9TtFsjC540wHmYInD5YlUG11KaVDhGgeQ6q2Qjd5/O9qiRuTm0Wu36BGRA5d/8wz+lhfFsT
aNMkxWL2CrrBSyltjD4WAorR4lH8wg8dCayVALRu+8OiD4mAme8ac80mHBGfNQQhoPwxKA3a8mmy
l022smWQzgjw6WCg1Ma680c5CiWeeaiKusAijLiiSVvsIpdwHwDQxhdbJmpM5JoODk11WGNqyx1p
gvChQNqm+pUKP32Fts5BPwO7XYbGxc2fzIdWZ1SFBLYEPeCzNCyMCIVAa/ks/8jnGaiNhmURxGgM
rgd7lKYmL43DmrwufJQH825YABUjKcIwGU8fob27cEJI+6V4eKj6jhI3BUfrH8r3lc5Wj62biUOj
ppoxOcwG1yHmBzUwnj6ADzW5jogGS2wMX0FuVohCKtLrH22Rbb4Uq89HruQeerVcpeR0le4mxXye
LqbQ3pEd7PpkUmwXm6qUBOGH1e3QkXkwX25e3xoBlnvZchjSay1BvoAuiXV2sgp3y3TzNPbMYvdF
rkW+wpSKAbOSKMZ7PlQNahtAZAlDNyvuVPWwNjW9+02Xi7DJyMsMEFdNd70kwjv686LY5A+vPwLs
IP0RV5e3mXGpMpfYJ/lweI4Knw5k74LCvx1vs9eIsW4P+r3tMmG3scuy+0ibK/+E/T32savBLj+Y
JA7jG+/6mdYTo/D8eK2QcMWkz0dqxAWOs587zOMH1ZxFT77J3e1p8ofB31Qm18UosX0OpDoKilnz
fvfjUbaHo0oBDJD3RsU6yuqaveJLflsnb0s+7zOAraydM7EdZO3igIeXyTRfz/P1OlsnZZ0gvHm/
vb+vYS5mkH+UqOOJ7yoGEVCgF4upP91OdVwooYFQoTLpBPibofXZvPYTYpOwMpOo+ZPG+QOAAdJd
7XwO0ZvVdrlxavYBOsdqmhaF7CfWCp0K+dyG3J1XvSgWkxpAURtnVb08wjEFy+nD7K4AUY2xyhGP
yYb5d+OQlzGCOd0aQZys0vWT3+4igJMbUdlvI7rpanOcwt+9Zy2wvIzojdGdcefwmLyQ5HGVZQvo
6IK3yMlbX9J8M6aVexkS7wijGF/taHmW+YtxEx+L7x7zh4pra7wxpvv8+iBS3zb3CkaeewUzzGW7
wP0i+7KDe9tLVal9/JFARM4RHNQeqsgO6Japiar/kGB/PwZAVXavt+rb/ZerYglwOY7krPzcuhbg
jja3wcXni6D03B7mTfoIEueqz8cf3b9Ldv8wcf/SeFXfnLSGfXMA4H9Hf/imTIyaf/SNpTxyP4PO
MB4VBGyMLxWmas/2odnFuvvX+Ofv//Tnyj1kQTbZgBt6HAqze1qbeuKUjZhAwzgE1YQfB8y6LioQ
AkCFtRDX3IKzOwGlwM10R33tARGon+jByakrCcA6PHHV4LSUPSqnAaeCCRXGVeRUD38RAATL7jJu
vA04FnHGfT/NwP42YGovrCuefLeStXzbLAjUJqbfldp+V1ztdwU7VyPx/2/xy25xKqj8vShKo14i
/FIrdun6dTFpqCySWoy44Ddw2dafPMn4SJKQFcBtqD6MaUUJFsF1u7bAH+Paul2uJI7ctXPKAltl
8cv3v/56N/WF94GECCEkg6K32PMA9+kUyPNWtstylqf+K0VSOWJBoSrcOMnqaDZZ494Z/+nXvynF
9aeKbjTWkAgqQmoz+kNR3KerilrWxhqnPQ/tn7UZmkXv6yVDJ76hMQuKibQZe7t5+KSqxUQjFhSZ
bSlpn+Cof2uzgdn4t/Tb52wFIJVj5IEZx0zgAfYBdI1nJwRm/W+EGdu3FVgoNMDM/+CbdxBNdOuh
/+gbmocgB7YeGnsWnGMygOx7R8dAMzzA6Ent6EIOMnriU3kYAHb6lnVjjeQLz9gADixib3CXbJqu
0scSedff3ANt7ipCjQXRDx5IWIOQAwjxTMQabdNd+asf2B8Ty1sbN8CJfTg9VNo2lIFjzUYMyeg5
WRKxZbqBKntHLm6L2SA/ls7qae8URRbds8mxIW0heEiVfQRw+y4Ys9MKBHz5IgcXAYTU5JkzEidd
8ZSebbocHeB6D4u2XbjqLfPr9Wa1nRgPqql8xWiVwJ6VDp6jcfsAtkF2/hwl7rKrJoIus+WqMD7v
fG6UudnV2SvA04Q09wgW2sDQ/pQl6QKoCaEuLAHP0dMGKAM7IKNWK1+s82mWTNZLv0PJA/snYldi
beZ/X7xkgEafzryU4QCzK/qa/2nVI9RFWLpV0EbEXw4TKR1B5SBnS4FkYEkeuV2oDsSuspv+Dnoc
WOZybjOh09aM/2DW4elMUZOR6CCSgFveQ6yG3MO9fVB/ImNUZPMmkrObyNlXvYkc0atsYv1B/LrX
k7H+D8WuKfacYhMIkBvwV7Ce9dAgYZHsztazUT6F7T0XX/d66t7W06zatJiEdc7rEWF8EOPaW69h
fNjuVwHCA41QDtCbidrMOiyqE3UlBU1ud1DS2SYBhirvLHFoByq5pNDPj4LDofyJtxprAUUpD9lq
la0S271ZQ+qkW+7dJetqztDSEbd5KYNC+69CFrgy/eQpmy2zlc8LQ0SPlGDDj6yNcadJHwPXDimU
HgnS90E6gT2pz7YrIWxtW1eSDpyJDcNpaanGeljwo4HrF59x4+9L2d1sG2LGSpHAXqLuZMuoSEZ0
v7JVi1zJu1tXx4zthLemxlzGWfRBM7Us5//8+5+D7iUhWBhNYbf7zFtehYWlM0qOG3ictUX8EDBg
YnSlKN2+bl42H6rFT73dhbWb2nwpkshsVshSbxyyi1dRahK34EFr8bCdzRJwA4zGnE0nAMTUZF8C
0A0TPT1L+GNgGcaGEfUYQUAEElaCkqs6ak22unPFqNJR6bvQ3G6InqcdbIG3Ft9Y5mE7QK+5A0Ed
ra3WqAkNiqLAy/GqaxQEqxazRhYM0rLDn8BBTtZLCyvThL0J5adhYGetHm0d92wy8FKgrY64CEoC
XTr/x/3Na4ycx0l9QypGFHr6Io7QdUuAmehDbhYlrXi+mOWLrAx+NabiRajj0Wr1KGHUmOGXrR4l
/tVTUHMhuleaR63Ydh3rAS4lpAnEUNvXVMEARGsxTxJgcXotTeOnUsH7n/nmddYYxuRUBQZv28oA
PIlPBDiEUr+2cyNRH8aGd/OaIgBAdkl5K6kFqGDHM7xzkJarArAzCoj614K2AJgzCyo98u7benu/
B5SD9EbxDAGIIimh6vzNYZSGYeNfvOx2tW0FZ/KULqazbHXwVx825ie3M5bDLtukfqhGHsbh0bAV
R334h00p4xE1Vw690DBxfVinZ+fcbpizdGoUKTVSug+nJPTCpRRA1HAHs7cdesY6gsqBzDNXNlKc
oa4O2TJbWMRFZ5raG6P8Rbra5PDpmvpbFVg01ma9d1L/WBQPr/6oBAsEY2i/6poqNdB8f0uf0/It
4yF4D5sGF7gbfVeC9CT51PwJN5H/eBMwyBkeZgn8R4wH0hVESr7/ZiEY2n7aONINgKelmdC8HXv0
U/AJjwBgywZL6BSsdtoTzW7imc3DVZ7YwbXeP34qy+E9yKwwA4pvYgaPWdCaQ+YfiYgrqMSofQ+k
tLPs07T4Yi33T+X7n/Ysn5UcACBnjBgnvZ3JY3M9+fKUA4TUrFjAsSnuwQbx47kJjgO7+vvfvcks
S1dhZ0bFhxuOn2ZPcpAvzIGFpm9/p4ON0MmeFukskvJjBUo6GkQZ5F50pZZfnsC+TeCdJ7Od/iIF
KJhgYhCx9zPkgfUTMf4pEPoyn2ygVT5fWNBAv4mDpbGtOzC1/vG6zP62hPVeV5h+y6Ck1TSACjHP
59kYEmPvLeZC4f7ZuHzOSkLfGGFaqPj1qJe1D8gL2S1xF4PdA5K4vf8pxEErNMKSGKueoX4mRrwT
C2oxv3hi1DcxQlAfYzH/IuKeT+tms8rvt5vmc8tlGJv75bPmvllj3o/oCJ/ohIE7Xz6Y9A9GO1T4
NZVoJDDV2yYUhy/g6ZSY8aGkuMkPYnB2m6lM6NeDo8Wgkqf7SMIFIFW2bKyEmbR5OX/ejYyIaht3
Wa0hnuoeYPq6SOf5JLE4+ZYQC4iw/HiaGNgP0C0dBiYZjYi71BQ8HdoTvURYLC6X7Sb/nK7K2vtZ
ZoRxWky2daDETPLA0sQzy7x+fgTge0DANjvqKXcVdCRiLKZjaSoDGPsWv8lTuoAq8fU6W/lL4xUJ
BNr2Tu+lPDmlNZhQxPydDCzufjhdxJPxPMuo+Egj2fdIZp7ma8N4dfwLZ3ya+2LqP9oc+hUkaz8J
O0J1jZIRvzAq4Y+Q1nw9BSAG3caLrWPAqkaEqMZat9mE7QLcX0DFd56OH/8fnHPZh5FIvGZ4NyZ/
xW5jfrtN9jIY9w4menEwhNfUlr3smPSOJTpIEDt+rc3LxlP+qnvMf39tAJBHxtkZ/EcUZ5FcDQXy
dGZVfcd7iHH1Z+ufmY8x9aEmKSZafVDg1pZrUN7SBlVRd5E5B1XpT8ExGshNO4Tn4vdZMKRqL/EU
K5bR20VvJsoVIpDGOiIKQfzXme5lNOUdTKHWZs6xp1O1pYAHByGuWgbToZieIgzh/aWxZv1U15Yy
gXVutxGP3UYYCSOODnIWd2XJDtSknKFDsko32/XYzPzO9Q6Ndx81PrddlF3ypzx3JSSb+2H8kM7W
2RurHx6UK/r/L+OIyxhzzDuqPmq1i66TV474hY7D7dsGmP2ubAMEtgHrQvGRAMXX5lDP85dsWp7Q
98cdtnvEq2Se5ot6LgnJQkHuOlKIpCOFaIHmYhpv+jvXVJAuZIYGyIzoSmYOS+AExuZejwWpHoOS
AQD2gFcp7UhyKFylUt+U5LQsjy0lR56RHNaltrmfFfe2aShvquaXxg4fVL/IKCnZrLZZFUJGXGGx
Lm21CFismBVwDa5QXtKJA6DOSmZUNNW/2Laz2i526CVIIfYthhNS1Y2QqmBS9MHkhREyUPzdHJYO
RPM+XedeDCyqRMvo5/l7di+otZJJMI1b0vreic1TurH766+XpGQU5S7VBa3W+X/5iw6pUvLiqyEw
VK68oXKt+xhLe8dSvJeiMOTPN/QT58LYH+finSvqsvCv8XJkHLI4Ax3Iekg3Ba2hnVUb2HoLdxcY
fVdpnIJMAiadrbfN8zi06NkWKkyaLkW73q0aiM+v9+kD+YuTdSAJwxlVb8ddJ48F1LdgyL9awH1v
yxphgdhul+7yYdhlFfrKeHZaa9qRtn8sbCWPv4oFWnauVsf7ctRVdKaeFyNYFCVFV/vvr6Hu1P4s
Wbb35GMh2g2gFHBMU9dFxKaYy05GKNaelnWwVTDHvSqM/Zq6Nfb3qxsNzdFAVqjCtDMncT+5dDvN
i+Q5n2ZFgPMCYMJID3cjYa5le/uwPBQAL2J3FvBGLCN9LdAI6UAHlMrf74TKQHT0DsT3aIf9uLF4
xJEYbk9J6zbew+oSf7m7kVLSmZTCcOan7cwzIQYBNcQI72pCLmNQ0/3KYlEiaudVGdXTbCfwSHTn
+IeOqgVISsCorHlZ96BRrvHL9rt6UAU5Aeioi4arTDJwPBcVDoMd6WxyJMjkaB7ugL9VF8ggWgai
ATTTU7neZLgaq0eOKmH5nZGWQZFs5mOlekpXSbaYFLaQ+L6YbBMMOYjJ51leV/cCqIQSocgRj+tJ
7WiT11U+m5ll9CDzjlTQeWNttBdIIWbQr6qDqq3OLyN0EeTTabbY87895NlsCvXgKQzvc3Al8BeT
iLme8pmFPImvitc4JxqrXudvb+Mf8kfuLRonxueIkePzm/1hvb2f5xsY/vj0jn+1b78jCH5j/oIF
NX89FK6BzLy8fzV/pOb/u39zB66UnQ0e/zX7Yj+9mpu/4H34aVXAT9t1tjp8lIzvVsYOKx5XxXaJ
xw/ZPJ1ld8YfnXy+L17IuFjcrbOZ+fbdB/LUDZSushSP/1KsMvOdi+bh3pGPMJOnfAJTWT8V25md
QWaf3qJaTO0HsgX85d7ebFfw06aAP57ytfkLwpXf3e3m+9/S5TJbZFNf5BlwlClFBF1RaokccYm6
U+hvwxX+8nDbfcX6Pyk//fNj8t9/8Z8VbR6BX3PddWDAuuUaAE0nAGLVLQQ1C6HENdUmMwLIu7qj
9nK4KZJdJGlZ5fqjRgZZR5pyUyyThqAVEcy4EQPs9K9P+f9l78p7G0eu/FcRFnAjAZY262KRCYzG
HD1IgsnsIpMg+1+DliiLaYrUiJSPLPa773tFSpbMIlkqFqUeYICZHlvucV3vPn5vWX3+y59/1r+z
MMzRTvbOmKG5gHqM5/MEPPTmJ9q7iMCpk9c0FTjQPHcudPV+nmk4fOS1o9uwTqpVobV4A8JmVASj
LV7jG//4ufno8/0//v6DF2qmoAh5gWsp8qTZlO5WQlCEQehIDtVEoGIlH9XX//jbj/flDtihLGE1
/UBelaoxGmU8mSJEEH7p6iUUEr3mHZ7ibKeN0QWS4byjK15AAIKRuhGM5bzcDTqfoW/Yhd3Pimqt
XtczINHFXE/qR8TJFSK1YBnh6bPpcFYRP05e03RnZCaExandZMOeHgwzYQR1v43s/80vvaZfCjJi
jFBCyi3zdLlMkLgX9ddA4Pra9QAsMsHdGUQ97ieNIku+tQ2KsfA32v+V0T41qqGdSq4OgYUFWERp
Ez/u22FeKBY9YKoMo4mGDK1H/zfi/nURN4ncS9qO5On5QTY3jARXAEZpvdt/lUXeskk4EG7Ew2k4
aBjqmlDMo/nsYkqIR/xqhmIyXzdFU+0BJYjEZRMJdrOzt3Iu2FNrczjRkQbya9gc1W7OD8NrbS5L
n5LuNxVhRK7M9d1ERxSIoQi/hndluncNBCG/6dRfl04VXFjYQbAUbAibhjdZjH2+cZXUPSyYvUg6
pioLhIZm11arx8WwLRajsEGrnIdrFtNqHF/YxDvfHust13T0bECRzzh5sc44tXEpwnAWyevdSMd1
KCjMMLi2idZNSQoSxUabjH0uOROMTGof9nhWxFdAxoE7M72p6NJa6cIQrI2fMxC+e0GKA6JsWGFI
XOqRXqVh68+Z/A7PvEUITA3tRHQW2fDUiBXJTIT+tYSLdkC5krPs2sFpXTAajL9rWKeqEPGuPSsS
ryq44uvBVWniS5KFYx7vpKb8OXkoUdQdtQocPhponuNqKNa1rualz8hBU12GzP9KwxthYFLdTd5t
re5nK983ley/bZfQBhwHvfo+EYxeLpwhzFDN7XXzIQvYoEhV8Ff7FLakxHCespkSRd3Z1SgA+pox
3+8fTv1umXlRfEmTk3dN8HT4qaf6/Y8GFZdVsrl/75qGEbx1dFFi17SwEoSWPuPc+1/h/8eMq7E6
dDYq3KQk1U9vb6YO9VKhOfkGIh2XZfqobQoNBBBw4HIDb1e4TheLLGlgo473o6XXCPXgiH3UQFR/
Uk91twd+r/ENcW3sSNYbm+HMinfXQKCxd3Ra9f0y1U4gDRFsaKSzVfNLtUrBScBBfq97blFSADP1
GG7w4nnngD8aYp2RnOSxm67coWemJAC6dxBffQdTtts8buGt3xrDGswN7MYvNnAtu3SLYuVNuunr
8CLD9jg3QjMIRHTBqzgemLtvqU0rfaOgqtSz8VL0DHmMjpCC+mpg49ozGdFUIKoz8gyhagyBF2fJ
tgLuKUsNk2KDNBvn4O7KVe0a7TYgcJIS7n6ZgJOkn4Yi1ciFqYX/CvagF/3UcFaZCbGrqGnvcbHO
mRE+nYiv0bd18Um0CGV4QU5r/eSsTuRQwSiNDbnX9hNCJ3Zj82Dfgx9OTIFa4lONyOQqws+ijxi7
bqWzJMjR27RbAahkOK8gcmW6D9TbSomtL+wKgh4clIjwwBmV98BSBBGCKkxE5s9pvgCPFKyMvKuf
hYwy/QbEXkeckSrAQGfrdr/rR00MP2IRm+7EnfOcaID/Ri4f+mjWlXpivW4LEDuCcveXfXr4fWgZ
L0A/whsjVHTK8v1O2VVX76tsMZ8ENESDGuJzX8iryC46i3zOL6UPQi6ncdE15N1D5YggJXziKgrb
r5EPAdmuwW1WzYrd6Cl66C6KccvpJJkCANIKMjkaROFYN9Y1cXrLxrfsO3Wg/wmhzMIB2cMnnQfZ
5LPL2W++jMZoISSLv4LRhvmZNyi9JF+UXr7Lsh7Q9dAPVZr2nEjswHSQY+TVVjRnJlno6qAJ1nDB
usW2YxJMGFJFqxc6HDiO4DRe7CZZKB3d5DGlzp/aDAErYbWpM+myTrAiqonXa+1vYjjJVnuh/062
hZcl+SOoh47BsoQhJnfgu2fw08O1uJ0FOLAwjGzPZjQ7jJKpz6VTQQxsuVE1ui9l+Q241VWxvYvz
+QrUHYqxRbH2nuHnySE+oC/VRjwEXzqj0f2Mo86iEx6pMdJ97C6GD/pu2sbbYXd5Us7jTbI4DYu0
nCdwJAIjC16MvHWvGVKcPGE6UakV7JLSmkFUolpzdzf9G5tnqd5W4RL+NUJzE7buTVGtkq0qtdQ2
J2OzArgchjfRmjejS3nGTRpHoxR4GM6EEfOLEVmjlzKrbl80IpUYAvQOLX6UJOrexi1sQwMey3hg
RXZWd82NcG9G3LW2+1lKBZF7OZLioQuSAorBMEQTX9XXDIrAMMPgVJjpRRg3nExwBkWl602WaFiH
gnNqFBx4v1aZ3TWjFpo49m1nqItEIVof4fmrtL0n/BZEP2ioshkP1TYZJReGMyzOWa69UCQExVyR
z0e81TtExsbvrgrkyg4CwQR9xC9Bqm8FXB5oHD1ESmSXltH08Xd2PWvml/sEkYd9nxLfgmnrRuti
86qeOntKSrwBPfEGlCnRPlwOJkaXgwk1gJGEoVGx0Njn1duWgRpgOpVt2W9RomtJiNXi3YHDxqJK
eqKFIZvxwHdz5Wp+AyayVf3btui2VRk+d+A7Pq6qGNBW2SFc2Igzvl8yzbF+5ynxlrt83mg2b1Ns
dhvvcOXzVZp1NHEqL1g6JjSMXniHF0Bz+Zf7G/YdfnJDffzs/oZK1FR/uLs7XMUfQt/38dff+KRn
hcPvvVPTLj+185NAvbB/d2cq4+UeSl6j57BZ0OWDHqsifMUtXOYrqiKD55QMB2i55qBul5+DVB6K
r40lH+8QSQEq6qQZI4LRkgoxavI66xRvK/aSDkFvRbh+rV7HHIUdJdHXxu/+SH73BaGu7xGfThto
oqCnnCrntxOarB6FIHPkFKuDpMmyV29Q3DF/irtmXXdNBmLqTu66Y3WE5YqmOG3XcpRw19Jo6D2B
opyfcL5K1lhKlcVom3SFT82GZwz7bPM4Bw+pKZZTGeom36Wpq0atFV3H4LHWWx2CD3uox4VmUCR7
/m10bKdvVl49Rq4eVLWM06ztJHngdku7QJulq81dE6lePXIgEWoXiNnssfe8Xa54ri9ZQiSQP2N2
Kx1dYdeaPdODMVoiLFZW/QpHa9fsFu+qlWq5yWPVc1ZWt+sN/4DdRvfqb9zBt0db4D5R1BN+XTbI
GD7EGD+lFvSpae3h9Jx76YugfAQXtEp0cRTBAlu6WybbZOsxn+jnStaNyuce4EiQF+u61H7zqJ9z
EYaWYaYz1pB0LFcemFCx57787v3cEwTxBmYM+fjlDs9S839rKfzFARcWB6tPULfqLAqgr7yovOQl
LasTngZPBl3BUdmfYyGN6Y+39bIk/tIbLyMMh3GKyDYGuY3LlbfeZVW6wf6zeJ2CHbws8moZz7sn
egsy9uXymjS85gU1RU9BOIswIzJO06Z5Xswxa/uUzqt0re9kgucj1heYxFXyKQOjL69+wizpBi6O
aDIdamYa42PlD+uSP9QnbkxKVedYp1ZiVQ/fNiaFojou3fEv6+BfHJEkqIXUPs2h3BaP8ckZQNrZ
mf+6ptSx5uCR+b63ChX+3Jt1cXt7B/+8t0OGbY76oMSsPc2cvunti7agTs5sOVZfk6Xs5HX9sadQ
sTsC6DiggNkr9/OkEo4/d2vCpXmVbKv4EY03fNR7O93wIcnjBxTjGAhTf/uefFDGYO0Egwmnuvp+
93O1xbwWQm99t4q33xWL5Hf+iwj/E/5g6o/f//6P8L/dHf6/VgAvwvgAk6OyxCMbxebALv0IFOhq
RMwp6TP9VBwMYFBhR3/7gzWsvys7amoo1suaIWqYsFmDT3vwQ1fb4rkECwcncHRaGzj0ILzkq/dX
vs/1uSYmAjBUxoRYOqrvy+o1S25h1daCCJkzVvwcE0BD1l7H3NAIEeSnWW8d5+kyKduYKeFMuCq3
04myvobYCMMTMrDl5BK7i/+Ffkmcv9Z4IHDuEqQgfLQuFvrW0ghTPNSJURU/JLdt9CDwnVVzhj/a
tVN0Wa6SBIcyLjwEmlHH1I12QPhcfpav2vbvlGVynqY6ed4P4KzvU1qowrIVCCaTkERLXWpU3g0N
bJVel86rfVYxKiI+Wt8tk2q+Gm6JFlLOxqX2jrXEUQnORg3jrNJs32DR3VuBMGrUJjOl6HqRZEm1
R0NZ7PDZ6mSwAgyYr+L8sVEEj3MvXgIxNBHwbbIuQKlpuRmHGFlWSOqN0+ObObZT8W662vojdBjG
s7vRBR3pS/NrQlgPbpWcGNQs2qQeByFrVSvnEtlDw1hNq7KWksD2FUJOc0U9ypc5LzcYkKMfXEvR
GjoEkaAiySfSq6DbMLo46vcf8/v+mfJ4uQTFlyy8h9c62o4Xp/WCKZajnF+RaNnWK/iowM+A1q5W
cSP4n+NyD6IGRIsSR7XhePumO33GBcPKxDLZ85Rs0+WrB196NXXqBimh/LCx9Lu7W7EMNH3MEWxa
q159YTh005q8FsV8h04n1i3GegUbCYQssJTTJ86NWRcxCRiZmQHqC+MOVOzobbegEmaIQCOctLpy
V5KiyRV0G0XADJj5d0U6lmEys8kV7zcA8gHXBEs9w/bo0ovR+4bvgGKBfufFVqV9GrAPrUkYhkou
Xl+F3f3Pzz/f9SspGuKUHiNMyEB/U8c1GkZ35hW7arPrSV9TJsHxZ5fc0jLdlj07irDvKZIWO9o9
7DejXvBRvXKtT45c2cOPPJWn0lM0R4rm5+9hXpatllL47GOE44UlufUlD7kUgrWbTI0GkAXDtKz6
Whc9BQuMC0PEIaMLLrept0hLpUprxwB0XdU11y0gkSGMeeCgjcWsgTVw1Z9DJXd1q0d2G9zvDvzj
tEqTUldxFglMGlE31HNauVTT0r76Y76XbMmxyPsj/OAg85K2MUn9yHd/K3mBjhV4WGgzLtLHRKv1
ccK1USXJuW/SFbGVWPUQuGStxkgd5izOTOP4wXhbymxGsfEha1/5udh+6YpxBK5FllqyfThOFeQM
G8FNZyGd90fdZADn5vRrlpZDrHLoDGsjKzBweyx4pVXmi91dzEoAPj3u1aXC4vfK9N8d7BUgBRp1
FwSTR2q7+QQcj8CwkMbgUgll5JoHrt9kmEl8bljnHVwkfai23QUqFRih4zETXMl3fZdNRIe1IzoB
+h1goPAxNoJ5xR/hEbHjxZNYdPz6nWLNHxEwRFfsJ/0w8Mcu9LhNkvznX3bgstzCT1ruPMdi1Mkl
C+HsmoyGOEnDGSCVHu53tc/UDUe9BV6cq6EDfcriouJXE9FvXVNPPB97uWcBSKWJrmu+TRZl/33x
gdrhEauneZLBFxgY6d2CWSunkSqKomsfhvpfwRb4FeTEof5albE19dflPrjdWywliDCc7nCm4a5z
EgjYAZJcylgOyLUtjt530ceKwRKIwosoZ8KJnF45E2GhODsqT/bVI+VpRwvnbLiCS9MOWN8DJ9SV
K9m/XN0EOKMDzXiXEFJh+JuoBqkXXV5Ul56imP2QKn0oBbuK/LOu59LF5SQCpQ/MzQM+hrv3i7UT
+TYaqff3NrX/jE/we5vbYFZxxfEK54SimubIAziWNlLHpO9S4Xfrs8DnYGJQ4T5qNRxaJjMuyKTO
UJeUpxEsLad1LDo1jA8azYLIgeju6iFo3iYGClJklCWqWsIrs448HI1QjrILiPLO8wpDDFbNeY8K
io5OnsX5oiMSwBHBxEaEdEQbvORlo8o/9HX/BASscJou6K6IoFI6FQkq/6LFpQcbiPPADYXivMdB
IlXTkm1CrsZJpo+knWYya3a3XpFqVrQKHxqvyDSpNDbpilyzIvGnXFG0VxQBn3LFoL0iieSUK0oN
5RBmx4/YYlHDD7QHXAtulz0yP0moOYkMx+qCw5na2eOAGU6HtD5SpDmS7497HG/5vNAchiK8gD+t
gXQ41weNhDRrT+07GNVl+OnkQfCjY1Ed+4qJTb/eW7VLjaN9UvcPpE0lwyZRZtCbFaHV5oIgxMbF
zqvTeuISkYSBO+f8UgTHdAJidDYPvsPZuN4iWWLOYl5ponkMYVLFxThLo/xpaOnYgOecvXoP2xgW
9dSUgQ4DXwjV5HyhEh0y2m9RxbDwkYrq/HL/v//XFoZBZCkPkCaW2/hRlaRj2ejjttjlehxOH1uU
SWR3nP3YB1gn1Y8nJTiDmgZiLJlvHx+8dF7kpcc0BM45dttYWkKqIhl7qOupTm8R4I83NLihYDaI
8IZ92zYoIjmCCrKnBK5tXjSSuht9jrAwMkSa1yy1q5ahcrr0dW0IV+ZzN/d28z25CfnN9/7Nt776
M1J/fqtu8gd580ncfIrubz59d/PpE3z1vgsH7XX2leyECwuGeE4e4u18Bc94OnruqD66uypakkGg
zu7l3tjk0Jp7tKrG0sL0ORt1wn1QQrXi9BoahGDu0BejljsN5GoW1liTDMTCmJRuCkwaV8nin8U2
W9zFWbafhlpPXVclw7p2Mhxv57PJj9uOXJjiY45cl2rWtbFjzl2X6da9wHm5Dlc2mH5doTkvv8C6
gWbdYCpGqgrMVnUwErEztODACIh2t2yaZhQ8mve8SrPEa7oIO8qKqCGkntlJH4rF64CwYDi6RYaX
ssyFLuwinae+4Pcf13itsa2jSQPAhmDfKp+ZLETbugbda2PEnxHv9XV3MGkwlOj8zmDaU1JH0agz
ltT5t5Fwzk21xOhqLSPBBIeMM7Avc9iKXu8iomQw9aq0vSqJ7ITjY4ZweLcUUdQX/52+JFn5bbz4
ZvuoF8OCqijzOSLqTNeNCHfq5eEVC6jrQtJn/MSblxs1jxhLTHtxjhWouaWhenSnb7XcOSy7jkHg
3Rkk9BQyqRB2GX79DuDTL2nlqR/Wq3YW3hGGgBWCOtcF7wrCTqrB2lhCp4PXjplBAVseJuQ8xGU6
b8piTjH/sAbHmwmb0rDOS3zMPuPtfV6CBXH6rutim9ztx9mUZgzFw5DNAsovt8Fdnmq9QMweWyUC
R22kTXuRj5P7nNL90EaqNNP1ewbAgIKPsohqgH9E7KkShfGz/7qu6zoQvH6sFFqgwmnUr7dSgUWg
pMeSYpW8/BlLI+j3f/r7X3/UI/D4hnB7k0pWmx688UJh+HoIibD4xz8r+3Rkg6kqXlBfOsS6UM2A
YdIBTXU3X0lE1CahuyAv1WUxfJBWA5McDH890RkiGKYKyWhW+Hn3MMQNjUV1XW6gwr8SNwzfEKFB
gEPjLV6jiWmAqtmVyeJz8+3nZzB8ujJHqAVpcDUvmOi8YGHDTS2R4PsoEuqi4ac427VmLNCI+4aY
mW1KaJqvkaOq7W6u2lUWSTWAkSECy3TGeTBBNv71WYhHPLoaxXBt3CQM2JhnPBEo5zwoFTiEMxyz
dqXqolevD+mdgr/AhevZ7as4X2QdELOKkKijdRGFFRcrV/GXpDtRE0hfJWrcLVruHuqwxhwnfx5N
ANV740RaB0UN1q9RdbSwj1gew6daF+OUcTlPU+1Dh6AvbcCaLQH6fLNEpNTj0+FR1NSRGMiXvFe8
JAJDODz/t+uvMc3jbQ2PrIec81WdmKPFtsWXJPcwoawlTEwlG2EaSJOGrDMw45E63J1yh9Okk8U3
a/CdqgaEdZ4VpQJLeNiVr/pxHjheQ5LJN6HPIQQcQTocLT7PUhS8ncsRMBoQGc/Zcni3DwnYi/XA
ZT1xBYZSz3zJebEAhZqjex6XHbOtKdrJxBlRW0HjU4lV98zp2ZVu7UjWC5VV7XOy5DgfjgbBVFJi
AMyEIZptcM7Zxscjm04XxH2l56xs0BLHIt8pVYDiOgxuzpPn/jFWCBRLAu70SE03HjWCSZXj0wF6
Q0cgQK10dLNHVvX+jne5Srp3a7SAB2AsWBgJJm2URqkWOYnbQnVuC4ssRJsdcqx0IURrf+TzOt5o
WpOJaqoLJxFvDUhd/X1RfOkqP6KmZTFnCYaGaFFfAvPAmz7O9WJBIgDm5TSmwY2wkM+EDZUNbWm/
D11qxQefOODOCSF5gf9WCjX3DJqQaD4ZtfI6eBS7LXI/moU+me6Rjvaley/QZpxGzt8Lo6ADKC6q
X9S/zNvgdvQNqzghgY7YhFrtJx2WWnqykRw8mfoDECpo82NTaDdqOgdxwt3dTutdhgxGqWYsn2MM
989n7KYDRkNgAno15cy0MUU6akMDqdC+YoxQSsMqSxs1Vo8LzFXhTc8wb8LRZhLTPMq6WOwO3fEn
T6F3zDgx7KMwZVEcGYEOdwfcJUGl4V/KDjZ9EqkGxbGLvUi+HzSx6ggIExUj4NS5iGruZUB5YH98
eCHl0ZkAQJTsUcrzrDepfe1mson+STCpRfg0wqODWWrkH+cP8VBsO9KWElPW8mKX3n3dkks7QWFg
PKgZWfpFZ3KgKPH81d4kordKso1eMHLBDJEFpGWh3GG6dyMCmueotGA5RAhTZBNb+TMcVTMrITJn
tjok61UF1kt1VOsTbPgM3EbAdjn2pvfO1ZGhafGG7fOrztATFsQhR5i2KlfFLlt83u7y+9ek/DAv
N/dvf+EG1t7v6YZ9g+WUH365N172hv5waHz8gCVj2xSLfuLsvtrukg9KCtyrP1sxD2zbjyIx4ZV0
QQiBpDes2TmT9vfo2D1pp2gsHbyXQ922WBgRw4IGB2q+s8oLdZxZt8j1KR8+uqGyVl3qT/juctxA
fctMuWpbUrnqeJWsD81K7YwCEH5YAyFHo8KN5sjjdKA60a1un8SgNoO8DyIcByis9ErddobdZs3T
eeVrWcFLHlrRntIyfcCBM6/eD/D3/obAHdqAmACj2mzkyPk3rx5ad/FUoXv+2hgchzsGHBy0G/ot
OGzAu1g+E8+rZFtOwfd967UqxciMcSGDMcmcb0AW3D4Xy2XL71IPxh3SSAnneShevG9+/PG//vnp
e7DANt7bhIQGobIE+xiRG5GpiB6ygAEPjUrzDsYT6zmXyRYjeWUTMNBvFR4mfepOZPoSZ/yyicTN
Ufi7jn7XnpQ+tBEBxzvJhu3SvQPTHsLjI/ori1y7Tm83X6MR/T93397cNq7l+VX0j1O3Z8KYeJFA
b7l603ls90xuJ9XJnb5bW1tbtERb7Mikrig59n76wQEoWRIBCiJB0umq7tiWZYEAzvvxO00JThJF
oFXGFjR5UZczQ1gNa7PhAK1fVIzKzdgcThG0o1441/w8TBjZWQZzNolQPKSubgb+hF55RIeSJeb8
L2/njg/KW+vhjXLGRNwDb71999uvDqxlVpMwmRgNFjjVM5KDTV4mN2mWL7Lc/Fghhuii8BlZMVq4
lLEJ95ckP1uumCWKtAY65aGPCeWhLHcCuG6maGVprjTXssSvnnaznsyA4AziPL3LWuPaETAKG4xR
8iDNVZnLLFiqd6pEEISHMxikpHKoRb54tA4B6KH0Y7nYaGTDpnyQGtsR95xE7nRidbhZCGBzMVB1
ij5FM+cDGmTUE+frWeOpanvQz+UkBBANY9VZ2YsUaF+TgVk8IDMWeVojrzyVD5+qoWGJJDP4tvaW
YrUlPf2KkV0p6uiqmtn1aYLTLFknxmxKY1IthvJa5ksHF3dLeftlNWwCKpatMoRHvGNQob0M8XbR
dSmD5bYY91ZGvwfwZx8WSsLhmOQ+WWQz9YOxFYhC/WvUq4xVdL5ZLYK91xrmZcVUSn7f4rayxitd
2WzQwFTxtgnEs5zHJo8RKowQY35C+HuFZro/oR7+YQQ6laLQs0LZu/Lq7NfFrpnAPKxeKjYqhPeN
N1fYtcqiGSXALL2BNoNqVRCwwXUGNk5xc2OJogjH4UhtFU1DshI6UBjzWMjYSF+4U13KGdZc0zi+
0BH1YpQwiPewxzG1xULl7Whf5OZa1o2xx26EQ56rdB54r/LHtaWMEXM+XO58e8+nexKgF5j4Ohe5
PmiYYnVZ9VHa6tQwUw0qLajiaYmD0nr9mqU0KYrDuJdMrttMZckCzyCb2RQIHUQKEMr74b9GvsMI
hpQg0WNDxzkjo2NB2zX1DRgV7yMabiIIJgTrL/s3T5ZQx2Q2dsWEthEHDsRYpuvg+ibLk4VZC4TI
0fjiDkuru1aSPy+kdS9vqbT4GCKUQoh3QJPYQjSroqBtPZDBuyWqHChEKHzeadVBKDx0G8TMHQA8
sAHAw23uMLddaHELoZhAEmtWArDOtHIZjWI0ihwxbpzodrWSyloD66jqq0Bucq1y3XrH8Avw4Cvr
bnWfQmClXBZ6oJA8AGN0HisCPP8hrW28hhZeRqLYsbPUcvK7kd5Sac2LmXlYQUyFI74PH5qHqo6U
6+lsECai3Mlq5iPqy3AolSnZUHQhvOOZ6FsStDZkohhPaBQ7DaJ8WvXTx89uy8pfbRbr2nB5WAMh
TnrZ6tOaP21/l87UwdeSfVLCDrtxNU1ehKPvmzhBz47Mcvv/DcN+KGJ8UHogcgXOxfj0wMJB9w3Q
2TTCfa95YuPSiAVb67lzgvpGEnU4T+5T9bP8p1wm6sWBGEMg4sEg2royW8AfO/whFNwhz7rQsrpJ
RjPUXLfKz+pEBuN3U4JVu5tIDUMmjlYGq19yBcMd6PHP5D7RN/yP3z8c/lThUqh9A5U8rCuPdncc
cA2zwmwmMKgAR8iXf7B1Zc3IMtCXgTvR211xnwbTebaYBetVdnubrlTxUWnptAyxIxaU1ZMrN9M5
QBIfQX5sPTkcoectZeKfL+K3fUgT/cm1Di8ID7GokyG0KcFVnGrQ2L3Zdzer4i6YZQrZULqZ9voS
AaNN2ly7kaa36OXyYSq4TMVeNqg94dhPf1K8OR5AQ1c9XAZhwz8L4BDWI0wAosS8eAYag+Twee7l
xQDZJNNpsVKxhoo+qof5Sf94tVtejQupj0xlGD9zs+H9BXvTC0OrTzYxNOIx8c9Mp+uIWNxONbWr
gNk1zasKICs4GnUEqT3zNOwyRfrTrjWZXs5hZ1aVqqDPWqHk3sfOfc77OWRg9w/TsOC6Q7Ws+SwR
Yz1uxLa2tsDkfx4JCgy/NL9dz0tLWVnoWBbolZjsBHSWPd6pdAcTNjSxHg2n8kSshJKBXQmphILb
dP16LY3u6w3gb8EsCHNZFkOOWXN+XmGCsr0sJSJUulfRCGfS6FkBqg2iIzxVuXdT5jvCuN0deX20
3z6bHy4CKwyN/XDFzIJhoaChSCup1VFPUBo9g1OxXBuHWQGoi5XSUI67a35YZPnXk1W5RPph/ZiN
ujRVDRwOEun7TNeljkaYe2nik/1XvEuhrDqMU2WyMYkmVPQZpZht7pZBAnnXB0PelWHHGumj5fVR
lwcV/9Ov2/abZe2wEUCwkuFibNnZmlFQ7gjUyj1W0mLeOydUdZTmLpTQsXyFe8I621aPm7HOEAwp
jaMxqKTJVuCqk4B6Mpq+Fauv6ap0H1OhpkaGscf6i0YYdU48b/QYG/R4y/U5nSo2Fo8iLU5aZwKq
YcKo7zBUcf0nePnQdAMBKAg5bXkHuPqC/PxiUdxevX/964dXL/RvruDNPybLpfy8SkcH1Yhgdel5
ui6nyTJ9Kf8wu4HAXTp7AZ92dfpv6oXGE8KiNqGWRs0RyEe7NcKawGAlRsemCIt1JaKwXdrM89NZ
rGJpEPftXzvR7HF1gfrvORAyZuFzuDszdUkjlfccynO+PQhzK1iPsa8M0zju6cqgsTD91hCtQjSm
MArE2/r7jeQqc/P0a1WuCaP0NNXgYJHep5YaaOY6pLdnMgEyH59AEMYjXJD092y/M5MSjHPB9Hlc
2gV+P/q98ValmEb7c2/c5zxZQNg9DVbyteIuT0tL/L1zmKQl4ZgzbDBy8VnI/ffPgqcjJuhgV6M5
+ekF81yViLRTzScIVlXyG4snRNSu0aUneSH/Wy6SLB/fhiMh8n4NN0m2CK4fn3qAymCeyiddmfEd
AScfeU+tnBrYiUUM87CHE1q6Dc8+zDNW6ZXeLmPbFwxJvOA+Xdl6szihz0q1Kj7ZI275Ul6oetLR
mYeGSPR2X3fJg055W6xWV4zb84m3boxtyblZrCOihl9G/R1JVt4l6+n8aUC2XawgpHrEyEAn5ORr
4BjQq/tvo3LlrfCQrcyEr7js0+vPn0dzSVpV17qSFOACQK5B3mMDMYUhdWzb7vAYTuoSLBnsMZHs
SNZGTRGCAsX9HooLq4cwa6WTC3/OmZzQ44jHfEKdQFVFq2PJi9MEG0eQoeLnP8OZSbKtRE5nWtpY
INuIkxxufRzyWXMp8FRXgJ1xGJfyhA15JBY9yaFl1wnjSTiTa1VSYLI7s2P0wh3YohkSgjt2F7S/
LovClp8IYGxNlQVuB7JXV3C48aOT0TnmYtUUtJS+quOc+W5kkxfw1cpFAhPH8RviVDKzKjao49KE
wrFos/XNb5a3K8mfjVyKHS0kL8dt4dA4JI6lZD1x6CkdE6qODDrAMSk+sQ/gJCDdGe+RaPJAHlWW
VTSjK1EASuppHlmlDs2ilqnC4BFkippbNWuIYeNIIdANdIcNoKowus+tUKLHOzzRZCcgSNRCCktt
PL2cpYt0B4kz28DoSA30oXA+7DDDFMCaeNxy1b1aMof17YQCGDZsADoBKgmRdVA660Uc1s3r88wV
jBBAt40sgLZOipl0ySgiKG3qHEAhAPZwMsCxVe3EtrEKnAhH3030GxL5LmIhlDnNQu+FDU/6vYIB
UFB/JLVZLCAlqeDtNFWZ9WqMwAkfg+FO6nyII1HRn3e1XKXyESSRqdOymB2RPB48PsPtx/e/G/5z
Qwtvd3nfVoXu9T0V22GOlZTHj1EVlu4gFMAGsc3rwBw7QqJaVtFfd3gNdX8zhsEp2PtpFl91H8F+
niu4Th+LfBag/2e0bwhR8GYdjrRqVlCA+yfOtIcQVC+67ohDx2e9uFVU6pAad/dkIMdoQuPQEzke
4gIv7tM/0uvP1uHZmFI6cUvEW7ZXpoubZtKLJem1CQgfHSAsZGyHgSDAGRq3J2QI1kUuqjrTNJ8W
Ck3UPAsHOeJOPktjVfGyKiOX3+3jKBw2IdW41LpEjY7RhBJOWxDysHgYkehyhwsFCZqulAH9H5+/
qDY+KEQOinwqz+xrkMxm7wBO9EP1TnO8m7IJDUVvCnCR3ibTxyNPVcOWltsQrAUOInacsewh4IDN
SQhVitr30Zx5LEgaLCj2QTh7Ug/6LP+Qz/TzZr22jeJVrQjC78K6+fSNAp1qTcMQOaSYPS9fYuyy
oEjKHOaLdKURCyp9O5pxaShzYRMR97jgT9NFmqyu0PFOodAWh89PFZZzualvyb30qxZJOa9Tg6MW
vCDvQUDNirSUxoeuO5LLt1eOEQbxwSJvJuY6XcmrudcBBwW5Y5ZbRBotmHlbVpcRwu1l+cbasC4g
do6fYVxvk3/Ni2/69+2I4+AjNKWoZGKya5f2RzQ8AicZR55vT1m5W0wdyxBe4jjOULSYd6eG0smX
g1ThDWSSWzWkjvzOhOOPdQqkTUiv3Tys8wSbBnt1ptwSpJM+BMNmA3nrbWIRLbEGmyd3c6jJ8M/F
esyyfrY9vqlgPY24E8oopb2a7VJ1rNbTzdpirot2YbdhXRvKhGdZcZeUX3dYbpqG9AwEcxU7aRfV
O4dgGnLZRBKsW72oT1u5iXColCet3IbGSyk317vKSMiJJJKDzW4LYqCJQ/9XcpwEsReJ4AguJfLF
u//8+4dfpJn6e/qvDahOJ2cbQ8FMFPXkvB0+kWXUjiM0Q0u6bHEoMIWOYNFeou1GoVTYijfFClLh
MOOzyJOFGsyj1JAlnkYEb1fFtHcEcN7FbXLwyZLeJ7hNzd7R594t6QFMHSBeozafW1cBR0dnnDnB
MenRfD5k3yO01se0VHCtiqmlEf1vF+Tnep0z1OajPo5jC4pvnqAml22xaG7CndouSEJ86FsTBbJN
JiJiHaKZpdT0gB3ZUMCCoHW2U6mhk3SuVCakGWfpTSIPV0MpSBFiTheQdnbfwSlXlzl9nC7MEXsa
tytq3Z0vjP8CpHQ1arjhlCMK4NmxZ6rROwtQnXQokW43If2sh43rCdRJw3YSFxW48x5lgcwwCQzk
1jLX/RY0TFw0iVulI1oxl7nLFIaAUT+MpPRpXqjxSCAi18XKGn+JAHzLP8XbRqgCLCBp4x2Z9gkJ
exgWvlnOEqmIg3kGW30MsnV6Zy7XDh1bVs/aq3F5AyCdNG4FGpn19hU1zFupw6wD/oyRI0Wbcvvm
k2u8QAOIPqaTuI3T2P4pgtvCOlxQoenREc+kmrzVQ3RdgWs+lcfs+W1gGUhCqjzsJtsAMFFblRKc
z23BrDBXjWIwz0SfiafqHFRucHY0J0XzjuMYii4XVLa9IeyIyekmjKthq67imEt3HxE+9uX0IdWa
TqIu1xAWYsLakKnHB6mECfGvoe7k8ySKEBsMoEjaYIjxYY+gSbpDw1KbaJje7R78ovpZTVGqI7Jy
GAjG8PAWyTZIEXkvZCvTfFbBj05TSNOYIkqIiHYhpT44jzBPDuxSPhIEKMpdotW4+Qi1SxA0792w
eJ3BUbvKN+PK5UZDL5ske7vwV/OZrtKbdLWyhChVrbN3AboudqsG03kqJUXNoxYxtKb48+Dte5TM
Km9P+DlWubNGGuWsXavfyfNsJM6oTS1XC+IkzNspbhMtlg5hwLLE/h2nw4WrWlfTicasS2z4LntI
Z2+0UgcRD6+nwcN8FZSP+RT6a5pLbRm0Ywrk7bA1vKDaMlTsb8rgLr0D8a5y2Ja+v/DsNH3DBagH
2D7S8c9GiyoWvKfFqakCAknedbAnSOhy5Xup6ObLr5q+zEEXBkGm8x/J1wVEFPe0eGi5gBiPt1vq
ot+97FabkE7DRvraLHHhrVaLY/PVMpcQbX+7jQe9Wqce0v7ouK+T5haudWm37O1qWV9cFNuUBBrz
btlAbFvJqDE3y6K+6ErYrnZMGRVFAxFydbViRBlFSF9XSyxXG41oRxE+1G63VzuiQKYIDcS1282G
I94s7cuMQmY6jhAf04yKhqVjPqZh4TK82svVbul4TAkVD820I2paStFABvKzuNmByXhUnqV0WBsq
7qp7Fgk05CT5dF6sguukzKbGMl4m3GKhx2u5Vribw72wKiOeVl0A9AqkOVfFwh73jKG0GAmfp6rb
KswlVZEb2ID7BnczAOzgMpAgQL5OdTfG8gmhtzSDWpN2q+bWYbJluoZKKfX9P37/cFUlDuRq5lF0
UMzMmT8ifkqbqspm+xgKHiIYIemTpuzZbwI5StL1oFUmdltu2wBcGDqWobjJvMNl4XJVV6X66Zie
4gkX/oIRRxuuqiHUE6QP66v3SVZLD00Ej9g4Oxexv+jpiZ1/SmqlNxTqw7hXAmvo1YQmVdr3OWfG
gxYAoojJmDTGGaMj7Z1zEo9JZIJFyCuR6UZyK5GRvsWYXt8A/cHjcQUZp70TmXXvKHRq+e2RzGjn
9ZeLRC4PQL9gQUtptgD0GQvsOHJrXj1rQetyaohi6M0hqi28TMyFGhj6Djtb0XurbYvCmqpsAHuv
lTV9uNk1zCRR/Rd6aVWla7a04HD9KWLzyoERzxBFFAFstG8r/pRLJtUhiMqoQ5mCKksPX4nLbS+R
Qoqo2hmaykwxdqtIOV75CKrb5h+EQqqc2JdflBf7Z2lB+EedmbMEOafAfKvm/RkwSDBdJeXcXG0n
jRoqfFzf04nmy3mQLFJ5i4BzWm/SCiaIxUegmBvpNeVgd7hcINTh7q13n83SIkg267mCTYCPudp2
82ocFvWOy8PmXt00jCiPOpNQerdcP74qbu9rHx/hFppcdXndpgdIiYsFOHhlkEiRAD+lMyjbmRYr
3Q9Xjcxez7NVAxgx1ChTb/G360WSf321fljX0UxYC0vx4W4BtLTS7ezARUGyXJaXoRmhHoWSdEmb
XMuulVQJ1QpOaEvPQfoAYLyWFjsEgS8nQGB/dyqfDIBs7e3EHOrbhT9BZa3Ag3lKyPPVKiykV9Pb
rG6IxW3c6e3lqqOrDD6F2qRbbK6zPFntjSk1V+eGVCpU4XOfONCN4WauhMZz7uv+tpjpCh/EeI0x
TEjh7c92TwSo43wLUFxltn44vsNQRNLEbZPdaM0uBlKCQB8N2xCT8YCXhRnaQvrHbvDZTqtULRdy
s6vk8XoDAE7mfnrC2hm5vk8YCe6BYypcXg2vv4vOqzxEcJtqg0JNmrCzE47DdrUkjfcgDdFry2rC
rSrZcetP91HhL09XqdRThi5kmPPdx7quh69Fd+25OIphRtSID2bozgqBRDl5BoKItanQcKUV+Y76
5ilQijfXsAqqWD0KCJG6Tfd2XO4omqMWbgoQw8BdwUddvo1DVZ/at32ldqnbjr9noFcRj3ATRuMJ
Qm7B2/XnkBoQpqx4pDhI4M2krWhGV0XQB4Gx674/fvry68ffPvvfO4MgiFyI004O/ENZvt7MMshc
agRgeft/6sytdUIaYt5kmD1NCl1PvA8Fp5a0aC8E/YeMPQNNQZxmsrbbvEVrM+Gbh4oloM6WdrzZ
No0JJ/d4l67nxaw0HGww4QKxcySWiU+OEIkVLvM6udWJhXJ95c5cL3ScTP/uCr3419UFeSMfP7nA
oYqsyT1m91cXGH+W8uCNepv8Qf628m3hV0+LfJGr6zcpjGP9zssL8q6W4ELQtE3j8ckcCxR7kl5K
NX+bZ9I0rVzVQN6KdvyXycYiZgiEUNgzUKVubSvIgf2qBr8dxe1+3pbkmFDleQxQruGAj9CAMx+1
OQvvN4KcUoHnH4fLfbCYAY57/ByOwSm46OcYGmjCrR/S7TEA2OJmva3SArSJTW4DOoMUgRQTePyb
wMSp2t79CJqDS0gBnbU5de8bj5xKltts/D5Lv1kyqsTRj3VeFoJIktbupLUvTycoVhkMnjCSHCTq
0TMgOdSq4LbZaDpSypCzq2C1r5Q59Df0gyGSDJfBI+/3YTZNKfgeLdYybRwmVUBOtgzAUjVHcSPH
kGXPt02cAKvdD1gnRo1RIvDaeeTphIu74Jt8MQ3+8fsHY1SGQikIarT70dl2f33Zn5T9rmsXpNWt
qfnzGsZ/vwIY/TfzZPVGOkR/Cx8Yfyn/IeqfH36Qf3W5+7O6aTahkdd7qZKe66JUz1Yh4hgnyURu
yH+9U6bAzDexZNLuWP3y5e9GkqECasRxbyRzuLgmnOzuFpA8V1Pp1cXJdbFZ/6iS7PIn+Xoh/2BV
rNTv3AlL/qmRopywis+gKBetFuHYDZL/vHvcTbd9egnGMgfyOIPq0MxNLKydjrWfwnq+MkOnIBTG
z4SRoNWtL6Lejf41CMNZMd0ouCj11r9BbGKf4pGCrcU//I8DUbileU3wl//8/Pnyh1oJGnIsOEHm
dPYmv8nyrITJOSrErzBb18V2ms4SiHp35uaAMKDqtlFmD3cLsD9TSc2bu+Xr8ou8t8tpWe6NiXn1
UCdcJM2FVrTkxkbV5JX03gYphqkat+6Pccw2MEx1b54xex6xVr0yesZbbdfKANWEK0kQAnDZ7IK8
lTSp/+5DBoIYAmrzVXqjf3OBiX6psl+r9wOxXmAu6VkoMn/3Rv/yzWVSF8Y0BsnIPBHPnpg4JKM6
ZCqWZgVDUXvGeVpL8Ygy6RU+/zb6Vm6ut++xtSYht9jb8T3f76++ur0OMin1oDZW/qaGUEknTLQI
5DRk5ApT6gAj4tjK63KR6UNWrlUIc5VKXlykIDurtOuDYSynY+mxG0c2N7DFwhFS0EHiKuCx7Qm3
Er1cSn9/XiGkWxtqdJXoRcLTHds7QTmMpIupd6FQVQXP08UyXRnoSLrZpI1k776sW0OkQQ7I/3dQ
lNLkA5Jpmm8XRXE7q++hXMD/0mtaJXmpyvKVxNvD6p9lZXK9MK8L0+yIvyhWNWZGCofSUphPJWOE
pN0+n27OdccPhqAGcptw7+kByvogDgo2vidivkvW87uFyRqLqNtIq5bW2N5mLdENCmHaNhbwln02
ZapKYld5YhF7UPFAQ09HKZc0nSMHD4mMae5dWYw9eP3pGn48x/t2sf7c+lkbTaDy8e66WEC3R2kw
gSRxqFDu+avUAWtVuFae6RWkp3+8vIQDXcylQaSmU56apwagGAhqZ/xQ0gPcHyR5DfQUERje3s4c
O6NOR41qsFQlYd5GhcPNSrl+EySzYqmnTlqr7UQopXwUdSafe2Vn3hhoR40xFL5MggeYdmFifqgq
ailgPF0WEtiXgNu9qArxwaicLpG0Ug0bh1AcJqy3hTfrG25cVp535H1ZExtyTh0hQNvpR6dQH4ba
fDZk3OswsuUax0IeA877OXRoaYEx1zT0xsnlojlKhSPpwojegr3mNE/sNsPwTPdF7tVosEQQXBgl
mOopswQk548iNqZTUl3YlPr1e75ZnB4UxZN2NTOGi0nvrtOZqiCDGsa9meXYPAhFQdR73ac5cyrJ
DvkrFdtcN0c8QrAwkKdgc6vCyRP3oGsm1ZtUWeQsvapZpTeZqi+S3k357Ua+S9kBmiu0nSAF87fk
sZQsAvyiP8zALlhaChH2FfleF0WgQLqWyaOt+EhANwWi/VK0mZ5RuxII41Y3uXRNshxieo3EBtYQ
8p107UZmNiKDso4fIdF2CW+4INeAgBHRl59++e3P6d3i2+wtm1//r/96nL25ffjPL9/up/i3x+Sf
P4efbq+uTtEZAxhxbzy+yTN4YotnD9KkB4mpzW4wQ824A7xdZZllg3dJCbOO7QFVyDNMWuUaLCsu
E+kOA7iMtOtuFRYJpGBVNeEqTUqzgSJIJM0wNjp9H13OIXUr/IQLHC8Xm9ss17UHCkUBCg+Wy0Wm
zZLLh0AezddsrXMieboup8ky1e+vahiqGMHuzLU0bt6StCjuHpWcDpmuXmhiFakMCSMR6fdeq9oG
YzIkcu2HOYuB5KLLZD0PNnC3d1meWMLZFIoYhK8iBjV7skkrMIBtDEOPy+UFRHezhcoXLixhDjXe
kouufKMYBeAdanxzuUf/8zS7navGChZCSYKmZazQdw6JmVLiTMwYg3H8YrrYrOWqwG9LAznDML2I
h9TjAVfD0s3ZM8EnraJxzcR7NL7Y5Klx4oh54LpNlRiYStZN83WW2MyLuF32rnlVVeUY/GuTriy1
jkrZiZGlvuFSDuV+JbNrge5d4Y50TZMs/+G0UFbdRZThYXLumDHfN9p8l27t/mdxzA61wzYS0a0T
EvlslHPDe3Q514NeT1BtT9WC1sh2DIqNRJ6f4LgJ1PAsNRqLGZ8Q6s1WLVOo54NctY5dStk8T/JZ
OU++prYQP6DujCs9Dgl0eIPxIgzd1KyLwYiQU+cjdiGs7YtgVZfr1QYgoINmzDyoBcVO/IzbMJd+
wchT0FXihDaJXWYKHmoUjVR4cpBkHJEJcUqL4W58XR2DAQskJo5TCPAZItxsnIPZir2TmqrMlIuu
btO1uXUeeuedsBHPOWRnVEhOkGPMEJ83u3I7ofKwBmRLfDYUgdjJ5DvvCqTgViWOyXSd3WfmJhem
sJlQb6Ruvg/DaPKQOaKvOl5HNcZVNaiviwqXNKugu08JAKFnuTbqM9y3PnvOYY/TKgzCg4QKz4Ql
PfEnW0jeoJoNWyzNcSzsOL2hHWXbHqVu/4MjSWLRq6ixELwdA0iK/TiM/SiYm2TzUKHhInOcHhAp
+2buStLKq7BDHzFEJ5jGY1yFfjxzgJtPKO7neMrtAzjLPl7NWhlD9tUISYs/CHDp9LCqVdMuv5RB
WZ4XU7nlKt0hX2lMJXPVWhRR70SPbUSPvWn1/5+uimCR5reSwFTnlBnoGhIl4XDU/URdDYKGTFjU
QgyfLuvb1108PLmJ62JliDFWY1Mp7Zv9VNX3AbhEqaHDzdYpURNxRmZCfMCE8ZYJ445MGAlEvDMh
sSOB4TE4wnDh9vum0kRgBA/JJXvuaHGnhiL8ubytz/3rXy8ZGMNoz3GqHLaRWYLsWEI1h/6fb/Nk
LX3d1f89qns6nzOgryVyA+4egljNyJFApswT70IsJrGD+AnmiFU8OEv0rStcLFmqzDQ6BrE0W7Ju
M7n7VvbVMx5hkrrPWsaGYQqzdJ1M58Fso/Ao8mKd3Ty+LXILMiSBUs+WK+253GrNtAFbn4bxJArH
iVUcs7C2FOBVKGBTr1+ZAw3y9zqxc/WgIwlZvtyst+GMcnN9l60Pf6FiHw/ym/tksVERj0+LNCnT
6m/kl0e5Afnl06+/vdI2younO7pCL8p58e21fiZUwxpk0kPn5Czt0thGokdr0PNMuJOfiATmlEoS
jv2JYH1NAC92vVmvbbJYFcmesxd/TQ80illbjs1LgCa+SdeSb6sVjXpNoY0w2pldm6astEnn1KJO
D/MVJJ6XRa5RqWrVEpOIYh8LVWjdaQ6my8ywFMdiEgsyDk3gUOBhjpPGvSz0U9X8cvW1yHiwqqXf
JpRFvtZVlQK6ywZWVj9eXbwNL8T7i7fogofw/c9c/YvVv0y9jo+DZ5Cd8/JUUr6fpC9AEI/CFssd
Udk///7hF/nj7/rHd42jc+KYQYiou9Y2yZ36FgWfCIF6W+0nrSmLvL4sbxONPXPZm5v6ujGL+173
pijq60aiS6YvK4sFFDf+UawWs8vrR3ANdBT1G7wSTMtllcrV8InpvaW4ixJVdTSarWbU9XtGmzK4
9K+kIfX0F3sJo/Qh0Tjvxd2lzcp6//SHNUuLSdEW005BSuumlKlodpZaxmJbk0B2ByMCP2tHbudH
TVeF/DM7+hhGEPfDwwmgaMKjLqG4CuH7c/Xzp2KRTR+PvbkT7djOH1a5xdAyqlj92LuLwbtj+Blw
1xMhHjPX1pvph7egaBV1itjtb6kaWH9i1gJYt538kWmxKlXp5BOfEPM8PSa5A1rn2lxwN+Kq8J3d
mszbPsJtASEWRXSrFMSH6RnohMXhgIJMGpBmUwnHkNnu8Tj2D6IuumIaQT98lwewuiMwxvfxqE9U
dSdTBfk2koQxs+OLLP8lTWbbuQzbd2lpo356qvk4bAd7WW/WDQ8D1E9lHnsfa+jPJYy3uQg1IzU4
npFqmXkiPXTqOB7L1euEyrT6aFAKMEjeyVp+/KWm5SJfPOp+nXUSZLd5IaUeNmdOJYfRLrmrRVbK
R0lXQEbBoR8USF2yWk/N5hJCJOxYjbVPuFCWqzJfegA3oNUYUa9i0c72qe93H8cbChDfzDMp2s44
ARqKdvGgTmRgpIJYo6x5EzmbdbbI1pBkqzOZgEqlI9DdxqnHuK+px1WkE7fKh507CvhMqfLp42d7
ykL13Ur75YWDwbufb6rZQFXp7KHmg6E4wYQxNIwFsO/FlO5uDMLQcBiKzrLaMJ02SAx3iCYs6inq
2RyogzqNKGK9bPTauFHKw1ay4Hxaq9CYead8b7vR66hVaaJV0WcKy1PBlRTLGkcpvK+wTQFQhwWj
HkxnUC6VG6PULbQIp/lMMve2CFurntJkTqsadDJQiiIkgx42i6JRYvithFKXfVLRoz9m0AlmlaAz
N1vxWS6vtr71alqNjLsgry/we/nf7mnlK6Ab5Uvb55HfGp9Ivr57JvV9FWE6jhVEApo8aSfrQT54
sViUa6kuq1lMTwPv5N5v5IPM94BdVV/vTSbfhs1mNQO0z/AZ5nVozAemVO7Lr8ly1d+SKmCLzcoM
ISLNSOlbDJq7Ym3qTLocKRNjZJKkY459B/+wLfiHybBmAYvpXys4TnyYclUnQWVjGPMYkbwrEXs1
iy1RSD6hZyZstfvmfrDJfboXhtQROiczSwqIm0J+xixABp+TYu9OJ+7L6VQWKyNe79Pk3pBJHIth
3RvG/W5ratgWm1DsKeF5FDqep2oYzDaqtlz8lOaANR48Bd22keFrXStXYUXHJ6jEuORuoUvzyCap
ZBnhnXIkhhCeSckHU4jomdUEgiRYe01fKfctokigEUWC7RMauzUAIDuO/bvJdgeZ4GGtC0kdrfjy
rPu0mM1hdLZxM5yM118DCOfWhTwOo+ESZH6eWlDViO3BH9iTisSSZcAT2qn84IxQ5k5fGofIRlS1
W3m2Y4nVjm0TbToSUAexWWMOIwakYeI9iSNVaQBwvg3NCTEUBQjyfRk4zK+BQ3Qms16/iij4o4J6
jFcf0kItr8Ni6fN3Kxo/cLm/Zfms+BZUA8WCZDZ7B2gfH6r3WAZUUzWgelDjjvDwe/Hf9iLiBs+N
IHbOybkRSjDLYLq0fKqPOpVTIxwO08KEX3NOafo/FAUZ2/wAKzIajBFDJHppVzoiAx8XUrUvsbgv
wRHoXyITPAua0JD1l5pvIVGgv74dwMg5h4ENNViR9DCI94q32GYsIO41kUotiO0wn4l719hxXxpb
xbPaWKkmJJdcTTJM8nVtHEUkacy1K+zI6WittSIcDWITm1P3CrGG9MdWj/k6eXinpqDU5Qxr57sP
4TJZg3mCCpgY7dV4pFadFUF1BRI9mXKNVWGUQ0Ga8C34uNVLinvvlDjMNz79ofzhhMfzwhpoO6yp
vMDcMAIFJu8+MH6B38AElN0XAf8B1MZ76zgUxsGxQ+Ew1CYtJNqqBKvJWf2Yv7MNQeIKFJB6V0O8
LzXEVZYoHFpDRGIwW6xJJBABzci8N2WRWtREHCq17JEFmNEXEVxeMXnu2SVcDzyyNg1WfXk16/lK
+nomX4Z6D/5VDwBGjjydQJfsOJct0kilmP172oYj0PBEjtNfx7R3cI0roklMSScUlCcQ/FJr1p3n
W+VbLAODMUzS9hodYFbdF8PkmU5wPEfyvWprr6qhD1wNJOluEkfYe7C2ytWfnnYQI1zDjoPS7142
rJyMeBIL0d2yyO+TRTazbUuhGZJht8XQkKlAHMYDpwJx1H+VoVVw14oL5Qfm8KZBqwspgcJorxaI
Mf4jKFggUY+lwvOknG/PNLh+fBL7S/XOIMlnO00hf10lDvUvseFkIqlDI8YGpUjiIWB8VlmYGLZa
slXMt4HStMqTUqxmj0yoGLsdvDtITBUc5AMTxZldgz4chfHYXPoYKByWyyPcPQ7RVAUgLdoJ7tQ8
/1QhqeAUmwokAYca0aEt//HoBSGuCuCJz+zV7jYNCSuYTynCkdCp4tBrSxi3jnmSnoN3GtJt2dKc
gqF30LRrBSlmArJwYwYajqNlpiBD5DV9xhuUZxQy0kuZpyNCgIvbZ49bZ/toAacnrNVD05RNGIm4
J4/5ZIRAMWSWbyAlY0whcDVXJB62sU+EoX/nT+kTk/cnLV92VsG0nw5tqtqQqXiujompHyxk0jcZ
OBBAhrWQYtS9rFB/0XHL34r1l3lqaakKARMU+9RzKLRMd0cTzFH/kWJzkSogyGM6cL8q+Yu6EkZP
AvEuKaT1PJMaIpMqbVakJaSrNosZoDMHqqjj0CRQRR1EdOzHeMa2t9H0jgEqiXttdEGhNW5OpAEs
OBtQC2ISoe4RmeQajtE67JNHEfR19hWhz8HKk8I2M4JdxTEM8R4m7NocYL3AMdRLyS/Hjg+JJ4J5
b3M6BVeDvVZtI2RGJoqlpYVHQEyVjEt67OutLyfiIW26RXqbTH3EnPGExWhA2F4UktAr2SlpKj/c
7FgyGnctnD/HnTLPs5IGNOXfk2Hiibqgj4uiUWCL44gNl35mEe4hlrRO1GzmCuFMajtlmmW5al01
N/qrwWnxkBuPKu4aB+sMA4gi8Rd3nqU3yWYBJC3peqvNTQFvmNotkE85hs2lBdDT8R0Z3J4EB8Jw
wBjvAENHhdKThgT25kPr0kA149nIwqJlQ3QDZTVrSIrR0MLLuHEKvSFiSN9Hig6fAW5k7tUlgrUb
iT4kE5rCfghPok7Cdd9y0r5aadZauN0g7R7D/3s+5RMW+RHk7+U/P3++PIL9JW+W8suvN3qmEmQE
UjVmaZ6Vam6TmnkME55yNZS6kP/8R3KffK7GQ4b6k39Qf5Lm+gv8Kx8d5jO9/vz53dtXsOTSVOBO
AMes9RCO2SpRs7mCRZHMgGcV4xgjezR0rBwhZ5nXFZEEJVyBNq5twOmMtlj+mHWrOJgep1UGCQyi
NuacKXEE9SXfrwFvtt9ZFHa4Zot2KGabRapmfeyeRmqG9GENSn7RMCWPSrMAR/GgATLm1NLlRmlP
ix7QnAW5G3rPCY+8n/9zsv7Mxh/0+UdO90w8OTJxi8W0oanNy+uNCgrMglWS36bKS9Whgc0KQgVf
sjuLKEWRY6NEJwozEVfMHQdyEjfDFojlYS19qFI66Ea0nxhDY+jhZvdkfWDNKhIPWUXGJgJ3EWZm
g2GvUGCR5cZqj0h0PekjN7XIA1gBXjl0WZfw2y1DrtIbLViMGi3u+EjOot1I9iLijr2yLcnekF4B
8Cc3aD3ikO2osmXTJJ+mC2UyGVMfWEiKj72fs1kGG59AEp9bspm0UJlupGisvg8xiYa+/xAGYjaF
g9vZq7v4r3lCpuT+CPklu0rI7kCVv0jJaxQ9IZEG03O8fRGJ4W+/zZrncaJWQQ2iLwY0HyZ6852O
sxNGkuSqAbXz+dfHwKgqASQmKGbM+1FLp7wyGo0NtQJmPLXw0bqqFEr8GBWW0EVQAbvks2pwtg2r
Ml3cZbMrqY/mxeqDNEV00CL592x2Qd4+vfzvAEMpX3kyXC7I623Dfaja6N+peAN5c5nUowwkxhMm
5agYzjjvxrZnLiYpVwxORB3P82ynNiSif0n45PGZHMI9t/FkOoCSSBrR3eXVUTm6eoQAevrLoFwn
qzUMp/+WrSHJeHeXWNB+oKiNe/OaZtnszSJNVhrW6+P1nzagRQygTWELS/LPUnkBe9PCtq/IczFg
NNEIakMivysVpvgGRmRCkf/4RqFOEUJK5f0tlCimkIawHm2EownifHCmJyELHY3Rj5++/Prxt8/u
nRZ7pK0CO5B1kY929fJRuiqLlw/y7qV+eXmBw5cv5Wvqpxe6TXTbSLA7DtVIUBtrr/Dr/bvT4ENv
ATTMGVGIAIpzjPhnc2aYTziPh7ryivauXr789I8vL+VJnPWsNJ4I3kXMHdimOQQjpFW6Mnd0gY+M
HM9FbmasMwmFtN7PNA7+0VlM4BiTZ6qrbc0CuDeZvutaqh4JWxOKuAcXa0fGgUazMhqQ/AgLcFFI
Aut/dV3sSieM46EpFDTZc8+N+aNwMJ/bJB9d0R53GAy7Tr4Kg+FcRFzo1ThmD93gHfsIRx1J2ny2
Y85tVkuF9u2gQYRJbsEh7pFPTc1FfBJT9sxzav6otWphoDwe/JhZzL1xiVfQA+Xs1ZAP1DBDKsLB
pScXw98NChHy6MOWy2Q9nb+zFbXJY8VQM3nWim/ffXj35V3n040R7sNZOEFOu352Go6W9wvSh6Xk
H0sGDkljJaJD2WnGYg4mHwHh701GRHRIc7yhpOKcCBqJ0cQNaJf0X2NX8/HtnfWJ9Lard8LoJV0e
Z0CF/Rtgwr4EKFj1zw8/6DFLb+APLYFsFEljmeH4+zblGKNjSFXWqSzJEK++XmzSoPzXJllJxya/
rdULiAmNqadwhKo12S5tjEgo6Lt4TL0Rieh5CkazTOyU7TObMIe3VHe1gwlHZATaxzE5JESQeV0q
lxz3rKMr0Ckqnrf+sdSSMyx6ZigLL5HjKvaOF3aYQfxp25pytf3YFyCtJVHN1CvwQ31qMO8h/3Zs
elW3aG1JbFV/M5qIYTHznmyoTgxsF1PlFGC4nxkD/+Xd67edBUxERrFJlovNbZYfPCYckn75MI1c
2R6IfkdhPz+SLJhIly4eR5DhOPSYeN5O6VyuiqW0MTNzcw4BuD0cfj/xMj/XDPVpUIPO0PDsHwvy
TH3ivAj2rBWjmI5Rp2JXBVesW7Cq53j78e+/3i0XKdBqss4KYyhZQOMzH0ylEnNRHZQ0j6AuGKZ9
eyqNF78VTxRjX7H8YyowDGYkhKsxN98vp4Tk+9DyonvJ9NN9Vv2VgBtW42x7twIWjm3KA7g95/Sx
MykT2JmFa3/85/uPH39+/XtnuSBC/kzkQqccX5sYuDndCGB40V/DYj0ThYWcWbHojwZJOJRSNrq5
UnC4TYweIOx95G3ag976jdAfDmGFCxxr4QwhbRwqwAoIhS+X8jSU3Lx8CL6l11+ztU775Om6nCbL
VIfAoSU9kTJ37+Puivss1Z+mEXTk9ycGfBmPYba5u3t8VX670Z91qVer7qcecMcq4B7F/C/hTJwP
Z4IE92wby7taWNqk0dm26DiZDTWcxZzZiPgARSqW42MTfGZI25vIDFn0/Nq1EGlT8tSu9LxTdY49
yLEuQHTaxhdIV9+LsfQ0eadYlYOWrhBK+rHTYYanzTJnIp5Qwr+ro3uhsDhDY6mwYznwdpxT+Pw4
FYfRedb253evf3/zS3ex1abHuE3HCEZxXyYlTG5QZ1sG6d11eqDkp2rCp3yH0UGNPdqZeyajmmt6
PD/3uOhXYaKEz9s5tuJLhWMm2c81yPywCmIx7l9gbtOSP26zkf/zOYpQIcRf2yG3DIA6s7rDE+ER
MWpNy7ltAp4kt7ZkmiS3Jylk5sebopB8cO2ZcSLhr3ew/ty7VwB2d5HdztdX69UmrZ5+NLPs3+pB
dPrXjiZY4bEwcQK1R4c7B5iaLL89uHv9XSCfdh3cwhyIaxhd9W0OcyHKdbbQ4DZQcGl6FszgG4qJ
GJYcb5JFOT49Nr1n2z66Dc6Z5HFH0DGYjb1eLyTdKPwh+dAa3fbVq0v9n35zRaeXyon7lty/2P7d
FQtfSJ/jCmkY3EQaoMWlfEMNZVkgylBPMvKvdrmVYOK8r0ZfV3XLIjQkpgQWwjskp1FjE4jY4AEs
ieoVZycQoJt3gOhjXTtBndqFD+NnCqbaXBdEFY4R7RG40AyKGQEWK++O4uboRh2aYfYPqUMhVWG5
kIUen7W+jAbxJtw1+HfkQTnlt2pAw3xChdvExk4xh23ky8JwNIzb9Xk7u1H1shMEpQih6CefvTwx
+5YAIGybDdfjbPDjPFnlxuIawRiGsUTYf7pKGZfpA+Qusy1EWfD6w4ePf5gBQ5kjKHz7PJBRlIcQ
VMN0FCXT7K8qJYOGhs7DMYu/o2Jxfy21tYzI+USMOAfEPW9KOckfYWjfMeoejicUDZKQOBBTxhwE
boPY9p12L5kj9xUksMLvU0RkR2MUAINAe8eI1aM4gk1eJjdpli+y3JhOYFHcDi+2o4ChMXketIsi
PFKfUiz69WqWy0W6DpKV9GLuAaJ8lsqHMhIBjQAS7axg8WnudTWlz+Xe86K3oz0nR2J4psKe77Cv
5q6I9S7+cmPgtZpKVAVdi3xhBJfFUih2zF6cYQ6/fffb/7ZOvyDR4ECFOCJopI4nt5nw3mJYKCbh
d8EwkWDDqQojLVImzYR+IgB7+ds2/GtqmxaTKMaDuwRWRoYQpvAXprtdFNfJIrhPVhmUFJsDdqEU
YZgNLzyQhwBYQyj06Fc6eF/F54NZsk4CyY1mBJwY3GkvVmcpSfG6eNgfob6UZ5SVQJJBntxnt9be
NQXGTmir2j2P1elNDou9VP1oJJoTMsv+wDRDZJERciY2lRcwXh6GA0hUMLqbLW9KJrj/MQWSRYo8
rUnUPM3Wc8k38teJJGL4tvaWYnWUojYKG4B2Ip7tJZV8OZKxRkBnwP88Ey7AA5BbGHWqTLQYK86i
xVi2zWM2qIr2RlSGWgMeTzjvvdW1SZ8Y7p0RsI9pb+FGBUd/bFeUqblNkogJFfiZ0SAOz4zs+MBM
5ggNJM3NbWdSADHSZ1BR0YUdweq/2bvS7rSRZv1XuB/Iue/Jy0S9qLs15+SDd5M4i+3ETvxljgAB
ikHCCLCdX3+7WhhjqyWEULNk7pkZj1fUdNfyVHXVUxzcCC5ZFFZBOcjhOcekG0GC+tlcYlUnlcfV
9t2eNHb9tEHibOmGlzI4RxlnJTvncTQK+9qTZ1Rqw5Ks1OVQdRFkOSbNgNLKp4rTOXaRxb0CFtky
P8ZhUrVFyotJ49Q71KXN24vGI5Sjxzxn9/B7tWY00Lf8M5ZzEPpCCxZLDWxF8OLkUnqGmXr6RlgV
zTP998e9kS+dV4yzUkh/JJS15eYjo9Y6rftSYF5BHG9CbxdWiiNuoDdzKp6qE1Y7Ks9akpS6JGnE
K71ZM6mJ17BnYWYCW/I4iza4P6jimFkffXraQqCKjaHwbkNZ8pUGUhUUS+ldjV/agHhoLZQDKVS6
ZGVQGWxLCDnrME3T7+TGFFAVtKSzLIV7CjnCpJOYlYTXmm6zK4PiYOL2/FbMFiQ3JR3cI+7Yxqoq
XpbRXSp5PZXyGnMldN2hDNDff/92LN7Esvy+5bcuxkFdFV1cPhmmKjkEPo/h2KuS/Tcg75fqVcFa
RV0X26xWxceTo294eLXHrq8vP/8UP37u96p4f/9u78zqfDu22r/vuRdOzs9P5He7n/fUa/IEnbGo
cEeUCKX8PuRq4ncSZYEpBqQ7K6UzF7kEfWqf0QouO8RpeTLm109xt4FnBq9IRhapPvv+oAbVXUqU
4BPV0DHTgwNQg/qcFuw/nsY6kKwKhnEW1DKsAEnJ/iqVOOyMNfwOBANJ3toXdDTwUxYEQ9BNF+xn
mbBSDhkvC5ZLMfzC4htxg4uLY5FjYpLcWg4TeEiow3bUZ12eluyzbAvvuG4C97gZUpbYGaXysiAi
4Q91yM6qAgHCLLtMRptsJlGMSs58LaBVVqQdbDMMU4KK3TYx/yQNTE1jXmpZxoVRvIGY2Rb27kYk
RFBp3ffxb9K7rV82Dr+M6N7H429HX4f1r+cfOf98wFvj/nhweOVNBs0vvzt2I2r1P3atUd0ZsdvD
sw+/j+5OU2y9Y7TZJgihDCh7GpVVbOp1edFsrLX6aJaiClqS4Lo0e0FX6o8oqCoYEWe3VaVmRFGY
5WwkzPwUC6ce5ThiF4Ba1lug1oYYcqH5aMtBWuq+QbyCHLG7amojXDvvosnHq1sneAw/ibPr36fO
xW37aP/888Pto4xlmP/7yDpp3OBDfnF7fz/+dv71AA/qELtceMcPX9qB/+tqcueFg/bPm8vuw2Rw
Vj+5bg0u7jvw8NTYJndJ/daqDCTY8r2FH5+Ovp1+OdyytwAhhmWJNcCOrNtmypeuVUzxrw/dYXyr
2h2GQTjOzMvaQrWTbIIoknLnzzUY/6SZi9pKxoLZ23YTu4G6cItZ1jrh+cjve+FYn15hglUIsrZV
kN9KUXo7FeK37969rWLWGaXeMl03x1b3QsZ19sU5HjQvzh5+R1dhA/f79fG1dS7VYv/h4n5oB6z7
8ZNeSB2m5oSUe9/yRN487azSlTnC9dKSUlGSGStEr74oKEqPhghyzDqqIHN4hoQrxSpaC0Ue36aa
pw82ViqsXZxYfSl16RlWKfLE2R0LcECqwtbr/0cShqT14RcWPyj/Vu9K1PvdD7qH15fkwD5sN8+v
Di5+39MPn/jl9VGK/lOwz+tFtE/2ubAgsTVGXistVsVZZCNozTJBIpde6iaooWFTOrWuTfymPBc9
PuYVavM/QbuHw1bXOj/oUXZ3d/rQDoJbSzy2QMmHt90rH3+YHLLDs/H3r8T6VE/X7rKGx8M0gQWM
5jbDxajlFl3IZIyAQKJCGNqZ8z7CVUGre/vmDLpdYRYtKyzNCoAtufOcbm7n9/2OvcTO79HqMdVv
+wdLBP0vF6Obm8dfgvWDxm0vON3/0rg6CiL39u6m+TNyG3fR5Yd+M13PSJncXm1vmFIe5xAZWZqg
EZs+NIW9UXBaoc4fcdrX9Pbj53Zn8v2TF516Vz+QdxKwNjlrj4PRKR/Qn7/OvC/u+AAGJaXbVUZK
7pL1Aunnhql9WAwTiVtLGK2UevIaOkGEK8R21hkuOcQ4L/g0egKKAcifxDPa3sOXfy+ezfbfXtjx
29Ad47XeyM/ff927vPyfN81o8N7vdyAkU+TDHOIyjeBYDsDtXb5LLrO0tUgpWuYY1Jo8kY5Okily
KjAJywhEndPc1KiTqrz1Lp+7GhqYdrW5ar1Po+cGt3p8J+G8MPjq2LFMvjqhO3rkrSpm6QdObONJ
raxLEPnSmAjTzCvS0j39mfz0+Q/lF7pg6E0Qjvz246FcvD6bXsVCk0+X34WMehUfQDp99j8H/iUH
sIa03DpnEpIJvKtlp+U5EkrLKwKEPjNlyRfUASJawVTsek1YWSfASmAIeH7bA6kkwHkdw9JkfotB
iSxC9m5fR5YIpFZKeM1ZxCmo8QMwxaAETwX8WF95R40NsFtnp9aVN8IXE5fd30fBo3h4bJzJ/ZZ/
2jh3e9bJqG0d31zzoy9Xd3cd+YPTwE1XA27/C/vWUm+/DWio0VjueK9+pkK5ZyySHc1J1yMQKzkR
0PaHcpFw76Bv8YdRuzb6d8pZquIJe83+R1Cx42eg01hhtKpKzbOPqfSy0L0NnL28tETXy2+rO2xF
adIOx0FLTxghKiau7desYVqTvBJSXrUgaQG8iGOm+Jee+R/cRjge/a2C7GdCh+kvJWIixeeAbWYg
S/pKbpLzjZgMx/DOSw1JS/GYyDxnq2ayD5myYiOkljVR/XDiZ9sopuaZGYk6s+fdY45NsNH7UeQH
nZpuPgnFFaCj32m5dhsSybF0pFqkp2wDAx0ZNDsh4TBcNuaEL7yeB5UW+mpnR24U/VOEIFUOuOlA
muh3Fx5vl14dpzncRSUcCKhIsW3exM6RuWG9rUMVTOm27AnedbR/9hh2rk66g+bjPvzXrZ88TBr9
ZucndkaN66tx62Dfck+Orfppa9A4ue/87H/v3Fzbvxr4ondzsI+auDe+edw/+Pnjc+/zr/NO60R0
mqcfJjenV79uLve7DX+/1+h/ntycXN3WTz9bzb76/Unrx8V96wf8frcrnwHPjhrYDm5+1NX35N91
68efez/J1aN8nbp8/bB+dBzdYOfR/XERNi4t9OlbvXNz0pN/89k68/fuzu4zY0HCDUlNSg86XCyu
U1/0QRPLyYlPV+H1Gge+Ct+CcNh3e/7vdNpY5EB5EF5lQSlaG+kLynnOWW10tXNY0BYE50CoZfAc
gjBoevPMKsuMJccafm5uQ8nYVsaFJCMuXBwMchggInKR9BYWigXN6QTonHNVhtFccUIw7je8YY6S
SL61IqiRQGbTCssFvegSxSDJAiMbwbyIXBVGtDjG03PTArgk5VpDuISO6ZufLisf46J1PRWBos0u
ckGxgUCHYIZYhSMZfNJ1CnLP67jNMkwqAga9zAIFWgS2ph95Bn7F1K5QG5k2g1loHnMs7RLb8qPU
mSaG4L/lF37vNSJ4SqwD0bvuY8OfJV6CsBaNG8qKN0PtkCPhoAphbE1npndduIKxVb7JCifecOjr
BzBgRIBznpe833PVpy93PgHoEcSddH2Sqi31BRLMXGW3dM2ALAOO6WdwLgZpDpZu2bJxibZyrjRz
Xt5SazMJF5V8VDmv1pEIPmG2Xr4h84W0VpFov2REAhvW8truuBcrdTRyh/q4RC5NOObFWprX53hR
b9lEBfHyIPF0bxZAYlbMli2wKk0PBvK6w6H72Bi322njSuTDCTFm0nTLSNg1zBm0vfKdQH8CSauA
EXNWAy1a96Mf5C0fSi3zRj9uMc1wugKGeFNmJkDRaoYMTDBdt8VKt1LUoJ7KfW9oNx3Gzjm2+dN/
hp06VDq3PwsDDAp18aL8JU/bKJ5WCpPf4Pq9pq7f5WkGrfBeu4UWKCw1buPUESbvhS1pYm1EyvMp
QVNux23NHY2GfmOcQh4ej7sh2yo3unm6GAZPkEJYq2xMaQhL2mzJhF88hDR32WHkSjGM91nd0bx6
w+s+0ZqEFkVChUy9izxYxCJUY+UsQ6SrFHhuz04jJANihBzLMWblEvueDE8RdirEKTeD+cuduFOC
KPDT/XAIs0CbYQtaVXSYwZGA1ipg7H9FcQHu8zuefkeDV20CUEis1bpmpIyWcc5E2NLScsNKOfG9
+9TpiJZdOnD+ch98naYcD714A8OhHk1D/SQVa1MTtRNJVcFSVew1hLyrCZDWS/MKdZxNeumFJiF2
3PXji71PR8+O+/nP/p52vLEqJg/YrpJ9LNB/YheeoBaQsRdnuxGaIgZiRQQVSyaFNwwzypHMGtj9
8lI307m0mZcXnNiQCtghnFHOViOkPghHmPAjqaEwjLUlhk23PohzoPKMIZPIZnTvy6OCz5Qt8/Rd
bXADQdCWuI1lbh2ZDMJtxktTz7nad+Dr0CknghLhP8QOLnErWKsgXnrUNSXW78q1RF331qs1u9Je
eEFHboD8XtgPoARNdwoC5qCIP8NELnEKCHEMMI+bs1f5zkQTpiGYUGZvEYTT2z5t/gXPwTj5zXfv
qti29pYgBMZ4QaIGolhK8g3lXSJK6fqR3IDHhbfMyIGLOgtvuY1PCQ1sZ61OUl+xTpA0gfxfafmZ
w81cVuvEN5tQCBMzPmjoqSBKV5vgkFJvb+EdL566RVXkRf+NHg4+FLraWM7DxSeexe0p4Xk++jnz
6zAZoSy1Dntt6Ukt7oO2IUK3YytWq9PM9OXaQjEM9w+UGDQJ/XFv5A96MxOtT1QjyoAkkW8x1CP5
oJ4RnCdgcjBfg8NMLe7CNCdNbQlKouFNxVD7vSVW09mSdVjb4c0ssU4crcU1MH6cbsux2NuxDqM4
D9hnlYGdnhQMpJYm1nuQ6NOHZlC39x76KN9E3XDca/0zHAfvH71IsQI9/4m0n7MlVskelCdI85p7
FTNSP2kv3ig3/159TMQahDNnO6BfvubvpTF/eskm5RLyO44ZUJH5ZC5fEQl7S2xUmU0kibef1fRM
C5ZEmhA+irZkHXiLYV7uhJ4BmMcrlAhqbYkjK7nPbkbOsrh7hUFekW/HNjhiF/3ojHCvCV3m8qP8
yohvpVhwYSYu0QpMRvuJjFAE3gqhQXxbYhVsEps/G019ty7iMGjj/6OlF7C8ACIK3InfiSk45e6H
vV40kjCw5rZHcKkGsyG8u7E/AapFuaouaFJHMbJIfQlGftuXv4b19BLQKSC4OUOvb6QVciP4dmTc
0O7b94YbeYx2XWm0992gJU03MN64TSkd0epmP+vVk5GWIM6WgEyO1uCV0pwRhmwmxhtR9ZQwRG6J
VeaFEyDexe2CiG/T7f1rh6WB+c9/ITVNag+SMB/+Qarocv9pAsHTPL2/WmHf9QM1ZSCB5y2g/LM4
NnO7GPn9QU8feiO7WCXLcno4XYAml09xMSiW+yS14iaQ1DuyZdY8CJPGvHxkPkpJfLEVK7cznPuC
5I+QZ8FKtMDJ52ZlXSygfbBNvXP9UGxMuG24gMyAAI6MRodEONtUvrXY6McF9//7yrz/R9skR4Rw
TIMMKWvpI5iFA5RI5fVrjsLBonktFnQWc+PX9X4ngF6JcRC5bc9XLI1aM2PZMsost44rDBS6PNn/
CFWKw7Q6mkLXgMvuQqCtfAFqZ/mjadWLXO+jHoIKBYJNLHKuvKzQcjWd2JwUIwha1Ikdr6MVepFa
iNtuQ0N9s+v39PRePO/s3SU8B3TQQLgw0oNzpoaR0nWIE0wEe31GgeePuhLOQZe63CL4NPEr4fBV
kZXWNmBjnYapAlfaG0qKJJbvhxkpjZnO4J4JZd8dNbu1gTvqRvrgDepspYBs0I/qrOKbJ2Jd+d1X
TjX+9ffVA/4lj2/NvBUBUhHbYtggrso+kmSAYwMVHF+DGwwmbs9vqS+0PaIE7HyxsqC8e6LEA3r5
4oXNrQAUnnDgw2EFhXP5NYwee17U9bzEOmTwRzgn1AQWkIYkmnRqoCvaK3Zpvik3KJ5TADuTUuXI
plRiyZZvnHNCauHVzM5Av6JmlOxCh3G9pcHUceQNT6TBGg+9o4lcqd5oOtBejws8db4d1hsOpadw
G1DPrMNYFuUwxrpcuDAl/ZGA4etTrPulrWdU545KeRiJQbTLyAhGsGrV2Y3gd8VgN3kL6vB1mWG/
73a819aPoIqNGHbWswQlIwlHAJPqHL6mJTx0h4kFEGllEHe2ACa9chjTKbaTTgx1ZpNoNYgphkhW
AhTBF/N/9y5+tQRW4hUbO8wkn8z0nWpNv/aKETykbcRCZqYgsbDBGTpGjeNzMjLVLnIKTXqOgXbi
hB+syT8JZcSdTjCGgSXCsUoFSdKqSkj/TKScRYYLhISOtUMZ0rIdhU2RZdJJSruoV80EizsDS4EK
DEDq+1Fz3h6AP6pF8inJZxAB/OPytQgvwnGVk5jk5fCXv/oD+kxHgm0W85G8IiDBFc5QEXZ/02vK
ZSnsJaWj40dwf9x4HLjxgLKo2fVSrk44z9uhZi9tsKOFkBZjDhNI0AqPf2kuY1u4cAy5pWY9ZLkK
e0VXEeXH0QyZEAJjl0irXx4lzaSwCx5HOpCbeSt4t3dQzxt7rveqMvcZlT1DsDnIlQBaMqRlNFfv
u60xn62h21EljbUZn6PK9NTiFdeawxTaZ04Y1NUZEA+VDIV8/TRXqkvSSyjDc5UFF5XNjjSqYW2+
iziZ37Co3IHlNn61nvnkraa1koFasok6ceflQKU4KSh5Xr8BRFHKaatYJRyPev7Ei2qdpuIZBp5a
JX4ptIVxzaDDVtiANAypL+slMrwVpgT+qYscZp3X5M913eMOJKBLdogDdwhVW9LoytX4kHiGXLj2
dgi2m4tNyjviYqccUuneiOQjiTak8EgKAEN4hQVkYRR9t6+QYm+VDcIkBPomDxQsTHscpJKpMxQX
DxlWeTUmWa/yMjKqMOasYmIPwITq73uxjCkoJpvUaGw5bGMCLSiTHozaRbFT6EUysvUeZFDzesiy
VBUENIflIselUoBzrixZaaTgZgJrvjveq5+9ewk41TjSBRejGBKeufp8l/FMoCM5/JKwkYzWkGkt
lT9SqLQVTkeaQz7jOcVx3/WCGtAhQlSbYUKRDCnwDviw6fiXRrNVuhNjVhGbOrVoA5iQFoa3fkql
N4C0siBhvwNlHermLbsKy8pJHVModFczN17pAXgwvUV3co4rLcOiK32YaYCMl9KtPbE4WHuEnZVO
XrlKGRX2ASanVcQRzAtswKtsYrPrNW9r4wDyaFMX7QfN3rgVj9GYrUFTrkNtaRItq3xrqG8xkU90
0G6laSwDmRpq5xt6my5c42Ev5QYfaG9WykQWwb3Y3hB8SDN7mjKrfmfWlG4hdXmo/i53vZWuUYVZ
RbinNsAdToXjcLjq5A6yyzsq9BpLSlnIx8pbNAaKe6i0ERDGOTtWtWoFsiCX/vI+Bt6TAOCNrLJz
GUN/Ak1qjWF4H6VljWx71aAuRVdgEVKgWqk4gTDo8rR3zlTP/1u+2cbSupZ+35FqUwsHe97DCHpN
49bH6fuu9dygM4YEptuRBi0axT2R2khTVDjHRp7dd3uARuBqNZkytGQgygQpW8/icav5ojOiKDQ2
7cmS2plwYQekukfnnFjstaDdcvoTrnFZMGuU2nTXAJj6RCqo1ZWQXX0NuzBw1TfLV3Ik7BJFID6P
hJt0pEcmZlRsSh2pi+ihX4Ra5bsTuZW1vcuDel1JLJ5Nhc2c5ATKtlL4W2okSgkuD7XARxlbjqOU
IisKLF9Gjl936tKVsx1z5Xy/yg9XV+74dTThF4zcNGPlX8q+N702V7b77ZQRS75P/HYWfcinV4X1
7qlNPhl5KAqs1z0McKHtsBJv+y0dkidFEUjbnfhNmN0dxbem2vQHdB8wbMbd69MPKCfzvr1kUWE6
kGNAT8aKgqn5KShqQ/+SH5JXy/DWhOlH0MK354lH1CZBq9aP0p7EEFt3+sIRxp2ivrQz75zBLcJj
x1X7oATTrF4naZo5sdevoYSQFQ0dJG+iGHQogxfVWn7kNnpeyiQDkZNBqtxnLnuBWqT9bkZdrnpE
U2oHmYOKxbeZtl9PMYGQg6SFRJuP63QW4Y0hdEAxF2ZKM7PYFTC1iAzikWlgsgY5nnXP6FpIGck5
/UCrv/L5tbYb92LP1CXyFCcVXOBAZKvVGo6AU96gu1BvWg0hGQ9776ezsIFXo9cNo1E8Czv3iymJ
rUH19MuCxPh+jeNiVwZFnxonVIFszbSrzxf+wgANjs2I8fRbcZf+xAeXCLwoDTfymynd8gJ4CERh
iR721WjF5xllWgCOAfFbq194qjcS45qBlMtXQS8FIiO7gtgrNlwwWtD+U/4T46he7iJi6z1QqPeo
xXY6HPodaU/iIlUgVZ5CPu1xY0YN38SmLVk/yUSCPqmcBd3Gwua7QPUSxIFo0iYwXHEw3Vg6gEv/
Lj/OuXye5ur5azeEIItYOJGktBakWR7Kw2jQS8mKcwqPKfF+t3qEqwJX9w5ee3YCzU8lmAfdG9OM
SuekgiwD2fAiGqsHroxX8g0qXMlf6XkBCVBRriJZI3cIbJ+zXo00PioaB8IbOIactvL/2Lvy3kaS
6/5V+I8GWdv01H0EEBbZGS9sYzdeZNZAgCAIWmJT4gyv5TEj5dPnveomxaO6u/ooNqWsD4miqKnq
qncfvyd4IHxXDV9lnU7Twlpeqg0PBB6NJxPrumdeTlxvczCnxWYyRkQpPwlY8BlIW3cFiC6dPMx3
sf4Dj2V/2MUTDZnAKQK90SBa2v4mO4xZ2qZFDUckN9o69NnC6YqUVeIlXd5J9vrI7VSmJLxhFr9A
m/148wP876NHmwmpW8dMcxbyC+kLrMDbNdcearpkubxP7h/TMugDRRGdJUI4drOa3H/xY7AhlBwz
rXjswMwbjibjceo6lYpLDbi1IHRoJxGanR3xIvBCDloacIaF7TDS3nwfrJ7lf2rund1AYbAXu0i0
FC2PfZbMJ2MQZv5n3P32bOmBaNV20H59DFm1e/LkDlyY+cNRMEdgsbTphpAK//0mAb+IqANUcWUM
kJLkQncmONbujWKZofH//YexDyTpaV0SzVJFx1VJQYOePPW1WCODCFGtLj7b8h6i0DVAeU1QgykZ
0j7FWU8YIQ5a1GpcblnX6ruoxZ6ZpuUCDykQTOIq3vJ6lsl87eYWYTrLbxcjYp/tzkzAWI1Lpd0v
ZjNvu4ZWLr8RWWV7VaSD91AXUdVF67OG4foy2Z651wwHHxATSX+8rBGGa9hQ+/q0bq66dGTV2MSo
OJGHs2X6cNYVqsAjFn15xP5IDFMDpVlvCtAjI97dT7cIUX37J6cK719U4dNhiwlj//Xf735juUKk
Wdr2/lTA2IEEuSa7kteOMEe72oD7ZP418Sd/uNGIENLduT75crZady/ADh8xf8KSUh+LJkUTe+3z
2kWOhi+72L2zXHnCZ0wowwdUtipuO6Q9FzsdpohXN/zrrz//NMSxRUW4TIK3zSweCZ3MrxiuN0mW
GHY/fsBz90pZ3URPHRpsDl/FzRf1lugbEzh9LPwKF76MFMPuXGWuKkPGOb0GFmKygYg697LOgNwa
RZoq/13siBQCxJC8Ol3GgnLh7HhPT7MpRotX6W9beGCcPoVGyPo9oTwjHfBtj8QvSASc5SyM7Elz
lksvnwv5ojfVDeNWZ98pMbsXNH9Bxe6Fyl4Ikn+3+XdagAHBTRC4tqpPxUHcoeor8GWywtoK/xgv
ipjaQe6rasY/PGj0pGrMP3vOyYdNZPyT+SdbB7/oxo+4AlY/wFbW91xG4aqtMy2FanEIB8scTFgC
5vhyzBbOCV4tpoXJWanpQNC+72MX4yi6EXTRceBPkxsp11W735boKQ12gqzoj4i6OOe6v8UxHNvb
4tju0OOxqx4Xl7zHxQXtkeCCaslUsdW/nCbP2LzzsCrIRGJvbhiGZ0yZ9wKHWqSDqsDTVfNSsnvY
1JfddLDJ+Nk1ckxnk9FtMocPrn4CTZJZU8kfJ6Mb/vHl7T8+rtIxvJMZRU/E/Ucl+Y8qN6eetDp7
h+/e2b3QbPeO3b1Ddi9ya+yJn/3L6n73Qp7+O/u/Ymb357u/IrsPu0mxaKAgtldybtIJrQdChkHm
N6APHN7ymKwfy/KYjFEd2NShIvjdJiiCGrCyW3UyzuXAydLvsnddZbgb9fsj/G9fH56P2X43SoGb
b3Fvvp3SsPT+lWxVvpatcvFqtkpb+RJtuIRRLi9hwTskLq/prhD0LbaYyqrVS2ZKUEJ0YL1/m31U
uAgKBx7T69eXlKiTSAQ1p2/kmsra08jETodRyk5iFdI0j29wXOd+sXw++HEX7ijTk0qjlxzU7qji
4JhaA7xoY1NeUBciXIkALlBx4jUuUzRLZ4sVWrZg1m5X/gZUqRlcio5wJWegoIfb9UHwGBo4ULa9
hNxOywMcTMuW/kxpwrmmtuwaHFxJ0hsLaqEHlqsL0JuXxHRgHVy8w8dGo/4OH+Wfkb87iSVOIiFN
vMUgJ5GHAe90qnsQhyi93xT4jYgBIU0sbjxSUPNFjke8zjCgT0EIQTxn+AEedHecIMJFxwmGrIRF
sEsY5X5zHGPUofHKf/zy69/+8e+fBu/zQzxK5m4+ZG+e5N9ykQOmWa3cRP0VOCcyolQLHDJDTWjM
vWuhbrXuz6g12G4sVTzBkkOcl42MRGh5o37XK10FH6vVCaaRCW9AdoXFKB6mkuAauMasq1AQm8XD
Q4GC4AxHgETxpfzV8JSiwxJXqhJtSBzdlMyW6WoNDOWt4cJYsrax5UlJhEhZrMrtSZgzymS/wpwp
Sq8lnOqvs1PXHDd7IXZ4Blf0esPMexCs//npE3yrkKzcSpCuRl1a5vmm9zExkDaykOFCq54YjQXB
njYQb4c1LMxfpioC0RgjsTmTzmiyV83myjbYX3GJoPDDSqmB1DIWsy3m0+cMZOExTUbpyhcUUg6Z
utMndfYUAvon68n6pJYLeLpmCKjz4YCM9heCohZB8To9bunPMjE0XdlV+yQ7T4BmEuyG2FO1BTrr
hkinthzaXplPgENBOKc6KjPN0k3imlEmD/PFCq3ksWvmAWWGLOYXt0IFFm6H37mv3jhjZxfi7Dqv
kqmX8kJYhhElZnkH1UjrDawyvEsRVyQ78qJBTpaYQLCcloq00FVgpk+C824LRDprkmQopjfjj3sg
2hvpUEseQE9Sk5H4kydqC7pZxNWZ+WvM280mbgS9D3aO24Hi5GpKP1xXfQ73g6084F1+XucFIfTc
ypEWnD0jX/H2qY3gpx+SwXb5sIKNYEs0figtsJ9kTUuxa0/CcP2qb1Gx18xDYGm9unDAgV1VGQ6Q
RKn+fEUt0aIJa7872cE8+Tp5cEXFiC68mE7BrNikw2QMp5uN8HBzmGDtMezmESuMHQ7wEAyRORz3
xD8OmQplB1zxODZHaXGGwM5IwmPKvCIRR3n0CyiscK9ZM9W1eG0Xjywxp/3gxGhURikRCWM4ZV1w
Jl7Ww0HtdJD0wBnJRNXNH5+YngfaI4Pq29n8WR0nfG48nTw8brKbG26yUYhOteCwV6cu9h9yeiaf
lvjnzdPGE260oW0qv/zz1143y00lWtdVKbYbQjLdRgKUmgPvbaLU6geYqVZX7iGcmzSmSU3MCa16
KTR7hhM69epYQ0DTWRFHxy7m6XA53a6HBZiogpJmAZtDNH8gDPBgZ0s3FLqMB4skhb6oaGuww5q9
JF3HcU14vUtrWVrzdJi4rv6VQL5XXFzriQo+sKrHKiOFvTO8SXAzXC66Thpv/yUCf7BL2GM5xFKz
OkXQqVireEGq/0MwZdtaKft6lH1we+cmAE7D4JKY1xYiCDGjMNTMqI3IE352EOiTXcJ440SoyHRT
RDLCsl6dXkpsj41KoD+11XGsv3Uy9uNaiobN9CHUPErnE3D8Q0xfIpXDJu0q5AAvacFC2SS4ziRT
4Ul//9vLlOxfHyc4UNp9SRB4CD6E37IpEDg9+6zaUAdCx3Wq/nwKDpwSKVoX4j8mq3nqm5FlpWRI
h7yd55EPTwscJXYAHZidAhDMGb1wwmAfWBYW1SfJuKRQJLaGVil5wqwdcCBi5ZLhJvJBRP6cLTwh
a1Jw1ECpWWljCjlvGNci5Brrue/P9KfROHqEMY2JUtZhjMeTn5tks8XdjNLh/6arReY2ZJgthbNV
FGJWa9uljmN+HWfEoBHoRQi944ylcTKZusEp68ls6QfMtoYGoug37hDKQbzhIJYHRHiKDNj9PTrg
FdrEaOpWYTG/wlL0kq3G8Y8bIa2N6UwJelkGvCthXk1GG+xFesMk/pfidKJ8WG+dkndBJII/Kx7X
tvEJi2NpLZ1gxPJjGxR81p31E15GViDUNQ2Sxbq+LH451Twek6yf517oE8t0ICStDtU9vMC/Ijhw
t8VCxfZkUdoibCSl7sbIiU8zrrWSqiCfS8f1iODLmX6RFaiDupZHcrxCLos5pYFLNJRLyDgom4qi
UegxyAosUd0mMVC1AWkQLcboCHS9L/J0PRIZym3xzBjqOh9jCuYOzLjgpyFiENYJESwFRQHclQzM
XvSnz4IPTQsgx3rPckGbMvQxMHlq2yhAn/ziRcZkEHBzBxrf3x4gHBDydarE0PsCL1YNqKjIzupX
m0TS1vSsXyQJakprp19yNP6Xk/JNxmYqMIcaLJYL+sMwLmTUBUWZDzekd7tO+AMHUtJuzPa83ihn
sDLcAXBA3eyYruxJ4UduAHLn0eXxKJ0/57WuXuLLQOYuKJbPXEDX5Nu31GHSdsrpys/prkuNRxdv
pXKNYhGGjGk8V49V5xUQPZdxpZqEdroOlnp92YoJHrpWYNHry4bVikTTN4ww0pvIMZaDGxs2OqSB
8MVJWqfhxf1Ez83z0m9XUsw6GhPJrCyfTVSiGXNT000jcr9/GTOPCFE4w0+DKfkBf1VgV2qcYMsM
j8vwiyU2t2TjHNfbJV69NwfnUOh0p8629ro7SgQWLjcW9bD8aUuyNxaJRSyGRDCiqpqyuZLop3fs
3coi75bSOAz97XGySacTh1TmPpZDePgndFAb2DPU+N7XYMzNULzimI6v3k5YwUGJBJtUTrbXY7fi
MzlnOa0QaIOyXhVOGDhAMM/7u/AJPCr8c71pNq05VrszE58R1kuQtmkZJ1CBbpQS/au0MzlVoNVu
iETFRkKUGvZhWk7rPFxzDjs57IKiLEZiehYFYkYb1SVfWa8egb8FRaJ7FSCaqt74WjmL1WjTiSpF
vwjPel/SfwBJ9f1kdDsZkbNQ2ABxXdv5JNXL0vNlZStpWmdxdlaDHAjGVUuQvlQdu6R4vouScj1G
kdFaB6Oqn597nl/a6MtKz7I8PqmJ82WplCqCkVw+pBqDbySGEnkhtLze/Wm9Gr+kReqQ5TuHFXDr
+ijPUpdYp09iuXbdP0T23hkq2ICqVn6KX7wf1rMvp1v8Nlrcbx2wxW4+BOo9l3L6NpmPCjJnGKKl
8nVQyf0C4x2b9MwVBGuBdGoqwLfftpPVl6KeCuqMBhVbgoML/rgYlUlwImizzOdFOgnkNcqfo0Mt
lz9wqvw65Y/vIbL3PPKHM/46rqGEwSW1/Tt7nrHq6Ohhbtx5eXeL7eZf76bJ/At6eZ645qfNCkHm
MJHyARzGD4tR+i/kSZo/wRfuvnz33XssaU1myxv+gxs/xn+odhmpYANhlWVxhKC/6B58wsCi+1ZC
8Djq6hWCjGOJev2NZIrzsKvmVJW6azsomYDfzFOgmHOXnXLK7fWxmcsT7E6vQtqFwW/pHir8JTfX
KYePjtcjeoXlr4MmymwrziL4LqUIaBynBlEZwWqej+4WT7te/hzuFn04hCnLbE7mi0ZZOtCWxBN1
98A8qF2SaXFFO7XcDtAiiSLj/cXtVGHKoVYo8rxVcfM4WY0QVHjznLfdugTDE9aEF089pwJs2xiV
uCFEsLsiP/Buw1LXS9SqK0raXZZTDrvO0rMCC4X+IosZrcxvx51M/vr26Kawodz9PFuMkunLjwce
8RkVmwGCp7Y6l5xwt5vJFLbttgc8vXoeb+f3mB6+HaUoP/OTO2Nd7HGwkXcAF/fjYpHt4Axpa6BJ
dy0GObLFdvN4KtLwvSzLkNH2ZHQ7Xiz+uT4LjAwHNti5Ki/MarkZQdCFHhhFepE03owzJ246axRB
LwpAvkHTqyvwsY7tgsJsGqmRTRNWS3JFIssjnmpk1C/AC6qtxm8rLMOgCWuanF5D04DraE00zk9n
SzB6TmyLyfwxhc+C2X73DIb4XWYC+axOMRBaXMTqLDc6KY0ji2RBNyAODafXWjRuZb/MgTjdfRoS
RrArklWWyYtyr49PmR0IeVXGDNVxGFYVFJiqwAGaze6hhm/GtBuqGE1k5nUyJV46UXAFyvZib2wW
y+ELHHugayRYgC9LTzabjeAGl/5gX/v3ht+SyWY32OdusZ2PkpUPcl5xyfEFoaRJ/u4S9fJ4OH3b
xFXV0iFZhYAcAiKtw0O31LslgMhhTJVDCHhqq4nszIFFRPrtenM0Mq+zjWLzRxdB33ibFANr5IXE
tVdME90yknnGKssUK/TTbyXFDtroQNi92JLZ5wE2iSjW1VpFSsswBpaljWMzaL+atFh5IvoTNqUs
zIODddFlTbmoseYaRE2ppBE2pqQJaVPhDpeQxuOvLEftfjve+scmKi0GXEbyowsG91lMVKhOCGRn
YcHDrxxo6vf7d/bHcLtZbdN3p26LE385odw+Db+ld18mG/+n9njfxSZcR5jdmXFnOY9XZF+JF06N
0hE542synYxKdDBF27teKOH/F3UoqvswFT65mLHPQjBdO/VwXJ7Jm5rxAWemR85gynRX9/smaROB
PTrufVQFSBKCxAvsHE6k80ZzWOV067gOuM+reJeVgn1czNNbmrnlO0icv9RwyMEL3//ZKbdrhXA5
lsTta67mQ2PphUTgASXcUq979LtEKJUIRupOJHYO4Ahc73DyF9vN8G4xOo3ewa/RfqL24msq211J
dq11Be1p3U6bi5eryWziWrt93SAcYbRlz1JHUGO7iQzNkul4sZqlo+Fff/35J79naAKH2ddUcDmG
6yIZrbN5E5PZw3C9ui/cBG/bD1d81SVFdsraAecRWxGPW/jhQL6lq/tkXUB+4JGIC3RcFG7Ki19G
OYtbw1tjOw3DKaG3FdY3SnFyD1Pqmiqb67YWwhHSayspr99ZyK+rda9J5x7rTr+N0kzsLvygEYyj
fGExMWrny8cMoTaX/yjwwctYg4qfjv5ntZ3fPqdrcBlye3C/kZP0ZKXhnOGvfV6/u18vb/O1QMHc
MHLD9BwcE/h2JsgkUUz24kt59PAunck/wL7fwzm9h12vVotVPkKKYh8U/3AO9yKpCnFIycmzPE7W
sJOjQ3SjBx2O3LGczexpDjdC2kEne0/gyWnmxSZ1pTY7bqH+5lzl3N+44r6yyZQaLAELqqCUJ0UC
k/X9GdkO8eDpeQ8VpYhvI02MdEG28N7LcyZoOvIPxjDwsKa7agREwr/lRO/9wML5reH8n3WlLRO4
1NPWtM/HJQywx4Fm16ckajXhCtJIanV1ilnfQw1cySILPTPDM3cgnabYYFiAN8atvUrjpFbbsSD8
VdBdmXESYR5BgTDyUgJTwMPiDckinD1d+2mcGnmYIewlLJO6MKFzrf2lJSZwemN8a6dM1x9HkV/+
JvtQV4Fl+AEu+S9/G4Np+LzY4gTOFOdwbrLxnDNgFTCAsFBwPoKv8wV8+XvyNcmSUK6AENf9zv1J
Os++4VfEemfkl3/79OkvH/+MSy7Pw9gMJJlUqgnM0onl4Lt8P5A+Bs244JjdZNFZNwda8ZKhMQMu
7StgXYST9bJqk54Zd2+ZnoOb8JYaGY4Br8hGbSVoADUIGqBoLBoBj2aYLJfpfAQ8nftrPjIRYOIL
chkng/nvw1aOB+5DU9cBLhD6Os2lSnSAJiC+jsWcq4wctjwVfvkMEfEqLrQMdYCZmLw5mZdFxSVi
j4X4gKaOjFqlyzTBti8UucdjwlfJ+rEA9pWCHmmwlQNJnFfib+dObY4myXTxMDxsSCwYKADaO6hA
05Tq7kOv53AjRTVJWpaH2020+bmSB6m88sc9NIB9NcgUTCJdfxV/xPMh3fycbHAAx4dPn/5jO039
wz41GkWK1jnWqgTT+crFg40QilAGdcTUpGFnf5XSMMHIlWhz3CHgqrkkAa+go9DuPlPoAryOVcHa
/oPDgiIvHymL91Jh4dDDLC3TkyfEQjwh9lY8IUmDWvqbUuIJ5ZzZu9JFsKIJHv+gAmA/FoHxZ7g2
wsckc3h0ILXhbpvZ/vwDYQUYSKwbdqiibO43td1o3M5p4MCsQVmwm0CWfi0IMAqcSlQBvhFPy3IV
5HUFkWFOIvmxfMxR2wqGUWmXs+6cFtHVbESPWORXgdbTrWWlgkDcG2tCJLfhI4jPKfaPHGU954vD
TGWF5mIMzAWhRV+bxRQt7jav2KncKjOUX7GS5SFKlr8VJcutZe14fLSYJSBacMmC8dsMyNP0JT2N
ELEViNclhqfmVF5Ge/oDh1h0JEhnqmM+Sp/S0eiuNAGDEKf17rrKccqpDJ7/ZQvepXG2lW5jLHSw
AUZJO2YaT5MNEByqRj4FoTsdzoED8MdMa6EDhz/t9uqPxjAEhGzvmcPKiIqe7QwVZaaxFyBjViXR
ICbQe46qO6vrhkCDdlw21MirHAJNtmPC2OpOhKg78UbUnTBCms4lolf66my8aE+ROdFO8FdpvcXX
dLWajNI1bGOcbKeFbjQXWUa+J4VAlehZIRByGRNAFs15F1zGpIRlslo7XNrZEn41ybC/06f8B9ej
NN/O7gpaah2cnIgZb8wwdqa7mv7MTD2fgysQQNnyrkSDyzEP0bEFeVZmMAmpB9SSSPxxtA3/RCMw
FSqSgdXLO+++ci2hsT1S9iQRBVHqirWwDNHC8q1oYS11D9YhSKV0NcGAVzK9HSfTdfrOE8U4suuO
Ckf2G84ty/Nf5BUl8NZur/DSu1t4f79f/PjO0jw3H41VkcTSty+0CK6bN8k+NaF7VVRiwetlNbsW
ilVdfV0KRdZfcEQZ84r5MGe3S7KjJJSJKOzoZ0XhkCWuV2+pEL2l3kqwlOgmEb2qIpd8omwW4FmM
notRxwhzc8zDhEXt0q2swmW/DW83JSUVbYwNhVXI2kp35rq7Eoh9VURRe63rgaOXUYTaH0TAcow3
YCqt/cJZCN6praRtk+R5Xf700grlgSC27coVPK4rpukrhnVEFgpG9CYTNI184cAJi/LZ6sbawPE2
fSlpHaKk9VtxLpUyUQoiS+nCyxZcvRnj+kICXPFuY2Fnet7fOMyx2MuyuCv7u2dBbwh6IWfb+J1t
bJrmXUvRHKvqJX94iPLkhtb488csEOS2IRNXb6uszN3ogVKkz915HHls3mJc0Fcha26YXqdTUA76
ooJFcko6c9vzmadlUX1sQmDyMjzl5yMcZq+v2CYxITaJeTNVVqSeiVwjnJlRYwF+y0AIGzUBWr46
o+ziwrIMu8sMpOUxs6H7FlRvJwtzUe0LH0iRxrD8QlaHLSrt5iK+1ZH33e1QA79NpqP7ZDUqqthj
TapDXsYUICksplPXqzdMxiAns8EOsNnJVyCOMdzdo3/SgkHQ9QvSRsHBlLIPwe70azMzfKXS+xZv
0B/ByztjAtgXfbkb/uN2Nb3hH0s7xzu1UIQlV3D/BdJCaE07Zgw8TCcmVmlRDb7B4bn6miMrNsSK
sW/FihHWkgtJbK9VbbVLf1ycScpkonZIy90o0t1kDqczcm0x/AxXmAs3EEn+c0EELvsaBPNhXuDV
CGbWpCe0Jc0VyWHTRYIDByOu0s8ZfvdepK2Xib+eXBITOF25sd2MMYH/Y+/aexs3kvxX0S3gwU2y
HPe7mwcYQZLdYA8bXBabLO7+O9AibTORSK0oe+x8+uvqpiSLbEoU2aSo2QM8Hom21a/qetevtugw
AXL76Mztl56N+NU6fQGZdL/OP5s8xk3++AhYA0ese4xMkgj1SBTvuljuX9bgrW3/zlBeaGCERzAl
mxtFEqWnQWQnM7pZDwAZbQvRteQDDvz1XmPXbOaGkJIR61dfl3Rsn6Mb+t3XlhntebRmQEbM3hAV
b6srbYHUDQn1Hzl6F9BwxjFifFD/wPFtxYQq5IWv6PF/j95pSE5+ou1wquRkykOaml52QpWtujkd
GUSSHa7924N9+4vFLh7kUpsmuM7hqidkEz0GVGteLfxFkK9gGsWxbmRMgDe1f1BgvxfvGnkXQVLM
oxWo4i6hQzlp2anXh9RxdyUjXL8g44lf0iR+ccjHED2GSnFdAIlKPBWPNLz1Zs4UkqOtntRXLyue
XDLS8DYjdhZyPNrqqevsD+8gHWn47eqZGG31zLF6SS6pHShxecWvknjJRjqA3fmz0c6fO+5+JQuR
jzR8uXpJ6WirF47V8/GV/op6UlP+tfbw5lbnoSs4pnSa1c9qcPWWKVWpuRQjUUtJrAKh0YhVOoi1
YiXLkYY3OhqaKUHHUxRpU3MmijzFFksIAm1BB5/1z5J91AA6DZoeUWUbDLf2jrrhRzUbDmW5s1NR
l/pjsFJ+bQVntJCgbsnGLehsu8LbOF3jkz4hdQJ3PzybNTeeuNkIy7Ft5xZNj3dY/3/YB+X2f37+
+fZj9WgEqYE5QdijzZz97ZlhUFKrsm006X6zIKdPDhN/J4ergOJE8wCJOg3QN+eEEjTGOZOT56xa
OVCG2oZqSudg2zAHKLcGSkcsnIYaVBzqQYzRwfUgTlt1zmpxz7L8IExjJwCha2cvlFDfwLA3g3l3
2qaQ9R9//9Hmvc8hBX7+bNokFouoeHIjWUqmZoT0uQCtdJFGBaRV0VTYulv7MgEIi+Be7wR07vic
r2M9wefMdgN41r/q5rKAothnD95f/XWSPtiUDeisvNeEimSzaXBfSiJqjage8vxSm6EUn8apoFZp
Xv0m0m4mtBVAzSgzORFaOy2ogEDf3jf+rnUeUADI04Ur9CaCb+b5chllsbMlQjALoYGUF2bdKc3o
KIf/EKdFdL9I3v1KQ7ebW8jhuT3aKd00BJSS+hQQWf5cNET6FKA/Ye9SYBoNJE/rACFBZ9lHbZQv
u9tA6u6nDer+rifcH/5woZls1WIuB9UKNtE6sHKzmD8l7rQtCtCYvSTzweXNSmD9w1StZnx/wnnL
su4uioFmEyvNDd4Cm2nkdFWEoBh4YMTvzn1bHqk1RXcYk0Pnng5c9tfCgHYFexosn9SztfSmQuNB
yrwYXm3kGaHhIMa8y91nAiSO4FAlJdL+2njT2N5r6sncye9NZhqI9djkDWxT5eZPkVPKKIY1Rfu0
edyVmlBoT9hEhNlAFu1XjtI56VVtP05cbhKX5JBZDkzhLgIXmoMhPOo+OJIARAUMyP7aeNPYOna6
yM4eU3AmBHgzrMsLYLzItgnEro7LnZIDLfkI5v7VGLMhwSItNjtcTXcyLGdag6iU/NqNGu8gdk4+
NSotuNIjRAfm39A3ctsu8kheYINrtuSqm9dNrTe6qIgNu47x9qk8KompT5e8c8Fl82eGxuUQjqQJ
EYreEOh0HQcWhv2gd0gNhd1h6XDwMyGOKrOwkx1vM7ZHL5nnQF07z8ZpZe7DOllEb/pn68dkE6Rx
YYIbhg3f2SYt4IC2/g77aVpN0QvVBvf2rYRyJ3068MxGReyzzdvKPItWAEdsC9Feg8/J/W/pxtoU
WbKB7E8Abi8rrCJ9zO8+bpm/pIn9tJdo8WyenfAlOLcsfl4u3z4Vnx9uELcfd2sHNDuzW1H5zs+C
bIjU94TLI627ljSpQ7GM7KAh11sCPuTPWXxo4NnAor7XbFx11JGRJFRdHxUjTmN7qUc0PmEKrnQX
VZdscsRp7HZCDKcNOlVALTiIEpe2/WXF1XEh218S2fHSl2I1zTR3TeOg1IAb27tSzQNIyMbddpcd
VtG9o6ENschpiamWSo7HOThMsXYYfF08PwaPqdHtA1ewV4x9OhBr59TCHitVRRWWFA1tFEZOq1DN
lJDj0qXTLCT1zWBjTqTcDMlIP/a4TrReCvVK0Ggj1jr0YpEW25y4mleacs0n+bjb70paryQeREOb
PpHT9tHbL5Rn5aCMtJSZh6e8RQyauo4ss1xKq3ToCmLMiWzPQ6lpu2t4OPLtkS7m5eDkcsyJlKcV
ynBqItaFLHEES9CriKUYT8STcqgcfUFulBuEWjkmJuNG6TLh424UKmh/r/p9mkXrt+A1gIQMSNpN
swYJJblmOWJQIekcF0MbEp8+DMLFJ73smi9WzGg7FJewTQPpJnUsWDV2lJEzgdlFx2chHsZKc54s
Id0iZFUSXuT3QfkmuH/b6LVHmXuNGGPIfPcXFUwKs6dtmrhJ0i2fp3K8RZLFtgw2eH1yN8yTqCVc
tI+RRL8cpcuL/q/8yX0iQjJoOUeF3hrStjSFq4HKalpOgCvS/1qv89+SLNBPgySb53FD+joPUUv8
v9YqsB14N+hrfYlKr7CrpEiXwCm29ZGQjqj1syZ+JSSAzve3C+fR/GnXiKAEV2zGVATgV8Oap6DD
/ksGAK8r+tdSZ5Wgs7ZCh+wkfDdP6Rry+yGttbxejfUuyk/25+M6STLC0StHn1bZY7XfD6jMBF+5
eDTp6x6NYxxSclnpRHulZfmT0ph6VbZBlKTZrw3I4nD9yBBp9a58NHcbEwHrZr6uv+ZpxT8Xx/sm
M73JQ6lCdnx3aS3UVw5LY8dHJ4J4lt17GgMG01Ya9xIr1bCuEDOmt/UagnkoHCeYxyhDPoMGq7XW
0QKrLG6TsEqMxjrWbDDDjGNyEd00DL1p31l+TAEnGM+o/AICyFaMwxcKfcpzpjoVSb07DH36898s
C4FqpJW7MQYFxBjZ3zvWMGQ9OZMqgYUmAMH9Six32w8wYlmvbWz0oEoWahLuv3Wa1ZiRasWDbLdX
FxV6WPGLiHqCwutmD1955Qchxf1cI2m2eta2qjZkg/x5s0hfkiJ4nO+6UJi8rwZnEMYcYIPpBUUi
xchvphOE8U7j+3PoJib9KddlXMYAaGVFst5sY+GuXQfNnngofLK7nL9oVpbGSUMLXa0Fdkno8tJn
ROGruOn7cnP9Zv60zjUfS1714IVdox3R8AIAKPdo23eKOxwBblgt3hz+V6G0MckGHgjSSINuul+X
cQQZZ+MYouMM1IkbnTUQw5CIQ5kcaUGMj7MgocYhORaO4w1yQ0BCS9kuKeHvGPlBNQjU4cd55jbj
KBvvhlGKBh9IzLRO7x1X8awATYNe4ilSE0ebCJ7tR/gPi19T6ZjxcReUaQw8QGYH5xTzkSQT66Ak
LJM4jW5ftNaTB3qs9VuTnocxRAR7atgGre1s3RpJaBXqU3poPqRJrcaYsOmE2kvDW+SfAbJ5mwYa
mFxGJxsCmBUxloyfsqRy8tXqRjrd7Nr0Z3ws5hqOJIR7ZXI02lKnDTltTIUmgcOzDensTCeoF4Sf
lopnOJI+iKerPnUieSWvyb/kMY2aczWCJqVJE+ORjrKLM9nqBvvPN9LbqAomL99kgRioq+WKfTD5
H+aHt/ptZaVE3/Yu+Rf+ZoBDohjTL2U4gh5BOuHIlYrSKl9vgui+yBfPm6SxrSaRXhiB8XwZAMcK
alupvzQWuyoTDUO9nfvLPH7Wox+st3YnMSPQzfTCVse/fEJYo6VDtTznQtFwCHIgdXqQ0Emjg55k
qP193OXAu74l+m/meZzcUUQ+mJ//b/nzu9XzvT6XPy6j10AbM3fQafPDtsSrZbfX9wLIJJAE6UN5
58oGsubp9zDuDRH2zb4dnH5kf3nbY5ZwGJfDyPx9bAWew+i16jFMw6tKm/ZYfixxX8x/x4l9sz+v
D9XT+mB/7e5oeLwW9yea14WkK2OtoHwWm3xlrO5k7cTaDBn2ErYycW19kZb3aQautzKpwmlnMKoV
Aso92Rlg3ESbzTq9B3Zxn8dvTmubhN2s7ff+kaO2KJjzWHk23VqgpRIM/RS6BKb2dA2y5SlaZzBE
7eqEnBPYQOlpBK2lagWnPg6VABt3Zn7s3376+XQMdUuMjlSLEJATz/Tj9x1ThWcXffcdUstLeR35
wLuvfWKw3yxgipEYfe/lyFTNZ+rMHN/eQ5Ia7pRzSIb83SM+a4UV73HIsCWejM8hAT9KebZ8tnKl
bDNIiOlUBXpC2ajqZy1Qs8dPD+t8+b3m299rhfjf0StXf9TfqPn28ePtbS3YxWccKXbeBnWO7jE3
9ij4hWWPGVSVC4u5+hRlsd6ZMjnLDduO2oWeqyPXVKnnDFJE9Rk96mMrygkAKwUQjx+T7NGNAa0H
VrXOSl1m8M4+KueyWUdZ8ZCsHQSK2SxsY4o1n/gxvQcMMDjsRjeERC0DrKd2fZEXyRE4dQY4KcI/
ZQ9aUgOScxPNc49GlMBHY7+Nq3/HgJarzZvbMADPa6dP7+3jOXrRrTPHPvDDKJFmlKRVC672V/Ud
ATc3d8BaNWhV6z8uGTe69fd0fIOURyWQqNCjiCgzdiGp342ITbnsxj2qXCrPsrIPjwV3aupKrTiG
9IPzB6x63HeO4E0emMZFhhtHpvFwEn9a5i81Vz8TlxgXE73i0OeNSrOHNLNNPvNVRfKVyNmU9l9p
y12lMhxpLIoZ4lyzCkSvQdzdEJnplej/PKaTIoVGpSTJmXfBV6yibNdHfCe9oO66ltuEP97Q725v
HQ3DQwYqNWcj0R5WlHI9pKCjbn/ogTefxTjUuOMpNO5+CjLu+vhg4pw05m6F424pb4OQ5PUIxbjj
ST7ueEiOO55AI7OYcdcnGZ2qVQGFp+ar2dN8qnrVfsKBY9qftsExHfmutcEQ8qonj7s+RakHUyv/
LU0aIpghbtct0Iebk7uzsVGoFXU0AaWxpjFCKkirNhjtveSQalPof/ZQoP7xm/kiidZ32FEHiTge
SBlw1pMwaNfJ1bDLdSxTinDUMbEJ3UtyFb6jSpXxDx6h9jhSFyFtbAIsQnpztefr38DPmcXJaxLH
98cAbSQA2ijV0/PbWOVemYn7lkGOheqxeH/zINRDlCdfF0FmsJqiLI7WcVBEDwlw/iTeQZJYKg82
eqaPemL6jx8W6eOTuxYaIaWM7+1iDvQ6q/xQFyM3hLglyU1CbhS6iVQQ3NA/f5gvnjd65LvX11eI
T9r8w/KT9I9t3d2f8iypXxQJkE+qS1Cq1sUX9tzRyZcJRQ0qSL8LURIc0N6e6Gqjcco16YdeSL/9
iASd5ZFqjksAoe8o10Xltjdz7IwuQi41k5OYCDSzmcI8JJXX4JatSuBVtHnyGMA50TJwPKo4TyoO
Ng/w8E1iP86L4A43D0SmMQ+hJkKn07gvikzjXKRqm8fw099++c+f/uvngWnVn8G658JNwWjwXgg8
neUrMZm5SKamM5cuHvh2tp47c45qsmATIouLzeUW9B2tjqSbxdu3YBX/xf7W3Wb9nNRZGgsvwdLO
myQUv/gwILYoGMaEOJvGJCczRq5hu5ia/iSVQlcwSTodjipCdq2m0w39wcCz3NA/FSbl0KNHM6Ty
wp49wiakAiA5DS8j4dPZEzwhdTGckOYupkO3goejuSOJYGO7I4mczm3geEI3c0IGCybTmYucEL0M
EJQ5iNNb4V4GWLrAPbyawt9vHBB2FAOu3JQOltMJWejkavVJQqNMf/jaZxpT2D/F7UBrghbA+uXv
FiIZsAJtdy44D2cIVMl2aPadnGmkqeqPCOXLUfNaLILvfvzp+7/++U9OH43pIon9WH2NO13D2Tc9
n6EowL9irBfsQKyiRM7YzrqFQOw4S7Vjz0IhLrLFIaE+CWlXQ3OUokJtfZGLLFcSeXXJRCWkjz+u
KToldre4Vnu4Esf9koCcifskSHRvdK+1/ftU83DIfXlbJMVTkug5Fot62igLr0NvqilN0PWMeaiB
OHKjnF4DzNvh03eSf240begnp/oEKgBw2WAVpdkizZJPczfOjRLAmttAd4gmkjXogVEWQ87VYmFS
7Qxu2qdPt/bLliyV1/l2Byy41OzilwNwwQ/mE77d3GH76od8fcfqHUmQkEKha1MRSxbnN2EDS8r8
Cxn9c8idPNQTmxEahNA8ZQDtKctbSfdeaiJck19KGAaTMGruzUO6aISIxApDmjoeRIs6seStIqXo
sBx8h7BoYNs9m75kxqnaqYKja6GESzRyIXUJMLzzKY2+ZtyqN+lk+eWQURqBh6HELXSfLXdxALwo
fY3JCPW/lvgY45ciPtUrszJONoACCYncWXyfv+pXNujTjN0nEQAjq4H0NdaY/EPRpSgJI4wvdbyQ
T3OpoWWf9O04T6BWADCg0qKW/G/aIJLrwWtoYp3+HZJYhdeifjjc7iwUVPq1IO3VPNYenIILlSLk
X0fe1zgZ1tBQ5EQwtFIkgw9fH1ZS5X/UGkf8xr6++++/Bq9P68qBVCelBYTEFzyJfv65d+S+yotN
ABBZR+DzuIAyyvASJz+Et7f3yfdSC3ZZeuDncME+A6SQulZxsXlKi7SIbuh3IDggLBQVyTKd54s8
8+iYpYJc8vLxDpfPQIAvoDVB8GthESSjpUsTI0qFnNOZUhiApS5w6RCe2KWjciYV65lCk2ZZPoeL
95LON+nSxiybmR7Wch7g+C5HZgp7jtnWHEMuXq+4nDGCrpj/QFMP+Bbpf1Z9RXDWEEtYRXoCPtta
815mqSb1IF7nqyBOHx6SNRBn2b7AGUIPQ3A8taRIW9t+XhVxrVoXmiQy0be4fLdOp1oroXocedJm
tuC0ienFAl0PjKxtqLYR2sYfIO/YiRUiGjo3Qq94dSm/tzztgsbDuaCVuOToIT2uQ+Dhtl2dqHAb
cGiJ1AX3XJ6oJ8ND+La0yq7I5Tb8RLbjgEOL0wGSIW/3EETe4qx5KzwGPJXWiHVsM7+gOFiQs+7c
mS0Ktlgg/PXt9/tFBGHpg54F+s0WSKSOR4UhyUmGl7ubrboR4JPqm0msMQFfp0VP1IySiwkbccJ7
NuTQrM/+nqFA0hOIKEPK8laAdriH7upObmVs1g7xC59lIM53PdLgmi9Xm6YewYxQL1tuunCbjX73
0maupfEdw5xil96qLjd4OwA9PIVeE43yxW8GEYGwhA9GWkBQ9jlL9TkdsYSJhFxy7Jf297UGj8nG
zcb16SPil6EdQ3ZTVJvfQg4ovJtkNflYb4uBQZUIycC8zp3IKJSJP3wJl27ANBQsMe97C/OXZB2s
k2W+sb1X4VCO+EhtZKgDUbzv3fhcJODzzdzYeQxrQdemL1zjwkoae8jXy21mXrKIA8gvLRrzZqX6
MsjNf+iecc5HMChu6DxOX25osrMoHL3Q6Mcb+v2/BYHLsECCn3cdKh7Td3M8RkB1NFbBwhmmivBh
eCVoZ/qd26XJEHSz6aORPiRJDGmrhY0KW17QALXMISnBi0CEUZ3hCA7e4baaZouywmaR73BiMC33
GLlub4L3qhgqFfVvbLU4C6E8mzu7/FtbSlok//j7j059UyAt5sIx3ChHXShtGprdEKF5/it5sC+Y
rN1aqTUF3MtotbmTMDeIbLykUbBLavisfyFx7yHzo7SfLnOqJHk1/r1N/ty1mC8NQNDHK0zdpPEB
M1AEjTD/fZmWvHXMQnQ5ux6T0B/umAUP6bDiraGkV2giGmL9ARScd6UkYFmb10292YHAV61FDlJu
RKnypDOcYkN1tBKlLWra4Q6/Yxr3yadV9li9EdpIYZx7Ek8FdNCIkyzVmthWNJl2ggFxN5cV0J3d
j6u1eG5MiRewyBO5Qe2v3Wrx5qh+1ZZ+p32sVjRYy9JGi/b2JVxvU1a4qx/cHNQO1jr7YcBwmcZk
cEgU02oIEeRL4SkD+kK0DR9eSF1rr6sFWkf753O+qaloVNs9lPSRHU8pZNK9Bavn4unnTaT5Cdy4
aJ7YN8a02xfDHOmcjZUWuKEX1uJrTkSBoUvxsPpHQ0m15rSSfzEXcIDCDknR0GLQ7Y0AJ7FA12Cj
wb2vTR+ZqhLl4c6DiAHBEqyiovicr2P3JaLQN2ZIlaXZY9wKB2jyN2icXHfcSR9qw+n0NB+deh6h
+ojIl3JEo6UDa97H2QWidRjjG6L1hf//1u/bxyqLDMFVhjD1fhOcCcLSGQMm4M8fiAFkOWifSRFs
ovugWETFkzZS9HTcdQHMAH32FRdx8hA9Lza74CLYPEGsh77PI7ek4gQ6+vbJLwA3FoSY9VYnwVwz
aagVTTIts9IXd8GbhAhgt8j7e0yb0oVWlpkXuRsaD1NNZ+TK+K1PjGuuBuKaOwq37DN+Xi7fblB4
e7al9sH8qf2AWmaEBHSnMz19zs6DKz2Rw5vhiC6C71Vri3JYluAuA5UtyyWaBk6Xj7YxQRmAgVMo
bNJPc7YPDUGxJx44D4BAAKu1jkOnLy1UQq+xhb1Lw8PBsuglfTRpgrfFIv+8c0uuosfElpqZx+U9
cJT9cUCrRAi3q/2clublkRn4DbGYpQILdqWKq1nYK0YP1GxO9iFKF9ruMZC11ssHTwqA9QEycMbp
FUgY5Cs9/8Q6MSK8pzBbJ7H+sFeMUMX9XZamqRlHI7Fx3MXXVpsxmXEmBPfNVpy2dkhNV6eruta7
yXoslwwl7XXfVvl6Eyzz+HmROORIsl7na7N014XDbcvq2965HahQ47lr8ppJOpDybm7EscJGhbx4
bdvveu3IMRczJvtyHsNW4yR7s9XSu/x0Z1MbAClB2IOZks9/zAFn/IfG3EdGgbeyoQm6EWs69ErM
B+s1WW5OwoKUZHp9Qe1B+BmnYUhGJu5OGdh12rZR8jhfRhaQwMkxIWFHoQvWjm0LxwL9tK5xgLLY
Kx3/1PVrkiTI4D/2N/f2O2NAeGB7HPYe5wAJIsZh5k42TqBCH1EflL43fw5o3VxoB7FTOajsdKcY
CWgfTq/a++3XJPs/9q70OY0ky/8r7AccO71TVp6VmRvhmLBlubtnpse9Up/+slFASaINFE2BLPVf
v+9lFeLKgjqyAG1PhANzibzene/9XljnumaL1uNJH6zyIH9pMaXduSwmpJW5qxJbuzNb5Boa7zEp
vBTQO9u/0pwmKtgPIdUg3vdzNPOuuxQ/vTJhqEyUS5lw3kjaHJXp0w2u7/IPy6oPn1wvmUf7Mgtt
2mwfC+7+qfvhcjbs329fd6BTfqBe/TBh3s3iGPv6gbi5BR7Ajn7LnO+dGl7RwRxp8M51i4yYjIfu
OlrKO+VQlVltJefOY1HMFlV5EADVBJ40ssZqV70o+mm6k3qJOF01fnW1DviZ4RhRNx3EQU0nLFV9
VkgbE/s0Du7iBG+EioC3QoQVV03UwQlF0NLw8BgrYqWqPZh3+UOZkbX4wqea4lZN2Q+Uw/mhrCOU
0KYBsawnrz/TZVb++Uyx+QG6nSDgOqZPckIS+1W8ADaBs0tH8S38508tE10qz7u6unBHezDCxRqM
Z9u6WNkaRLdzW1qclVsgsbkdAC5CUE2qCgtWLglycIGt+0GbYWUnvLLvXWKQd7f/US09VmrYnex+
Br9DSWjOfUuYPDeuLKyUdGuvLjFfWb7Ffx7DhELIkwhKLgU/ycBCKdGiDm2Se7srbrAcspENvk/I
uUUceKCciaPzcy/OyhuxydZ219Sch0PlR6ztG2ol1cKQn+EmKKMac81uvMtduWVx/UPvctOZYKjd
BfZIi9qzTTGcYPOFwtQ6ShuxG4KtXd7cHAIoYFQYcKnCxmP9PXqIbjIVcggTQYWmZL1MXanbfU+6
5kP3Pe1qgs/fXdlHZh/l2vtv7SPZSTzBI6fKs3geTiYg+DIUYZDPTdMzTNiRjBL6IgwKvCzNfN/8
WTSdwmDWowLL4DegnrybJX/Xi9I4FF12ORh/ePr2m7+P+vyndHD51nz79fXDr/yn+aefJfnneDAa
XP2UfvqZjnqT68v4x9Hnf1wOnj798i/a++Z/Jv/4Yb58vvg0Hj31+fX76OtR+ulSLnrsevTT+EM6
+PnHu+9v3j1/79dfrkl/PBoOfrke9Z/k5NMv1x9/hd//dDUin34myd/59SjG376R7NefH+mnH8BG
eu+ICwpZx+18uFtHXZslnzFAVxRzAfUoQ+pHJCGsRO5vIMpENL93urMMq9p5Y0kxzK7PDyKncN5h
jJ63lOCcqeYbYs2itf0IvtwP53krd2cCpuAls73Pwr+PR7l//2dgfWZ0U7Vhweb78XSeqQ0LqRRl
lvJ0dLE068fJIo0xFoW2/Ur7/nemT5b5C6+z/IW/ZH9lS6nh6d/Gb0YJuKs7+CMMVqA08U/Sbhuf
lK3JPyGLU6N5U2E+iEfRk40IDDCDyG1Rc1IrOLAxkL3Vufl9Ec3i1/DJ9vlibXyj091QGjBYmgY0
VJRRt+Wuack6xjMO16OT9OeQXVTL5qGQ+AGzpqzuQmv3rl8QwDS2hMCvgQ2yLkM1CfZdIgG1YgJL
YxmHJcRlXCyqsGdlI/exggNrnKZbqBs6sAeW/Dfnmlvw8e5jTMB0IQpyKoGulPRmE69fV4PTZjuv
DxLbyPI2sdGRZ1ykL/fYuzSe2GqW7C8LFJ7BvsyNzyEDS8GMODiPQx6+sOlpvjh7jt25nKtjYDnA
aOzFBLifxf1Xm6LeW+arbB7Sjh/REARJ5szJYoipxCT3RfJFPY/+hsU3b9rjk1fxJOqN4vytrGBo
+UdvMBm5yy+XevaqAs4fv7x4/jN4ASd+9S34IuQpWWBpexzDY17+PgZbBmzWv6KVnMDDyqLGsng7
5F/wQ1hdXic/WIynaInf2h/Bn8qmD096MSz7r9n7k+ePcRPhv+/f3txcvX+Nk5s62rZTjvCRingU
nX/EsyQYxZM7cOw3IdjyRIKK2nALBPYQ16bRw/PRInGst3Rf+8zGqVsmtA2rW8FCGZfCA5POZxGq
YHCv5rG7NpxqJRHg8WVLR69Js6Jq3LlBhrgC5ct1c6bKyxhtCwRnaq7A1NzQI/Pub79g3XhH/wVK
pDr5JDShx50Dc8xBbLJcLxpgFOQUM1Hy5TK/z6xZSk9PFqHXdIMSc+C7czD89HPQVB93DsIxB8P8
JOlVTmmWwvPIk+R5cOeQWJbITyGPHNtOKT/92YemeQbrCuM26EeTfjyyGrpX4IQzIsAQk/QFy2Kv
VhgxxqcYWjsMMO+z83Adg0JAHyGPEhSjxF27yTF70xP5LextfkZ2QX8WpfcFySyhl2DMasM3P8AL
3Gwqzk0X2C2pucNzF8+DQTS5A79ykT7H5FzrDbF3r3wZXo8j6u8rUZ9K4tPTwf1ftUh3uDsBUJrw
4AHAQG9Ho+scrPKb4oNmkiMCmX55Bw1iAA56z/0PfAFPN58WPHVOFN4vSQySeLV/Kegyt6hRmERB
jadocy5YD0SbBd75iVD6oLxNsnNnr2nd4Qfg1msajreL0cjmJLrsOAM8rY6iuwYxbEk/KsgEEQjF
5YGc7v4YTjdB1ZzCHPFhFK2XjrpEcN/Bj2eCe/3FHARecJ9a1m7QKAHCd6JHMaw3Uucq/Gwub5aM
M0kmsddiG8pl81s+tCAOZYQzGAhTJUoMxp8H++bq7fsSjU3+dxzP75PBqrfJXtWbf9vWemAG8xuQ
QBuBZZwZpaXCPaWnujnuzjmYUqdw/I1hu+nzpVwvX/uiSlUtHH9f+Ma+cFstVW1fDsirfduCN0zh
WW6L2rmgCbk5IrnIUlcEvIy5NOsfvJkPVdjh8mxt5iS7eM4Ux3AyGk7i/He8ahAuOGtM+WC8jZPB
8Bax9cFuAivK6fPrUHZ4qYzDreHGw7R/MYrS+WqY3EJzY4+Bgag987Pj6hasHGGOMAoWYjU+oclt
8nHy/SyxaYNXD0W9bLMIiWnAhq0yxdT+GjgGw+3wXPwYjacj8MaTMbYOsd/ziZuvuIczwJKjPGDj
zCw3omQ1EC+yyjeYxCqCAXgvb77DhMlL2DOG0KT/Sh7wKSG6i3i+sIeEwwMHT5t8/d0P21wrOmGp
XsO1J8WD76JZUGE+XLMW5vMDnNIgemqyUTJk7Z5e8CHuVdkpJcmRyMmosnukVMt7BBOqskfUhKbN
GQF9Vzy1WmRUI7wxjkZY3wDqFKwyJ5ymNZKM8SD75vEMyygeYixrLcrVxY4/Uh5l7RPQQMteOG4s
eV4yXd9prDzjlRSixlNEOKqjVo6japdtMLYriTB1bz2cu6Z4PWYpMEFaoLndUD3ThhIedhQRQjU9
67xZXAavlZX+FBY08/0QPq5x1q75ouFoMXPykJIdxcJzJaqC6jRM5OxZ48hFbYitlX+A4BdrFVnb
X8UikNw43Hh/Olog1BmGVm2fpY0yksfgS9z7PJwHGNEMJvHcos14vH6qZT1tUpad2mM6CvLNsEhj
j44Ud4PNKBo60XbE9TbkbicrxL73dVe22YNmzxrTHQI3CLsqjqQjJlHaHw6dwX9JO4I014wWf28e
zeZBluI/nAwLyhcUtbBDlQf8Lc32djN2fx/NJthGd4dkjZQMQWa155HyROCd8bjClBBdbScPXNEu
ccEct0ccc28qxiUbjRbSsCn7Z91ZsBecGxOF88ZsiDn1ezoraw2mIPFA7HfJYl6QoR3afiP+4inZ
YM9vWMt8u/D2OQnuZajM1dU4+9C95F3zYZhOkvlNMnvnNS2J6tqW7zhKPy+xhvpYPuNOAwNFtQXf
iuVtrZ93hhYOPhZpf+xh+naBJSjzob1B3p2FYqwx32Y7bXv6pFisvtx0x72Dxhtks9UbIZv4Edee
c5zaCjufah56K9h5GkqghLBjWTTuRjAIME2bS9/8CiqIirogK62x5YrxNZI7/YoaQ9odASQYOTeV
UQAB4j3rgNE6MZpKu6tC7Uv/BLhp/YIUHgq2JzcerMH95CgqGjbVh+DlsKiaDMEUZS+D5Lf+LTlg
6wOfDEFCH073/Sy+DfqjGIR1uR7phuvKN0bf/1iVtIRucu5rRQqjaPLZCeNLS7bzbrAKSrVokXot
5a5KaXcBNcHHpaTlNTIjxEsJ/a14cm+LdJ+5cqya1fH+6p9XP1xVOwHBG+ewWEkwnSXzpCgVVISi
w0STa5K9ld0297YHU/nsBXWDYnNc5UWA7G6PxYO3qDMFBcEdWTFkVufUuahvrsTzCDOfYZH3QTqf
RU+YQXM3yrtjuHtyUHCe218VrZUIsuWf5jElJKHh7RMQk9v/gIMStAnnjIeP8WCZQ73eMCAj5DId
AxQ1JRvIH0h4208rjLwMGb1XLLfkWXAqRcv7z3hYO7Q1TK0TvX5B4RLPxnR4oxsK/7AwzWT6EiFm
7Vf+DRYDWi3sSGHq3LZGgxis/MmgB5Q6g+10dg1SHcF1DZ/u5NAw3gyIHCWmqm9QQygTJb1YKDut
aqxeei7usZviLiUCS0VXo6Sf//Hh48d3b68ryj9aJ500k39Zw8KolyajxTwuwowXHCiXqmOshWn1
soJwxS88OjqiYgpAzc0XFdPmbq7eXl9+UzXMKmhdal2M5sMpKupFr6C7ndTYdt20YHa6m63zku24
m8f5EUY8Lei9TgmXeOve+uEJWlF/1aIQUSt1YMtNeUavshpr3VlxoFmZDpb91r3VnyTBZsaoEx1B
lKzjLXcdA4oXdFE/St2lMIqVBalsqgGLdB+WjbaQg+tIZWfayzL7yRgDs69/m94571mZfhHXQ+t+
3VdZob1HiDmiRLv3RCUr7Bvd3eg6pYErBZE3eU5m1ugdw+lkeYgFt1GscirUmmQBqgBrIljMb3Ve
ZhLgFQKQhus2p2Ja4vvk23lF0Swlb/n8qWEvlM38wgjp2pmYeeJtPO7FA+uKpQ+IezCKnmwx3x9x
MInvQB9Gq46IO7XhaEZVTJ+uccNJKtpONQhWaN2cnH4A9v6YVW+uO9sZPdiASV4CBqSE8uDNWj7y
Rdwf56D2Oy1VCUrU0F/mhDM1Hf5WyBenunJ0VAwzLCfis0S2DlUc8YbVB92tmim46I4QqlrO+JCl
MBREgxFYGL5Qul7BH0neQyJ3TsZjBIGU6roimiSTME5bHgIxh6uTlFeuegz2yHNs9wNKre2N1qUu
X0WDrANSh3XPjLFK4YrlUGV7bsXK/OL11c3HH68vr2721w2pkLd8cFSfAYPsUTwMQwNatrwJSlfb
5lpX6eW6UYizAuf7yhK5VBweQokP+EzhM8XwpcFnAh+MT29GhKaibqhzJIxXHMQP8c/jx/keI5+g
+U21aX35JKyoFqpfqsEy2h6Ca61PdYjFggsPMVSlkv3Oj+PXFFgJjn6WBfJZUtxuCgm+/uk+rte0
VPJiI3IBB9/7oXRhnbBAWB4sHRaOL3n2zkXRcikTHcGqqYSat3TyOMOExhxjGKPk6fmdviY7LI/t
oFmo/63kPYoESUSpWxTR7ALRGN36IIIa6p029lz8MmeSpWQdXqrStdlieTmIn9a5lLq4VFChGgea
JtHD8C6LiGfMVtzxQDPT4Uo3HnJNEKwG39MPEAv6jD6HY2COYxBS0fCl20ddxm2z4y5/n9ocR48u
EPgnzak0/mJhI4cITZM1KICpuFNCiEIgZY9UerBjKLOYFoKdA4lyl6QoWTDidUPAwNEvni34h7bY
wkhBm7MFpqcu++PslNaEnXLtH0VZdJAsq8g9HMXS74puT0ssIFwsQAwVjfcb9NQknn9JZp+DOQyd
LOZBPJsls2CwmFmTZRbfjoZ39+76IUJJyZQIcW63/OvXka2qCzCURQ11UQ8YyEewvzm5SpdRYUIi
/j8QSnsCVCt9OoVbEC3DjHFzftZgyTwev8kGQgkZnuqARsOHuDiiqYwPr+7sI5plGUmSk0Wi9t0q
E4mRVNOmGDxU6q6x8JbJl04rlRpNeVTlhLLTEdaeSw0kLM6biICSRWPO0JWiJWsnxIFEXMS1zGAt
bZ/EdJmaO3qCz+IBgjQB5TjrNyTBJqJ7cVtFicTxWZqv2+aprw36Zj5bxDtNtjpK0JesG6uyklcx
bUJJ2iCapKCiyNbmgy3THo3Ys3AQSSMXqc2C4/0VxH/GmmFKqawRYahT19ugdtdF3liM26pmv0uw
+HjdwtjhakawS4Y65m0Kd4IW4W1Kq5lvBwwtqnmHCtaKUkwReWoP+jOC+IUt3GjN+oOkHwySOMVq
6ScssVpXTK6LDi1KNpQ+LHfz7cg6SRVpFSYwbh2GbRlCSxT5wjYJBnFK6thCq4ujixQkGAbjZs/l
+LZtuJvOw5J9CoqHW5NN2wM7hyyNLV6RvCxwh23I6K675CED2eKBo4aTkhVfjCP8GWlRivRGi3gL
X8JGuhF5W7W0xVaBFG2x6jAj2xnYYrKsICbyk3ZehkvFGx61f6Npl/Vf2T/f+WZuU630A5hRuYX1
/Dr/sRv8rT+ZlSWY6UhpaA2htdtWMbPA8w6Jr7Cv4kYOuFUW9wnMKssBb8SYedfFA11+25AE4lwN
0oPqEGxSTo5rk3pfAwOhSMu1BW0zG/+3NJnsxH0EsJJWR7Rz/W4tRQORilAcU+O4O6ZglwP6QkUS
4S3Zu26QcAo2vTnKie0xVYTWYO2XicbK8zsxdZJM2XVpkvTnsNHpfBZHY1dtjyGlantktSN+uAtu
4ZNyRiAllKP6OOsjfvvu8gN85TUsbeeUNd9vKsiaItk9plVVzHD0CY93cm4JEYIXQRpMwrv1XsYm
/zMZ4VzojuS8lBF+nsxVDu9ensqsdBqSkqNnW2naxzPm3ea70rzNffa8w5TKEOy4UvE32WblrAvX
rSOFIOQIonmP1aQkAn6bF8v1YakasRJqZc1LeTe8k0EfpLvTCsHOfqzUzbpvgrJ9Ui6mk7ud63ZE
gZG8FUrKmrOUss80VSjSzpqW7mYxAtn+vohmsZugQtaKjbZn4KyjHiuJyuTrCJ1er8Hoxgs/QSlV
rRNsamMWS5BX+DSN52/wfadZefHLTVfTm5uLTeNxW1grTB4m+gSyx2YcOVN9EPtC6mMQ7h41Zvt/
h+qsCXeGEG17BE8jAX6ADoP5l2HfYkAH8QQXF9CwN5wHi8kQXzn1nACnjftXKvNZZPNJSigURbCJ
bngqcp+Oop12lEYjDhA77xiE3eLXD/P5LpGZdiIQrhFtUA4sAiZPdYAPvZ2qCCyT4Zy1pCCCQexg
LphTKQWwIAQBAA7rAU2BNUIdHok3nalz2MsslEeUWE4ZpU2HGXVC+nJn31LEhakjuM5DSHDRNmXt
UeUWj5mf7Ex3PXWDLVBDdT5GpZs1yhmZZcSLMkC+5RrvnCX5kiZGS54SNElWuUBu00R1OGkx9uAO
PQBrtBDmxO6V632SsvBRfxbBq5mz7hYEnGgk3g50GKMIrU2P6+hsK1ndEYyG/kXhw3AQJyXTnjA6
p8nZSJ4DgoaRrjZ3z/Jm2VngkC0jmBEncd02S2lfj6diR5hQIyoZi3t/khHgX9ttzOcvYjcGITo8
DBuJvYc4GN7OMJMY2WI4ASHQX6TBfTQZwGliTz6gWyBb+GY0cuPhcwFMq7zLxGgwSEcoi9KgB0Lf
Pnd7rBy8DX0khnU3k5O2N25L3sVqI5B1N1X8QzT7r15yt0i7/P1FV15edPk7y4ZdECBdZuDlXjZU
yIa6yeZh84IBEM9kkHzBnp9TGPwpwJvS9QR1WE3Unw+B2gZAX+OCLiNUClAAjW6aVps4nEySPrb8
eRjCyONM7GezjUcxTqGgvwPvCMrbJOdBsujtax5qKVo1UUETJJ9B/BgPBr3lWUwGveTR7dSBfGLh
6ckXxq1MviD/woY7taqnDFbNa+OZpZ047UfTgiRpgn29dZuEYlFQCs1CSyXS+9qdV9YG+LKR3bs5
1rKZ7vY2u9BXKEYdTk+cYDhUl61hud4n1TYtnUZ9nO/uXoUCvLhWKfJQ32MkSk6o/zXPgTb7ZdjS
pj7VSVo7jmFJqPFmBnIi4Fe4Ym1td05pzmRog3WSZ6AzVHW2lJIo0tKeuTcrbMgUbr5Eu3WW7NEQ
KLVbc2UzNxoYwoakcvM46D0F/XQagJU1jLAcELdl5k7rxMu7Rn6D8xwK5GJI6an96Z3jqp1qeHFx
3yV0H5VTYsAtoaIhmU+T6WK6YUAG82Tq9IHAJeWaNu5FD7s6Q6ezH8zQGgmwFnE3ShNq8LgIAxqS
xx2RKC6OPKIk7KgjUlWuyMXjiLpcd5LK0vHB9kAeFN4haeObPdysAY4CqyH+q/d+e/3oClpz2pG8
oaAF6Yr1wDN3b1JS0msPD3rta0MFNi7lkOfKKKzSMb4HdKkOLcBi0GegOtZpeUtxPIdUvsBPxP8J
fjR+BP9thmBtqBZU8hv45NGCB8KTLFe9WI9gZzEmSwEY+NhrVep+wcdI5Tq5h5VEDuK/zIdui1nY
m5wmTJJLghGc8awA/ohSTL0wNVaWGWzr8DbW8tsTzxbtj/Ic4yZeiGJrAw8CaCjw4PX+sG71QS2O
x17YDo0Z4rVG9ShxNki5gaHaZWE0Bp/5XT+ZPh1wzSiFDTea0gannankNW9kabcO0+XTvNM1mOKF
qfGlkpfCSk4TYuuCTuuNkh6cxn0MH6XWVbJJEWkQF92vSK5BeDD/wupxCkSSYrTzNsH9St12Ei0Z
i250Is6TMDh0eHJOcO/Tq/wrux8X1JB1mfrl5gYe/7IdkTCgYgkh3k84v7xDgxFeuq+aNeoLduo9
ds30VR8MHvgd3MrB8CEzVIbw3yPKkGFuuGSf5Bv+cJe9u16G9x9B8Op39iYI8CULu4w/kqjLe3nI
yL7BNLxRp8bvIhtyl2UxUUKwNrjmy3082ZvMjwxL2yYmJ9qWZJioIo4nOodjLAbLCifTHLLONvlI
cYeCdNH7P/KurMdxW0v/Fc9DNZDuqCxuIhWg0Ui6k8HF9Nw7yDL3YXARqGzZpbQtOZZdy/z6OYeS
XV4oiZYoldOTpVyrSZFnX76TI755uil/0xzKJAFYM1YJ5PrLKqvbCn9wFn2JQaZXJDoDH/zehqLc
wdmOnbHdiQQjx/RfxXTIbsUf+LYM40uwtkLmvxbp7LP8h9ZZXbkiURgAl4HzDZ9kIXQKYpd5+G48
3uccvrusbm6HzxZvPLAztvExZFrZQcOCnqWGGXIjBDtfuOW+shwhW8VGG5uRgv2GojajdYNBk04E
BHYHypcfn2AnaH/ku8euy+QSGihdrNLTs8MPU2QkDP3XYQNQ1csNvFB8sZ+im/h5Fb9fokB+ul9r
UNyDXd5Qv3Ze8BmUoRiFIrwuyX3opJ3bQHSm/xvG9EFUL2aHjx9YDuXB6Vmbp7MeExw87FxepXG0
1ikrM+Yhgs2EfAjeqSuVD9WIdJQcyUO0ib27NbgrGFPWaTw9/8bogaK1ouh1MCs4UGmWxvBi4MzA
V71dzourDhszWwzmPKcOyfUv6qq3tScmXc9wmfi7HCR8b7ec1c4HI0XdZAk0EOp+YNMHrGTHyr73
j/Hdl2TzBiFp4VCm79d4Xwf74D4BGhkFJwHF4s8G3osWYmIkA/HKRmSl4I0m8DHf563LB0WlfjIa
rbQf+as7NCfi+4IYjU6FHH3p7dtnfhl/YxiII3wWuKFmpB0NMmPgGnAzQsn7FGo2nlCNJReycMSY
6l+8He6zYZs7OXc0+wA0Rh4vwBCSpzLvtJDrrMs8HNmNTq7Wt9kmm2DpR7ZcRevYm0Q54g/naLhj
VbTRMWJFF4hzE6e2qFR34IRflVtLWCux1G3tAgV/RJl6bd6tsSRDLLcP6VXw7qmNUsG7p+IRvOjQ
F18bvXbRKuXh/vD5Hx//48dPiF+md/vbz5+rYNxpm/R+RbksHtIsWcRwSOPNcjX+HD1n282voLzz
MR6eTvXmJi2If/VCG+apycyn2OqpemMqzMLVAmdRrovuX9vOOZLhZ+mmG983hF/PHgVIjVvVBbly
6/B039QrZvi4TfNohuoRByOfszyhYMPzbpZXWWC00hsGs+Exes7NGQ1u2ZB6mQ7GwKRXN12BY09O
KJ2Yl6eP+2Iffyie3NBvzGnYF4vNtulE99jsP6njN4bgYqqXc1hkc5PBzdkopGJArjg7kO4sAjcY
0ItqSGrEeYPOcyjWztnCDRrrmQZR/WmQMtN4mJOsML4CboklYCvHpvEs2i42ZkGGkDxsQKo+Ogcj
RZdEjEqhkrBPZtaZAvJEjOwGyHWSlOXZmqAZKBtUPHFdzPvKBkizAgvQge0vx7aEy0hWOBcL3KAC
zMGowUMsVgzca/AVCMLGBpwAuS4c0sLaH0t5JGdFqHzEpe9Q5qByyOssKIJRjNczZGiohuZO3pvp
ZANGoDCzqphTh660APZveWIBnLn7Jby5h7HvUxdXO3DETT1543JFHG3EGHVO8jXKlguiad5ORp9A
ezsU0lYyCivGBWGEvZ4GZaI3NVE/lxATm8z3BxQQGEsWlPajjmojuwHFZtD+DjqGjSTLONvWA48z
YtmSehk3pvGDuTeJY/Y14AOq4IOT6O7IBQLbOPtmTX16JsbkfGje6K+6AvuVkTod5LyIj1alCK4t
6WU60AbsjMH0UK1wIlzATqngX1Ugn9oQiLxMzh20R+pK8Gn2mM7XkRkolavAEklZdhIflZsyyRSr
yKLswuGwemXVJdZ6W9UZy4v1r1HrIh6KVVu8dClFZeD8jJuLtYz1WLRPFjDSPA7qEML58x9XySDS
2QZEcTzddzPqidiwuxJC06w3FBhhwu/xcuZxGq+xtg/VXPVEnf6ekVK8djmgzDF6/WJolrPSXReS
XL6o0e5ccuyWrNXuciDtbiR2uAchfKvsWVtq1+i1t3BOZ26GAiHIhXM5XxvyJL5l5OUygVddW8rB
PehF1uWLw3qMM7hLOgpki2u9ihzTEOklSUnf8q8gCqPoC4cUfUALQvUj+pLlvIYKCVFAibxH4bJZ
R2k+y9ZLrKGBzRjkDGcSGy57eXw7qOgQbrxhFLnsPx3UlAnyud+nRWo6LkMh2buy6vMgkn0O3Xco
ml7+4AzrDwd5eqtoc+/l4HMspt5d7CXzNMNxP9oHWkabyT32VkT7rWlDSptW75pDP5wxPXPGmZjt
A45fC8wi7n7MHKUHHLBWlNl62YLeEHhTUue6H6/LPBuQUMRidK74SwqB+zKyPhZvKtW3onnZhEnZ
KIeix3jUH/4se4nHvwLHvYP/onf403fFb9+el+YTRCH1BxHJ5rJthOWVA+rgAIf4Bv5XJV8tBWTQ
xgC4HvkYSNaLlGJVTc/MD3vjV2bJrzfsh7MsB4Hd+b7DrSHhlPtLM41WbMgMAwGxQPUrKWpyYZwy
hLFzqDaS9CFaJObFBBZS0qGERLXdLrD/jgd/AbadRcnCyLZc8b61bnmTJpXLRC8yg5tHDwlL9CeX
sTTO+mHKbRrNZoUdjoA6xeSj9cQjFUEOLILuS1ryEt2ylJkIbbScv+AzmituZllWDEk4RxxCtOcW
ygTe8ag9FktStWRy9lacD3qXtCJSKpTLTER1uYHg8Mp6j35XJex9PniqKexFHBkjyiGH/5X79YBu
9pqranHwKSwLSa2J6KJcrsb1EvSqcrmU0iH9nIDphKLbWNdBhZgeNdBQ69hkbp5bmQRjhL4K/X5I
x5wDDSy7Zi5jFA35fzTl1hwPwc5lFr5yCtD3/1JZ99N1arI+mOHm4vUyDHLYDANpbHiQ7kc3N0xr
hhfBGsY101FAlHQZFtwrqUWSfjGDiqmOSsqW8c0AkNitR/rhu8Znx36qVqkoF4Xvp7vFpHhZln5C
00WGMAz6OaXqdYt6Z6lrM4bnJc0xbFK8Sla8BuWrpOXXYfm1X77y8u/i8uekfC3fJxDHf7/7farK
11nxKsqvBTt8pQH1j3+Phsf73H3/8v2esiUGaINOosCWL7k5BUctsQYvlUTmuBaWXLNepYB5IB+z
BMoeQACcK7Oy9UWSoZVnx2Ks0wtYeJjlrDE+RaCH3bp5yqbVhBRAcP41mAdY1F9Im0LG7D+CnNn6
Ylp8JPqj0h+l/shffifm+jtUfwz1d4rPhf488m62ahrDH8sIfyxm/gy+Q0h0sw0kncBHwe7g+2R2
h0DjtWD7CKPAQIYNbSUzNoAYFOZ2H0zNuSzQasCZlRo4kb92dUbV8bz5OqiYq1bxSgfWFKIshANQ
s5dv1+tsjmW9qyipnvUnujmFcwTJ8wQlITU3aRAwZDjzr4+eTQf0ptKF+6QYUOinT+THeg8OzTbO
2tTyta90PPzLg/vw8ud0Ez15QJ7Z2thS26bsz/02N/drkIeVu1RctCKey0+lwLYC84A6XbDy+YpI
X+BbDvoMaofnIayzeWAekZhfIIGgNv6j6ih3zEgioeXsJ1U9zS5ZYr+2PsZi2SxdZFFF4pqi89Th
aQ/H0Eer1SSa3Md1eXmBE4StBhKanhALA2+Lx7zFbonbNNvcxk9JvrmdJ7PTDBmjoMJYMNxaVk6o
auSKwzNNdCbTm8FdWh2vEiMmQ2cEZDS8FAGNKB0RzQTYn5j7eRBsQdYrRPX/JaAyRCAFsX6UbHGx
NarORN9PxdXDzRMzBqG0SvI2M1LNQjrnBQ6E1WiaRl5B+epl280ieYhzbz556YfGTi5seDDOExQt
pb2Nrokmm22kQXGXkXlKjsS6MIdcTCsmURNLv9AVUdEKYEvBHROVuWkAbAgryA3bY2UVwlFajth1
x6vw4exUhVI9CejLPJYzcj/xUMZv3479b/3x22/fjj3jAKXTDBPHzoowdC6Ijk9xRzJMtpVD2rjz
1vEye4h35oIWO2aGlLigkP0IHfBnFnfR5It5SCsWb1sVWdiyBq/AjwBbTLGW53kwXPTCk2WKgZCh
vaxrTghaInq4f0wufCd8Ad5fnFLhPwn/dpXOj6QLh3dlvktyEWZyIdSy8MmVJOVmBSWUa6unouzU
EpPaRDarGJZIN16ezME3wYkP66U3S+LF1EsryBRvEmjmKrTEsXxy3qBa0JMYCWJXIGNLuIExJR9y
y2oRddKofiIAjHc6jTbR4cUezyTR4gfkD2FM9BQr0Zrc84l5eK3U3VFD2pQm4yfgvnOT0mwe8Lbq
bI9eu4h1BBc5IJ56m8dkYubWECW86KxVSj1SLm92v4LAib48Xoqax5Cit8ccsqQ0V8kgDJxsfVX5
BseqLpONd7fdbMwzBhmOhGkYKjyYOD3k0f1s02+P5Cr1n97fUEnelMNLCebA7IUtfGCkQeISTCVQ
nzgQhXgF+kCidIpQLMkMeCdLTfJPEkzadHL1mo/WbMIrRCIIHFKzMltGGA+n7Rl0N20iw7nBGrow
MleXgQ2GNkLYWRRUrWkqFiG+0yOElz+3ydrs+jAwmC2RensOrQWMvH4oxq6SsImo4qcNToNbVPVw
c4m96uSaJCWtk5RNQhGl55FcpE1yEX3EcNDYG6+KvfmvbqyhOHv1cFlAiFMhd8gDNaECyREZ14Gt
Vcl/Zgnrh/1ox1mUgqlXk0hlAbPs17KR79Nssl2iizTNlhF8ncOeMOxfO4NZgNUZdBVz+mnLFmsD
TI8UIxU4vNV8E69MTX5M6jiJE2fnCF/1IL2pqyF2R2s24qnlcO3mTZze6EX7oAEYK45PnVWgMKnA
d7sQNy3kKxxX13kheC+zeReOuJIdecFc8cvCq9Dv5wLpdASqzghb5B0kduQo6dAWhm8hlr6hdZeD
H0GkqxDrTirWTnhDhPJrkCNhe7aqrpfWCV3Wk85L0j+Klmy0JUF0mYMDbES5CxOjrNWsph0SjkLS
3oyfwTvf72fLGN6fwvtTVw7aY3yX/1k7e1Aw2y6Ods9DQz6Sss8o+M6pGL/9179ArLwdn2VA4at/
+/jp+1+//5+348P5y+hY1ImkEKcitSoTOzqcZbyJClJO40eEHTIbbhL+73bv6fQue4KzuY/hGxpf
ME02CQiFvdavKFVQvuVQ4Fbsq0FHvMkiyxG5Dm/NiHMqLAF2myVkKRTTrGpEB6I8iq6xXpzHgA+E
XwMJJuawZYiFaaRTli3/cxutY3AqTlKFRal6yBGFqa2RUd6WMBswOuaquhtiB6scSwhRhPnDgPRL
+MabQU+F+1dhRlUxyT5igoM92McEDSr28U6HlDvn8M6sbrDAqGIdSSnKn9NJURgWP8GjbxBsDfTR
tMJ0IGj4hd1Vd7FuJV5CMFKU9CvhMBQRp2AIV9S9oYhvZX+dUjrYQqWI+/7z53/888dP3jKbRgvz
qDomdF//NVH52UEZiZnckHqHgaHxQpjL8/z049//VnuchPiYgqX9UFKpWJqma3E9L/o6KguqtnyS
CysQqGRl5+uNT2v296RHsBUJtPrGrRAn5SkbMyq0pQltPOdeNJlgxwbKVm8F+tisVKSPMRLZYf3m
s9YlCsBDRmOOY3egVZmL9QHsrcdJln1JzCVZBLFhwg6rHnYB1K8PBhfolmmcJhUIiHqEQX14JByW
O45v7EWpF6r87Vv0UMZnWn2P24Z//t23pVT8ZjzWfgulDcwQ4rBUaTV0ujstMjMtgvnoC5e0WCKn
G8fwMBSLnZ63hgjrFqbgTzCrdJP1c87jDOM5eoL3PN583K5R4vwXWIdVjoaeKi/kNZI9c0H26MR7
8I8d8ZPiRKzqlFpQw+XXo6g/Chh3sp3JfTz58ut9tF/wR2xZ+ljW+P0t/6hrnf4JN7H7hd/S6CFK
FtHdIv4pW//7y+7/M97cZ9Nze5liv5rdEOruwsNcrknQyBF9MdUjIunX8hOubwV31pF+GneiiJ5j
55izV+tsBZz1vGv9KjnqkAlv2PSUB+/u4+cb+OUzsxiUDSE8HIRehFn6+5Yhdmt6qUE+ZjiNV/gu
VwOnA6uucJKn0fNg2FAU8n4IsmFxJhQW974eCd7QQJeSAAUeEKOJEPVGFR2EEM1efmjZrm1NGbs2
46l5biiltsPpWhDGy9o6i2osaKWcWMJXd99AxayMESf8Gk2fal/41Lw5I2XEF/ZD1QclFT0vZmJS
3LK/rgP7ZFswRIryDnN8g1gWDbanp7Ltp5KmcdAcZ3SoPZgTM6BVWdBJyRQXoFPG5aIFPkL8gA51
kqJbE1UaHgjvL9u5FAfWarbOd3FZLCFDBPz3m/U2PnNgRjLwr4qJT+nUzMhtwH13Ea1GP4aCPhN2
YA7tGRJoAazPuKJ7kesJH06JENMDuQeUgYUai2f4WTzFTVREXQOCDePMMSEeLGqiRxBC3aInzc9t
RrKQur3J6bOeP1pAgz4e7aD4wFxtEGob9oqY/Ij2L4xaNzL4B7Bbo+Xqhv0wyVbP8GIRw2ZYsqo6
xbBftqGLgn6pSIohzFknH6b5dNOsRs3r2UGOOSxLCwXXoNpChh7jgKpNcNL9QeE0q1T5y8BAsDaA
oP+3ohANy0wYuyYGPCIRAwN2UK9NujXAYYi+PyAViH7D8el2UZc2RLNaOCfDHctZkqBiAXiM4ZCs
1x0sAIHTvKMSg/PGOFo01SsRXBV7HZHExWlZ31laVgrWnfT0k6HnXBF9IQznGAQtiPyshsVcOMa5
jsW2e/uDe931kFQWrISjoOdw6jpegH5EB3RyH5v7ZzR0SSgd3RvyqK7jBdbVOQz9nRwLtqqA+oRi
evh0N2FxMHrt/KDFSHTL3cX7boqdQ7+9K7+BddnJCoNXCPdYUVCCTa0tKCqNHpK5NnDG+QZe800y
MZcAcYIB3GsSSibSOxRN73To95Nh5qcTvY+tBiElnc7c0HCQIQXoyrftCmRUnHv3CdbjP3vJJl56
B7dkaEVhBFRjm/B+P3sqG1bF0Ic0zzCHaYwy6zmFqleRqN1XRKbdNaDF62dzZQPuhbo+G9OJnCLe
anggKrsJrE9aPP0MXPikN/NTtr5LptMYP/nt58+/VCoEinOBqVRXxzo8ZEPchgZF8OrlLWMYOra4
IeFXS/TtXYnuEc3j+2QKVBmlU1BjxTClXCvMCkBtgZ0EVxVjqWQrszlaxk6W0fNd/G4apfN4nW3z
d/rP3uW6xtnC6EQ8Ih7YZAJr7uHlFE6u4+AasL55d1/mzDQD8uRO9zGtNpmoL+1M1NPlXgTEfbSK
S4RPbazVDkgJQt123GG9CwjIDOyFIBq1BF+59EHTiH7cssqzLGctPEswWt/f3o7hv4qejDe6H9rk
fRbtGcRKYJ7usQFHvWIisfLhW7vHg0/37wKfVz3iDfsJHxIMrttb+DX94fDvjh4WI5r4uPDbJw9c
Yti2IYXrf9ZZtMhjA75DeAnZ/VWvVNFXZ67T83/hLsHDjrvba3y9lBbtfw3yIzKkX/+zG2mSBEFw
zUQZquvVR2F978jrbo6HotXm+jZda+zV40m9zaYpQiwLK3yiDibTFp96maQRts6b4SS5CketTJNm
S9GLn1a6a9/oogSYffPDa7pn03G5Lvf4UFG7vq+Mv1tE92fOLToPwqaQ3RmxmBuLQqLB9672zmhP
JTqs9a0R6tILq4D0KFi4lRHa3FhuhbbYaQESXrEWV1xer6KUckiZYG7wUkIXi16tTGCOZUKTKCjl
vCn/SSinfd6XOUyt7Noy7RV8rV4niAOs5BXRQy9VXTYZb4UV8STo58Y39+tY44/E+UszPdB745w1
FkowvLpbfNl2k2MUFNGC9Wyuqbc/JHMlMUXErY7CtHBRk9muwBDlKIK0v1/P76LF6j4qxOZ0+t/R
+tlQGCBHYXAdxGl/gadwahThLIUtqJrCMd2BeP2DxzR3T7ywjpIFYqaU8GBm41VDb9DruHvjhg+7
Y6thXsrebz9yNLOB6GE/NpnwDgKhVmdgcyMN+DC0YTZisB6NiSFYxMgaSnQ5fhc7kFfKGewyDCT8
uR8VfeIXs8l47HmNSh24BUyqgQQZN1t0zG44UDW/rifTbAJMmu7ckmo0E6pn2Pmdq93sqyeZahmb
7JsWuXm42ng83mEKdhfGFHFUOtmM5eViQroERYN7TrONxVXLlrHAw7rJKcJnetFsg3UKRTrheRHn
93FsXFNhoLyTNXrBBRqbxgOmEL2j5VOfAdxN47vt3LvLps8eVjHN19k2NYArhAGOvxTdVz054nOm
YmJEOOfCBUlpcD2M8JYQqVjbiD0W5o4thB3rJCkNoKzlpJtFNtfK7WzJ0G7KQyMFG4so9USv7pRS
sEgNTF1AfTeEcbSSWd5SIuRVSltxgU389J68/Yv869h8p0roQtawG80jTipcinmAAqgFzmUP8sNc
KRXYYSc00P8alF+2fHkwQ80g9r5ZTecQpLvu8X6jPlXmHjhqBx1VuY1GOXkqJil2FpDLV2x1xoqz
lisVZ/p7MaXz92m8iJ7z3x8TWPSx/KaZgiicqbp8zT9yD8XVi9e6+44JG0mDNduAOVXe2hFmPFLK
IsvyOAW3uRHGXQYIeEGckMwBfPzZjib3WHlpsaHAD0a8HmLUhol6USQHnHcWSrmJ6Y3ybyLlyn4H
azYIbCYnu5Ap1R1+YS90uVpsK5q6pSjyeC4Ismq4QbF6dWMWVQQ4UvXz5OvkAUdI3q2zR43OXH0U
iPJG69uKX40VLgumjN+iqeLOtw2wGJv2rW93/XupBhkuoupmPKsQZGjQC7kUMxfMjMLsukYcSe6a
nYDZwaXfI52aEJ3xT8ffeOSGCp8e/LgmfyFHXCnCXF5UvlnH6Xxzb6ltcWx0J0ox0m1Vco6qFjLs
NCJQdkUvPmir6T2+9/FKHrbIwr+9HWuNsqDMDgTdbBTG2EKCNqCXrWClNfaOYodzBTAaGtfBK0vj
Y+MjiqIXlLvDz1fREfqds7HcWHsghFvVeHzXl6lH5svOvgcW0mj8qprBf6BzQvnqNgl1Zg4+zEGt
JcvIjKWi0PKjvC1bwbUtYo0SEE0weLtKDuOKTxVDrJkMWi4YnblUIGRJa1cRpR56hEh95SFNi6IV
s78Sjrgve2OIGrWr61791xFIJwRUSqSHOU6qXi7S/LsnMKG+HFTGPD4+3j6y22w9H5MwDMf65/va
l1JcTZL1ZBHDe6zfE9+H13H542Ip+Ea0ARF2t93Ef8dkpH6T7+7X8Qx+9BAttnEO+/jhj+gh2omw
718wEf27+P/Ie9rmto3m/gq/KDPxDGXc+6EdjSd57LTP00zjqfO0/dahSEiCTQIMAVpyfn1vD6RE
EnvAETiASpJxJFmybl9ub293b1/MEbuJCvNlki1uzGbBl3fpcnlzt0mS35MXiG9n+/c7Q5OxZ6sp
1u/zLLkh3y22q/WHZQJ28I/fPiXLZG54crNDEhlhKQSJ+vlR+9MzBVobK+gE592uRNc2N5sZPAIn
kZ0jhC11S0ZWnqtDTrKoDrRoUXwCpuDjYVWv+8nQXKWoVTOH9/kHq7xM3GpAU23MIBnGGn+BfgTW
YFZz0dmE8JaCqiF1AGaYzO2RSeCLfZLc//6cZv9hzyloBNurtEyeyrfwO7umpdH3VhnArz2bH9Vf
7GrYeCGmmAoj5wdWoOU7zDyHTKpdEyL75lkUBk3cMow9eyn3kLnGtBcFedtCh+HFE8wlSZdwcd9+
Wxuyp7fpvcDDzbFtkn0J4WvAEp3/A8J1y6+EuSjU9yfptsZQMa7ADSxwpOfrtfATHmsqh+LzMq8u
f8fEJyoEjH/jvaK1p5IGieTWIq16zOAl4JBvSbXnPn/85VPrRjfSbuR+jXezpJGi3Eg7H2oHis9p
4Z6RFL0SSX/G0inp+q5R0ouH9K78P7NKm7gbFctZOGavN0afze2cgrXBBPYaryVTYFV4GTG0m5w3
Z55rmHvurdh8BP50v7H2Eiz2GTjgpNiD1xSfXKhhmFwYyJ0l3I3useldzXyrJsTe0ABzCyszf20+
/R2ciG/5FpL6E3AFyocU/INVUhRGkMD5yBbmY5abD/8wLsanvXlTwf3e/kqSVZ/go6HYfPr4w6dP
H95fA8g18uwu+IRrKXUfYf+2us2Xewl3N8ylRrIB4LBSxvC2YbFfF/bRpYy1SRn700iZZnrYred4
uYb2zDJ1y3c2nz49bABQ6Zxso4SAqV2vUMR4m4jxP4mICaK8onjUdXnuYrGfdn//aHNPDjYjM8wr
tvOHkwQRHvEJE+AWij5Gwwuc21mRzqezbVmHRCYSApbH8rwtoAHnKgkNzkZ0QLT5qOCI6MFF8Ozh
EXX+5bCxryNfSRk7k5JGS6udnvlsDQeuqGy94/rYpmnywkCPWhq+hIP+bp5vs/ImQrBQLQ0+AiJR
7UbN2rdYcDo2Fv96ODYBw0myuIcofk0XSX5kFtnYisPBtnWFusNFtUoW6ewg2asCi+d7EULsUJyo
J6ttfl6SzWHa1tc0OSbSVu/UJN7YfhNi1LS4BGjCwXPXHZl7AN2ydbXmNdL8MtO7rU6Ml8RteVvv
50b7vlS5pjbv0FgUtrBqOdtAcf/uwen6Pr37bpWukvLbOrmx//wtfAt+BSo9a4dFaikIRIMjpePm
eDwLv8NVJ1EaeeWjsLO3YLe8V1yfN+qCdV5AJOVYJWxmxQPFxzbGViM0cfME3ouFclQfZy0UeCr0
eiNw0fC8+DF77OJET4z1NSCHULfOQKWMnMOg2uv7CoJa15/Xp48bTEsiJ1yp80k6t/cp3vqUC88M
Gt6r4yce64VOlNH5sNuesBsDX9SoLu4z38ApQo/J7f1y/3BhR2sfPWJY1QGP2jYm1zymiVFp7snm
QXxOPA4KWW93YI/gYfnllNOJkCoEzytqU3ABIT/SMQ8N3FUxOLNx3sLE0ZbU0nN4u+/0hzJVe8U1
O1JpsyaSxckYEbyTMpSRUTYO0V4tpN1EVw+Si+QuzZKPu8mmFYG/NMzDIrYvRm+wdgiQMdyXyWzT
8DCkod5R0Z78fJgV0yO4qGaiYhJHPDBp6xx/0bWE9WJkB/L84rJ+5NkbFQuRwUt1pMcljHll87cQ
Bibyrhb42BjdPk2rq/Xl1sXzVAAZH0REK+WHKFljFeC9e05aqY2ThWnWzf698Bi9dj89gIsaLCI2
9xfvQWILr6shJB7MhlAc9apD64iJMerOQCQOikhxOEfYU/pYHHv2JekqfS8r16XPLy8pmAzSmA3G
8DNEkBm6h0PEWwLh3csrnOqBx8K+LuT44wf3rCzwgmNzKX/BR8dHCpIhAoDaj3pLnuaJjRtOn1Oi
ccCRgBSQnpr0eaajG5CEEUcBZMdWFSym8IAzrY1t3uWW7UqZ9z/HCYe5VV4vG+3kz7L5g6H+udrp
djnLvpi/bu7xthpEaSPEgYCvKw/U/KAEN+klTxcfBA+2A+/qkLVH3K6v387m6YK9+MTQeOwk6Abf
cgbdDHrMtiPTzCtMIVyO43o3r2ZutidZ4k3HIBbCOgI5YcYxuKmjnzOUz3PRG2KtsQmgQI6TYGwE
y7BSdrkknfCqPS9suLIOTUx01BWaUf8rc2jNmQGdtS3viLx1VHxJz7KNZqKqCXd2aA28K89W9hnl
t5urD/RK86sf6NUHcaXfX2lSa9pHJ5LIgIQuGwhVlyVUSBaKTkbxDTUKidqyi8sS6vVM5Uno0k0o
7QwnEKFaxf0IhXB22xmNqGf1kTjJW/ChFCFKERGQqKWTKL+Eq0BECUWDEeU+fEZzczomVToKSNXS
TRXz6rQgw1AlKTsL2AFVz3m1thzYmLNF+rtxgpL7vEzd0RetjK0kzod5alGvq1BomrRHJwWLbdOw
Jm9BtlqsEFbeFqUx4Hegv+GDgo1LxFk0AIGuGKWAUvIo7gGxC5HMq8rEn0ZXoFIw33EB0itQ6UWe
mmjZh6GP+ebLSaQKr9bR9hnibEAhCud2OO5SASv+f0ZK6Djrz4iDeAnOBw4vjkPwwdWG/Ww+cMWD
yGAruErojbfdBx7kn77/8J9///AeytXS+8x2pLCRlQfHA74U9rG5p5ZsATydleVs/gVv06YEJEbI
gch2THmEC4kyNSDZcO03kW3Ma+i/OxzZrhAtj4Xt+DUo6VXUtIl8YzNJGZGB6Icq6eboEoz5hQBx
PzZYhfvR1e0l8gz9dqAwy7OinGWL2WbxseFSU4SY08WG22wEj8Z9h/GuXA3ElPWsfGgSeyrFcJzY
A2859RDXpAMpefs6MM+XTvoJHZD+HfBm+iWFLqDDkF8FNdFbDlqPt+RY9yJ+F09tvOfUhFCvgvUO
pBfGVZg/4FZWFYAcjPQKdDPp2gh+HEjXz5ep8XGhKRv0i55aN9uglGfVO0uazeZl+hWGWq8qfwPP
BSLQjL6vOkizLJ9D76CvqQG6QkUv9sw78CG9qo75n33WxQw96QKyoWUgbh9nIOEpHvA6pXg4CTvJ
emqSLBpRMpF+D72qndr9i65j9LpxCXjUTKhqJfSg5ZPtn+8Ex7lR2l6N3T0ou0/KT//9b+/z+XbV
3OsK+hlRIXoSmazWZueKr1jPYK4hr3oYuvLbz46+ONDQncp4YLo0CUeW7St0pl7T0CUslMzA+gaJ
peWsfSzePV07sxBkTI1hHegw7t/JN/PpbJnO8MYMjMBQghYLVwVT5DQQaVlV/rlrRlC12MQHGrVf
U8q3vac3VAJnhXu9WnoQ++KH7WbprWeOwW7CpmupsHtZAa1qb/HGesIzc8aD1lVSPuQLv8NCbBK2
OIvcGu7ciL/fG5kP9inklH1b73M0jC9TWC2AJ8ny1mGx7ZtVJMaQe4ZbFQeuypvZem3MPGtgXtGf
Phd5VnNnJopHwwCHAlYD9bi1WFWvCj2PBgWazFe7w1K/XXikB4X9clAx2NFIsEkth9EcE6bFKILm
4oAQtvZvLA7QOgdoTEYDz5AN4HKMDdgUxRX98al+M0B558AMwEVfTDiVgwJeGqvOdeyYFIPCXi+N
JVCzqcxxU8OqVmhwN13NsvQuqSXMC3ifJmNI26zMV7i4sUlbmXRfFtSKHT0rHT2u8SqF9/ix9Vvl
RRx3H35xKSr3CY9YQjPgmA1ilFlEk6qTaoFDZ56dDX34AtGqh5nhyux2aQ2zdWlZ42WuKeDDefYO
Zq2ZLwJtc+Xr7tmHuixceibBy+acUej0WcuirLKDOXyOBffJfdDtRG2S++0S0h7O2xwNUYu4WWlp
j80hXu81ulNiTGPprfGajYXBOgI/DFDcJouFgVFvFgt7xb3qW3VDNbXt6WGWm9omMs6ShziQPJym
zeOpp1VDje4A0TBkLWO/8WGDgaHAQzHXAqzKwwtXNFIx+6bRV1ztw0W+La0ZMr2fPzfAtUX/jlYp
BAp9mFeQ2WeTq+hAmlmFlmZl/nI3VdcYdbQDlTby3IfpJ4HZIrGzLuzX//yvn29e9gRlQwwjRSin
4/LhnfnedrZc7mPjOF+6KhPbv2mT3BnOPOBhcHC/dW9VdQSndrPEVsaiC++tiGLalY3G8ttMvxb7
pgDotaUMDBqF1Rq4srDv7pfmpl9Cshet9zkMxcVL/4jnYCQvQI062HaM6moybDPrB1ljdHf0N8k6
mbm6fEvb8zzQHrZsl1Lapgt0oyyrdb5hE0KjqONyd9hykdChttidOGALiKOuuu4eZYPuyoYHZLlY
dl0txZmqOi63QJajfj0NsOUSdDnVdblbbDm/TurYcp+x5VTclXdzZDkmvaL62HJfMOz8mrBgyy2x
5YToit0Kk7u4M3Y5tpygXU/FGlvOr3stttxvYbHboNjprpZegesn2dXiQbEjXQVli/Ku81Z8xZZT
pOtWPKK8412viidUt3dVKN8w5HjnM/Y7tpyMusoJwRRKxLoqY4otRzpbZQwj1m/qB7YcR5fjXbET
qBSrrthJ/NbuKigKWy5WXXc2xpbzK5TDltModqLrVkS4iaJ6O8Z1v+B6fp/WHCqIVqpoPHfAb8St
DzBoW2OH6Z5U3FRNPkNaoIQQ2Xs/IE8Gci+zKh8LS/0ywGRYc5L4TZTy1WCUSB3QdiZahTR2SdzZ
70jQu4mHdTUJD+gBasmCOoAyoAOoOwvdF/T0MRHQ6TBnWYR0OkjnWzjDpSQK6cMQSgL6MLHmAV2Y
uIuqw2Mv+/68zREYGtJhInFQh4lQFtJhijpH3TCHSYsooL+kJQnpLkWdDyDuLumA7pLmcUBvSXd+
jSG4IpQBnSXCOAnp3TCqQ3o33S0XiYeheUDvhkSd/QeNyjAN6CvFne2WCD383R86QLsf+jNoOjSD
6ZaDvubm5UOyWTvKdUksJ4L5dSBDqdwsWxoNkRjKXzvfxCczqTp0VBICOjeyAAQuGwgU5JIEqi4B
xwMRqloh7voi2g6OG9vEBy+WgjYC/fnp6nfEYh15FtQMxk8ZiwD0LRvoY+cdiKrzER5YcOzdLnsC
8dyZ4EaH0/iSHBadN/hoYke/dB5qFJMOfXDw1j7CsydzkIwZdBollYR1y1HzFjunxFFmWwDQcRnQ
ljIEDGGdPY/H5LZMV9DS9bg5e7aYQpYG2l+UwRisOL4YG9r5ESKW28KZ6b6DEakNVIL2Q0RTfk5O
a0fgFAUu/Er2e6FAHY3GjCUW8xDaaFdtDbnv7qpZFfk26T5DG9QgVzN/0DQwDj2nfYQt9j98h72x
anurW+bqxF029Rkiuqe2UJfSc8B+LmyH+4PJevvvWIOs1kCLEvtUFwjEJkEgcKmNoow67NV5srLO
19s1bjIpsLB5b2HJ8obebITaSm4+NJlJ5gj6QXcorxfhZiLzLGk+CDzueuyw43AEDk3hM8JDA2we
AF9uXe02JQMwrNfm2fTVPS0Nyf6QAclZKDk5BIrW+1M+4V4jQX0pa8qZZRMa7Aig8YhWeqteNbHX
WD9fipsyZ6GNqQwIqz26z2xXjgF53BrzMTLllS3sxgDGMRsAWYlNA+NUQJfFXgAO5klMZ4tFMX1I
izI3rmZaJiu8NgKaz3E9NNR3BIMr1XBwUSmSMIVSDwy0RqsFq3gwsM+nBqxjGHJnnBe3H61gsg/t
cEXa5JKjoc1QjLuf0uzZUhU9f92I2VmklAbSAt1ZCjOKueqi8rv5pOjBJRLKa/qbCM8DKTGlFEVg
x5pPkWpv267/xfxKI6hiiXuQ7Te1Y23MuAIoaB8SCpVo/HxInWx/wtvjvWeBcnoyvP1VrnVnysf8
+QwUuCcoOuxRQwfm62v3Dh5jg6oB0Z5VeobINALcG+SCsq58TpfLqS3z3yS/bav9LbebrJhmW/OT
vNklFhGMmRK9yX3WcUbBgLKemm3Ao0my83nczyPNjUlX5mu8eZMypjnvB8AqbWOwZdNHo07xBnXC
+lDnw0F19Lds/rDJs3xb2HaS+EULvegbukE0gKr14IK+fz5AGaXGjdMDUGnRsK8EaXbYmwukBh0+
BlNlVWdVBNtYufwLmILmfP6FrpWMByJ4J03mY/K0a1jq6AIKiedBYVYtgJcJHumjOvJpNnY+xJ0l
lONdMqEeuN0oPwuqPanH4tPW3s22o9B8aDTwiAjwXYcHXfXwxCfOaguyn9poBNvcaZvC4M9Awv20
Wk6TJxhlPjNfZKX58fUTGp+J7FzxMECL5XNrmpeb9AnJTo9sy9LuQA/5vZxuC7AdEMhFTWmBw+BR
znWWBeU9y2M3tPEJMaNiwgbYg/0/2I0gf8K6+kufmNn5sDFg0NS7C++9th3bbeNxExJH4ag7OVLN
Qq7AKwhMrRuBOvWCTDyerUcXddnF5hwYJ87ZYEKCngTtE0XtJxuYSFBbWNzXFnc1MicSZhbQUIq9
AkRxQzC2WTj972oAgaacxHwifQoEjEl6BGfXPeRkgqvN9UGdPBqb/xTv70W7h7VWGUPmE4li4aMQ
qNMxeHxIl+bjLC0dmUnGgjKuQdwRyJnUCC9qsGHD1hbCCsPMytInyYW1T+117zkzGiryqIt0Ib9a
lvmXJEt/T2CgHvRKrrLF6oziAjxCQjjxOZWi95YQSX0kWfkCohggAhOc465wjFqE91HjTq9cs/qY
0ZPM65pqJuQElHF2Uuw2oPFESToMtKI+pZsa06A/bVlebOcPd0YdzMrZslb+RdVE+dQIsrjHObK6
U/tMJ+oFxh5X7pOmTKjLbKnGzWQLSCpaWs3zPNO8+nM3K8pqAPbhROxlkmWz68/rasz5r89jzqH/
7Tq5/86u9kN5A1FuVf3tp3xzI6NaRCGG+x/4xX2KzwkbhJD9vPYjQuCbezqMRo+b6ABzXouJtBvi
U9wUnJBFOk/a6TB6VzTRIYwVpi0ZhPi0iOK67zHpXm113q0W8YHBVAaT9tCX/OQ+M6oXnIVd7P9t
ns1uQU8mXx0RIQUNnWkcDNB6k98bKgsLEGJBm/R2W+KxN6KNmHsUPnoDN4DXeVYkMKrE+An4dA4a
xeZDF96enKvqScCYidAJ4flcnYPad/DbcHbIy0mDDoRvXXiDORj7PMGFQP24N8I1DDxwIoz17KZg
lglOmbwIvk8N/H1Chm9aZP3OnGyRxmSzyTcNZ07Edgx6g2fXAuKF1JktWn7OlLA5cdOFsZuTBdKg
w1j0WvmYya0k2m0577BLY9P6BKq8YMMD5w7sHRSa2FPmaPKoIaVqILh2q3G4RBmi495wD/uV36UZ
eKjLPF/jyQ0+LxkB4Xn0tAhLn8/rY0B4PFKjwiNa8ZEJZKPCY/G4DOVMjgtPjkwfoePuHxfjwiMj
H/h43PNAPBq5Bt7AkQ8EGVvBDGVhuNLFiYSXDiEGAgt5MvtUrgJPpKDxxGN2ZdiLWMiRzwkfWRHw
kS23aGRFHo9LH/fJ1gpJn2B/akuRRyMbiiMbpmxkw43JkekjamT6opHlc2w7Y2R5ETTQhW8rsN3B
Iq3VhCgWABhUwUHTDZ8oKWWSwltnf7C2dskaMfnXZOM0ohTzGgvWCq8adlsgsa/pRHm8D/QDoFgA
jlWF68nTbF5OV7Ny7mqQQiF1NYqDhBFRoA3jrYzRqY2zRM8B3q20RZJAMNzV+UFNy5OA7GxpS57S
oip1eVcx+uZNrfEImUjOR8fjikZvzP/mD4IQF/H4CEUxxhuP4jODigqKCvzuFfvhiv4EA1H3qXfm
O5B8h+AovFxdFXr/zkWTM/Xq0KxEEP5EsUMWpRwf6yg+m7lCX1ZOHx8f6bWXFFxCWH256PWsEBi5
s3Z5fPzuzhVEdTFBPAdNzi54XrwQvNjF47XL8ejYeTGNvq7b+or99EqOccs1+AdB04npa9t3yv4Y
aAoc0ddm9dpPf4gDX9NLQgnDz/GNSMDiGc2ff/nbDz//+y+ffn1dFuQRjq9Uv09RPMToeLx581oM
1ih6g8m4HF9nvHEcNyku4GOoN+b/V2JqXlFqsKGo/6UvsE00QqVXXOAYHalvFCsaXxgrH01IxEW2
8Ww8L8BMoxTOQdNqjAucCmiL04Wj/MKRnuRptlovk+ssKVH9Qi/CyVeieFEtJ1+dt3e8vPnGMwDz
9blvMlWYlPyxiETlhfwFNkqw10bk31zmwQWs7DZU37ySUN2bim3nXx6XQfX854xXF3o6nwZGXzcN
LRf5K7IzunD/AsrcoPlKghadjtzr07YoN/tbU7t78yGZLZLN8dgG6Mxvs4bQtny66ufclBei+tTP
VWw6+dERtkj6j4L2ZloPzRUXUzg0vY/o62OKVpQPyRQ7S6tBVqDq0FdWqjFeI/FFUzk4X9zSwmxR
5Ctki1IsMFsKaEbppVg485nre5GTxGMYxCkHZo1TXoiYUPZqOaN1gIdwN2daVAznngXGl1I0AWyw
Fua45QYGAvDXyxuhgl1Ojw9pmYBtBd4/tFvB8pwFVa1Ju75HCDr9lU+nTgOfMEKCrI/Rla5hEgUU
/du0WjRjHcb26VgMwteDIAueRw7t/6JhYMPP8d4GIuJ+LUY7QH3heFLsuhlvbxf5apZmePt4xf0a
SPfEBR9aF1npHgK2nZThaMqoosrK69tI5qAFUv5Y9biwHF8ky9k36zEZhDZ2uMcN/c5+94bU/Tgq
4JNBiA7Cieb9h476nsxoAf012WzSRQKtU8pv62SnSAuzE/Mk/ZrYrlKlbR8/T6bFQ3pXfk4d50PB
MJwOKNXz+eGvD7NNZmSwns4fC2GbPYeM9INZBDfKbpTSu3LfRcb4ykDrFftxbhAqEuMwv//nrz9N
9Xe7f35zpdmVFPBRaPv16bu0nOio/0bZG/h2md/u8Zza7XIaLJSbBUlMhwJc2lLl2uYQanwxLemA
xsBJfOP0ZmQCuiqyyyFAoD+dvih8zeVl6df8svDVhfdfR39t+PKC8GGweUz/2vwX8SBRn3bVq8aB
fBjUrs2IQ9ASAWK2jovQdQEb6+x8LyXsdnBzE8r/b+9Iexu3sX/FX9oPC6jhfRQIdqedLHaB2bbo
AeynFootO0JtyZDkHPPrl6TsJLYpibIpSt22SGeSNM07+S4+vsfHQwDImZBsVPhUoD83fDKu/CnF
I8Mfmf90xEiQEr0cbVT6GRDj2h9KRvGEZMYFmp4nVArBPXnCIyf4urzG5gihHoV6SbnussKAj9xv
W6TZMYmW0jLSVdi+FY/LwWH1ASUE/sVnLepL5jgbxAsrqV48yKkf2kw57z7fZYu4eLHvFiQ0IHVM
bxjE6ILhNZdNo24dAvM2L/kr0D2R2syIUezCHIkw6LdNeD7DuGHGM4FSslHQPR6gfYZv4whtghD2
0YYXrXNdSm4uCwI9akj4fDd+APr6LeOWzLfg0TYNqLRpdroKVq+whyHg11swz4YaDgV/kSzj3bo6
R4AhFIb56Jz5+OTCThOPQsDf0w7ZibccCoEseWoUABbE20FruJsRjhsPhjli9GQ8avgjhsc9YtiJ
+WKgI+aq4WKQI0ahDAK/5XhxD8yPFy/m4nH+EGerxKy3aZz+TyFRft/pzsmVZuPL89Xj6TYorJMo
6Z0+qxlBRqGEB2D7Ne3zvHhtHNTPuKzbAiU2t4Ztmau74jQBtg7HRVQMCzbaxqU1W59Btws7Vz6r
z/Tqynhdvobgv/z4yV4k1psmnXJjV/L3vVI709FgzuiNwgu++/4JCw5e4+T1qD4CYRGpZw6qCJ4N
zg7UyQ520tA2EDtQJzsoQT5V813zMLL3DQip0vELYPZebdtygrfrF+t+WwrFsIip32YZE04GkkBr
WyWSUF8g9TsMdZEihCig23Tja1Dj57LgXrxvkyysDzkhx3oJ9kTFIDtmp77h9P0PP//7++9+mvWD
Ug+9RT3PnRdZS4YHkrUZVbzId/dr++BbpKIg5FRpvdYGtvwPl2jDRcH3lWJSdmpAMdnlQ9llUVOI
E0kQCS6DvrbYXQZVkW43aWZ/446Efo92JbllUkVVstlGegevoVp/YsqtxxhG7Rj+phOqXXlmuyjo
Gc20Gq95vkhuMeBfXqQzrRw+zYq42TVFPJr3HuD3vKNAeC2ldGGg+LvZqGz/tkGYguBpaxtiwl/s
HFjZMOVjKhujbFK6xqeuaxwB74YNB9A1bHRNjKprXvIIf7rGOJu4XcOU+7ZrwXQN01F1jaBp+VAw
dV2T0r9hQwGU7bBtdUxlE2BaThRMP2Ajvg1bKF37y4ke69ol+ITUNQJxP137ePfp7ue7yeQHHI2q
bmhafpQzOnHTRijz7kdhAGWDxraNG7RhPq0E4dqywuDJKKS+3WgwVSNwXFUj07JrcuJulAsxgBcN
pm1s3AQBdQbkXOFxLN1NWs7fD87QQzGShe4L2zeD7YdknHYTzaT6h1OGp2VLCZy2ggvI/rA3FphP
q4rLGJi2sKXgf9gLA8QnVmyYuKwRHyAiD1ZGJWJiNfOpl5bcdntNs2ZOpuWzOZz40YYYwz9s0Ro7
jdaUAa8oaH98gkobOL2jlpOsGjsd7XDCZnTiwuaoH8MmVrUlYlridkoQRhQ3EryfQk6pbMqc2vFk
wDsZNG1pEwS8W/JQwiZODUABhS3BxC05RQNY8mCVQwkmZsnFxM82gT44ZgHd8HSKzxDyZ028tqVj
hoZFzNKWTpwu0dzYn+ZZad4B6xfNhzHF1sk1BBIV9FCPR+VkBJP6ieU6XT28qaXhyuGL26rYJe9N
wvFQpivBnD+TQSI0qaevWDE6e/XwYVc9qKPy2czRjv5lxPX/KwO3FbGDygARJQM2HaV/b7HEAAwH
rZdoQ6v7ac46NXUfmvvYkfvdV5iXSCAyS4RHk78+akSGgz+aVSNgAp6FIhRW2cKz+9AdeOh4+rM5
z35uazCbAsEknDiZgmUZ1oHoqtCY7psAOhWbMhSja53GEk7UpgwcoQAwbnwAfNyxJApqrOeLxtk8
WTdPwIKA6mUvwDtIOzDmOs+3C9gyKZLCDkPxEAqfiW09qfUA07phEAOBYGCQyhr5ALlJNvdJEd3H
CzPl6ikvFvbxnwTOkOf7Pwvsm3m+U6Qv43S9Uz96VEw0Zb/zC1WEyQhYWQY/nRQ1l3k+EiaQYjoJ
lgiBJ4GHxGwaeCA+DbmcLHcYUVURn8bphWAqZ4ZNAw8+Cj/ab47gTFAfrj3fJlmUZPN8kWar5jnv
Xk+r3hS4q5aRsPhzvQeX+72k0+Ce0myRP5URRBRaoAoVRAAvld/6qu3AUOt4QIwR6x38XbcXAFzW
jnEJOCVADCWWgcBhqD5Iz/aDK9YQSL1kweURJQW9NMW6IFjrCe8Hq2MRipmWmMwf8igu286gBEh6
o3FZ5Jtom293W7uBEUglXsQDOBUUm8Wvh+UNVR59TorcClXnuA57TtSf+OQdz25dpdu4eM/W1+/V
u2+VChWP8foWfJluVvB2pVPCCALwrP79aput9LfRbXyfmC/0qgPLwx+IGALm8Y9g3Q1A0oE79SKL
fTqeK7NfFLk9dRSCuMx4Pwd60boZ3C0GF/L2ANNsmWZppSdu51trYYPhsPD05uOgAAknYeF1v8iQ
lxgpW76vw1MYlp1YhBafCArPIUf2Cw+gsPxkYfnp0CbkF173ywO/8uMwrP0kkoV1ECwsQ4kIzdDA
J4JC5i+AMftjy/RzYo+ZuZ591R9a6+KKOk7FnDCdS/kjJdlsq5coLor45X63XNoL+QgzlQdAn0dA
R8XROslW1YN1VrVKqTxCszdUEjOlDHhkZlsqJQFWdll6p6p6Pq3DQ67iIeQbELJAEjPMvVOE7YAk
9w2I2AHhAQCdqzhFQ/AOWSAxZC6QvUvJDolS35CoRUxc5WzEpz0ylYgoy6O5ShVVFm/tSabqA/oz
F3rNoGmGftskZM+FmVCf+NSV1y2H51sMPaU2NYXlNpmn8dowNZ5XDb3ekAF4GdzLdssKn4pz6GG3
bSRiwqcpyfIqist5mkZ1Pd4Ckiqzcn1loUz0oi4dEkTNMQFTXsZh26W8tDRoKLWVW8VMcg/BgSFy
EVdx9JgmT827NiHVy53gKIRCIHrGet4AMw8JwTGLrUqE9XYkOooSOaxkcqNQG/Gmnh6BiMvVlRug
XbZIVJ6TLIzTaF7+hhRIHKocFilOAhAOmpAeUvEyKZRbUglc+85zIFTa0zNkv4I4jGZQb2n2QF5l
7nZr3/QYr3f2wIIC5rKbqitV7fK3mHmhaKGXLBb5rmx7N4aIvr+FPsvr9bXcAabtAlDOJEY+XFK1
/7QGFsXrdf4UPT2kisvbeJ5EaRa9SvN80yTqTXiXshrKn02IVaNkIV+qPIYIGRwuVBEW4GQUwBgT
CEcBjAT34E3SzXadHL/CXSRZqjxL8qiMYdm+0w4D7bYhDIRHw9IiaHKixvbgI+BXbU3jLt4NXklo
y5YsokeADI+C3ZpKlZlheD30jbJlKg3cZb+/rVNVuduzVbpS97fC66G+ifc9fNvJUkeLAiEgd4kJ
WTupOo+P4qXKdqMsqZ7y4veWe259lNxua1iTCz4AURLereNKAdItANqUnL6/b0Tty0On1yIt53mW
JfPKsj1Q4rHR3MbVw+3NyXAcjGdQOEUxo+Amne42x2EbnDBugIip4iYQmq62yclyTU5X2YiYLG4S
TvccUDld8yEmyzbodpf1F26nuCGGJqxvYLLHFLLpsg2zqcS+TYEvJE61ne6sYFfu4Tc/ARVQZT6S
XQ9ut90qGCq5U//hqKXcnudJ3bQChoWr0q6/689uddp382xJdWcEMETDIJFu4lVyUz6ufv31h0+/
/PTrrxaEuF7FTWQYhOLtdp3OzcPumzKPt814Yf0yWXIRBq9lnt/cx0ULm/S1uMMQQz/oQIRvvvnw
Yzs6AiIcjDu/Ke4oDn1uQUnOCKGCBEMpckGJcoDCoXRAxQUzzBFiwTD7gt85ISUAD8euLxB0Qopy
p1ZY7gkp4iY+PdgpGFLUTXyEOIUanpDi3zghJR1mpHtE6qOTXZCE8YBIfeuElHBYXexR0ambTmER
UKcQ70RKhdSYQBAQKQbc7JTEIcWH3cTHSUikmJP4FKtQMKT+5sQnzEJZKZMaWDvQ9S1JKCzq3GCb
rSxYEMpCYZE9xut0cYoD1O8iQ3oNBBxtIQgYiVA3/8phSE7Rj262kMmQZke4cQqIkDol3XQKkYBI
4W/d/CtFIZG6c0OKOPXE+kHqH04ZLyROpRNfGvWt29mjIcNI7GalGAjJKfzBkVNOFW3hyXS6iY9x
J/F5Qgohp7NHCZLBkLpxyys5x+H4hP/phhQmMiBSTs6YIORDox5X0bxIYo3W/Uv0/LDv3VRf6jar
uHy4z+OGYX6YCB0SXI3Du2anx5V54KP+PuvnwjNKrj/Wh/EmK0NzEVUPse4mW8a7dfV6u7L/Ies9
B9L60OmxzNCVVkR223Ue6xZ8c6USbYtcoVSWpqMtiquqSO93lf3OAwqhe3dZLxyu6O6GM8Gg9Eex
+csQam2hM43XMhRxZCZIZ17Ul7h+0tTvkTpfWviUZvdTq54E6zcee1o7rgkZFg7zu3xKt3sg2pXE
6u810Epm3du9vNLKxbC06mbfaP+T9vtYpI8vCkl091vFXtBWSXXybJdAPYcBMeKXt2UVK8PfbAf1
7MCg2iM7Z8v0oPBgApsJhECfj87xwz4phNibDI/ps1t2zNkM9QR55VnA0BeBr1P2dKvJ3gjkxaJh
YDaCUsVoF3D3jbTDk2jzcuLsRRaC2ChL07OJ41/d/Wyifk5Q6tErp6K0zIFEirXcg9MsUvPie70z
U/DzbVLEkRkjCgCxPzMVKkC4PvZ6Ny6gDYUoXRbxxvrkjjE+8xEoHT/Ai47Rsc1LUCnGsIynNnKp
wDPIeSDG0xbGc8RmmA3LAmaXuH6eQAOxgLXpHtbjWvigLOBWwEQ/M0WBWMDbtEC/tqHDskBYAXPg
sAnBFwtECwsoRw4Pjq5jgbQCpsRhjoIvFsg2LVBGGHMwJAsgsA6QEUw/NQjDAghaWSBnBF/vEXWl
K892WVP2xpTQIbs+mtK1vtYZ4dCM8MUeWXsE8rx2qDxb91Sly4LStsnIQurCA/fB0Pfd0Z9++mEf
vt2ZEPX4q/Ih360X0Sau5g/2uJUjLxb+BKu6qGemI/1k2rdrRD6m5VajcteUEyEm6Kz7LacvfL7L
q06UoB4LCAX2jtJiYWB+SssqyRJ9Gg+ys58T7NLo3RuN+UMy/z3Sc+7fZllFS5XxEBUOP6XVg64W
3+eLF2uODoV+Xerx7O677c+Any5X0BMABzhNNTf0O34LO6xjYqASjeynr/+6+/DxDJEsr+6e0/M3
8zWpgnk/EvsLGH3rUs+SbNjg4Nv313Mrj2bln4/DMs2MwjvJxXqpVf3Dev3j/iV7vYitYYaMLl9e
7wF1nvdDvEpsksWIzgTwTqhS2Pt0sVDBxCZRh2ihUvvnebI1KabVtphaG/SNhunGivT0M1NLXUTl
48pytwUF8wP+TclMBSdVSmYBR4Twkkp0EGtlNMd+fImN0mfbtA3OHEaQW+CVyVxFqNXL+8KwXkWA
KHimZhHBqSvgynF7qI+ccHWTKg3WJmqTPisFmselfXSvVHxl0m8Q2YXHudnS7GYY+GdCWerdFMt0
nXScZERA76p5OyMWeVIqrU60czq1Xvo9E/NuNuqNGIpUnQ7Zx18NE7XqIaJ7v1QPOO6MyYTe+8g8
cjvLv60x+FRPWD7OI+h+8p46aC42RF5IvHHK1ooYmyEnyyn7kvuzBhmXaXm+Ftjp3qkXqW9SrTPu
fZb0frK19TqDQGXBqUfy79PV60wd2yZTdbi4niIk3O7HvYMVTia1H+/N0jATA9axibXipBXNA8k2
2DXUQ5ePXdBCX9JfoHb9pushMCSB2kVFqZJwVqZV+pg0pP+a0cg7Ho9JUaSL5NVrvrcshzFptnxS
AIfFStejs2/QN9ld44AnQqXDLKvrkWmPbCQRQ2BhSlbzIi6tpo5rSyf7Ae2okZnteacZUN1YgIVv
6g7G7efkueoImIjiL5R8KAx++fGTvc6F9cxH4dGoHzZi/7ZP+cw8Bb3w275CoV6mQ0MgoHOiZb7L
FifXm4eNN8JrQGGHVYer+oE59git1yU6FDNByfWa5tpHe75bAitzP5im//c/nzqPml6B4t2UnQ1f
VZFs1nSTqtciwiAoNA7v5WYpgE817JxzqzyZEMh7LGe64RSpDr1AiDLuMOTWwaXYcHgs6zHw6s8y
KcyF2n4drv1WG84Ypa2tNEGQUAnFNUi8KcB+L6O2BUW+ju5VIjWvI1yrNihlgGRAyCa40LQr5cii
en6pHRE5oFbqLnb7qGmhfqFb+UA6F0me6s5nfWkRLZJ1/FKv81TxpRkMc0u/NN+9pae7Oqk+HNyH
Kz7hg+kvmu/KKt+0zd2GyhapT3zmlydAzzPMaMYkGoReM25/uY7td83E3DV7h7zLyniZRIcAyGr/
gHHB4Jqc8vX3HwIrjcPXNzfrfB6vH9SZ+1oAAZrF8norYI3DCEbTRQ5LV3PdrplNUMy9AJwRD+HR
uyrS27zkxoHcVN93S59heNd+Nrcu1f40WsnTa4h1c8f/AFBLAwQKAAAAAADFWDZLAAAAAAAAAAAA
AAAABwAcAGNyeXB0by9VVAkAAxFRxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAMVYNksA
AAAAAAAAAAAAAAAOABwAY3J5cHRvL3N1YnRsZS9VVAkAAxFRxVmdU8VZdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAgAAAMVYNksl4NMILAAAACwAAAA+ABwAY3J5cHRvL3N1YnRsZS9yc2EtZ2VuZXJhdGUt
a2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAkAAxFRxVkRUcVZdXgLAAEE9QEA
AAQUAAAAQ291bGQgbm90IGdlbmVyYXRlIGEga2V5IHBhaXIsIHN0YXR1cyAtNDMwNApQSwMEFAAC
AAgAxVg2SzA7uLFLAAAAaAAAADwAHABjcnlwdG8vc3VidGxlL3JzYS1pbXBvcnQta2V5LW1hbGZv
cm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAkAAxFRxVkRUcVZdXgLAAEE9QEAAAQUAAAAbcux
DYAwDETRniluHxpWsGRLsYA4ci5EbA8NHfV/f0u/hIbd7o7pLDEIUXV6VDmgQoGkoQbRR2uRNF3W
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
yGUZWidJTOoxkhgxBJucZhxdozAKi3wlUj0a6/d81axppaE6fe5rGEDu75+GMiqqtJVJaGXEeB1X
aSmKSmZ2Kyb73H4ZZQQzUy6jQk4vG8Hrbf/0ltZpfEfrx4NOD9B8GydOjD0wTVgEG/FU9l6yRtDl
miOWxkJDcdHkoneoKTyX0r1uoFwQ5PfqoczkK7STYl4CTnJMOpau5XjvSZ2F/R9m8ig3P17V7tvs
oVyMzcR0f5M7cla1Uzol6DqFHMNM8EkxJ5brMDpgPjfMBgyY/wFm0zopZkptF/MB87lhtk+L2eOO
zciA+Q8xfwFQSwMECgAAAAAA4lg2SwAAAAAAAAAAAAAAAAkAHABmYXN0L3hzbC9VVAkAA0dRxVmd
U8VZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOFYNktO+yD4iAAAAOcAAAAlABwAZmFzdC94c2wv
dHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADRlHFWUZRxVl1eAsAAQT1AQAABBQAAACl
jrEOwjAMRPd+hX+geGDLDBNsIDq7rSsiOXHlOFL5ewLlD1hOJ9/J7yZNaxTyqBnYTC3AEoW/EhDx
oVITFzyRE56HGw48XqLjlV5a/c7FCy5UHLciaFy02tTq29P6WadDu4LEzHAEFk6cHWJa1bxrSdgt
BKiZxgZ1BVGaf/D/0P3+nOfPhu4NUEsDBBQAAgAIAOFYNkv9oi5kjwAAAO4AAAAnABwAZmFzdC94
c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQJAANGUcVZRlHFWXV4CwABBPUBAAAE
FAAAAJ2OMQ7CMAxF957CFyge2DLDBBuIzm7rikhOXDmOVG5PoJyA5cv/f9t6k6Y1CnnUDGymFmCJ
wl8JiPhQqYkLnsgJz8MNBx4v0fFKL61+5+IFFyqOWxE0LlptauvNeT/S3Me0qnlfLR5aBhIzwxFY
OHF22NuuNWEfIUDNNDYAVxCl+QfyJ0bWUqfn50W7E+neUEsDBBQAAgAIAOFYNkuyu8ZnhwAAADQB
AAAkABwAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQJAANGUcVZRlHFWXV4
CwABBPUBAAAEFAAAAM2OMQ7CMAxF957CFwCLtTNMsFHROaSuasmJo8RB7e1JOAXD/8OXvt7zGhKL
M9YIlLPmEVYW+tWIiC+VGqjg1ZnD2/zEmd53Nny4Q6tNVKzg6orhXqTHTl6jUbTpSHTeLAgIR4IL
kFBoO7RbqjZw/DjhBVrXhtMMgWzTpfFVB/9/Wnt/YZf7AlBLAwQUAAIACADiWDZLwuv1xowAAABg
AQAANAAcAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50
eHRVVAkAA0dRxVlHUcVZdXgLAAEE9QEAAAQUAAAA1Y4xDsJADAT7vMIfCBZtaqigA5HaCb7Eku+M
fA6C30NS8AeK3WaKmdHyQ5RCrAC7m3eQRHm7DhFvpkvmigcKwmN/wZ6HkwSe6W1LXLlGxUQ18FV1
XbThVGoyz21Ym5ymzCXa0anOuzmygkph2AMrrwSe5EKDcuN85yRFthZLMKkNpD8O8ZU145/1fgBQ
SwMEFAACAAgAIFo2S5JztjTYAQAA6gMAABEAHABmdWxsX3Jlc3VsdHMuanNvblVUCQADm1PFWZ1T
xVl1eAsAAQT1AQAABBQAAACtkm1v0zAQx79K5VcgpfSBFkZ5VWhA1boNNR2DV5GTXFOrsR3s89aq
6nffnYMmJJCQGHnjh9z9f/8733yxyNdpdrvaZC9OAsGjF7OT0FApyRu4B4P9HwEC9Esn/e7VDnXD
fxy01qGYiU+r+eV3kQg4tFAiVHT1ZZ5ldCNLDJKCxSb9tunFy/M5Ecp4jrSOZSooQl1D3BcO5L61
ioilbYI2/t9oy6v05vYJyETN2Rx8Eg+vy7hA0W8biVvrdP+p7qWp4ADV4gMfGuUxt64Cp0zNTp5p
JBGV7TSkqSHy1ryjYrW2Zm5KsmHdR2tQKgPuP7Ta2KoDLWwZND9lST1GSBvg03X2O2OdfqaByJY3
138HCUL8Wfm5ut2XCL9Xbctxk+lkQvUEnTuoHXivrKHKxomwuAOXx+GMtcYJQ3AutJGwlY2HLlUr
yjO1mA0T0cijDZjHp88rRQMoBl956sAPFhLlIL3LBndQXCocrGLsJk5JIu7BMZ08daqt9J7Jk+no
3UUiWnWA5qcuGFk0v5ioqEMEGo1mozfzq541vQzIpS7A9cbjpDcejt4SYSd93jpAPJI4ljsxQxco
fasOrMeo6bCDbxu5P0YrgUzkXWMlcnfyreJYTj2/fP8IUEsDBAoAAAAAAPhYNksAAAAAAAAAAAAA
AAAFABwAaHR0cC9VVAkAA3NRxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAARZNksAAAAA
AAAAAAAAAAALABwAaHR0cC90ZXN0cy9VVAkAA4dRxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBAoA
AAAAAARZNksAAAAAAAAAAAAAAAAQABwAaHR0cC90ZXN0cy9taXNjL1VUCQADh1HFWZ1TxVl1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgABFk2SxU1NZJ6AAAAvAAAACoAHABodHRwL3Rlc3RzL21pc2Mv
eHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAA4dRxVmHUcVZdXgLAAEE9QEAAAQUAAAAjY5B
DsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCqohE+xAinWYveb4/XGma2
+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHCqGmfGhNgScd/uip95PO6
lywxLz9QSwMECgAAAAAAAFk2SwAAAAAAAAAAAAAAABQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L1VU
CQADgFHFWZ1TxVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA+Fg2SwAAAAAAAAAAAAAAACoAHABo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAA3NRxVmdU8VZdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAPhYNktjqqxsggAAAKgAAABAABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADc1HF
WXNRxVl1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZ
zXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpo
JTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAPhYNktjqqxsggAA
AKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVu
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
0zVhK/qvlXOjfDhgIRy7+rTbEsJlzkdwmg5+vx2448n1YHw+PP2GvoxHvf5gGzjSyp23yEb3Z48l
45+pUBmOda+B3n7oHh29yw3vbeHMhHu18ea4tcUHdW+sN6gHS0JsmRKPBtQzt2y5kIokKBVc5bdP
B5Cr3qohpPD+jxZqq73UDZvz9sF5cHT/5AdwCf4vFrZ6xX8BUEsDBAoAAAAAAP1YNksAAAAAAAAA
AAAAAAAJABwAaW1wb3J0ZWQvVVQJAAN+UcVZnVPFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAD9
WDZLAAAAAAAAAAAAAAAADQAcAGltcG9ydGVkL3czYy9VVAkAA35RxVmdU8VZdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAGxZNksAAAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9VVAkAA0xSxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGxZNksAAAAAAAAA
AAAAAAAqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvVVQJAANM
UsVZnVPFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABsWTZLAAAAAAAAAAAAAAAAQgAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2xpc3Rfb3JkZXJpbmctYWN0dWFs
LnR4dFVUCQADTFLFWUxSxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAbFk2SyWuQHpcAAAAwQAA
AEQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9saXN0X29yZGVy
aW5nLWV4cGVjdGVkLnR4dFVUCQADTFLFWUxSxVl1eAsAAQT1AQAABBQAAACdzLsRgCAQRdGcKl5m
ZBE24DhDBXxWxAHWWVAp38AKNLzBuWqZtAbbnVzTjYVmk6nCFI9YPPU3WTwJRpQzW5IK9UsNfJGs
ie/h4yBRj0HMsUVnEmqTWAIqS4NSD1BLAwQKAAAAAAD9WDZLAAAAAAAAAAAAAAAALQAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL1VUCQADflHFWZ1TxVl1eAsA
AQT1AQAABBQAAABQSwMECgAAAAAAFFk2SwAAAAAAAAAAAAAAADkAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9VVAkAA6dRxVmdU8VZdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIAP1YNkuPNBpwRAAAAKAJAABcABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvZmFpbHVyZXNfUlNBLU9B
RVAud29ya2VyLXN0ZGVyci50eHRVVAkAA35RxVl+UcVZdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsv
UUhPzUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnZU7ajaUbWjakfVjqodVUtz
tQBQSwMEFAACAAgAAVk2S1QCybI2AAAAwAIAAGUAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFf
NS53b3JrZXItc3RkZXJyLnR4dFVUCQADgVHFWYFRxVl1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9R
SE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCktVtA1MTYw4XIeVTuqdpCpBQBQSwMEFAACAAgAEFk2
S+GChuhJAAAAYAwAAFcAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0
b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzLmh0dHBzLXN0ZGVyci50eHRVVAkAA6BRxVmg
UcVZdXgLAAEE9QEAAAQUAAAA7crBCYAwEEXBu1X8AhQE00EqWXARURJJNge7twMreHOeXMe9q9TQ
4cWbhct0+avHzjarh8XoWtK2pilzuVwul8vlcrlc7s/9AFBLAwQUAAIACAATWTZLjzQacEQAAACg
CQAAYAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVy
YXRlS2V5L3Rlc3RfZmFpbHVyZXNfUlNBLU9BRVAuaHR0cHMtc3RkZXJyLnR4dFVUCQADpVHFWaVR
xVl1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCktVtA1
MTYw4XIeVTuqdlTtqNpRtaNqR9WOqh1VS3O1AFBLAwQUAAIACAAUWTZLVALJsjYAAADAAgAAaQAc
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5
L3Rlc3RfZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUuaHR0cHMtc3RkZXJyLnR4dFVUCQADp1HF
WadRxVl1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCkt
VtA1MTYw4XIeVTuqdpCpBQBQSwMECgAAAAAAClk2SwAAAAAAAAAAAAAAACQAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9VVAkAA5NRxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsD
BAoAAAAAAApZNksAAAAAAAAAAAAAAAAqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvVVQJAAOTUcVZnVPFWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAKWTZLWhTe
zmgCAADAHAAASwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0Rv
Y3VtZW50LWNyZWF0ZUVsZW1lbnQtYWN0dWFsLnR4dFVUCQADk1HFWZNRxVl1eAsAAQT1AQAABBQA
AACtmcFu00AQhu95ilVPcEiUvY4sSz1QFalQpHLwASkKjZNWSmyU2IjL3hAPwwXyDjwI4kloqLDX
qMbz7TrH5J/xt//Mbjz25M35zY253efLKn+xzXd5UT2ri1W+vi/y1XNzX5jLt6+uzKq8rU+/mcmg
PoPy4fxFvd0qURppplcOZz1bl+WZkqDVZkCqyWsJhAUUFmGUpSVeWGCGBRg/v33RYzTijGh1C0Qg
njxjakV2UXOIFkHA1ckmEbBLhG0TIdtEwDYRuE2EtIWAphDkhiA7hPghqC6sMKgyrDQnuTAUQSzC
+mSOGmVOOmXOSBaIZEFIFowEnqrSc6xenL+8+r+8m/91WZm8KOvNnVnuN3++O/Qm6T/8n0zTh97/
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
SwMnBt/aCAAA2MYAAE0AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtYWN0dWFsLnR4dFVUCQADk1HFWZNRxVl1eAsAAQT1
AQAABBQAAADFXdtuE0kQfecrBnOH2E7vviyFsYjYrIgUIpTAaiUgZnAmEMmxvb4oWa3MI7/DL/Ep
m9jZ4Dgzdk/VqQMPeSDTp+qcquru6cvkxquNvb2kPcjSUbbZyY6z7mhnLxllw1Fy1E1evH65nRz0
2uPz/5ekO+501i5/JDeWtv3L0NRiN6/tuHuQHR51swOl4+Xamz3IA6gc9noVpfvxbU2WcxuHaevK
1s6fG9tbv7eev9jY3Xj+enO3tbm7W1FQMeHBPczXK1hCFWyxCpZgnSkRLEkWbFkW9J5///YVnGhG
RAcvcyEnYNoTOOkJvL4mWMomPLiHRcUxgVK24ME9zAV8Nz48/4cNtR3Ux9d8SWew4GQ3g/r4WpRU
M1xw7htBfXzNRW2Aw9+AR77hEPQmON5NeKib8Cg30WFu4uOMZX3YAHdtDXiv1gDn9v4+krABDexd
QZkk2Pha8OAe5gJWwd11Fd5dV9HddQ1MuQanXENTFjBlgVMW+KAsU8CdjZebe682nm+qa1iDA/Oo
aDQX8HxD4PMNQUdTsF2zCRDvY35RQGsWXLBQpqfHHfUyXnRbk+Wixt0hopfRAeF8KkKyrOGXaW61
X9T+YlhBxEcFhfSrONpAlkowrG9LskE+pgMQVS0a2LtcuPOfMu2a7FTVWFDPFsAqFeW+bJmGepvX
WwLn0GY0sHc5cPbZsxoF5E0eDGzebEYDe7cAd3XvvnyN5bb/Y2NrO5pQHkI6HGaDUSv7e5x2hpJk
p/2sPcoOkpB8HI+ST71REoKSpuG4RDGIkvACjCNr5QmLfAAl2zkIT6a4QxkoUB9fl+gczMEOgGgH
SriVxzoKEAypHQhkxSO3xSe3xSe3zbMNKxjWt6UpJfBYI2ciINhleopDuttQnbwthtUtd+UDaHu3
HxCenRtghcyMBvZuKZx5SnYVwxBczsQMssYGwIN7uCJp0KQx624IzFVJZV+Bw0B6+Ln4Wv55NOpL
vZ6dpsf9TlZr947rFe1r12qwUsW+Eg5e9QUWca9mHgb8OcRZAB6YcrFAYBGbwA3fdDIZ8OcQZ6Hq
XXRV/6KruhddzVulmr9KNXeVlCtLEWiQAS3QRzTl6lMEGmiED2RBxLuOxL+OxL+OBFpHAq4j4dcR
7tCWiwUCi+iSFuc5D3CvEm8iNhDS804n6fmnk3h3RKmsu8pkwXdnEGdgXVJXiSz47gxiY9DCjWZz
YIjB7AccayxL5fu3r85VZbFAYBFn4syAc23ZLBBYxMYinQYDV2LzeJgqm0OkFdqF9DBZruBBZJlH
ZMlyvotx3sJ4KA8M7ut7NHp36KqNFt7b/zj886flYqMTVVTXMRGFdQ2VWFzWTWoosqPXcdAt5Nyv
hZ37tehzv5Z8XkfK8QMNo8clHk+QWXeFk2QeDyPKHCJLlg60bDrguunwC+dsXGsBK+cKHEKSeUCi
JilWkxStScrXZB3co5RDdPAy8lWi9lHawHedeDi0f5F4VSzfKppvFctXd87TCob1LQ7tjMHOHo5r
CTi0f9HqQY+BGS5L2xHjX+PNpx7B2K6eR2eWQFOhFCDexzKrFo7pgDkQi8Yv0dnAk6IMpIefZbqd
2eFbbOcYj+niaRxof5AdHp2KdHrttOO6DYKxRGQVOctOj7NhP21nb3a35F9XBUGmmLwUtiY8DSdM
DSdEDb/wNPzC1PALUcN7PA3vMTW8R9TwJk/Dm0wNbxI1fMbT8BlTw2dEDW/xNLzF1PAWUcPbPA1v
MzW8TdTwDk/DO0wN7xA13OdpuM/UcJ+o4V2ehneZGt4laviQp+FDpoYPiRre52l4n6nhfaKGD3ga
PmBq+ICo4SOeho+YGj4iaviUp+FTpoZPiRq+5Wn4lqnhW6KG73kavmdq+J6o4bt3PBENtqjMFMbq
PBXrTBHrRA2f8DR8wtTwCVHDDzwNPzA1/EDUsMHTsMHUsEHUsMnTsMnUsEnUcI2n4RpTwzWihmnC
E9Fgi8pMM5eqEGeJFeossYKS0fD9vVJNLXbz2gK/kgf/Jh76C3iWj0qVa2uyXBDiYMitYEquoHZb
sNkl6OwSdHaJIbvElF1iyy4Bhgn6VR/0N3wM1x9Mlx0sVxtQd4FxN39h93xtdxasNxSM9xFwtw+Q
dw2ANwuQJ+qx5+ehp+Xt58MRp8FxZ79PTk5qJ7/WeoNP9TM/6+Hx49/ql/Ne84eiYejO3ivh8d+N
drX4E1hq4xZ80y54513wTTzj511x8N7+K/GFXpjyEwpTfkJhim9hindhinthCjfxPL6L6mlTadJ2
DR2G7uy9Hh718ScfU0xeelu+c13A9XigCb0FcZdJCDqJv1DIy+V+5tj8TKltvJONNsLhorEyRH/s
ws0amd1qc2fAS3oMsJZQY1xuq639sr6+Xp92FJdbj2D57BYILMqacF1VAppi8iodpuCfbYGRboFS
mMG/MgOjNIO3VsKrTWHWpjBrU/xrUxi1KZTaFFK+OS8k4YyVtTVdfHFNN40FAguFCdMX1hHAfj4r
kP2nrEojHC4KK0KRTEiaCUe0/xdSnAoPuZxmgdclrf1vdXsa4nHSjLA++wIoOzRGi4YuJh/Kmivb
2mi9oDlwkQCB6OBlkW7BFrZgjVuwBU57dKN0c6v9gvYCTzxxSDxxSDyxJZ5YE0/MiSfYwEHfGAGY
BZDKowNlWxutFzc3D+EmKKRfxVi2sdiytV4eohgB8PZjBMP6tiz2UK6gvWsr4NLc0O49K0Ewviyi
nCGAxgALEtCrBahzSVAUjVhQzxbAxt2D7PComx2guCIA8T5GXdOdCgv6TH80FtSzuNvIrhernW9S
A2/kKcNtCa4hlMDAQcOEDErcqSdbmaLAfX1XngfjHhhnHxYnbfPNxlfHlU6NAX8OZRdRSZvJtI1k
7FqBspMq2dhmu+DFALu0g17WWYW33TvJBtV2Osxm/LIZcnJyNPrcG4+SNJn9/Z6Ix5c82+11qyXh
c5ssPv+m3y/j/bLHlzwb6/2qJovPT3Pusse++M/L2fu132TH/dE/yXA0OOp+mv9lcuM/UEsDBBQA
AgAIAApZNkt7r7PLYwMAADwsAABLABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLWRpZmYudHh0VVQJAAOTUcVZk1HFWXV4
CwABBPUBAAAEFAAAAM2Y304iMRjF732KhltmHIquml7BKhvNqjFg1LtJgbqSFIZlOtF9gX2dfaV9
lO0M7FLwD9Ke1r2hIYHf15455+OjcRyT5CaTxVjkyQlXPOnc9pJb0f86UovlczGSw6QrpOC5SCT/
kRUqViJX8UzkhVR5MhpPs5kSw+Rxb5A8in48lVzdZ7Nx9bE8GWbjZJINywrZQFeaqHgwE1yJjhTl
u8teLJ6mYqARu+pJ7dTr9f9iU3ygCi6rLbVaJKa0GTWbpL5YW60dctXu9cja10jJJ6MJuTu9vjgn
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
5eMJxqurD8XiuO5W6KDiB3Tip1jIKA5tyfLhJlA/+vnt334wbycorsTec4lIzjerFEG13uiuym73
/wyqr8Z516cY9PpY4o1L08VE4igl8YPJOHW3eQ9FrYeue6h77htPyenvnJKTPfP+M2Otpq2PfwvJ
Ov3fkvULTPJHTOPZKaaeHUvj6z2jlje98c6gu7Gv3QZM+ieo0SFUUWPaxUYl8tEeGe2mvrpSg1OU
GhxTatbS2yQFXjX6Gzv0bRPq5Or3JdRJv1HqS0PWXr8B+uyw1DH6PN0Af0CynJxyz5scuOd9idaN
H32Fhyux/gdA/wVQSwMECgAAAAAAC1k2SwAAAAAAAAAAAAAAACYAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL1VUCQADllHFWZ1TxVl1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAC1k2SwAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9VVAkAA5ZRxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAA9ZNksAAAAAAAAA
AAAAAAAvABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9V
VAkAA51RxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAtZNkuuCHUTCQIAAL0MAABJABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLW9yaWdp
bi5hbnktc3RkZXJyLnR4dFVUCQADllHFWZZRxVl1eAsAAQT1AQAABBQAAADtlk1r20AQhu/9FbrE
t7H3U7trMMW4Tlpo64Dbc5jdnbVNFctYKm3+fVcOSesQiFNT2uIgnSQxj/Tw8o4ms4/z2ftp8WE6
n48vpsNitl0tVuti2bab4WBQ1QGrZd20Q2sZK1ZNsa7bAquq/kax8DfFOARqGpjU63ZbVzDu7sDt
jP6rycPh59SGZTG+fFcEXHeTqhrjHYsL02f54DvWIHXPDnCzGmypqb9uM2ew2VKqVotl29/cvG7r
L7QeOReEK0sF1nMJyosSbGIakjRMB2EjKdW7xu9XuKAR69W7Vxt1yDM5PhPn+bwH5ysdurf7vqtr
apd1bEYX00/9P6vl7znfY/FDnXuXpQaMEA0rQRFnYJklwMS985Zzxf0Tzu/Bt875CTnfy/nBzpVJ
Oc6OgUwm51yxAFgqAiMDhsQ4YXpmzk/GebMn3SklD5UuPbfBCATuuMjlkkpwJEsgFXViyavS4uPS
m0etd+xTsv4T9hzrIknpHGPgg85RZ0wAkitBG208ci4Flk9Z/7VfTsn6b+/RUistyGkQlLqoSwOe
cr+gQwrcMIrJH7dHL2fzF+n70jGVxFAYCJp8LnXDwTpt8l41irzVMnB9nPS30/Gb/n/nRWkdsweE
gIznMHIHiDZADAaZjHlUCkeG8fNLFh/sOiOSCKRAmpRb1+oALigGCZONkrRhIf5jP9I/AFBLAwQU
AAIACAANWTZLC900i9sCAACYEgAAUwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtc3RhdHVzLmFueS1zdGRlcnIudHh0VVQJAAOZ
UcVZmVHFWXV4CwABBPUBAAAEFAAAAM2X32olNwzG7/sUc5U75cj/5UBYliUthba7kAcIki1vQk9z
DpkTun376hS61wVDMQODGQbjnyV9+vTp82+Pn3952H59eHz8+NPD3fajXtrz9vHLz1vj19fTZTue
uG/Pl8v57nBwvtyiPe6OCPEwrv8e+PxyeNP99P7WdD+c33QcX74+X27Pf324nH7X1/ssNbZQAwxH
AWJQBnaOQEeoPUi3N9/8wd+e+Kve4w0fj6c/n56Vu77t999gnGxj+L7vzffV037hy/t+HxBvty//
ft3sLOfT667by75dAfb3Zgfbx/vxh0//A21LPfaMDRJhh5gFgUcbUNV3xOAL1TFH6xaizW4ETFih
YowQpQWozTXojbGkZJcx0hytXym2g3OlrEDNQONABnEiUMeQliKl2GWONixEG6uMhoGgcSlGGzJI
4A4aohudtCOVOdq4EO2wANbKHgZ7i623FQtX8LlKxhiilEnatBCtVDIJpgqusNUtSgIuiOBSoKBt
JMx1jjYvRKtpYPV5gKhzEIsJM7segYliKkOsCbU52rIQrUuJ7f6t5YSqEFMzdXYFIavLPkYl5yf7
LS1EW10uvaNpk0mz0QYGIongR4hJiZpdxwxtXMpdIHrLV6fgeVhsCykIOzafoYIhZ+m5zNEu5S6K
NtcDWlizdSAhq9uQKpAQIxGbQLc52pXcBWXsNbgBgeIwZBUTKA3g3WA296iu0BztSu5CfEq1BLH8
NU8R+ToVRJsPMIWuyTOaxZqjXcldcBaKvWdoFC2dqf3jLmw0sH47htYqNFm3K7mL0Esj6gVSrs1i
ayXLOZtEpyDR43VicDO0aSmVQh9SLyFB4WruwqoVainNJNoSOcWWk9Ac7UoqNYyyXjM5ilhsvXUg
LsyQQ/Im1jlijXO0K6mUU69UzVMoiiF3bVa3OCATUR6BKtc0R7uSSvU4kuOaQVWvdWsWWdTmeipi
k21xkrTP0f5XlfobUEsDBBQAAgAIAA1ZNkuZJnuCmQEAAN4FAABMABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC5hbnktc3RkZXJy
LnR4dFVUCQADmlHFWZpRxVl1eAsAAQT1AQAABBQAAADN1E1rGzEQBuB7f4VOvY1X39IaQlncbVPI
F7VLj2UkjbKmW6/rVWj877ubnAqG5FCC0W00QnoQ76xub9a3Vy27btfr5nO7ZJ+oxI41d19YxN1u
KKwfMLGulP2yqoR0Cz4tsfSe8yrPvRXut9WBxuHhEGms9gfK/fa+K4v98UMZftLuIlJtckwGglce
tBEG6kgIxnIMFGz2Rr3/hY8/8J4u+IJdU+mGxD62V+2mZduRzc/Avh/+UGLhyJo4XTTCatiVw9BD
M+/A86Fx8W71BiKROEWHFpTVDnQyNQStElj00ucJ6yWeEN1925wlx08/5CTPEFAm0OQseBkVSBFs
8hhJCXuK02xWl2cJikZFY0hAlEaAtrWHEKQFa4yyVjkeAj8Bumm/nyUHOWpnhQd0NAWIEgfP1ZQn
qYjqqKKN/wToK/1+oLGwjjDRgeUt9Yk9Qplq8FwTr3VePrW/kZM0z7w2CDLlMMVKpMnpOUQjUGmF
2mf3onN+P+0KbI57OktlSD7gPDxSFBx0qKfhkY0DL3IKlD05NP9pePwFUEsDBBQAAgAIAA9ZNkse
cxaqzAIAAL8TAABVABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
Y29ycy9jb3JzLXJlZGlyZWN0LXByZWZsaWdodC5hbnktc3RkZXJyLnR4dFVUCQADnVHFWZ1RxVl1
eAsAAQT1AQAABBQAAADtl9uKGzkQhu/zFH0T35VdOksDJphhcoBNsuw8QCiVSrFZr3vi7iHJ2686
ITMDY8zC+iLJmG4ktfpA8fX/V0mX799dv//jqnt7dX29enV10b2Ukdfd6s83HdNu14/dtqfSrcfx
5mKxUDrMsR3qIkbERZ2eXdDNZrGXob/dswyLm73U7ebjepzffH3xD335QB9libOx/1t2yygxU1EK
MlECGxIBpZIhW4XRZBuTCrO9lM1eePwwjDTeDkuDarbtmcZNv1tOgTw3q+f6ZTvvwmkzU0Bt6ltI
rW9BtZb7/dC6+bw1dyG28cMgZ9zf7salmnd/yadbGcZuLVRk39WNbEv3BT4b7jZDN7Gg7bb/LKXL
X7sVt08NcNnvxn2/hdV0B15/e3OYP7s8NdYfUCaq31myaJ+YGKi6CDYX01h6B4jacDIcvPjZ/Q/4
71Sn2e26H8b/Q/VXoxk1qhgUgnOiwXrJkHy7DJSjw0iBJZ2CpvoNaR61vM7CYrmAQsVgEyEkIgVF
eV2cs6pmdQCnPlv+sUh9xVCjZ2ClM1iXE8RIBtCYiDZHSpqPilSfLX9Ps5IziiyBOHYtgfoK2XkD
uaYiTpfINpyC5pOzPBIWETSQqilTLm0jnQ2UHIsLrhUmnQ7gNGfLH6jypNlrLVDEN8tnXSGKb2Uq
5WpQrCJ/XKTmbPl7miWkaqmtOmsUBNts3ooRZkCXWEeXnKt0CppPzvLKZQw+ZyBjWi4tyULOJUKo
IaRAXNHGAzjD2fKPRepsNUE3jD553zZJLZFm0g5q8iQ2ofVNhsdEGs6Wf5BAmww5YASOkzLRGYgm
BhDPxlUsyMqfguaTs3zbfrIUI6BM873FUKDVIgulMOWaDXs8tLCPZ8s/FmnwPohKFdqeiMAqx20V
aj1EXaqkHKuXclSk8Wz5Bwm0OBKHDNVOe3kKrSwhR0BOmBvlVLU7Bc2fwPL/AlBLAwQKAAAAAAAK
WTZLAAAAAAAAAAAAAAAALgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
bm9zbmlmZi9VVAkAA5RRxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAApZNkvNDyDfmwAA
AMYAAABIABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3Bh
cnNpbmctbm9zbmlmZi1zdGRlcnIudHh0VVQJAAOUUcVZlFHFWXV4CwABBPUBAAAEFAAAADWNsQrC
MBQAd7/ibZnadCzZpAYRrB3q4BrTVxMISch7tfj3FrHrcdx1w20crhp6PY7Hs1Zw8hPExBCSmYBs
8ZnBMAjHnJWUIVkTXCJWbds0cka2TsZE0c+zLEhpKRZpJ9WSMxZrCGtDngQ80ZqFcDvEPd5feg38
yUhgCv7eJoS04gSrwwjiUXUpMkau7pul4N8W4Ale/o2xPnwBUEsDBBQAAgAIAApZNksQ7i+psQAA
AOwCAAA/ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3Nj
cmlwdC1zdGRlcnIudHh0VVQJAAOUUcVZlFHFWXV4CwABBPUBAAAEFAAAANWQvQ6CQBCEe59iG0MF
R6wIiTEG0ZiIFFjYnsciZy53hF1E3l78ewQK65nM92WS/FjkhxSytCjWuzSGjS7BOgbjZAmkWt0w
SAavZm5iIYxT0tSOOI6iMBQVsqqFdWR1VYkWyXWtQhI3CpphxUODSw8uqGRHOM7a32K2z1J4xQSy
xTdQGuN6LKGv0YJ39hNnGS37p7EVwxfhgSa46jvaYJZMqP6X0p+/H//sPl9sp/N/AlBLAwQUAAIA
CAAKWTZL68yuy7MAAAD4AgAAQwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvbm9zbmlmZi9zdHlsZXNoZWV0LXN0ZGVyci50eHRVVAkAA5RRxVmUUcVZdXgLAAEE9QEAAAQU
AAAA1c+9qsJAFATg/j7FNJdUusFKAnKRGEUwWqzFbdf1xA0sZ0PO8Sdv7w++goX9MPNNudva3aZC
XVk7X1UFFu0RnBSd64UgOkSSQKRwiiyodoUxMXkXQxItptM8Nw2pD4aTcNs0pidJ596TGC8y7oYM
B/Lu/CjjxCitRb2uK+jQkcD19FpzMaYrHXENxMj+R2ViJdbR/pEq8K7O0ApO7YV4/FN+3P33FM6+
W3/7cv7vZPmhC3dQSwMECgAAAAAAY1k2SwAAAAAAAAAAAAAAAAoAHABpbnNwZWN0b3IvVVQJAAM6
UsVZnVPFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABjWTZLAAAAAAAAAAAAAAAAEwAcAGluc3Bl
Y3Rvci9kZWJ1Z2dlci9VVAkAAzpSxVmdU8VZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAGNZNktE
YuEUbAAAAH8AAAAwABwAaW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtY29sdW1ucy1hY3R1
YWwudHh0VVQJAAM6UsVZOlLFWXV4CwABBPUBAAAEFAAAAB2MMQ7CMAxF957inwD2bkioEhJjL+C0
brFI7Cp2QNyewPSG9/Smy+0+YpbCK6wF3iQhumOzCrWQ7XM1ZYQhMRbKmddhZv838aBAqkzPw0TD
u9df5hzo5kVVrDmy9MEZi+VWtKMkUQox9dPwBVBLAwQUAAIACABjWTZLEfE7QlMBAAA1BAAALgAc
AGluc3BlY3Rvci9kZWJ1Z2dlci9icmVha3BvaW50LWNvbHVtbnMtZGlmZi50eHRVVAkAAzpSxVk6
UsVZdXgLAAEE9QEAAAQUAAAAvZJfT8IwFMXf9ynu+yh1U0D2NJT5J6IYR+S52y7YWFqy3il8ezfQ
IEtm2ItPTZpzfuf29jDGgL8aVazQ8rEgwaN5zOeYPEj6Pq4KqTL+ggqFRa7E1hTECC2xHG2hyHKp
7RpTMjnPMCmWS8x5kqN4XxupiaUVXVuGm0qEWZc25Liu+1+5IqVCqF1qGALzOt4QXK/jQxg67Hr6
FE8nETxGcTy6jQJQUiN4ATyLwmIGgnY3AZx1YA8MYDD8w7cXQTUneC34/QPfb/QNjvl+C77XOwRc
Nvr6xwHnLQJO4dfwF23m9076AP84oee4N6P7SQAzuSppZYPgU0iSegkLk4M2JBfbsSmdZCBBSIVS
mDkwK82ViN7KAQ6dsqVAVzqLVI32IXJpCrvP5j/JqVklUguSRtuuwxx2J39DGjvVJKtVo0lW++Em
2Wmq+rqrhVjIyk2VD/oCUEsDBBQAAgAIAGNZNkui9zvvxwAAAO4CAAAyABwAaW5zcGVjdG9yL2Rl
YnVnZ2VyL2JyZWFrcG9pbnQtY29sdW1ucy1leHBlY3RlZC50eHRVVAkAAzpSxVk6UsVZdXgLAAEE
9QEAAAQUAAAAldLRCoIwFAbg+z3FeYCotNTaXYjURWVgLzB11EjPws2eP03CJgzW1WD859s458Tp
OUuPCZySLNvtEwqVQA4ehQtrFS+B6c8NheUMClm1NVKItiS2lQ0Z0Fxp8OyxqR6Oum8ri0zdd9e9
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
dHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQt
Y3JlYXRlRWxlbWVudC1hY3R1YWwudHh0VVQJAANvU8VZb1PFWXV4CwABBPUBAAAEFAAAAK2Zz27T
QBCH73mKVU9wSNS9jixLPVAVqVCkctgDUhQaJ62UrFFiIy6+IR6GC+QdeBDEk9BQ4T8oZufzOsfk
N+NvfzNrZ8eTNxe3t+Zuly2K7MUm22a+eFb6ZbZ68NnyuXnw5urtq2uzzO/K429mEtQ7KA/n9+Vm
o0SppU6vDGc9W+X5mZKg0Tog1eS1BMICCosw8twSLywwwwKMn9++6DFqsSNa3QIRSEvumFqRXdQc
okUQcHWySQTsEmHbRMg2EbBNBG4TIW0hoCkEuSHIDiF+CKoLKwyqDCvNUS4MRRCLsD45R41yfgrl
8uLl9f/E3dyv88JkPi/X92axW//5bt+bYn6K7mSGPuI5IZ7HE/fckRFzz206eMkY7v6HCULvf8ho
LhyxgMccfQ8BsoBOGtUCuhEDF/Bpu4kir+PDyI10OKvfx9L+zaDircXDiWNbo51CxTxGS8gI1MKw
R2llvx+DvJ1F2Saj0B9vSu8XuxHapUmjbZlWxMAF7D+uo8jr+DByIx3Iul0U91GwTYIwbUs7EPfy
5iaKto4PwzbSwdbufn3+Gmluk0Jjb0s9EPrHd/+hLKKg2ynC0B31UOhDPPQBQR8Y9Kkrqv/0a48e
+kOHJUd1C47qFh3VLRoZWDIzsHBokBsy4DNgwmcAxuP/WOJIW+6YWpG9IigVAKlYaSoyNqjA1KCC
85yKHNMrMM+p9BjvytXxAyz5J8LhAM16n2JIoboRDgfoqvAUROrWjnA4QHGNhNiUAIcSak5KfEmB
JSlzI0V2pMQPQLJKSPsmoHMTUpcpaY8paI8pao8ZwZgBjBnCIO9WwIuV3rcqZvIbUEsDBBQAAgAI
AAhaNksoSdRQOAIAAGwUAABRABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LWRpZmYudHh0VVQJAANvU8VZb1PF
WXV4CwABBPUBAAAEFAAAAM2YTW7UQBCF9zlFKyuQaRopZOPVBJEIRCCIQaR3UY/dmVhqu0fuNhn2
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
YWxob3N0LmtleVVUBQAD+1DFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALhYNkv6KrMs5AkA
ADsSAAAYABgAAAAAAAEAAACkgZdtAABfd3B0X2NlcnRzL2xvY2FsaG9zdC5wZW1VVAUAA/tQxVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC4WDZLGz4bcAcAAAAHAAAAEQAYAAAAAAABAAAApIHN
dwAAX3dwdF9jZXJ0cy9zZXJpYWxVVAUAA/tQxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAC4
WDZLWg8AaQcAAAAHAAAAFQAYAAAAAAABAAAApIEfeAAAX3dwdF9jZXJ0cy9zZXJpYWwub2xkVVQF
AAP7UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZ1k2S0dD+SlUnwEAKL4PAA4AGAAAAAAA
AQAAAKSBdXgAAGFjY2Vzc19sb2cudHh0VVQFAANCUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAxVg2SwAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BERgCAGNyeXB0by9VVAUAAxFRxVl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAADFWDZLAAAAAAAAAAAAAAAADgAYAAAAAAAAABAA7UFSGAIA
Y3J5cHRvL3N1YnRsZS9VVAUAAxFRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADFWDZLJeDT
CCwAAAAsAAAAPgAYAAAAAAABAAAApIGaGAIAY3J5cHRvL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5
LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAUAAxFRxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADFWDZLMDu4sUsAAABoAAAAPAAYAAAAAAABAAAApIE+GQIAY3J5cHRvL3N1YnRs
ZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQFAAMRUcVZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAwlg2SwAAAAAAAAAAAAAAAA8AGAAAAAAAAAAQAO1B
/xkCAGNyeXB0by93b3JrZXJzL1VUBQADDFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMJY
NksAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQUgaAgBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvVVQF
AAMMUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAwlg2SyXg0wgsAAAALAAAADEAGAAAAAAA
AQAAAKSBmBoCAGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LXN0ZGVyci50
eHRVVAUAAwxRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADDWDZLAAAAAAAAAAAAAAAADQAY
AAAAAAAAABAA7UEvGwIAZGlzcGxheWxpc3RzL1VUBQADDlHFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMNYNkujV/3oUAAAAI4AAAAyABgAAAAAAAEAAACkgXYbAgBkaXNwbGF5bGlzdHMvZXh0
ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJyLnR4dFVUBQADDlHFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMNYNkvylpXVRwAAAEkAAAApABgAAAAAAAEAAACkgTIcAgBkaXNwbGF5bGlz
dHMvbGF5ZXItZGlzcGF5LWxpc3Qtc3RkZXJyLnR4dFVUBQADDlHFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAPVYNksAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQdwcAgBlZGl0aW5nL1VUBQAD
bVHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPVYNksAAAAAAAAAAAAAAAARABgAAAAAAAAA
EADtQR4dAgBlZGl0aW5nL2RlbGV0aW5nL1VUBQADbVHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAPVYNkue94IyugEAAPwSAAAoABgAAAAAAAEAAACkgWkdAgBlZGl0aW5nL2RlbGV0aW5nL2Rl
bGV0ZS1lbW9qaS1zdGRlcnIudHh0VVQFAANtUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
CVo2S3/77o9XCwAAKkAAAA0AGAAAAAAAAQAAAKSBhR8CAGVycm9yX2xvZy50eHRVVAUAA3FTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADjWDZLAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UEj
KwIAZmFzdC9VVAUAA0lRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADTWDZLAAAAAAAAAAAA
AAAADAAYAAAAAAAAABAA7UFiKwIAZmFzdC9jYW52YXMvVVQFAAMtUcVZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAylg2S1Fc1cVsAAAA7AAAACYAGAAAAAAAAQAAAKSBqCsCAGZhc3QvY2FudmFz
LzJkLmN1cnJlbnRQb2ludC1zdGRlcnIudHh0VVQFAAMbUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA01g2Syk2eUZ8AAAAAgEAACYAGAAAAAAAAQAAAKSBdCwCAGZhc3QvY2FudmFzL2NhbnZh
cy1saW5lRGFzaC1zdGRlcnIudHh0VVQFAAMtUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
3Vg2SwAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BUC0CAGZhc3QvaW1hZ2VzL1VUBQADQVHFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN1YNkshj704MgAAADMAAAAsABgAAAAAAAEAAACkgZYt
AgBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUBQADQVHFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAONYNksAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQS4u
AgBmYXN0L3RleHQvVVQFAANJUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA41g2S4gWptxt
AQAAgwkAACMAGAAAAAAAAQAAAKSBci4CAGZhc3QvdGV4dC9lbW9qaS1nZW5kZXItMi1zdGRlcnIu
dHh0VVQFAANJUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA4lg2SwAAAAAAAAAAAAAAAAkA
GAAAAAAAAAAQAO1BPDACAGZhc3QveHNsL1VUBQADR1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAOFYNktO+yD4iAAAAOcAAAAlABgAAAAAAAEAAACkgX8wAgBmYXN0L3hzbC90cmFuc2Zvcm0t
eGhyLWRvYy1zdGRlcnIudHh0VVQFAANGUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4Vg2
S/2iLmSPAAAA7gAAACcAGAAAAAAAAQAAAKSBZjECAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11
cmktc3RkZXJyLnR4dFVUBQADRlHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOFYNkuyu8Zn
hwAAADQBAAAkABgAAAAAAAEAAACkgVYyAgBmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVy
ci50eHRVVAUAA0ZRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADiWDZLwuv1xowAAABgAQAA
NAAYAAAAAAABAAAApIE7MwIAZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jh
c2gtc3RkZXJyLnR4dFVUBQADR1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACBaNkuSc7Y0
2AEAAOoDAAARABgAAAAAAAEAAACkgTU0AgBmdWxsX3Jlc3VsdHMuanNvblVUBQADm1PFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAPhYNksAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQVg2AgBo
dHRwL1VUBQADc1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAARZNksAAAAAAAAAAAAAAAAL
ABgAAAAAAAAAEADtQZc2AgBodHRwL3Rlc3RzL1VUBQADh1HFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAARZNksAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQdw2AgBodHRwL3Rlc3RzL21pc2Mv
VVQFAAOHUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABFk2SxU1NZJ6AAAAvAAAACoAGAAA
AAAAAQAAAKSBJjcCAGh0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVU
BQADh1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAABZNksAAAAAAAAAAAAAAAAUABgAAAAA
AAAAEADtQQQ4AgBodHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQADgFHFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAPhYNksAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQVI4AgBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAUAA3NRxVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAD4WDZLY6qsbIIAAACoAAAAQAAYAAAAAAABAAAApIG2OAIAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADc1HF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPhYNktjqqxsggAAAKgAAABSABgAAAAAAAEAAACk
gbI5AgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZl
Y3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQFAANzUcVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAAFk2S2BLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSBwDoCAGh0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVU
BQADgFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALZYNktbBFgOogUAAE0QAAAKABgAAAAA
AAEAAACkgdA7AgBodHRwZC5jb25mVVQFAAP3UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
/Vg2SwAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BtkECAGltcG9ydGVkL1VUBQADflHFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAP1YNksAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQflBAgBp
bXBvcnRlZC93M2MvVVQFAAN+UcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAbFk2SwAAAAAA
AAAAAAAAACAAGAAAAAAAAAAQAO1BQEICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
VVQFAANMUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAbFk2SwAAAAAAAAAAAAAAACoAGAAA
AAAAAAAQAO1BmkICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL1VU
BQADTFLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGxZNksAAAAAAAAAAAAAAABCABgAAAAA
AAAAAACkgf5CAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9saXN0
X29yZGVyaW5nLWFjdHVhbC50eHRVVAUAA0xSxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABs
WTZLJa5AelwAAADBAAAARAAYAAAAAAABAAAApIF6QwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvbGlzdF9vcmRlcmluZy1leHBlY3RlZC50eHRVVAUAA0xSxVl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAD9WDZLAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UFURAIA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQFAAN+UcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAFFk2SwAAAAAAAAAAAAAAADkAGAAAAAAAAAAQAO1Bu0QC
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5
L1VUBQADp1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAP1YNkuPNBpwRAAAAKAJAABcABgA
AAAAAAEAAACkgS5FAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQ
SS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4dFVUBQADflHF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAFZNktUAsmyNgAAAMACAABlABgAAAAAAAEAAACk
gQhGAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0
ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS53b3JrZXItc3RkZXJyLnR4dFVUBQADgVHF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABBZNkvhgoboSQAAAGAMAABXABgAAAAAAAEAAACk
gd1GAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0
ZUtleS90ZXN0X2ZhaWx1cmVzLmh0dHBzLXN0ZGVyci50eHRVVAUAA6BRxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAATWTZLjzQacEQAAACgCQAAYAAYAAAAAAABAAAApIG3RwIAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWls
dXJlc19SU0EtT0FFUC5odHRwcy1zdGRlcnIudHh0VVQFAAOlUcVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAFFk2S1QCybI2AAAAwAIAAGkAGAAAAAAAAQAAAKSBlUgCAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXNf
UlNBU1NBLVBLQ1MxLXYxXzUuaHR0cHMtc3RkZXJyLnR4dFVUBQADp1HFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAApZNksAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQW5JAgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9VVAUAA5NRxVl1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAKWTZLAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UHMSQIAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvVVQFAAOTUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAClk2S1oU3s5oAgAAwBwAAEsAGAAAAAAAAQAAAKSBMEoCAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtYWN0dWFsLnR4dFVU
BQADk1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAApZNks7NjvdDgIAADESAABJABgAAAAA
AAEAAACkgR1NAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1
bWVudC1jcmVhdGVFbGVtZW50LWRpZmYudHh0VVQFAAOTUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAClk2Sx/C0pQbAgAAfBoAAE0AGAAAAAAAAQAAAKSBrk8CAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhwZWN0ZWQu
dHh0VVQFAAOTUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAClk2S6WlUp64CgAAMmsAAFEA
GAAAAAAAAQAAAKSBUFICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVz
L0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtcHJldHR5LWRpZmYuaHRtbFVUBQADk1HFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAApZNksDJwbf2ggAANjGAABNABgAAAAAAAEAAACkgZNdAgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVt
ZW50TlMtYWN0dWFsLnR4dFVUBQADk1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAApZNkt7
r7PLYwMAADwsAABLABgAAAAAAAEAAACkgfRmAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAUAA5NRxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKWTZLXewPiY8IAADkwwAATwAYAAAAAAABAAAApIHc
agIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3Jl
YXRlRWxlbWVudE5TLWV4cGVjdGVkLnR4dFVUBQADk1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAApZNkvEPTBnwA0AALWrAABTABgAAAAAAAEAAACkgfRzAgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtcHJldHR5LWRp
ZmYuaHRtbFVUBQADk1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAhZNksAAAAAAAAAAAAA
AAArABgAAAAAAAAAEADtQUGCAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9y
YW5nZXMvVVQFAAOPUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACFk2S5yIjNGNAgAAMg4A
AFMAGAAAAAAAAQAAAKSBpoICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3Jh
bmdlcy9SYW5nZS1jb21tb25BbmNlc3RvckNvbnRhaW5lci1hY3R1YWwudHh0VVQFAAOPUcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACFk2SyA3vU9sAQAATwQAAFEAGAAAAAAAAQAAAKSBwIUC
AGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3Jhbmdlcy9SYW5nZS1jb21tb25B
bmNlc3RvckNvbnRhaW5lci1kaWZmLnR4dFVUBQADj1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAhZNkvMwMnKdgIAAPYNAABVABgAAAAAAAEAAACkgbeHAgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9yYW5nZXMvUmFuZ2UtY29tbW9uQW5jZXN0b3JDb250YWluZXItZXhw
ZWN0ZWQudHh0VVQFAAOPUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACFk2S1JViiuwCAAA
CCQAAFkAGAAAAAAAAQAAAKSBvIoCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L3Jhbmdlcy9SYW5nZS1jb21tb25BbmNlc3RvckNvbnRhaW5lci1wcmV0dHktZGlmZi5odG1sVVQF
AAOPUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAC1k2SwAAAAAAAAAAAAAAACYAGAAAAAAA
AAAQAO1B/5MCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvVVQFAAOWUcVZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAC1k2SwAAAAAAAAAAAAAAACoAGAAAAAAAAAAQAO1B
X5QCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL1VUBQADllHFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAA9ZNksAAAAAAAAAAAAAAAAvABgAAAAAAAAAEADtQcOU
AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL1VUBQADnVHF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAtZNkuuCHUTCQIAAL0MAABJABgAAAAAAAEAAACk
gSyVAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMt
b3JpZ2luLmFueS1zdGRlcnIudHh0VVQFAAOWUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
DVk2SwvdNIvbAgAAmBIAAFMAGAAAAAAAAQAAAKSBuJcCAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtc3RhdHVzLmFueS1zdGRlcnIu
dHh0VVQFAAOZUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADVk2S5kme4KZAQAA3gUAAEwA
GAAAAAAAAQAAAKSBIJsCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2NvcnMvY29ycy1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAUAA5pRxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAPWTZLHnMWqswCAAC/EwAAVQAYAAAAAAABAAAApIE/nQIAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXJlZGlyZWN0LXByZWZs
aWdodC5hbnktc3RkZXJyLnR4dFVUBQADnVHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAApZ
NksAAAAAAAAAAAAAAAAuABgAAAAAAAAAEADtQZqgAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL25vc25pZmYvVVQFAAOUUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
Clk2S80PIN+bAAAAxgAAAEgAGAAAAAAAAQAAAKSBAqECAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9wYXJzaW5nLW5vc25pZmYtc3RkZXJyLnR4dFVUBQADlFHF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAApZNksQ7i+psQAAAOwCAAA/ABgAAAAAAAEAAACk
gR+iAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvc2NyaXB0
LXN0ZGVyci50eHRVVAUAA5RRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKWTZL68yuy7MA
AAD4AgAAQwAYAAAAAAABAAAApIFJowIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9ub3NuaWZmL3N0eWxlc2hlZXQtc3RkZXJyLnR4dFVUBQADlFHFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAGNZNksAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQXmkAgBpbnNwZWN0b3Iv
VVQFAAM6UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAY1k2SwAAAAAAAAAAAAAAABMAGAAA
AAAAAAAQAO1BvaQCAGluc3BlY3Rvci9kZWJ1Z2dlci9VVAUAAzpSxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABjWTZLRGLhFGwAAAB/AAAAMAAYAAAAAAABAAAApIEKpQIAaW5zcGVjdG9yL2Rl
YnVnZ2VyL2JyZWFrcG9pbnQtY29sdW1ucy1hY3R1YWwudHh0VVQFAAM6UsVZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAY1k2SxHxO0JTAQAANQQAAC4AGAAAAAAAAQAAAKSB4KUCAGluc3BlY3Rv
ci9kZWJ1Z2dlci9icmVha3BvaW50LWNvbHVtbnMtZGlmZi50eHRVVAUAAzpSxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABjWTZLovc778cAAADuAgAAMgAYAAAAAAABAAAApIGbpwIAaW5zcGVj
dG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtY29sdW1ucy1leHBlY3RlZC50eHRVVAUAAzpSxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABjWTZLYUAEgXAIAABfJQAANgAYAAAAAAABAAAApIHOqAIA
aW5zcGVjdG9yL2RlYnVnZ2VyL2JyZWFrcG9pbnQtY29sdW1ucy1wcmV0dHktZGlmZi5odG1sVVQF
AAM6UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAT1k2SwAAAAAAAAAAAAAAAAMAGAAAAAAA
AAAQAO1BrrECAGpzL1VUBQADFVLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE9ZNktQ1Ejz
VgEAAMgPAAAcABgAAAAAAAEAAACkgeuxAgBqcy9yZWdleHAtdW5pY29kZS1zdGRlcnIudHh0VVQF
AAMVUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAO1k2SwAAAAAAAAAAAAAAAAYAGAAAAAAA
AAAQAO1Bl7MCAG1lZGlhL1VUBQAD8VHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADpZNktA
wQWBUgAAAGIAAAAiABgAAAAAAAEAAACkgdezAgBtZWRpYS9ldmVudC1xdWV1ZS1jcmFzaC1hY3R1
YWwudHh0VVQFAAPwUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOlk2S7d966L8AAAArgEA
ACAAGAAAAAAAAQAAAKSBhbQCAG1lZGlhL2V2ZW50LXF1ZXVlLWNyYXNoLWRpZmYudHh0VVQFAAPw
UcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOlk2S8nYcf2aAAAAyAAAACQAGAAAAAAAAQAA
AKSB27UCAG1lZGlhL2V2ZW50LXF1ZXVlLWNyYXNoLWV4cGVjdGVkLnR4dFVUBQAD8FHFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIADtZNktYdi/d1AcAAOcYAAAoABgAAAAAAAEAAACkgdO2AgBt
ZWRpYS9ldmVudC1xdWV1ZS1jcmFzaC1wcmV0dHktZGlmZi5odG1sVVQFAAPxUcVZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA9lg2S2KCGKNkAgAAohUAABoAGAAAAAAAAQAAAKSBCb8CAHB5d2Vi
c29ja2V0LndzLmxvZy1lcnIudHh0VVQFAANwUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
9lg2S7F3bV0KAQAAjwIAABoAGAAAAAAAAQAAAKSBwcECAHB5d2Vic29ja2V0LndzLmxvZy1vdXQu
dHh0VVQFAANwUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAt1g2SwAAAAAAAAAAAAAAABsA
GAAAAAAAAAAAAKSBH8MCAHB5d2Vic29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQAD+lDFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAALdYNksAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgXTDAgBw
eXdlYnNvY2tldC53c3MubG9nLW91dC50eHRVVAUAA/pQxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAgWjZLj8pSWnEpAADGrwAADAAYAAAAAAABAAAApIHJwwIAcmVzdWx0cy5odG1sVVQFAAOb
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACFo2SwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQ
AO1BgO0CAHJldHJpZXMvVVQFAANvU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACFo2SwAA
AAAAAAAAAAAAABEAGAAAAAAAAAAQAO1Bwu0CAHJldHJpZXMvaW1wb3J0ZWQvVVQFAANvU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACFo2SwAAAAAAAAAAAAAAABUAGAAAAAAAAAAQAO1BDe4C
AHJldHJpZXMvaW1wb3J0ZWQvdzNjL1VUBQADb1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AAhaNksAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQVzuAgByZXRyaWVzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvVVQFAANvU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACFo2
SwAAAAAAAAAAAAAAACwAGAAAAAAAAAAQAO1Bvu4CAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vVVQFAANvU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACFo2
SwAAAAAAAAAAAAAAADIAGAAAAAAAAAAQAO1BJO8CAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvVVQFAANwU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgACFo2S5oVASNvAgAAEB0AAFMAGAAAAAAAAQAAAKSBkO8CAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1hY3R1
YWwudHh0VVQFAANvU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACFo2SyhJ1FA4AgAAbBQA
AFEAGAAAAAAAAQAAAKSBjPICAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1kaWZmLnR4dFVUBQADb1PFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAAhaNksfwtKUGwIAAHwaAABVABgAAAAAAAEAAACkgU/1AgBy
ZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50
LWNyZWF0ZUVsZW1lbnQtZXhwZWN0ZWQudHh0VVQFAANvU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgACFo2S0lCdOsTCwAAW3YAAFkAGAAAAAAAAQAAAKSB+fcCAHJldHJpZXMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1w
cmV0dHktZGlmZi5odG1sVVQFAANvU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACFo2S2qA
ONPgCAAARMcAAFUAGAAAAAAAAQAAAKSBnwMDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLWFjdHVhbC50eHRV
VAUAA3BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAIWjZLN+Sd5pkDAACEMAAAUwAYAAAA
AAABAAAApIEODQMAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAUAA3BTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAIWjZLXewPiY8IAADkwwAAVwAYAAAAAAABAAAApIE0EQMAcmV0cmll
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVh
dGVFbGVtZW50TlMtZXhwZWN0ZWQudHh0VVQFAANwU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgACFo2Szu5ahtGDgAATbsAAFsAGAAAAAAAAQAAAKSBVBoDAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLXBy
ZXR0eS1kaWZmLmh0bWxVVAUAA3BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAgWjZLWA3F
Qc0JCQCjkjEACgAYAAAAAAABAAAApIEvKQMAc3RhdHMuanNvblVUBQADm1PFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABZaNktHJLBW1t4DAD9VXwAZABgAAAAAAAEAAACkgUAzDAB3cHR3a19w
cm9jZXNzX2xvZy5vdXQudHh0VVQFAAOMU8VZdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAB+AH4A4jcA
AGkSEAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>321576</attachid>
            <date>2017-09-22 12:16:49 -0700</date>
            <delta_ts>2017-09-22 13:44:18 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews117 for mac-elcapitan</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1876094</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
ZXJyLnR4dFVUCQADclDFWXJQxVl1eAsAAQT1AQAABBQAAABDb3VsZCBub3QgZ2VuZXJhdGUgYSBr
ZXkgcGFpciwgc3RhdHVzIC00MzA0ClBLAwQUAAIACABwWDZLMDu4sUsAAABoAAAAPAAcAGNyeXB0
by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVU
CQADdFDFWXRQxVl1eAsAAQT1AQAABBQAAABty7ENgDAMRNGeKW4fGlawZEuxgDhyLkRsDw0d9X9/
S7+Eht3ujuksMQhRdXpUOaBCgaShBtFHa5E0XdaP44w3skgFZ6Cln9Z/hgdQSwMECgAAAAAAZ1g2
SwAAAAAAAAAAAAAAAA8AHABjcnlwdG8vd29ya2Vycy9VVAkAA2FQxVktVMVZdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAGdYNksAAAAAAAAAAAAAAAAWABwAY3J5cHRvL3dvcmtlcnMvc3VidGxlL1VU
CQADYVDFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMECgACAAAAZ1g2SyXg0wgsAAAALAAAADEAHABj
cnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1zdGRlcnIudHh0VVQJAANhUMVZ
YVDFWXV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBnZW5lcmF0ZSBhIGtleSBwYWlyLCBzdGF0dXMg
LTQzMDQKUEsDBAoAAAAAAGRYNksAAAAAAAAAAAAAAAANABwAZGlzcGxheWxpc3RzL1VUCQADW1DF
WS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAZFg2S6NX/ehQAAAAjgAAADIAHABkaXNwbGF5
bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJyLnR4dFVUCQADW1DFWVtQxVl1
eAsAAQT1AQAABBQAAABzL0osyMhMLnbOzytJrSixskpPLXEO8dXQVMgsVsjLL1GoTC1RSM7PLUgs
yUzKSVUozyzJUChKTc4vSsnMSwfKgLUV63G5oxtUjGYQMYYAAFBLAwQUAAIACABkWDZL8paV1UcA
AABJAAAAKQAcAGRpc3BsYXlsaXN0cy9sYXllci1kaXNwYXktbGlzdC1zdGRlcnIudHh0VVQJAANb
UMVZW1DFWXV4CwABBPUBAAAEFAAAAHMvSizIyEwuds7PK0mtKLGySk8tcQ7x1dBUyCxWyMsvUahM
LVFIzs8tSCzJTMpJVSjPLMlQKEpNzi9KycxLB8qAtRXrcQEAUEsDBAoAAAAAAKtYNksAAAAAAAAA
AAAAAAAIABwAZWRpdGluZy9VVAkAA+JQxVktVMVZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAKtY
NksAAAAAAAAAAAAAAAARABwAZWRpdGluZy9kZWxldGluZy9VVAkAA+JQxVktVMVZdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAKtYNkumur9QugEAAPwSAAAoABwAZWRpdGluZy9kZWxldGluZy9kZWxl
dGUtZW1vamktc3RkZXJyLnR4dFVUCQAD4lDFWeJQxVl1eAsAAQT1AQAABBQAAADtlstq3DAUhtf1
Uwgvh5lwdLdNO9BOCF1lkXFXIQvZlqeG+IItw7TBUPoCXfdN+jx5gb5CpTS9wZRCMNQLeacj6T+/
9fHDIYDlBuINIQjjBGhCozMGgM7HurvSTaH7tNf6mmLMRMKxlPEN2rW9TvXRJGi1WqE3Ta26Thco
vP/84euXTyF6vksv2sZuw1GWhQKOOcMRbO8aVWv0Au3TfdscTLVJd5srfRhvVb9GQ/Xe7WFxBg/f
GtXK9NXR1uBoV4Ue8r7qTNvbymOH85+1X70IiMz1Usbezkajh4fzF6/UUOWv1fD295NCArp267KU
XFDJGNxs78y7zlmpR6OyW42KKjdrlLdjY5zBdaAbK+10t8EzghKnvreV5oAepSiLtCxPSefWtb3u
PIWXe/cPl/ZNXv7wGk7fzf4px3kpWPQvuROvGk7BFGynKSCnKGP5RMofT1PmDDD1lBdGmbFZs0wZ
LrHwlBdGWcCsWc4yBtpTXhplGc2aZcmxirmnvCzKHObNMmWk0LGnvDDKT56+/pZlUvgZe3GUKZk1
y1IQiDNPeWGUOZk3y0QK6SkvjbLE887YiuiCeMr/j/I3UEsDBAoAAAAAAIpYNksAAAAAAAAAAAAA
AAATABwAZWRpdGluZy9wYXN0ZWJvYXJkL1VUCQADpFDFWS1UxVl1eAsAAQT1AQAABBQAAABQSwME
FAACAAgAd1g2S7LeberqAAAAhQEAADAAHABlZGl0aW5nL3Bhc3RlYm9hcmQvY29weS1yZXNvbHZl
cy11cmxzLXN0ZGVyci50eHRVVAkAA4JQxVmCUMVZdXgLAAEE9QEAAAQUAAAAdY9BS8NAEIXv/RVz
KolIBwQ9LKVQtLlYVJLSnGc3k7iQZsLuROi/N2kjitDjvPe9NzO7PH/PDWTkW65ABSi4T//FEAcb
OMoQHEMtAeoRMIh4lHY4ccQXUsJdWWDJ9tUr7uksgx44akSuvPquwZ6ishUKFf50RSTLq75rFjeb
igs4Tc8SGFuhigPOd6Grcc8NufPob6/ayvV98vjwlIKBqKTeQc71h4b13GHM/8gGblrGuMCknDjp
okJ5yIwpNIz/wPL+N5YFOvGkXLEjO5U/C9+kYrjbXCJTQzZ0Tr10ayvSQjKn0xFYpotvUEsDBBQA
AgAIAH1YNkumE3YhuQEAAAwPAABKABwAZWRpdGluZy9wYXN0ZWJvYXJkL2RyYWctZmlsZXMtdG8t
ZWRpdGFibGUtZWxlbWVudC1hcy1hdHRhY2htZW50LXN0ZGVyci50eHRVVAkAA41QxVmNUMVZdXgL
AAEE9QEAAAQUAAAA7ZXBattAEIbvforBh5JA8Zo6jolAJ8eG0OAEya57Xe2OogVZI3ZHpHYI+DUK
7cv5SbpScwgp6cWCpEWXhZ2d+Xf/mQ92FkU3UQBzaXLUwAR3yMDbEsFoLNikBi1QChYdVVYhSIZV
dA2pzw+EEF8orzboxKVkKWbrWKwx+WxYXMstVbxEx06gNmyKO1FKx5iQtFqkRHBvOAO0lizMmvWS
NtIU4SKekiLZxH6HYEoaw0/nQ+gvM2zuhsP+hxc57H+CoirXxWH/nSFBoBIL7yRBJSuHwBla78VB
QeAqlTXFgz6sHNqrIqXwYRF7P+Hxfj7CIp57lVvJWXikzqrQaPOtP2y6EA6/TdILlKORPk+HQ3h4
0a/bm/jq65/9gv7imWnwFdpYVEx22398HPR6r74ybmZd76ZkUdTlsjSittfMZrDZnIxHpxCAY8lG
QUKUw1N6ENR5QeCyejARlrlUWIdOFBWOYb2cB0HM1ruDD6e9WUfgP0TgZIwXZx2BbRCYSHs8gV7k
vRDon9IKgU86rxModUdgR+CbEojdL9wSgbs2CNy9HwJ3LRG4+zuB6Vh2BHYEviWBSfqfEfgLUEsD
BBQAAgAIAIFYNku2/tY64QEAAMwWAAA1ABwAZWRpdGluZy9wYXN0ZWJvYXJkL2ZpbGUtaW5wdXQt
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
h54qpxEUwzy+hCzkSyHENRVViV4MFSsxWiRigcsLw+JSbajiGXr2IlOeRUauDGYoCyZ1ec1wZzgH
dI4cjJp3SKUyNpokA9KkmthrCAaUYnR40oP2LMfmc9htn94a7bbPoKkqUrvbPjIsEWiFNuAsUavK
I3COLgB5sAS+0nnToNuGuUd3bjOK7idJgIp+AOoAJsk4+FeK8+i7jeY2RVdsjL1ttIh669MsVVk/
Pe6roMX9B9Wupsn5zWfVoD15hw2hIjUONZPbtB8euq3Wl2Mmzcprb0AOm/HUyoiar9lQtyw7x0f7
IMGzYqNhSVTAW7qUdZ6UPq9XE+OqUBrrUEeT9QyL2VjKhF2gg7391uj/EH/jIR6dqT92iC9QSwME
FAACAAgAl1g2S3lcWYBwAQAAEgUAAC8AHABmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNldC1pbi1j
aGFuZ2Utc3RkZXJyLnR4dFVUCQADvVDFWb1QxVl1eAsAAQT1AQAABBQAAADtks1KA0EMx+99itCD
KEinKn4N7Km2IEqV3dZ6nc5m3IHdSZnJokWEvoagL9cncXb1IIonvShehuRPkskvyTBNL1IJI2VL
zIEJbpCBlwsEm6Njayx6IAMeA9VeIyiGaXoOJsZLIcQVlXWFQZwoVmI4y8QM52eWxblaUs0TDByE
UYGFIV9FM6ZFk3p8x3BruQD0njwM2/eEKmVdMs4GpEm12qsEA8ox2T3oQ3dSYPs5rFdPb4XWq2fQ
VJe5W68eGeYItEAXceaoVR0QuEAfgQI4glDroi3Q68I0oD91hpL7cRahkh+A2oZxNor+peIi+W6h
qcvRl0vrbtpZJP27Q5Mrs3N0vI+mD/cfpnZ5kZ1ef54adMfvsCFm5NajZvLL7sNDr9P5ss2sXXnj
Dchj255aWNHwtRvqVdXm/t4WSAis2GqYE5XwFi5lEydlKJrVpLgolcZG2tTkAsNsMpIyYx/pYGOr
M/w/xN94iIfqrx3iC1BLAwQUAAIACACXWDZLxSBtLngBAAASBQAAQAAcAGZhc3QvZm9ybXMvZmls
ZS9maWxlLXJlc2V0LWluLWNoYW5nZS11c2luZy1vcGVuLXBhbmVsLXN0ZGVyci50eHRVVAkAA71Q
xVm9UMVZdXgLAAEE9QEAAAQUAAAA7ZLBaiMxDIbveQqRw9JAidOGtlvDnNIEwoa0zCSbvToeuWOY
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
Hwe93l/LTLuRt6chOezKUwsjWn/dhAZ1vXdyvA8SPCs2GjKiCjbpUrZ5UvqyHU2Ci0ppbEN7mqxn
mE/HUqbsgjv4sd8b7UD8D0E8wSPcgbg1iJlynwPiRuhLgLipZXsQ3wj940c8znYg7kD8CiAefjMQ
XwFQSwMEFAACAAgAmVg2S0os2dClAQAA/AoAADwAHABmYXN0L2Zvcm1zL2ZpbGUvc2VsZWN0ZWQt
ZmlsZXMtZnJvbS1oaXN0b3J5LXN0YXRlLXN0ZGVyci50eHRVVAkAA8FQxVnBUMVZdXgLAAEE9QEA
AAQUAAAA7ZLfatswFMbv8xSHXIwWRpQ4ZAOBr9IEykpa7GTprSwf1QLbx0jHrKEU8hqD7eXyJJO9
Mbpuvctgf3IjpE9Hh/N9+i2S5DqRsFS2xByY4A4ZeNcg2BxrtsaiAzLg0FPrNIJi2CRXYEK9FEK8
p7Kt0IsLxUostqnYYvbOsrhSO2p5jZ69MMqzMOSqsA3PBAe1UVxM+l0nTUZ8z/DBcgHoHDlY9OsF
VcrW8SqdkybVa18lmFOOcfRmDMN1gf0wcNh/+qHdYf8ZNLVlXh/2HxkyBGqwDiYz1Kr1CFygCzY9
1AS+1UXfZjSEjUd3WRuKH1ZpsBr/BquvYZUuw+EmXMXHbrypc3TlztZ3fWLx+P6tyZUZ65nG6Rge
nmV7c51e3v6cLQxXT2KB8CK3DjWT2w0fH0eDwYtjpz0o3WlODvtxVWNF57f/x1FVnc2m5yDBs2Kr
ISMq4Vu5lF2dlL7ovi7BplQaO+lMU+0ZtuullCm74A5enQ8WJ3z/H3zNdHbC92j4Rt+jj46Lb/TH
4fvM6vHw/UXjl/HNptEJ3xO+fyu+Zjb5x/D9AlBLAwQKAAAAAADXWDZLAAAAAAAAAAAAAAAADAAc
AGZhc3QvZnJhbWVzL1VUCQADNlHFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA11g2S4AY
DaanAAAA0gAAAC8AHABmYXN0L2ZyYW1lcy9zYW5kYm94ZWQtaWZyYW1lLXN0b3JhZ2Utc3RkZXJy
LnR4dFVUCQADNlHFWTZRxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK
9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizl
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
oBg26SUUXbwUQnwl11QYxbliJRbbTGwx/2JZXKqWGl5j5CgKFVncUviOIT7fE011O4mlCmgmuaN8
0gQXpyVXDm4tl4AhUIDFcJ5TpaxPVtmcNKlBe5JgTgaTD6czGK9LHHqC/e7nP7/Y736BpsYZv989
MOQIVKPv5s9RqyYicImhIxDBE8RGl0Pp6Rg2EcOFLyi5W2UdheT1KLyHVbbsql8rLpNXqr/xBoNr
rb8ZmCazH2fFp7PTzyfq6FjN4O4F/eur7OLbn/RhvPoNEnQZxgbUTKEd399PR6O/dp8Njupfcwoo
+nRVW9GPPWx6WlUHJx8PQUJkxVZDTuTgOVzKPk7KWPaLTLF2SmMvHWjykWG7XkqZceimg3eHo8Wb
z998/sLnx+bI4H/m80dQSwMECgAAAAAAwFg2SwAAAAAAAAAAAAAAAAkAHABmYXN0L3hzbC9VVAkA
AwdRxVktVMVZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIALxYNktO+yD4iAAAAOcAAAAlABwAZmFz
dC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADA1HFWQNRxVl1eAsAAQT1AQAA
BBQAAACljrEOwjAMRPd+hX+geGDLDBNsIDq7rSsiOXHlOFL5ewLlD1hOJ9/J7yZNaxTyqBnYTC3A
EoW/EhDxoVITFzyRE56HGw48XqLjlV5a/c7FCy5UHLciaFy02tTq29P6WadDu4LEzHAEFk6cHWJa
1bxrSdgtBKiZxgZ1BVGaf/D/0P3+nOfPhu4NUEsDBBQAAgAIALxYNkv9oi5kjwAAAO4AAAAnABwA
ZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQJAAMEUcVZBFHFWXV4CwAB
BPUBAAAEFAAAAJ2OMQ7CMAxF957CFyge2DLDBBuIzm7rikhOXDmOVG5PoJyA5cv/f9t6k6Y1CnnU
DGymFmCJwl8JiPhQqYkLnsgJz8MNBx4v0fFKL61+5+IFFyqOWxE0LlptauvNeT/S3Me0qnlfLR5a
BhIzwxFYOHF22NuuNWEfIUDNNDYAVxCl+QfyJ0bWUqfn50W7E+neUEsDBBQAAgAIALxYNkuyu8Zn
hwAAADQBAAAkABwAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQJAAMEUcVZ
BFHFWXV4CwABBPUBAAAEFAAAAM2OMQ7CMAxF957CFwCLtTNMsFHROaSuasmJo8RB7e1JOAXD/8OX
vt7zGhKLM9YIlLPmEVYW+tWIiC+VGqjg1ZnD2/zEmd53Nny4Q6tNVKzg6orhXqTHTl6jUbTpSHTe
LAgIR4ILkFBoO7RbqjZw/DjhBVrXhtMMgWzTpfFVB/9/Wnt/YZf7AlBLAwQUAAIACADAWDZLwuv1
xowAAABgAQAANAAcAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0
ZGVyci50eHRVVAkAAwdRxVkHUcVZdXgLAAEE9QEAAAQUAAAA1Y4xDsJADAT7vMIfCBZtaqigA5Ha
Cb7Eku+MfA6C30NS8AeK3WaKmdHyQ5RCrAC7m3eQRHm7DhFvpkvmigcKwmN/wZ6HkwSe6W1LXLlG
xUQ18FV1XbThVGoyz21Ym5ymzCXa0anOuzmygkph2AMrrwSe5EKDcuN85yRFthZLMKkNpD8O8ZU1
45/1fgBQSwMEFAACAAgAbFo2S5qF0ANbAQAAUgIAABEAHABmdWxsX3Jlc3VsdHMuanNvblVUCQAD
K1TFWS1UxVl1eAsAAQT1AQAABBQAAAClUEtPwzAM/itTTiB1dB0DRDlNaoUQY6C1PG5V2rprtLSJ
Ehc2TfvvONmEuHAiF8fW97C/eZIUqzR7XeTZ2Z4hWLQs3jPRaWUQavf/uqx8gXKsJcdGmW78A6xV
50qvavB9oqqhgx7HlQGOkEpw3TK7aLGTDmDAKbOYrdJ7Ms4enpcsYLDVUHk/9jLPMprwCgdODJan
Hzk7BH8o/1f3+AJmN0Jrh5tdz6YB64euMLA2YK1QPV1GM4UtmKIy3Lb+VmKJHsGYQXuHhksLR2on
iNevWTwJmOQ7NWDhEytqYcg6fFOSbrFhwpGH6XsWvkP5KDBceGzuww3YJxjnTjsdVTW31jnPrqIJ
jbTYgjzpQs9L+WuJmhIioyiKo9v500j1owxoy64EM5pOg9F0Et2QQ8ttoQ0g7kgcq5bFaAaiN2Lr
9HwaJ/NG8s3OHzTQEsUxWI4unaIRDuuoh/O7b1BLAwQKAAAAAADBWDZLAAAAAAAAAAAAAAAABQAc
AGh0dHAvVVQJAAMKUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAKWTZLAAAAAAAAAAAA
AAAACwAcAGh0dHAvdGVzdHMvVVQJAAOUUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADC
WDZLAAAAAAAAAAAAAAAALwAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVu
dHNhbmRib3gvVVQJAAMMUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAADCWDZLdSCEqj4A
AAA+AAAAUQAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gv
cmVmZXJlci1oZWFkZXItc3RyaXBwZWQtc3RkZXJyLnR4dFVUCQADDFHFWQxRxVl1eAsAAQT1AQAA
BBQAAABbbmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0ClBLAwQKAAIAAADBWDZLdSCEqj4AAAA+AAAAagAcAGh0dHAvdGVzdHMvY29udGVu
dGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0
aC1tZXRhLXJlZmVyZXItYWx3YXlzLXN0ZGVyci50eHRVVAkAAwpRxVkKUcVZdXgLAAEE9QEAAAQU
AAAAW25hdGl2ZSBjb2RlXTogSlMgRVJST1IgVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdApQSwMECgACAAAAwVg2S3UghKo+AAAAPgAAAGsAHABodHRwL3Rlc3RzL2NvbnRlbnRk
aXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgt
bWV0YS1yZWZlcmVyLWRlZmF1bHQtc3RkZXJyLnR4dFVUCQADClHFWQpRxVl1eAsAAQT1AQAABBQA
AABbbmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0ClBLAwQKAAIAAADBWDZLdSCEqj4AAAA+AAAAaQAcAGh0dHAvdGVzdHMvY29udGVudGRp
c3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1t
ZXRhLXJlZmVyZXItbmV2ZXItc3RkZXJyLnR4dFVUCQADClHFWQpRxVl1eAsAAQT1AQAABBQAAABb
bmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0ClBLAwQKAAIAAADCWDZLdSCEqj4AAAA+AAAAbwAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bv
c2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRh
LXJlZmVyZXItbm8tcmVmZXJyZXItc3RkZXJyLnR4dFVUCQADC1HFWQtRxVl1eAsAAQT1AQAABBQA
AABbbmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0ClBLAwQKAAIAAADBWDZLdSCEqj4AAAA+AAAAfgAcAGh0dHAvdGVzdHMvY29udGVudGRp
c3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1t
ZXRhLXJlZmVyZXItbm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUtc3RkZXJyLnR4dFVUCQADClHF
WQpRxVl1eAsAAQT1AQAABBQAAABbbmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0ClBLAwQKAAIAAADCWDZLdSCEqj4AAAA+AAAAagAcAGh0
dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFk
ZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItb3JpZ2luLXN0ZGVyci50eHRVVAkAAwtRxVkL
UcVZdXgLAAEE9QEAAAQUAAAAW25hdGl2ZSBjb2RlXTogSlMgRVJST1IgVHlwZUVycm9yOiB1bmRl
ZmluZWQgaXMgbm90IGFuIG9iamVjdApQSwMECgACAAAAwlg2S3UghKo+AAAAPgAAAG4AHABodHRw
L3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVy
LXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLXVuc2FmZS11cmwtc3RkZXJyLnR4dFVUCQADC1HF
WQtRxVl1eAsAAQT1AQAABBQAAABbbmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0ClBLAwQKAAAAAADIWDZLAAAAAAAAAAAAAAAAEQAcAGh0
dHAvdGVzdHMvbG9jYWwvVVQJAAMYUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADJWDZL
AAAAAAAAAAAAAAAAFgAcAGh0dHAvdGVzdHMvbG9jYWwvYmxvYi9VVAkAAxlRxVktVMVZdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAMlYNkvVFlqEfAEAAHQFAAAxABwAaHR0cC90ZXN0cy9sb2NhbC9i
bG9iL3NlbmQtaHlicmlkLWJsb2Itc3RkZXJyLnR4dFVUCQADGVHFWRlRxVl1eAsAAQT1AQAABBQA
AADtUsFqGzEQvfsrHj6UBIplnLpJBXtybAgNTti1615l7WxWsNYs0iyNCQH/RqH5OX9Jd7cNhJbe
cmp7EdLw5mnemzdP05tUY2FcRTmEcUcC2dcEl5MXVzgK4AKBIjfBEoxgnV6jaPFaKfWJq2ZHUV0a
MWq+ydSGth+dqGuz50ZWFCWqUqRW0l8rtqZSz2RRefZ076K0X+GLkxIUAgfM+/OSd8b5ZJnN2LLp
az9KmHFOyeT9GMNVSf0sOB6+vSA7Hp5gualyfzx8FWwJXJNvFW7JmiYSpKTQaozwjNjYsicZDbGO
FK58wcnDMmt1Jq+v8y2W2aJlvTVSJq/Mu/Y5hWrv/F3vVjK+Py/Mhfkwmdqz8zEefvH19ia7+vy7
rxguX5iCtiN3gaxw2A8fH0eDwR+nzvqxuteMA6mu3dROdXL7HY52u5Pp2Sk0ohhxFlvmCj/hWnc4
rWPZLS6lujKWutKJZR8Fm9VC60xCqw5vTgfz/8n9J5I7mb77y5L7HVBLAwQUAAIACADIWDZLt12Y
334BAAB0BQAAQgAcAGh0dHAvdGVzdHMvbG9jYWwvYmxvYi9zZW5kLWh5YnJpZC1ibG9iLXVzaW5n
LW9wZW4tcGFuZWwtc3RkZXJyLnR4dFVUCQADGFHFWRhRxVl1eAsAAQT1AQAABBQAAADtUsFq20AQ
vfsrHj6UBIrXSUhbFnRybAgNTpDsuNfVahQtyDtid0RjQsC/UWh/zl9SSWkhtOSWU8hl2R3evJ33
5s3T9DrVWBhXUwFh3JFAdg3BFeTFlY4CuESgyG2wBCNYp1coO7xWSt1y3W4pqgsjRs03mdpQ/tWJ
ujI7bmVFUaKqRBolw7Vma2r1lywqz57uXZTuK3x3UoFC4ID5cF7w1jifLLMZWzZD7amEGReUnH6a
YryqaJgFh/3PZ2SH/S9YbuvCH/Y/BDmBG/KdwpysaSNBKgqdxgjPiK2tBpLJGOtI4dKXnDwss05n
8vo6P2KZLTrWGyNV8sq8a19QqHfO3w1uJdP7z6X5kp+cnE0tTfHwj68319nlt/99xXj5zBR0HYUL
ZIXDbvz4OBmNXpw6G8bqXzMOpPp20zjVyx12ONluj87PjqERxYizyJlr/IFr3eO0jlW/uJSa2ljq
S0eWfRRsVgutMwmdOnw4Hs3fk/vmk2tscVqeF28sub8BUEsDBAoAAAAAAPxYNksAAAAAAAAAAAAA
AAAQABwAaHR0cC90ZXN0cy9taXNjL1VUCQADfFHFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgA1Vg2S3s2YILnAAAAZQEAAC0AHABodHRwL3Rlc3RzL21pc2MvY29weS1yZXNvbHZlcy11cmxz
LXN0ZGVyci50eHRVVAkAAzJRxVkyUcVZdXgLAAEE9QEAAAQUAAAAdY1PS8NAEMXv/RRzKo1IJi34
h6UURJuLopJKe95MJulKkgm7E8Fvb9JGFEHmNO/93nvbLHvJDKTW1VyAClhPR/fBEPrcc5DeE0Mp
Ho6qnUFcrm7iZLiluU2SBBsXCL+5gCRNZ0OI37tqhnup+2YQH6xa3B52eOD80SnuTvD43YtnrMUW
7HHaRSrxiStLn4N/d9Zi6rrF1eo6AgNBrTqCjMtX9eupw5i/kQ38axlDnq3ygqQNCoe31JidetdW
ML/8iaXeNjwqZ2zPpPJr8FkKhovNKTI2pH1L6qRd5yI1LKZ0NADzaPYFUEsDBBQAAgAIANlYNkuP
HKT/pQAAACADAAAuABwAaHR0cC90ZXN0cy9taXNjL2VtcHR5LWZpbGUtZm9ybWRhdGEtc3RkZXJy
LnR4dFVUCQADOlHFWTpRxVl1eAsAAQT1AQAABBQAAADtj70KwjAURvc+xZ2kFTGIkxmtdVEQUrRz
2tyWYpobkrTi29uCP0/g1vHjcPg4mRAXwSGlXiswFKDBAKWmEpQMEmpHHUhw2LQ+uGfEbqT7Dj07
jJRlRc4KLE9tYDn1rsJppeSQWS1DTa5jBsOD3J0dxzE568raeLvZJcBhoFbB2+BcWotG7cdrgZ70
gCr+so8NyxVUZHz4aVdxhkUSZXPH3PGHjhdQSwMEFAACAAgA/Fg2SxU1NZJ6AAAAvAAAACoAHABo
dHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAA3xRxVl8UcVZdXgL
AAEE9QEAAAQUAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCq
ohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHC
qGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAACVk2SwAAAAAAAAAAAAAAABQAHABodHRwL3Rl
c3RzL3NlY3VyaXR5L1VUCQADklHFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAzVg2SwAA
AAAAAAAAAAAAAB4AHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9VVAkAAyJRxVktVMVZ
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAM1YNku8aqgzjwIAALQzAAA+ABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLXN0ZGVyci50eHRVVAkAAyJR
xVkiUcVZdXgLAAEE9QEAAAQUAAAA7dpRa9swEADg9/6KIw+jhbVyndixDXlqEygbaYnbda+SfE7E
HMvICltWCv0bg+3P9ZfM9rYSuoY2xGtg3IuDjXS+sz8kW85wMjmfRDDiKsMErIYpWrDLAkElmFuV
KjSgUzBY6oWRCNzC1eQ9pFX7iDFWolwYZZdMZqoQmpuEnU4uR/wTjqoW8FnZGaAx2sCw2Z7qOVf5
YByfaKl5c+zXITjRCQ5c34HO5Qyb+HB/930l2P3dD5B6kSX5/d03CwJBF5hXWQuUfFEi2BmaKu8S
cg3lQs6aIEcduCrRnOWpHtyM4yr3wctyfwvjuP694HY2eEHbqzxBky1VPm2qGjhf+invhY4biNB1
4OZR/Rfn8dnHv+uHzngleah6JMqgtNosO7e3R3t77IPOFnMs2Sm3nA2vY3aN4p2yLG7uT713og2y
ujsvFKvTa6710Xy+73UPIILScqskCK0z+N08iup2UVTO6gs8wSLjsqlsX+q8tHB9OYqi2JqqOnhz
sDckNf9UTSCP+1V+pOY5NX+alowXRXXbpirdXs9DqNew80QFzxpa02e9JeymZIkstWGpx9OELJGl
Fiz5PQcFWSJLrVhKXRqXNrA0119VlvF2NK0Ee11PKyfeQNSjXmtNea5P4xOZatsUkiky1Zqp0On1
PBGSKTLV3jgl/PCYH5Mpejbf/tlc+EEoaP2JLLViibsBjUsbWHoo+DDV5jAxfDqtT7s1rKfjvq6y
p3PYgNz6AGvXP72KIPkjf7vyR99yaC5taS71+mk/IEtkqQ1LoRPSWinNizuaFyt/XeGRP/K3K3+B
K2ldn/ztxl/o+H7XpW8A5G9n/vqhoPGP3iW2f5cIHc/3/B5ZIktt/F816Mr+f2bpJ1BLAwQKAAAA
AADzWDZLAAAAAAAAAAAAAAAAKgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L1VUCQADalHFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAz1g2S/vPzwe2AAAA
+AAAAEIAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9ibG9jay1m
YXZpY29uLXN0ZGVyci50eHRVVAkAAyZRxVkmUcVZdXgLAAEE9QEAAAQUAAAARY9Bi8JADIXv/ooc
20tT3YOSq7qwuKxQQc9jG3cHxqabSevft1MVCTx48D1e3raq9hXBp/OBGzCBaE4NgrgGLqLga2nB
GfQa4M+sI8T5YlmU481pVZYlXn2sUTlKrzVHvLghZYpRIGNVUYIfMXAhyO1RofzfczR4hfIZHiX0
1zG9ceZwezrgic87b3iYgOTWoozpLVZMBfg1yvfki7rrstVHDgSD+AaeNNEbIZp2JePb3yyf3QFQ
SwMEFAACAAgA81g2S2OqrGyCAAAAqAAAAEAAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQJAANpUcVZaVHFWXV4CwABBPUB
AAAEFAAAAC2NQQrDMAwE73mFXhA7vaT4FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth
0OHeUgjLbZ3jyJLuMcZgyJcW7yFLdVR//vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpD
bVwnksqdljnSjs2vMUSbguxqTdTxmr5QSwMEFAACAAgA81g2S2OqrGyCAAAAqAAAAFIAHABodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1z
dHlsZS1zcmMtMi1zdGRlcnIudHh0VVQJAANqUcVZalHFWXV4CwABBPUBAAAEFAAAAC2NQQrDMAwE
73mFXhA7vaT4FYW+ILgbYlAsIyml/n1NKXtahtnNcrbCmxepBFXRRHth0OHeUgjLbZ3jyJLuMcZg
yJcW7yFLdVR//vtDuOQeFCaXZlgw74z5Y0xcKmglMM4h0A/YAfg0aHpDbVwnksqdljnSjs2vMUSb
guxqTdTxmr5QSwMEFAACAAgA4Vg2S71sQcWtAAAApAEAADoAHABodHRwL3Rlc3RzL3NlY3VyaXR5
L2Nyb3NzLW9yaWdpbi13ZWJzcWwtYWxsb3dlZC1zdGRlcnIudHh0VVQJAANGUcVZRlHFWXV4CwAB
BPUBAAAEFAAAAN2PywrCMBBF937FLNuFRhA3QQTRrEQKFdt1ko4QSGfCmPj4ex/oT7i7F865cE3b
Nq2GE1kXETJDLkLABIG84IiUbQRbMk+v1pcyQjUH4gyWAEVY6onqOJYRL2pns1WmP6oe3T5kdeQi
Ht9ty4LqwEOJL+yGbniRzl7wo7zDzKdULZaLGjSYu8eUA1MjqyuHYQ3fBa1/uNYJ5cwyNglpQ0OH
Es6PyjHHemL+7tETUEsDBBQAAgAIAOFYNkuAGA2mpwAAANIAAAAyABwAaHR0cC90ZXN0cy9zZWN1
cml0eS9jcm9zcy1vcmlnaW4td2Vic3FsLXN0ZGVyci50eHRVVAkAA0ZRxVlGUcVZdXgLAAEE9QEA
AAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkb
EBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILq
zH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzK
xQtQSwMEFAACAAgA+Vg2S4AYDaanAAAA0gAAAD8AHABodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3Jh
Z2UtYmxvY2tpbmctbG9vc2VuZWQtd2Vic3FsLXN0ZGVyci50eHRVVAkAA3ZRxVl2UcVZdXgLAAEE
9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2G
KxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/t
wILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwL
yxzKxQtQSwMEFAACAAgA+lg2S4AYDaanAAAA0gAAAEMAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3N0
b3JhZ2UtYmxvY2tpbmctc3RyZW5ndGhlbmVkLXdlYnNxbC1zdGRlcnIudHh0VVQJAAN3UcVZd1HF
WXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsM
fDN12zathisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3J
J3XhLA4/7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESk
PfU3FD88C8scysULUEsDBBQAAgAIAAlZNktgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1
cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJ
AAOSUcVZklHFWXV4CwABBPUBAAAEFAAAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5f
OvQGHau/vq/3Qt5KpEljToDMmT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsm
NV/gwfEZU7tvBBQTQg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99Q
SwMECgAAAAAA11g2SwAAAAAAAAAAAAAAABMAHABodHRwL3Rlc3RzL3N0b3JhZ2UvVVQJAAM1UcVZ
LVTFWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADXWDZLgBgNpqcAAADSAAAARQAcAGh0dHAvdGVz
dHMvc3RvcmFnZS9jYWxsYmFja3MtYXJlLWNhbGxlZC1pbi1jb3JyZWN0LWNvbnRleHQtc3RkZXJy
LnR4dFVUCQADNVHFWTVRxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK
9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizl
Qt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7
s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQKAAAAAAAKWTZLAAAAAAAAAAAAAAAAGgAc
AGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvVVQJAAOUUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACAAKWTZLvbFoc7EAAAABAQAAQQAcAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcG9z
dC1ibG9iLWNvbnRlbnQtdHlwZS1hc3luYy1zdGRlcnIudHh0VVQJAAOUUcVZlFHFWXV4CwABBPUB
AAAEFAAAAGWNsQrCQBBE+3zFVqKgHhYWHliZCGKhJGIKsbgkqxzmbo/NRvHvNRBQsZzhzbwkTXep
ho2/m9pWsCIv6GVyeAYcg+3bYNg4FGR45xankTpS3TpsVGzEqCTPVI7F1orKqOUSu7QiRhVqIxdi
pzzKg/im9oYbrHpLJ5mWIQxni/kINBRENfRTrUOHfpHDknwjkB/WWmfC1l9hMIYUS7R35I6AwQhO
P8Xycxe3zj3/9OfoBVBLAwQUAAIACAAKWTZLvbFoc7EAAAABAQAAQAAcAGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvcG9zdC1ibG9iLWNvbnRlbnQtdHlwZS1zeW5jLXN0ZGVyci50eHRVVAkAA5RR
xVmUUcVZdXgLAAEE9QEAAAQUAAAAZY2xCsJAEET7fMVWoqAeFhYeWJkIYqEkYgqxuCSrHOZuj81G
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
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvVVQJAAPHUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAABsWTZLAAAAAAAAAAAAAAAAKgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL1VUCQADS1LFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAEVk2S0Zo
G9uZAAAAxQAAAEgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGJjdXJzb3JfaXRlcmF0aW5nLXN0ZGVyci50eHRVVAkAA6JRxVmiUcVZdXgLAAEE9QEAAAQUAAAA
XY6xCsIwFEX3fsUb28UgikI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJ
DwZBg6E+eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlz
jJfqXC7BjQkh322PBUjoiDysASlnRC2KlH+OlOvBPLmBD/s3F9kXUEsDBBQAAgAIACBZNksd0Y8m
owAAAE8CAABGABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
ZmFjdG9yeV9vcGVuMTEtc3RkZXJyLnR4dFVUCQADu1HFWbtRxVl1eAsAAQT1AQAABBQAAADtj7EK
wjAURfd+xRvbxSCKQjZtO4iK2IIdJU3eEEj7QvpS/Hxr6eQXODheOOdyb1lVt0rCgRk7z8AEyoyq
1wgKNHXeIaMBHcNAIREPcrHDQRSKlSibWjTYni2LmmLQ+Ek5BRRXMtFNmO0NvtCYVgwYRgyivl8s
46k45nPhSnufbtb7DCS0RA6WAiknpJ4VKb8cKZeBabQ977ZPzpLyf+JHTrwBUEsDBBQAAgAIACNZ
NktGaBvbmQAAAMUAAABDABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiaW5kZXhfY291bnQtc3RkZXJyLnR4dFVUCQADwVHFWcFRxVl1eAsAAQT1AQAABBQAAABd
jrEKwjAURfd+xRvbxSCKQjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kP
BkGDoT54ZLRgUhwpZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOM
l+pcLsGNCSHfbY8FSOiIPKwBKWdELYqUf46U68E8uYEP+zcX2RdQSwMEFAACAAgAIlk2S0ZoG9uZ
AAAAxQAAAEQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJp
bmRleF9jb3VudDItc3RkZXJyLnR4dFVUCQADwFHFWcBRxVl1eAsAAQT1AQAABBQAAABdjrEKwjAU
Rfd+xRvbxSCKQjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54
ZLRgUhwpZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGN
CSHfbY8FSOiIPKwBKWdELYqUf46U68E8uYEP+zcX2RdQSwMEFAACAAgAI1k2S0ZoG9uZAAAAxQAA
AEQAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9j
b3VudDMtc3RkZXJyLnR4dFVUCQADwVHFWcFRxVl1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvb
xSCKQjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54ZLRgUhwp
ZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGNCSHfbY8F
SOiIPKwBKWdELYqUf46U68E8uYEP+zcX2RdQSwMEFAACAAgAMFk2S0ZoG9uZAAAAxQAAAEkAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9j
b3VudC1zdGRlcnIudHh0VVQJAAPcUcVZ3FHFWXV4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vF
IIpCNm07iIrYgB0lTd4QSPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8GQYOhPnhktGBSHClm
4kU+9TiKSrMWdatEi93VsVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5c4yX6lwuwY0JId9tjwVI
6Ig8rAEpZ0QtipR/jpTrwTy5gQ/7NxfZF1BLAwQUAAIACAAwWTZLRmgb25kAAADFAAAASgAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2Nv
dW50Mi1zdGRlcnIudHh0VVQJAAPbUcVZ21HFWXV4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vF
IIpCNm07iIrYgB0lTd4QSPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8GQYOhPnhktGBSHClm
4kU+9TiKSrMWdatEi93VsVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5c4yX6lwuwY0JId9tjwVI
6Ig8rAEpZ0QtipR/jpTrwTy5gQ/7NxfZF1BLAwQUAAIACAAwWTZLMD2FN58AAACKAQAASgAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2Nv
dW50My1zdGRlcnIudHh0VVQJAAPcUcVZ3FHFWXV4CwABBPUBAAAEFAAAAN2PsQrCMBRF937FG9vF
IIpCNrUdREVswI6SJm8IpH0hfSl+vrV08hMcL5x7uLeq63st4cCMXWBgAm1H3RsEDYa64JHRgklx
oJiJJ/nU4SBKzVpUjRINthfHQlGKBr/pRBHFjWzyE+Z6i2+0thUDxhGjUI+rYzyXx9MsXJkQ8s16
X4CElsjDIpByQtRckfKnI+UyME+u5932xUVW/cOJD1BLAwQUAAIACAAzWTZLRmgb25kAAADFAAAA
SwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0
b3JlX2RlbGV0ZTUtc3RkZXJyLnR4dFVUCQAD4lHFWeJRxVl1eAsAAQT1AQAABBQAAABdjrEKwjAU
Rfd+xRvbxSCKQjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54
ZLRgUhwpZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGN
CSHfbY8FSOiIPKwBKWdELYqUf46U68E8uYEP+zcX2RdQSwMEFAACAAgAOlk2S0ZoG9uZAAAAxQAA
AE4AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJ0cmFuc2Fj
dGlvbi1vbmNvbXBsZXRlLXN0ZGVyci50eHRVVAkAA+9RxVnvUcVZdXgLAAEE9QEAAAQUAAAAXY6x
CsIwFEX3fsUb28UgikI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJDwZB
g6E+eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlzjJfq
XC7BjQkh322PBUjoiDysASlnRC2KlH+OlOvBPLmBD/s3F9kXUEsDBBQAAgAIAGZZNku4+sihqQAA
ACgGAABLABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvcmVxdWVz
dC1ldmVudC1vcmRlcmluZy1zdGRlcnIudHh0VVQJAANAUsVZQFLFWXV4CwABBPUBAAAEFAAAAO3P
MQvCMBAF4L2/4sZ2MYiikE1tB1ERG7CjpMkNhbYX0kvx51tLJ3e3jAfvPe4ryvJeSjgwY+cYmEDb
UfcGQYOhzrXIaMEEP5BPxJPa0OEgcs1aFJUSFdaXhoWi4A1+rxN5FDeyoZ1iTW/xjdbWYkA/ohfq
cW0Yz/nxNA+ujHPpZr3PQEJN1MIyIOUUUXNFyp+OlMuDaWh63m1fnCVFRERERERERPwL8QFQSwME
FAACAAgAaVk2SzA9hTefAAAAigEAAFgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi90cmFuc2FjdGlvbi1jcmVhdGVfaW5fdmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0
VVQJAANFUsVZRVLFWXV4CwABBPUBAAAEFAAAAN2PsQrCMBRF937FG9vFIIpCNrUdREVswI6SJm8I
pH0hfSl+vrV08hMcL5x7uLeq63st4cCMXWBgAm1H3RsEDYa64JHRgklxoJiJJ/nU4SBKzVpUjRIN
thfHQlGKBr/pRBHFjWzyE+Z6i2+0thUDxhGjUI+rYzyXx9MsXJkQ8s16X4CElsjDIpByQtRckfKn
I+UyME+u5932xUVW/cOJD1BLAwQUAAIACABsWTZLRmgb25kAAADFAAAARgAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLXN0ZGVyci50
eHRVVAkAA0tSxVlLUsVZdXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb28UgikI2bTuIitiAHSVN
3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+eGS0YFIcKWbiRT71OIpKsxZ1q0SL
3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7BjQkh322PBUjoiDysASlnRC2KlH+O
lOvBPLmBD/s3F9kXUEsDBAoAAAAAAA5ZNksAAAAAAAAAAAAAAAAtABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQJAAOcUcVZLVTFWXV4CwABBPUBAAAEFAAA
AFBLAwQKAAAAAAA8WTZLAAAAAAAAAAAAAAAAOQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUCQAD9FHFWS1UxVl1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgADlk2S480GnBEAAAAoAkAAFwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXIt
c3RkZXJyLnR4dFVUCQADnFHFWZxRxVl1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElV
SFTITq1UKEjMLNJRKC5JLCktVtA1MTYw4XIeVTuqdlTtqNpRtaNqR9WOqh1VS3O1AFBLAwQUAAIA
CAAUWTZLVALJsjYAAADAAgAAZQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
Q3J5cHRvQVBJL2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQVNTQS1QS0NTMS12MV81Lndvcmtlci1z
dGRlcnIudHh0VVQJAAOnUcVZp1HFWXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVI
VMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2kKkFAFBLAwQUAAIACAAyWTZL4YKG6EkAAABg
DAAAVwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVy
YXRlS2V5L3Rlc3RfZmFpbHVyZXMuaHR0cHMtc3RkZXJyLnR4dFVUCQAD4FHFWeBRxVl1eAsAAQT1
AQAABBQAAADtysEJgDAQRcG7VfwCFATTQSpZcBFREkk2B7u3Ayt4c55cx72r1NDhxZuFy3T5q8fO
NquHxeha0ramKXO5XC6Xy+VyuVzuz/0AUEsDBBQAAgAIADpZNkuPNBpwRAAAAKAJAABgABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVz
dF9mYWlsdXJlc19SU0EtT0FFUC5odHRwcy1zdGRlcnIudHh0VVQJAAPvUcVZ71HFWXV4CwABBPUB
AAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2
VO2o2lG1o2pH1Y6qHVVLc7UAUEsDBBQAAgAIADxZNktUAsmyNgAAAMACAABpABwAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWls
dXJlc19SU0FTU0EtUEtDUzEtdjFfNS5odHRwcy1zdGRlcnIudHh0VVQJAAP0UcVZ9FHFWXV4CwAB
BPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5V
O6p2kKkFAFBLAwQKAAAAAAAmWTZLAAAAAAAAAAAAAAAAJAAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL1VUCQADx1HFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAKFk2
SwAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9VVAkAA8xRxVktVMVZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIACZZNktqqpKkXQIAANAbAABL
ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3Jl
YXRlRWxlbWVudC1hY3R1YWwudHh0VVQJAAPHUcVZx1HFWXV4CwABBPUBAAAEFAAAAK2ZsW7bMBCG
dz8FkakZbITrQRCQoUEKpE2BdOBQwHBj2QlgU4UtFV24BX2YLq3foQ9S9EkaN6hEBVF0H2OP9n/U
5/+O5JEavT+9ujLXm2JWFa9Xxbrw1avaz4vFrS/mx+bWm/MPby/MvLyu97+Z0aDeQfnw+L5erZQo
jdTplcOjHi3K8khJ0GodkGrGtQTCAgqLMMrSEi8sMMMCjN8/vukxGrEjWt0fRCCR3DG1YnRRc4gW
QcDTySQRMEuETRMh00TANBE4TYSUhYCiEOSGIDuE+CEoLywxKDMsNXu5MBRBLMLq5AQVyslTKGen
by6eE3fHfldWpvBlvbwxs83y33fb3udNEd2U0E1fTgdXX+lZfvsI+9ZfxMg3CenfKPpIn9ksCOz9
GAK7nU6ICrYbkQj7db1SUzbaYbxWms7lt4Tsv1rF1ojT6Uh6Y7mK7xBpFUgoDPEgpee3lDKOUKb6
IKT7xeHTbANT3oZo0x5FJMJuvyzVlI12GK+VJnKtZ9WNGqwVD5NF2kS0s8tLNVmjHQZrpcmWbf7c
fQemtXKNbZE6EfDXT/+5rtSAsXwYsKNOBdwxwB0C3L0cUI2mbZ31TbMlS68FR02LjpoWbQGWnHkt
PPSWhrRsBtxQGYBx39cRR2K5Y2rF6IGgBAASWGoC6aYDOPUGeB8RSFMfwH1E0GN8rBf7D7DkUYTD
AZr/+xBDEtWNcDhAl4WHIJK3OMLhAMUzMmJTBhzKqDk58SUHluTMjRzZkRM/AMkiI+WbgcrNSF7G
pDzGoDzGqDwmBGMCMCYIg1z7gBcDvW8FzOgvUEsDBBQAAgAIACZZNks9gJY/5QEAABQQAABJABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRl
RWxlbWVudC1kaWZmLnR4dFVUCQADx1HFWcdRxVl1eAsAAQT1AQAABBQAAADF001Kw0AYxvG9pxhc
KXEcoXaTVRUVxY8KFeuuTJOxFpJMyUy07sXDuNHewYOIJzFWzUdx4vNCwYUU5f9M8yMj55yJSx1l
sTJiT1op9vs90VfD47H9/tjNxlEo9tQwG4lI3uvMcquM5akyWWSNGMcTnVoVirtWIO7UkE8iaa91
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
9YIwuabZGIZgZVnri8GRwTX+YJhixeUBvRscGVbH9GXXXg9ehbBwidnDN4Qjg2uqjWGLXmer/HIr
AY/Um1wjE6YseJmtJpDgGrEwFeGrbDWBBde8ChMJTsOcemWFyZV8mqrYRMw5JF1hah1LxZzOCQtT
a0cy5vRRWZhc0ypMXfjiTY1EEa7c1DREL+DUCBZcKatpNrBSZBNocN1MNy3hw7x1KwyuxMO0RQ/1
HpTGsOTODfd2T2VYcluGfHupMyyuZNVSxA/7OmMc1sigFldmaiHhQ7/77O4WhardG/59cgM0z6Fq
a4aAt8DrBYly3Xi3hM77X4Zk6q0dB6zFflNvPLO4slhL5MMB7cCFK6G1xC73/zLIPOOtDNnHOHDv
Yd8snvunR/8HUEsDBAoAAAAAAClZNksAAAAAAAAAAAAAAAAmABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9VVAkAA81RxVktVMVZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
ACJZNksAAAAAAAAAAAAAAAAqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvVVQJAAPAUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAArWTZLAAAAAAAAAAAA
AAAALwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvVVQJ
AAPRUcVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAiWTZLYSj+aAcCAAC9DAAASQAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1vcmlnaW4u
YW55LXN0ZGVyci50eHRVVAkAA8BRxVnAUcVZdXgLAAEE9QEAAAQUAAAA7ZZba9tAEEbf+yv0Er+N
tfeLwRThOmmhrQNOnsNeZm1TxTKWSpt/35VD07oE4tSUtjhIT5KYszp8zMxk9nE+ez8tPkzn8+pi
Oipm29VitS6WXbcZlWXdBFcvm7YbGUNIsWqLddMVrq6bLxgLf1dUIWDbwqRZd9umhqp/A/c1hq8m
vxY/xy4si+ryXRHcuq9UNy5+Z1GmhyRfdMcqU/9t6Tarcott83mbOeVmi6leLZbdcHP3ums+4Xrs
PUahWADPCQGhvQMbuAQmnZVOCM+UGty6rzdugWMyaHZHG/fIM16dsfN8P4Dzkx492P3fzS12yya2
44vp1fDPavl7zvdY9FDnhhpNqWVgqYmQFXOwVnFIInoujeSGsyecP4DvndMTcr6X84OdB2oot8IB
5zHn3AQJXlENjkQdTCSUhWfm/GSct3vSrRD84OZiuBQqUnA2OhAsS7cycaBSYWA8KubE49LbR633
7FOy/gP2LOsKfbCKQEIhQQgawUtpwDEjGTEiSkxPWf+5v5yS9d+eo9or6xVLkKwwIAKJOfQyAEXn
jUhSJq+Pm6OXs/mL9H3puYHoZCUCNc6DUDqCJVTkDcYnlI6jUOY46W+n1Zvhf+eFmei8tzQPO9d3
AKPAGi2AKiV1YNFFZEeG8foli/vOldYpYkQIVqo866KHvFYkiDQhCh+Q47+2SH8DUEsDBBQAAgAI
ACZZNkvU9+1z3AIAAJgSAABTABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1zdGF0dXMuYW55LXN0ZGVyci50eHRVVAkAA8hRxVnI
UcVZdXgLAAEE9QEAAAQUAAAAzZfLamQ3EIb3eYqz8q7cupRUVQYThsETAklmwA9gSrexSY+78WmT
ydunepFZBwRBnM25Cn2nVL/+/+PnPx4///aw/f7w+Pjhl4e77VO/1Oftw5dft6qvr6fLdjxp254v
l/Pd4eAD3To7/B2zc4dxffeg55fDW99P72+174fzWx/Hl6/Pl9vz3z9fTn/213ssNJA7wkgtAXIj
4EADokTsoQ2KRW++6fcn/drv3Y0ej6e/np67tv6233+HcbKB4ce4Nz/OnvaLXt73++jc7fbl37ub
zeV8et379rJvV4D9vdrE9vF+/Onj/0BbCqmgD5CjImDlBPb1sDP14/oEu5uj9QvRetXMkgOQE6st
sgBf4bkGkpFdzURztGEhWnReOLsMmqQAknSQ4gL03JIXV6NQnaONK9GypJZTA+5RALUrSFLr2052
0b1j4TlaXIg2OR1OEUFDVMCGDKVxgSZFSsw1eElztGkhWnUloU8MTryplMtWZdIELXPT6mqw0s/R
5oVoGYNQowg8yFlteVgHlwi+9caBS/I9zNHSQrS22xJSJ+tWttr24EGqLedQh8cinNjJHC0vRCuh
UPJ5WKOaEmOJw/SqZiAJgrVhLHFqv8Wl3IVTUyM3KnjxbLUlU6lilxQUB3W06pY52pXcBSUX0mAC
j9HcRXINiprPaH1gkqbBzNQc7UruwvmAI5B1a8wdMNcIJWsGz2jDJCaHY452JXcxnNTSDLRmNE32
w0ERq23ppM0e1N7qHO1K7qIIDYfmLjyHaF6qmM8obLV1zYyy/QhRmqNdyV1QHs5C3wDf/TUVuASa
Q4E4tPQWc/F9KvGlpVQqNe8xDA8+iq3k6k2lmsVd24ZMpaRkDDhHu5RK1VgqVQdmIc0nezS9yiFD
SJwjW+YVpDnalVTKmAoHJ9BqsQyfxDKQDoXisdU0LNC3yZW8VAaiSOS5mjY1S3w5J6OVq33sVNBr
zi3O0f5XlfoHUEsDBBQAAgAIACdZNktsUyILmQEAAN4FAABMABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC5hbnktc3RkZXJyLnR4
dFVUCQADylHFWcpRxVl1eAsAAQT1AQAABBQAAADN1Etr3DAQAOB7f4VOvc1aL+uxEIrZuk0hL7pb
eix6jOKlru3aCs3++2qTU2EhOZSw0m00QvoYaTa3N9vbq5Zct9tt87ldk0+YQ0eauy8kuGEYM+lH
F0mX87SuKsb1ipbJ1sZQWqVjbuWmfTXjMj7MAZdqmjH1+/sur6bDhzz+xOFCC2+VjAa0lw4ktzUY
zR0Y6o1UyTrP/ftf7vGHu8cLuiLXmLsxko/tVbtryX4hx2u4vh//YCT+QJpQDlpgMw55Hntojivw
vGlZvdu8gajWQqRaWaA8IkhBPXhVbEk5HzRiiKY+Ibr7tjtLjkqUCR09hCBqkMFKcLxG4DVHmrgJ
VuMpTrPbXJ4liFthvDYcBGUMJDIFRmkBWsXgo6HOoToBumm/nyUnoWPSUgqeifKBfIG5iAhRGypM
QJvcP/X5ir8fcMmkw5I2k7THPpJHyCUGzzH2WuflU/obOQM6J5HXwJO2pWzUgmVoQZWRnDVUKfmi
83h/HDLsDhOepVKVD6VkeZelHaqi1AYs1wl4oKWWiktam//UPP4CUEsDBBQAAgAIACtZNksKDXM3
ywIAAL8TAABVABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cy9jb3JzLXJlZGlyZWN0LXByZWZsaWdodC5hbnktc3RkZXJyLnR4dFVUCQAD0VHFWdFRxVl1eAsA
AQT1AQAABBQAAADtl9uKG0cQhu/zFHNj3ZXUh+rp7gURxLJOAkkcsg9gqqurLRFFs9HMYvvtU+Ng
r2GFCEQXSVbMUD30HCi++f+urts3P9+/+fGu++nu/n7z3d1N91om3nabX37omA6HYer2A9VuO00P
N6uVdXFp9LA3KRmzavOzK3rYrY4yDo9HlnH1cJS2373bTsuHj9/+Th/e0jtZm8U0/CaHtTW+JhsC
GHIFsO8RMpoKUlwipMJF3OIodXcUnt6OE02P49obu9gPTNNuOKznRF75zSv3Ws8v6ejMnJBOfUpJ
R01KIw/HUYflUsOXFPX66yQXPDweprVddr/KH48yTt1WqMqxazvZ1+4DvPfc7cZuZkH7/fBealc+
dhvWT41wOxym47CHzXwHvv/05rj85vbSWD9Dman+xVKEKEmzwKHvAb2GHE0DF9EU8shMYfH0A/4+
1Xl2vx3G6Z9Q/a/RnJEVRgvkVJ7oooHUmgeFWK1iRvTuEjTt/5DmWct75uCjRPCtKtgaHBRDDNab
lERyFmkncLqr5Z+LNBgU522GVJgAIybIuRpQvrV5Msmmclak7mr5J5pNBZmS7aFiSIAqSCih9+Bq
zyFQsUGVeQGaL87yjbE46zO0agyg4QyERkAx5+qFdHXlEzj91fLPRep9qU4KArHLgKj6LLFGiKly
71MoEu1Zkfqr5Z9oohZy6Zm1ymtAK3plSgEWn0tvQzEsl6D54izvdCHNfS7g0SMgF4ZsgtKlpq7v
k88+n8AZr5Z/LtKMpWIpWtbnkoTJoFq+FzCcKDQiZjRnRRqvlv+qTXImsdZ18JS1BHG2kEsQSKh9
KAtZK+ESNF+c5bE3zKVUoFab9p9WN/YpJeBImSl6T+mU5dPV8ic29kmiD043oOpwQArafZrSg3PF
sRct9bmeFWm6Wv6JZowRWTiB1KQtZ44NUnQWYg45YQlNIl6C5r/A8n8CUEsDBAoAAAAAAClZNksA
AAAAAAAAAAAAAAAuABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3Nu
aWZmL1VUCQADzVHFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAKVk2S80PIN+bAAAAxgAA
AEgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvcGFyc2lu
Zy1ub3NuaWZmLXN0ZGVyci50eHRVVAkAA81RxVnNUcVZdXgLAAEE9QEAAAQUAAAANY2xCsIwFAB3
v+Jtmdp0LNmkBhGsHergGtNXEwhJyHu1+PcWsetx3HXDbRyuGno9jsezVnDyE8TEEJKZgGzxmcEw
CMeclZQhWRNcIlZt2zRyRrZOxkTRz7MsSGkpFmkn1ZIzFmsIa0OeBDzRmoVwO8Q93l96DfzJSGAK
/t4mhLTiBKvDCOJRdSkyRq7um6Xg3xbgCV7+jbE+fAFQSwMEFAACAAgAKVk2Swn2SwmzAAAA7AIA
AD8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvc2NyaXB0
LXN0ZGVyci50eHRVVAkAA81RxVnNUcVZdXgLAAEE9QEAAAQUAAAA1ZK9DoJAEIR7n2IbQwVHrAyJ
MQbRmIgUWNiex+KdudwRdlV8e/HvESjoJ/N9mUxaHMpin0GeleVqmyWwNhU4z2C9rIBUaxoGyRBo
5iYRwnolrfbEyXwex6JGVlo4T87UtWiR/K1VSOJKUfNc8rPBRTedbboAzqjkjbDvdv/afJdn8M4Q
yBY/VGmtf2AFD40OglOYesfoODz2qQR+nAAMwcXc0UWTdED/UUp/Rx+x+nBfeQFQSwMEFAACAAgA
KVk2SyZwFUW0AAAA+AIAAEMAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L25vc25pZmYvc3R5bGVzaGVldC1zdGRlcnIudHh0VVQJAAPNUcVZzVHFWXV4CwABBPUBAAAEFAAA
ANWRvarCQBSE+/sU01xS6QYrCchFYhTBaLEWt13XEzewnA05x5+8vT/4Chb2wzcfM+Vua3ebCnVl
7XxVFVi0R3BSdK4XgugQSQKRwimyoNoVxsTkXQxJtJhO89w0pD4YTsJt05ieJJ17T2K8yLgbMhzI
u/MDxolRWot6XVfQoSOB6+nV5mJMVzriGoiR/Y/KxEqso/0jVeCNztAKTu2FePxTftz772k4u323
/peP/ztZfuiAO1BLAwQKAAAAAABlWTZLAAAAAAAAAAAAAAAACgAcAGluc3BlY3Rvci9VVAkAAz5S
xVktVMVZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGVZNksAAAAAAAAAAAAAAAASABwAaW5zcGVj
dG9yL3J1bnRpbWUvVVQJAAM+UsVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABlWTZLgBgN
pqcAAADSAAAAMwAcAGluc3BlY3Rvci9ydW50aW1lL0NvbW1hbmRMaW5lQVBJLWluc3BlY3Qtc3Rk
ZXJyLnR4dFVUCQADPlLFWT5SxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhP
IoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOA
IizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNn
amQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQKAAAAAAAxWjZLAAAAAAAAAAAAAAAA
AwAcAGpzL1VUCQADvVPFWS1UxVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAArFk2SwAAAAAAAAAA
AAAAAAcAHABqcy9kb20vVVQJAAPDUsVZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAByWTZL
gBgNpqcAAADSAAAANQAcAGpzL2RvbS9jYWxsYmFjay1mdW5jdGlvbi13aXRoLWhhbmRsZS1ldmVu
dC1zdGRlcnIudHh0VVQJAANXUsVZV1LFWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGK
lyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFY
A3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD
/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQAAgAIAKxZNkuAGA2mpwAA
ANIAAAAwABwAanMvZG9tL2V4Y2VwdGlvbnMtdGhyb3duLWluLWNhbGxiYWNrcy1zdGRlcnIudHh0
VVQJAAPDUsVZw1LFWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRb
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
SwAAAAAAAAAAAAAAAAgAHAByZXRyaWVzL1VUCQAD/lPFWS1UxVl1eAsAAQT1AQAABBQAAABQSwME
CgAAAAAAU1o2SwAAAAAAAAAAAAAAABEAHAByZXRyaWVzL2ltcG9ydGVkL1VUCQAD/lPFWS1UxVl1
eAsAAQT1AQAABBQAAABQSwMECgAAAAAAU1o2SwAAAAAAAAAAAAAAABUAHAByZXRyaWVzL2ltcG9y
dGVkL3czYy9VVAkAA/5TxVktVMVZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFNaNksAAAAAAAAA
AAAAAAAoABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUCQAD/lPF
WS1UxVl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAU1o2SwAAAAAAAAAAAAAAACwAHAByZXRyaWVz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL1VUCQAD/lPFWS1UxVl1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAAVFo2SwAAAAAAAAAAAAAAADIAHAByZXRyaWVzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL1VUCQADAFTFWS1UxVl1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgAU1o2S5oVASNvAgAAEB0AAFMAHAByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtYWN0dWFsLnR4
dFVUCQAD/lPFWf5TxVl1eAsAAQT1AQAABBQAAACtmc9u00AQh+95ilVPcEjUvY4sSz1QFalQpHLY
A1IUGietlKxRYiMuviEehgvkHXgQxJPQUOE/KGbn8zrH5Dfjb38za2fHkzcXt7fmbpctiuzFJttm
vnhW+mW2evDZ8rl58Obq7atrs8zvyuNvZhLUOygP5/flZqNEqaVOrwxnPVvl+ZmSoNE6INXktQTC
AgqLMPLcEi8sMMMCjJ/fvugxarEjWt0CEUhL7phakV3UHKJFEHB1skkE7BJh20TINhGwTQRuEyFt
IaApBLkhyA4hfgiqCysMqgwrzVEuDEUQi7A+OUeNcn4K5fLi5fX/xN3cr/PCZD4v1/dmsVv/+W7f
m2J+iu5khj7iOSGexxP33JERc89tOnjJGO7+hwlC73/IaC4csYDHHH0PAbKAThrVAroRAxfwabuJ
Iq/jw8iNdDir38fS/s2g4q3Fw4ljW6OdQsU8RkvICNTCsEdpZb8fg7ydRdkmo9Afb0rvF7sR2qVJ
o22ZVsTABew/rqPI6/gwciMdyLpdFPdRsE2CMG1LOxD38uYmiraOD8M20sHW7n59/hppbpNCY29L
PRD6x3f/oSyioNspwtAd9VDoQzz0AUEfGPSpK6r/9GuPHvpDhyVHdQuO6hYd1S0aGVgyM7BwaJAb
MuAzYMJnAMbj/1jiSFvumFqRvSIoFQCpWGkqMjaowNSggvOcihzTKzDPqfQY78rV8QMs+SfC4QDN
ep9iSKG6EQ4H6KrwFETq1o5wOEBxjYTYlACHEmpOSnxJgSUpcyNFdqTED0CySkj7JqBzE1KXKWmP
KWiPKWqPGcGYAYwZwiDvVsCLld63KmbyG1BLAwQUAAIACABTWjZL+KRumjcCAABoFAAAUQAcAHJl
dHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQt
Y3JlYXRlRWxlbWVudC1kaWZmLnR4dFVUCQAD/lPFWf5TxVl1eAsAAQT1AQAABBQAAADNmE1u1EAQ
hfc5RSsrkGkaKWTj1QQlEYhAkAaR3kU9dmdiyXaPuttk2CMOwwbmDhwEcRKcSZifyOWpB16wsCxb
Ve/V+9TlhaWUQn1wZVPZoI5NNOrkYqwu7OR1Ee9vL5qizNWxnTRTVZpProky2hClt6EpY1DeRl+0
3UU1cz7aXN0cZOrGTuSsNPHK+WpZHlTuKlW7/NbHZa1fHWXmrYn2pLTLJzuf2awVeBrncS9Jkv9m
MJPFxpTLsUYjIZ8fPDk8FMndbTTaE++OxmOx1fJo/ypNnUv3H4uiFvrl+zdnIr8XF0RDW/7srh4s
11vVclf1A3Wy/rJzmOT06NUZX/6ti8LWrpleC+Ony3eB1ui07JQQO6bWUEY2k5/fvmBULgegQphi
XFYiGkzKZtNeMB7KBQNEO2OMNnU0HppLqm247cNI9RhBsHrMIVhbOhrPzYI1r0qIUp8DnxLhysez
EtBARC6QOvCRUOIQi25DiMYfCQ0l5BKBdonWh6D88wptamgsJpdLioIZZHXSIdCkIBv8u1IHGM8w
nxbaGFwplNFWB3+10onx4HoNA6rHG12ztY7GY7NYhY9TdNVIBz4lwpWPZyWggYgsIJWJ13wilDYf
BeXHZ7FW0Eg8Fo3T83M+DFKbT4Pw48NYCWggHPNg+F+fv/JpUOrI0aAckcOx1tBYSBaVH9/rWROR
M0Ia8MHQpnwwmxoay8kDs8DA9BgAYBYDgFlgYBY0mJ0z6r8dkv+/qStIX+EDzd9QSwMEFAACAAgA
U1o2Sx/C0pQbAgAAfBoAAFUAHAByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhwZWN0ZWQudHh0VVQJAAP+U8VZ
/lPFWXV4CwABBPUBAAAEFAAAAJWYsUoDURBF+3zFw0qLhLx2WBYsFAtFQYsphBDNRoVkV5Ks2LxO
/BgbzT/4IeKXaAhuVkFyT9rcmXf2zrxhdjtn++fn4XpWDBfFwaSYFuVity5HxfiuLEZ74a4MRxcn
x2FUXder/0Jnq96hfHv+sp5MRJRG6rpye9adcVXtiAQbrQOpkjcSiAgoIsKoqki8iMCMCDA+Xp91
jEbsRKs9IAJpyZ2phewmc5iKYOB0ckkM3BJj18TINTFwTQxeEyNtYaApDLlhyA4jfhiqCysMqgwr
zUpuDMUQi7E+6aNG6ZNO6TOSASIZEJIBI4FT1dhYNTrkjQ96w8Pe6MBf6w1uJ79CnEcIpzxOJzJR
o3Ug1fKWc0Lxo3Yk1nKTErXlztRadoM0xnBwq5RzStSOcBwg18CuhjNYtk2I8wjhlPnDjUzUaB1I
hbzT4eJWhtiInWiFzIenpzJFo3UglZ5u9vn0AszYyJ2phezvb+V9vZBh2nJnaiX7ksEsEcySwcgY
KoB+dCSjLYKpFtFAi2jERjJeI3xBqwJZVwJYVALA+N5piCNtuTO1kD0RlARAEitNIptkAjtkgu/O
iSy0CayySce4rMerH7DkT4TjAOV51zGkUL8jHAdoVVgHkbq1IxwHCGdkxKYMOJRRc3LiSw4syZkb
ObIjJ34AknFG2jcDnZuRunRJe3RBe3RRe/QIRg9g9BAG+bwBvmv8+0EjdL4AUEsDBBQAAgAIAFNa
NkuXzEq2EQsAAFl2AABZABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
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
vmFYaKjFbtpY4JcG4d8VRH9F0PJhrmJjTZYzUhwMtRVMxRXUbgu2ugRdXYKuLjFUl5iqS2zVJcA0
Qb+MhP4OkuG1jkJDLXYzxprfp8a9PQ17V9r2DkXR0UbrGcMBx9aR7zUA32JAnszHnsOHnrq3nyHX
EABeZCx5z87OKme/Vrr9z9WJn9Xw5Mlv1fm61/yxbRjd2XslHv/tbVeLNxClNm/Bt+yCd90F38Iz
fiIXh/f2X8kXemPKDTSm3EBjim9jindjintjCrfwPL4t62lTadL2ej2M7uy9Ho/6gJaPKWZcelu+
a13LzSfehN6CuMskBJ3EXyjkS+p+5tjxmUrb+N422ggnFo2VAfrDGm7WyNGtNzcBr5gxwFpCjXFj
W2/tl1qtVp1NFPNHj2D57BYIURQ14bqrBDTFjKtwmoJ/tQVGuQVKYwb/zgyM1gzeWgmvN4XZm8Ls
TfHvTWH0plB6U0j15ryRhDNW1NZs88W13DQWCFEoTJi+Uo8A+/msIPsvWZVGOLEorAhFMiFpJhzR
/t9IcWo85HaaBa8rWvu/d+5piBeT5grr81wAZYcW0bKhy8WHsueKjjZazxgO3CRAEB28zNIt2NIW
rHkLtsRpj24UHm61nzFe4IUnDoUnDoUntsITa+GJufAEmzjoHSOAmYFUHh0oOtpoPXu4+RJuQiH9
ymbZrsWWR+vFEdkEwN2PEYb1bVXuobGCnl1bgStrQ/vsWQnB+LJMmRBA1wALCejVEmoqCSpEIwvq
2RJs1DlKjk86yREqVgQQ72Ou13RnwoI+5Z+bBfUs39vIri9WO79JDXwjT5luS3INqQQmDpomZFLy
nXqytSkK7uu78jwY98A4+7A46THfxfXVcadTY8A/hqKbqKSHybQHydi9AuUkVXCwzXbGjQF2awe9
rbOOt9s9S/rlVjxILuJLLsjR2cnwS3c0jOLo4t/vyfHzFb/tdDvlgvjUIcu/f9vrFfF+1c9X/Dav
9+uGLP9+VnPzGfvyf85X79f+JjntDf+JBsP+Sefz4l9Gt/4DUEsDBBQAAgAIAFRaNkvj8paPFwQA
AK87AABTABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAkAAwBUxVkAVMVZdXgLAAEE9QEA
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
P2+d/9oanX5sz3m2w4MHv7Uv573mC4Nh6M7slfD4O4ZdLf4EL7VxC75pF7zzLvgmnvG6UBy8N38l
vtALU35CYcpPKEzxLUzxLkxxL0zhJp7HfZ2eNpUmbcfQYejO7PXwqEuSfEwx/dLb8p3rAo7HA03o
LYi7TELQSfyFQh4u9zPH9s+U2sYz2WgjHF80Viboyy7crJG9u9rcHLimxwBrCTXG9e1qa790Op32
sqO4/PQIls9ugeBFqgnXVSWgKaZfyWEK/tkWGOkWKIUZ/CszMEozeGslvNoUZm0KszbFvzaFUZtC
qU0h5ZvzQhLOWKqt5eKLa7ppLBC8UJgw3TKOAPbjrED2n7IqjXB8UVgRimRC0kw4ov27kOJUeMjl
NAu8Lmntf7PZ0xDPJ80I6/NdAGWH5tG6oYvJh7LmUlsbrVc0By4SIBAdWFbpFmxhC9a4BVvgtFs3
kptb7Ve0F3jiiUPiiUPiiS3xxJp4Yk48wQYO+sYIwKyAVG4dSG1ttF7d3DyEm6CQvKqxbGOx5dN6
OkQ1AuDtxwiG5VYXe6ivoG/XVsDa3NB+e1aCYLiso8wRQGOABQnIag1qIQnKRSMWlNka2NnwsDg6
HhaHKF8RgHiOUcd0l8KCrumPxoIyizuN7Hqw2vkkNfBEnjLcluAaQgkMHDRMyKDE7XqylSkK3Je7
cj8Yd8M4e7M46TPfanx1XOnUGPD3IXURlfQxmfYhGbtWoOykEhvbbFe8GGCXdtDLOlfhPR+dF6fN
g3xSrPwrVsjZ+fH00+hsmuXZ6u/3RDxe8+xwNGwmwpc2WX/+9Xicwr7u8ZpnY9lf1WT9+WXOXfbY
F/95OXv/4TfFyXj6VzaZnh4PP/73l9m1fwBQSwMEFAACAAgAVFo2S3+LTE+WDwAAVuEAAFsAHABy
ZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50
LWNyZWF0ZUVsZW1lbnROUy1wcmV0dHktZGlmZi5odG1sVVQJAAMAVMVZAFTFWXV4CwABBPUBAAAE
FAAAAOVd7XKbSBb976egktpJ1ZQlQfONE295bKdmajOpVJyamX+ulmhZTJDQALLl7O7ffZ19pX2U
vQ2NDEhYbcc0ICY1lgQN9D19+9xzm6Z5O4vn/unR2xnBLnzMSYylyQyHEYnfvVnF04H1BjZH8b1P
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
iIrYgh0lTd4QSPtC+lL8fGvp5Bc4OF4453JvWVW3SsKBGTvPwATKjKrXCAo0dd4howEdw0AhEQ9y
scNBFIqVKJtaNNieLYuaYtD4STkFFFcy0U2Y7Q2+0JhWDBhGDKK+XyzjqTjmc+FKe59u1vsMJLRE
DpYCKSeknhUpvxwpl4FptD3vtk/OkvJ/4kdOvAFQSwMEFAACAAgA7Fk2S21Nsp2vAAAAAQoAACgA
HABzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC1zdGRlcnIudHh0VVQJAAM8U8VZPFPFWXV4
CwABBPUBAAAEFAAAAO3PwQqCQBAG4LtPMUe9tERRsLdKD1ERKeQx1t05COrIOis9fiaeOvUAcxz4
/5/5sjy/5xoOzNj2DExg3Gg6i2DAUts3yOjABj+Qj9STmtDioFLDRmVloUqsLjWrgoK3+L1O5FHd
yIVmitWdwzc6V6kB/YheFY9rzXhOj6d5cGX7Pt6s9wloqIgaWAa0niLFXNH6p6P18mAc6o532xcn
USYIQQhCEIIQhCAEIYi/ER9QSwMEFAACAAgA8Vk2S9bDpg6kAAAAFAMAAC0AHABzdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LXN0ZGVyci50eHRVVAkAA0VTxVlFU8VZdXgLAAEE9QEA
AAQUAAAA7Y+xCsIwFEX3fsUb28UgikI2bTuIitiCHSVN3hBI+0L6Uvx8a+nk7Oh44d7DPWVV3SoJ
B2bsPAMTKDOqXiMo0NR5h4wGdAwDhUQ8yMUOB1EoVqJsatFge7YsaopB4yflFFBcyUQ31Wxv8IXG
tGLAMGIQ9f1iGU/FMZ+BK+19ulnvM5DQEjlYAFJOlXqeSPm1kXI5mEbb82775Cwp/xJ/id9JvAFQ
SwMEFAACAAgA8Vk2S0ZoG9uZAAAAxQAAAC0AHABzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1wb3B1
bGF0aW9uLXN0ZGVyci50eHRVVAkAA0VTxVlFU8VZdXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb
28UgikI2bTuIitiAHSVN3hBI+0L6Uvx8a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+eGS0YFIc
KWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8qKaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7BjQkh322P
BUjoiDysASlnRC2KlH+OlOvBPLmBD/s3F9kXUEsDBBQAAgAIAPVZNksh4nHn4wUAADEyAABFABwA
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVuLWluLXVwZ3JhZGVuZWVkZWQtcHJpdmF0
ZS1zdGRlcnIudHh0VVQJAANOU8VZTlPFWXV4CwABBPUBAAAEFAAAAO1aS3PiOBC+55SfoCNUTar8
NnAjZlKbww6pSWbvwhaJd0BmbSdMLvvbt2VjI9uSbAgEphaqqALRb/XXLbe4n9zeYT+N4vfRKCAL
kpIJTvEMJwTdoOur+8mtF1FK/DSM6FP0SOI3EssoFb/+oOE/rwRoitXRqLHU66Oe9sudz+e2YRNf
t7Q+cPaWOKR9JBDwgmmwIJNMWTvZ5vt0RWLMnEnArqcXEhOE4a2bA31oGbZloRWhQUifr3YT9RCt
ViRAmKKoWP6CaLRGqUpHm9XeaxwTmpaaFAxAMo/i5YYjj0rJl+1BL5gJOfPtusX+TzDpEVJBFc0g
DCZNem7z/UWUkAajKJr/tmWAqWcZIMvBwpJSBxCCx3Ry+52A3CQdjeL8gxctV4wyEJBEtCrl8dX3
SZKAKTfIz4OJQF/CohgmCLLSNS3btU1TM2yHCSxFBWGywqn/8vWNMUHIeW9mpqb1GXkJN0gUKnOO
/cYDCPWuITaWazmGYei20edDzhPvhTQ7i7OAk5e8NfNQYHO044ON03E0sLGM2kKNj6zhwp7LcMeC
y6Mo49TgpTu67g4ZpwqG0xr7YXZFh+Q6YcRm/lzpd5LiOP0rh6MHRjyTpxjTBOd52WDY5iwUppjg
lMh4M5DdcPA23IFrSPduRp5DyrHfV7dCwBHSt+jnNvZjGnDsT+GSxL3+1Z9kCaUB+HhpTW2KAEUK
BXdhDCXwEGliukNnUKaJvEBP+crUrTxvzeG+gAUe2z7QhoJi7Rqtw/SlLM58ZYYX8kuT0LZuslyz
A00zdcMhQ2Jhjdj9q+4plrcjbiEzs5ZHwi7zY/Uc44B8IyQgQZfuog8NKGpkLVjfo+ts/ctxMJ39
DcHJ684NdBd03W941qA8Tfv6tCZU93+zXgrYgqgSYkvXOsRuSnN/ZSETBrsqsoBJm0Em0SoBbopu
BK1l3+WxFtBKSmbRARoMkqInylMcsA1B08cC/PcTpBumbkG9ti0bPhobcbysinMg4htZc2LLsqti
+forTFj1adrNrYxG6zhMed5HVkuUNReK5IMsMDvuEur5eLGYgRd9dScEnZ4o2yRF3Dt8Zla4RSp4
tFSIy/5WNo0p9RYhlL7DwjdaLsO0WjjX4WLhZevqhvBxva21om5FBe2NH1vyKHdVAfGGz6qnyQLm
QiYZ1BXEUlTmTCV6lTi8C2mYvHQFotCaLkHcCYEiLdUT6NA0BnsfJRV4FmVPA5ECAAitvpbQTOPx
LIpboDIPGdQLKJ/fsbYWFe6gJTjjMWc204PxPCVx5QzpbbK1OB/ufXxLFfsmPopWSEAnni0ADG01
piSsJYrQElA1DgL2SA5f3whK67suScUcl3+wDYKIS5/ruOomNEuJNRFHA2um5liaCGuEwsoraa0G
3VG5s/tihbVyohAlcNbVLHUpVIj7iO8H65O78J5XVTnOpKuq4wRzG22gjDSN0nD+vs3ZZDqv5yjX
+GwNwCgXlhUZXGnwB5q/tBxqxq2KJaWOtYaKv3kP6TruqdgiliWYJ/CANwfWF7QZt0A+SUl2GJoc
E1bHSNCg3kmrnbfH5Z9juEa/WkisxhiF3XNU0la3h4YmbXaNsv2Qg9Vjcqqil/h9RrL1+02Trulh
k0lVUxUmW5ej7/hoyFIfn8GCQnUTUN1CWOtwA9NoGQcLpdzF0TJ/nBR1TWfQaODCULc3awmEGxoN
4aFkB81l6c3x8b2YuBb2ZF4H0xyXQpt4e2zXOcIDSTYlaXkeyWgajxp1TuV98VmXpcvk4n84ubhM
I049jejcdE1Nd53uzT0vq6ecd3xWrWpMRdqCsn+jzvlbW7SqHihF9SrbrRv9Y7dTTeT7vgeqro84
v2HOncX/Aawstz73/wCXu/rf/67+7IbaO46ez+Jk+rEbxl2s7jqTOfqd8eWAfbkavFwNXq4G2+rz
h6/WKp4kabQSXhzyP0j/8lXY7mHqk8Uir2K7UfPNPdPIDT7h7bROYV1rMNhtnupalnZCQ489Lla5
1/nJtdz+/wBQSwMEFAACAAgA9lk2SzfRR6r3BQAA3jUAAD0AHABzdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLW9wZW4taW4tdXBncmFkZW5lZWRlZC1zdGRlcnIudHh0VVQJAANPU8VZT1PFWXV4
CwABBPUBAAAEFAAAAO0byXLiRvTOiU/o20DVuEq7gBuGcYWqVJgET+5Caoxi0SKSbMeXfPt0S0i0
1BsyYOMEV3GQeFu/vd/Ds+ntAibPMBmNgjC4C1GYrn/xUBCF6OFPmKRhjCZrDz3A+8RDqedn+AW4
Ad3ODxT+/QRn09upl3lLL4WTGCGYf68iRfDxR7c017Rs1zZNzdWsTm/jhagPGMIqch0ORoie40c4
38LEIxKNUUDJfx9uYNLrd2b7s8dbiKa3f0BMJ80mHvJhFMGAR5kPmavkE9ELGKN9hyjAmp1EcQob
xhmYhtzcPpfKXRJvJlEIUcYzuDOQy5OTCN4uSYGvlEHsdApSPZqSrhv9Y9yQejsabQsdVlg53F2Y
YG30tH/c1WplGzZcWrrWl4gfS5jmxCS4axJmsHyuBEnxwe/XMIHAwx/dHOhD0x06A7CTmJzkDrOJ
k1dsURjBrKJR+t/eVvdxZXsupORbjsTMq16fVpaPjdXHmMoj58xOohnLsC2r0kw7Ut/j7RZb20Og
suJXgOIXkMl4qKSePCUJ9t6KkwQBg6ziZLPDKLRS4eU26AVLfqrOYW89/xGLtMCuADuL338NMwJF
vx2NHmA2T76lGDHCmb2kMEOrGDMo8wHmJEBnGYH8FX4CqzCC4Ev3C8DCBmH6KC8tU1Zkyv98EvwM
Is+g/6qc0NRzJxSFQSlJxQMDzulsPholu7Qeb7YEMuCAxKhOZfHk+zBNsSg3wC/sCZ6L8gnCtJYP
DdshBCtSWHVbL/PX356rpEflH1PT+rWIJ5VHdLi8KlExDHpdrBvLtRzDMHTbYIuxRNHKYLdzPYuK
I1M2ThXvjnb+eKd4nC3eiUfto53WrOGSmiMIfaLcWjwSTA3/6c7QcocY88hMII3ieYP7aYyqY9/8
QIUv/ZW0yGOdJZmoTVd0Sgn0Mihr8WvdkuEOXENo+iV8CBGFPqub4q2dkcBfmtykzUXhGS1z6l5O
6gGzmRClkQqz90rwEmbrKqPS6RT/gX0TCfbJjljYDjTN1A0HDqHladDudw43bHHaWs9Yfy4VwpSG
H9uHxAvgbxAGMDikJOhDA2ci+MJ5f3m9Z8vCRbX6eSzMl39hUxWp6wYXKNBle3MG8mMq4LvVsWPu
JkrdzVFxXpHKuMqukyyDViWQCbWaglnSjNIUdpdcHFlYQdosqwCDIEh8PD/1AmIQMF+UqWg2Bbph
6hbO2fZw4FqDgbxwfhcJ0VIjoOd7UbTEAveVw6EJz7KC9D05vRfUsHksaM+sAVeZrSoXc1QMBU4b
KvFmE2b1JPUSRtEkfy8vBcfzVcZlU4paZDFfKvyoOKpsDtM8s+z+WYYUF0kUVnLgduJSEcUle4g2
WoUSj0u9dRuaxuCY6ZQoMHluwIQWx5O5UncFMPNkvIwThc+vQhKzZUxeXmfS0ArVnXDaNHKY3a19
vMpgUmsDC6XkrVv3qJ4nk9iN303WQGB5XVMliwqw4ShcSTCrcRCQqzB+fIYga1pd4IqH7S3oNMUV
SxprPAzOUNmxNF6sQYTfPKm3KO1XF//Htc3JCt7nnbWfZ8JU5/EBAw9tINU0irNw9br32XS+avoo
VfhsDQejmFieZHDjd/rBhaI7GSsZC1IdKQ218xY1pOWcZC8Pnx5nLEAHvTmwvoLd1AT7lBCkxezj
nKF1DicNmtW0Xn2p3aDhGK7RrycTi5k/MEtX3R4amrDgSZe3ddIb73UJ8/ezXaFu8CFjPVlh5Trc
Ie3v+GzRJW+hsQQlazaoLnb/LVS1umALQpjhaHAbkxacq/RbxEf5G4PGnnxexCVXJloe23XOcClZ
kMGp4k6SwzDXjSamdOFw0WnpOoa4jiGuY4j3GUMcXGlNTXedwyt6kUs/ctDxXgmKGYf8x38Tdsoa
qvHO/tYu6tC7zSf0uYvYoFu5b71tg97mhnd6wx4x+bzu5K87+Rbz6YtoXY/bJ14b32vje92/Xfdv
3Px29P6KLkfxtj7Lwx9HOVjMfxDSakToWpbGKHHHvSv9uRP7DyutoU/E9GRqO/c8tlT2UbfESk8/
AVBLAwQUAAIACAD2WTZLEsCC9YIEAADeGAAAQQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNp
b24tb3Blbi13aXRoLXZlcnNpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANPU8VZT1PFWXV4CwAB
BPUBAAAEFAAAANVYS4/iOBC+c+In+AjStpQnAW7dYdBy2KG19OzdJEXjneCwTrqZuexvXychwcGP
QMNoZ5CQiKkql6u+r6rixexpBewd2HQak3hOKMm2v2MaJ4S+/gUsIykNt5i+wgvDNMNRzhfQA+r3
vlDyzxssZk8znOM1ziBMKYXy/y5ThT7/2p4VuJ4f+K5rBZbXG+wwoUMkGe4y11NoEPqefoXlHhgu
PHqkseD/C9kBGwx7i9PZ0z3Q2dOfwO1keYhpBEkCscqyWrIMyS9kL5aS9gw05pENkzSDs+SMXcec
7khpZc7SXZgQoLkq4aOx2Z/SRPxxTyr9Th/0oOswNRAt2bYzvAWGwup0uq9i2GiVcnPCeDQG1rdg
s9n4jg9rz7aGBvdTw6alMTH8UXFCyUhvEK+VtrPtWx6nBzpPWRkb1dH/ldYGw5b/DljDCpRz7lrK
vnMUQAI51PI1Zk/5fUkbvCglDf8qPOxwMOIJLhzUh3hbVCOYlZt1ix2fm7Rm3K+XLTBAmH9td2xP
PMf3PHTMf+86U8/pfs8RgilqMv8boukB5aY9urwO3xjjiG92MihwkU3KdkeNKiqNXpkDHZyqdD3h
6Ct3acWhAOZeMJPlu7F8G0SVGKw9afbggkux/E6n7FiH092+kIwVIiltW1m9RRFkGXflAUVVMNF7
1e8QyVoFzPFHhcHGVEyyPc6j7af3pkoJp3Eta9iiW9EqdIcr24hAIDTo89h4gTdyHMf2Hbl7GgLd
yTS/jLOum0l1/l5kG1k/nmzCHj+MbAWiTlQTI+sERZPQ8K4IrsiiUtPiH3tk28HE2F44+Jdn6vfJ
is3B9T9GbB1tjOfOcsxy3WDcMZswwDmYhurWfOIE48DR5m4Nr4QK6ot2Kj46i/wBO14auJ5oTd7t
prnjHjBxg8lo3MBEX6CXYmW6rDyf3BEeuAdhkT6+G6pnVZ6vA8m3TXEWKzP/oNMAiU51s8CaH1uW
azsjmICHLfCHvcshVrWj1rzYfq5nIanLfNm/MhzDZ4AY4ku6iz1xeFGDg2L9A11HGKxLHizXf/Pg
VHXngXcX1JcnYUnyplm50/qSVsjR4anbnagGUpdDLlitDiqblujRERnDi4wsqykqdY2UFDRlQZVJ
HBcJQctVTY/FDNmOa3u8ovmez386R3OirdbhuInPcBDMNoXJpPLpG8kKfsp+CyvT6YGRXNRdFWwz
ViVeRp51gbkyS2gQ4SRZ81MMOy9QQhXaNGUuvD8yW9qqLUS2tISbDtCU1SWtXpzvS990tyN5u7Qc
SJKE5bq5ZN6+b2etOPeixXbpzw4cVUc13VWcn9n0vlXTXKmko7pBWMvKSqlhr5GH1QXfpURUenNJ
EK9ioGqX9ow2cZ3xLRc/Oj6r0CMxUkEApdd9jcySPa5T1kGVDSmoXlP55xv8zqIijCKKKag4zPH9
+nGTA2tNWeERrfUEdeWAo0nlZVfq5xNgum/hzObf0dkUJV3U2oE3Hms9MV74tk3v8Pc1lOuLY5U7
38ezLt+nuj013jPIF9vniT1GpH+lmf8AUEsDBBQAAgAIAPZZNkuSCazxagQAAFUYAAA5ABwAc3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVuLXdpdGgtdmVyc2lvbi1zdGRlcnIudHh0VVQJ
AANPU8VZT1PFWXV4CwABBPUBAAAEFAAAAM1YS3PiOBC+c+In6Da4alPlJwZuiZnUUrU1ZIbM3oXd
gDZGZmUnmbnsbx/Jxka2ZRkSUjtUcbCsfqi7v6/bWszvVsBegM1mEYnuCSXp7k9Mo5jQ7d/AUpLQ
YIfpFh4ZpikOM76AbtBw8J2Sf59hMb+b4wyvcQpBQink7/tUCXn+t1zTd1zP9xzH9E13MNpjQg3U
UtynbqCQIPQleYLlARgWHt3SSPL/keyBjYzBQjp76xAPQCNuKYiTFBrOThxbf/xQqeWeJfsgJkAz
VQDGE70/uYro7Z4U8r0+dCehR9VI1mRZtnGNtCQHoPO7b8D1pFmAaQhxDJFKs3pnXqkfoE/yejY7
FDmuTpWf454wvn1k/vA3m41ne7B2LdPQhDfRBCVXppHdCVhA+Vw5knJ3H3fAAGH+t5yJNXX86XiC
jh6Lk9xzMwn7ySsOYsgqHeVBT7X0mFS1qdypeavwuLU0MuRghbyYDC7Ze+Tc2FUi49qe61aRuUzV
Q3I48Gxjiqos/oFo8ooynY0+r4Nnxji6KksaAb5lk7D9UaKISiWX52AUrdXUmu+9w+ETd2nFSwEG
q69/kUzskldnsy1kS/Y55YIxZ+JSw4JuEm6g5CtuqUO8bQjlS/wJbUgM6NPwE+LORiR90reCedtl
qf5CQU4tQVVC/+srQsfKi7ALBqUnlQ2+cSnTxmzGjvyR7A9iZ6TYktC6ltVzGEKaclduUFjkE70U
7Q6RtMbXtjcWCitVPHQHnIW7zy8VKUv845imUUO8oLiuw+X0J2EYjYY8Nq7vjm3btjy7zdKaQPeC
3cvj3MXCrbZ2LbyPzY/Hu2Tjw/AuKuqEdjmyti96Tgf0RXBreBSSJv9Z46nrT7nkO5lAi+Jlw/p1
kmrx2vwfA74ON9omz2PGsq6xumeSY4Az0I3ktWnO9ie+3Zn6NWwJlcQX9VS8dXLrqJemNe1wUVTG
hZx68lN64GYCETTRYU5ViV5JtqsYVaZT/kOnIRedyE5k2ItM07HsMUzBxSZ4xuD8xCpmxvpzGZBW
a/h+2DIcwReACKJzWoI1tTkTwati/febPS9sXNKnSI6F5fofnqqCum54g0JDoxXn1s53Te+92pe0
qOOu6u53JyzLus8hB8xaE26rbiWrJzKaT7/23g5iKXmyJdBBDapM4kgkBC1XJVgXc2TZjuVyVvOm
E9+dTPSt5aHLiQsjgkYhjuM1d9jove4IVJntILjg+lVQk1aZkCuztrnCfkWoS1p81l8XKsl+T7I6
jF9JHAf5up4s32+3F5dNL2rIar3sqaPiqLqblOaZdV9oJaSUQl2w0m++zF0JUUq150TjIiiprNSH
m6ljT95zv9QFTFUZtKClqGSl18OOPUt2u05YT81viMBsicnfr3c3oiL1b8UgIw5z/K693WTAaoNS
EZR8uBm+YSroSOV5N9nNIS451OrM4v9xY/Ro3QdbeUPq8kR7r1xXvcc/15CvL4501bTjmufbKS5p
td/37YvQZmKPERleqOYXUEsDBBQAAgAIAPZZNks1xSlPJwUAAPY7AABRABwAc3RvcmFnZS9pbmRl
eGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdlcy1hc2NlbmRpbmctcHJpdmF0
ZS1zdGRlcnIudHh0VVQJAANQU8VZUFPFWXV4CwABBPUBAAAEFAAAAO1bS3PiOBC+c8pP8BGqZqr8
NnBLYKjNYZfUJrN3YzfBFSOxspNsLvvbV7bByLYkAzEJ2VGqOGBarVY/vm59rtxOb+6BvAAZj8Mo
nEUoSla/+SiMI/T4F5Akwmiy8tEjPBAfJX6Q0gfad+2q9xNFfz/D7fRm6qf+wk9gghGC/Pc2Vdl6
+jFs3bNsx3MsS/d0u9df+xEaaA3Fbep6nBUResFPMN8A8TOLrlHI2P8QrYH0B71b5uyNQ9wBCulO
kxgnUDN2aJny4wdcLTOC15M4ApTyHOAO5fbkKsLTLSnWt9ogDkKLqj6ryTDMQRdhwRtA05s/gepJ
0omPAohjCHma+ZJ5pp5BH2P1eLwpYlyeKj/HLCJUvK//4y2XS8d0YGEb+kDiXixxSq6MPUeQRaCh
pNcPF1zdyeo5DfErmmGSx4534H8bz/oD1v7AovYXp59R0zB5o1kKMaSwk985Z59/D7jMZ66k5FeO
hW0G0gTMDBS7eJWhB0zzzdrFtt/LsCbUrocVENB8+jGsoTGyTce2tW38e8epusObDc0QH2ll5L9p
CL9qqWyPNqsnz4TQiix3kiygIktM1tsVhVfKdXkMROlUhOvGD56oSfc0FUCO3dOmfHsuvy9FuTm4
s6TcgwrO2Tofj8m24PF6k0mGHBGMqlrun4MAkoSa8l0LCmdqL0V/0qKkArCm42YKS1VhlGz8NFj9
eClRlAEMS9cHlXLLMEl0uByvmALS+lfUN7Znu6ZpGo7ZhFWJo1srzcn9LILNRh/qqthc/fzFxuxx
tmLLMmpfaqxnTS9rEoK6y5zLVlG+Uqd/hmsY3kjaXmjyz2vLu4mKQZPrEz22CJbScyepT1LRINsy
OxHwU5ANwZX5yfSGnimM3QIeI8Qsv62G4tRZ6XdYU2ig61htzd3eNXd0kSaWN3KHZZqIAXrOItNh
8Lw3h/lCLZhk4aO7abtZmsbrNUpXJTizyEz/tP2Aq+1xM8s1J9R1yzBdGIHt6+AMeoenGGderH7f
zUKNLvNz80j8EP4ACCE8pLsYI5OCGrxynp/QdU4ecetrA7xeR2nVZa9RHE/y53JXBbtAt+1swVms
nqMiN0UZG9TPUBlsGj82SojnKNkNrO4x2ZS2A1DuIgFuBBJhVpJjd7+l+9zJzDnEMVo/8ON4Qa0Y
tJIP3F2qaD2yzOF7rqgCAJvwMqJymlKoV3eRoCI4MnNyvcCkpXiWNNPnaIeVl9cCal5hQImDh9lh
tpP29TIFUsHbyTYDd1j6aQN2d5oE6XUYQXfMrP9hE/uF2/Qrsp+fQmN1jyXnuQtW9/iEm40+lHoa
4TRavu3zLpkv63nGtDtHt3URrmTYWllagvB+N74MZyhl89oa2t+07cxOXS4UOXXyrsI7w0CbrumZ
g2re2rocWEU+aBdqBwOB7xo4YOo9EQActnOZFkVUdvx1jbqfF6XItYm1x/Fcicvus3tPrevw72s3
MQ6eitvaka2ZGX4bL2IM1zFMoX3SFzpV1Wv/bQH589vtvF/bx3btw/cpXKxeLn34y6UuM1/nnf3A
xnrqunM21XO0p/BSiDc7z62vRrwp8uyrkGcXd3NWVJ6i8hSVp6g8ReXVoa4z2kzRQYoOUnSQooMU
HfRl6CDHcT6EDnJo8Sg6SNFBig76/9FBh9I63QdV0UGKDlJ0kKKDFB2k6CBFB10KHcR2Jryp3gPo
x229lHj2cHjc9cKzxVdzwf+vHS1dCdD2ZFeffN7Otj73/U8WINn9r6MQCX84Qv9/UEsDBBQAAgAI
APZZNkvsmKVARAUAAA89AABJABwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5n
LXZlcnNpb24tY2hhbmdlcy1hc2NlbmRpbmctc3RkZXJyLnR4dFVUCQADUFPFWVBTxVl1eAsAAQT1
AQAABBQAAADtW8ty4jgU3bPiE7RrqOqu8tvALiGdGqqmhsyQnr2xr8EVI9Oyk0w28+0j29j4IclA
Q8J0K1UsMLoP3cfR1YHM7m4XQF6ATCZe4N0HOIjXvznYCwO8+htIHER4unbwCh6Jg2PHTegD9AX1
e99w8P0ZZne3d07iLJ0YphHGkH3epSqVpy/VUGzdMG1T1xVbMXqDjRPgIWop7lLXY0gE+CV6gvkW
iJN6dIO9iv+PwQbIYNib7fcebQHf3f4FVE+cTB3sQhiCx9LMXpmF5IL6vFaQHwB7NBLTMIqhEcyR
ronT4zK13JNoMw0DwAkrQdZI7E+mwjvdk1y+0wd+kXSoGlQ1qao2/JnLpuL1ZLLNc1zuKtvHfUDo
8oHyj+37vqmZsDRUZSgIbyQISqZMILtO2xaK96UjMXX3cQ0EkENfqj5Sx7o9tkZo53G6k3tqJiJv
tOIghKTUUWx0X0uPUVmbzJWCTxketx4NhtVgubSYhlSyc8uZsbNExtBMwygjc5yqh2i7pdl2MCqz
+Bnh6BUlIhtdXk+fCaHdVVoSCNAlfkQ2O4k8KqVcloOBt2RDf7b21nGfqEsLWgrQW/z5e5Ckq6pP
J5MVJHPyNaaCIT0pCg0z7EfUQIFX1BJHvG0IZY/oO+QHIaBP/U+IOusF8ZP4qLpru1ypPzcFp5Yg
K6H/dhWhrmZFyGuDwpPSBl04r8LGZEJ2+BFttulKj7EkwnUti2fXhTimrnxBbp5P9JIfxyiIa3it
mVaqsFRFQ7d1Enf99aUE5Qr+6IoyrHV8CnG8zWXwV+lhNOjT2Bi2YWmapppaG6UFge5sdjOLMw+F
W8faufrdUi7f7xUbF+v3tKL23V6NrGanZw6n9dPg1voxlVTon2qNDXtMJX8QCYRdPG9YP09SVVqb
HxjwpesLD3kaM5Lwxv6OSY6Ak4DoylCb5jR7ZGvc1C9hFeCK+KyeilMnN069NK0Jh4u8Mo7E1L2f
lTfUzDQNWnrC7KsSvQbJukTUKpzSP7QfctEe7NIMm56i6KpmwRgMRwFz2Ds8sYyZsf6+CEjraPi2
XRHHgz8APPAOORLUsUaRCF4Zz69v9jzy4Dp56G7KutFmEyT1BL4GYTjNnosT5xZl12VZh4t4Pcd5
p/D6x23uoTYbtT5sJZQVKNGdsBkx0axZgChTiIMdrnjxce5ScHkQ+XBINNDAdcJwSZ0cdnI0TCt1
mB7r2uhHbsocDJ2yyqC2m3JRrxkiThsw1szJzTIiHR3j0/Ke4wKurw+FGlGpIBEDktPN7Cb0Gz8B
UoP8PCgZTPc/dDA/nyZOeR3GYx5zR3i3Sf/KffoVSeKfhE27zB2ybuMDrjTKSBhpHCWB/7avu3ju
N+usctyZiqHwcCXF1ppoCcJ7a+w1jLm4Wtf6yPiMdtcGGnLuklOH/zq8V4hwzdJsbVivW0MRAysv
Bt2LusGAE7sWDmhKjwcAh1kuyyLPSkGjN75BmOetyPSp6o9pW4KQLdKrV+PUYV8Zb8PIfcovjEce
zZWJt/V9kGqZqsb1T/i9Ul31xnlbQvZ8thvyG3YMyzjcTh5i+R3Xu3/Hdc7KV1h7P/BgPVXukofq
JY4n71oYNyOrretl3C5ye5IcnuTwJIcnOTzJ4UkOT3J45+PLJA8keSDJA0keSPJA/xseyDTNd+GB
TNo8kgeSPJDkga6YBzo56qfxR+efYuRvuSQPJHkgyQNJHkjyQJIHenceiPuLrfZ/rzUOr2hbvy7Q
l9V5d7GN0ei4W4ht5Df4Wsh31vvH74Cr5gO3djbTl74RFg4feyM8U+6OWP0fUEsDBBQAAgAIAPdZ
NkvTK6v6EAUAAP8uAABSABwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZl
cnNpb24tY2hhbmdlcy1kZXNjZW5kaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADUVPFWVFTxVl1
eAsAAQT1AQAABBQAAADtWk1z4jgQvXPKT/ARqmaqbPkLuAUYajnsktpk9m7sJrhiJFZ2ks1lf/vK
NjayLcnAQGB2SBUHTKvV6n79utXObDJ6BPoGdDgMwmAa4jBe/ebhIArx819A45Dg8crDz/BEPRx7
fsIeaF+1u853HP79CrPJaOIl3sKLYUwwhuz3NlXpevYxLN01Ldu1TVN3davTXXsh7mkNxW3qOoIV
IX4jLzDfAPVSi+5xwNn/FK6Bdnud2e7sZAN4MvoTmJ44GXvYhyiCQKRZLJm55Iz6goaTHwAHzBPj
iMRQc2bfROrw+EItU0rW4ygEnIgC5PTV9mQqguMtyde32iAHSYuqLq/JMFDv/wwbzurhcJPHuDxV
do5pSJl4V//HXS6XNrJhYRl6T+FeonBKpow/h59GoKGk0w0WQt3x6jUJyDueEprFTnTgfxvPur2K
/Qj0Xn76KTON0A+GUogggUK+cM4Of0+kxLNQUvGrwMIWA30GwNRAuYtXKbvBJNusXWz7vQxrzOx6
WgEFzWMfw+wbAwvZlqVt4985TNUD2WwYQjyslZH/omHyriWqPdqsHr9SyjKy3EmxgIksCV1vV+Re
KddlMZDBKQ/XyPNfmEmPDAqgri2Tpnw7lo+AqG8aBUSFGCwsKfdggnM+z4dDuk14st6kkoFAhOCq
lsdX34c4ZqZ81fzcmdpbXj+1MK4QLLKdVGGpKgjjjZf4q29vJYtyCWfqeq+SbiknyQ6X8RWXQFr3
jvnGci0HIWTYqEmrCke3Zpqd+VlGm406dKpkc/TzJxu3x9mSLUXULtV4zyI3LRKSvEudy2dRtlJn
f4ZjGO5AWV4Y+Oe15aeJisHAdUGPLfyl8txx4tFE1mi39E4UvARUTXqlf0Ju30XS2C3gOcTc8lk1
FL/DmqU4W8E/ba46uqf6kb7jFDAx3YHTL2EiJ+g5z0z70fPOHO4Ls2Ccho/tphW9NIvXe5isSnLm
mZn9absGV9vxZoo1O9B100AODMDydLB7nf0hJugXq9+LXqhRZb5vnqkXwB8AAQT7VBdjgBipwbvg
+RFV5+gWt77WJ+t1mFRd9h5G0Th7rnaVXwS6bWcTzmL1HOfYlCHWr5+h0tg0fmykkMhRqhtY3WOq
Lq0gUOEiCd/4CmFeUmB3t6X6PKjM2ccxWtf3omjBrOi1DkeEu1TZemCi/o9cUSUENhYhonKaUqhT
d5EkIwQyc3q/ILQleZYM6XNccOX1lYCaVzhSEvBhephtp32/TIBW+Ha8RWDBpRdrsE+nSQKv/QaI
h/T6n9axX7lNv+J09iJjrNNzyXnugtU9LnCz0ftKT2OShMuPHe7i+bKOM67c2bqly3gl5dbK0pKE
d7uJZQRNKY9rs2990bY9O3O5VOTYzrtK79wEGjnIRdXxpWXpamKV+aBdqJ0MJL5r8ADSOzIC2G/n
EhZ5VIr5dW10P89TUWgTb4/tOgqXPab3nlrVEd/XRhHxX/Lb2oGlmWt+Gy9iDMc2kNQ+5Qudquq1
97GA7Pls2+/X9rEca/99chffXi59+sulUyJfF519z8J6jTOac5Sn4FoGb1aKraO9ftzA7vRdzL4j
wNvw7LOHZ1d3c76N8m6jvNso7zbKu43yDrov2Lb9KfcFm122j7kvnGzmd7twXOV/sx02YrzN536G
+dzpy86hXfzP3p1KX5E0/0+zdnMgmyrvso/TWgRcq98/jM5dKx+dXnDrChFsd79T/nCYV88m/R9Q
SwMEFAACAAgA91k2SzG4qD4hBQAAGywAAEoAHABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9u
LXBlbmRpbmctdmVyc2lvbi1jaGFuZ2VzLWRlc2NlbmRpbmctc3RkZXJyLnR4dFVUCQADUVPFWVFT
xVl1eAsAAQT1AQAABBQAAADtWktv6jgU3rPiJ3h3QbqV8g6wa+GiQRoNnWnv7EPiQNRgM05appv5
7WMnJMTEdgiFltFQqQuMz8PfOeezzxGzycMTJG+QjEZ4A9Hk4Q/41ytM0rGHfBjHMOj8RBFdmU0e
Jl7qLbwEynaCO9DtzP5/+qaen2LyPhoFMIYpLMSKr8cYIeinEUbPuDAt3qn4VuBUbanXBz3tbzcM
Q9uwoa9bWp9K9tZehPpAoGDloSCGk8xY87bd5/kGEo8dJqF+Pa8ggcCj/7o50IeWYVsWoFgFEVp2
2ql6xJsNhdRDABfL3wHCW5CqbDR5PX4lBKK0tKQQoFtCTNY7iRyVUi6LQS9YCCXzcD14/gt16Ymm
Auw8/f5rlLJd1dXRaAnTOfmRUME4SlaFhhkKMTUQFPHuysTrhkC2RD+BMIoh+Nb9BqizQZS8KE4a
RMGk7nIl//wYJ7AmKAroP01JaOpZEsrKoPCktEE3zqvFNhqRXdXh9YbtDARbMOK1PL36PkwS6sod
8PN4AmovYYGMEkALwzUt27VNUzNshyksVVHoNl7qr368MSEa9eppFqam9bmKZ8QgO1xGGpUaBr0u
xcZyLccwDN02+jUuUgDdWOx2hrOMu3af9m6eq94d7fL1XrFxsXpnGbWv9iqyhktjLit9Bi5Xj0xS
o3+6M7TcIZX8IBMoq3h+YP08QdVpbn4h4As/ZIBL1VDMSPpnXs1j6sQSPhMPJV6e1jWBfcpTXiPQ
S6FMNqvRuwo7GO7ANaShX8BlhCriMz4UAokIveGXPfb3KKiIP0drSHrSfDm0pnxc5JnRklP3flY+
UDNjBhq7YfZZCbZRuioZtUqn9A/4pUtgT3YswnagaaZuOHAILU+Ddr9zfGDz01YWMjcFgNSuhp+b
JfEC+BuEAQyOuRL0oUGZCG4F64q0xIqwTiNCMT5HcZru0BmUxdn+4uIA3Kkp7e195WQtXSDr4/U6
SvkAbqM4Hmfr6sD5Rdo1WTbhRbyeo7xSZPXjH56BexvVvqwFVASUPPg1hcq3ZkGiQiEJd/jqze3c
peTyqPLhGDRAz/fieEGd7KsJmxoTWuFpemgag5P5Vs6hY1EacKcpN3UOIZKUgWDPnNwvMGmomJCm
9xwVdH19LHSASoWJBJTMDrN7od+HKSQc5eegZDTd/dKH+fk0SdJrGiH68vuFgU5RlD5oWvQIn/bS
v3KfjgZXTFgHBKRQVaMiU3M1S02eCnUf4bCTr8jr4pLL9JC8jS9oabSBEmmE0yh83+ddMg8P86xy
3dmapcl4hXErJ1qS8N6aeI/gXVzNa3NgfQe7toFCLt1y6uOfp/de5biO4Rp9Pm8tTU2sMgyaNzWT
gQS7Gg8YWkdGAMdZLtMij0oxfC79GbMhXTDPS1HoU9Uf23UUkD2x1uvg1hG3jA8x9l/yhrHl1Vx5
8TLPOf90x9YNqX+1UDzmlZwhwKtee+8LmK3Pdo/8AzuWYx1vJ4eYyxylLweYD0yjYR4h1DIleD2O
I0leOQO1P7nPp3uSyzf6oOpnlKp6XEutG/1LZ74mOvuRF+upcpe8VC9xPQXXMnGzWG6dH/UPtDa3
AdvnDthOm7a2mZreZni3Gd5thneb4d1meNc5w1M2CrZtf0qjYNMu+5RG4WzDvlun8SmdxrH8ctps
8TaY+y8M5s5/7bTtDj4S6+bfbbWkYNmzJVm9pgHeoikmAkJNUrzhKZT+O4187lqDQTtmdi35+FPy
i87Wu7/wWBxf7Kx325/gHGr+BVBLAwQUAAIACAD3WTZLTrTvRuMEAAA8KwAATAAcAHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtc2FtZS1wcml2YXRl
LXN0ZGVyci50eHRVVAkAA1FTxVlRU8VZdXgLAAEE9QEAAAQUAAAA7VpNc/I2EL5zyk/Q0Z55M+Nv
A7fENNMcWjJN0ruwRfDESNR2kubS317ZxkayJRmoSXg7MMMBs196tPtotfCM47/e0P3sdgZzuIAZ
mk7/eW4/03SgGX/7y+XStVwU2qahg6sRFXhE6TtKp1OyQXh2+weialkeQByiJEHR10ncwTAn6ed0
GqEE5aiOG1xXYQYEYxTmMcFPpDYmllR8+9xFqg8o0ymB0tYwxjoQGFhBHCVoVjrrF9t+nm9QCovF
ZDSupxVKEYD0bdpjc+JYruMAilMU45fRYaYeyGaDIgAxIPXjHwCTD5CrfPRFHbylKcJ540mhQEWW
JF1vNSpUGr1yD7RoIdSstusWhq80pEeaCio0oziadeWZzQ8TkqGOogjNA0pFmIN1JI0PKjhns3w6
TbfpTtabQjISiBDMW3l8C0OUZTSUaxBWYALqLytQjDNAs9K3Hdd3bduwXK8w2JiK4mwD83D1y3uh
RCFnV7OwDUPnyq2oSNniymplCghoVxQbx3c8y7JM19I7pa0AurfS3BJngSZreRfmUMXmGacvNsbH
yYqtyKhdqbHIWj7dc1ndFeCyVVRqGvRleqbpTwpNVRnOW+rD7IpJk+sbEVuES+W6sxym+Z9VOQY0
iBf0lEKcwSovOwq7nKXElCKYI5luWWTXTHlb/ti3pHu3QC8xZtTv+a0QaMT4nbzusL/BEaP+FK9R
qumj39CaUgPVY611vSkAIgoHd3FKKXCINLH9iTdu0kRO0HOWmfaj5104zAcaQVBsH/UGovrZFfiI
81VDziwz0xcIm5DAjjeLXHMjw7BNy0MT5EADufpo/xSrjiPmQRlmK4+Ep8zz5iWFEfodoQhF+5wu
5sSipIY+BM+POHW4kLcb1+zwLjs4XccU6IZkvY5zHrKPOEmC8rkaqrDe6D7PNjpJ1HNc5aYsY8P2
GrjGpvNlp4REQMnLrWNQ2aXVBCpUkvBGqBBmJQVxaz2nz4MqnH2AAVoIk2RBo9DVvE2dCb3wbD2x
rfHRtCsnsECUEdxqGqFRGyJJRQhk5unNgqQ9xbOkmT7HNVee3xHQQoUhJQEfFovZdto3yxylHN8G
2wysufTbGuzhLEnS6y7Gcbb6tQCdoijtaw7o9b+sYz/zmPYGV0xYLQJSmOpQkW34hqMmT4W5/8Jh
R5+W58Ulp7kL8j6+4WZjjJVIY5LHy89d3mXzZTvPmOPONRxDxisFt3KqDQnvvIllBE0pm9f22PkB
tj07hVwqcmznzdO7xizXs3xL5/PWMdTEKsOgX6ifDCTYdXjAMkYyAtjPc5MW1a7U09smnqAYtkXz
qhSFMbHxuL6ngOyxuPe0Th3xfe02IeFrdVs78Ghmmt8ici4+03NNSxpfZyseqkouEeBNr+HnApXP
77f9fsuP4zn7+6kg5jJHGUsL87Ft9YwlhFbuUrIOkliSV95YHU8V8/GRVPq9MaiuNkpTGnefNS39
1JlviNa+58F6rN4pD9VTHE/RuQzenDK3jhu87TtAG35TL8Ozn2V4dnY358so7zLKu4zyLqO8yyiv
TXWDjc0u46DLOOgMx0HDs9wRTWOn22r+AjNcS+k5h7SUP3uHxvbDZMNPH+jb6x2F+M54/BWjEN+R
jxFVoxCOWrZrvFL+QCL856HUzGAADgOFfAWHSf/v8+IAOP4FUEsDBBQAAgAIAPdZNkvJtdyWGwUA
ACkwAABEABwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hh
bmdlcy1zYW1lLXN0ZGVyci50eHRVVAkAA1JTxVlSU8VZdXgLAAEE9QEAAAQUAAAA7VpLc+I4EL5z
4ifoNlA1U+W3DbcAk1qqtpbsktm7sWVwxcis7CSby/72lWwwsi3JQEzCTJkqDjjqh77u/tRqZz6b
LCF+gXg89t3UXbkJnMYIQS8NY/QAkR+i9TSKEwi+AdVQbN0wbVPXFUfXej9Q+M8znM8ms5rkeOxx
tdzjeDuNQohSoq9f0WlbTm8u8ydT4V/uSS7f6MNg64ZoCGpKG1UNWE2qqg17HB0heomf4GIHsUsV
3SH/EbsocTO1j+EW4sGQhSHeQTSb/AWJniSdusiDUQR9nmb+SurZz6SvS8NfNw3FW4oljtyHmFgS
y25c5Efw8LvYUkJMPm4ghsAlX1V31JFujywH7PJMoLu7J2Zi/EaiDCOYFjoOOXmM32Nc5AN3peSv
HI9rjwZDMFD+tYMgMDUTeiSAQylc+y1nxlpBxtBMwyiQOU/VQ7zbkQC7CBRR/ApQ/ApSmY0mr6fP
GJOMLixJBMiSIMbbvUSOSiGXJ56/4krm4Zq43hNxaUlSAfaWf/4epnQV+3Q8XsN0gb8nRDAKk81B
wxwFMTFw4AhiSSBeNwSyR+QXCMIIgi/9L4A464fJk2SnfujP6i4z+edRQqgJ8gL6X1MS6mqWhKIy
OHhS2CALF2zpj8d4zwHxdkdX+pwlMSprWT57HkwS4so34OXxBMReQgMZJiWO1EyLKixUEeh2bupt
vr8URHjczUpXlGGp4ilNiTaXURhTw2DQJ9gYtmFpmqaaWp0ZJUA3FruZ4Sxi0tpR0la9W8r1652x
cbV6pxl1rHYWWc0mMReVPgW3VI9UUiEf1RoZ9ohIvpMJpFW8qFhvJ6gqyc1PBHzlBRRwoRqCGU7/
zqt5SpxYQ+aob+ieMHRTKJKtdVCa7diaMPQruA4RIz4vh+LSbkmQL1Vr0uYiz4wzOfXoJ/ODmJlS
0OgJc8xK8Bqmm4JRWTolH3BsLMGR7GiETV9RdFWz4AgargLNYe/0wOa7ZR5kbnIAqR0NP3Zr7Prw
Dwh96J9yJKgjjTARfOU8v73e88yDqwTgXk1h7+hrSdZQObJevN2GaTmAr2EUTbPn8sB5h7RrsqzD
q3i9QHmliOrHq+6h1BvV/lgLKA8o2T2sipis1zyQKFdIwB2efPF57hJyeZD5cAoaYOC5UbQiTg7l
hE2Mca2UaXqka857bqcCDp3y0qC0m2JRrwqRoAw4axb4bhXjhooJSHov0IGub4+FKqgwTMShZLqZ
fYd+F6QQlyg/ByWj6f6nNubtaRKk132ISOf3GwWdoChsaM64I3xYp3/jPp0MLp+wKgQkUcWbuSmG
nDwl6t7DYRcfkbfFJde5Q5ZtfMKVRnGkSKM4DYO3Y94li6CaZ8xxZyqGIuIVyq0l0YKEj9b4azh9
MZvXumN8BftrA4FcuOTS5r9M78zwWbM0WxuW89ZQ5MQqwqB5UTMZCLCr8YCm9EQEcJrlIi3yqBxG
4ZWp/SIvRa5PrD+mbUkgW9KrV+XU4V8ZJ1HsPeUXxjOPZqbjrb2DUS1T1YT+Sd/llFVv3bcVzJ7P
901+xY5hGafbySHu3it9+HulNjNf4e39xIP1UrlrHqrXOJ78W5m4GTS3Lkb9skld+11MN8PrZnjd
DK+b4XUzvG6G183wzuW31uZl3RyomwPd4ByofZa7oFOstVjF/8y010daxjl95M/elrFNcLwrjx3I
12qcgdiG43zEDMQ2xPND2Qzkl9+g8A1P/T9Wq0y7R6T/aWpaC047MAsc/R9QSwMEFAACAAgA91k2
SwaiiQZSBAAARx0AADsAHABzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlcnNpc3RlbmNl
LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADUlPFWVJTxVl1eAsAAQT1AQAABBQAAADtWEtz2joU3rPi
J3iJZ5oZW7YxsEtMmbK4JVPSuxf2Iag1Eld2Qrvpb6/8wNhIsiFhprnTMMNMUHSOzuv7jnTm07sl
8Gfgk0mEU7zCCQSMUghTwug90IjQxyBmCRg3hu1avuN6vuc41shBva+U/PcE8+ndVJKcTEKllhln
2yAmQFOhr3+i0x+OevM2e3IV0cstKeQ7bRhsMaGmISntVDWoa7JtZPYUOgh9Zt9hsQOOM0W3NHrg
mCY4V/tAtsAHZnsY3tPyBtLCdkCnd19A6EnSANMQ4hgilWb1zsyyv06fPoWsJfAzwsVJNVvCLMuS
kt4gWil1J5unNGJ7OmM8rw+V0b+ktYFpDKwf/nq99pAHKwSWWURkJkxj/GfhaLZwrOoH1ghXqako
wr7Q5/ruECFke0iupYMXCuM6bAttL7dNlwsJfC152GAaxXD4XcEhET48bICDgcXXdkb22EXe0DJ2
BYv0LlN1z3Y7URKYGlXePxiU7Y207Ywuq4MnzgXmq5NaBMSWNePbowStpBqRRb5lausqC+4dDr8L
25aiIiCXtMTHHtq2P84ktQZEJFqciF8nK7Yorj8YsVW4bvU7STFP/wWeZGQtjHiEGto7GgYHnIJO
VmoayB/5SJu7FTwSWhOfN1Px0gbxD2wFNQi5ujb5NB1rlFVRcYHYtqiz6WTCS1pl210MaUGLRxtr
P0Qsgixgwgjj0LJFhPYk3RjPRQwbHVZ8jGMfNY5MlWXXiyzLsdEQxuBiCzyzd35SC9KsLeRmnmRO
4SmjX3ePHEfwGSCCSFDejREW1Vc5QJKGD/YYCRqBvWL9Va3nGsB0/PFwVAFzXnM0IskOp+Hm43N1
YanhSWTmJNoFDharbyJVBe/ciO5i9E0pztJOaUdpT2X40emGEa5tnaF9QYs61lV3tznhoay7DHLA
anRQWbWUrI7ItNwu5b0aUjlwpCSgoQVVJnGUJcRYLA9gnU8NGzm2KxjNcz3xJyrV1XU1nBMqPsO+
prYipjaRjz9IkrGFbHdtZTLZc5LWZZcZ9lsxIkjtXheYC7NkDEIcxyvhhdneK8SZgaraNKQbXL8y
G9KqI+poaWyu+Kgi+QUtXjPXhS/bbknapJY9ieMgX28n8Nef28kVp1Y00C79s6OOClfbHpCnPuev
lQ6YK4V0UG/ZrEVlIVShtxWHM0JJsjkXiEprzgniRQhUndK8o40dNHrNa1yHZ1X1SIhUAEBpdV+z
Z8FvV4x3QGVNMqgfoPz2riEnUaldRRR3ssyZ5VMYQpLcrlPgjTtfUFbr4T738guONNiyPc9D2ny3
Dsiaqrf45wry9XlJQKfnWO755xTTpuvOBDQVXcD7U5Zn4Zn2AfU+N/xfzA1bZj3vE5srTGyuMXY/
F3MHunvxBenNtYTrTSakJ33ZPAbm9eYWQ/fCucXf1Je0bUie5F+8uz7/YbumveI77Aye745Gl4XB
d13rDx/dgHl5er/3G1BLAwQUAAIACAD3WTZLOSv61RMEAABUGgAAMwAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24tcGVyc2lzdGVuY2Utc3RkZXJyLnR4dFVUCQADUlPFWVJTxVl1eAsAAQT1
AQAABBQAAADtWEtv4zYQvvvkn8CjBTSAnpbsWyJvUANFldbZ3mlpbLMrkyqlJN1/X0qyZUkUJXuj
YlN0DfhgmvP6ZuYbkuvVwwb4K/DlMsIZ3uIUfEYphBlh9AloROjej1kK6A4Ztu5atuM6lqV7ljn5
TMlfL7BePawkyeUy7NTyyNnRjwnQTOibtnS6c2+y7vOnUBF9uyel/KAPsyMmVEOS0kFVs7omwzC1
SYcOQl/ZFwgS4DhXdE+jZ45pigu1z+QIfKbVYWAJ0NXD7yD0pJmPaQhxDFGX5u6duWej61NDxHoC
eyRcWFLLHjCNYjj/riBKhcnnA3BAWHwNyzMWlruYeygpKyuP7lGYYfxr6XS+cKmAZ9YI/aS9TNhU
QzPbteemaRqOKeN+2tyFjrQ0E7r0v93dbueYDoSGo2sCKRWuUqGOgottOnO9wuU2VU8sSUR6MUVV
Dn9ClL2hrM/GkNf+C+eiPypLPQJiy47x40WCVlINZE1X1yazaKuqP/qAwy/Ct42oCCgkdfEx5gvb
XQjJzW+/kCwXqm9bLveQBfxTKvTEJD2cFa7pjglszlzUW/oRiYKW9XGSaoja/I6Ab8NdDrhSjcCM
Z38AT3NeFE7sodb4A9zMAWegkpX42XQ911Smfgt7Qmvi62YqFHlvSxX89g7e7iKeU2VUdCK2BXVy
XS75iWXZMYkhEyzZsF37Idzzc9BEALWqRG8kO6DXEsfGQBMfdBlb6EJ2eYadSNctw5zDAmysg6NN
rk9sOVVqC4WbbSDlSBn9nOw5juBXgAgiwZp3KCwrsAqApI0YjIUpmAjeOtY/3iSqAo1ImuAsPHx6
rc4HtZ4SmWmhXfZCsP1TpKqkrjsxoNBUk3CWdko7Tv5Ujl+CbjhhG/oV2gNa1rGquofdCc9lPeSQ
BXpjCMuqpWQNINNzmJP3KojlzJOSgIJSujKJozwhKNicm3W9QoZpGbZgNWfhubbn9Y+WJ5UTNyKC
ZiGO461wWOvnZmHT78qsguD88augId1lol6Zjc1V71eEGtDyoD5uq7DjkWTNNn4jcewX6/1k+X67
g33Z9qLRWdKfA3VUhtp3N2rHXFwUBlqqU0jVVv2bb3O31lGdaq9B46ZW6rLSPNwsLNP7F04eflcZ
SK3VUcmdXk8VewJ+v2V8oOZ3JO/Zc09+vNndQqU2vzsOMnkwm5cwhDS932XAGwelEpTicDN936lA
enwxHMcxlfnufcRpqj7ir1so1tcnJmnb0e3r7ZQvIuPexRUV/UiouKL9nOdZRKa8eax/vG39F962
et5YfryUjPBSMkKeru65M91980nnw42E8a7z0j34NDxm2niX/bl942X//zSXlGNIfg2/eXf90YQl
TX/Fdz4IXnEBvAkG17b172y60eYn69PJP1BLAwQUAAIACAD4WTZL0Qs9T4MFAACWLAAAPwAcAHN0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcmV2ZXJ0LW9uLWFib3J0LXByaXZhdGUtc3RkZXJy
LnR4dFVUCQADU1PFWVNTxVl1eAsAAQT1AQAABBQAAADtWs1v6jgQv3Pqn5AjkbZS4iQEuNHQajns
o1r69m4SU7IPHNZJy3uX/dvX+cTBHwkQ1HZFJaQSZsbj8e83nhmYTR8WiLwjMh4HMIFLGCMvwhj5
SRjhZ4SDEL96myhG2r1m2oZr2Y7rWJYxtEDvOw7/eUOz6cOU0xyPfaGVJxJtvU2IcELt3R3ZdAfD
3kzlT2YiON+TXL/Rh/4WhljXOKONpvqsJdMEek9gI8Tv0Q803yECU0MTHLwQiGOYmX0Jt4j0dTYM
0Q7h6cOfiNqJEw9iH202KBBZFkumnnVuTx6iSLGxp5DQlRhf/DSKnJFeP1gKbcfrtySI9vgpIln8
RU7/yz3r61rf+OmuVisHOGgJkKHnEXmirkXkF0Ua2qAElfJlwA4YeokqTAolFZ8KPGxw0Kcg0pUh
XkMcbNA0W6xZrHhfAS6mfr2sEUEapC/TGpojGzi2re1ynvZOM/Uc7XYUFBBr1cn/puForyWqNZq8
9t4IoayqVlIoUJFVRLaFRh6VSi8HqwRO+XE9QP8HdWlBoaCKZhAGU16+GctnQNS3zBKiQgyWnlRr
UME5y9XxmBSkjba7VDIQiES4bmXx5vsojqkr95qfB1Oj68VpFMO4liSBM0gNVqaCMN7BxF8/vleZ
kCGcZRh6jW5pXpFtLss5DIG0/h2Nje3aAwCA6QA+NSoC3cg0J4uzLPVxd0lXZBsY1ycbs8bVyJYi
6kA1NrLApWcu410aXJZFmaZB/8yBabqjVFNFw/mRejenYlJwfWDElv5Kue84gST5K6ejR514Rczl
2lD/EAQTJNPlaiDgDl0gPbsleg0xoz6rH8UfaEspTjXYp7zW2XXRJXVHFzCx3NFgWMFEnqDnbGZq
l54P7jBvqAdeenx0Na2sh+l57cNkXSVnNjPTP+1QpGqHvJlizQkMwzLBAI2QDQ3k6L32EMuvI+ZB
5uYRjoS3zPfdK4EB+oZQgII2t4s5AjSpob3g+Rm3DlO8ZzyYL/+mwcnzzj29XbQ7ndsZJ8lJFAio
oHKAWc0J2zRaWJ/jHDkyPDW745dAanLIQkbtBuVNc/RoiIyiWeJlJUmlzJGcgiSdiE4SBumBaPNF
SY/ZVDOBZdo0ozm2Q/8FhTnWVm1z1MQ3tGfM0oTTrPL4M4xTfvJ+M0/G4z0JE1Z3kbJNmZVoGnmW
BebEU9L6PtxslnQXuvquoGt6IrRJ0pzXPTJr2qIlWLbUhKsboEqrc5w3593SN9puw6SeWvbhZuNl
z9Up8/J1G3PFsRc1tnMfNuAo36pqHnK8Z1W/VdJcqCSjukJYyspcqWKvkodPIQ7jdVsiCr1pE8ST
GChapV6jjSwwvGS4JOOzCD0cIwUEEHp9J5GZk8kyIg1UWYUp1Usqf77C7ygqTCkiqILSzRT99WSV
IFKrsrwCrWUFdX6Bw81pTcdxgPS8lfPeuukt/LVE2fNZkYCO1zHs9uvkw9NuZwISROf0/j09Z7oz
aQM1u43Bv8IYXDHruU1supjYfIb5wwgMjWvPH65e1neA+NbZq7w4zi41b1OV21TlM0xVYFoWck9D
TCsmDDeT8tN639Wilryk7cp8KrsuyoL8e9AiXLEMrPDIKbHZGX4m0SuhVeGBHdfsgaXeqTuY/Fjk
RD8216YJnIh0JNkbymXlGTzV6esXQaHr7lG45xahP6V3FK1Rv16Hwkrx4tZx0oT4UoZrCsUEbt17
WAZwwTm9xwmd6QnO0HpX0stWuxc0h4+ERETYGqYspu+L9vCLtcEf9g3xFbvBW/d1676u0319RM/Q
XaXNlajVD0q6q8MH9ol1+P+nJTq7QI+TaFcf1tHXoHFy6NrD4WkzQNe2DWXS5n90eHxCha93X2oH
nTl67SGtanuqQum0cHRx/P8BUEsDBBQAAgAIAPhZNkuuuHphkgUAALouAAA3ABwAc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi1yZXZlcnQtb24tYWJvcnQtc3RkZXJyLnR4dFVUCQADU1PFWVNT
xVl1eAsAAQT1AQAABBQAAADtWktz4jgQvufET9BtoGpT5Sc23AgkNVRtLdlNZu/GFuCJkVjZSXYu
+9unbeMXkmwMZpLUJlU5YNQPdffX6k9mPrt5wOwFs/GY7jCZ3fyF/3nGYTR1iIuDAHtX34gPT+az
m5kTOUsnxLKV6Br1ruaX0+ft108pIdiNfEruMfF8sp4GNMSwWjUUSzdMy9R1xdY13lIhOR67Qi13
jG6ngY9JFFs/0GkN7Xp/EhXe6Z6k8o0+9LeOTwZIEMgGVf2yJlXVBqJk+OSFPuHFDjMnVjQh3iNz
SOgkah/9LWb9wSXT3Ik+eYhozcbufAaW5LIbh3gBzj7nIQrB5OMGM4wc+Fd1Wx3p1mhoo11aWfHu
7sAMZT+ganCAo1xHtvmiHh5pXl/ClTXfCjzmHvUHqK/8a61WK1MzsQsFMagN137LibFOImNopmHk
kWmn6p7udpBgh6A8i78hQl9RVGejyevpM2OAkNxSjQAsWVG23UukUcnl0sLzlkLJNF03jvsELj1A
KeCrhz9/96N4VfnpeLzG0YLdhiAY+OEm0zAnKwoGsp4DliTivCGUPIJPaOUHGH3pfUHgrOeHTzU7
9Xxvxrtcqj83bjCcoCih/zUVoa4mRSiDQeZJbgMWLsrQH4/ZvgfQ7S5e6QmWUFLV8vDsujgMwZVr
5Kb5RGAvjBPph5Weq5nDWGGuCkK3cyJ3c/uSN9ZiN0tdUQYVxMdtSra5pIWVMIz6PYiNYRlDTdNU
U+M7bU2gG8FuJnGWdVLuaOoK70Pl8ngv2bgY3uOKKtBejqxmQc5l0I+DW8FjLKnAnzocGdYIJM/s
BLUoXhxY7yapKtTmGwZ86a7igEvVQMxY9HeK5ik4scalo75hGmPYibBMlpvINMu2NGnql3jtk5L4
vJqKU6cvSb0cWqsdLtLKaNlTCz9LH8DMNA5afMIUVYle/WiTd9RyO4U/VAyqqGh2cYZNT1F0VRvi
ETYcBZuDq+MTm+629CBxUxAQ7mj4tlszx8N/YOxh75gjQR1p0Inwq+D5+5s9Wx5cJTqRYGGx/A6p
SlvXNRxQqDfg4syt5Fbs/ckdLzZdccJQlSO0L0hax7LqbnbHzcq6ySEdK5VDmFfNJashMjX0jV8r
aSxZn+QEJK1BlEnHixOCFg8ZWOczpGq6akBXM0e2Zdh2/dFyL3OiZURQ33WCYAkOD+p7M9icijIr
aXDT7qugIi0yUa7MyuIc+3lDXZCUmncLFbrd+lEVxq9+EEyT5/XN8ny7jbg89KKCLO7LhjpKt1p3
G3K45zqGlkFKKCSDVf3idu6WECVUe0w0WkFJZKU63Ix0zT7njkgGTFEZcNASVLLQ655kzYJNlpQ1
1PzKjzGbYfL9nd0HUSmd34JBJt7MntdOVhFmlUEpDUoy3PTOmwq461bVNE1Nmu/aa9uq6q3zY4mT
5/N9Jzm0oxjH20nvQLvl4pKKvvMJULSvcZ5hZ1Lm8Xmb/SFus2vuWD5vSrq4KXkPxH2k2cqpxL0N
Ae+gKI9uMFlvP3mse3fn3+fdxS+9u3gvtwVOPLlxT30CQw1xgkn2bZXjHDHunUNxEp8yhgMoSN84
7sMVyorVOXBKrHZO7hldMxjcCnRckm9KvasnGWla5EA/VHcM4ZqIZCQNVqj/Mv2uYGNCB4+IUxsu
JrJRPa5s4eR15FnyUdr6pAks2RqO8omxfzSz0BXN0k5hFi14ZwtnYJqVMNV89wLqd8sYZULiFzcA
+FyQv8+pf9DMrt/she95JPMcsDe/4Jd183DzHHn0ldxRlhP7zxfXH4KOvQ3TeKu35Wf8QuX/+qK9
+xvgE/gbR3zyX/B0x+6GRht299Ff9ErPJ/7XlxdeXSbJdFe984X/YeMFdPKy8hdcQFuGoZw3Jp65
wfauvqHpdkVQOUr2vvbkX/wEUEsDBBQAAgAIAPhZNkvxlZPiFgQAABEaAABFABwAc3RvcmFnZS9p
bmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQJAANUU8VZVFPFWXV4CwABBPUBAAAEFAAAAO1YS5PaOBC+c5qf4KNdlVT5iQ23GRNqOWyY
2pnsXdjN4IotObJnSC757Ss/MH5IMjBQSaqWKg6IVven7q8/tb1aPDwBfQM6n5MU8OLhH/j2Clnu
IxxAHEM4+YIjtrJaPCxQjjYoA5Gl8lG5m6z+HH9hbe8TjCHII4IfAYcRfvFjkgGzNmzdtWzHdSxL
9yxzGOm4cz4PuF6WlCR+HAHOi+g9n+7Uk+MpXYSXI6n2j2JQExRhTeEkcsSV2vZkGKbGK0aE38hX
WKdAUeHoHofPFOEMlW6fowSoql29zOIjEQmQZURZpBaWoDj1wMlEDTdc39nuNQ/JHi8JLfPFA/1z
sKZqiqp/d7fbrWM6EFiGrlVEXTJohP5gzIAYcjjYH3h8rPkzaTjEtZT8y0E4BpAVXZOmeIdwGMOi
DDZuVv9uCJIxXM87oKAg9jUsz5jZpmPbSlr11eQ8V48kTRkpEFaayn9QMNkruSzGGGr/lVLWBU0k
yQZmsiU0qXdUWWn2VWQV0Kkq1wMKvjJIT4wKsmyGUbgY2o9z+X0U5XLwgKSJwQzX7V6dz2ndtCRJ
C8uQY0Jw18vTaxBAljEoH5WgSqbC4mVFFqOsI2qmMy0cNq7CKEtRHuw+vTXKdTzNxtJ1rdNuha6I
DldqTquBFPWO5cZ27alpmoZjXtkTz/iinnXKiolEdHCLXKttp/rt27YV42ZtW3Dz2LTtzJquLq6U
qLMLo3aflh519jGmhuHOdO0qlWKNuO4Fuk5dDUbPX5jzTbBlGRK7yXJE838rafAZiBdoXfQjsxMF
lINo72B+Ml3PNS8eekTs2MBLhFv2q24J/4aEiQvb0V4d7pLI87rN0dPE+Yiu9YPlwi8SxkAoh+mV
ZWgf5btGmtu6zD7KcaRUjlpXVNcJdd0yzCnMwEY6ONrk9KJWl1FroYTZqxz3jvmSvlAUwmeAEMJT
7hZjZjIhgj1n/V1T5zUa03JnU69pzPNvwE4CazdNvCPWzl7b4OwNSJJEebeA+yiO/XJdXrjgQLux
yBbcBPUaV50i6p+gf4bOkDX4c1BQXqJkT2D9jMkmxoOAcjcJdCOQGLctObhVTX77PMrgnJIYRQ1Q
HG8YCk2u2ywYN0pXrWeW6b3nEVUgpz6PEZ3TNEaTfooEHcGxWdP7DaEjzbNlTF/jg3L/foLUy0pL
lDjqXBymnvrvtznQjvr7NQMPyn6m1AlKuYxwlO3+Kg7IEAtniPYz9amb+KTvkVjiivfyRrflDShx
954+uFhxfy8+3uaJpBvjF0zHuqdrN1C5C4bGwbTVPMNfb6Sc2ueMlH/6hCZ8kTB8YXq2dXvWJmlH
agz2nXZtgsFLcsO1PU9IIOnL9q7rBP3YQLm+qmexfhxbPz1O9eZ6IFv1Ge/+z1M3T/8BUEsDBBQA
AgAIAPhZNkuDKoqZMQQAAN8bAAA9ABwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28t
b3BlbnMtbm8tdmVyc2lvbnMtc3RkZXJyLnR4dFVUCQADVFPFWVRTxVl1eAsAAQT1AQAABBQAAADt
WUuP2kgQvnPiJ/QtWNpIfmLgNgMZBSkKk53J3o1dhtaYttP2zGwu+9u3bIMfuLt5DCizyiJxcFOv
rq/q63Izn90+AH8BPpnECbDZ7Z/w4xnSbOoxH6IIgt53RnFlPrudeZm39FKQSZKPpN+bX89esJWf
xoyBn9GY3QMLKFtNozgFlDZs3bVsx3UsSx9ZZtdTrTmZ+EIrdzzeTCMKLMu979l0hyN1PIWJ4PxI
Sv2DMQw2HmUaESTygKlB05JhmJoIDMpe4idYJMC93NANCx65x1KvMPtIN8AH2v8w/x4wy0OIFYp3
lGMByHXXHgsi2D1XIaQY/OMaOBAPv4Y1MsaWOx6OSFIil4Nyh25i/hNRgQiyysauhup8P8YVfkJJ
xa+CiDtLA40M9L/dMAwd0wEfE66h5sEtF84ukhnbdGy7ysxppu7jJMH69RipUPyDsPiVZCofh6Ke
PnOOFVh5UiigSBjzzVajzEqlV2AwCJZCzRKuW89/wpAesBSg9/DtC81yqebqZLKCbME/pagY0XS9
szBnYYwOdj2NniTqXUekWMInEtIIyIf+B4LBBjR9Uuw0oMGsG3Kj/vy8gTuKIkD/OVSEllEUoawN
dpFUPlBw0WTkyYRvqTneJLlkIBCJWdvKw7PvQ5piKB+JX+JJ0F+aA0nTFqeZzjA3WJnC1CVe5q8/
vVTEVe9maem61ur4/PSQba44WRo9TAZ9zI3t2kPTNA3HvLAlkfBZtOEUiMmOys4hcinmGOrXZ46G
j6sxR16bNW80M2u6uhwpGbnkQq2Ozy3q+DGGY9sd69oJSL2RlZSMstiL8zJlYWB1/0LIln6oqwYO
zBnP/iqZZYpBrKAxdhyYvDh4Gch0O9OX6Y5cU1okS1hR1lCft6E4d9KS1Mu+N+WgU1bGifxex9l4
QDfTPGn5aVdXJXml2bpi9ya144fUQymp6TJH2Al03TLMIYzB9nRwtN7xwJa7bSwUYQoS0jmmvicr
7gXwFSCA4JjjyRibyGXwKlh/f3PwiYdoK4FbM5W/OtaWrm0IdP14s6FZG8BXGkXTYl0NnL8ru0Oe
LbhK1AtWdoqsf/z9PbTmtM6PHUBFiVK9w+1nTDX37khUqCThDl8tfFq4SC73qhiOyQYZ+F4ULTFI
TU3Y6EzopU3TY8scveUCQ8KhU1EZtHZTCfX2UyRpA4HMgt8sY36gY0Is7wXb0fX7Y6G9rDSYSEDJ
+Wa2bws3YQa8RfllUgqa7p/BbxIo7yjDKetzvkGMWDo8NK8DjlUSF/1eEStMie58dFvdgApzb+mD
s2n2fdXjdd5k2j5+wVisj3TtCix3xqTYGbGqd//LzZFD+5Q58r8+ljWH4Dhp0YGB32Fbxu/cfxuu
PRpJQVbeo7dNb7yfSyjW59shad+PrR/vp7yU7lDLdo/932Ln0rul7j8l15T+F1BLAwQUAAIACAD4
WTZLlW8/DVQFAABiRwAAOAAcAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdXBncmFkZXMt
cHJpdmF0ZS1zdGRlcnIudHh0VVQJAANUU8VZVFPFWXV4CwABBPUBAAAEFAAAAO1bS3OjOBC++5Sf
wNFUzVSBeNq3BK9rfNh1apPZOwY5pgYLjyDx5rK/fcXDWIAQfuDETslVPgRL3a3urz+1GmU2eXiC
+A3i8dh3E3fhxtCJEIJeEkToESI/QC9OGMVQ+i6pumJpumEZmqbYGhj8RMHvVzibPEwaM8djjyll
iqO1EwYQJUTeXU2mZdqDGc+eTIR/uiX5/E4bhms3QLLUENopakhLUlUgDxgyAvQW/YLzDcRuKuge
+c/YRbGbiX0O1hAPZb4bRFiuICzRBqLJw9+QyIkTx0UeDEPosySzR6aWXb28dpdHHEdNA0w0UbZ4
aVQaQgZDf8GUHa9eEz/aommEs3iyjP6v8WwoS0PlX2u5XBrAgJ6mKnLukSkxLcLvBLkwhAncjd85
bI/J56jEOHMk51eGhV0GElDKXBevXOSHcJIp6x5W/F0COCZ2Pa8ghpJLvqpmqyMdGLoubfK8Hxwn
6jHabAgoXCSVkf8moWgrJTwdXVY7rxiTLC01cSaQIcsIr4sZuVfKeTlYW+CUh+vB9X4Rk54IFHje
9AN/0hzfjeXzIMrE4M6SUgcZOKdzdTzGRdJG60060mcMiVBVytOr58E4JqZ8l7zcmRLRF6deDOIK
6QLDTAWWovwg3riJt/rjrWTW/WoWmqLIlXRLeaVtcRnnUAkkDe+Ib3RLNwEAqgGaVMtxdGemGZmf
26ivsTf1lWymcvlko3RcLNlSRO1TjfYssEjM2/IudS6dRdlMhXxUU1WtUTqTl4bz2vR+oqIScH2i
xxbekrvuOHFx8k+ejg4x4gVSm2tHPYWhm8C2uY2aCli2BVpjt4AvAaKmz6qhOLV++hOuCTWQebS0
praz6o4+YKJZI9MuYdJO0HOamQ6j57051B/EAicNH9Em7eprEq9tkKxKcqaZmXykfdEr7XkzxZrh
K4qmAhOOoO4q0JAHh0Ms346oB5mZNRwxd5mfmxfs+vAvCH3oH7K7qCNASA1uGc9P2HUqJheBKyO8
R0dlrq4y5nrReh0kVZdtgzB0sud8V3m7QHdp1uBFrJ6jHJttiPXqa6gUNo0fGynEchTvVFb3GK9K
2xEoc1ILb3icwfRIht3Djt3nkWfOIY6Rhp4bhgtihcznbaKMqaXK1iMN2OccW1sIzGEhorKactCg
7qKWjGCMmeP7RYQ7kmdJkD5HO668vi2g5hWKlBh8mC6mqLTvlwnEFb51CgTuuPTTCuwWUEwDFMSr
H6mryNpbq5EjKvQPq7PpU/qhC2GndC1FOaJY7SpF59MLR9w5WX7yfnJd2XaZ01JVxyfU/orN9TSK
kmD5vsddPF/WcUZtCIaiK205nLJPZWpJU3tt7DGMso3GtWbr36SiqiUubx1yam1aJUCqbwtMYAG5
iltdqc32Gg1x1RiBVi/xG+tV0Wv3fQGz57OixqrpSQ9TB+vJu9RcBm4LoHgr8KFvBYqczFNi1yKv
yZ3nPMhMpsqhjbX2A7m9j/dIrbC6JPlfgkb9a2mh6BkAT2uhHNoKOTXyog1y+22QqzsDiaaMaMqI
poxoyoimjGjKiKaMaMp8laZM/xx+QkncqCXLqxr9FcymfkzBfOv1J781ZBjgQ1pDBuGdE1pDN218
/5eARMNL3E4WYTnqdvI11H5f+eJb/625m7/ddPV3RQXw+7jxeQ3N9xGwFXF/UTTuxf1F0SoXrXLR
Khet8htplYvGRr99fnEEF0dwcQQ/717Uwa+kvs77nC/+7uL4famVyZv/RX/0aPr4Em2qWxH5mp37
oqXb9nE7nKXnF4QrcC2033F/uJmlCUM/DCy92XTpwo7n8mNvYveS/f8DUEsDBBQAAgAIAPlZNkut
tosmfgUAAGNJAAAwABwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi11cGdyYWRlcy1zdGRl
cnIudHh0VVQJAANVU8VZVVPFWXV4CwABBPUBAAAEFAAAAO1cS2/jNhC+55SfwNvawC6gp2X7ljgb
1EBRb5ts77JExUJk0qWUpLn0t3ck2XqS9EtOnCwD+GCZ8575OBoSmd5c32H2jNl4TFeY3Fz/hf95
wnEycYmHowj7Fz9JCE+mN9c3buLO3RiLVqJv6PJiqvh1xc9fr59QQrCXhJT8wMQPycMkojGG1bql
OaZlO7ZpakPTaEsqKcdjj8vlltHlJAoxSVLpDZ7OYCjXJ2PhH65JTr9Vh97SDUkfcRy5hVWvyknX
jT4vGCF5po94tsLMTRldEf+euSR2M7b34RKzXv/s00bsIiox7DZkIElMu3CJH+HN98JFMYi8X2CG
kQsf3RzqI9MZDYZolWdWat0tiKHsFbIGRzgpeGyML/Phnhb5xV0p+ZWjcetRr4962r9OEAS2YWMP
EqIvddfa5ExYJ56xDNuyCs/sx+oHXa0gwC5BRRS/IkJfUCKTsU3ryRNjUCGFJAkBLAkoW64pcq8U
dHni+XMuZR6ua9d7BJXuIBXwxd2fv4dJuqr6dDx+wMmMfY+BMArjxYbDlAQUBGwwByQJyNuCUPYI
vqEgjDD6cvkFgbJ+GD9KLPVD/6atciX/vBRgWoS8gP63LQlNPUtCURlsNClkwMJZtfTHY7bGALpc
pSt9zhJK6lzunjwPxzGo8g15eTwRyIvTQIZxDXMNe5AyLFiB61Zu4i2+PxfAWlozNzWtX6v4FKZE
xmUQVqlh1LsE31iONTAMQ7eNNtJKHL212O3MzyIkbW1NXdX7QDt9vVdknKze04wqq73qWcOBmItK
P3VurR5TSg3+9MHIckZAeSQSSKt41pDeTVB1yM13dPjcC1KHC9mAz1jyd17NE1DiAVe2+i3dGMNu
gkW0rY7McIaOIQz9HD+EpEI+rYfi0O5LkC9NadLmIs+MPTG11LPyBcRMUqelO0yZleglTBYFolbh
FP5Q2aiiEuzSCNu+ppm6McAjbLkatvsXuwc2t7byIFOT45DW1vBz9cBcH/+BsY/9XbYEfWQAEuEX
zvPz6z333LhqDlyzKeSVutZoLZ1D69HlMkzqAXwJo2iSPZcHztuk3TbJJj6J1jOSV4qofrymDbXe
qPVjK6A8R8ne65oek/WaGxDlEgmww5Mv3k9dAJcfMh128QbqeW4UzUHJvhywQRhXSh2mR6YxPOZt
V4ChE14a1KwpFl00XSQoA86aGbuaU7alYgJI7xnZwPX5oVDDKxUk4kByasy6Q78KEsxqkJ87JYPp
y3dtzAVJcRsS6Nd+S10FtgvbkD06+zfrz6sDhl0N4Zd0o0QlrHhTLs2Sw4uE3TFVfvAmcl7Vdpq3
rLqMd2j6taHU04QmYfBa5l08C5p5VtkQbM3SRDWcok+NtICpUhp/DadzrOa1ObS+onVjDS4XLjm0
Pa4DYGXcawwMx+jX89bSGtRea46u2yND6CX5PL7Oeum+znH2fLpurBpy0reoneXkw20pAosCqA4T
3vQwYV2TeUlsJvUNvrMcB7nFVHtv5Nm+I7Z3cM4hTqtTgv8pYNQ/l9mJlSXg+c5OTtIHq2mMmsao
aYyaxqhpjJrGqGmMmsaoaYyaxnzYaUz3GH5AH9xqIIu7Hd11yQNrny75ozed8pmQbRtvMhOyAXcO
mAl9aOW7vzWkJl1neW1WheV8bzOfQ+/3mW/KHRqnY7bV7VdXd+xJRO/58eIp8ekLuaWs2C92aF7U
rVJVK6e5VXrEVWx1IfXXvJC6z+HIWbz6qSMQdQSijkDUEYg6AlFHIB/2CEQNrLo9v1GjFTVaUaOV
4y667XzU+HnO6T75mdQx+1Kc0FV9u4DPYOve5VjD4VvsXY5laV3dHhb8+4kPvLpWnutIXu7PprNs
6CauB9gr/OEdTfsFRf8PUEsDBBQAAgAIAPlZNksq9MFARwMAAKkRAAAxABwAc3RvcmFnZS9pbmRl
eGVkZGIvaW52YWxpZC1rZXlzLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADVVPFWVVTxVl1eAsAAQT1
AQAABBQAAADtWMtu4jAU3bPqJ3hJpKmUd4BdgUFiMUM1pbN34gtkGuyMY8p0M98+TlISh7z6VKVR
kVgkuff45PqcazvL+fQG+D3wyYRggX2cwIxRCoEIGb0GSkK6nUUsAXSJDFv3LNvxHMvSR5Y5uKXh
7wMs59N5LXMyCRpRFpztZ1EIVEi8izNMzx0Nll18MgjyciZ5fi+H4R6HVEM10F6ooYpkGKY2aMAI
6T27g1UMHKdAV5SsOaYJzmDX4R74UFPLwGKg8+kPkDiJmGEaQBQBaUJujkyZfeL953jtkmUdQluE
XI6kcAlSVddABkPiN2Inu4Mg7EgXjGd+aCL9t3ZvqKGh/sfbbDaO6UBgGbqWV2QhqTH+IJ0PEQg4
xZ8KVnp6zYoe0RjZ8bSBYR9BaWqts8Q7TEkE82yw/rDH66IBJJLXegccEJZ/wxoZY9t0bBvFed8c
PA/qmsWxFAWmqJj5L4iyIxJdY/Sxnh04l12uGKkjQYZsGN8/ZuRVKfJysbbIKZ+uKQ7uJKUbKYWu
apKQzOvx/Vp+nUQbNXhiUowhA1eqVycT/mhato/TSNIQwmgV5eYQBJAkksolCvJiIjleklYxTCqL
lum4KWABRcIkxiLYfb0vVqbybXxL17WK3dK+0vZyWc9RDISGF7I2tme7pmkajllfqjoK3es0J6tz
W+urre1vZTZXf3+zKWO8m9lSRZVWUytrenLO23yXFld1UZapy5/hGoY3TjO7bLg6S3+bWTGkuD6w
Yn6w6XzvRGAufuZ2nEkSW1AW1579KAcsoC23tic1vZFnts6dD9uQKunL6lS8dP/5DfayNcg8Fa0+
2qv2HW8hE8sbu6NCJu0NeqV2pqe155KOciEZzNLpk6Oh0/lEztcxFLuiOaudWf5QeWhAZd9MteYQ
XbcM04Ux2FgHRxs8XWL5cqTcyGie6ahxlbmNtxwT+A5AgDxldTHGpmxqcGy4/4JVRzlMZT5Y+b9k
cfK+cylXF3Sh1d6sFpm9WHkpXX0QK35FyOeDD3tQmbFEsPikwMqDkArgFEdXPuOiqodjGOW3azJv
3ZjUj03Pjlb9lnEuJW7Iv3um2dqnEMOzR6Nq0B4/+JAdiJY0J3CeYeutvarlo8fgH1BLAwQUAAIA
CAD5WTZLa9gDdOUDAABsEwAAKQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy1zdGRl
cnIudHh0VVQJAANWU8VZVlPFWXV4CwABBPUBAAAEFAAAAO1YS3PiRhC+c+InzG2hKlulJwJuNl5X
UZUEJ/bmPkgNTCxmyEi2s5f89u3RWxqNMFm2NodQxUFSd3/dXz+mpfXd7SPIV5DLpTgBv7v9Hf56
gSRdUR5CHEM0+swZ3lnf3d7RlG5pAiZJ8pGMR+sr25scKeNT0qMUCs4hTJngq1gkEN1LcVzFDHiq
FMnE9qzA9fzAd53FwnemA6boVsj0SVKe0MxgN5KokFx1IFGuRnGtueuMJtG2F+IEcifk8aYPSROv
cc6G2fYgmM1Hv8BRyC9o7ZaGz4zvH1MhTTFeg13Xsm1kN4dtYjbACvjJVLHauo+Zj1Bhg/xQdeeJ
HUHeM4nkTqy/g91u5zs+bD3b0nUzmxueZ+mGR3nlFGWUKPGayCdRJrNLRL/ZNX+QYi8hSSrXEk0y
YtFKAk1hs/0TYbKoS380YVHaWYnjKYYUog3PGdVEw0riDC0u5LQYY9Myq0d6aV+YxZGOh0vKfLlk
/FU8QxUl5rChlMX8jSVjdlYMgGbGBnQPlEcxlNd1gWCYTweQQCj+bXduL9xgMZuTwmMVyT3CYJ8g
WaAyXNooJ05fwfZLDjzt8Vi7NZk2yQqxnaeDuS1CzsCuwozn+J5XMXOZqQdxOmG2KSdVFn8iXLyR
dAjjnNerFymxGyukAYVimhcaOSuVXt4lhnMgT1dzTI4ef/uZpaAN7D2kG/kpQcWYJYfSwprvBAKU
JxIiGdR1IJLdwiuyYzGQD+MPBJ2NWPI83NN3usuN+gvV8aAp9iX0n3NF6NpZEZraoPSkwkDBTXNz
WC5lsUKU87NHRPC2lceXMMQpj658JGGeT4J4iUokS1qnq+PPlMHKFFJ3oml4+PRaHYvN2Wzls7nq
eLXlmILLNqBGD5PJGLnxAm/mOI6ttpfuYjVA9Nlm9zOeTYuYtoRcq99n1vfv9wbGd+t3VVF1tzeZ
dQJ15hhaX5Hb6kelaeHPni28YIGa3zgJBrt400G/TlJtrM0fSPg23A0e8siZTP/Iu3mFTuxhcDlq
7d3ZYmfS1XZvJ5gHzr9ecUwls4U94w35Ne+OYcOk3DRHhKGsusbLzeIdM7X2sHGB+tk2rE6YuirJ
G0sP1URtjlP8kfo1g9TDTmXYjyzLtZ0ZLMCjFvjT0fsTm4fR2hnb14ZIBf982ksawa8AEUTvORLs
hYOTCN567v/3ds8LD67Gy2D3JQd1JmMy1ndzTTKjub7Ezn7BYXYTRf8/+GEPjAuI/rHmYulmi4pT
a0Ta+J9pFVOI6S3LeAqS0zh7l2ybfmNxrL1ijjs1q/bSDr43n7eFjvTLFrIPHOvitb2r4VnGKWv4
KGSO8CtQSwMEFAACAAgA+lk2S3g60kD4DgAAs8kBADIAHABzdG9yYWdlL2luZGV4ZWRkYi9rZXkt
Z2VuZXJhdG9yLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADV1PFWVdTxVl1eAsAAQT1AQAABBQAAADt
XVtz2koSfs+Tf4Ie7aqkijvYbwTiHNfuxmyc7LtAY6wTLLFC2MnL/vYdSQh0mZtuIMF3qlJ1LGZG
rZ6enp6e/rofpp+fiPNGnLs7e02s6efv5L9bsnEnurUgqxUxPvy0TPrkYfp5qrv6XN8QXkvtk3b1
4fpVN60bjdFpYVsWWbimbU1W9oYY9479OlmZxHK9jtp1u9cadnv9Yb/bub3td24EQ+lz23F/OLq1
0f0B/Tc/SL/k2pgzh1sT59l2XsesUbN9/dO//2m6XuvP+uKXaS2fXNtRoNfYjT1JsIi2O3Cl2xp1
O2l6Dn2kLI6PNhyMSpmtbqvdprNFe0e+0GOqZVAOPFLm6t6TH+Yrce5Nh37Vdev38Pn5ud/pk3mv
3Ur39fn1aAXsGVtGwOQdxzde88NX/7BDLia5zB72wZo59tIhm82etE2qpWEaE4foLnmc/01f409j
SE+qsR2OM7Ff1yviEuPRCliVarrYt5CwpUsCtnC/LTVl6S/NuoD4zSk7ZtnWiGm92b/I/ivpHEY6
+d98XUxk+MTagpf6g0X5uvCEOzUIV1NsXrauYb9b97bjLwtvqHs6vu38oVwi3tSGjcM1zpJURkvG
y/6XenZ9E2XEoksZkVAkSgPLxqVr+0YoDy+6ZazI1H+ZvNnu78Nyo3T9eCEO0XT6r90dtW97nX6v
p+3m/0O2oWb2ek0lRLe0/cx/1Cz7XXNF75BRPdk6Dl3B+zcJOuy2j12PgCv7fsHK4ohTMF3RvUK8
CKfp9nJZLiZZTPENKdm/gzZ8jO6Kd3fObnsMFR6jiW3FR3naLhZULVNSPmmLgJkafd/G46K5ie1d
nf7AG3A/lGFu1rq7ePnytt+gosq0FSjT/Ur1dnDex/m7e2QBaddXlDe9YW/Q6XTa/c5NytAQMFq6
0vo+n3lGRmqLL2uxDVrVL7bIOypbbJ5EHZZalLOdobdJcNadx9zoKvJ7tuh/7UG7PbwVbi9U+B8T
3cuZlTYVrhNybL54Fn73xtUd9z/BcpxQIpZEaI7EzFLflOL1TZmmneFo2OHO3ZwsTSvS/SE+Ff8i
r3SJpyzwZK/cNksRu6MMMekObwejvZjwFfRjVDOpqecDOZE/KAW+JUzfpoXHFDpf76b7slfOUc1M
/9MOZwftoDc9WesbrVa33RmQW9LTW6R/80FdxILtKGYvxv8ODa7ULvNzvXR0g3wjxCCGyu7Svu1Q
pUbeGc9z7DqRM1XySEH7XF9pV2lLONXS/7DDn3RVb91HZ2wYqa67mZ1Ffo91XBKX1+crcb+The0Y
DSb7nN9W2vl6ITrbshQKc2LLOdmmhxYfbdPtBU6MdFuxCyh16OftJ6w1oRvehGiPT6F+fJhq7U63
3aNbWr/Xp//b2Q0XHSt+bjeMb+Q9MizdceRdvvw2N56CTtMdE7N3x3SjfZ88dSvclg7n/knRWdKu
F/pqNadfcSM2FliuF8E+NylfMo/iCSqyfENFI1u1XIW0DLWKbIQlV/2Uo0JSlIqlat9MYO1Gvjn9
FZLlP1Mj4zAeRzssieVNK/kH+fNt+zqnTOETLB0scBJ898whsd5kLPloX/7Pweuzql0OuVQfhczO
oJcZxEUGEs/aYY9U0WT7OebOXXw+YjS96astubcdOrGKohrVe6fefFTY8zXx+Zm2KsVlE+VJ5bsb
f+uI2mOcJtlE6/SbZLkb34yxz0TOVTt/XcZdMMs+rnrSGrTKvX8qzLmvrA12/zUb79fNduVSDrjO
duFu6biTlW2RUjjcWK7B0GKd8y6Xhrpah8pWn4JFV6nRJrUtDzaW2ABTsF5Z86VsuEltMcWZl5hs
eQVDlct5+VSxXJdJfiYTO4eJnMlEzWFvlmQONsPWgv1UNdcauGUU3ApKU+kyXX1pnK0mGqoxWrmY
AinliH8s0W7A5nEGAnXEza+WFgV8ELDDIEP5uPZquvEYiHdztZr4z8UhKcU4Xpxq6S1c8htiV0qp
HyX+64BRIhBBkmOiaNjwGoTZiXcVImjMvVQIOu2v1oXXCPemZW5eiJGprdJlAZNyFYZnuiVgvSUe
bXfb7YzOPhxuwpL7lP+ZsfCZPLzitKE7RxIfkVYRz6bn2A41HoOOiLJjxLN53Xf6dPzsEicWLzfZ
SXYYC5c/VM2LJY/JSbvf67W4HE5J3yyYkj1K4jD0q/5nTvznDztllXhPNwizU3tPgE4qD4fBF6Fg
df/liSb9MG4krBDWFeVKfnBXdBQpxOvMYGYFsEaCWQfUpSyoS5TPqmsmK0bmVLix42KGAAQCEAhA
IACBAATKBQTKayioAogABAIQqA5AoKDFg2WQ3957f5E/M919udOuPmpbX77uNC/8s98b9Qcftdft
yjW/WC7d/LRP3WFrdNvpD9u89/qjNhVVAzgO4DiA4wCOU3mUaERXqi3cvVplPVaZyKClbKHtWqks
saCpcHFFm/A2ILX15DfNtJJk35tcGBk5mX0x7GdQuAz2rapYACl5Q4B0ThoQ3dw07Jso3jfaJX/U
cCyuS4Hj0tAvReoPHSqWhh3BnhKhTR37zfQOQPqKioH/UI5wyxg3XFpwVQ6Q3/EwfDP5vPCxduUE
MeYG4eWOe1SIgFJZH9IQqUzhk4gEusxIIBXFxpFGh9Dvomf8YNEZkR2sebHIRYSnKrBQKaGjKvPb
kEjei8bS1Bpu88VxbAchr9joEPKKkNeLDXm9nDDWJgaO1u4CGmGsCGNFGCvCWBHGijBWhLEijBVh
rAhjRRgr8tkjjBVhrDVLDB9YY/dbi32k3/WfJi5UTkjwYkV0h9dt4v0I5iJ2F7G7iN1F7G7TAhij
9/ayUcR3/HWoC5DYi6TqkLF3YYYQalqXUFNGgr+KkvVmSyUo2GkkFItjUlUloyZpIKcKTCsxqqo2
maULrpzoN6uvmSLBaFx9L5V0iXXEHi9zbFpqHGUJ50d21yGftcxKZ2y/3GDxlOWe7JxNKhkH3BIi
yWeMhaiiWrOuMSOj5smvsPODIHLIWq4tRw3RUCw3efEaQMvyNqUsgZtZdrDc4bA5JY8LRcgJqcmI
LlAPGI5xCUm3q7K21FVe1kDjOscxK3ltsu11ya0xk88mZYpcAH+n+Q5K5ySG5cXKC4Mc1EFbxd7G
Mi0b+X2Itke0fb24NuX4I5G2HdzAqsp9OSW4usDKAjewsrBfYVVhVQFzCcwlMJcoHYLSIcBcAnMJ
zCUwl8BcAnMJzCUwl8BcAnOJ0iEoHQLMJTCXeBvehrfhbXgb0MhAIwONDDTyhZRTAQ2gATSABtBw
rjTUNZ3AEfFeZZZGOgFHQT7IB/kgH+SDfJAP8o9Ofk3w8hVDhtUwqEAWlIQsqDjXlOyckeH4cEIs
eYXQZoCjFEW0Kr3H6e2HTf9cG8EZeFff0nbUilseLZVbJcf4osWCs1eTLjvzjZT/qpnSVHPzqNTk
nWXOA6he3/dIaZnqmQCkAbZASVk1AFYE4BWAV8gQtzjy0Yzxs7bJcMI98+PDqS3s0yZGrDx1XSWe
pJLSA0sM+USh+gKJ1WZy12FdTeCT7rRnbQfDooNFB4sOXraLSY4M+YX8Qn7BMIgiRBGieDacvYDk
+qAf9IN+0A/6T1B1A8Oc6zDwp8KfCp88ZAgyBBmCDEGGIEOQIcgQZAgyBBmCDEGGIEOQIZR7Qrkn
lHtCuSeUe0K5J5R7QrknlHtCuSeUe0K5J5R7QrknlHuqRbkn1bJN537yQbmnsyv3hMIiKCyCwiIo
LFLE+Qz3MdzHp3cfN9FhWzvDr4buY1cwb2xjLdaEvlOfr+hikOmYfcOEoDApoa8aG4Z3aKV/vhHN
Fc66faElNlU7leYlZ86hUDGxejA8z4Nei6WYiEWfbIlUdeZwLGdyeMp0r2Aolpu91RPvG4Lhinx7
eVXSauLEza6C+SP6ikaPbfIlFaWWGDZj6YtV3SMnPHXUay4Ppte4slkVm2+UgvDVD6pux3r5ovw5
l9h0fpuUuZbsWfKJBqXHzrFymGppC+X0Cuo1MOqbgqHa+SovwQNz5iVZH5RrmSgKUIH5Rm4OUdbK
asvQnCjPbiHhBMq/IvovIo0AAOwIcgdQAjJ0sVw7BTt07+og9dS0XOJY+moc/hq/m1O4byjCZp+m
kEP0zD/RrQVZ7b5yw9tB9ARR7GEfrJljLx3K5IMvIGrMpUYRb7gB+wTOsySnFC70xqw+PLOY35bv
7vL6XKsW/BJmai2vc6F7RCbHFCYuyy0i6x3xS8QRM+b8zCKxxrJVFrZJeb/YSqPYfeaYqb1S14e4
02vmnd753K7hlgi3RLglwi0RbolOSENdr3hq5H0veNtUuDbW2VSRR3G7C6oPhGT6RyqTV948lFOQ
+sxKPDc2QTG80VDokCGkfgJ2B9gdpH6qV+oncT6mUad3lHxMw+HgpPmYkE4J6ZQuNZ1ShqxIyGyE
zEbIbITMRshshMxGyGyEzEbIbITMRshshMxGyGwE7yi8o8hshMxGyGx00ZmNcr+tcjKRSwm5lJBL
CVHyiJJHlDyi5M8kl1JhGhDqj1D/PKH+x4r0XSsmvql5mq8GxHNLv8GP4fm5NoJ18DVYErYTpi07
QWan4+cWy64omo6TKcaPqGAXzXNVnvJkxe8fEyZR7wWGHF+noL+Z0JN6ZShTGOa0OBggOoDogAxB
hmouQ18cx3bAC6wnoOyAskMcCVB2QNkBZQeUHVB2QNkBZQeUHVB2QNkBZQeUHVB2QNkBZQeUHVB2
QNkBZQeUHbyjQNkBZQeUXfNQdsCGARsGbBiwYcCGARt2kdiwJiEKzqFkAEprFIt2Ehl+ixXRHZ7V
N/F+rMxVlxhcevpmEMP9TXJsTDYXnMJTTSUH8GR73tmb3U5hbjIWO1E5eRfjXqbjN2MSeedlmfAV
d38JJBDhiQhPhAMODjg44M41PLG0SBnEJ9YyPlEWwIQwpBLCkBBrIg8F3Af/lReJMuhljETBvUfx
ew8UMIf7He53uN/hfof7He53uN/hzYM3D948gI0bDjaO/bpx7XV4kIuiF/ynEe8b/TeQugKHvdEo
m1Nv2KNHIJFPLlTEE91akNUqie44OqGN4VGVrbkSVEfR4tLUGJkr6Quaz4iTyHS9FlKzp7zqOyKR
oIjuiKqeh2assP8DUEsDBBQAAgAIAPtZNku69Ube9A4AANDQAQAqABwAc3RvcmFnZS9pbmRleGVk
ZGIva2V5LWdlbmVyYXRvci1zdGRlcnIudHh0VVQJAANaU8VZWlPFWXV4CwABBPUBAAAEFAAAAO1d
3XOjOBKvusc85U+g9mWTqkyVjfFX3jLOZC51V5vcZubesVESLgR8GM/svNzffgJszIcEAoQN5LdV
U1vBQmpa3S2p1b/u+9vPT8T9Qdzra2dN7NvPf5L/bsnGW+j2ilgWMc6+2yZ9cn/7+Vb39KW+IbyW
yifl/Owe/aE/9NeH/oxd+4Vj22TlmY79SGzDtF8WlrMhtPVQG0xH2ng6Ho0Gs5GaHenw5vX1itnL
neu8LyyT2J4/eqrP6WSWT0/QhVGdkvD9Qhou3nXTvlQYjCzo6iLe03CoXrImw7R/OG/kYU1c3e/o
xja+ubq90YNuv5nvxL24bL3Y8Fnk5HzYnenSkfjvvuq2YZH93xGLNnTIb6/EJYpO/w1Hs+F8NJ1P
Zso6lCz/6+7oMI77i0oNsYgX9bH/+IM8fHMi+WK2zPmVQXHm0cWlcjH4a/r8/DxWx2RFBeIyl127
Tw4Gk8IZTR1rWsSZcl09Ous1nWDdVqJZvFJs56fi5Y1RRPVi67pUQ6KRcl6gTZ4d9333RsiV6L1Q
8Iwl881wuj7rqzdK0hMVBXL29K9/mp7fKv70+vqFeA/ulw190TI3r/se7u1nhw6wtzl0JM7r2YGU
4BH9S3k2LaL8fv67Qok1zM1bzpcapnGbJTkmfyvfwGReZE3o/4qEcDQMhJCnBntKojFow4e46l9f
uzsb4Lyv/ZYGo4ljJ3t52q5WZLOhpHxSVuF8KnS8jT+R5iZhc9XxxO8w6oqybq17q9cvPyLDevia
5WgwuExovG+meB8XmLCYDisX55Q32lSbqKo6HKtZS5vD6EJlHwd85lnSzNIkS98ng+b1PTZGY/ru
S9RB2+OcVad0znmq7zM3oY/+mwP633Ay16Zz+mZNS5CrxQ+p0eVM6pDK5gkZvlw9+wzndkN55nr/
DrV5QYl4IbGlvmA35hLdI7x3MzsydTqbqtypX5IX0469fp+ciqq7L468pEfL3VyEklHSph7ojP1B
h1n4TPNXmINUKj9N7zWyqHFzSv9TDhtV5WDs/BkeG4PBaKhOyJxo+oCML8/EJzb82tiDgEwGQzJL
w/f1i6sb5A9CDGKILAnDuUotEfnJeN6+vWfJhSt2nAh04WH5HzpVoen6RBco5fwyw+dMy4DNhz+p
Zm+pMbsxjMyrOzl7jP2eeJFaQd47X4n3J1k5rtFhsvs8WqLBTiAjyT1IfUIKteFAYJ4e7NCQ8cwb
c2KTXe7tWhFBIzJI7MKyXWe0tUDGcs7v2baclWW/UGZe4KwNLJ3QDX9ClIenvbW+v1WG6mio0WVt
PJ9Ntdksf2/xyCOiJEeUi5VuWUtK8GX+4kzHXLBmlrPCLeRLQeJt1hBxyUw0jox/tKI+2KFvRqqq
7JW6SEO4yv+y1+CiHl64qi5HXTOU5ktV1Cxndxn75uxXFKjaoxgZh/64u3rbn1byD/Lrj+37kjKF
T3CCxXxm5boC/vR3SVTb3eD/51eKE7ypbALNi+n7eDIbFHQV0EL7eiO/8nrSpuqgUavIoZIaNFES
x+OxWjTjX4un0kuMV8jiyVgVM6mP5WQ+bkBFuv8qKvRlTfuBIzGKJC9JfHsf37BwmvD3J7WXgkeG
5Y2dMXYOpzLrQv8WX9GjyIS1stXZQNad3K+sVTH6mo3/62ZreZQDnrtdeVva78JybFJfCLrMNeyO
WAehj0sDtnQF/JC4kxNkrbwNn8AkdXvfJihMwkLSym27pCliqqOomlXVHmG5qKcbsrf9cmyYsNjJ
nIVWnWUqHE26Tr+8s9AHOVLhDPLRuAYZggyV4lqft2XweJ52lYVpg2mTzbV300vGP/w0LWsRPM8P
jqnH8fpUF94Kpr8hcQuW+bHA7x0yKi92Ps2xvHje/f0I8yXehUd+43Lkxm4AmN2KcKOU6581SjIU
bj6itr5qTFvroqZ41xosocz4vRlayeThOacNNetLxy3Q32fTd6jvzRGDjpglYoS9+a/vjN3Ns0fc
RFhdSEYQCndeL4YsA84ZjjVtwOVwLsgn2fW7/mtJguf3O0uSGmc0V8XHCREzUrEaHBG6M21z8/p3
XzTph3HDVAF9ajv0iTHrQNLIQtLE+SyqM5IgOKUwNHX2RU0uenJhTQAKASgEoBCAQgAKASgEoBCA
Qs0hbsIW97ZB/vLHfSO/HnXv9dp3Mm+Dr71WtPGQ7ktn48mV8r61PPOL7dH1U/k0mg5mc3U8HfLG
DXrtKuoGcB3AdQDX6VlAaswuiSlJZMJYj0UmMmxZJNS7ViLiHDbNFeTQmn9S4kIUF92Bql0pYaPU
47Nox0AX2o3jhpJPB1MoTb7R/+38t7NF+BNdYpdmMBWK5fwkbnBD6R/V6YqobOkJIXpyoDZ81b9I
/eEnkAmW9IWzpate6i73Kv1AeSZ0haRz7AYGdFOBCnFtLTm95TU0Eqtc3YxaNaGVGSVAgHhFGhDd
3c7o7kb4cSxuywwb7XOIDaebrU0Xi9Ub8YM2AktHxck/JcWp0Ga+3+1K+ZtwJxFl9K3zfkb3CATf
HCMAqAOROyIBSIju6W9MFAAqLTHTLqHy6X3d8dOIGEo74tI0H02ulPBFOrd22D7VoJyplbM9Yplk
YQESsN2tlLFGAogrQKhKLhtfXNdxP1JMdqs2VaWUU+oODCHTCJnGpgoh0wiZRsg0QqYRMo2QaYRM
I2QaIdMImUbINEKmETKNkGmETCNkGiHTCJlGbYX6AczhVu9ua7PP8rv3b2O3LicmeGUR3eW9tvB/
BHMRJ444ccSJI3FxXlxq/CK9qBcjZaHaV6MiZfcLTQ9jncAMIYL4KBHEibnKJybRNMfMp2a/y9HE
Cc9ZSksLlqx085w1nKH/PWEapOujxqr3MrZJLPQIYUXHiTq+FbQYjLAzOZo31QYziVWLyinrRNNm
QoFuuaN9t7cbYny2nOWdae3G3rQoGkx0G8VWijLRxKLa00qjLSL9CXWRZOXFl/TKqfElV14QCjav
spoc0aqeMMQ27R6UEYlb5LFKb495DqtUuxxIxHQyUuUbuVvWEbnXBkzI1yc4ffLrQKbloVjza5u/
tOsxcwhsY3khkYWhys5IJL9Cy6xmN1PFsy6aAJEAREIW15pOgjIZTLSr9AMJSVDKUTFV55Or9IMM
FfLObhXOZYDhtr4gSdMr1G01j2rPKpNJvpLNubBrKnVCEwcp1NLC1uAjc+2Wc0eNCnXgBjDJwCQD
kwxMMjDJwCQDkwxMMjDJncckl4AWV4YvA5MMTDIwycAkA5MMTPJRMMmVT0fVsMzAJAOTDExyI0WV
MBpGw2gYrb+jAa0PtD7Q+qgiBRpAA2gADaABNCDdhtSCfUcBawmOVrLMTfXcCbICwNtUS7HxVBsg
H+SDfJAP8kE+yG+U/F4WwxXdQaO+G7AUQCjVqCzZ5xq3QcD197URHpF3ZWodd39Wht2smaCsUQT3
qTKZ7R0GFev5Vih+Wzcl0WnytEjKMQiz1A6zhFwObc/lUHOKoFHQKGgUNAoaBY2CRoHzUA4oBzgP
5WhpprpGXNxdzzUH+kE/6Af9oB/0g/42JT0vGwyAbtBN97tBvAjytyLmCDIEGYIMQYYgQ5AhyBBk
CDIEGYIMQYYgQ5AhyBBkCDIEGYIMQYYgQ5AhyBDqjKHOGOqMoc4Y6oyhzhjqjKHOGOqMlSttVbl4
WIkCZagzhjpjqDOGOmOoM4Y6Y6gzhjpjqDN2kjpjqGiDijaoaHPcijZ1HMdw/cL1K9H120Vna+vW
7ha6fr2ceWPvtxJNyP5AU2QsooYpQWFSQoe6MQz/sEj//EEUL3fWnQ9aEFX0JWkebuYc5hom1hsM
r/FEG7AME7Hpky0pNJ0VnMKlnJVFtjenK5aLfKDlrxs53dX5dnl19lriPC1vgvk9BoaGbv74x3TZ
XoHdDuWmcOAy/oGusPuwO7ppjPH5OyxKwX7oe1GXWrsuuZ9870nBtitok9lRpd+UfHpAfbk+locT
TkdWs5SZ3PptosNVLOC2lpyAvZuFak5cSqZUIhepeeLKZ4URSHdx4qoJ0ksdlNLkboTfIh0Jytcg
TWY5w3saEjuad6zdicFQSQymuLNcOwU7dP/qIvPUtD3i2rp1s/81eckncN9Rh80BTXsO3djGQrdX
xNp95Yan/XqKKHa39/aj67y4lMkHR0f8wJDpJd/KhezLcd6lOSVwM3jDeoe3GjP7F3FusV4U+NYy
F3+sMZL3fjNmiHfPIB83RYK5b5PxhrH1rN4V5A1T4TM3friG6+Y1XH8uxHCxg4sdXOzgYgcXO928
lal52ZJ1/9a/SkHBmUoFZ44tYUe8qil/hyjjSkd+nWeWu1CeAEu5z+mGuKNaw+nT5cNvC78tMiVB
hpApCXAZwGWQKalzmZLy0xfNVO0o6Yum08lJ0xch+xCyD33U7ENHTiKEREBIBIREQEgEhERASARU
ESv/QbP0HCczEhIBIREQEgEhERASAcGzCc8mEgEhERASAX2IRECVR2ucTKQeQuohpB46WYR6uzjQ
jnh5RKgjQr33qYdq04Aw+2qBy30OjW8oe1AXA96PRn4P0QBtSNxUU+97oc6cboKIp+9rIzRrX0ML
57h7YMZpEs1Ix5dg/rs0/x3N4tNmPEoL6Adc5yjdABgEUAeAQZAhyFCODH1xXccFL6BPANoBaIdw
FADtALQD0A5AOwDtALQD0A5AOwDtALQD0A5Au5YB7Y6DKwOWD0A7AO0AtAPQDkA7AO3g2QTQDkA7
AO1kAO0ADwM8DPAwFDBBARPAw9oKD2sQiQH0UZlKBc1GFIvFz/Y8DitvX7eyiO7yNnUL/8fG3Fep
zgtPyQxiuL8VnArTzXNOy5mmBQfldHveGTnVjs4kT0+mk5FaU0qFjtf1eFjqjM2YSt6huEgE6zur
cuQQgYAIBIS7DO6yXrvL+hEIKC2eBJGArYwELArzQbCOhGCdvodrVwjuyERFRCFy8kI/JlrJ0A/c
UtS/pUC1bzjL4SyHsxzOcjjL4SyHsxxeN3jd4HUD/PZI8Fuun2pvvRa6vSKWRYzyrRMj06VkzTzM
xX+IYwmCpzHXHP03KfQTBnHRpTx+U42ej05LbNNOzf0nlnVqtnGayklgZwhtsnVnmAB5Oz2rJf7Q
KWNegn3/B1BLAwQUAAIACAD7WTZLYTxx5W0FAABFPQAAQAAcAHN0b3JhZ2UvaW5kZXhlZGRiL2tl
eS1zb3J0LW9yZGVyLWFjcm9zcy10eXBlcy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA1pTxVlaU8VZ
dXgLAAEE9QEAAAQUAAAA7ZtLb+JIEMfvOeUj+AjSRvITCLcJTFZotWOUZOZu7CLxxnSzbRMml/3s
235g2vTDJpBkpOlIkYJdXV1d/f9V2bGZTW/ugbwAGY/xGtD05g7+3UCaTQIUQpJAdPEdxfTIbHoz
DbJgEaQgszSujMuL2fv5iyr7CUYIwizGaA4oitHjJMEpUGvLNYeO6w09xzFHjs3PtB85HodCL7cE
ryZJDCjLZz/wORyM1PEULqK3R1KOb42htwpi1DcEiWxx1WM9WZbdF21GjF7wM/hrIEHu6AuKHkiA
0qBw+xCvgPT677nN2p/21+pPjgBWCPc2JnQmJpYwp4RzctGLFkLf6dMmi/AW3WJS8CUK+j/uWK9v
9Myfw+Vy6dkehI5l9suM3NLQMHmllQQSyGBnv0vYvkY84LrmCC0VZwURtgVIi0RfmeKnAEUJTIvJ
2s2qz3VBSWlcD09AwAjor+WMrGvX9lzXWJd1+OI4V3O8XlNRBMiod/4PA+GtkanmaIt6siGEVs16
JsUAarLEZFWNKLNSjyvFKpFTuV03QfhMQ7qnUlBlM4qjKW/fruXTJCrU4C6Seg5q6LOsjsekghav
1rllJDDBqOnlfhOGkKY0lCsjLJNp0PnSPItx2miCtjfIHdauojhdB1n49PWl7nT71Swc0+w3cMvr
imxxRc1hADJ6lzQ37tAd2LZteTbf+hSJbiXNK/IsK33ctcK5YBuY7w8bM8e7wZYrao8am1l7SPdc
xl2eXJaiYqRJf6yBZQ2v85EqDP2D4efZFYuK6xMztgiXynWnWUCyHyWOExrEIzDNteX6lkCQgWws
d41rD0dDW7p3C3iMETN81tyKt17P/g0rWhroONYbP9tJ1x3nkIkzvB6MapnIC7TPVqZu5XkfDvOB
RjDJt4/OZuzud+h+bePsqS7ObGWmP8b+JsTY181ca15kmo5lD+Aa3MAEr3/RXWJlO2IOFGEe6EjY
Zb6vH0kQwTeACKIu3cW6tmlRg63g+Bu6DnNzVnDgL/6hySnrzhXtLsZln1sZZ1ksbP+RUr3JfPIl
irih1c7OZecr6dQa2+uzEb1rmR3C8lEpOZkQhetoutwpsC0gB8xG6+Vdc1y1pFRxF83bSqrRrrhy
AyT1RCSBIMo3xPDvd1zNpoZlO5ZLS6HnevRPu3LH+mosjrr4BlvGbV3RVEO+/ozTHGw+7obUtiTO
2LH3OabKckbrz1yWmCN3yeiFQZIs6Cr66iZD55yI1Capj5PzK7MxWjQFS0vDuG4ddT32Uflfm7Pi
u6sZbdSytYU7pt6/2kxxPVKbqJmqK5gEpWd4LQSczlAH8Mpbrbu8qYg03u00hJhI46FANQwaDvYn
u1AzPy7ZLCNyxUs7wslCnwt0xfTf6r7uSNV37bKDMqbPb46arl+ArtO0rdnUbP7ObJ6mPt03NZua
zc/qm+dgV7Op2dRsfsI17dkbr2bzI9nMnydNNiTFREanL7c4hc/9xG2ENkMUHFVvPWOofAJSG6lJ
ZdIhYQMfWjAJL4+Px5ITxqWIiJcg2cAtJn/B6wfcJfrHJ7YbVQohncyVL1ZTle0Usj8hu4N0k2TM
MxRaVMvnLh9N4C6uEKMsRnRvN6h8DtTLcBkVv8g4ywOAdyCx4bkNRi4M8Qm1cpq2clEe2KnBnDWM
JWzGAiMBnpWZsduONirbujuBJVBVnEX9XRievXUzupE8U2rxZJhnUkFqnjXPmmfNs+ZZ86x51jxr
njXPmmfNs+b5F+dZA/tbA3u+13jxahVnzXeTt3GSTIrj3DvX0m/J8N/hO3idG68bL/Zb9Hdw8Eo0
981da+iORlJVKL8B3HS9Cl4XUByfVZt7OI9rcqmpYj523f8DUEsDBBQAAgAIAPtZNkvBxGDwWgYA
AIxFAAA4ABwAc3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLXN0
ZGVyci50eHRVVAkAA1pTxVlaU8VZdXgLAAEE9QEAAAQUAAAA7VxRb6M4EH7vU36CtS+bSF0JCISk
b226PUW6u/Ta7r0TcFquxHCGtNuX/e03mAAGY4du0mtP50pVhZnxjGfm+8YOJYvLi1tMnzA9O4sT
TC4vbvDfW5xmc4/4OIpwcPKNhDCyuLy49DJv5aVYJom+oMHJop4v2MnPY0Kwn4UxucYkCMn9PIpT
DNKmbbhj23Gd8diYji3RUq15duZ3znJF4808CjHJcuutOd3JlPfnKOsbbryQjFCHUu0g8yxouTas
PbNmM8caKabyVjHN7qhHUo9NWFgOVp3CCabrmG7Ou3RAkBvKfdwkEc5wsAQtLx+7CzeYXoUUljc0
vrvr9dqxHLwaY2N08hvexPQF5rjw/EeI+G0WU5l3hSwv2DDMdIYjwaGkyOU+d2zTGHUtZhNmS1Lk
N79d18tdXGa9kOIU+ZIQbwoB7jCpLILWhFxwhEBSGH7Cy9Vf4DMbuorpn5imeQk9eOQes5zutDkx
gBbOs3iD/ZgGXfe9IJDf/D8qP9Mw41N5FZIwfQD0y1MZhMG1AlodGiF5ih9xVcvnJOCUWGUPVaiP
FYoMEgpdKJcgwuV15UIKrt49YIqRB7/meGrOxu5sMkU73OVYuAIzEK4ywOUcJX90YapbUnG3w2Nh
aDjiIe8DXY6UfLtbMjN2lMjYlmPbVWReN9V1nCTAWR5BVRZPEYmfUaaysc/r+ZZS6B+VJYXCrgvs
NIqoVHrK/lGki2emk9s/fgW4CHx1j7Ml/ZqCYgTgKWdYkHUMBspuD5Yk6qIhxIbgCq3DCKPPg88I
nA3C9FGNy0vRZZ7U8/YrKHYl9Me+IhybrAhlMCg9qWyA4JLfO+QcX2wiysbbIRKT5iy3W9/HaQqu
fEF+kU/0VLQFFKaNHY7lTPIJq6kgdImX+Q9fn6ptB9/UjaKLVojP9zmyxbE9EIdhNBxAbGzXnliW
Zeb7l/bWShHovWB3WJxlWzFhO3gsvE+Mt8c7Z+PN8J5XVI12PrKWCzmXQT8PbgOPuaYBP+ZkZrsz
0DyQCZQoXrasHyepJtTmOwZ85a8NVZOHmNGssclT7j4bJyCKvQzLdIXzj+VOXUua+hW+DwmnviB9
OkBb66CdkJxVlzyd9OPU2jZ3Ae7N86DlHaauSvQcZg8Vo/J0Cj+oPsahmuzyDDuBYYxNa4Jn2PYM
7IxO+ie24yjWvC73UEJr+JbcUy/Av2Mc4KBPSzBnFjARfu4Y/3h7z1c2Lu6cxbDAbfFBZzhAg45T
YluShZk/GyRbILPzIBBUd3V2Lbt/0OG17dbec2zXOg443PMbJmHqPadgQV5xIBZl1Z9jzAUFCRd1
lQCcAXOsL29LlC8ukWmNTRvo0JlNXXs67XXimx8aETT0vShagcMjNamDzXlXZiXMOD9+FTS0u0zw
ldkQrkijYuIlKT7xOipUSnzuQwiPY2FMnb9KTNH/KxF1/VZsISnbR/zy9XuYZumCNGsXbqDBKYrZ
IErZKFe7zsyw1Serm7zpwESU/VVNNZkae6ZiH6Tsd8p2LelM1ecxPdbmOFYvXF6/Lp08CuWYkvL7
wVC67qhcrrfvDnqvxFXfnjkpfHr/Vqfx+7Hxe1jZa/Rr9Gv0a/Rr9Gv0a/Rr9Gv0a/Rr9Gv0a/R/
IPTnD/rmW5rGVIb/pVziEAaoDe/jgKaLHaPq1HOCyqcclZCaC7hwVE+QfHZdfK4MtY9Alb6coU+D
TyeFaP7IZRWyYKEofsaU1X/+Xw0eCdA2SeqRGjyFag6bp/wfDdkjnnm8hcxyQJmMJ9PT9gBaY6gC
yAJlcEt/wovDKr8PcpevT2A/9CoK9mD8LrurdpepFGe/4OwGp9so457HMa57D6SXfvkxgTrd4qst
KZ4pDrO48EpcJNQeOIDfAPGNmfeBXnCj+4a6cpqy8qJsyakJYNEQlrS6sFuoF6Rd27JP2wMCpA8E
6J4ND8XMnnqRiUSqXGV5v1hmgWAvAtIMXtCDl/JLnBpTQ1iidlI7+eGc7NHZFj9LUf3620LJ0Ae3
uIWUpnWX013uX+5y/wlOePu9smYUzSiaUTSjaEbRjKIZRTOKZhTNKJpRNKNoRtGMcjRGOfLXLzRf
y3kOo2gufAXCoP2mVJw03lQz4XfSer9H+IoQk728Icuz8qtGmlNvvJcVZuOLXbradmzxyfjO54Hy
bVnxu0VeJ/0PUEsDBBQAAgAIAPxZNktyx6SahAUAANE0AAA4ABwAc3RvcmFnZS9pbmRleGVkZGIv
a2V5LXNvcnQtb3JkZXItZGF0ZS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA1tTxVlbU8VZdXgLAAEE
9QEAAAQUAAAA7Vtbc6M2FH7PU34Cj/ZMdwYw+PaW4E3H03Zxk2zfMRwnNFhyhRxvXva3V4ABYV2w
187uTktmPBPEuUnn+86RGJjPbh+AvAKZTqOABssgBQ8jBCGNMVoAimL05CU4BeODYTnmaOC4I3cw
MMcD++oziv/Zwnx2OxM0p9NQauWO4LWXxIAos3d9YHM0HF/N63jwBtDs9h6Yj5R6AQohSSASvaok
Mw8Xt9dbBzHqGxKlesL5TKODqfbqmdqTiWv3NaaCJSb0kQQoDXKD5Uy4oczfepMAhcjfAAmyscd4
DeQuJizUnvlltFqtXNuF5QBM5ixaSl0x3RUm65tjPG6KRLb5cyzm7+HP32OauboNwhem9EAxOWFm
65j6qEhcdrsG1iMu01lIcYp8rsWbwtwlLrXZPTDYgoYojhaapZVoxOgVv0C1uDco4pType7pMIM1
inmOGsuTIVQwogRJ+rylEd6hO0xybGem7ph9TN7YTCFDYSlcJlSWMbmk5q4kFGGo1+fBFzKW9bWJ
eQ5QlMAsd9Yutr+uspKyuB6fgYARsJ81GFsTx3Ydx9hz4+o0Uwu82TD2BMio0veLgfDOoDofbVF7
W0JY2ak8aRT29N9rFKtS6RUQV2CiSBfPbtncv7bla2C15IsRaSa6asfyGcGo4FtGUvlggj7fKqZT
su8ZZW2WiGDUtPKwDUNIUxbKByMs8mAwf2mWgDhtNEjbHWYGK1NRnG4CGj5/fK26DF/3TVaHeaZm
bU01ubzlcdwzetdsbZyRM7Rt28ra1WEn1Sx0K0ndfJ1VnVfYTVyKp0Pz/XnK+Xg3nmaIqlnKr6w9
0vT6bHF5FuWaJvuzhpY1mph9PQ39A/XLZMVi4PqBK7YMV9p5pzQg9K+Cjh4L4gm0m4rGDphAQEGl
K+x/7dF4ZCtzt4SnGHHqc9RWeo/aT/wBa1YahG3aobez9h2XgMlgNBmOK5ioC7TPV6bjynMdDnfB
IvCy9DFvRnkuYvnaxfS5Ks58ZWZ/Rn0AMOq6mWHNjUxzYNlDmIATmOD2r46HmGR73Lwut1FCl/m8
eSJBBJ8AIoiO6S7WxGZFDXaS8W/oOtzWOeeBv/ybLU5Rdz6w7mJc98WN/6FkPrH6krF6S31yE0WC
6j6zC9X9U84urWG1Hk1k8zjj8MbvdgTTLQcbQV5zxhFl9adGT1BQ1BMZBIIoS4jhP5S8ms8Myx5Y
DiuFruOyf+29Od5WY3LMxCfYcWariqZT+fglTjNii3E3oLYj7ADL6T5kNNWWs/rM552bJaMXBkmy
ZLPo65sM8+nJ0Kaoj97lkdnQlrng2dIQrlpHVY99VDwxuSh9y5rRxlq+tghj+vxVYpr9SCWi51RV
wRRUeoG3HMDpHB1BvOKUdp81FRnGj7sNISbKeBihGgINA/XNY1izOG2xeY6oEa/sCGcDfSHBFdd/
9+e6E1F/bJcdFjH9+ObYsesnYNeZz4Y7bnbc7LjZcbPjZsfNjpsdN38ibmbPrL0tSTFRsdNXS5zD
z9pxG0ObIUpG9annBLVPWSshPVO55VBwAx9KcAtejE+nihvGtYxPr0GyhTtMfoO378Ao//SFPY5V
GiCdzStfjqb9aqdAfwV6D+k2odxzWlZUi2e735uBZVwhRjRGLLdbVDxr7lFcRCVOMqZZAPAOTGxY
biOjEIb8hh45TVk1KA/k9MScN4QV3IwlQhJ67sWMMh1trGzr7gRWwFBxEfQfw+H5tybjOCbPtVg8
m8xzJSA7Pnd87vjc8bnjc8fnjs8dnzs+/0f53BH2f03Yy71aVHx30MjqLk4ST/jc4Fr75q74WcvJ
0o24Uoo35Ztl/Jtq+Wj9cpjFfsODt72Ej4WskTMeK8Gl/eioaXodvC0hH5/vMXLoxzGv/gVQSwME
FAACAAgA/Fk2S3+aRJtKBgAAtTsAADAAHABzdG9yYWdlL2luZGV4ZWRkYi9rZXktc29ydC1vcmRl
ci1kYXRlLXN0ZGVyci50eHRVVAkAA1tTxVlbU8VZdXgLAAEE9QEAAAQUAAAA7VtLb+M2EL7n5J9A
7GVtIAtIsmTZuSXKpjDQ1mmS7V2WxokamXQpOdlc+ts7oh6mXpS9dpBFqwBBIIrz4Mx835CKNL++
ugf+Avzigm2AXl/dwd9biGLHpR6EIfhn32iAI/Prq2s3dpduBG0zyRcyOBuu3YCOSIOQxygFLw4Y
dUIWgX/D2doJA6BxIkiGuqnZY9OyrbExm1nGSKHKXTIeP3CXRq5QKCzPO1cy9JeN6jbAV4yvL5u0
Hrb632DN+BvOvnK954A+3seM7+Gvn+l2ihDdAvVRXkQKZ+9iM9amYyOzIxuRtGf2hqM2dzgOv8Bi
+RfaEkM3jP8JPEpS8+TSRxCRqC99556cTdnVSk7LjtuTaeaRZBoXDyHEcAce437Tfdf3s5voSmmZ
HltvEll/gRl0k7GHYA38JuCYjqH23V6tVpZhwXIM2qjTdFX7Jl1Xl25Tb9a9c/uoNZ9a+JUHsVws
NwENoidoDO46iBc0rdHk9i79Dyyv3HSWJCiXdf1mraQaTCoppKKwg3L8wL89DNsBfWHPUOT8kvqS
kKiAoYqYmEJQlI5CFpHnh5BfFy5E6OrDE3AgLv7q46k+G9uzyZRk9ZkE/AbNYKLz0sh15DTTlLjm
mYq7DR7XhoYjGRoegn+kzE+2ZGHsJJExDcs0i8gcpuqWbTaIbZeSIovnhLJXEqtsdHntbDlHOiws
KQSyNpRJpFEp5NJKb2lgabpkkj+7/+NXBHqN+h8hXvCvEQqGCPtcw5yuGBrI2xBaahGvGyJiCK/I
KgiBfB58JuisH0TPalxe112WmSNpJjXBpoT+01WEY10UYRsMck8KGzhxITf4pF2mnT7vNg1TGC1r
ud96HkQRuvKFeGk+yUvaYUkQlbqiYU0ShYUqDN3Gjb2nry/FzkjuZBp2GxnxyWakbXFioyJhmAwH
GBvTNieGYejJFqu6Z1IEuhPslohz236ptoU4Fd4n2vvjXbLxbnhPKmqHdjmyho05b4N+EtwSHhNJ
DX/0ycy0Zyh5JBMoUbyoWD9NUnWszQ8M+NJbaaomjzHjcWm/rNzilHbNHNwY2mRre2bDntpGa+qX
8BhQSXxO9+kAVamjdkLtrLqQ6WQ/Tt3Zli7QPScJWtJhdlVJXoP4qWBUmU7xh+zOJmRHdkmGLV/T
xroxgRmYrgbW6Gz/xKY9pLRfLV/ne6haa/i2eeSuD78D+ODv0xL0mYFMBK8N4z/f3vPAxiVt5gUW
pMMJygwHZDCqH0WqM0WY5VPNZotkdunXTzFZnd223T/kkNfpVudhqWkdR5xo5Q1TTXXHUas2X3Hq
qs9VP0hxagItXNRUAnh6TbC+uM9RPr8mujHWTaRDaza1zel0rxOfc2xEyNBzw3CJDo/UpI42nabM
tjCjc/oqKEk3mZArszS5II2CiRc0fYBzUqjk+OxCiIzj2pg6f8U0Rf8vpqjrt2CLlrJ9hrev34Mo
jua0XLt4gwzOCRODJBKjUu1aM81Un6zukqaDirj4q1I1mWodqsQjoG6nTNto1VQ8SdpjbZZl7IXL
28PSKaOwHVOt/H40lG4bKlfq7dlB70Bc7dszJ6lPH9/qevz+L/B7HHp69Pfo79H/Aeg/ruz73t+j
v0d/3/v73v+Toz951O9secR4G/4X7TOOYYCd4S4OKLvYMKpOvTRR+ZyzmKTmAikcxTNkT1ynT5YQ
OQRF+dsF+TT4dJZOTR66LgMRLBKyV+ACPcn/NV3qk+1msxvZQS8VTUD3krwPJB7yOmyLmZVgNhlP
pufVAbICrALMAhdgjX7Ai/dH7uLwBO6HXkXBHo3fRXPVZpmKIP4F4juItmEsPZEXTPkRSM/98hjF
Ot3CzZam/1UYxiz1qr5IrD10AN4B8SXNXaCvudF8Q1055bntRVmZpyaAeWlyS6MMmiftBWnbNMzz
6kAN0l1bFg5CQu3mpmVW7md+P3U0xaAbIu35b+TJjWQnp9pU6518Nyffn4/nPwqs/Vh5ruSVo4l5
3kouPTf/h7j5SBj0zH4y0uwZpWeUfrfXc0K/R+kZpWeUnlF6RukZpZtRTveeZPpZVymrr0EYOrWv
uQbKLxnqH3RW3t5lm9Lb0zr+TirvnNa+p9TFC4VtVaH8LrOseu2+LUGMz7PkVu2Y2uHLKwUyW+Hg
7F9QSwMEFAACAAgA/Vk2S5vfmXuGCAAAJ9sAADMAHABzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlw
ZS1hcnJheS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA11TxVldU8VZdXgLAAEE9QEAAAQUAAAA7Zxd
c5tGFIbvfeWfwKU008yID33e2ThOPW0jNXZ6j2Al0aBFBWQlN/3tXRCCBZYFWThxJ69nNGPg7J79
OO95zqLED3e3jyR4JsFs5u8Ivbv9RP7ZkzAyLWoTzyPO1WfqsjsPd7d3VmQtrZDUWSrvlOur3tZy
aV8RNLJ9SokduT41PT8kzn3gb03PJTSKGyo91RiMdWM4HuradDrU+pKurKUfRE+BRUMr6TDx/JDP
xEktzczlglDHpevEM7POfemDia5d9Zyl0NGOBCs/2N6I/FXMc2/8ZHnPpSkXxzEeTa4e//zdjeI+
by37C2v1GPlBi/l2snPMjnMRT2G780hEnDlbBSu+9+RuSXDvBqxBb/B1vFqthtqQLHUy6Fda747T
bmprqIK2zPPWjeb0OL34cb60T/5p0kcrriG/ItWHlcUQuJRGb6nDhmh3XGdxTvDMZi599r+QbMFu
qMM1SpavJ9OEL2mYrHtheeJorHRSK4Nws48c/0Dv/SCJ47ire9a/H3xjMyVxlJyMT6Ek2jGBpcDZ
v5V7vT4fM7bOYqak91YdN/XLxNiX7unGoo5H7hJnzWbpdbahIRvX04YERLHYR9Un6tTQhoahpFK5
Oq+rhb/bMTFZVMl2/heF+gclkvloGrW5DwKWnjJPkgZpbkxbHFcla3dUR004HbeLT3FyId1V7Ztj
+bLIEobvaSSZD2Y45xPqbBakmfWUOwUmPi328ri3bRKGbCjvFPu4mArzF8ar6IYFRGjDUdxh1pXj
hjsrsjfvnzOK8nl5cMytmVLj5F83uQQMnICU3jVbG2NsjDRNU2Mcl3kjWehGpQ2Tda7jU4WnXYlt
NHh9sXE+Xk1scUTlUuNXVhuzPa/TXby4vIqSlgP2o45UdTwd9OUynJead7MrKguuH7hiS3slnXcY
WUH011GOJhvEmkiLikINGBArInVtKxWgNp6M6yvRJVm7lGv+UNyKl9YTf5AtSw2VgrPs7aK6o4sw
0cfT0SQLk/oEPeczU7v0nA+Hu2AjMOPtY96U02mC7dfBjTZZcuYzM/tR8ppfyfNmHGtDZzDQVW1E
psSwBmTYv2ofYoLCvHh9KrgqlPm8WweWQz4S4hCnDV3UqcaSGjkI7r+AOlzpnOhgvvybLc4x77xj
dFGuBYV/2bLbY0W598YTRuNwzj4j1XfdcD6p2EuOKlVb+fHWrDSoSQuinbSceEOU+eNJHg93iqrp
qsEy2tAYsl+1tDu+r8LkWBcfyYHrNktMsibvv7phrM/quLk7s9khYCdqru1jrDZpVsqPbualu6T0
bMvzlmwWfTkrmE9TFG01ac7sPjILrUUueLUUjDMCZGl1To9vOV7hrUAxtRxczzMrJ/Prn/VtRIPM
hY3qpC4xrlXlsVGmXqkO713qhpu2QhSOps0inqVAkZdijTbVtcmLiy2JnkXRU1GkQADCUV/X2MyD
yruoqlRWbiz1k5TfXuFXWhWuFBFUQfFk0vP1zSoiQaHKMtNoPVVQLy5wIsm+iYu1ggnzaS09Joam
HJMZlgJFOBLm6sZx4kMru3wmSiTddb+IkoJyd/s4chyn0iitphfc85r4Por913jX2TbWHqe4lCmc
q1TAohaC1+wjYyASMKHszp509Z6WfznZdvrN3yrIuxJ9pzAw5PlV0t0lc+8Mvue0fVupSvLtVSxI
qwDDjk7zTV9jNTpu+zrgB1bnb2svua95Xm1X5WUOG8HJ9UPb13Nv651NsucNtU9iUylryi07rvxP
4GviMg/Iyj357mVmkheZmYlc3RmGa0R8/NblU5LaBUps95jYflDrgcm+YFDoIH/YRk2L85aPr/Lr
A21RV8hcfFheCCKFexWXlqBnnpzb1qOj45gKq70mUV259oFE6UZ0qZX1qdcmsax599Wb8v3O7eqD
iLORCyZfiJp4XpcMCiv8bHl7cu8Hv5FvF8ZTGz18OHeB2imiPhYulsQHUUBkIR3GT8O9F7HhRMHe
jvasX9PzKfnh0jnnuAPUvG3UvL4wASqACqACqAAqgAqgAqgAKoAKoAKoACqACqACqAAqgAqgAqgA
KoAKoAKoACqACqACqAAqgAqgAqgAKoAKoAKoACqACqACqAAqgAqgAqgAKgmoLgxo/D8qgAqgAqgA
KoAKJyqcqAAqgAqgAqgAKoAKoAKoACqACqACqAAqgAqgAqgAKoAKoAKoACqACqACqAAqgAqgAqgA
KoAKoAKoACqACqACqAAqgAqgAqgAKoAKoAKoACqACqACqLpJvt8NcwAVQAVQAVQAFU5UDai5LB4A
KoAKoAKoACqACq/+ACqA6mcE1avUkPgTSgAVQAVQAVQAFU5UABVABVABVAAVQAVQAVQAFUAFUAFU
ABVABVABVAAVQAVQAVQAFUAFUAFUABVABVABVAAVQAVQfW9QXbZfwBz+1R9A1RZU3Wjtf445gAqg
wokKJyqACicqnKgAKol0OlMBW7Wtm4wg38SD63lmcp8zVa47XvHLR90kXLs8B17A1YfyOE0Xqj70
Kx3Gm9ekaFPYqEbdtsSYtxSMu9cXZYRD4Ea89b1L3XBD2p3MxENvs4i80iv2+UYmzoRe2Ec1BmPd
GI6HujbVtcmVYKguffa/kCy+bqjDdZNEW0+WynxJwyRMJW03FnU8crrOhhCygT9tSEAUi31UfaJO
9fF0NFFSLUjynimK5XIGMwViFq7hdY0NKwmWftAg+xWb/DzLYoJxcAms6CeSDL94ncRS2YTlR2vp
sQhtEn5mWFov4UiYK1YHsawTXz4TJZJO3s/1Iz0w4MEPeZDvcBj5u0KeUNlnVNnP1Ky60S6NSEAt
LxFElY9inXA08PyQlPwbk0mtwivZb3FMCWbcT7HrrfVtSZL7D6kOyn6MQXs/SUdOnT1LgjQrTkyL
2sTziNN+FfkHXfT/H1BLAwQUAAIACAD9WTZLJB1+FiIGAADFQAAANAAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL2tleS10eXBlLWJpbmFyeS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA15TxVleU8VZdXgLAAEE
9QEAAAQUAAAA7VtLc5tIEL775J/AUapaV/HU6yZLca0OG7liZ+8IRhYJGrSAreSyv30bEGjQPCWh
tZzgKlUZmH5Md3/f9PCYTe+fUPyG4tEIJam7CINk9Ry7OHG9NIjwzVcc/POKZtP7qQtX3QRNIoxR
fo0tod1pt/AzbL1v2U7fsSy9Z+u0HpDGcOYVHciyRgb4LfqO5hsUu9mwMfYJoedgjeJO92a2n4lP
+fqIsB/gl0kYJejAu4FlimfpMbU8xNF6EgYIp4wZ93sDsT+5Cv90Twp5qQ+dtRvgrsYIqURVh9Rk
GGYtvNEG4en9FwQ6k3TiYg+FIfJZiWOPzNN8AX1EUYxGmyJXVdHkZfIQxDC8o//oL5dLx3TQwjb0
riBMkaDmcmUC2ZWL/RCVx5UjCbj7vEIx0lz4GdbAGFr9YW+g7TzOZvIAZqL4J1QOClFa6Sgnuq+J
56iqMeZIwVWGx9SpTpcMlgdF0QVJ6ZRzY41ExjYd264ic5yqx2izgWy7WKuy+IeGo62WimzIvJ68
xjGgpLIkEIAhyyhe7ySKqFRyeQ46/oIpWaTr3vW+g0tPUAqiaPqBP6XHE8n3MoRTgqxo/iurAMvI
K4BXg6UnlQ0YOCcxOxrFO/BG60020mcMiXBdy9Or56EkAVfuNK8Ipgb2kiyKQVIjPdPpZQorVX6Q
bNzUW316q5iNAL+l690a3DJ+4U0u5x4CQFrnFmJj9+2eaZqGw6BIQaClSHPyOPMokFobmgJbT788
2AgbFwNbVlF7qJGRNfsZ4XNwlwWXRFEuqcOf0TOM/lC4VEDxzw/Em8mKAcX1jhFbeEvhvKEHjNO/
CzhOwIkXpNw/ejFyU8STpXoasz/om9zcLdBLgAnxWT0Vp7aVf6E1UAPIkdpoa9fXQ3AIek4ykxo9
790hDsCDSZY+sKaV/S3kaxukq4qcSWaGP23fdGp73sxqzfF13TLMHhoi29WR071RLzFG71c/Lnsh
apX5unmJXR99RshHvsrqYgxNIDW0ZZw/YdUhmvEcB/PFNwhOwTt3sLpot11qZtTIs/peqfY5LiqH
V09yd7yykGQOWUivraC0agoeksgINj/0WA6plBxJCXBogZVJ188Sos2fSnjMppphWoYNjObYDvxr
7tSRumqTAxWf0ZZQWxGTSOTTjyDJ8En7TZwZjbZxkJKyTxnahKwENPLIC8yRWdI6nhuGC5hFV7xW
gM0Jq9o4NDdpvjJr0iwTJFpqg6sVoKLVOS42283CN1qvg7ROLdsgDCf5eTFlnm9XyhWHXtTQTl2U
1FExVdH9jcM5i/ZbJcyZQjyoCwZzUVkIVegV4vAhwEGyUgUi0xuVIB6FQJaVeo82tMzBOffweHhm
VQ+FSAYAmF7fcsbM4/EiiiVQWQYZ1EsoX1/jdxAVohVhdEHZZHb76/EyRXGty5rsqrXsoE5ucFJB
3tjNWm1IdZ9ZxjHMW9g8T8DU2PezTSscviEtFWY9qi8lNeRuXrPK8X1KaNdNPxLXW8GrEuTQTcG9
f2YgBFRxd7ezX/Lpier02QYPlgyBKtZDC90WL3cCdefMvbFe6OM+duBrzPnRrfUmDd1ckfRjY6lh
1bsz77hZuq5c7jvG8cWyKu46wYPS9Ez1bul13ULLcy5pRfMxVJd5KNnwRqxc+GRtEneBbBV8VAXU
OTEIq2GCxwMi7RLirjosDj8Xzze/5Ks2g2TVLiMvirkWgNFrA2oK9hevI0qKXigEU8HRd433r1I3
14u45mpJEuCzSo0fRWlejpogrwzbHCjjgJ+kMzlVMZjKc7wkW6g01Eemn7zvKk3CUfYbyA7p3PmJ
4vooTNmpYTwBLWpBrFXEBZJ8ImU1UoEfWz1/r6Zwr+8DD2n2geYjY99BvC6xe0xw5NNN1WcGPb3b
9EPJNhptNNpotNG4ymg0uBM+IrBntsFH5kVlb3Fy4mT782uv8cu3RP8jhNpe5b1e3Dovku1rX+1r
X+1rX7/Ba1/tu1jtm1GtoMrbX5yvkQ+1JWm0YQKEeyHAKYqxG+ZcQy/2bAo6zkPyk5nciz1DG/Dr
HXx2Qn0Nb/TtwYBLx8Kv6uuq1+7PBcrPz3Y0cWjH1tXtFJ+o8yP9H1BLAwQUAAIACAD9WTZLPn/t
3xwGAAChQgAALAAcAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWJpbmFyeS1zdGRlcnIudHh0
VVQJAANeU8VZXlPFWXV4CwABBPUBAAAEFAAAAO1cW3OiSBR+z5M/od9GqyZVXEV9MzqptWprdcfM
viO0hg02LpBk87K/fQ4g2NgXcMSNSZEqK0XT59Ln8p3TDTqb3i1x+ILD0QhHsb3yvejxIbRJZDux
F5CbH8T75xnPpndTG+7aEZ4EhOD0Hp8C3aIOfFRDsXTDtExdV/qGwvIBagIjz/iIljfTIy/BE57v
cGgn08bEpYgevC0Ou72b2WElwQ6T6d13DHyieGITB/s+dnmc+TNTPS7Iz2VsucDE9chm4gcRPrLe
QNfkXnC4XO7DYDvxPUxijkes/kCuT8rC/XVNMvpKHbpb2yM9xDFkBasuzUlVtdT9VFCMRrvMFkXQ
pGFy74Wwqq7yr7Ver03NxCtDVXoSNQJJzKXMJLSPNnF9nF8XikSwgIdHHGJkw0fVB+pQt4b9Adpr
nKzkHsQE4Rt4Bvs4LnjkcXSw+UNQ+JA7U3KXozEz1O3RxnLA6D2grFxyKqwRyxiaaRiFZU5jtQh2
O/C2TVDhxa+IBK8olsmo0nryHIYQhYUkCQFMWQfhdk+RWaWgS33QdVdcysxdd7bzBCotIRTwzfLP
3704mUWPjkYbHM/DbzkO5xxmZB2AgDyvQZKAnBWE0iG4QmvPx+hL5wsCZV0vepKs1PXcKasyFX9O
ksQMIc+h/1UFoa6mQShKg1yTQgZMnNOoPBqFe3gOtrtkpsuZEpAyl+Wz4+AoAlVukZP5E4G8KHGk
F5VwTTP7CcOCFZhuZ8fO47eXArwo/NEVpVfK+KSCiBaXVhcqh1G3A7YxLKOvaZpqamwRlBi6MtnN
1M6iIsfAf1P53lcun++UjIvlexJRh2ynLatZSc0RpH5i3FI+JpQK/Kn9oWENgfJMJJBm8fxIejNO
VSE239HgK2ctLfJgszD+K8vmCSixwbU7YCfEdoxFtEzXo1kDSxO6foU3HqHIZ6ROBTimOreJFqDq
nIaTeph6kE1dgHqTxGhJhTlEJXr14scCUWk4hT90aAbRAewSD5uuouiq1sdDbNgKNns39R2b1ZBS
z1i+znsopjT82G1C28V/YOxit05JUIcaIBF+5YxfX+95YuGiWvY0F+arv8FVGXTdQoFCHbY3Z2ae
1b1Xcp+TLI5F0V2tjpOHdZVCOlZKRZhlzTirwjKSLRI7VwAsOU4yBAJI4XnSdhOHoPkyT9bZFKma
rhqAauZwYBmDgby0LERKnGgR1HVs31+Bwj05NoPMCc+zAoCbNB8FJWqeCDoyS5OL3C8AdU6y7W+z
qRJst15cTuNXz/cn6bgcLM+XW5mXx1qUMou5WRFH2VJlJw7Ha5bt0PKU4hKJ0ko++TR1qYzisq1j
jZNSiSel3NwMdW1wgc5jwgsDJrU4kczVuiOYMw/HqyCsiPm1l+RsnpPXV7uPrELVb04jkyxmv68d
r2MclhqlzChpc9M5qyuIJX7j91ulKcURcxVYcE+vRZqAqLHrJptFuHzBKJZ6PSjXBAq/AQeek8hx
XYZo3xAvqPst4VURCuDm3iMQRb8lSQhZJdwWzj7jg5Pay+cLPCoZEla85wGKIS93EnbnrL2xpubj
PnEQc0zxEXpW8anEr1q+orEaVwo+5Tjko5j70NSNL2Z4eWMIGuSiZ3VPAt+p2RHg9zI59KnoFtM5
TCN4TNnwpievTVWdjLCGtQw+KgNmTJ6ExTTJ0XcxRY6jC5kW0oeC3/d1Okz/d76irA1GUXoIQx39
mP2BUndBconYCcLkpYMn/CYTaFiaUsc0lzV8y/0zchcEqO26daPTNE2tdlbWaQUWp62SPtQRV8mF
CN7OPuRccPCReniyP3E48cSz7vFDX+k1fVB5gjUaxNPmgPKaI/p/L0B0cjRn4jbNriHNPltENxef
jeXGqSaukRgtrkhx5f3TpA721HViWyBbG3x2G5xdhy+8J2jZn71huqYpH6NlaxvY1hqtNVprtNZo
7gW88yzZvr7Xvr7Xvr73kV7fa9+pa99wawmPCUv3YUe+y0Oe/hpQOnqAOhU+fSlx6YZHYhwS208R
hq3VfOChKhPzpX41/baECDKlPw5QZr2131Y4HZ/tU/lYjqHUl5N9015qF+G3UtlfR2iIzU9QSwME
FAACAAgA/Vk2S+uWIExfBAAAGBoAADYAHABzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1pbmZp
bml0eS1wcml2YXRlLXN0ZGVyci50eHRVVAkAA15TxVleU8VZdXgLAAEE9QEAAAQUAAAA7VlNb9pM
EL7nlJ/gI0hvJH8buDWmkTi8BZW098UeghuzpmsTmkt/e8c2mDX7YUiJ2kMjIcXrmdnZmeeZmYXJ
+H4O7AXYaAR5QRZpkq8eGaE5iYokozdfaPJ9C5Px/ZjgW5JDmFEK1Tu5hnFn3OLHcs3Acb3AcxzT
d03RDmpTXNnCia5MMqEv2TNMN8BIKfaBxpzSY7IG1uvfTI4niQVfZ0DjhD6FaZbDiXcDx9afMpJa
eWDZOkwToIXkxIE/0PtTmYjf7kmt3+lDb00S2jckIe0w1eMtWZbdCm+2ATq+/wxoMy9CQiNIU4hl
iZNLVml+B3scKEajTZ2rBjQVTB4ShuI980ewXC4924OFa5l9TZgyDeYqYxrdFaFxCofnxpEc3X1c
AQOD4MdyBtbQCYb+wNh7XJ7kAbfJ2CsiB1IoGhuHgx4x8Zg1GJNKat5KPBaWen0+WBGCoo+anUeu
NrtKZFzbc90mMpeZmmWbDWabUKPJ4n8GzXZGodujy+twyxiypNlJo4Aiy4yt9xp1VBq9Kge9eCHV
rNN1T6JndGmOUNBFM07isSjPJT8qGS4oyqL5swsBjlUhQIXBgyfNHig45Tk7GrE9ebP1ppSMJSIZ
bVuZb6MI8hxduTOiOpgG7peXUUzyVtGzPb802JiKk3xDimj18aWpbBz5HdPst+hW1hfV4arawxHI
6N1ibNzA9W3btjxJidQEupNpXhVnVQkUesO1yOab7082bo93I1uJqCPV+MjaQVnwFbwrg8uzqNI0
8c/yLSsYalsFgn96on6drFgIrj8YsUW01J4bZ0BWfK3pGKITT3D2/BgxIAWodIWZxg4Gga3M3QKe
EsqpT9qp+B/WSHHU4FdFrTePn3/dDKEo0FO+Mp1Xno/ucA/oQVimD3czDvMt5muXFKumOPOVGf+M
49BpHOtmiTUvNk3Hsn0YgktM8Po350NMMvu1nw+zkNBlvmyeGInhE0AM8TndxRraWNRgJ1l/Q9fh
hvGKB9PFNwxOXXfusLsYt33hZIJkdbDjI7J6W0zZhzgWVPeZnaneXzIwd7o1pTXkVECUnqNt8oDA
LoccMFutVzQt8KojpJpbkyirqEaH4iooKOqQDAIkLhNiTOcHXk3GhmU7loul0HM9/Nfem+NttQ6H
Jj7BjjOLlapb5eOPJC+JLfrdgtqOJQWvOy9pqi1nWH9mqsBcmCWjF5E0XeAp+vomg3uGMrQp6mN4
fWS2tGVb8GxpCTeto6nHU1rf0q9K30PN6GItX1uENX3+GjHNPNKI6DnVVDAFlZ7htQJwPqFnEK++
an0um4oM4+e9hihjSn+QUC2BloHjy3NYM7ss2DxH1IhXdoTfBvpMgiuu/+7vdRei/twu69c+/fnm
+I9dfwG7fg/b/7j5Lty83vyZrddJ0R6qd0mahtW6cFlQfr0jfgl9cg/JNq0bqYUf/2SWF35isAJ3
MFDmWPtTRdv0mrwuoFqf7JN2uo9rCqHZ+3zpuX8BUEsDBBQAAgAIAABaNkuaQmvI7QQAAMMcAAAu
ABwAc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtaW5maW5pdHktc3RkZXJyLnR4dFVUCQADX1PF
WV9TxVl1eAsAAQT1AQAABBQAAADtWc1v4joQv3PiT/BtQdqVkpAQ6K0NrYT03oNXuu8ekgGyDQ7r
pO328v72nTgkODh2QLDaHhYJoTieD8/Mbz7MdHK3APYK7OYm2QGd3D3C9xdIM8+nAcQxhJ2vNMKV
6eRu4mf+0k9BtZN8Id1Ob+tHtE8aiIKEUgiyKKFenKQQPrBk68UR0CwnJD3TNtyB7bjOwBqPHauv
YeUvE5Y9MZ+mPmfIJU8PJwn3O71K5BxoGNE1l4y7D7IGxmhgdXrhslHQDtgqYdvbJnnS9oM08bCi
5KMj1/Vwh6PO37BN2DvyvPODZ6RaZAk74bwKzxXcRFYCjz3XXv9MBytUZLj8CrPlNzw1X3pI2H/A
0tzdG5+ugdtwTy1sQ2dBDBk8QpCwMD9UTccg2e7y1+EMXeHna0/RFthDxFCdnvHDXa1WjuXAcgBG
v4m7H4YK1rvCMW2MbbOZcZva2yib0cJBrXodIucpKX1asBC4NnF5Y1EmOvUholG6gVAMDpmR5PAG
3bVAPmLYAvwwCufn4OjmJqKvyTNUnrmloUDE/dTTpYdEQ8gdrKHFWA1jKJ8rFVJU9WkDDIiPX3Mw
MscDdzwckX0U5QZ/QDHooDI0Sh4lWJuc3LxT87ZBY2mp1xcDOMAc09f6Z39kLuwqlrEtx7Yry5zH
ap7sdohAn5LKi58JTd5IppPRprX3whhm3UqShmCf8vcUhVUquiLSFcWicJeYFjuLf/9CgErJcg3Z
jN2nSBgjXEsOU7pKUEBZvFCSglwWRPgSPpFVFAP51P1EUNkwSp/1uJzIKouZI69ZEmGTQ/9vC8KB
yYNQBYNSk0oGbpyJNSgvMEUxKgtCw5aE1rksXoIA0hRV+UKCwp/ktahJJEprxddyhjnDihWabudn
web+tepPxGJjYE0QEZ/XS9XheC0VMEx6XbSN7dpDy7LMvNE5ruQaQ7eC3eF2VpV0qVO5Ft6Hxq/H
uyDjl+E9j6gD2kXLWi76XAX93Lg1POaUBn7M4dh2x0h5YSbQonh2JP06TjUxNn+jwZfBytAVebQZ
y2odprbFqTXnDPwMVLRSa265I1c9IixhHVGBfEpPqQDHVBd1QuqsOhPTyWk59SBbeED1vNxoeYU5
RCV5i7JNlVHFdIofchiByCHZ5R52QsMYmNYQxmD7Bjj9zumOLWpIrV+tP5c9lFQavu7WzA/hH4AQ
wlNKgjm2MBPBW8P6x+s9zyxcQjPPsSAMFUjT65JuX55pjndyM4vTyO4Fk9ltKI9D+zibq96fM4q1
qlVNXarBqukcFwydYsMksW4ZtaT9mqlL3qu/tPAkAkUuagoBHE9zrM8WJcqnE2JaA9PGdOiMR649
Gp008XmXWoT0Aj+Ol6hwX5/UUabX5FlFZvSuHwU16iYRYmTWNldJo8rEM1rcE10VKiU+2xAi4lha
0/uv2qap/9UWffxW2UIRts/wfv8jSrN0Suuxiy9I9zNJ+CJJ+aoQu87YsPWT1WNedJAR4786VsOR
0cKK3/G0K2W7lpJTdVV0wtkcxzoJl/Pz3CmiUI0pZX6/GErzhsgVavt+0DsTV6fWzGGh0+8vdX/w
+7Hxe1nY/0H/R0b/9frV4nq95pm3KI496Va9q71Rkv/uOZaE8bHTXT6r2YjDGOdxmH9M/A6PRgjp
TzWT94eqUNH+OVdnvfXfl8DXp3vfH8uxjc5PUEsDBBQAAgAIAABaNkvhU6/bhgcAAPc9AAAzABwA
c3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1hcnJheXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANf
U8VZX1PFWXV4CwABBPUBAAAEFAAAAO1bS3PiRhC+c/JPmCNU2VV6IuBmi3VCJVnI2pu7kAajWEhE
Evb6sr89M3ox0rwkI6/ZxK7yAdGv6e6vu2dGLOY3dzB+gvFsFu1hOL/5Av85wCS1ndCFQQC9wdfQ
R08W85u5kzprJ4E8SnAFLgaLnuUNd44fjgCDyY3CELqpH4V2ECXQu42jnR34MEwxIxiqhmLphmmZ
ujadmtpIIMpZR3F6Hzth4mQCmyvxCkq7UrmCoeeHD5lmRH3UpSsTXRsMvTVT0R7GmyjeXbP0UeRH
beRiSc2NJdftsMaTwd2fv/splnnjuI+I6y6NYsF6iUdY5W4fwBR6S2S1g5/d+zsY3/oxCs1Q+WZt
NhtTM+Fah8qI4t7nZsp4DZXBizTv/HQZ5u7HXx9dcR+VQcmpCEYyYvSXlHsZKoXZ1hAoyU7P91Zd
gj2b+eFT9Agrh12HHsGUuW8oyuFIwJj5veYenD2UEG7aJttD6kXP4W0UZ3mHRd0i+VH8glYKcZaU
xGUqsSLGoGQo+049G47InHF1lDMNfLYSLJOLwDMSxnTrhF4A55kyOVnxuQpoguy638IYAgf9q/pE
nRqaaRiggMqgm6hVtN8jMDkhqCJ/CcLoGaQiHTKr7UMco3JSaRIwFLWs4Mi9UvHl6OCkUx4usiSJ
gTSn6eW5fFpmMdO3tKTSgQiXZOuazeKih5W1k0EShXUpdwfXhUmCTLkCbu5MgPQl2It+UivpmjnG
AitRnp/sndTdfnqquh5Zl5W8tlZIxW2Wt7isBRMAAsML5BvDMsaapqm4fTY7u8DRUqSZmZ95kwDV
//oC21h5e7AROt4MbDijjlAjPatZKOY83GHnkijKOBX0p45V1ZoqIzEMlw32fqKiouR6R4+t3Y1w
3UnqxOlfORxtZMQDFA4VtZkthk4KebzUxKZZE4s/Oa7hgx8S7It6KF47T/wBd6g0UANiU9tJc0cf
aaJb0/GkShN+gV6SlaldeT6aQ3xAFtg4fEgbKKd/FK9nP91WxZmszOgPHGd0cKybONdMT1F0VRvD
KTQcBZqjQfsUYwzm9c/lwEV1ma/7h9jx4GcIPei16S7qVENFDT4znr+i6xCjc4aD5fpv5Jy87lyh
7gIuGIN/kzJb2PFjSbEIPfgN632ELysn3c7AxSU4ZPk1A4apopFnYo4vwe4QpP6nMEXND1zpljKZ
aqal8vRmUjuY/jaGvavy/rZwTduluzlW6E/bj/JFS/aCFL1gW0jTirf+NsXAKcGs6DseDghY3pWl
aDEHqqarBuoeJo6wrhXiSFm1xSERn+EzIbZqAiKWT9/8BNdC2u5aHj7Hfkry3uHKJuwAx22yfWqU
wNB1gmCNVjES92Wk02ZlG6el2P1nZo2bpYJES4246rZVC1uG+QnQG8A3KyjtgFvVTtbjNoHMKWVA
K6jaQCwnFYKLJOHV03Z4ykg7IUm23iYwOnqyOxiqCAphUFG9BQCofHuX1M9PAmvBePaDwKYOAC/+
r4eeEvgxmXhAFBBzYZQzVXATtqBbP/STbdsexLSmjRM74Y2lpb4VnOra5NV7OgGGWdlDYZEBAKbV
FxyaZUwdedNQ2fi4y5VQPr/9ZcMrxI6HsdnCiymO8a43KYxrmzm7yNZyo/bqfVQqiBt7T1gjQTqd
dYDAIKsxFWEjUZiWIFXXnofPxtDHJwhSYdQjwdbOL1tL7en+gPPJ8yhRxVZ+RXzfDyM+JbMPcRLF
PNZljYKDtbzw/IozEKUU9wSJKN9MvwuLCYuDcRM4NhRWMYEhenKAfV1NkfcxbZcvv/gUi2JdeyqG
uNYLxJ2y9t4GgS6851U2BRfsuDg4tcbc0wGm7KZdqrjtCeg7bpLPK5bEzfabRVU8ciELStWLtjcS
53VMncVcModlNNSI1eTseRdSdk3ZjMDtricLOLZfmYh6o6YEi3OoIhPcIBEmUtIldWfV0QpOFcpv
yr9kvamFoYxqQ0po3OAWvuMzQTeKZSugBNEvG3leIUmIToE5RwmFCjwpomXH0ZOPm7cTIHdnD3+D
L60j06bCrTrEp12kyY2iPFyc8rGSB7zmL35ITjvJEcaKUdJWjOJA3FgVW6hWUe5wOiRJCGKa7yMl
iFTuISNySbMZ54vqrKQWgycnOMDbKM7Q0GJJy7YmH9dGGt1hTzs+/U1BGSTEd8Ocjd3JB5gtM7vb
meYP9Gq/3liye3iRywlMf4HpF5gcgpS4lX6EL40Dkh/kt9IuNwrR+I6Qcwjz0WqYRrlV9CLRCI8M
gJx0OsX5NcmyEYgyg/2FGNV1Wn7BaNCJq+qiRsyplT6DiFH8CjJQhkNa8yQTQAw3EGVFL7WgTX1d
vDYYjSrLqWsLYS6eDOYFNyHPFM/F4ND1HK83BJ+6g4m6t+N2o3X7QUg+2xAzWn1GIR6d/KOCHzO8
vMO48NEgPxrkaxtkDXPN1ngJNF3VrYlmADc6yDc/H73wv90Lz+K1iI9fkn28VPGzv1Txs9wsnO8r
HtKXKmrfJmm0F/2WkPPj4v7EkO/nZzKOmaSi/3HjXW3qh8CqZUwm3EAJf1BcF71zXtYwe74o6lhT
j6G015P/VnrwL1BLAwQUAAIACAAAWjZL1+85osQHAAAJQQAAKwAcAHN0b3JhZ2UvaW5kZXhlZGRi
L2tleXBhdGgtYXJyYXlzLXN0ZGVyci50eHRVVAkAA2BTxVlgU8VZdXgLAAEE9QEAAAQUAAAA7VzN
b6NGFJd6zMl/wmgvtSVHAgwG+5Z1Nq3VqnY32d4xjGMaDC7gZHPp3943g8EDzAwQ7CYreaXVyuP3
Ne/j994MeOe3n+9x9Iyj6TTc4eD281f8zx7HycwOHOz72L36FniwMr/9fGsn9sqOsYgSXaPe1fx8
8twD/SwMAuwkXhgsceB6wePMD2MM1KqumCPdMI3RSLFGWlXTkXM6dbhS7qJwO/M9HCREe0mmObbk
9lAR7tstSflrbehvbS8YII4ja0T1WUmqqg14wfCC5/AJL3Y4somgm8B9iOwgtqnYB2+Lo/5AYkIo
YbzzIkgAMe/GDlwfZ59zE2Iw/mGDI4xs+KuOLHUyMidjC+3SyJGg3IGaMHqFqGAfJ7mMLIeO/n4I
8/hxKSXfciyuLPUHqK98N9frtaEZ2AGHD4CzdstU2Uk8o2uGrueeaSdqGe52kL92gPIoDlEQvqBE
pqPO6tk+iiADc00SBiBZh9H2wJF6JeejMei7Ky5nGq7PtvMEJt1DKuCr+z9/9xJCxa5Op484WURf
YmD0vXiTSZgH6xAUZDUNmgTsVUWILsEntPZ8jH7u/YzAWNeLnyQ7dT33tmoyk38OKeAKIy+g/9Yl
4UilSSgqg8ySXAcQLlhEnk6jAzSH2x2hdDkkYVCUcr93HBzHYMo1ctJ4ItAXk0B6cQHTNGNMBOai
wHU7O3E2X55z4DruZjVSlEGh4kn3EG2OdhamhlG/B77RTX2saZpqaINKw5I4urbYDepnUYOrQP+p
6n2snL/eGR1nq3eSUcdqZz2rmRBzUekT5xbqkXAq8EcdT3RzApwdkUBaxYuS9tMEVYXcfEeHr5y1
Imvy4LMo+Sut5hkY8YiZVl8z7UTYTrCItzLxaKZlasLQr/CjFzDs86BJByhziZp7o0lIjKoLFk6a
YepRN/MBzJsRp5EOc8xK9OIlmxxRWTiFP+g4CKIj2JEIG66ijFRtjCdYtxVsDK6aBzbtIcwCNbPs
SF5r+LZ7jGwX/4Gxi90mLUGdaIBE+IWz/vFmz5aNixnXaS0sVn9DqFLouoYGhXqDip8rlNTNx48Z
xTxw8Xei9wm/Lu1kM0W9IdrT3U6RbqgwuFnGeIi2ez/xvgQJ9E90PTIVa6IZpirSS6W2MP08hr2r
8oJXDrHPk+SYYIWA66rSIJKLIMUMEZJwQ18UmUFInUEjrBQGnqroSmHUZKHkKFqlFYB41pMqDAL4
5kXfdklA0OI+A8b5LVK1kapDBzEmlqlblryNL0VGtPQI6ju276/A4IG8D4LOGS+ygmYyO30WFLh5
KtjMLBDnOJs3r0WQXjOcoVRo8TYrkhyneMtNAplS1iX1gapJOqek0kROwekasUnEpq6i6UOUEpWW
r/KxALppHEZp5oMyBDYRDPvU+3Q1S7+CPrryaCiQH77gCAEU0qMqtD20h2NAvnK0NmWdTm33mdzJ
0b49C/fQ2hhDjLGlDMsLaI2hDUKMI+yEkRu/wYrm1doyvO0rNE8raW3mVOeoykoRvEs9htutlxRb
8Yvn+zO6Lh8Uu+uthYCyFQUgqHxZky/pVmU3reU9y26nMkzgMonQQU7czlymZrhim3ijVeHwtBQP
dpORZp3h1DXjpUGlqDiZzLW6J6BZRDerMKrJ+bVHemhWkx/v3FLyCnN24RziyGYOd3o36wRHhUNi
6hTaIHqdTkSJJG78s2aBBGeXOXVgkROWEoVrCai6cV1yUQYfnzFKpFEPJYc0L+sRhdXdnuST61ZE
Ha4Ilsz3p2EkV2ZpSxaxLgoUglq78wJw4a8kAyGlhPdBDA5z/S4FEx4H57nYWFd4YIIDWNnjE172
tN4+X2EJLyWieA8BFV2O9RJxXfZ+so7ehvdjwaZYIgUHGNXE15FvftgqnypuahW3uQf9Udx9nGhu
zuZ4+VQEFmSq500fAbxTpxfg9z257a0ZlShNZQoqc5544s8aW10bFzbAzgKOHbJORLGXVgTLcygn
kzyyYUysSK+BhuVZrWB2LpfPEEpLIyOSPnr/emiKEf23N0TpwIXi8s0JuYioEUVvJ0AWuXSQSNJN
TSjJdt2mYgzD0ERi9oGzwc4TdiFk9LD/G8i6Rn3WCt0iz5eH6KfGQnLLgKvXOFmagG7LzGLPjmI8
WoqqsfMtypKDB8zzqcPBpuXFStNTzlgZnPo+pIU3LsX0HsW0aAJ5nHJqcqXbvuTaX782KNJ298Tj
0dgalhcq98TdUv1N2zw/VDRJgEX7XlrC1P8RjSQvPAhuFToD+II/jx0yL8bJLzj5iuO9nzAvF1AI
eQ+oz+xywgCKeY/vAEzSd2ySMLWqukmoJTAACxzYpV8UJNeNsxUz+F/Ik7RIK87/Ep0cUucFYgFq
e3yiRhBl6uRRW2mhAlF1U1SEKYfczJ2AKrMz+z41NC1324fe4L6ijR2zRloK53nbD2FkN5Bogqrz
t+Zss3l1Li3Zzpg3F9btB4U9Oia1v10+GdB1PbSf7UDbfFj8CI/0m41q3Yet09d79ynqMtpcRpvL
aHMZbS6jzWW0Odfl3Ztfourm9ssrWJdXsE74CtaP8pDz474QVvsKFvu7nHBXiJ0Kf8elX0VUfgav
0vfeRa6R/py+KHprv64wXZ8fIKCsR1ea60l/m17Z/mGPPelvOav/n0Brar7S/wBQSwMEFAACAAgA
AVo2S9kUgwYZBAAAbWIAADMAHABzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy1wcml2
YXRlLXN0ZGVyci50eHRVVAkAA2JTxVliU8VZdXgLAAEE9QEAAAQUAAAA7Z1Nc+I4EIbvnPITdMRV
SZU/MXCbwKSKwy6pTWbvwm6CNyB7ZRMml/3tK9vBCPxBJsPUzG69VHGwabX6fdTd0knMprcPJF9I
jschz/iCpzSJhaAgi2JxTyKMxNNkHafEbpjlmr7jer7nOObQsXtfRPT3lmbT22lt5HgcNHq5k/Fm
so5IZMrf1YlPfzDszbriKVyEH4+kHH82hv6GR8JgNadnXfV1T5ZlG70GH5F4iZ9pnpDkuaNPInyU
XKS8cPsYbUj2DR1DnJCY3v5Byk+aTbgIaL2msMlzs2Ue2cX9tSOKO4TdRVLNpMUS5BRrTnr9cNHo
O11tszDeibtYFvybgv6n9q5vsL751V8ul57tUeBYplESuVOhxfJVZRqtKaO9/R7YIYce4yonGy07
fm2I8FyAKomMTsQrLsI1TYvJzpu9PVcJl6q4HlckiXH1tZyhNXJtz3VZUtZp79tc3cdJopKCC1at
/DUT8Y5lXXOci3qylVJVVTVTxwBlsozl5m1ESaUaVyZrSzqVy3XLg2cV0oNKhS6aYRRO6/bnc/n7
UrQxB/eRVHMow7leq+OxfCvaeJPklmGDSSyOvTxsg4DSVIVyw4ISJlPzpTnFKD1qkrY3yB1WrsIo
TXgWrD6/VJ3woGbhmKZxVG55X2kTV/QcrYBY/0qxcX13YNu25dn11tgB+myleQXnttZX20suVWwD
88cXmzbHDyu2PKMOpaaTtX215m11l8PVq6gYaaqPNbAsf5SP7CrD+cnwy6yKpZLrJxJbBMtO3WnG
ZfZnWY4TFcQTaZvrmfOPJJ5R29jaGcj2h77dunYLeoqENnx2vBQfPe/8RhvVGtQ43Vt9tu86d1wi
TRx/NBhWadLeoOd6Z3pfez6Eoz2oCCb58qnZ2P48rNZrF2WrqjnrnVl92OGQyg59M881LzRNx7IH
NCKXm+QZvfenWLkdaS+KME/yqHGX+ZI8SR7S70Qhhe/ZXayRrZoa7Rref2DX0Q7vRR3MF38pOGXf
uVG7C7syaspqlr2Gc8PJz0cOGi0uFon2uLeYiZC+5gSe6fWeZ6sxu7pm2yLTx8z1LHX4GnqDa7bZ
rrPos8jUNsxuHN8cjmzPt9rmLbxCO7RDO7RDO7RDO7RDO7RDO7RDO7RDO7RDO7RDO7RDO7RDO7RD
+/9P+69s9rPW5RdjDwzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzA
AAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzA8F/H0HrxdP1a/G+21u9TjZOjm3Ut
9R3UInwzq9+vGomMpODrT4tYZseud9G6fF27oVVbutq/Nli+OxweG23464KKu/RnotR2OsI1W6+5
bfl/hnaF/wJQSwMEFAACAAgAAlo2SyqF/ftIBQAA7KYAACsAHABzdG9yYWdlL2luZGV4ZWRkYi9r
ZXlwYXRoLWJhc2ljcy1zdGRlcnIudHh0VVQJAANkU8VZZFPFWXV4CwABBPUBAAAEFAAAAO2dS2/q
RhTH91nxEWZ3QbqR/MTALoFEQmpL2uR2b+wDuDFjOnaSm00/+x0/sfGDoBDdtP1HysLmPP7ndzzj
ySKH+ez6nsQzickk2BGfXf9Bfz9RGE1t7pDvk3vxjXvyznx2PbMje2mH1GbJLlnvor+1PT5gDU5O
wDk5kRfwqR+E5N6KYDv1PeJR7Mj6qqFYumFapq6Nx6Y26AhlLwMRPQibh3YSMMk8P1pJ3102htuR
WAVie9UU9bTqf6VtIF6l9bXtPHp8fR8F4g163Sz29ACRtNtT0ZWRrmUZyuFLcbNM/UFd9j700U5U
k1rD0VmaqiuqKpsqvSuCJUtXVrKQPbDjOw/elsStJ2TxfeW7tVqtTM2kpaEqdd+k2AVPKV5xN+1F
1pgwNt9X/RDksA+b0Rx2zu9EsBYUhoW0sGbpeu5UkB3RYvmXTJO0I9dTMw7yONNgu/MpInfBU1RN
cWcUm5w/7kfpTePOuUvfQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE/qcE
oBd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6oRd6ofeE
uE5hcWTohE7p0InWyRG1gRj1ORKnTjFpN5c47k4bVOLx5+CRiiqvuFtySmruv28gR7vYoCNpEqzD
d2Nz16f8ej9+Q5b5sCFBzJa/qj5Sx7o1Ho5Ypjiu5FamCcSrhJU8OHmMfN5K0ziQZsuOTxsU1271
B2VYjmoog87eZiUnyc5CxtBMwyjInBbqLtjtZLdtzooufmU8eGFRV45jqqdPQsjVWGTqcMjm8WQe
2R6Q+6WrpGWST9qu8nSci/vff/Eiqo3kWVO0EDehdPS9cJNHmPNVIBPk83hkphb3eiKW3JJXbOX5
xL70vjAp1vXCx+41PatLLj1/TjxVp+bY1NB/jj2Eupo8hG3LIFdS5JCGi/Kko8lEZCOP8v2zwSTg
1Sj3T45DYSilXDIn7SeT+cK4kV5YGTSkmcM4YBFKotvZkbO5eS6mCZX3ZiXdm4sVH09laisumdhU
WsOs35NsDMsYapqmmtqgNjyqA/TRxW4mnNsGR9XmMZ1rvQ+Vj1/vpRwftt7jJ2q/2stkNSt+57Qs
/RhuZT3Gnor8UYdjwxpLz3fuBJ2reHGQ/TxNVeWz+ROBL51V50teMhPRn+lqnkoRa+o8HFVGkCUH
xjbf2hgyzRpZWmvrl7T2eMl9zt/yBjj0eu8pqmVXXZS3k7ftqfvcpQspLzllx2+Y/VPJXrxoU+yo
5e1U/rD9dDa23+ziDpuuouiqNqQxGbZC5uDi7Y1N3yGVM2P1Oj9D1V4N33ZrYbv0G5FL7lteCepY
kzsRvTTc/3xnzxNfXKUZeod/PEmffo/16mfzmuVFw+nn4OPqn1RNFmdTUrrMLZJ/7okJPNLrnR1t
Jqz3lT0l3CfMMFV5hByZw69s++RH3g2P5JucXeqWMhprpqW25U2ionbUjtpRO2pH7agdtaN21I7a
UTtqR+2oHbWjdtSO2lE7akftqB21o/b/Xu2f2exn9eWTsQcGYAAGYAAGYAAGYAAGYAAGYAAGYAAG
YAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAGYAAG
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
IIpAFIEoAlEEoghEEYgiEKVlRGn1l3WtIcuxd/uf7J7on/Fk/7gkOM0TG44/9H6DM2RxTih6CdFL
iPMXoeR7PskS/a24YhZVTlQ5gSgCUQSinC+itPSTlA/XdQtEEYgiEOU8e5TmyVkPRV6YwqdohgQm
CEwQmCCuW0SX8Y5/T/XixzsfZ3bxcGjxcGjxcOj39HBo5jsHyy9YLfIKQm+bPryZfAFXPHoIARn+
hoXXRpXexyvHL9ph+Zv7Xt88643xvMTx+GyPJEU5qlRfTvKS3Lbs9D9QSwMEFAACAAgABFo2S+8f
Nnv7AAAA+QIAAC0AHABzdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1wcml2YXRlLXN0ZGVyci50
eHRVVAkAA2hTxVloU8VZdXgLAAEE9QEAAAQUAAAArZFBT4QwEIXvnPwJHNuDCdBFNtwEQsJJo+sP
6LaDNsJ0bburJ3+7gCZLpLubGK+TN997b6apikcwBzB5rneAVfEAb3uwruQooOtABk+ohklTFRV3
fMstnFKG1+FV0Bx58kdfakQQTmm8B5QKn8tOWxjU8SrK2CrNUsaiNUuWTsfNPBdeSm10X3YK0I3u
v5jZzfp8ngkh/57ke/9iBtJzhTT0HPICisxJcZxQ3zMUHvQr3O3A8BF0i3JjOFo+YTeqB0Po/Az/
8ubTlfSZILUyg9MsixhbLyABkVsv277sndTvWGsz3csX+nMxIzQk0UfWtm2apCBYHNGhwRdQSwME
FAACAAgABVo2S3DMaAwYCQAA7owAADoAHABzdG9yYWdlL2luZGV4ZWRkYi9sYXp5LWluZGV4LXBv
cHVsYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANqU8VZalPFWXV4CwABBPUBAAAEFAAAAO1d
W2+bSBR+71N+Ao+21EiAwdh+c+xEa622tpK0+4zNJGGLwQs4aV72t+8ABg+eC8MtxulUqlTDOWdm
zm0u3xm6mN/cmZvQ898nEws4IARzMzTXZgCka+nqy2J+M/NcF2xC23MfvQfgvwKfRsl4+921/90D
SJM+nUywR72+1JN/GU9PT7qqg42iyX3I2duattuXCAJeTNdywDxurJjs8Hu5A74ZDSaA/Xp8AT6Q
TPhXGYyUsabqmibtgGvZ7vOXcqJW3m4HLMl0JS99/FVyvTcpZLVR1OvZ3veBG2YtMRggyZPnbw8c
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
by9+F0m94+a+m+9b6ccksqVRfn/Pmt66b0vIxmdFpo/9mL32fvJv9dvnhX4g/RKX/88Rp0n/B1BL
AwQUAAIACADJWTZL3pNmfhMHAAB9NQAAMQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iaW5h
cnkta2V5cy0xLXN0ZGVyci50eHRVVAkAA/lSxVn5UsVZdXgLAAEE9QEAAAQUAAAA7VtLb9tGEL77
pJ+wyCUSkADiU7JuNh2nAtpKtZ32TJErmTVFqkvKji/97R0uH1pyHyQtpUkABQgMUjuPnZlvHrvS
/Ob6HpNnTGYz303dlZtgJ44i7KVBHC1x5AfRxgnjBKOPSDPHE8O0LEuf2FPNvvgSBf/s8fzm+oaj
nM08IZdbEm+dMMBRCvwGDZ4TS7+Yq/ShLPy3a5LTt+ow3LpBNEIc01ZWQ5bT+NIe8Yo9EDdK3EIz
dxWT9K8gfYz3qeOG4cr1nhTS6XKGQSaTNVi8w9HN9R0GugT4RR4OQ+xfDP2VkN0Ok3VMtlciroLl
Yu509W94G5NXWH0NGwBX36cxebu+OTeWFW+04ehNKi5Wf4P7CvV8HOIU32EvJn6mVk3KLg/aBRjJ
zd48BFtMbgMC7Ibjr5P1em1purcytfFIxNv1fQljqv4iym1wFfm5moXOiYjXCwlS1gS3QRQkj5iy
PsT5Q1yatWl2sQrzaEniDcFJUu0x4VZ68XaXGclvs4OBwQ6MazkdOgChb+TLl/uBv+wX3EH0HD/h
apfgF4aI7hkiTi4wVhBSYyloH93ID3H5fHAGqPrwiAlGLvzXDFubTo1LS0dFZGbWvgUxEC1lKJc8
SpyJgkO8UvGpQGPu1XDEBoMHWXCk9E+xZSrsNJaZWvq0skw/Vst4t4NodiNUefEDiuIXlKpktGnt
7AmBslBJUhAUebigyK1S0eWRLsngubvYTHlx/8evkC24VLzB6YJ8SoAwhNxRcphH6xgElIUWJEnI
eUGIvoIntA5CjN4P3iNQ1g+SJzUub3iVmfjzsqrKEYoc+m9bEBoaDUIZDEpNKhmwcMGWj9mMFHWk
zIGCJXFU53K/9zzIqKDKR+Tl/kQgL8kcGSS1RkM3xxnDihWYbuem3uOn56qbYPPrOM+vFeKzUifb
HC2DDIbRcAC2MSe2rVuXk6k54oqwwtCtYLeonWXVmOvHToV30/z2eGdkfDO8ZxF1QDtrWX0CPpdB
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
PqHBqOXn1s7czc1HSOwXwLJbz2uRlmG2En1fGlJb3HiL0d5QlQPUWkZF/IuygmsHy7JKhy6FdKww
xbvNunXKHS6VPAzbewWAVOFri0AAKbwQcDxyIGj5UCX5Yo5UTVcNU9eMiWrouiUvSSuREj09goau
E4ZrUHgkx3SQOeOdrAAYZ6ePAoaaJ4KOTGZzDRo1EC+j4tF/0lSp8rMrQ+g8bq3Jz6/eJin/9RZ5
/NZoIX0EfSMFAgI2yf8OrlGc+xulefBQIavBc7GDFXbjhDQanvG7jJNqWkJOkDeHsoEXh3JQDq36
uZ7OGHH8C7H46LBfcaKMqsPlm6xnDhxa3yxe2B9TXeLtNsjYkvkWhOEsX5dfTI7z5PFadxbCfRuY
Utb6sgO4C0fJGpv7HpO1UqoaxiUS1TH55n7qUiWMy/YQb/SqXTwp7CvE1FXtmHavqBLywqBVyzh5
wNV6INgDkLCOk46M8QNSJCsA+Hy37D2vUEh00vbv3tuFeKVEzVs/wwnzNiq8m79nulrHv6wB/HOb
s0LaKM4C/705hnTpM67cGzGocF/o/7ISJNl9EAXp5jdiLnhE2LUQMCARwNDUMddYx9/DeebSNuqW
fY3K1xkUFuGWXk/53mbzAXUPICWs2lBpWbYtB3cJu2Mw9pgSTutHhxo989M00xqx1EbrSd+aslkT
ZawJo1M6rWNZb533Nc7XF+XlYl+OZhwup5jsSbOGG/fnrAsnxaJjZqLyBiaXy96smOU5NrUPzlkP
1IQ7r27rcJLRt6VM+KPvEuOLI6nm1Ht8l0UocMGSkcGz/UAoOMFU/n8Q/8cPSi+Tzsuk8zLpvEw6
L5POnzjp/Gjx+uCE9DLpvEw6zzbpZHvMknHPpUt86RJfusSXLvG5u8THNHeFd+72P2/33k2XpXjH
tnV0U1M6e0y6UfSYDu8W6UbRLWIcVkofnFSnc/e9KktO0fcSH5HQTz3Y/ABQSwMEFAACAAgA1Fk2
S7EVZcReBgAAxTQAADwAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2Ut
Mi1wcml2YXRlLXN0ZGVyci50eHRVVAkAAxBTxVkQU8VZdXgLAAEE9QEAAAQUAAAA7RtZb5tI+N1P
/gk82lIjcft4S+w4a622WEm67xgGmw0G74Dj5mV/e4d7YA7AR7PddaWqMnz3fPfQ5fzhBcB3AKfT
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
pVLJ5NLy2fyJ3Di8INY19OfeEPbD/RBeW4PKyUmDgLPzRWPMHjfObIoSKWsgRv/NMt8Kgc6RlS6I
Qz+B9FzZSOWAFmPYH0RR1Bs+9gZBmfCUip6u4F5kk11Joq6fV7PsB0HnWi1X/g+/UEsDBBQAAgAI
ANVZNktgNvQyVgAAAJkAAABCABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFi
YXNlLXJlcXVlc3QtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMSU8VZElPFWXV4CwABBPUBAAAEFAAA
APN0cQpOLSpLLbKyyi9IzXNxCkotLE0tLnFOzEtOzclJTeHydHFyS0wuyS+qtLJKSc1JLUl1SSxJ
TEosTlXQVRAASTvn5+WlJpdk5ueF5MMMI14lDmsBUEsDBBQAAgAIANZZNktfDkZ/DwEAACEDAAA6
ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3Qtc3RkZXJy
LnR4dFVUCQADE1PFWRNTxVl1eAsAAQT1AQAABBQAAACVUktPhDAQvnPyJ/QIiSYLuko4QmPCSeOu
P2BoB7eRnWLp+rj4263sQxMKZA8cmH6vfDMlz1do3tFkmcQGLXKwUEGH7IpdBM+k3nZY8vw4zbLB
KIxYuPi8q+t6GSdCxDeLyDHDLSiKmEdgAyQb5L3ZPOzw/9CiAas0dS7XeoMGGbgvvr6N0zRdJilr
kaSil+A8qUfdtigZENPH8SUj/cHslMdc6mJnDJI9OU0QHKTWZntg7Fs58fodlH8bchmJ50/oRDpb
AAlsGpRBKCuv9n6hOYhXF3pltUFfO37R3no8tlSSD9X/RRWN7nBA9Pl/z1xUlWB/UQ5wD8L5fHlP
1T0XmgjFb3FrPXHUI8iRcn8AUEsDBBQAAgAIANZZNksz2M8VuQcAADg+AAA5ABwAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2RlbGV0ZWluZGV4LTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAMTU8VZ
E1PFWXV4CwABBPUBAAAEFAAAAO1bS3PbNhC+++SfgFukGXuGD72sm03ZqaZtpMZOeqZIyGZNkSpJ
2fGlv70LPkHiRVpy7UyVmUxCcnexWOz37RKE5rOrWxw94Wg6dbGPEzyzE3tlxxido9OTb4H39w7P
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
TX+2HzJ9P/OjjaZDm499ys1kduOWp/1GgmAaWHLA903Hdc85i9tNn3YjbN0IWzfC1oVuF7pd6Hah
202fdtOn3fRpN336UadPGa/yMoxkvsxLvVX061U5vzK4cvsYbsuvpwxTV2vfehno9xU1eutlDPTB
Gwp67qFd0fFE742bqaPkP5lGLo978DEc5n9QSwMEFAACAAgA11k2SxO0D1DVCQAAmGYAADEAHABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi1zdGRlcnIudHh0VVQJAAMVU8VZ
FVPFWXV4CwABBPUBAAAEFAAAAO1dS3PjNhKu2qNP+gmoXCJV2WvxLenmke2sKtmV1p4kxy2KhCyu
KVJLUuPMZX/7NvgSHwBJiJRlZ5mq1EQk0Gj04+tusDFZ3H95xt437M1m7h4791+e8H8O2A/mumNg
28bm1a+OBU8W91/u9UBf6z5mjUQ3aHC16JjecKdbzghRJhmu42AjsFxnbrs+Nh89dze3LewEZCIa
CvJYk2RFUURNmUrqiLaw5XxzX/Fyjz2dELpzzK+e7vh6SPartcPecJTdkhnPnKdrr7BjWs5LyAKs
m1lUnQhq9dyI7+pZn0wpboUoHy0PVmLP3eqOaePkd6oUH5b8usUeRjr8K0iqMJlIU0VE+0j0ZHeP
sIzrfQchYxsHKY1k80eRf3VTdVBHVrylcFx6NByh4fgPbbPZKIJoGKDXUaW44i2Hi3UjmYkiTlLJ
8JFaufs9KFh3UKrFa+S4byioWqOO6/nB88An05UqJsCQjevt4hmRVNJ5keGZa+rMSF1fdOMVWHoG
U8BXz//8xQrIqOzT2ewFB0vvwYeJtuVvEwoLZ+PCAomLwkqM6eWFUPgIfqGNZWP04+BHBMyalv9a
sVPTMu/LLGfszyDQUJpIU+h/64xQEkIjZLlBwkm6BgxcZl1/NvNiDHB3ezLSpAxxnTyV54NhYN8H
Vm6QEekTwXo+UaTl5wBPlMeEYEoKRLfXA2P78C2F8uNu1tJ4PMp5PIEp1uZCCMv4MBoOQDaypqqi
MtUm8qiEjBWCrnV2JZQzC0lL6N+Vv8vy+f09s8bZ/J1Y1NHbs5IVNdA5y/WJcHP+SGaO4R9BmWBt
CjNbIkGlFy8Lq3ejVA3+uKDA18aGCJxJBmTmBb9F3jwHJl5wJtSXjfBo8oBrHtYDzJob+mguHZIm
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
bk7qhWyBEXWfjKatTh9lf7044WMyOWdOc4c9bX1arK3nzajWhq2WmEy6bX0yabfaevOseoUtjkap
N+JWbpSR8iDzY/7gm7b4Uwhb2FUOLu1BX85p4kXx/isOOqmrhXgYjMZ/SzaLaeeTPLho581cZjnL
OLH1Szmon8KRf2XbOddlx35LfY4jjjjiiCOOOOKII4444ogjjjjiiCOOOOKII4444ngkjpnPlxte
yc7Yelcts+nSa7cq7KaM3MVGWdH2mXL7JSu52jfb1qCuaGVuGMhL53YDt+wEldyNlrct2ENdbQnn
HAp2T1U7V6YddYg2ulvtBt5ea+1Ot93Tu51Wa6j3Bp2lXFork5yU+FO8pGQbzQouX/5xgmg7Mt/u
TKm9+E6Y9r2LdhdLN2Ftx/5WBGbHXtIaljmdjmUWzfKtcRnTUFVbwa6uUX9lZrxVIdKjJWOcbHgn
u8gjd3H3Y63DdzVnbBu1hXMLAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg8JEEcu+V
b/cmZiVfuk5MyrfgkxseCnbeF0+I+B59GVbZUMXGd9qlYh7FKsLy/Ep5FrTftO2lhiLG+kNVajWS
O2FKp1Kp2+Du1EevBXy4ktuW7p551NfbxV1Zmv7eQypWqTyi9gBZsVZPr0jqmzn2mb33G9c7wKyh
lnYYCztjZl46xNkY6qijjjrqqKOOOuqoo4466qer/lFWun7f6sSJ9MEh1vd3Xm08jnHATII66qij
jjrqqKOOOuqoo4466vWqH/1NHKdyM8rB71Daa5GvEpFXrQG+k95+b3eAvn1vM47JgzzIgzzIgzzI
gzzIgzzIgzzI4+3yeJs1qyP6Du47uEfn5L8tftr3SR1k9Wi3Aqh3je11ra/nm+4Vu+/1VbrDrPaa
PuBoRB7kQR7kQR7kQR7kQR7kQR7kQR7kUdPdWty1iDrq2XXPCj+MueMwS/8MJvLII4888sgjjzzy
yCOPPPLII4888qXytT0FLd2CI30YvCJ9luPJgzzIgzzIgzzIgzzIgzzIgzzI4/R/hC+zanDyvwXH
5f8HuxsvvyRFD5IHeZAHeZAHeZAHeZAHeZAHeZAHeZBHTctKx7z69oq7g06/NmpbT2J0kwd5kAd5
kAd5cHbI/ejII4888sgjjzzyyCOPPPLII4888sgjjzzyH15e2hqe64rY5N5bPZE10k49qBUTTDDB
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
GEzLSNKzlyUq4UQmPZScdDbz25vUkxRfVWQVH9JpIGhYqros3nqS+u65j+MPn033h+ne3c0ce2G5
L2Nrfr90VuaD67xsv3r3p2397818HH8YT9fT5+nKvHds25ytLcdOqWb8Zlx5/9q91rDb6/f7neFg
2O9EjWWZuA5aGAw7N+8ej412Xk17/OGT6Zlcre+n9sxcLs25QImYZvw/8tn1jXHd+mu4WCz67c5s
1m23bowr3/jDdLZ23F93d3Nzaa7NfXm/vf7XR/98cfbtiC+Z8m1MC7Ma6HnKb+D1y9Syb4wYA9+m
9nxpjjcXyy62+3vyarpT/2ZWXru+fDNd05h6/9rdQXs0GvU7I8Nz8dyyv76TM/XkvL6ac2NqG87+
4/eG7fw01mnXyGr1/Zvrmvb6cKWUCl6RheO+7GpsvXKot+mD6/lzbM1td32Yzr57TfrsDYU0b86t
+ThaPtD5M3/URyoWHKKxY3DfksM1vIKT4AS5u3N3M8V5efVLzmOKOHbYyue32cxcrbym/GbMts40
vOutfC9aq9AK0Om1fIMHU3Nr9Tpdz759/OFX2kz34908d1utm9B08ydz0s1tJnpgAhnXV55vet6a
0enfDke96LqR4ujMmdbf+DmmZtDysZmqJluvp3+yBa6hbbL5I+o41YKe7Qy9Pk+ad75zg7NoU7Pl
/dduLbrDW79m2jScnFRX0ytD738Veux5tki979V66q7/s52O914jvppf3Km9mm7HZfre7prTtZlU
N7rBd0f9QWLfPZtfLTtQ/THcFf82X7wp7tUIfhqtFTfsLfuH8/3YR7/b80CFL9aL6V7fpCyJk+Ba
ILYgHq8d+MPzxb3vMK/xxnz/2ZXx01p/OyyHAWf1b0c9Y3ZoknFcqfzeHbVa5mLRbfcXi3ar3b95
J96n2/U/8MGmlScdF7us//n61Z3OzT9Mc27ORZbz9nDgrSLmz5jPU0akk9JTD5bruVjJvOze9juH
eSm/6QTOp5tpMHn+r9dT22XnN29zMa5uIn6OlNy4+fjnvsSjPTf/8q/73fz1NF1/uzOu3htvm7u9
8wZCu3Pb6Y1G742Xt+Xa+mivvb3P6A5uW91ht9tNuuzGaOSCr2/rifv7fB6ptBvXT4HvqUjFY0Vr
P542A2u7+Xqb0cpxk0xNkkvs5uFhwh4ne2jy9dotgVk1sXdPpgmLeuw0DJvcr+ZZDeqardDBMWo6
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
Z/AMnsEzeAbPAFjAPObhN8BvgN9ABCHewBt4A2/gDbyBN/AG3oDf0Fx+Q2KE0v6u7qf2zFwuT+MJ
VmvnNWyx2++0Mm+v66s1pRra7XV6NLQZDQ3NmV2xaJCHZa9N154uN0HNUU5HVqyzdh8IB0QH71DO
mYlmKhwOim6tMQNabLDmdwSli5au42RowODQvUY1f6Hg0pdz6QbMtOZv+uWvin8DUEsDBBQAAgAI
AOFZNksv4kiiEBMAAM5jAwBEABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmN1cnNvci1j
b250aW51ZS1wcmltYXJ5LWtleS0xLXN0ZGVyci50eHRVVAkAAyVTxVklU8VZdXgLAAEE9QEAAAQU
AAAA7Z3bb9vIFYeBPubJfwKxL2sDCaC7Zb8lctIa29Zukt0+y9IoZiOTLiUn65f+7R2SupDibUYk
RVL6ChSLyDPD0Tlz4+h3vnN78+GLcH4I5/p6Ol6OH8YLMbItS0yWpm3dC2tqWt9Gc3shjHdGu9e6
7Pb6/X7ncjBsD978bpn/fRG3Nx9uIjWvryexrXxy7KfR3BTWUrZ3ttPmZb/z5nbbH/tZWDcfPgv5
jMVyNLYmYj4X0+hTk0q6Tzjl9qL+9Fww3d+Tfv1MH54/jU3rwojpeEZT58GWWleDi5Smxg+2s/zq
jK3F2GtQ0Zrn04fY5p6FM7Odp/dxrep54B/iyXZeZekP48l3Oe6/LG1n//76rQWbCrSxavX8opgu
OvLjH+Lu4T/SRd5Hn2znD+EsXHc9jq1vwrOOcqcDDcnBKOZiKT6Lie1M9+utNRV/rvv40Vo6plj8
21w+/jGev4jfxOt+3RpPpzn6lPwNVTuT+a1yd2v7DfP7rYl9Zqzht6L8dvxjjeMX7dFeanuh89ez
/25zJ4+PY/eTr+aTcD6Zjix+3vrzcjab9dudyUOv3bqI1PXObneW37/31tR/0uqxC7f49hT+1V5/
jd1zZHyzt9a9Y39zxGKx6doiUnJiPz27q9c0q/td4Xc/sQ8RI0Z7pHuUL+gskms9b/AzfjrmMuiF
T6ZlLh7dF6BEN0zN6b3eW5Bp/bC/i83okWM4UMkbS+dpr3B2SkVvEKbUle8j07lY/3s7yGVXvz4K
Rxhj+f92d9AeDrtX/Y6xmqjuKP4kHyPNtfbDuo31/I6bdPElU/4a0+PIR+cXwUk2ke++F7Jm5lf2
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
hQN5NphsavEEW7Rqys8km5Bhx2ywgSl2nHsNgBMbn3CyMy0blbHtnyAZrg4ZL04JT/9uhqSWWmqp
118hi7FyDL9hElxqzQ1ewBpniz7aGeuI1jhb49QEyOjo6Ojo6Ojo6Ojo6Km6yI9yZVIrpCfvPbAS
5Ua9XLk4LbaX6yT7e9bt7GLPyR49SC211FJLLbXUUkt90Knz+yXtcJD66EcZZ+wryvYrM4WwgvoO
HV1SSy211FJLLbXUUksttdRSSy211FJLLbXUUkvd3+koQnR09I3HOe9i1Oz6qQxST5LjvCy11FJL
LbXUUksttdRSSy211FJLLbXUUksttdRSSy211FJLLbXUUkst9amNnDtUp/sys+chzqdgwBw6Ojo6
Ojo6Ojo6Ojo6Ojo6Ojo6Ojo6+l7RlzcJ2sGnjVaNKp01G53OfaP51zk8PDw8PDx8KnwuSx5Of/rm
qx/mEj7D0BGHDjw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PPwB4+O2M22a3Yfe6Gl1cNcL+43R
3760H8L+h3Y/jOvKv65brVatctG8vwzL89WjTXr6kLvocTjdqM2fYbxVg+HtbTf6/L3ZDAeDucru
88fVJxsQ1TvtMBqOmta7URSOW37pPo/Sm/osTTTRRBNNNMnYZOW0Ofu0oSmm8EmWOemMPpsDTckl
tdRSSy211FJLLbXUUksttdRSSy211FJLLbXUUksttdQZUm/3SeMuHiNu9kQ3N0JizWv34xYeTXti
fIDnj+wHeA5HryaaaKKJJonvmYw5h4eHh4eHh4eHhz+m1yYnLzUG7UGvMWx+e/8jjIalN6XXs+9J
Xi14T7IXRkE7+rruHctqZVHtghcsF/0cmV7ZAAAAAAAAAAAAAAAAAGBnAOOZTif1uoMlyeigJEdT
urFBvWIHeO3BweREBABwNIB1J7nV9IzDH3sbj33c6D4gwRjAXvIRrqkvHod0+cp8XBU2wNmeP5I9
v+m+TDcgupdu4LsLCgAAAADACXadpX2jq5fida6MXXfF/pA54Zsae347e95ZBgBgM4AVFDTRRJPT
ajJ3Wkw2pnrFOO3eidM9updaaqmlllpqqaWWWmqppZZaaqmlllpqqaWWWmqppZZaaqkXp07wrDLB
6Lj0L4Cketi5zGmxT3ET7jFPqtHR0dHR0dHR0dHR0dELo+sc2ZP5uwrr+TiJA3j5C48FfnSKtyEz
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
wQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEG
G2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhts
sMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDB
BhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYb
bLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2yw
wQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEG
G2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhts
sMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDBBhtssMEGG2ywwQYbbLDB
BhtssMEGG2ywwQYbbOyLjYf2eAveNYaN+8YgvL392e506uO/TzUtvR41qnejKBz/95fuY/pxsGgS
oN6ImmGnEwazyMGw24vDVKrl68tqrVa7uLqsXZRn2zQ73UH4W6Pq9cWyjw2eCl/+7dOjh/qIM4t+
aPx9H47//vFpp/3+ORfVOTVP25w29/8DUEsDBBQAAgAIAOdZNksQn1fGRhcAAK7eBwA5ABwAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS1zdGRlcnIudHh0VVQJ
AAMxU8VZMVPFWXV4CwABBPUBAAAEFAAAAO3dS3MaWZrG8b1X+gjsWoroigAEkqxdFbYjHDEz8tju
3iNI2YxRwgB2VW3ms0+CJATiIi6ZkJdfR3RUGJ3nycz/ueTJc3s/vvvjSzD4FQyur3v9IHz3x+fg
f38Gw1GjGbaCbjdov/lX2Il++fjuj3fNUfO2OQxWpSz9Vjp5c3rf7IRnpSWiVi8Mg9ao0wsb3d4w
aH8Y9O4b3U4QjsbC0mmlVr48r9Xr9epl/e35xdkaq+ZtbzD6OmiGw+bEcHLlj89P0n5M2Zhe8lMQ
tjvht8mVo9Qz17q4qly8OW3fLr1QPxjc9Qb3vy+73kLy56vNPuzslV888vx9XNarb/4zuO8N/o48
/2i2fkSqL6PeYIPnXZFzD26zVjMej66nZ1tm8IpbHEQ//wpubv8neurJTx96g38Hg+E4u783w2/B
hOGjeiZZlFlBNxgFn4NWb9AeP9TcPbZ69/3xn9s3UVY0x7997dwHgw+dQXQ7p+W/Lu/u7uqVauv2
PCifLaj7D+xf09YqkXbJnTXb7dW3dd8Z3YQPGTD+83Pmf+09ZctDqhnhq4//2k2sdl7IxCX3++rl
11XeFxecKQsrbnevZyUmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYm
JiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYm
JiYmJiYmJiYmJiYmJiYmJk5M/OegM5qNgvuhE3aG34N1UW7bnfanbSI+X193wl+9H8E0wPDvYXtG
NAk3fLoukHVvjXASp3iN9nszbHeDp39Pb2EY3erX78EgKDWj/1fOLypXV+dv69XSYzDkcRjhD9Fl
IlxPgJ88nsJKL4tlvDzlmr8uueOFn07PZuMwtyq18tnaEOKPjzy5WDxkrurVqymZ7aw+9fr9oF1q
hqVpLv6zFPb+LI3WXeO1u278HAyCcDS90hrBY3DyR8UDlanuIRj7irDmD9k1G8D7zZf//o+ouiyE
9f4WjG4G74eRsBtVnieHj+FdL7rAU5j16Eor5IsXKk1+iv5Vuut0g9I/Tv5Rim623Rn+WF8v3y3e
8mw87HF09QXhsgz9v9cK4XllUghXVYOnO5leI0p4MxstfRwK/SFs+lPo8iVJeuG8y5efrVYwHEa3
8lup9ZCfpV8P0dNLneFcmPhqrTw2nFpF6PrNUev7+19PYeXnwqKXH8KiT2v8OLL7qoebRH2fqcOl
05OITe3y4qJaf3t5VTtbiDm/BvSrlb0+4bwq+Pzjv55vM676XqslX99nrpFYfR+XqOfaPku2ehnl
+aqqP4Y7Vx/HynL0v0r9Krh8Gyn3bAnW1uKbF1ePJ1Mvo/8cEfht66687iUfMRuM/v1QmxvRTXyb
7ZUsFsLnIh+1a4OgOQpWaSd19LfZ1uH8qn6xMutvg2+dcEb+cT4rdu3drG4pb2abiM3ayedrz/wj
esbGGMT4rfFc0kp/dkbfp63kDIT626taqTW9pdJzAzbOtatyObi7O6/U7+4qUaE/e7N5Xj28FmZ+
mNzly17istb+X/1vg2Y7+K8gaAftTVr5yuVF1LgEfy75PX3dyS3fRc/XfCjeM732SHN6Ujo5W+C8
kHKCeba73/8ZtU+/t9sL0sdi9mnm74SEhLkVrujBvHz/PbXWQBISEhISEhISEhISEhISEhISEhIS
EhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIS
EhISEhISEhISEhISEhISEhISEhISEhISEhISEh5EOPf3x3iA08CBz0EH54IA1irlDaL73YQPYSRX
BZdcGg5w3vIpquRrN3QelOfi2i5aLwRLfCUy4eoYi0vSrojV+RR6dEGwIrbZskiKzfY4Q0o3X55i
ZX58V6pUzyu1+nm19rZSOz+/2CgWemNfIqXTVrPbvY1u+Gx9uNPomo1lObsivmgj/lIwp152idmS
OZd4GntzGs/0Jmx0O0E4irWqPNXP12rIynrMgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED
BgwYMCiiwcJv65d/TJOtXlvC/VX3VxYGTZdhrVgP9CP4+/1fneFo+DGcXxQU/aF08s9Sb/JjaTj5
dWZRUPWyXl3l2Q7Gy1o+N8NvY6PB5L/rrOrVq6WQ1tsHrd6g/fqNVuoXV6ucmu32pjbVWrmsxHHn
zp07d+7cuXPnzp07d+7cuXPnzp07d+7cuXPnzp07d+7cuXPnzp07d+7cuXPnzp17Ste3b3Lo5afN
VqtvtRg+dQvfc7LJAFdcccUVV1xxxRVXXHHFFVdcccUVV1xxzSjXzYacZ0MMyQklHFdcccUVV1xx
xRVXXHHFFVdcccUVV1xj5BrjilKZoHDjiiuuuOKKK6644oorrrjiiiuuuOKKK6644oorrrjiiiuu
uOKKK6644oorrsfnuv3e1a0WkrFnz549e/bs2bNnz549e/bs2bNnz549+y3to7SNXhgGkyRfe09h
cMbeM9FxJJFEEkkkkUQSSf6Y61e0evf98YRx+6YfDJoTXec+GHzoDIKor1H+6/Lu7q5eqbZuz4Py
2YJ6xvkmfLicWXqrH3DFFVdcccUVV1xxxRVXXHHFFVdccV3NNfrj5yBKNBxdX/fCLz9brWA4TIT2
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
IL6CAyYE6Ku9ApzrAOqaDpjggOCA4IBqcEC1eo8Kjf45Q90IPiN7I7I3Insjsjcie2PJ7I2uZ28i
YzcejPpqtIy+tl1yUmg46SdSE5s2LzsuZz5OFPpd+70gwe9Pe8tx2k5/KN5OABRfje5lvE0Cstlk
jTPN0sl6TYz8pfmN/g1QSwMEFAACAAgA61k2SwHdjtbgEgAA3YMDADsAHABzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTEtc3RkZXJyLnR4dFVUCQADOVPFWTlT
xVl1eAsAAQT1AQAABBQAAADtnUtz2zgSgO8++Sewcold5az1luybI8e7qX04Gyczxy1JhG1OZFJL
SvHksr99QUqmKPEtkeJD39S4UpKAr8EG0ACIRuPz7ccHYf4U5vW1OpqPxiNLDA1dF5O5ZuhfhK5q
+tNwalhC+aA0O41+u9Ptdlv93qDZO/mua/9diM+3H299Oa+vJ4GUO9N4GU41oc8l73SL2e+2Tj5H
lcdBqLuXZJk/tgxnLyNNP1d80FjUmZfUuOqdnwQwNP2n8UPcz4Q5skE3uvrNHOnWyMF+016EeXbu
VYMxE/rtx69Ccqz5cKRPxHQq1CBycEq7ZJnzwlVkRDzYnWZKSeF5n0e6OhVvn10VWVLkt2dhCmUk
/5rtXnMwaF91W8ps2bLsp7uTYgzzl2w1YirmLuPt4dft4Zvhtq/AlBG/BpTY99XZuXLW+LP/+PjY
bbYmE9kgziPVtXpkR1g2mhl0WwNXM+lQX4zZTFbwSFfcWrxQdONVmUfJiCv1cGGasoe4kiIyyCSP
hvmyyrHUiptv2fDUcWDOZXV9HE1+yCI9yKYgTh7+/Q9tbqfyfnt9/STm9+YnS2acatbzG+Gz/mhI
AW82R0oKye4XpDhfyU/KozYVyvvT94osrKpZPyKeVNXUW3+RPe1vYhsYX8agCv1fXCNsN51GGNYN
3kriypAJ771d//raXNkA42Vmp1QDkhj6JuVhMZkIy5JF+aBMlvWpSHmWXZGatWFzW52GDXRRUnWz
0Xzy/Omna1jXTzNuNxrnGz3eNlNhD+eYME8fVs5OpW46/V6v1b3qDzp+Sxuh6NjO3nX0HGZJfUNT
Vv2908m/v3tk5Nbf7Ra17u1ezbb6ss7Dur6t3I3+aOdsyP+a3YHoX8mce1qCyF58vyU9m0rty38K
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
dn5upNqUrzltgtzHLxctX3Me5t6jfHXTffb9Y98/9v1j3z/2/eMn7x+7qzvebueE5Y7y6LiuHl/n
P6I6L5Lne11bIqtzKJVI4mYN+SaB4h1eVyPGOxzLaiNViVUfOcLMUpYo5SWPW7wWDnSCF2C1km1U
6aieNwl4qxJHG6X88F1TJPmctwZYBZOGNKLkUVKN6vUNQwaxzsbza5LSdqJamnHM9T3Rr0QFI7vy
rENOMOnPxksiiEuNjYsQWkcSuWBl9aieoKEQ8UdHhOjnKxBC7lJ4nJ12UmIXB8gf8DNOfQtC1vOF
RxCmfQN51hEBO62t93YI/NJZip6yXPWVEeoUuTxC06C8yDSWVRqPAIiuHEAt07V/T+njz6S7Vr2d
bssjLQbFJ/Xuz4j40NjMo+Lr4lu2xTiLjVJFr5w1n3yGzO947msHbnrIjT/0a7o+dAxX+giOKVr+
TKf8Hohj7px0qiknJ2fMR0Fw0V3eXwzLNQ9EHSsbujIem0bi50M1jWIsQ/SAVc0zXxO9fHP3XtvS
fmP5ezeW/Qaw3wBec0PC33ReWXx+V/N0FQcg11e4P8oLkJ22EV0W0G22g6+roVt8q09e5C9gIccO
OibDT6rioQMjebYVgRL+Xw33ABae/xd4a4T5x7ZTbHbcUXpy0u15xyNtSfNNdRDdDQ5uiNwJ/YMZ
HpBd3fUg6M9F+nORT3Yu0re6fat7gbOOIPT2pbUbK5osVl7zI74SHivRyy+sheJ+bVw2vTPeNiC+
vkyZozqOrDYfJ/l0l5h+Oseb024wv2Ujv7RtJ/0LUEsDBBQAAgAIAOxZNkug1Ir9vQYAAMg9AABC
ABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWRlbGV0ZS1mYWlsdXJl
cy1zdGRlcnIudHh0VVQJAAM7U8VZO1PFWXV4CwABBPUBAAAEFAAAAO1bW2+bSBR+z5N/wrzVlhqJ
ux2/JXbTtbSqs0m67xgGhw0evICT5mV/+x7AYGBupiatW1GpijzMucy5fOfMDCzmNw84esHRdOra
ib2yYzwLCcFO4ofkDhPXJ+tZEMYYXSLVUMa6YZqmNrYmqnXxlfj/7vBifjOnKKdTh8nlNgo3s8DH
JAF+gwbPsaldLET6ZCzc79ckp5fqMNzYPhkhiqmU1bDKSbmyRhcMHj55CZ/xcosjO2V0TdzHyCax
nbF99Dc4Go6qZgi3mMxv7jHwiZOZTRwcBNhlcWbPTDXrnB/fRKFgYbd+BJL4tE82cQNc/C5NFIPI
xyccYWTDf1W31MlEvzI1tM0jK13dLYgJozeIGhzgpORRLP4QD49hGV/MmYKnDI2poeEIDZVvY8/z
TFVzHAiIkdBc+yVnwrqxzMTUJqVl2rG6C7dbcLBNUOnFj4iErygRyZBpPdtFEWRIKUlAAFO8MNrs
KXKrlHR54LkrJmXurhvbeQaVHiAU8MXDX3/6STqrOjqdrnGyjD7FQBj48VPBYUG8EAQUmAOSOOS0
IJQNwS/k+QFGHwYfECjr+vGzYKWu785plSvx56QAQxGyHPqfLAh1NQtCXhoUmpQyYOKymvrTabTH
gHCzTWe6jCkhqXN52DkOjmNQ5RI5uT8RyItTR/pxDXM1Q0kZlqzAdFs7cZ4+vZTAeljNSleUUS3j
U5jiLS6DsEoOo+EAbGOMLUszr8YTg0ZagaGlyW5mduYhKVWausp3w3j/fK/IeLd8TyPqkO1Vy2pj
8Dkv9VPj1vIxpVTgn2pO8PgKKE9EAmEWLxvSu3HqGP78RIOvHC81OJcN2CxK/s6zeQZKrHGl1Eu6
sQjbCebR0h2ZPjEtrutXeO2TCvmi7orv7b448dKUJmwu8shoiakHPSs/QMwsNVpaYQ5RiV795KlE
1IrBzKuJgQ6NKjqAXerhiaJgz9NV0/NUSJDRxfF+zRdbGci0ZNiDqgxft+vIdvEXjF3sHlMR1LEF
QIRfGePn13q2rFuV3USWCsvVP+CpHLkuoT6hwYiyMzUzM/PhJyT2DrDs2nUp0n2Y3fGe7xdSrvhg
rZr2hqocodaS5PHPywrmOuosi3SQKaRjpVa8adaUlyUmFWz76LkcQCrwlSLgQAorBGw3dQhaPhRJ
vpgjVdNVw9Q140o1dN0Sl6Q7nhItLYKGjh0EK1B4JMZ0kDljeZYDjLPuo6BGzRJRjcza5BI0SiBe
knxL32mqFPkpy5BqHlNjYv+V0wTlv5wijt8SLYSboPu0QEDARtnfwUcUZvZGcRY8lZDVYLsoYYWd
MEqPFp7xm4iTalpcTpA3x7KBHYdyVA7dtTN9NWP48c/F4pPD/o4RZZU6vN+TtcyBY+ub1axvuWtF
ec6c8RsVSGp9svRnGoT/UByV9HxByEt91S44JQAzp8QJ4aEeArysNhRDAjNfyS7G7k0Qrm79YA86
8VFAMD/V9m2K6ZzlDOHZzbsW07koin9GMe2m7+w7x75z7DvHvnPsO8cz6Ry7qw/hZuMn9V7y1Q+C
WTYuPtI6zZKnay0tZc011EoZ9VAC3LmhRBfeTYuJLuGKGsYk4tUx8eR26lZKGJPtMdZoVbtYUurn
16auaqe8BsCrhKwwoGoZIw+YWg84cwASVmEkyRjPT4tkAQDndz7bsEoFieqrTgTGZB9016bg4iJJ
lsHlxIb3mJqAKEDl9JIOfr5glAhdEQo2wHm5vN0RscDfcelrnPC2/Z9xkpd+xsVFGtj7wnftJTiq
XYzkCZJdZtTeG2EuUYgjLArGm0mWZrBwBBMY2WEp0rV/8ejXX0l3PXg72pY3QhyIv/UJmPKPFPhA
Nve29bzwls8xy2LYWnV/XStpR66lglve97b2ETuOG72EgBUrhyYTcR8kYHdKSklKyndnzXlFMYNV
Yj/jL/hbcr8jBECu4d594Oz3iyEJ3lC8226hd4qRWq1cHxGohF5BchBh231DTzaUNvWonvb63TJI
cpbpu4Xohjw+eD2kbxJI2tNsDtV5NinP7m3THx8c57I37ne3/e6239323dZp3ZZ4S96mF/tVnHHO
Jfzsjmt+REPRZWFbFycIstq2rh410INiBx7m8Y1emSPO0cOhB//N6NqFiPSeRtfHx10tfm673uMu
RmrHON3ejHxm+bfc4cfp03gXJKBOEu2cZAd8Z0FIcH+D0t+g9D1m32P+9jco3O+u6I9Mm7ygjmyL
U7XqVwjZ6CEELN3UlMargdQ3yZZujDWuv4XfNtdZb+y3Fc7GF3skacrRjOPl5B8Kd2gn9oP/AVBL
AwQUAAIACADsWTZLW7Bi70IGAAAJMwAARwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJv
YmplY3RzdG9yZS1nZXQtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAM7U8VZO1PFWXV4
CwABBPUBAAAEFAAAAO1bS2/iSBC+55Sf4CNIG8kPDIRbYoYsWu2AJpm9G7sN3jFttm3CzGV/+5Tf
bffDJjiahxgpGtGuqq6u+qq+bjcs54/PiLwiMpuFB4Tnj5/Qf0cUxZaNHRQEyL35jH0YWc4f53Zs
b+wIiSSVO+X2ZlnZc3N5K8QYObEf4jXCro+3VhBGCKS1kToxRqZp6pPxVBuzM1Was5nDtbIg4d4K
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
XArgUgCXArgUQC4kF5ILWcaCLuiCLuiCLuiCLuiCLuiCLuiCLuiCLuiCLuiCLuiCLuiCLuiCLuiC
LuiCLuiCLuiCLuiCLuiCLuiCLuhyKYBLAVwK4FIAuZBcSC4EXdAFXdAFXdAFXdAFXdAFXQ6PODzi
8IjDI3IhuZBcCLqgC7qgC7qgC7qgC7qgC7ovEt2dUSddd+OmLViN6p3reaO0XBGtOCWJ4mCWtLDp
3Cjv2cjybeF5wtleetWyRY2dbrtvdE3T1HuGqbeLMrYXROKBULev1wbXQnH17DRz5yixUzR9Y91f
iLR8vIiRh/Xo3Xf/A1BLAwQUAAIACAD1WTZLszQ0g6ALAAAMtAEAMgAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMS1zdGRlcnIudHh0VVQJAANOU8VZTlPFWXV4CwABBPUB
AAAEFAAAAO2dW2/iSBaApX3MU35CaV4GpPQGbG7JWzfpHkW9s2STnu7HlcFF4m2wWWOSycv+9i3b
4Nj4ggkmCZNvpFELU3XquKrOdy6mnMuLTzfSvZfu+bkzk/bFp2v534Wce33DHsnJRJpHf9iWunJ5
8enC8IyhMZd5LcUHcXx0WbG82tSw7LrI6DRybFuOPMux+xNnLs0vrjPtTyxpe35HUWu2Gl291W63
tW77TO/UC0QZQ8f1vrmGPTcCget3Yi5b9qMhr6RtWvZtMLJqHRur02t2jmrmMHOgmXTHjjv9mDVe
qvnTaPGbjY+8dstJPbpt7eh3OXXcRyXzkzH6qXrdeI6bd79h23jDWItln1o9T6SrLt/LwfA/Ssvg
0hfH/S7dub88d4Z9K4N7XvaONVOTKyfSk9dy5LjmSrptyj9XMj/bnmvJ+Q/Lu/tuTBbyq3zcrlli
NMM0E0OhCqqgCqqgyntW5cG1vLi7+2LZ1vxOBSvKzyW84MiZznytzYFy5YZ/7Zs1le4Xy1XxSq3x
Z3c8Hreb2mioy0Y91XsW+u5NfVvNjL5q5KnlDewwJvG/fooPvjmrSCVsFesYD2PSX6ZijowhC0Ow
NYEbQjbTMq+2iYDOzy373vkpown7aJuxTsH01YoCO6egYzDvBX1V1GJO5OpzpMJcqfrtTrpSGOr/
pt5p9nr6WVsTy8X1J/yLGkZtsdUWX8lYhZVZC5fdsuDbDI1Tl2r1+L4aqeiwXrg+y1sOBqtmZnpt
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
IUrt6a8996e9oXzMFV2swx8lNvQfFBbsek4gSk/vFZ8FlEgc38r+OrAjICtkhayQFbJCVsgKWSEr
ZD1EVvHNkIdiX08Lagd7sAd7sK+TvcSsB5JWkCB3NTJ5QxvQBrQBbUAb0Aa0AW1AG9AGtAFtnIE2
sC3fPlmPv7cleTBQ8SiF7Z6lrNPkCp+gJcv091RDwgdX965Hq2GlZZ9jsV/D38Obb3H5lftO53T6
PbgSF4k0c0LaYGIHfcvoCyxtnrnKuW9r/MueybvjzE86nhvjXKYk+6naZWJV9nP128R7q2+NyPHY
JzFT5jq2gCTnJSuAP7QBbdSijSnnmeX5amPOfzPa0HAjzYocpydO29EjL59ppK2KY1NVHE0KoScR
vRJpAZAWoNaAm/qSYCOQZh2pu08/AQOihCItANICIGYpYpZCI4jiCt8Mvhl8s0KPSZ8bYyliZsmG
6wtGZ5WT5XDXo/EOpVqSh+P5cHphsl4XULnV9SizEt0gvTe8KyBn+BLQCLwreFfwruBdIdUcEmKj
0Tj5wskXTr7gm8ETgUbgm8E3g28G3+wkfLNaMXPpg7F8ubUfHNR68iWh3ir801aAeXkcibU/NWWX
P2MuoVD47ThHhEsMXxeeHTy7OlS38d11FFZjH807VC7HXH1+cr2wlt1c8W6vop+ZAhEHUUbVbRsn
prMgqxWx0hzjVvSG3fFgOBqN+leDUb+bplms3A3ZIxqO+2miV/P3E5kElLO4J/ZL9IfC6STmsvsW
MrIUBfs/UEsDBBQAAgAIAPlZNktlQNcX4xUAAA8zAwAyABwAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2luZGV4LWN1cnNvci0zLXN0ZGVyci50eHRVVAkAA1VTxVlVU8VZdXgLAAEE9QEAAAQUAAAA
7V1bb+JIFpbmMU/5CaV+WZDSA9jmEt7SJB2hbC/ZpKfzOAK7knib2KyxO52X/e1btrEx2OULlMHA
N9KoFXPq1Kmvbuc7dRtef3mk1i9q9fvmjBrXXx7ofx06twdjQ6XTKdXO/jJ09mV4/eV6bI8n4znl
SZLP5Pys9jbWjTpJSKSahkFVWzeNwdScU+2rZb4Npjo1bDchqbWUZldW2u221G1fyp16iqrxxLTs
79bYmI89hV7Ow2VJtIXkYC1LJhfJpdNrdc5q2iQxixm1nk3r7Sopp5j4Mp/MYq5a0G1LZ9/om2l9
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
In2t5ecWZYtir0+leG10QwnL0I+4fUmLNJYld7c6XpnVXQqZoDd6cPvqVrA6PKPYCdu0krpSlskW
g6QyiCLp+llAyHJVYnUxJ8bQNCzbHFrXhmWaI3VnuZcpcaJHyMBzo2iNCmvq0owyZ6LISurb7PJZ
0OAWieAzs0FcYb+qp0ta7PuXhUq83YZpE8avYRTN8nN1sTxfbicuD7VoIKv1siOPClNVn1gObVYt
aCWkhEwyWKmJT1OXQ5Tw2mO8cRKURFKas41tGsNzPjzJgClKgxa0BJks1LovoVmy6TpmHTkfhBlm
S0y+v9594BWufwsGmcyY/Vo7DVJgjUGpcEo+3PTPmgpSRdzE81aDBMp9pqtYVIQHiSLUBEVNfT/b
FfHxBUiqjHrc7Alc/c6Xrhb9fhS+g/QreDHzFbl9G1JU+bcs4hhC6QrC1T2hnUrwijja4MWp2hKB
FyiePENnefmB78vHmi8WeFCfFFeJjHUcdW1VXHeO7RfroKfwvq8yJb8xByMOSJffgDu6+LRT8Ckr
9K/i7nqCmL6Z49VTCGpQil4c+9XpJ3VWSf1eZV8YOkaTnKY1dRxyXnjC3pTNp6tvbvgu1T5UB7Cm
kzudo1GjsO6X8g+cBQHG6wm+E5YX9/5nUjRokuTrIbeUmub4uKX07lR7+clZnh2NCeCyq+SdKL7c
N6r9YHfiYnnslDfStXezh57nyo8t9mOL/dhif6UtVuhfyb+b9P4HUEsDBBQAAgAIAP1ZNkuALP/u
/ggAAIUYAgBVABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1pbmRleC1ub3QtZGVs
ZXRlZC13aXRoLW9iamVjdHN0b3JlLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADXVPFWV1TxVl1eAsA
AQT1AQAABBQAAADt3E1v2kgYwPE7p3wEH0FqJL9g3m4JJFoOW6Im7d3YQ/AGbNZ2kvayn33HNhgb
vwBNomi1/0pRG5i3Z2aemd8eZqeT63sRvIhgNHKsyJpboRj7nifsyPW98coPhaNcKlpX7Rtd0zT1
fm+g9VrfPffvZzGdXE9KdUYj+6D+beCvxytXeJFs6eKgtb6pt9pry/U6SqnRo0218y2pw16nVdGG
6734T2K2EYEVN3TlOQ+B5YVW0uyDuxZBu9MwBL+h4q0bCKc13U+hHY+y1Eir7cwr2w6Xz5Hjv3q3
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
s26Vql7kj9ZV+0bXNE29bxqa3qoYquu9+E8i219XnpNrJtlt7U7TTVW1e0o3TkUCVI76oqbMLLia
+8GRVFm4carvUrlhdfyGYJPUaqi7tDxnJXa/Z9MWysl+WAp5blryRzN62mBgDE1d2eZvxayEGyuy
lzcv29NGNuVNrr8J2WEYpcHcP9u2CMOrRSSCHyII44NK9v8oxtvdmuylaa5WodVkDxQOTFVtWsp0
X/8RByhHXOjwYH2rGvDz4x9bni1WKzmTh3GHkb/ZDfu8ZvZrsG1jv7l7hqmrxTL2yg/FQaH4v9jq
wi/l1V26cOO4nWLTa+vXXCSfT7dH62E/evf0fpKGnNa/UEsDBBQAAgAIAP1ZNkvWJvB/uwkAAHAl
AgBNABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1pbmRleC1ub3QtZGVsZXRlZC13
aXRoLW9iamVjdHN0b3JlLXN0ZGVyci50eHRVVAkAA15TxVleU8VZdXgLAAEE9QEAAAQUAAAA7dxN
b+JIGsDxO6d8hNJcBqSOBDbm7daBjibSaJLtpOdu7CJ4YmzGNsn0ZT/7lm0wNn6D7o56d/VvKWph
6u2pqqfqdzF3i5tHGbzKYDazHfvW8Zxw/Zvp2a7jPf8pg9Dxvfna9J7lU2B6oWlF6oG4FledL57z
907eLW4WZmQuzVDOfc+TyfdtTcX11d9g2B/rQ8MwtPFoNJl0uhvT8Xqi1HBbc52KGo736r/I+60M
zHhEHz07N/4nZyODbq9zd4zd30pvcfNZqnbCaG56lnRdaVe1XF0ymZJ3bM8uTfKD9Gw1E3PXD+XJ
ZE4Go+blsSpbuQ38zdx1pBdVLNDY0JrHkzRhf/tI0vqtY6jfJC1NdfMt9aej3vdsm9zT2WybzmFW
Kyl36wRqNrr9f8ar1coYaNZyOOj3GobvN3SaNNZQdx2nhTx8zgYSqsCf1jKQwlR/A300mEz0qaGJ
/YjjSG5VN37wVa2odGWUtXHYf8e1evKzta8s2fBtxYhLj7q9/GRZarF6qmZryElnP2ZmJoY2yWbm
sqYe/O1WrbbpiWwVPwjPfxNRUx9to57vgkDt3qynhgqqyMoPNvsa6axk9ZI16NrL6qM1KXtjWi9q
SI9qK8jO479+d6K4VP7pbPYso/vgU6gquuokPrRw56181cHhPFA91VQvdySSR+qTWDmuFL9e/SrU
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
4jfxmoJttSu4fP7T9sPloXy/M6P01bODtO9duNijXRRLbZGrG6W9dsqpRlvRbrLmR2ZuL5ouWzLG
yQJksqo3c+J9T42m76bclGVtYVkCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4HwC57/RL
XImZ5od/OvSSpchkzbhgBfK7eIvW/fwbp/qy3KoENP5V9tfwh1+qFcT04QqsixHEwvXUqhR0zLSs
tZMCdHuwasQqSn9gZI87bkAHHXTQQQcddNBBBx100EEHHfTD0fe7z4KOoIMOOuiggw466KCDDjro
Pyl6hRXxWkveEULxinfxKnm9/m/Xxg/r/da/TuSaW2+vf5Vef+vDXhEpDuzhbPVBObEdEkSssTSi
eIMO+q91w7mgTld5KMftfn1KP4Kjfn1XdGO/Sl+hqu/Pq2QeOLzAV6fb6FbFE4vZoQE5zkbTQjp1
T6YrEKgY5eIH19wedx9whYYrhKYyysEZd3g/9xL5ndfavyJva42d5gaHPvJHyb0mAnnUabCB0Jyi
7vXHLKxhDWtYwxrWsIY1rGENa1jDGtawhjWsYQ3rH876yPfngQceeOCBBx74nxm+8Xf/3CqeI/c1
fqnX5aXr3D0vFsL393wRUNnaKyaY/NomSQpZtr8yg8Xj5xeZG8YH4zyblSPV26/qvPjuJOsBaqAG
aqAGavwoNbh7+H5Y1xn5J7IzuF4CMohhDWtYwxrWsIY1rGENa1jDGtawhvU7YV3lPmTZjSTFTUpG
CaxhDWtYwxrWsIY1rGENa1jDGtawhrX2LoxmT9dpCtTQ4yibUbORJ8ORa7CGNaxhDWtYwxrWsIY1
rGENa1jDGtbHZM3zPIAHHnjggQceeOCBBx544IEHHnjggQce+CaejcvjSDGpbHJqt+OP/jJgBgIm
mGCCyY81Of55Dw/K3fP1AwjGc5ZRAzVQAzVQAzX2V4NNf/s80L30V7A/TqCGft9a7/epp7XVdM90
rR+DOglfFpID4svG32Owbiw32BYOa1jDGtawhjXvowceeODZ//JzmnDvjjuZqIEaqIEaqIEaqIEa
qIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEa
qIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEa
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
ehAFURDFnllEQRREMeox6kEUREEUREEUREEUREEUREEUM7PmURAFUcQoYhREQRRrPdZ6EAVREEWM
giiIgihiFDEKoiAKoiAKoiCKUY9RD6IgCqJYPRajIAqiIAqiIAqiIAqiIAqiIAqiIAqiIIqZWTOz
iIIoVo/FKIiCKIiCKIiCKIhi1GPUgyiIgiiIgiiIYtRj1IMoiIIoYhREQRREQRREQRREQRSjHkTZ
E6Is5zdz8UiMIkZBFDGKGAVREAVREMWox6gHURAFURAFURAFUYx6EAVR5ifKTEzICDuIgiiIIkYR
oyAKoiAKotiFjyiIYj+KGEWMgihiFERBFERBFERBFERBFERBFERBFERBFERBFESx1mOtB1EQBVHs
wkcUREEUox6jHkRBFDGKGAVREMU8inkUREEURDHqMepBFERBFERBFERBFERBFERBFDOziIIoiIIo
iIIo7nBzh5tRD6IgihgFURAFURAFURAFURAFURAFUdwK6VZIREEURBGjIAqiIAqiIAqiIAqiIAqi
IAqiOHvs7DGiIAqiiFHEKEsR5eb2P6lKj7VZjtrmnqAylHHSNf2h89SXjtSbB6VyT+mmMak88CY5
0K0vi8nNo+/RCS10oNAZcHQyOz7MVq7KLLx4LHwYf49Sl0w6/z14G9Q6Xhg02g/1o65w9aqYtvvU
sb63G0sbBL8qzfsgtR+kJUh+XwevD16/emREpRHcVjq+E1Rrv6Kk435vDt4EYVwOWvX6yy9zQvii
cNEP4fYPQ9jJuxSXJ+8u3g7+MFQKNtlkk002N8fmSo/EqA022WSTTTbZZJNNNtlkk0022WSTTTbZ
ZJNNNtlkk0022WSTTTbZZJNNNtlkk0022WSTTTbZZJNNNtlkk0022WSTTTbZZJNNNtmcZHPkJRid
h1LjnStSxt+BcXF2djXZ0l9xqxGV/6jWbj9Wqo92ZS5zmctc5jKXucxlLnOZy1zmMpe5zGUuc5nL
XOYyl7nMZS5zmctc5jKXucxlLnOZy1zmMpe5zGUuc5nLXOYyl7nMZS5zmctc5jKXucxlLnOZy1zm
Mpe5zGUuc5nLXOYyl7nMZS5zmctc5jKXucxlLnOZy1zmMpe5zGUuc5nLXOYyl7nMV5r5Yfn2KPgr
rvxvq53uQ9gMb8NGmqYeJXe15OFTM0rCZtT9MMQ4+5XRD832NYmzk7O3gz8MfU3i8CGsxCPLWa6U
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
JbAElsASWAJLWMRhEQeWwBJYAktgCSyBJbAElsASWAJLYAksgSUs4vh5WeKJhvqvTD+wBJbAElgC
S2AJLIElsASWwBJYAktYxGERh9kSZktgCSyBJbAElsASWAJLYAksgSWwhNkSK6DwYCwoOcfiQVow
9xGzJbAElsASWAJLYAksgSWwBJbAElgCS2AJ75bY5LslLOLAElgCS2AJLIElsASWwBJYAktgCSyB
Jbxb4lHfLWG2BJbAElgCS2AJLIElsASWwBJYAktgCSzh3RLeLeHdElgCS2AJLIElsASWwBJYAktg
CSyBJbCEnTjsxIElsASWwBJYAktgCSyBJbAElsASWAJLeLeEd0tgCSyBJbAElsASWAJLYAksgSWw
BJbAEljiZ2SJ4ks/1qALLIElsASWwBJYAktgCSyBJbAElsASWAJLWMRhEQeWwBJYAktgCSyBJbAE
lsASWAJLYAksYbaE2RJYAktgCSyBJbAElsASWAJLYAksgSWwBJawE4edOLAElsASWAJLYAksgSWw
BJbAElgCS2AJLPEELFEaGNZdLbJkDSXU4jUN8BHKRlIYkkASSAJJIAkkgSSQBJJAEkgCSSAJJDF3
w9wNczewBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJLIEl
sASWwBJYAktgCSyBJbAElsASWAJL2BfEdqW2K8USWAJLYAksgSWwBJbAElgCS2AJLIElsASWwBJY
AktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbDEC2eJ8txQiDAy
gWEz741Y54URWAJLYAksgSWwBJbAElgCS2AJLIElsASWwBKFWMJsCSyBJbAElsASWAJLYAksgSWw
BJbAElgCS5gtgSWwBJbAElgCS2AJLIElsASWwBJYAktgiQdtEJquBUXG/ZsAkHJbeJb3jyU1ePS5
Ga9pgI9QNpLCkASSQBJIAkkgCSSBJJAEkkASSAJJzN0oNCejkGoUnIWxmfkdGQRTdJqHuRvmbmAJ
LIElsASWwBJYAktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJLIElsASWeL1LSjZBGE/AEqWB
Yd19URMXoqy5pARLYAksgSWwBJbAElgCS2AJLIElsASWMFsif0xcAhRKvqhzXS1YRg/7gmAJLIEl
sASWwBJYAktgCSyBJbAElsAS9gWxLwiWwBJYAktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJ
LIElsASWwBJYAktgCSyBJbAElsASWAJLYAksgSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbAE
lsASWAJLYAksgSWwhJ04bBCKJbAElsASWAJLYAksgSWwBJbAElgCS5gtYScOO3FgCSyBJbAElsAS
WAJLYAksgSWwBJbAEhZxWMSBJbAElsASWAJLYAksgSWwBJbAElgCS1jE8XIXcZRejrHutIwlaygB
HK9pgI9QNpLCkASSQBJIAkkgCSSBJJAEkkASSAJJLCl5giUla7yAYq41lpSYu4ElsASWwBJYAktg
CSyBJbAElsASWAJLeNMFlsASWAJLYAksgSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbAElsAS
WAJLYAksgSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbDEK9sXBEtgCSyBJbAElsASWAJLYAks
gSWwBJbAEljCdqVYAktgCSyBJbAElsASWAJLYAksgSWwBJZ40Hal6VqwCdwoCAcP3dLUdqW2K7Vd
KSSBJJAEkkASSAJJIAkkgSSQBJJAkhfxposHe0TJmSG2KzV3w9wNLIElsASWwBJYAktgCSyBJbAE
lsASWAJLYAksgSWwBJbAElgCS2AJLIElsASWwBLedOFNF1gCS2AJLIElsASWwBJYAktgCSyBJbCE
7UptV4olsASWwBJYAktgCSyBJbAElsASWAJLYIkfkSUs4sASWAJLYAksgSWwBJbAElgCS2AJLIEl
LOJ4cYs4zJbAElgCS2AJLIElsASWwBJYAktgCSyBJX7c7Uo3PJh/yikc+RuPPiKC2K7UdqWQBJJA
EkgCSSAJJIEkkASSQBJIAknM3fACTnM3zN3AElgCS2AJLIElsASWwBJYAktgCXM3iqvCJggjkxsK
gUVBYHjyZSdYAktgCSyBJbAElsASWAJLYAksgSWwBJawL4h9QbAElsASWAJLYAksgSWwBJbAElgC
S2AJizgs4sASWAJLYAksgSWwBJbAElgCS2AJLIElsASW2OgUiDX2RcUSWAJLYAksgSWwBJbAElgC
S2AJLIElsASWMFsCS2AJLIElsASWwBJY4mWxxFN8gTbQBtpAG2gDbaANtIE2Hps2SnaUnr2R16xq
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
qaFU95NVi6nuZ7K6KNwkq41q4nbqFsqikG0Ta7SqhyIp5dFmPDBG755RFNVVFAZcfRTkgVDrroQG
IGET0pqM2fqs8GYA8Ot17hWrFJBIMMaww5zBbrqNMS2NSalRktGme9VMECv8Jp62SiQ4u86oA4uc
sBIoQk1AFBQAdlUEH18wipVeD280ptxmvnFYmHKrPgEPEieYZk/L5UAc25KEe/QJ2PE3FoYQV9Jr
kQIYC42vRBTRDsFXSkNTEyEKJrBywrWY1xx7Wh9fLLACmgpWou/PoJdUAr6C3TVnv91M0GLvr4Wd
co4JQsDodftbuZrWYloruM213v/F3Je2Zvphhle3RqBBJnrR9Cb8J5V7CX6v2aVnTb+U0HCtUHWn
oBhegw9J6coKOZhq5hAXB+fWIpKdyKnULjHbBVnRcEehmbmY8B3T3wOl4VV3Kh8jQmoLdSynvYIC
3KptQYORZyra03ICll1OSFhLG6fPmrob4ZVI+QbuaTOEiWSUZ7CR8JWeT3hz5jMBblqHCBkNB3Di
Pvi6cXAqbMj56atR9+/wakdxeCw5WYffYeWbF+41Mz25VpfZUPm6Wpn1wXnb4GR9ccazqhzo0RvL
Sd/9Ur7ekGV1Wh0CzBvpbJHurdj8B1BLAwQUAAIACAAmWjZLCKjauc4MAADd8wAAPAAcAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFjdGl2ZS1mbGFnLXByaXZhdGUtc3RkZXJyLnR4dFVU
CQADp1PFWadTxVl1eAsAAQT1AQAABBQAAADtXU1zozwSvueUn8DRrpqpMv5Obhk8yaa29nVqknf2
jI0Ss8GQBZxMLvvbV4DBAvQJsuPEnaocDFKr+1G31C2g+3b24x6Fryi8vHTs2F7YEbIC30fL2A38
O+Q7rv9keUGEjO+GOexNBsPRZDQY9KaD/tnfvvvfDbqd/ZjVel5eLqlUrsNgbXku8mNM77xCczKe
nt3y+ElJOM05yfoLeeisbdfvGjWiQlIdkpJp9rtnFBqu/xo8o/kLCu2E0JXvPIS2H9kp2Qd3jcJO
l4QheEH+7McvhOlEsWX7S+R5yKFRprdMONNOjw1RwBHs2g3xSAQvywTFGpGzjrOg0o5Wm9gJ3vzr
IEzxpzH9v9q1Ttfo9P5MHh8fR/0RWg7MXjdD5BqzFoTvWNOQh2KUt88B2+nQQ1DoJLUl5y6FQxGD
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
4n1NpBjy/Cohd87Zu7sut8B9X+lVTDEPSOhKuh9YNVTyq0bGbSZeH0Xdh1vE1ZspXn4TAQlK1vNT
h8Tv60awyuaBDReCHIap9ceYnNrTt9N9O92303073bfTfTvd8p754RrYd1fw5e005evMcp1qOpoh
NIJ0Sa9Oeuu+rHH+fr4P7yM+tm2dzqfYeJM26N2vjPQ7ie9nJ7HFJk+/j9PBPs5nn4a+Yn+DWXyo
tuC62+6wjJbbHf148/zx5ueZTvZTtn7K1k/Z+ilbP2Xrp2z9lK2fsvVTtn7K1i+t/JqlFeH4if2v
2dbQ9E5/tKsP1uDXapzy5WvG/8OUzzag9XnFlK+m2v0ZB52evP0ZhDK1sx2fzE9QSwMEFAACAAgA
J1o2S0zzopZ+BwAAKHUAAEYAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2Jq
ZWN0c3RvcmUtY2FsbHMtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOpU8VZqVPFWXV4CwABBPUBAAAE
FAAAAO1dS3OjOBC+55SfwNGumlTx9OuW2Mmsa2vHqUlm7xhkmw0GL+B4ctnfvgIMCJCEMDjxQ6nK
wSD1S/11Sy0B08nDC/DegTcauRvgTB5+gn+3wA/GumMA2wbmzS/Hglemk4eJHuhz3QeklsKdcHsz
PR49c99+7DoOMALLdZ6BY1rOcmy7PoCtJVXsK6rW1xRFHChymVPWczQysFSePHc9ti3gBCH3As1+
b0CXJyJhHi5J3L9Shs5at5yugDFkBakOSkmS5C5uMCzn3X0Dsw3w9JDQvWO+errj6xHZV2sNvE63
9WEmq+RSBHmyPMgJkcUItS4RuemYcyxtf7UNTHfnPLleZC+c0P+VrnW6Qkf83V8sFpqsAUORxG7s
qE9QNNf7gJ4BbBCApH3ix9mYv7qpD2FbUu5iJKwSEA56l2rile6YNphEzKqb7X+nDuJDuV5XwAOC
Dv8lZSANVVlTVWET4+qmHqlnd7OBTqE7Qjry3wTH3QkBjUeV1OOt50EUpJwoHWCTheut9z1iq6T9
YmcluFM8XA+68QZFeoGuQLOmaZmTcvtqX27molgfTCRJecCGMxSro5G3B6273oQtTUwT18lTedka
BvB9KMqdYMTGFCA/P7Si5eeCmqz1QoIpKdPyN3pgrB7f08iVaTNXRLGbg1sYV0jKRTEHAZDQuYW2
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
OZZ+KCwmCWAqCe3xBkAhtKNyo20zDCsNu3q0oi3XiqYlYdchhmEhcwBDsLEBjt57OqlZT1caSNM8
YK6hUs5uo7XABD4DECDqkHSp+Zn68gJoXKkBDU118IBdw3iHeIf4P4/4S25/XmPzsdzhwHvC5tNl
My+JgNA4wtLffNzm95+l/VSpVn9789bbrPqF5KHQY8mjR3lX/qBMgmA4uFpyIauLaUeDbLi2hp6X
SHl5plkUKwKpd1C18Wv378i1Pa9qFOKHJaS3mHOWJXDoYRutn7aWm/a3KewNWXgnmLVW2MHTXuEv
UEsDBBQAAgAIAC1aNksytiF68wMAAFEpAAA3ABwAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1j
aGFuZ2UtZXZlbnQtYmFzaWMtc3RkZXJyLnR4dFVUCQADtlPFWbZTxVl1eAsAAQT1AQAABBQAAADt
Wktz2jAQvnPKT/ARZtoZPzFwC5DMMNMW2pDehb2AJkaisgLNv6+wjfFTYEIbmpgZDojdlXa/XX0r
2aNh/wHYBlivR9dAhv0f8OsZfD5AxAHPA7fxSLAYGQ37Q8TRDPlQJql8Vm4azRXCpKUUKDmUEHA4
pmTgUR/ce0ZXAw8D4TtFpamZqm2Ylm0Zerdr6S2JKTSjjE8ZIj4KDAYzj67YE3dWaGgNbE7Z6rbI
nYref4UVZS9Cro+cJ0wWD5wyuWxSMCER6TRbyYC60eSDjOfC3MFZQ+0Yej7IB52jkUtbs9udi4Bg
qJp2JgjHc6pK3Kvl34koXUXBVciPc2C42pyqgv554ToxC642QkI7tWCR767wZCzgRruRKV4Bu8dM
ON9Uf9vz+dzSLZiZmprXDZwdkzCKt8QN6yUqHn8nfvB6SvfBzoJRbHZEJowuGPh+vDQ/J+nQ1doD
Du6x5Rug1q5/WNdL15ArqPyKXrEJv8PpysVd7E6qMEavh8mGPkGMocikhFKAqJRN3/+EVKIYJLtE
d4mI68H+96GYxFKnS2CgIPHVjI7WNexuu6NEG0K9GslqhJF7MY2g/7BPLNvqgh4ysh6y8E1LaZq2
2dZ1XbNCEv4vLBVpFyV6bqjZSm7EjmapLUm/nWuRLgKeqVttNQavmqkJXa8FmSCixIn2SSF0q3DZ
HMdWPXhmTHRm8UwShaj7PmiQWCsVWd1OU1wKqbLWfieU7GADi6r4aO2uaXfV1iswfvj+BXPIdeAL
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
Zdfirefi5qVjbRbkh0pV6vgf1SaYxtWxnrYvld+tV9BV1Xv6fQ3p+8WJ3Op2LO1yO9l9biOxpz32
r4zTD1BLAwQKAAAAAADNWTZLAAAAAAAAAAAAAAAADwAcAHN0b3JhZ2Uvd2Vic3FsL1VUCQADAlPF
WS1UxVl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAxlk2S4AYDaanAAAA0gAAAC0AHABzdG9yYWdl
L3dlYnNxbC9hbHRlci10by1pbmZvLXRhYmxlLXN0ZGVyci50eHRVVAkAA/RSxVn0UsVZdXgLAAEE
9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2G
KxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/t
wILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwL
yxzKxQtQSwMEFAACAAgAxlk2S4AYDaanAAAA0gAAADUAHABzdG9yYWdlL3dlYnNxbC9jaGFuZ2Ut
dmVyc2lvbi1oYW5kbGUtcmV1c2Utc3RkZXJyLnR4dFVUCQAD9FLFWfRSxVl1eAsAAQT1AQAABBQA
AAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPK
QsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5v
dkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BL
AwQUAAIACADGWTZLgBgNpqcAAADSAAAARgAcAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9u
LW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLXN0ZGVyci50eHRVVAkAA/RSxVn0UsVZdXgL
AAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3Xb
Nq2GKxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEs
Dj/twILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcU
PzwLyxzKxQtQSwMEFAACAAgAxlk2S/8hL92yAAAASAMAACgAHABzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1zdGRlcnIudHh0VVQJAAP0UsVZ9FLFWXV4CwABBPUBAAAEFAAAAO2PzQrCMBCE
7z7FHtuDRhAvQQTRnkQKLeo5SVcIpLthm/jz9lbRV/DkbQa+GfiqpqkbDUcyNiAkhpSFgAk8OcEe
KZkAJieeXo3LuYdiDsQJDAGKsJQTdeKQexzUziSjqnOrzmj3PqmWszh8tS0LqgN3OYzYDW03ktYM
+J68wszFWCyWixI0VHeHMXmmWlZX9t0aPg9af3GtI8qFpa8j0oa6E4q/PArLHMpJ9Tf6G/3c6AlQ
SwMEFAACAAgAx1k2S4AYDaanAAAA0gAAADIAHABzdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJpbmct
c3RyZXNzLXRlc3Qtc3RkZXJyLnR4dFVUCQAD9VLFWfVSxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQ
BOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRM
AJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34n
n7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACADH
WTZLvWxBxa0AAACkAQAANAAcAHN0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLXN0ZGVyci50eHRVVAkAA/VSxVn1UsVZdXgLAAEE9QEAAAQUAAAA3Y/LCsIwEEX3fsUs24VG
EDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcRMkMuQsAEgbzgiJRtBFsyT6/W
lzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurAQ4kv7IZueJHOXvCjvMPMp1Qt
losaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6Yv7u0RNQSwMEFAACAAgAx1k2
S4AYDaanAAAA0gAAACkAHABzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQtc3RkZXJyLnR4
dFVUCQAD9lLFWfZSxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pyk
Wwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt04
5BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+93
8HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACADHWTZLgBgNpqcAAADSAAAAKgAcAHN0
b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3Mtc3RkZXJyLnR4dFVUCQAD9lLFWfZSxVl1eAsA
AQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2
rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwO
P+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/
PAvLHMrFC1BLAwQUAAIACADHWTZLgBgNpqcAAADSAAAAMgAcAHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1
dGUtc3FsLXJvd3NBZmZlY3RlZC1zdGRlcnIudHh0VVQJAAP2UsVZ9lLFWXV4CwABBPUBAAAEFAAA
ADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pC
wASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92
R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsD
BBQAAgAIAMdZNkuAGA2mpwAAANIAAAA/ABwAc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2Nl
cHRzLW9ubHktb25lLXN0YXRlbWVudC1zdGRlcnIudHh0VVQJAAP2UsVZ9lLFWXV4CwABBPUBAAAE
FAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxAS
Q8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9
Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysUL
UEsDBBQAAgAIAMlZNkuAGA2mpwAAANIAAAAuABwAc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Ut
d2l0aC14aHItc3RkZXJyLnR4dFVUCQAD+VLFWflSxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7
T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMT
L2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7By
MRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACADJWTZL
vWxBxa0AAACkAQAAPwAcAHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdl
LWNvbGxlY3Rpb24tc3RkZXJyLnR4dFVUCQAD+VLFWflSxVl1eAsAAQT1AQAABBQAAADdj8sKwjAQ
Rfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf6E+4uxfOuXBN2zathhNZFxEyQy5CwASBvOCI
lG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NVpj+qHt0+ZHXkIh7fbcuC6sBDiS/shm54kc5e
8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jWCeXMMjYJaUNDhxLOj8oxx3pi/u7RE1BLAwQU
AAIACADJWTZLXWAWcbAAAAB2AgAARAAcAHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0
aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1zdGRlcnIudHh0VVQJAAP5UsVZ+VLFWXV4CwABBPUB
AAAEFAAAAO2PzQrCMBCE7z7FHtuDRhAvQQTRnkQKLeo5SVcIpLthm/jz9lbRd/DgbQa+Gfiqpqkb
DUcyNiAkhpSFgAk8OcEeKZkAJieeXo3LuYdiDsQJDAGKsJQTdeKQexzUziSjqnOrzmj3PqmWszh8
tS0LqgN3OYzYDW03ktYM+J68wszFWCyWixI0VHeHMXmmWlZX9t0aPg9af3GtI8qFpa8j0oa6E4q/
PArLHMpJ9Tf6eaMnUEsDBBQAAgAIAMlZNkuAGA2mpwAAANIAAAAvABwAc3RvcmFnZS93ZWJzcWwv
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLXN0ZGVyci50eHRVVAkAA/lSxVn5UsVZdXgLAAEE9QEAAAQU
AAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJD
ykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0O
b3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQ
SwMEFAACAAgAyVk2S4AYDaanAAAA0gAAACgAHABzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNr
cy1zdGRlcnIudHh0VVQJAAP6UsVZ+lLFWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGK
lyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFY
A3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD
/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQAAgAIAMlZNku9bEHFrQAA
AKQBAABIABwAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQJAAP6UsVZ+lLFWXV4CwABBPUBAAAEFAAAAN2PywrC
MBBF937FLNuFRhA3QQTRrEQKFdt1ko4QSGfCmPj4ex/oT7i7F865cE3bNq2GE1kXETJDLkLABIG8
4IiUbQRbMk+v1pcyQjUH4gyWAEVY6onqOJYRL2pns1WmP6oe3T5kdeQiHt9ty4LqwEOJL+yGbniR
zl7wo7zDzKdULZaLGjSYu8eUA1MjqyuHYQ3fBa1/uNYJ5cwyNglpQ0OHEs6PyjHHemL+7tETUEsD
BBQAAgAIAMlZNkv/IS/dsgAAAEgDAAA5ABwAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1j
cmVhdGlvbi1jYWxsYmFjay1zdGRlcnIudHh0VVQJAAP6UsVZ+lLFWXV4CwABBPUBAAAEFAAAAO2P
zQrCMBCE7z7FHtuDRhAvQQTRnkQKLeo5SVcIpLthm/jz9lbRV/DkbQa+GfiqpqkbDUcyNiAkhpSF
gAk8OcEeKZkAJieeXo3LuYdiDsQJDAGKsJQTdeKQexzUziSjqnOrzmj3PqmWszh8tS0LqgN3OYzY
DW03ktYM+J68wszFWCyWixI0VHeHMXmmWlZX9t0aPg9af3GtI8qFpa8j0oa6E4q/PArLHMpJ9Tf6
G/3c6AlQSwMEFAACAAgAyVk2S4AYDaanAAAA0gAAADUAHABzdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWVtcHR5LXZlcnNpb24tc3RkZXJyLnR4dFVUCQAD+lLFWfpSxVl1eAsAAQT1AQAABBQA
AAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPK
QsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5v
dkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BL
AwQUAAIACADKWTZLgBgNpqcAAADSAAAANAAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Ut
ZXhwYW5kLXF1b3RhLXN0ZGVyci50eHRVVAkAA/tSxVn7UsVZdXgLAAEE9QEAAAQUAAAANczNCsIw
EATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiU
TACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+
J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgA
ylk2S0+c45gKAQAAuAIAADkAHABzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0
eS12ZXJzaW9uLXN0ZGVyci50eHRVVAkAA/tSxVn7UsVZdXgLAAEE9QEAAAQUAAAA3ZFPS8QwEMXv
+ynmJC2oXV0ECSKI25NIodXd45KmUwmmM2WaVPfb29Q/hxX25Mlbwrz3ePObvCyLUsEz6doheAZB
LxZHBGcHD9xCo72u9YBAusMBWhZgsS+WoLUOd7vlItuwC9MsW0/SLN9W2RbrB+uzioMYjL97Fswe
uQlukr1h/R06W+LjSbR5RTk3fZ9cX16koKBmdvDlVepAqFSDDj0Wc5XEME1tf8QVmiDW7z+n0Qon
p0ey1jHLMk0NMV3kh0x8EAImsGQEOySvHejg+WzUJoQOkiUQe9AEKMKS/gmRGcXqahVR5O8G+1iw
kJuRbXP7exelepTpOF3RI91Rs0Gx7T6JEP/jRh9QSwMEFAACAAgAylk2S71sQcWtAAAApAEAAEUA
HABzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dy
ZXNzLXN0ZGVyci50eHRVVAkAA/tSxVn7UsVZdXgLAAEE9QEAAAQUAAAA3Y/LCsIwEEX3fsUs24VG
EDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcRMkMuQsAEgbzgiJRtBFsyT6/W
lzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurAQ4kv7IZueJHOXvCjvMPMp1Qt
losaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6Yv7u0RNQSwMEFAACAAgAylk2
S4AYDaanAAAA0gAAADkAHABzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1u
b3dyaXRlLXN0ZGVyci50eHRVVAkAA/xSxVn8UsVZdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+x
x/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiUTACTEy9n
43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+J5+wcjEW
1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgAylk2S11g
FnGwAAAAdgIAAEcAHABzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMt
ZG9udC1ydW4tdG9nZXRoZXItc3RkZXJyLnR4dFVUCQAD/FLFWfxSxVl1eAsAAQT1AQAABBQAAADt
j80KwjAQhO8+xR7bg0YQL0EE0Z5ECi3qOUlXCKS7YZv48/ZW0Xfw4G0Gvhn4qqapGw1HMjYgJIaU
hYAJPDnBHimZACYnnl6Ny7mHYg7ECQwBirCUE3XikHsc1M4ko6pzq85o9z6plrM4fLUtC6oDdzmM
2A1tN5LWDPievMLMxVgslosSNFR3hzF5plpWV/bdGj4PWn9xrSPKhaWvI9KGuhOKvzwKyxzKSfU3
+nmjJ1BLAwQUAAIACADKWTZLvWxBxa0AAACkAQAAQAAcAHN0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJh
bnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LXN0ZGVyci50eHRVVAkAA/xSxVn8UsVZdXgL
AAEE9QEAAAQUAAAA3Y/LCsIwEEX3fsUs24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlw
Tds2rYYTWRcRMkMuQsAEgbzgiJRtBFsyT6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR1
5CIe323LgurAQ4kv7IZueJHOXvCjvMPMp1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlD
Q4cSzo/KMcd6Yv7u0RNQSwMEFAACAAgAy1k2S4AYDaanAAAA0gAAACgAHABzdG9yYWdlL3dlYnNx
bC9zcWwtZGF0YS10eXBlcy1zdGRlcnIudHh0VVQJAAP9UsVZ/VLFWXV4CwABBPUBAAAEFAAAADXM
zQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASe
nOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/
pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQA
AgAIAMtZNku9bEHFrQAAAKQBAABBABwAc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAkAA/1SxVn9UsVZdXgLAAEE9QEAAAQU
AAAA3Y/LCsIwEEX3fsUs24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcR
MkMuQsAEgbzgiJRtBFsyT6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurA
Q4kv7IZueJHOXvCjvMPMp1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6
Yv7u0RNQSwMEFAACAAgAy1k2S4AYDaanAAAA0gAAADIAHABzdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2stc3RkZXJyLnR4dFVUCQAD/lLFWf5SxVl1eAsAAQT1AQAABBQAAAA1
zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAE
npzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfb
v6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQU
AAIACADLWTZLvWxBxa0AAACkAQAAQwAcAHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNz
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAkAA/5SxVn+UsVZdXgLAAEE9QEA
AAQUAAAA3Y/LCsIwEEX3fsUs24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYT
WRcRMkMuQsAEgbzgiJRtBFsyT6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323L
gurAQ4kv7IZueJHOXvCjvMPMp1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/K
Mcd6Yv7u0RNQSwMEFAACAAgAzFk2S4AYDaanAAAA0gAAACoAHABzdG9yYWdlL3dlYnNxbC9zdWNj
ZXNzLWNhbGxiYWNrLXN0ZGVyci50eHRVVAkAA/9SxVn/UsVZdXgLAAEE9QEAAAQUAAAANczNCsIw
EATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiU
TACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+
J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgA
y1k2S4AYDaanAAAA0gAAAEMAHABzdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLXdoZW4t
cGFnZS1kZWZlcnMtbG9hZGluZy1zdGRlcnIudHh0VVQJAAP+UsVZ/lLFWXV4CwABBPUBAAAEFAAA
ADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pC
wASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92
R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsD
BBQAAgAIAMxZNkuAGA2mpwAAANIAAAApABwAc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVy
LXN0ZGVyci50eHRVVAkAAwBTxVkAU8VZdXgLAAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqX
IIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgD
cQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9
cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgAzFk2S4AYDaanAAAA
0gAAAD4AHABzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtc3RkZXJyLnR4dFVUCQADAFPFWQBTxVl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qAR
ipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6h
WANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipB
Q/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACADMWTZLvWxBxa0A
AACkAQAAPQAcAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLXN0ZGVyci50eHRVVAkAAwBTxVkAU8VZdXgLAAEE9QEAAAQUAAAA3Y/LCsIwEEX3fsUs24VG
EDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcRMkMuQsAEgbzgiJRtBFsyT6/W
lzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurAQ4kv7IZueJHOXvCjvMPMp1Qt
losaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6Yv7u0RNQSwMEFAACAAgAzVk2
S71sQcWtAAAApAEAAEMAHABzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQJAAMBU8VZAVPFWXV4CwABBPUBAAAEFAAAAN2P
ywrCMBBF937FLNuFRhA3QQTRrEQKFdt1ko4QSGfCmPj4ex/oT7i7F865cE3bNq2GE1kXETJDLkLA
BIG84IiUbQRbMk+v1pcyQjUH4gyWAEVY6onqOJYRL2pns1WmP6oe3T5kdeQiHt9ty4LqwEOJL+yG
bniRzl7wo7zDzKdULZaLGjSYu8eUA1MjqyuHYQ3fBa1/uNYJ5cwyNglpQ0OHEs6PyjHHemL+7tET
UEsDBBQAAgAIAM1ZNkuAGA2mpwAAANIAAAA0ABwAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2stc3RkZXJyLnR4dFVUCQADAVPFWQFTxVl1eAsAAQT1AQAABBQAAAA1zM0K
wjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzg
iJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1
E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIA
CADNWTZLgBgNpqcAAADSAAAALwAcAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXByb3RvdHlw
ZS1zdGRlcnIudHh0VVQJAAMCU8VZAlPFWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGK
lyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFY
A3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD
/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQAAgAIAM1ZNku9bEHFrQAA
AKQBAABFABwAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1zdGRlcnIudHh0VVQJAAMCU8VZAlPFWXV4CwABBPUBAAAEFAAAAN2PywrCMBBF
937FLNuFRhA3QQTRrEQKFdt1ko4QSGfCmPj4ex/oT7i7F865cE3bNq2GE1kXETJDLkLABIG84IiU
bQRbMk+v1pcyQjUH4gyWAEVY6onqOJYRL2pns1WmP6oe3T5kdeQiHt9ty4LqwEOJL+yGbniRzl7w
o7zDzKdULZaLGjSYu8eUA1MjqyuHYQ3fBa1/uNYJ5cwyNglpQ0OHEs6PyjHHemL+7tETUEsDBAoA
AAAAABJaNksAAAAAAAAAAAAAAAAHABwAd2VicnRjL1VUCQADg1PFWS1UxVl1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAAGFo2SwAAAAAAAAAAAAAAABMAHAB3ZWJydGMvZGF0YWNoYW5uZWwvVVQJAAOQ
U8VZLVTFWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAASWjZLss+ei7QAAABsAwAAIwAcAHdlYnJ0
Yy9kYXRhY2hhbm5lbC9iYXNpYy1zdGRlcnIudHh0VVQJAAOEU8VZhFPFWXV4CwABBPUBAAAEFAAA
AO2QuwrCQBBFe79iylgYEhNEUgiKdsHCKJZhH6MG4m7YGQn+vbuK/kCsxKmGC2e4ZyKNrbjXUhDq
WvYYK1VMZ+m4gNVxAxUyN+YMxMIxyIadYAS2BWRJmFE0ECfFnU8NddZxgPN54uHKx/t3PFnskJAr
diiuUbhNzxWMZTjZm9Hx4B5/jR/S6FE6VoREjTUBTrM09/RS66CyFixe9UGJtkUN/QUNBPn6Y19D
Q7A9lGX8vbc8AFBLAwQUAAIACAASWjZLEK81deEAAABuAQAAJwAcAHdlYnJ0Yy9kYXRhY2hhbm5l
bC9iYXNpYy10Y3Atc3RkZXJyLnR4dFVUCQADg1PFWYNTxVl1eAsAAQT1AQAABBQAAAClj8tOxDAM
Rff9Ci+LBChT3pFAAglYIqZILEZo5DamRGSSKnaB/j1OgS8gy+tzfeLaUcB52yGT23afdNj3tjld
7Vm4eb6FlkR8HIAFs0DnJaMQSLJwZMqr6n/WuZdR08hjylLKZxfHWm41fvqLD65aiu5xoolcK5lw
tyYm4VrBO/SBnK4EVgZQVQWAXAh4TRlWvxGDhY35WrymOXmBh5H0Oz5FwKCAm8FHGHMatMtVPb7N
7HsMnPp3lVH+oLxcZ4x670nWtEtC184V3sIUsQvlOBjUnJchoE734WfFZXNefQNQSwMEFAACAAgA
Elo2SztXgBJCAAAAfgAAACQAHAB3ZWJydGMvZGF0YWNoYW5uZWwvYmluYXJ5LXN0ZGVyci50eHRV
VAkAA4RTxVmEU8VZdXgLAAEE9QEAAAQUAAAA00hJzUmsjE9KLE5NiU8qT9VLTrYyMjPUtFJwCndV
CE4tKcnMS1coLkksKlFIyiwpSixJVSjJt1IwNgABLg3KtAMAUEsDBBQAAgAIABJaNks7V4ASQgAA
AH4AAABAABwAd2VicnRjL2RhdGFjaGFubmVsL2J1ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkLWRl
ZmF1bHQtc3RkZXJyLnR4dFVUCQADhFPFWYRTxVl1eAsAAQT1AQAABBQAAADTSEnNSayMT0osTk2J
TypP1UtOtjIyM9S0UnAKd1UITi0pycxLVyguSSwqUUjKLClKLElVKMm3UjA2AAEuDcq0AwBQSwME
FAACAAgAE1o2SzdbC0WMAAAAZgMAACYAHAB3ZWJydGMvZGF0YWNoYW5uZWwvY3JlYXRpb24tc3Rk
ZXJyLnR4dFVUCQADhVPFWYVTxVl1eAsAAQT1AQAABBQAAADtzjELwjAQBeDdX3FjXYq14pBN0a24
BHEMl+TQQJuU3EHw35v+BcWtb318j9d4GvFtLDJ5Ywu1zqn9sdsqOD+uoEkkxCewYBawQTIKgSQF
/W7Jpln517yQzeKYmEOKC+767lD1yXvtZL6goJZMOIHDcSQP5UURuFamjkWeUxYDgeF2H4Z2vfPX
O7/xD1BLAwQUAAIACAATWjZLOpFMJT4AAAA/AAAALwAcAHdlYnJ0Yy9kYXRhY2hhbm5lbC9kYXRh
Y2hhbm5lbC1ldmVudC1zdGRlcnIudHh0VVQJAAOGU8VZhlPFWXV4CwABBPUBAAAEFAAAANNISc1J
rIxPSixOTYlPKk/VS062MjIz1LRScAp3VQhOLSnJzEtXKC5JLCpRSMosKUosSVUoybdSMDYAAS4A
UEsDBBQAAgAIABNaNku2cUaYeQAAAMcAAAAsABwAd2VicnRjL2RhdGFjaGFubmVsL2RhdGFjaGFu
bmVsLWdjLXN0ZGVyci50eHRVVAkAA4ZTxVmGU8VZdXgLAAEE9QEAAAQUAAAA00hJzUmsjE9KLE5N
iU8qT9VLTrYyMjPUtFJwCndVCE4tKcnMS1coLkksKlFIyiwpSixJVSjJt1IwNgABLg0KtRcnlxQA
RfOKC/KLSkCaTSwMgJqDgcIhMGFdu6DU4tSS4JKi1MRcDZDZxWCmQl5+iUJafmleih4XAFBLAwQU
AAIACAATWjZLO1eAEkIAAAB+AAAALwAcAHdlYnJ0Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1z
dGF0cy1zdGRlcnIudHh0VVQJAAOGU8VZhlPFWXV4CwABBPUBAAAEFAAAANNISc1JrIxPSixOTYlP
Kk/VS062MjIz1LRScAp3VQhOLSnJzEtXKC5JLCpRSMosKUosSVUoybdSMDYAAS4NyrQDAFBLAwQU
AAIACAAUWjZLO1eAEkIAAAB+AAAAMgAcAHdlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNh
bmRpZGF0ZS1zdGRlcnIudHh0VVQJAAOHU8VZh1PFWXV4CwABBPUBAAAEFAAAANNISc1JrIxPSixO
TYlPKk/VS062MjIz1LRScAp3VQhOLSnJzEtXKC5JLCpRSMosKUosSVUoybdSMDYAAS4NyrQDAFBL
AwQUAAIACAAUWjZLqV6SWMcAAABhAQAAKwAcAHdlYnJ0Yy9kYXRhY2hhbm5lbC9tdWx0aS1jaGFu
bmVsLXN0ZGVyci50eHRVVAkAA4dTxVmHU8VZdXgLAAEE9QEAAAQUAAAApY+xbsJAEER7vmJKU2DZ
hJDgIgUSaRExEkUUobNvY51k7qzbtYj/PmsTqqTLVqvRzNudxFJrhnNlmOy5ulJa18Vync8LbE87
lCTifAMWEwWVk2iEIKHAQzbOLPlnnGvpVPXchShjePWcabhU+XiXFy9vxCSlRDKXZGTztMIHwWfo
vU3/AD1tVr9BJXl76Kkne6NNYE7U+GpcS1Z/A6sH5n4jjg69EpH/SIwC79nXVCBbPn5g35H2csHD
tGqwA5xHF0OjWZ59A1BLAwQUAAIACAAYWjZLZIk4WO0BAAC4zgAAMgAcAHdlYnJ0Yy9kYXRhY2hh
bm5lbC9tdWx0aXBsZS1jb25uZWN0aW9ucy1zdGRlcnIudHh0VVQJAAOQU8VZkFPFWXV4CwABBPUB
AAAEFAAAAO3cu07cQBQA0J6vuOWmCFoe4bFFikhJi5KNlAIh5F0PyNLGXnlmlfD3GROooEMgIZ0t
RzP2nnvvPOzCszZtmrvrVZNTe736k/bX68XhycGHRXz59TWWqZSuv41cmrHEqitjU1KUYRFH8+m3
N3vh8Lwu29ra5+0wlmnw6flxHbyszT8fmz9+Xqa+/b5Lu9Quy5ia3z9STiXPasdvTbdJbb1k5Non
mnqrqUOMU4+4GcY4eGjKsYjL+d/7+84PP13FxTbVv9MNfTSb2qG9i66P7Tjc1rH5xTBxeZu4HJ/N
n8blPg7/QzKbrv2A74eJvuvbfemVXgwMDAwM+6n9VJW+PsMcMUekV3oxVKkqxcBwbHq3K5bSxsDA
wHBwd3CXXum1CGFgYGDYiMRF2WNgYGBgYDgWiIvjEoYqVaUYJpvJhoGBgYFhP7WfqlIMk016MUw2
L1UtQhgYJpu4KHvptThjYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGD4/rNawMDAwMDA
wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDwZSRfRsLAwMDAwMDAwMDA8AAjvRgYGBgYGBgY
GBgYGBgYGBgYGBjepkovBgYGho3IRqRKMTAwMDAcCxwLVCkGBgYGBsazjH9QSwMEFAACAAgAYlo2
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
AABvWDZLJeDTCCwAAAAsAAAAPgAYAAAAAAABAAAApIGb4AEAY3J5cHRvL3N1YnRsZS9yc2EtZ2Vu
ZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAUAA3JQxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABwWDZLMDu4sUsAAABoAAAAPAAYAAAAAAABAAAApIE/4QEAY3J5
cHRvL3N1YnRsZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0
VVQFAAN0UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAZ1g2SwAAAAAAAAAAAAAAAA8AGAAA
AAAAAAAQAO1BAOIBAGNyeXB0by93b3JrZXJzL1VUBQADYVDFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAGdYNksAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQUniAQBjcnlwdG8vd29ya2Vycy9z
dWJ0bGUvVVQFAANhUMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAZ1g2SyXg0wgsAAAALAAA
ADEAGAAAAAAAAQAAAKSBmeIBAGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5
LXN0ZGVyci50eHRVVAUAA2FQxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABkWDZLAAAAAAAA
AAAAAAAADQAYAAAAAAAAABAA7UEw4wEAZGlzcGxheWxpc3RzL1VUBQADW1DFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAGRYNkujV/3oUAAAAI4AAAAyABgAAAAAAAEAAACkgXfjAQBkaXNwbGF5
bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9ybXMtc3RkZXJyLnR4dFVUBQADW1DFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAGRYNkvylpXVRwAAAEkAAAApABgAAAAAAAEAAACkgTPkAQBk
aXNwbGF5bGlzdHMvbGF5ZXItZGlzcGF5LWxpc3Qtc3RkZXJyLnR4dFVUBQADW1DFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAKtYNksAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQd3kAQBlZGl0
aW5nL1VUBQAD4lDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKtYNksAAAAAAAAAAAAAAAAR
ABgAAAAAAAAAEADtQR/lAQBlZGl0aW5nL2RlbGV0aW5nL1VUBQAD4lDFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAKtYNkumur9QugEAAPwSAAAoABgAAAAAAAEAAACkgWrlAQBlZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1lbW9qaS1zdGRlcnIudHh0VVQFAAPiUMVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAilg2SwAAAAAAAAAAAAAAABMAGAAAAAAAAAAQAO1BhucBAGVkaXRpbmcvcGFzdGVi
b2FyZC9VVAUAA6RQxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB3WDZLst5t6uoAAACFAQAA
MAAYAAAAAAABAAAApIHT5wEAZWRpdGluZy9wYXN0ZWJvYXJkL2NvcHktcmVzb2x2ZXMtdXJscy1z
dGRlcnIudHh0VVQFAAOCUMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfVg2S6YTdiG5AQAA
DA8AAEoAGAAAAAAAAQAAAKSBJ+kBAGVkaXRpbmcvcGFzdGVib2FyZC9kcmFnLWZpbGVzLXRvLWVk
aXRhYmxlLWVsZW1lbnQtYXMtYXR0YWNobWVudC1zdGRlcnIudHh0VVQFAAONUMVZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAgVg2S7b+1jrhAQAAzBYAADUAGAAAAAAAAQAAAKSBZOsBAGVkaXRp
bmcvcGFzdGVib2FyZC9maWxlLWlucHV0LWZpbGVzLWFjY2Vzcy1zdGRlcnIudHh0VVQFAAOSUMVZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAilg2S8pLfm/kAAAAegEAACwAGAAAAAAAAQAAAKSB
tO0BAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1ub3NjcmlwdC1zdGRlcnIudHh0VVQFAAOkUMVZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAilg2S0NCFrblAAAAfgEAADIAGAAAAAAAAQAAAKSB
/u4BAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1ub3NjcmlwdC14aHRtbC1zdGRlcnIudHh0VVQF
AAOjUMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAVVo2Sz0rhmxpCwAAYEEAAA0AGAAAAAAA
AQAAAKSBT/ABAGVycm9yX2xvZy50eHRVVAUAAwFUxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAD4WDZLAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UH/+wEAZmFzdC9VVAUAA3RRxVl1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAB1WDZLAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UE+/AEAZmFz
dC9hdHRhY2htZW50L1VUBQADflDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHVYNkvZvVxh
awIAAEwiAAA1ABgAAAAAAAEAAACkgYj8AQBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1sYWJl
bC1oaWdobGlnaHQtc3RkZXJyLnR4dFVUBQADflDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AJdYNksAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQWL/AQBmYXN0L2NhbnZhcy9VVAUAA75QxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB6WDZL6fjPOWwAAADsAAAAJgAYAAAAAAABAAAApIGo
/wEAZmFzdC9jYW52YXMvMmQuY3VycmVudFBvaW50LXN0ZGVyci50eHRVVAUAA4hQxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACXWDZLocbh1XwAAAACAQAAJgAYAAAAAAABAAAApIF0AAIAZmFz
dC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVyci50eHRVVAUAA75QxVl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAD4WDZLAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UFQAQIAZmFzdC9jc3Mv
VVQFAAN0UcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Fg2S4uOsESyAAAAzgEAADYAGAAA
AAAAAQAAAKSBkwECAGZhc3QvY3NzL3BlcnNwZWN0aXZlLW9yaWdpbi1pbml0aWFsLWluaGVyaXQt
c3RkZXJyLnR4dFVUBQADdFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJ1YNksAAAAAAAAA
AAAAAAAJABgAAAAAAAAAEADtQbUCAgBmYXN0L2RvbS9VVAUAA8pQxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACIWDZLm+bv44kBAADgCQAAJQAYAAAAAAABAAAApIH4AgIAZmFzdC9kb20vRmls
ZUxpc3QtaXRlcmF0b3Itc3RkZXJyLnR4dFVUBQADoFDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAIhYNkuVx9aacQEAAPAEAAA2ABgAAAAAAAEAAACkgeAEAgBmYXN0L2RvbS9GaWxlTGlzdC1p
dGVyYXRvci11c2luZy1vcGVuLXBhbmVsLXN0ZGVyci50eHRVVAUAA59QxVl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAACQWDZLAAAAAAAAAAAAAAAAGgAYAAAAAAAAABAA7UHBBgIAZmFzdC9kb20v
TXV0YXRpb25PYnNlcnZlci9VVAUAA69QxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACQWDZL
gBgNpqcAAADSAAAAPwAYAAAAAAABAAAApIEVBwIAZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci9k
YXRhYmFzZS1jYWxsYmFjay1kZWxpdmVyeS1zdGRlcnIudHh0VVQFAAOvUMVZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAnVg2SwAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BNQgCAGZhc3QvZG9t
L1dpbmRvdy9VVAUAA8pQxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACdWDZLFtkPeoEBAAB6
BQAAOgAYAAAAAAABAAAApIF/CAIAZmFzdC9kb20vV2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1j
bG9uZS1mcmFtZXMtc3RkZXJyLnR4dFVUBQADylDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AKRYNksAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQXQKAgBmYXN0L2V2ZW50cy9VVAUAA9NQxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACkWDZLLgC/T5EBAAAECgAAPQAYAAAAAAABAAAApIG6
CgIAZmFzdC9ldmVudHMvZGF0YS10cmFuc2Zlci1maWxlcy1hdHRyaWJ1dGUtaWRlbnRpdHktc3Rk
ZXJyLnR4dFVUBQAD01DFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJZYNksAAAAAAAAAAAAA
AAALABgAAAAAAAAAEADtQcIMAgBmYXN0L2ZpbGVzL1VUBQADvFDFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJZYNkvkzQVldwEAAFgFAAAlABgAAAAAAAEAAACkgQcNAgBmYXN0L2ZpbGVzL3Jl
YWQtYmxvYi1hc3luYy1zdGRlcnIudHh0VVQFAAO7UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAllg2SxoW9jJ5AQAAWAUAACUAGAAAAAAAAQAAAKSB3Q4CAGZhc3QvZmlsZXMvcmVhZC1maWxl
LWFzeW5jLXN0ZGVyci50eHRVVAUAA7xQxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACVWDZL
AAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UG1EAIAZmFzdC9maWxlcy93b3JrZXJzL1VUBQADuVDF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJRYNkvSYJKMdwEAAFgFAAA0ABgAAAAAAAEAAACk
gQIRAgBmYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2VyLXJlYWQtYmxvYi1hc3luYy1zdGRlcnIudHh0
VVQFAAO3UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlFg2S+qBYSd5AQAAWAUAADMAGAAA
AAAAAQAAAKSB5xICAGZhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1ibG9iLXN5bmMtc3Rk
ZXJyLnR4dFVUBQADuFDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJVYNktCjorUeAEAAFgF
AAA0ABgAAAAAAAEAAACkgc0UAgBmYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2VyLXJlYWQtZmlsZS1h
c3luYy1zdGRlcnIudHh0VVQFAAO5UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlVg2S9uD
0mt6AQAAWAUAADMAGAAAAAAAAQAAAKSBsxYCAGZhc3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVh
ZC1maWxlLXN5bmMtc3RkZXJyLnR4dFVUBQADuVDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AJZYNksAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQZoYAgBmYXN0L2Zvcm1zL1VUBQADvFDFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJZYNktCScnOTwEAAJYyAAAzABgAAAAAAAEAAACkgd8Y
AgBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0dGVybk1pc21hdGNoLXN0ZGVyci50eHRVVAUA
A7xQxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACZWDZLAAAAAAAAAAAAAAAAEAAYAAAAAAAA
ABAA7UGbGgIAZmFzdC9mb3Jtcy9maWxlL1VUBQADwVDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAJZYNkuS8b1JFwMAAIxvAAAyABgAAAAAAAEAAACkgeUaAgBmYXN0L2Zvcm1zL2ZpbGUvZmls
ZS1pbnB1dC1jaGFuZ2UtZXZlbnQtc3RkZXJyLnR4dFVUBQADu1DFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAJZYNkv6Pm+1dQEAABIFAAArABgAAAAAAAEAAACkgWgeAgBmYXN0L2Zvcm1zL2Zp
bGUvZmlsZS1pbnB1dC1yZXNldC1zdGRlcnIudHh0VVQFAAO8UMVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAllg2S6M0PSBxAQAAEgUAADwAGAAAAAAAAQAAAKSBQiACAGZhc3QvZm9ybXMvZmls
ZS9maWxlLWlucHV0LXJlc2V0LXVzaW5nLW9wZW4tcGFuZWwtc3RkZXJyLnR4dFVUBQADvFDFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJdYNkt5XFmAcAEAABIFAAAvABgAAAAAAAEAAACkgSki
AgBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNldC1pbi1jaGFuZ2Utc3RkZXJyLnR4dFVUBQADvVDF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJdYNkvFIG0ueAEAABIFAABAABgAAAAAAAEAAACk
gQIkAgBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNldC1pbi1jaGFuZ2UtdXNpbmctb3Blbi1wYW5l
bC1zdGRlcnIudHh0VVQFAAO9UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmFg2S39XfDWF
AQAAkAUAAC8AGAAAAAAAAQAAAKSB9CUCAGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXJlLXJl
bmRlci1zdGRlcnIudHh0VVQFAAO/UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmFg2S/DB
z/txAQAAEgUAACsAGAAAAAAAAQAAAKSB4icCAGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZh
bHVlLXN0ZGVyci50eHRVVAUAA8BQxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACYWDZLi2Tb
UncBAAASBQAAPAAYAAAAAAABAAAApIG4KQIAZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFs
dWUtdXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0VVQFAAPAUMVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAmFg2S63uCqidAQAAJAoAADEAGAAAAAAAAQAAAKSBpSsCAGZhc3QvZm9ybXMvZmls
ZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLXN0ZGVyci50eHRVVAUAA8BQxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACYWDZL0bVuBpsBAAAkCgAAQgAYAAAAAAABAAAApIGtLQIAZmFzdC9mb3Jt
cy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmlsZXMtdXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0
VVQFAAPAUMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmVg2S0os2dClAQAA/AoAADwAGAAA
AAAAAQAAAKSBxC8CAGZhc3QvZm9ybXMvZmlsZS9zZWxlY3RlZC1maWxlcy1mcm9tLWhpc3Rvcnkt
c3RhdGUtc3RkZXJyLnR4dFVUBQADwVDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANdYNksA
AAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQd8xAgBmYXN0L2ZyYW1lcy9VVAUAAzZRxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADXWDZLgBgNpqcAAADSAAAALwAYAAAAAAABAAAApIElMgIAZmFz
dC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1zdG9yYWdlLXN0ZGVyci50eHRVVAUAAzZRxVl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAACiWDZLAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UE1MwIA
ZmFzdC9oaXN0b3J5L1VUBQAD0FDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKJYNkuAGA2m
pwAAANIAAABAABgAAAAAAAEAAACkgXwzAgBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRh
YmFzZS1uby10cmFuc2FjdGlvbi1kYi1zdGRlcnIudHh0VVQFAAPQUMVZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAArVg2SwAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BnTQCAGZhc3QvaW1hZ2Vz
L1VUBQAD5lDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK1YNkshj704MgAAADMAAAAsABgA
AAAAAAEAAACkgeM0AgBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4
dFVUBQAD5lDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALtYNksAAAAAAAAAAAAAAAAKABgA
AAAAAAAAEADtQXs1AgBmYXN0L3RleHQvVVQFAAMCUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAu1g2Sw1hQgB6AQAAgwkAACMAGAAAAAAAAQAAAKSBvzUCAGZhc3QvdGV4dC9lbW9qaS1nZW5k
ZXItMi1zdGRlcnIudHh0VVQFAAMCUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtFg2SwAA
AAAAAAAAAAAAABcAGAAAAAAAAAAQAO1BljcCAGZhc3QvdGV4dC9mb250LWRpc3BsYXkvVVQFAAP0
UMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtFg2Sz9dHeSjAAAA3wAAACcAGAAAAAAAAQAA
AKSB5zcCAGZhc3QvdGV4dC9mb250LWRpc3BsYXkvcGFyc2Utc3RkZXJyLnR4dFVUBQAD9FDFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAM1YNksAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQes4
AgBmYXN0L3dvcmtlcnMvVVQFAAMiUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzVg2Sz/e
QNqMAQAA0AUAADMAGAAAAAAAAQAAAKSBMjkCAGZhc3Qvd29ya2Vycy93b3JrZXItY29weS1zaGFy
ZWQtYmxvYi11cmwtc3RkZXJyLnR4dFVUBQADIlHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AMBYNksAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQSs7AgBmYXN0L3hzbC9VVAUAAwdRxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC8WDZLTvsg+IgAAADnAAAAJQAYAAAAAAABAAAApIFuOwIA
ZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADA1HFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIALxYNkv9oi5kjwAAAO4AAAAnABgAAAAAAAEAAACkgVU8AgBmYXN0L3hz
bC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAAwRRxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC8WDZLsrvGZ4cAAAA0AQAAJAAYAAAAAAABAAAApIFFPQIAZmFzdC94c2wveHNs
dC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQFAAMEUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAwFg2S8Lr9caMAAAAYAEAADQAGAAAAAAAAQAAAKSBKj4CAGZhc3QveHNsL3hzbHQtdHJhbnNm
b3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAAwdRxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABsWjZLmoXQA1sBAABSAgAAEQAYAAAAAAABAAAApIEkPwIAZnVsbF9yZXN1bHRz
Lmpzb25VVAUAAytUxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADBWDZLAAAAAAAAAAAAAAAA
BQAYAAAAAAAAABAA7UHKQAIAaHR0cC9VVAUAAwpRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAAKWTZLAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UEJQQIAaHR0cC90ZXN0cy9VVAUAA5RRxVl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADCWDZLAAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UFO
QQIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9VVAUAAwxR
xVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADCWDZLdSCEqj4AAAA+AAAAUQAYAAAAAAABAAAA
pIG3QQIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZl
cmVyLWhlYWRlci1zdHJpcHBlZC1zdGRlcnIudHh0VVQFAAMMUcVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgACAAAAwVg2S3UghKo+AAAAPgAAAGoAGAAAAAAAAQAAAKSBgEICAGh0dHAvdGVzdHMvY29u
dGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQt
d2l0aC1tZXRhLXJlZmVyZXItYWx3YXlzLXN0ZGVyci50eHRVVAUAAwpRxVl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAIAAADBWDZLdSCEqj4AAAA+AAAAawAYAAAAAAABAAAApIFiQwIAaHR0cC90ZXN0
cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJp
cHBlZC13aXRoLW1ldGEtcmVmZXJlci1kZWZhdWx0LXN0ZGVyci50eHRVVAUAAwpRxVl1eAsAAQT1
AQAABBQAAABQSwECHgMKAAIAAADBWDZLdSCEqj4AAAA+AAAAaQAYAAAAAAABAAAApIFFRAIAaHR0
cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRl
ci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1uZXZlci1zdGRlcnIudHh0VVQFAAMKUcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAwlg2S3UghKo+AAAAPgAAAG8AGAAAAAAAAQAAAKSBJkUC
AGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1o
ZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItbm8tcmVmZXJyZXItc3RkZXJyLnR4dFVU
BQADC1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAMFYNkt1IISqPgAAAD4AAAB+ABgAAAAA
AAEAAACkgQ1GAgBodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94
L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLW5vLXJlZmVycmVyLXdo
ZW4tZG93bmdyYWRlLXN0ZGVyci50eHRVVAUAAwpRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIA
AADCWDZLdSCEqj4AAAA+AAAAagAYAAAAAAABAAAApIEDRwIAaHR0cC90ZXN0cy9jb250ZW50ZGlz
cG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1l
dGEtcmVmZXJlci1vcmlnaW4tc3RkZXJyLnR4dFVUBQADC1HFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAgAAAMJYNkt1IISqPgAAAD4AAABuABgAAAAAAAEAAACkgeVHAgBodHRwL3Rlc3RzL2NvbnRl
bnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdp
dGgtbWV0YS1yZWZlcmVyLXVuc2FmZS11cmwtc3RkZXJyLnR4dFVUBQADC1HFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAMhYNksAAAAAAAAAAAAAAAARABgAAAAAAAAAEADtQctIAgBodHRwL3Rl
c3RzL2xvY2FsL1VUBQADGFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMlYNksAAAAAAAAA
AAAAAAAWABgAAAAAAAAAEADtQRZJAgBodHRwL3Rlc3RzL2xvY2FsL2Jsb2IvVVQFAAMZUcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyVg2S9UWWoR8AQAAdAUAADEAGAAAAAAAAQAAAKSBZkkC
AGh0dHAvdGVzdHMvbG9jYWwvYmxvYi9zZW5kLWh5YnJpZC1ibG9iLXN0ZGVyci50eHRVVAUAAxlR
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADIWDZLt12Y334BAAB0BQAAQgAYAAAAAAABAAAA
pIFNSwIAaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3NlbmQtaHlicmlkLWJsb2ItdXNpbmctb3Blbi1w
YW5lbC1zdGRlcnIudHh0VVQFAAMYUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA/Fg2SwAA
AAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BR00CAGh0dHAvdGVzdHMvbWlzYy9VVAUAA3xRxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADVWDZLezZggucAAABlAQAALQAYAAAAAAABAAAApIGRTQIA
aHR0cC90ZXN0cy9taXNjL2NvcHktcmVzb2x2ZXMtdXJscy1zdGRlcnIudHh0VVQFAAMyUcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2Vg2S48cpP+lAAAAIAMAAC4AGAAAAAAAAQAAAKSB304C
AGh0dHAvdGVzdHMvbWlzYy9lbXB0eS1maWxlLWZvcm1kYXRhLXN0ZGVyci50eHRVVAUAAzpRxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD8WDZLFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIHs
TwIAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAN8UcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACVk2SwAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BylAC
AGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAAOSUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
zVg2SwAAAAAAAAAAAAAAAB4AGAAAAAAAAAAQAO1BGFECAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xp
cGJvYXJkL1VUBQADIlHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM1YNku8aqgzjwIAALQz
AAA+ABgAAAAAAAEAAACkgXBRAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9jbGlwYm9h
cmQtZmlsZS1hY2Nlc3Mtc3RkZXJyLnR4dFVUBQADIlHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAPNYNksAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQXdUAgBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAUAA2pRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADPWDZL+8/PB7YAAAD4AAAAQgAYAAAAAAABAAAApIHbVAIAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvYmxvY2stZmF2aWNvbi1zdGRlcnIudHh0VVQFAAMmUcVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA81g2S2OqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBDVYC
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0
ZGVyci50eHRVVAUAA2lRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADzWDZLY6qsbIIAAACo
AAAAUgAYAAAAAAABAAAApIEJVwIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADalHFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOFYNku9bEHFrQAAAKQBAAA6ABgAAAAAAAEAAACkgRdY
AgBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13ZWJzcWwtYWxsb3dlZC1zdGRlcnIu
dHh0VVQFAANGUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4Vg2S4AYDaanAAAA0gAAADIA
GAAAAAAAAQAAAKSBOFkCAGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdlYnNxbC1z
dGRlcnIudHh0VVQFAANGUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Vg2S4AYDaanAAAA
0gAAAD8AGAAAAAAAAQAAAKSBS1oCAGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2lu
Zy1sb29zZW5lZC13ZWJzcWwtc3RkZXJyLnR4dFVUBQADdlHFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPpYNkuAGA2mpwAAANIAAABDABgAAAAAAAEAAACkgWtbAgBodHRwL3Rlc3RzL3NlY3Vy
aXR5L3N0b3JhZ2UtYmxvY2tpbmctc3RyZW5ndGhlbmVkLXdlYnNxbC1zdGRlcnIudHh0VVQFAAN3
UcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACVk2S2BLZhCRAAAA+wEAAEUAGAAAAAAAAQAA
AKSBj1wCAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJp
dHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADklHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANdY
NksAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQZ9dAgBodHRwL3Rlc3RzL3N0b3JhZ2UvVVQFAAM1
UcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA11g2S4AYDaanAAAA0gAAAEUAGAAAAAAAAQAA
AKSB7F0CAGh0dHAvdGVzdHMvc3RvcmFnZS9jYWxsYmFja3MtYXJlLWNhbGxlZC1pbi1jb3JyZWN0
LWNvbnRleHQtc3RkZXJyLnR4dFVUBQADNVHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAApZ
NksAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQRJfAgBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L1VUBQADlFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAApZNku9sWhzsQAAAAEBAABBABgA
AAAAAAEAAACkgWZfAgBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Bvc3QtYmxvYi1jb250ZW50
LXR5cGUtYXN5bmMtc3RkZXJyLnR4dFVUBQADlFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AApZNku9sWhzsQAAAAEBAABAABgAAAAAAAEAAACkgZJgAgBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L3Bvc3QtYmxvYi1jb250ZW50LXR5cGUtc3luYy1zdGRlcnIudHh0VVQFAAOUUcVZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAT1g2S1sEWA6iBQAATRAAAAoAGAAAAAAAAQAAAKSBvWECAGh0
dHBkLmNvbmZVVAUAAzZQxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAOWTZLAAAAAAAAAAAA
AAAACQAYAAAAAAAAABAA7UGjZwIAaW1wb3J0ZWQvVVQFAAOcUcVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAADlk2SwAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B5mcCAGltcG9ydGVkL3czYy9V
VAUAA5xRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAmWTZLAAAAAAAAAAAAAAAAIAAYAAAA
AAAAABAA7UEtaAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAUAA8dRxVl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAABsWTZLAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UGHaAIA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvVVQFAANLUsVZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAEVk2S0ZoG9uZAAAAxQAAAEgAGAAAAAAAAQAAAKSB62gCAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRp
bmctc3RkZXJyLnR4dFVUBQADolHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACBZNksd0Y8m
owAAAE8CAABGABgAAAAAAAEAAACkgQZqAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMS1zdGRlcnIudHh0VVQFAAO7UcVZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAI1k2S0ZoG9uZAAAAxQAAAEMAGAAAAAAAAQAAAKSBKWsCAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50LXN0ZGVy
ci50eHRVVAUAA8FRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAiWTZLRmgb25kAAADFAAAA
RAAYAAAAAAABAAAApIE/bAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvaWRiaW5kZXhfY291bnQyLXN0ZGVyci50eHRVVAUAA8BRxVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAjWTZLRmgb25kAAADFAAAARAAYAAAAAAABAAAApIFWbQIAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfY291bnQzLXN0ZGVyci50eHRVVAUA
A8FRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAwWTZLRmgb25kAAADFAAAASQAYAAAAAAAB
AAAApIFtbgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2Jq
ZWN0c3RvcmVfY291bnQtc3RkZXJyLnR4dFVUBQAD3FHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIADBZNktGaBvbmQAAAMUAAABKABgAAAAAAAEAAACkgYlvAgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jb3VudDItc3RkZXJyLnR4dFVU
BQAD21HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADBZNkswPYU3nwAAAIoBAABKABgAAAAA
AAEAAACkgaZwAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9jb3VudDMtc3RkZXJyLnR4dFVUBQAD3FHFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIADNZNktGaBvbmQAAAMUAAABLABgAAAAAAAEAAACkgclxAgBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9kZWxldGU1LXN0ZGVyci50
eHRVVAUAA+JRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA6WTZLRmgb25kAAADFAAAATgAY
AAAAAAABAAAApIHncgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRidHJhbnNhY3Rpb24tb25jb21wbGV0ZS1zdGRlcnIudHh0VVQFAAPvUcVZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAZlk2S7j6yKGpAAAAKAYAAEsAGAAAAAAAAQAAAKSBCHQCAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3JlcXVlc3QtZXZlbnQtb3JkZXJpbmct
c3RkZXJyLnR4dFVUBQADQFLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGlZNkswPYU3nwAA
AIoBAABYABgAAAAAAAEAAACkgTZ1AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1jcmVhdGVfaW5fdmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0VVQF
AANFUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbFk2S0ZoG9uZAAAAxQAAAEYAGAAAAAAA
AQAAAKSBZ3YCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRl
ci1zdGFydmF0aW9uLXN0ZGVyci50eHRVVAUAA0tSxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAAOWTZLAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UGAdwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQFAAOcUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAPFk2SwAAAAAAAAAAAAAAADkAGAAAAAAAAAAQAO1B53cCAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUBQAD9FHFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAA5ZNkuPNBpwRAAAAKAJAABcABgAAAAAAAEAAACkgVp4AgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJl
c19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4dFVUBQADnFHFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIABRZNktUAsmyNgAAAMACAABlABgAAAAAAAEAAACkgTR5AgBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0FTU0Et
UEtDUzEtdjFfNS53b3JrZXItc3RkZXJyLnR4dFVUBQADp1HFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIADJZNkvhgoboSQAAAGAMAABXABgAAAAAAAEAAACkgQl6AgBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzLmh0
dHBzLXN0ZGVyci50eHRVVAUAA+BRxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA6WTZLjzQa
cEQAAACgCQAAYAAYAAAAAAABAAAApIHjegIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0EtT0FFUC5odHRwcy1z
dGRlcnIudHh0VVQFAAPvUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAPFk2S1QCybI2AAAA
wAIAAGkAGAAAAAAAAQAAAKSBwXsCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
Q3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUuaHR0
cHMtc3RkZXJyLnR4dFVUBQAD9FHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACZZNksAAAAA
AAAAAAAAAAAkABgAAAAAAAAAEADtQZp8AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9VVAUAA8dRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAoWTZLAAAAAAAAAAAAAAAA
KgAYAAAAAAAAABAA7UH4fAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvVVQFAAPMUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJlk2S2qqkqRdAgAA0BsAAEsA
GAAAAAAAAQAAAKSBXH0CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVz
L0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtYWN0dWFsLnR4dFVUBQADx1HFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIACZZNks9gJY/5QEAABQQAABJABgAAAAAAAEAAACkgT6AAgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LWRp
ZmYudHh0VVQFAAPHUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJlk2Sx/C0pQbAgAAfBoA
AE0AGAAAAAAAAQAAAKSBpoICAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25v
ZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhwZWN0ZWQudHh0VVQFAAPHUcVZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAJlk2SwWxqKfFCgAA/WMAAFEAGAAAAAAAAQAAAKSBSIUCAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1l
bnQtcHJldHR5LWRpZmYuaHRtbFVUBQADx1HFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAChZ
NkvdgyTJ6wgAABzIAABNABgAAAAAAAEAAACkgZiQAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtYWN0dWFsLnR4dFVUBQAD
zFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAChZNkszwlNNEQQAAJ87AABLABgAAAAAAAEA
AACkgQqaAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVu
dC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAUAA8xRxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAoWTZLXewPiY8IAADkwwAATwAYAAAAAAABAAAApIGgngIAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLWV4cGVjdGVk
LnR4dFVUBQADzFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAChZNkscStfpkQ8AAE7hAABT
ABgAAAAAAAEAAACkgbinAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtcHJldHR5LWRpZmYuaHRtbFVUBQADzFHFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAClZNksAAAAAAAAAAAAAAAAmABgAAAAAAAAAEADtQda3AgBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL1VUBQADzVHFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAACJZNksAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQTa4AgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9VVAUAA8BRxVl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAArWTZLAAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UGauAIAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9VVAUAA9FRxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAiWTZLYSj+aAcCAAC9DAAASQAYAAAAAAABAAAApIEDuQIAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLW9yaWdpbi5hbnkt
c3RkZXJyLnR4dFVUBQADwFHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACZZNkvU9+1z3AIA
AJgSAABTABgAAAAAAAEAAACkgY27AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXN0YXR1cy5hbnktc3RkZXJyLnR4dFVUBQADyFHF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACdZNktsUyILmQEAAN4FAABMABgAAAAAAAEAAACk
gfa+AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMt
cHJlZmxpZ2h0LmFueS1zdGRlcnIudHh0VVQFAAPKUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAK1k2SwoNczfLAgAAvxMAAFUAGAAAAAAAAQAAAKSBFcECAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1yZWRpcmVjdC1wcmVmbGlnaHQuYW55LXN0
ZGVyci50eHRVVAUAA9FRxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAApWTZLAAAAAAAAAAAA
AAAALgAYAAAAAAAAABAA7UFvxAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9ub3NuaWZmL1VUBQADzVHFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAClZNkvNDyDfmwAA
AMYAAABIABgAAAAAAAEAAACkgdfEAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL25vc25pZmYvcGFyc2luZy1ub3NuaWZmLXN0ZGVyci50eHRVVAUAA81RxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAApWTZLCfZLCbMAAADsAgAAPwAYAAAAAAABAAAApIH0xQIAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3NjcmlwdC1zdGRlcnIudHh0
VVQFAAPNUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKVk2SyZwFUW0AAAA+AIAAEMAGAAA
AAAAAQAAAKSBIMcCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlm
Zi9zdHlsZXNoZWV0LXN0ZGVyci50eHRVVAUAA81RxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AABlWTZLAAAAAAAAAAAAAAAACgAYAAAAAAAAABAA7UFRyAIAaW5zcGVjdG9yL1VUBQADPlLFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGVZNksAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQZXI
AgBpbnNwZWN0b3IvcnVudGltZS9VVAUAAz5SxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABl
WTZLgBgNpqcAAADSAAAAMwAYAAAAAAABAAAApIHhyAIAaW5zcGVjdG9yL3J1bnRpbWUvQ29tbWFu
ZExpbmVBUEktaW5zcGVjdC1zdGRlcnIudHh0VVQFAAM+UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAMVo2SwAAAAAAAAAAAAAAAAMAGAAAAAAAAAAQAO1B9ckCAGpzL1VUBQADvVPFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAKxZNksAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQTLKAgBq
cy9kb20vVVQFAAPDUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAclk2S4AYDaanAAAA0gAA
ADUAGAAAAAAAAQAAAKSBc8oCAGpzL2RvbS9jYWxsYmFjay1mdW5jdGlvbi13aXRoLWhhbmRsZS1l
dmVudC1zdGRlcnIudHh0VVQFAANXUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArFk2S4AY
DaanAAAA0gAAADAAGAAAAAAAAQAAAKSBicsCAGpzL2RvbS9leGNlcHRpb25zLXRocm93bi1pbi1j
YWxsYmFja3Mtc3RkZXJyLnR4dFVUBQADw1LFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADFa
NkvlSc0ZVAEAAMgPAAAcABgAAAAAAAEAAACkgZrMAgBqcy9yZWdleHAtdW5pY29kZS1zdGRlcnIu
dHh0VVQFAAO9U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAkVk2SwAAAAAAAAAAAAAAAAkA
GAAAAAAAAAAQAO1BRM4CAHBsYXRmb3JtL1VUBQADkVLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAJFZNksAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQYfOAgBwbGF0Zm9ybS9tYWMvVVQFAAOR
UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAkVk2SwAAAAAAAAAAAAAAABQAGAAAAAAAAAAQ
AO1Bzs4CAHBsYXRmb3JtL21hYy93ZWJydGMvVVQFAAORUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAkVk2S6bL3vYFAgAAhAYAAEQAGAAAAAAAAQAAAKSBHM8CAHBsYXRmb3JtL21hYy93ZWJy
dGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdhcmUtZW5jb2Rlci1zdGRlcnIudHh0VVQFAAOR
UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlVk2SwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQ
AO1Bn9ECAHBsdWdpbnMvVVQFAAOaUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAlVk2S0P4
3r6vAAAA8QAAAC8AGAAAAAAAAQAAAKSB4dECAHBsdWdpbnMvbW91c2UtY2xpY2staWZyYW1lLXRv
LXBsdWdpbi1zdGRlcnIudHh0VVQFAAOaUsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8Vg2
S9jUdTlpAgAAohUAABoAGAAAAAAAAQAAAKSB+dICAHB5d2Vic29ja2V0LndzLmxvZy1lcnIudHh0
VVQFAANlUcVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4lg2S1er5mgIAQAAjwIAABoAGAAA
AAAAAQAAAKSBttUCAHB5d2Vic29ja2V0LndzLmxvZy1vdXQudHh0VVQFAANHUcVZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAUFg2SwAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBEtcCAHB5d2Vi
c29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQADOFDFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AFBYNksAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgWfXAgBweXdlYnNvY2tldC53c3MubG9nLW91
dC50eHRVVAUAAzhQxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsWjZLj8pSWnEpAADGrwAA
DAAYAAAAAAABAAAApIG81wIAcmVzdWx0cy5odG1sVVQFAAMrVMVZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAU1o2SwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BcwEDAHJldHJpZXMvVVQFAAP+
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAU1o2SwAAAAAAAAAAAAAAABEAGAAAAAAAAAAQ
AO1BtQEDAHJldHJpZXMvaW1wb3J0ZWQvVVQFAAP+U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAU1o2SwAAAAAAAAAAAAAAABUAGAAAAAAAAAAQAO1BAAIDAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L1VUBQAD/lPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFNaNksAAAAAAAAAAAAAAAAoABgA
AAAAAAAAEADtQU8CAwByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvVVQF
AAP+U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAU1o2SwAAAAAAAAAAAAAAACwAGAAAAAAA
AAAQAO1BsQIDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vVVQF
AAP+U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAVFo2SwAAAAAAAAAAAAAAADIAGAAAAAAA
AAAQAO1BFwMDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvVVQFAAMAVMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAU1o2S5oVASNvAgAAEB0AAFMA
GAAAAAAAAQAAAKSBgwMDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1hY3R1YWwudHh0VVQFAAP+U8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAU1o2S/ikbpo3AgAAaBQAAFEAGAAAAAAAAQAAAKSBfwYDAHJl
dHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQt
Y3JlYXRlRWxlbWVudC1kaWZmLnR4dFVUBQAD/lPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AFNaNksfwtKUGwIAAHwaAABVABgAAAAAAAEAAACkgUEJAwByZXRyaWVzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhwZWN0
ZWQudHh0VVQFAAP+U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAU1o2S5fMSrYRCwAAWXYA
AFkAGAAAAAAAAQAAAKSB6wsDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1wcmV0dHktZGlmZi5odG1sVVQFAAP+
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAVFo2S92DJMnrCAAAHMgAAFUAGAAAAAAAAQAA
AKSBjxcDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMv
RG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLWFjdHVhbC50eHRVVAUAAwBUxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABUWjZL4/KWjxcEAACvOwAAUwAYAAAAAAABAAAApIEJIQMAcmV0cmllcy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVF
bGVtZW50TlMtZGlmZi50eHRVVAUAAwBUxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABUWjZL
XewPiY8IAADkwwAAVwAYAAAAAAABAAAApIGtJQMAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZXhwZWN0ZWQu
dHh0VVQFAAMAVMVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAVFo2S3+LTE+WDwAAVuEAAFsA
GAAAAAAAAQAAAKSBzS4DAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLXByZXR0eS1kaWZmLmh0bWxVVAUAAwBU
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsWjZLit8l9LGoCQAXejIACgAYAAAAAAABAAAA
pIH4PgMAc3RhdHMuanNvblVUBQADK1TFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMdZNksA
AAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQe3nDABzdG9yYWdlL1VUBQAD9lLFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAC9aNksAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQS/oDABzdG9yYWdl
L2luZGV4ZWRkYi9VVAUAA7lTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsWTZLHdGPJqMA
AABPAgAAKQAYAAAAAAABAAAApIF76AwAc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLXN0
ZGVyci50eHRVVAUAAztTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADrWTZLHdGPJqMAAABP
AgAAMQAYAAAAAAABAAAApIGB6QwAc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLXdvcmtl
cnMtc3RkZXJyLnR4dFVUBQADOlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOxZNkttTbKd
rwAAAAEKAAAoABgAAAAAAAEAAACkgY/qDABzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC1z
dGRlcnIudHh0VVQFAAM8U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8Vk2S9bDpg6kAAAA
FAMAAC0AGAAAAAAAAQAAAKSBoOsMAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LW11bHRpZW50cnkt
c3RkZXJyLnR4dFVUBQADRVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPFZNktGaBvbmQAA
AMUAAAAtABgAAAAAAAEAAACkgavsDABzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9u
LXN0ZGVyci50eHRVVAUAA0VTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1WTZLIeJx5+MF
AAAxMgAARQAYAAAAAAAAAAAApIGr7QwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVu
LWluLXVwZ3JhZGVuZWVkZWQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANOU8VZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA9lk2SzfRR6r3BQAA3jUAAD0AGAAAAAAAAAAAAKSBDfQMAHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tb3Blbi1pbi11cGdyYWRlbmVlZGVkLXN0ZGVyci50eHRVVAUA
A09TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD2WTZLEsCC9YIEAADeGAAAQQAYAAAAAAAA
AAAApIF7+gwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVuLXdpdGgtdmVyc2lvbi1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA09TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD2WTZL
kgms8WoEAABVGAAAOQAYAAAAAAAAAAAApIF4/wwAc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lv
bi1vcGVuLXdpdGgtdmVyc2lvbi1zdGRlcnIudHh0VVQFAANPU8VZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA9lk2SzXFKU8nBQAA9jsAAFEAGAAAAAAAAAAAAKSBVQQNAHN0b3JhZ2UvaW5kZXhl
ZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtYXNjZW5kaW5nLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADUFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPZZNkvsmKVARAUA
AA89AABJABgAAAAAAAAAAACkgQcKDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlbmRp
bmctdmVyc2lvbi1jaGFuZ2VzLWFzY2VuZGluZy1zdGRlcnIudHh0VVQFAANQU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA91k2S9Mrq/oQBQAA/y4AAFIAGAAAAAAAAAAAAKSBzg8NAHN0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtZGVzY2VuZGlu
Zy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1FTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD3
WTZLMbioPiEFAAAbLAAASgAYAAAAAAAAAAAApIFqFQ0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdlcy1kZXNjZW5kaW5nLXN0ZGVyci50eHRVVAUAA1FT
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD3WTZLTrTvRuMEAAA8KwAATAAYAAAAAAAAAAAA
pIEPGw0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdl
cy1zYW1lLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADUVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAPdZNkvJtdyWGwUAACkwAABEABgAAAAAAAAAAACkgXggDQBzdG9yYWdlL2luZGV4ZWRkYi9p
bnR2ZXJzaW9uLXBlbmRpbmctdmVyc2lvbi1jaGFuZ2VzLXNhbWUtc3RkZXJyLnR4dFVUBQADUlPF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPdZNksGookGUgQAAEcdAAA7ABgAAAAAAAAAAACk
gREmDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlcnNpc3RlbmNlLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADUlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPdZNks5K/rVEwQAAFQa
AAAzABgAAAAAAAAAAACkgdgqDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlcnNpc3Rl
bmNlLXN0ZGVyci50eHRVVAUAA1JTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD4WTZL0Qs9
T4MFAACWLAAAPwAYAAAAAAAAAAAApIFYLw0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1y
ZXZlcnQtb24tYWJvcnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANTU8VZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA+Fk2S664emGSBQAAui4AADcAGAAAAAAAAAAAAKSBVDUNAHN0b3JhZ2UvaW5k
ZXhlZGRiL2ludHZlcnNpb24tcmV2ZXJ0LW9uLWFib3J0LXN0ZGVyci50eHRVVAUAA1NTxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAD4WTZL8ZWT4hYEAAARGgAARQAYAAAAAAAAAAAApIFXOw0A
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10d28tb3BlbnMtbm8tdmVyc2lvbnMtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAANUU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Fk2S4Mqipkx
BAAA3xsAAD0AGAAAAAAAAAAAAKSB7D8NAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdv
LW9wZW5zLW5vLXZlcnNpb25zLXN0ZGVyci50eHRVVAUAA1RTxVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAD4WTZLlW8/DVQFAABiRwAAOAAYAAAAAAAAAAAApIGURA0Ac3RvcmFnZS9pbmRleGVk
ZGIvaW50dmVyc2lvbi11cGdyYWRlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1RTxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAD5WTZLrbaLJn4FAABjSQAAMAAYAAAAAAAAAAAApIFaSg0Ac3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi11cGdyYWRlcy1zdGRlcnIudHh0VVQFAANVU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Vk2Syr0wUBHAwAAqREAADEAGAAAAAAAAAAAAKSBQlAN
AHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5cy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1VT
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD5WTZLa9gDdOUDAABsEwAAKQAYAAAAAAAAAAAA
pIH0Uw0Ac3RvcmFnZS9pbmRleGVkZGIvaW52YWxpZC1rZXlzLXN0ZGVyci50eHRVVAUAA1ZTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD6WTZLeDrSQPgOAACzyQEAMgAYAAAAAAAAAAAApIE8
WA0Ac3RvcmFnZS9pbmRleGVkZGIva2V5LWdlbmVyYXRvci1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A1dTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD7WTZLuvVG3vQOAADQ0AEAKgAYAAAAAAAA
AAAApIGgZw0Ac3RvcmFnZS9pbmRleGVkZGIva2V5LWdlbmVyYXRvci1zdGRlcnIudHh0VVQFAANa
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+1k2S2E8ceVtBQAART0AAEAAGAAAAAAAAAAA
AKSB+HYNAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1zb3J0LW9yZGVyLWFjcm9zcy10eXBlcy1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA1pTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD7WTZLwcRg
8FoGAACMRQAAOAAYAAAAAAAAAAAApIHffA0Ac3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3Jk
ZXItYWNyb3NzLXR5cGVzLXN0ZGVyci50eHRVVAUAA1pTxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAD8WTZLcsekmoQFAADRNAAAOAAYAAAAAAAAAAAApIGrgw0Ac3RvcmFnZS9pbmRleGVkZGIv
a2V5LXNvcnQtb3JkZXItZGF0ZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1tTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAD8WTZLf5pEm0oGAAC1OwAAMAAYAAAAAAAAAAAApIGhiQ0Ac3RvcmFn
ZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS1zdGRlcnIudHh0VVQFAANbU8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA/Vk2S5vfmXuGCAAAJ9sAADMAGAAAAAAAAAAAAKSBVZANAHN0
b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADXVPF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAP1ZNkskHX4WIgYAAMVAAAA0ABgAAAAAAAAAAACk
gUiZDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1iaW5hcnktcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAANeU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA/Vk2Sz5/7d8cBgAAoUIAACwAGAAA
AAAAAAAAAKSB2J8NAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWJpbmFyeS1zdGRlcnIudHh0
VVQFAANeU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA/Vk2S+uWIExfBAAAGBoAADYAGAAA
AAAAAAAAAKSBWqYNAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWluZmluaXR5LXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADXlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAABaNkuaQmvI7QQA
AMMcAAAuABgAAAAAAAAAAACkgSmrDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1pbmZpbml0
eS1zdGRlcnIudHh0VVQFAANfU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAFo2S+FTr9uG
BwAA9z0AADMAGAAAAAAAAAAAAKSBfrANAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtYXJyYXlz
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADX1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAABa
NkvX7zmixAcAAAlBAAArABgAAAAAAAAAAACkgXG4DQBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRo
LWFycmF5cy1zdGRlcnIudHh0VVQFAANgU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAVo2
S9kUgwYZBAAAbWIAADMAGAAAAAAAAAAAAKSBmsANAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgt
YmFzaWNzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADYlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAJaNksqhf37SAUAAOymAAArABgAAAAAAAAAAACkgSDFDQBzdG9yYWdlL2luZGV4ZWRkYi9r
ZXlwYXRoLWJhc2ljcy1zdGRlcnIudHh0VVQFAANkU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAAlo2S0mtTZjkBgAAGYAAADIAGAAAAAAAAAAAAKSBzcoNAHN0b3JhZ2UvaW5kZXhlZGRiL2tl
eXBhdGgtZWRnZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANkU8VZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAA1o2S0ynuYb0BQAAGDsAACoAGAAAAAAAAAAAAKSBHdINAHN0b3JhZ2UvaW5kZXhl
ZGRiL2tleXBhdGgtZWRnZXMtc3RkZXJyLnR4dFVUBQADZVPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAANaNkuPoS6WVQUAADRDAAA2ABgAAAAAAAAAAACkgXXYDQBzdG9yYWdlL2luZGV4ZWRk
Yi9rZXlwYXRoLWZldGNoLWtleS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA2VTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAADWjZLDX7zOj4GAADPSQAALgAYAAAAAAAAAAAApIE63g0Ac3RvcmFn
ZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXktc3RkZXJyLnR4dFVUBQADZlPFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAANaNkvaZuqK2wcAAD5pAABBABgAAAAAAAAAAACkgeDkDQBzdG9y
YWdlL2luZGV4ZWRkYi9rZXlwYXRoLWludHJpbnNpYy1wcm9wZXJ0aWVzLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADZlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAARaNkvDtGuuWwgAAKt4AAA5
ABgAAAAAAAAAAACkgTbtDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWludHJpbnNpYy1wcm9w
ZXJ0aWVzLXN0ZGVyci50eHRVVAUAA2dTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAEWjZL
7x82e/sAAAD5AgAALQAYAAAAAAAAAAAApIEE9g0Ac3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2Ut
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAANoU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABVo2
S3DMaAwYCQAA7owAADoAGAAAAAAAAAAAAKSBZvcNAHN0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5k
ZXgtcG9wdWxhdGlvbi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA2pTxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAGWjZLaxMAzLEJAAAbkAAAMgAYAAAAAAAAAAAApIHyAA4Ac3RvcmFnZS9pbmRl
eGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLXN0ZGVyci50eHRVVAUAA2tTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAGWjZLpMo/I1AHAAAaZAAANQAYAAAAAAAAAAAApIEPCw4Ac3RvcmFn
ZS9pbmRleGVkZGIvbGF6eS1pbmRleC10eXBlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA2tTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAGWjZL9Dt6Is4IAAD/egAALQAYAAAAAAAAAAAApIHO
Eg4Ac3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC10eXBlcy1zdGRlcnIudHh0VVQFAANsU8VZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABlo2S+8fNnv7AAAA+QIAADUAGAAAAAAAAAAAAKSB
AxwOAHN0b3JhZ2UvaW5kZXhlZGRiL2xlZ2FjeS1jb25zdGFudHMtcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAANsU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAB1o2SyjZCmzsBQAAU5kAADIAGAAA
AAAAAAAAAKSBbR0OAHN0b3JhZ2UvaW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAANtU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAB1o2SzDTyD2yBgAARZoA
ACoAGAAAAAAAAAAAAKSBxSMOAHN0b3JhZ2UvaW5kZXhlZGRiL2xpc3Qtb3JkZXJpbmctc3RkZXJy
LnR4dFVUBQADbVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAdaNkuIJJ3zigYAAAtZAAAt
ABgAAAAAAAAAAACkgdsqDgBzdG9yYWdlL2luZGV4ZWRkYi9tZXRhZGF0YS1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA25TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHWjZLSySOkVgFAABKIQAA
MgAYAAAAAAAAAAAApIHMMQ4Ac3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtcmFjZS1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA25TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHWjZLP4oBPTwG
AABdJgAAKgAYAAAAAAAAAAAApIGQNw4Ac3RvcmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtcmFjZS1z
dGRlcnIudHh0VVQFAANuU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACFo2S2rosbo0BwAA
9VsAACUAGAAAAAAAAAAAAKSBMD4OAHN0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLXN0ZGVyci50
eHRVVAUAA29TxVl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAALWjZLAAAAAAAAAAAAAAAAGQAY
AAAAAAAAABAA7UHDRQ4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL1VUBQADdlPFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAMdZNkte32//NAcAAD90AAA3ABgAAAAAAAAAAACkgRZGDgBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vYXV0b2luY3JlbWVudC1hYm9ydC1zdGRlcnIudHh0VVQFAAP2
UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAx1k2S0Bz/IRHBQAAeCAAADUAGAAAAAAAAAAA
AKSBu00OAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iYXNpYy1hZGQtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAP2UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyFk2S7gyYhxKBQAAMiAAAC0A
GAAAAAAAAAAAAKSBcVMOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iYXNpYy1hZGQtc3RkZXJy
LnR4dFVUBQAD91LFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMhZNkvc2Ag6HwUAAI4dAAA1
ABgAAAAAAAAAAACkgSJZDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtcHV0LXByaXZh
dGUtc3RkZXJyLnR4dFVUBQAD91LFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMhZNkuGWzSa
JAUAAJ4dAAAtABgAAAAAAAAAAACkgbBeDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMt
cHV0LXN0ZGVyci50eHRVVAUAA/hSxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADIWTZLSbMC
SEkGAAC9MQAAOQAYAAAAAAAAAAAApIE7ZA4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2JpbmFy
eS1rZXlzLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP4UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAyVk2S96TZn4TBwAAfTUAADEAGAAAAAAAAAAAAKSB92oOAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9iaW5hcnkta2V5cy0xLXN0ZGVyci50eHRVVAUAA/lSxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADKWTZL0NddtJ4HAAATSAAALwAYAAAAAAAAAAAApIF1cg4Ac3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2Jsb2ItY3Vyc29yLXN0ZGVyci50eHRVVAUAA/xSxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADLWTZLXu5EfJ0KAADZuwAALwAYAAAAAAAAAAAApIF8eg4Ac3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLXN0ZGVyci50eHRVVAUAA/5SxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADLWTZLQk8dNRgLAABivAAANwAYAAAAAAAAAAAApIGChQ4Ac3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLXdvcmtlcnMtc3RkZXJyLnR4dFVUBQAD/VLF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMxZNksnvV5bWgYAAKk3AAAyABgAAAAAAAAAAACk
gQuRDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxvYi1zdmctaW1hZ2Utc3RkZXJyLnR4dFVU
BQAD/1LFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMxZNksM/wCBnAYAAAk2AABEABgAAAAA
AAAAAACkgdGXDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxvY2tlZC1vcGVuLWRiLXJlcXVl
c3RzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADAFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AMxZNks3Xo629AYAAA03AAA8ABgAAAAAAAAAAACkgeueDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vYmxvY2tlZC1vcGVuLWRiLXJlcXVlc3RzLXN0ZGVyci50eHRVVAUAAwBTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADNWTZLhPbnmLEGAADvNAAAQQAYAAAAAAAAAAAApIFVpg4Ac3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZS1pbmRleC1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50
eHRVVAUAAwFTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADNWTZLzxNXbb8GAACJMQAAOQAY
AAAAAAAAAAAApIGBrQ4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZS1pbmRleC1mYWls
dXJlcy1zdGRlcnIudHh0VVQFAAMBU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzVk2SzTz
ehxoBgAAPkkAAEMAGAAAAAAAAAAAAKSBs7QOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jcmVh
dGVvYmplY3RzdG9yZS1iYXNpYy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwJTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADOWTZLa3Qrm5QGAACoSgAAOwAYAAAAAAAAAAAApIGYuw4Ac3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0b3JlLWJhc2ljLXN0ZGVyci50eHRVVAUA
AwNTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADOWTZLhkkU8t8EAAAYHAAARgAYAAAAAAAA
AAAApIGhwg4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVjdHN0b3JlLWZhaWx1
cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADA1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AM5ZNksoVvVafQQAAD4ZAAA+ABgAAAAAAAAAAACkgQDIDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vY3JlYXRlb2JqZWN0c3RvcmUtZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADA1PFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAM5ZNkuWNo1QHQcAAMNwAAA0ABgAAAAAAAAAAACkgfXMDgBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMEU8VZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAz1k2S8DFwhyJBwAAvnsAACwAGAAAAAAAAAAAAKSB
gNQOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMS1zdGRlcnIudHh0VVQFAAMFU8VZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAz1k2S8XTozdpBwAA2ZQAADQAGAAAAAAAAAAAAKSB
b9wOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItMi1wcml2YXRlLXN0ZGVyci50eHRV
VAUAAwZTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADPWTZLR4tDTc0HAABKqgAALAAYAAAA
AAAAAAAApIFG5A4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0yLXN0ZGVyci50eHRV
VAUAAwZTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADQWTZLvxVXwNwGAACjZgAANAAYAAAA
AAAAAAAApIF57A4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci0zLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADB1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANBZNkt90kykSwcAALJ5
AAAsABgAAAAAAAAAAACkgcPzDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTMtc3Rk
ZXJyLnR4dFVUBQADCFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANBZNktV5Dz8tAYAACdf
AAA0ABgAAAAAAAAAAACkgXT7DgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTQtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAMIU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA0Vk2S0zi
6+4tBwAAy3EAACwAGAAAAAAAAAAAAKSBlgIPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItNC1zdGRlcnIudHh0VVQFAAMJU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA0Vk2S6fe
Njh4BgAAbTQAADQAGAAAAAAAAAAAAKSBKQoPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJz
b3ItNS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwpTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADRWTZLK5nDONMGAABsOQAALAAYAAAAAAAAAAAApIEPEQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci01LXN0ZGVyci50eHRVVAUAAwpTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADSWTZLYS9QqHAGAAAPNQAANAAYAAAAAAAAAAAApIFIGA8Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2N1cnNvci02LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADC1PFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIANJZNkv16P+qBQcAABY5AAAsABgAAAAAAAAAAACkgSYfDwBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vY3Vyc29yLTYtc3RkZXJyLnR4dFVUBQADC1PFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIANJZNktnPKrLRgYAAIwuAAA0ABgAAAAAAAAAAACkgZEmDwBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vY3Vyc29yLTctcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMMU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA0lk2S9kxoUdsBgAAgDAAACwAGAAAAAAAAAAAAKSBRS0PAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNy1zdGRlcnIudHh0VVQFAAMMU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA01k2SwMNRKgVBgAATi4AADQAGAAAAAAAAAAAAKSBFzQPAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItOC1wcml2YXRlLXN0ZGVyci50eHRVVAUAAw1TxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADTWTZLsLFnVp4GAABIMQAALAAYAAAAAAAAAAAApIGa
Og8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci04LXN0ZGVyci50eHRVVAUAAw1TxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADTWTZL6NlturAGAAB0SAAANgAYAAAAAAAAAAAApIGe
QQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RhdGUtYmFzaWMtcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAAMOU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA01k2S/u5gTyrBgAAZkoAAC4AGAAA
AAAAAAAAAKSBvkgPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kYXRlLWJhc2ljLXN0ZGVyci50
eHRVVAUAAw5TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADUWTZLSuzdcbYFAADtMAAAPAAY
AAAAAAAAAAAApIHRTw8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTEt
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMPU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1Fk2
Sx4YjDrdBQAAajEAADQAGAAAAAAAAAAAAKSB/VUPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9k
ZWxldGVkYXRhYmFzZS0xLXN0ZGVyci50eHRVVAUAAxBTxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADUWTZLsRVlxF4GAADFNAAAPAAYAAAAAAAAAAAApIFIXA8Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMQU8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA1Vk2S83vtPphBgAAUTUAADQAGAAAAAAAAAAAAKSBHGMPAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0yLXN0ZGVyci50eHRVVAUAAxFT
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADVWTZLSmjTzvEAAAD3AgAATgAYAAAAAAAAAAAA
pIHraQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLW51bGwtbmFtZS1l
eGNlcHRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMRU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA1Vk2S4iCwB5PAQAAnQMAAEgAGAAAAAAAAAAAAKSBZGsPAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LWV2ZW50LXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADElPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANVZNksa2s+iigEAAEIEAABAABgAAAAA
AAAAAACkgTVtDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVz
dC1ldmVudC1zdGRlcnIudHh0VVQFAAMSU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1Vk2
S2A29DJWAAAAmQAAAEIAGAAAAAAAAAAAAKSBOW8PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9k
ZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADElPFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIANZZNktfDkZ/DwEAACEDAAA6ABgAAAAAAAAAAACkgQtwDwBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1zdGRlcnIudHh0VVQF
AAMTU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1lk2SzPYzxW5BwAAOD4AADkAGAAAAAAA
AAAAAKSBjnEPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0xLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADE1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANZZNksfwaUZwAgA
ACtEAAAxABgAAAAAAAAAAACkgbp5DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5k
ZXgtMS1zdGRlcnIudHh0VVQFAAMUU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1lk2S0gW
7jWECAAAUVsAADkAGAAAAAAAAAAAAKSB5YIPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxl
dGVpbmRleC0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADFFPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIANdZNksTtA9Q1QkAAJhmAAAxABgAAAAAAAAAAACkgdyLDwBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi1zdGRlcnIudHh0VVQFAAMVU8VZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA11k2S6/v/kfuBQAAUSgAADkAGAAAAAAAAAAAAKSBHJYPAHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADFlPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANdZNktfmACLVgYAACQrAAAxABgAAAAAAAAAAACkgX2c
DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMy1zdGRlcnIudHh0VVQFAAMW
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2Fk2SwERQVYHBgAAFDIAADkAGAAAAAAAAAAA
AKSBPqMPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC00LXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADF1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANhZNksNNmFDAwgAABB1
AAA/ABgAAAAAAAAAAACkgbipDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlb2JqZWN0
c3RvcmUtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAxdTxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADYWTZLV0d2iSwIAABUegAANwAYAAAAAAAAAAAApIE0sg8Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2RlbGV0ZW9iamVjdHN0b3JlLTEtc3RkZXJyLnR4dFVUBQADGFPFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIANhZNkswKV9/7AMAAKYVAAA4ABgAAAAAAAAAAACkgdG6DwBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vZG91YmxlLWFib3J0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADGFPF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANlZNksFM9djCAQAALoTAAAwABgAAAAAAAAAAACk
gS+/DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZG91YmxlLWFib3J0LXN0ZGVyci50eHRVVAUA
AxlTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADZWTZLQsNYMnoDAADNEwAANwAYAAAAAAAA
AAAApIGhww8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RvdWJsZS1vcGVuLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADGVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANlZNktkt6+JtwMAAG0X
AAAvABgAAAAAAAAAAACkgYzHDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZG91YmxlLW9wZW4t
c3RkZXJyLnR4dFVUBQADGlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANpZNktm/mcTvwQA
AHImAAA+ABgAAAAAAAAAAACkgazLDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2MtY2xvc2Vz
LWRhdGFiYXNlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADG1PFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIANpZNkuIZVvl2QQAAJMmAAA2ABgAAAAAAAAAAACkgePQDwBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vZ2MtY2xvc2VzLWRhdGFiYXNlLXN0ZGVyci50eHRVVAUAAxxTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADaWTZLcIjI6qwGAAAbOwAAPgAYAAAAAAAAAAAApIEs1g8Ac3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2dldC1pbmRleC1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRV
VAUAAxxTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADbWTZL5B2QJRMHAACFOQAANgAYAAAA
AAAAAAAApIFQ3Q8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2dldC1pbmRleC1mYWlsdXJlcy1z
dGRlcnIudHh0VVQFAAMdU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA21k2S2J1WzodDAAA
kDwCADgAGAAAAAAAAAAAAKSB0+QPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9nZXQta2V5cmFu
Z2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMeU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
3Fk2S6F19LnTCwAAx1oCADAAGAAAAAAAAAAAAKSBYvEPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9nZXQta2V5cmFuZ2Utc3RkZXJyLnR4dFVUBQADIFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIANxZNks2UurTwwUAAOkiAAA2ABgAAAAAAAAAAACkgZ/9DwBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaGFuZGxlLXVzZXItZGVsZXRlLXN0ZGVyci50eHRVVAUAAyBTxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADdWTZLdWQtLYoSAADT+gIATAAYAAAAAAAAAAAApIHSAxAAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2lkYmN1cnNvci1jb250aW51ZS1wcmltYXJ5LWtleS0xLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADIlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOFZNksv4kiiEBMA
AM5jAwBEABgAAAAAAAAAAACkgeIWEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiY3Vyc29y
LWNvbnRpbnVlLXByaW1hcnkta2V5LTEtc3RkZXJyLnR4dFVUBQADJVPFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOFZNksXcTDy0gYAAPBEAABSABgAAAAAAAAAAACkgXAqEABzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaWRiZGF0YWJhc2UtZGVsZXRlb2JqZWN0c3RvcmUtZmFpbHVyZXMtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAMmU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4Vk2S5A1
zh5+BgAA+DkAAEoAGAAAAAAAAAAAAKSBzjEQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJk
YXRhYmFzZS1kZWxldGVvYmplY3RzdG9yZS1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAMmU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4lk2Sww3uk3SBAAA1xoAAEwAGAAAAAAAAAAAAKSB0DgQ
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJkYXRhYmFzZS10cmFuc2FjdGlvbi1mYWlsdXJl
cy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAydTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADi
WTZLA5aGRN8EAAAsGwAARAAYAAAAAAAAAAAApIEoPhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2lkYmRhdGFiYXNlLXRyYW5zYWN0aW9uLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAAydTxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADiWTZLRh6ao3cHAADmXAAAPQAYAAAAAAAAAAAApIGFQxAA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmluZGV4LWdldGFsbC0xLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADKFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAONZNktzGR0jUwgAAIV0AAA1
ABgAAAAAAAAAAACkgXNLEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtZ2V0YWxs
LTEtc3RkZXJyLnR4dFVUBQADKVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAONZNks08Gff
rQcAAMNcAABBABgAAAAAAAAAAACkgTVUEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5k
ZXgtZ2V0YWxsa2V5cy0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADKlPFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAORZNksnsfWtVggAAKF0AAA5ABgAAAAAAAAAAACkgV1cEABzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtZ2V0YWxsa2V5cy0xLXN0ZGVyci50eHRVVAUAAytTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADkWTZLaG6C9B8GAABhPQAARQAYAAAAAAAAAAAApIEm
ZRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmluZGV4LXByb3BlcnRpZXMtYmFzaWMtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAMrU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5Fk2S3mT
LJQeBgAAzz4AAD0AGAAAAAAAAAAAAKSBxGsQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJp
bmRleC1wcm9wZXJ0aWVzLWJhc2ljLXN0ZGVyci50eHRVVAUAAyxTxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADlWTZLoqWKOS4UAAAbpgYAQQAYAAAAAAAAAAAApIFZchAAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS1wcml2YXRlLXN0ZGVyci50eHRVVAUA
Ay5TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADnWTZLEJ9XxkYXAACu3gcAOQAYAAAAAAAA
AAAApIEChxAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS1z
dGRlcnIudHh0VVQFAAMxU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA51k2SwdHrysFCAAA
44EAAEIAGAAAAAAAAAAAAKSBu54QAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3Rz
dG9yZS1jbGVhci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADMVPFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAOdZNkuy9+2/pAcAALyCAAA6ABgAAAAAAAAAAACkgTynEABzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMS1zdGRlcnIudHh0VVQFAAMyU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6Fk2S+2AH1zjCAAAj60AAEIAGAAAAAAAAAAAAKSBVK8Q
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jbGVhci0yLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADM1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOhZNkvaXM7UEAkA
AL6xAAA6ABgAAAAAAAAAAACkgbO4EABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0
c3RvcmUtY2xlYXItMi1zdGRlcnIudHh0VVQFAAM0U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA6Fk2Sx++71y4BwAAyMgAAEIAGAAAAAAAAAAAAKSBN8IQAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADNFPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOlZNktFeCOjjwoAAJ5RAQA6ABgAAAAAAAAAAACkgWvK
EABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtMS1zdGRlcnIu
dHh0VVQFAAM1U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6Vk2SwkKMA9CBgAAmTMAAEkA
GAAAAAAAAAAAAKSBbtUQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1j
b3VudC1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzZTxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADpWTZLrYK4IVEGAABwMwAAQQAYAAAAAAAAAAAApIEz3BAAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNvdW50LWZhaWx1cmVzLXN0ZGVyci50eHRVVAUA
AzZTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqWTZLU13KOZQMAADB3QEAQwAYAAAAAAAA
AAAApIH/4hAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWRlbGV0ZS0x
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADN1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOtZ
NksB3Y7W4BIAAN2DAwA7ABgAAAAAAAAAAACkgRDwEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
aWRib2JqZWN0c3RvcmUtZGVsZXRlLTEtc3RkZXJyLnR4dFVUBQADOVPFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOtZNkugkX0y3gYAACA6AABDABgAAAAAAAAAAACkgWUDEQBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTItcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAAM5U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA61k2S9KxbErgBgAArzkAADsAGAAA
AAAAAAAAAKSBwAoRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxl
dGUtMi1zdGRlcnIudHh0VVQFAAM6U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA61k2S+N6
dUx/BgAAoT0AAEoAGAAAAAAAAAAAAKSBFRIRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJv
YmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAM6U8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7Fk2S6DUiv29BgAAyD0AAEIAGAAAAAAAAAAAAKSBGBkR
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMt
c3RkZXJyLnR4dFVUBQADO1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOxZNktbsGLvQgYA
AAkzAABHABgAAAAAAAAAAACkgVEgEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0
c3RvcmUtZ2V0LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADO1PFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAOxZNkvj9tLtTAYAAG4zAAA/ABgAAAAAAAAAAACkgRQnEQBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0LWZhaWx1cmVzLXN0ZGVyci50eHRV
VAUAAzxTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsWTZLQYN9d4kGAADiSAAAQwAYAAAA
AAAAAAAApIHZLREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldGFs
bC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADPFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AO1ZNkvT54vVfAYAAK1OAAA7ABgAAAAAAAAAAACkgd80EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vaWRib2JqZWN0c3RvcmUtZ2V0YWxsLTEtc3RkZXJyLnR4dFVUBQADPVPFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAO1ZNkuw1gZanwYAAOFMAABHABgAAAAAAAAAAACkgdA7EQBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0YWxsa2V5cy0xLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADPlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO1ZNksNFVlMkgYAAM1O
AAA/ABgAAAAAAAAAAACkgfBCEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3Rv
cmUtZ2V0YWxsa2V5cy0xLXN0ZGVyci50eHRVVAUAAz5TxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADuWTZLi50EVp4GAABbRQAAQwAYAAAAAAAAAAAApIH7SREAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldGtleS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADP1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO5ZNksNBqA7jQYAAN1IAAA7ABgAAAAAAAAAAACk
gRZREQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0a2V5LTEtc3Rk
ZXJyLnR4dFVUBQADP1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO5ZNkukcxUUrQYAAOlB
AABRABgAAAAAAAAAAACkgRhYEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3Rv
cmUtcHV0LWFuZC1jbGVhci1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0BTxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADuWTZLL1TGSL0GAADPPQAASQAYAAAAAAAAAAAApIFQXxEA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLXB1dC1hbmQtY2xlYXItZmFp
bHVyZXMtc3RkZXJyLnR4dFVUBQADQFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO9ZNkv4
DB1yxAMAAKUSAABPABgAAAAAAAAAAACkgZBmEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRi
dHJhbnNhY3Rpb24tb2JqZWN0c3RvcmUtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANB
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA71k2S94jar0/BAAABhUAAEcAGAAAAAAAAAAA
AKSB3WoRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9y
ZS1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAANBU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
71k2S7WfmohRBQAAySkAAEkAGAAAAAAAAAAAAKSBnW8RAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZXMtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0JT
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADvWTZL6oLVjRQFAADLJwAAQQAYAAAAAAAAAAAA
pIFxdREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnRyYW5zYWN0aW9uLW9iamVjdHN0b3Jl
cy0xLXN0ZGVyci50eHRVVAUAA0JTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADvWTZLkqSM
NyIBAACZBAAARQAYAAAAAAAAAAAApIEAexEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnZl
cnNpb25jaGFuZ2VldmVudC1jb25zdHJ1Y3Rvci1zdGRlcnIudHh0VVQFAANCU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA8Fk2S+zS7mOJCQAAKosBADMAGAAAAAAAAAAAAKSBoXwRAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADRFPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPFZNksz0K9sGwsAAEmnAQArABgAAAAAAAAAAACkgZeG
EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtMS1zdGRlcnIudHh0VVQFAANFU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8Vk2SwvDo+zxDgAAn6QBADMAGAAAAAAAAAAAAKSBF5IR
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
RlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPJZNkvA8U8uXw8AAOy0AQArABgAAAAAAAAA
AACkgXWhEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtMi1zdGRlcnIudHh0VVQFAANI
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8lk2S55Po8TCBgAAZlYAADMAGAAAAAAAAAAA
AKSBObERAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0zLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADSFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPNZNkvnQywUdAgAACFkAAArABgA
AAAAAAAAAACkgWi4EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtMy1zdGRlcnIudHh0
VVQFAANJU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA81k2S2uMdX8rCAAAP5wAADMAGAAA
AAAAAAAAAKSBQcERAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC00LXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADSlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPRZNksXLTYwTgkAACjM
AAArABgAAAAAAAAAAACkgdnJEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNC1zdGRl
cnIudHh0VVQFAANLU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9Fk2S7u/E3BCBgAA7iYA
ADMAGAAAAAAAAAAAAKSBjNMRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC01LXByaXZh
dGUtc3RkZXJyLnR4dFVUBQADS1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPRZNkvAXcRh
bQYAACYlAAArABgAAAAAAAAAAACkgTvaEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgt
NS1zdGRlcnIudHh0VVQFAANMU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9Vk2SxWz5n9g
CAAAfFIBADoAGAAAAAAAAAAAAKSBDeERAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1j
dXJzb3ItMS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA01TxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAD1WTZLszQ0g6ALAAAMtAEAMgAYAAAAAAAAAAAApIHh6REAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2luZGV4LWN1cnNvci0xLXN0ZGVyci50eHRVVAUAA05TxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAD2WTZL4KGDqWUJAAAWdQEAOgAYAAAAAAAAAAAApIHt9REAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADUFPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPdZNktEswPUNwsAABjSAQAyABgAAAAAAAAAAACkgcb/
EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTItc3RkZXJyLnR4dFVUBQAD
UlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPhZNkvW++PDMxEAALdwAgA6ABgAAAAAAAAA
AACkgWkLEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTMtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAANTU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Vk2S2VA1xfjFQAA
DzMDADIAGAAAAAAAAAAAAKSBEB0SAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJz
b3ItMy1zdGRlcnIudHh0VVQFAANVU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+Vk2S2q7
aoeKBgAAvCkAAEEAGAAAAAAAAAAAAKSBXzMSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRl
eC1nZXQtY291bnQtYmFzaWMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANWU8VZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA+lk2S22TlhIQBwAAPyoAADkAGAAAAAAAAAAAAKSBZDoSAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtYmFzaWMtc3RkZXJyLnR4dFVUBQADV1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPpZNkvnv0Jz/QYAANE4AABEABgAAAAAAAAAAACk
gedBEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWZhaWx1cmVzLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADV1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPpZNkvM
YSZB3AcAAFw8AAA8ABgAAAAAAAAAAACkgWJJEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtZ2V0LWNvdW50LWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAA1hTxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAD6WTZLvx3TyGoHAAA1SgAAOgAYAAAAAAAAAAAApIG0URIAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2luZGV4LXJlbmFtZS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADWFPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPtZNkslkJep2wcAABNOAAAyABgAAAAAAAAAAACkgZJZ
EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtcmVuYW1lLTEtc3RkZXJyLnR4dFVUBQAD
WVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPtZNksqHmK0IwUAABMpAAA5ABgAAAAAAAAA
AACkgdlhEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4va2V5cGF0aC1iYXNpYy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA1pTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD7WTZLfZuVJ/0EAAAu
JwAAMQAYAAAAAAAAAAAApIFvZxIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2tleXBhdGgtYmFz
aWMtc3RkZXJyLnR4dFVUBQADWlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPxZNkvTXPIL
PQUAAKIjAAAqABgAAAAAAAAAAACkgddsEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbGVhay0x
LXN0ZGVyci50eHRVVAUAA1xTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD9WTZLgCz/7v4I
AACFGAIAVQAYAAAAAAAAAAAApIF4chIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1p
bmRleC1ub3QtZGVsZXRlZC13aXRoLW9iamVjdHN0b3JlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
XVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAP1ZNkvWJvB/uwkAAHAlAgBNABgAAAAAAAAA
AACkgQV8EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbWVtb3J5LWluZGV4LW5vdC1kZWxldGVk
LXdpdGgtb2JqZWN0c3RvcmUtc3RkZXJyLnR4dFVUBQADXlPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAABaNkuJLaNbGQgAAG5wAABXABgAAAAAAAAAAACkgUeGEgBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vbXVsdGlwbGUtb2JqZWN0c3RvcmUtaW5kZXgtY3Vyc29yLWNvbGxpc2lvbi1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA19TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAAWjZLyt1a
xeMIAABIgwAATwAYAAAAAAAAAAAApIHxjhIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL211bHRp
cGxlLW9iamVjdHN0b3JlLWluZGV4LWN1cnNvci1jb2xsaXNpb24tc3RkZXJyLnR4dFVUBQADX1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAABaNkvt4OIMHgYAADMwAABCABgAAAAAAAAAAACk
gV2YEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbmV3LWRhdGFiYXNlLWFmdGVyLXVzZXItZGVs
ZXRlLXN0ZGVyci50eHRVVAUAA2BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAABWjZL6d4Y
2/sFAADlMgAAQgAYAAAAAAAAAAAApIH3nhIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVj
dHN0b3JlLWF0dHJpYnV0ZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANhU8VZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAAVo2S3diJp/1BQAAZzEAADoAGAAAAAAAAAAAAKSBbqUSAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1hdHRyaWJ1dGVzLXN0ZGVyci50eHRVVAUAA2FT
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAABWjZLGh3jjscIAABnngAATwAYAAAAAAAAAAAA
pIHXqxIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLWN1cnNvci1hZHZhbmNl
LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADYlPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAFaNksCunzGWgkAAOSpAABHABgAAAAAAAAAAACkgSe1EgBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWFkdmFuY2UtZmFpbHVyZXMtc3RkZXJyLnR4dFVU
BQADYlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAJaNksrD1xWFwkAADWiAABQABgAAAAA
AAAAAACkgQK/EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWNv
bnRpbnVlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADY1PFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAAJaNkuyPIEMrAkAAJ6tAABIABgAAAAAAAAAAACkgaPIEgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWNvbnRpbnVlLWZhaWx1cmVzLXN0ZGVy
ci50eHRVVAUAA2RTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAACWjZLURqYyI8GAACYPgAA
QAAYAAAAAAAAAAAApIHR0hIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLXJl
bmFtZS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADZFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAANaNkvAvhGDlAYAAIc/AAA4ABgAAAAAAAAAAACkgdrZEgBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vb2JqZWN0c3RvcmUtcmVuYW1lLTEtc3RkZXJyLnR4dFVUBQADZVPFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAANaNkvw6vrK8AYAAH08AAA/ABgAAAAAAAAAAACkgeDgEgBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmN1cnNvci1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRV
VAUAA2VTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAADWjZLQBhr32YHAABtPQAANwAYAAAA
AAAAAAAApIFJ6BIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5jdXJzb3ItZmFpbHVyZXMt
c3RkZXJyLnR4dFVUBQADZlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAARaNksaph8fuAIA
AMwKAABGABgAAAAAAAAAAACkgSDwEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmRhdGFi
YXNlLXJlcXVlc3QtZXZlbnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANnU8VZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgABFo2S57BOXEXAwAAnwwAAD4AGAAAAAAAAAAAAKSBWPMSAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9vcGVuZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1zdGRlcnIudHh0VVQF
AANnU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABFo2Swr94A+BAQAAXAUAAEAAGAAAAAAA
AAAAAKSB5/YSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vcGVuZGF0YWJhc2UtcmVxdWVzdC1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA2dTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAEWjZL
Bk4HdkABAACkBgAAOAAYAAAAAAAAAAAApIHi+BIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29w
ZW5kYXRhYmFzZS1yZXF1ZXN0LXN0ZGVyci50eHRVVAUAA2hTxVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAEWjZL9R0XtSgEAADbJAAAVAAYAAAAAAAAAAAApIGU+hIAc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1zdWNjZXNzLWFmdGVyLXZlcnNpb25jaGFuZ2UtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAANoU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABVo2S0JjxMBh
BAAAWiYAAEwAGAAAAAAAAAAAAKSBSv8SAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vcGVuZGF0
YWJhc2Utc3VjY2Vzcy1hZnRlci12ZXJzaW9uY2hhbmdlLXN0ZGVyci50eHRVVAUAA2lTxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAFWjZLH7ASBpMEAABvMQAAQQAYAAAAAAAAAAAApIExBBMA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS12ZXJzaW9ucy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA2lTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAFWjZL7txnkJYEAACk
LAAAOQAYAAAAAAAAAAAApIE/CRMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFz
ZS12ZXJzaW9ucy1zdGRlcnIudHh0VVQFAANqU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
BVo2SwRwOG4TBQAA5h4AAD4AGAAAAAAAAAAAAKSBSA4TAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9yZXF1ZXN0LXJlYWR5c3RhdGUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANqU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgABlo2SzTZmPN4BQAAUyEAADYAGAAAAAAAAAAAAKSB0xMTAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9yZXF1ZXN0LXJlYWR5c3RhdGUtc3RkZXJyLnR4dFVUBQADa1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAZaNkvJNZmHvwUAADMhAABQABgAAAAAAAAAAACk
gbsZEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vc2luZ2xlLWVudHJ5LWluZGV4LWludmFsaWQt
a2V5LWNyYXNoLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADa1PFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAZaNkv4zlzvHAYAAJYiAABIABgAAAAAAAAAAACkgQQgEwBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vc2luZ2xlLWVudHJ5LWluZGV4LWludmFsaWQta2V5LWNyYXNoLXN0ZGVyci50eHRV
VAUAA2xTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAGWjZLYIzESo8GAABwNwAAQwAYAAAA
AAAAAAAApIGiJhMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxl
ci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADbFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAdaNksda5jDKwcAABVKAABDABgAAAAAAAAAAACkga4tEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANtU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAB1o2S2sWuVASBwAAmksAAEMAGAAAAAAAAAAAAKSBVjUT
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItMy1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA21TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHWjZLtpaI1LYG
AADGQAAAOwAYAAAAAAAAAAAApIHlPBMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0
aW9uLXNjaGVkdWxlci0zLXN0ZGVyci50eHRVVAUAA25TxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAIWjZLU3q3E7QGAAD3dQAAQwAYAAAAAAAAAAAApIEQRBMAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci00LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADb1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAhaNktx/VceCAcAAD1+AAA7ABgAAAAAAAAAAACk
gUFLEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTQtc3Rk
ZXJyLnR4dFVUBQADb1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAhaNkt1vN9rMgcAAEtV
AABDABgAAAAAAAAAAACkgb5SEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24t
c2NoZWR1bGVyLTUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANwU8VZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgACFo2S6ph6UiZBgAAYEkAAEMAGAAAAAAAAAAAAKSBbVoTAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVsZXItNi1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A3BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJWjZLJXwDhXYFAAC5MgAASwAYAAAAAAAA
AAAApIGDYRMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9ucy1zdG9wLW9uLW5h
dmlnYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANxU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAClo2SzfLAd1sCgAA/V8BAEMAGAAAAAAAAAAAAKSBfmcTAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi90cmFuc2FjdGlvbnMtc3RvcC1vbi1uYXZpZ2F0aW9uLXN0ZGVyci50eHRVVAUAA3NT
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKWjZLdP74B/UEAAAsNQAASwAYAAAAAAAAAAAA
pIFnchMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3ZlcnNpb25jaGFuZ2UtYWJvcnQtdGhlbi1y
ZW9wZW4tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANzU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAClo2S7qVvpaPBQAAUjwAAEMAGAAAAAAAAAAAAKSB4XcTAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi92ZXJzaW9uY2hhbmdlLWFib3J0LXRoZW4tcmVvcGVuLXN0ZGVyci50eHRVVAUAA3RTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKWjZLGE2yKDwFAABpKwAAPwAYAAAAAAAAAAAApIHt
fRMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3ZlcnNpb25jaGFuZ2UtZXZlbnQtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAN0U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAC1o2SwPlZ5hcBQAA
yysAADcAGAAAAAAAAAAAAKSBooMTAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hh
bmdlLWV2ZW50LXN0ZGVyci50eHRVVAUAA3VTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAL
WjZL8MXsMbsFAAAgJwAAMQAYAAAAAAAAAAAApIFviRMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L3dvcmtlci1nZXRhbGwtc3RkZXJyLnR4dFVUBQADdVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAtaNktWSKWLBQEAALsDAAA0ABgAAAAAAAAAAACkgZWPEwBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vd29ya2Vycy1kaXNhYmxlZC1zdGRlcnIudHh0VVQFAAN2U8VZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgACFo2S1YjkbyLBwAA73QAADQAGAAAAAAAAAAAAKSBCJETAHN0b3JhZ2UvaW5k
ZXhlZGRiL211dGF0aW5nLWN1cnNvci1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3BTxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAIWjZLvM2+Ki8IAAB6gQAALAAYAAAAAAAAAAAApIEBmRMAc3Rv
cmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLXN0ZGVyci50eHRVVAUAA3BTxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAJWjZL/KcCdmwEAACIFwAARAAYAAAAAAAAAAAApIGWoRMAc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0LWxvb2t1cHMtaW4tdmVyc2lvbmNoYW5nZS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA3FTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJWjZLzQvv/XUEAACH
GAAAPAAYAAAAAAAAAAAApIGAphMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0LWxvb2t1cHMtaW4t
dmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0VVQFAANxU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgACVo2S53MDh5cAwAA2g8AAEMAGAAAAAAAAAAAAKSBa6sTAHN0b3JhZ2UvaW5kZXhlZGRiL29i
amVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3FTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJWjZLgyUkic4DAADcEQAAOwAYAAAAAAAAAAAApIFE
rxMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3RvcmUtcmVxdWlyZWQtYXJndW1lbnRzLXN0ZGVy
ci50eHRVVAUAA3JTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJWjZLm94lykkIAABKewAA
PgAYAAAAAAAAAAAApIGHsxMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3Jl
bWVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3JTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAKWjZL0N58nU0IAACDewAANgAYAAAAAAAAAAAApIFIvBMAc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtYXV0b2luY3JlbWVudC1zdGRlcnIudHh0VVQFAANzU8VZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAClo2S9SNXK8RCgAAApcAADcAGAAAAAAAAAAAAKSBBcUTAHN0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3RTxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAALWjZL2lltTOYKAACnmwAALwAYAAAAAAAAAAAApIGHzxMA
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXN0ZGVyci50eHRVVAUAA3ZTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAALWjZLdHqt4ogLAAD3nQAANwAYAAAAAAAAAAAApIHW
2hMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLXdvcmtlcnMtc3RkZXJyLnR4
dFVUBQADdVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAxaNkvSvZjQmwcAAH0+AAA2ABgA
AAAAAAAAAACkgc/mEwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA3dTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAMWjZLId8p4NEH
AADHQAAALgAYAAAAAAAAAAAApIHa7hMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xl
YXItc3RkZXJyLnR4dFVUBQADd1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA1aNkvM7cus
xQoAAFezAQA2ABgAAAAAAAAAAACkgRP3EwBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1j
b3VudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3lTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAANWjZLhgEXMwcOAAAmEwMALgAYAAAAAAAAAAAApIFIAhQAc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY291bnQtc3RkZXJyLnR4dFVUBQADelPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABFaNktftMSvTBEAAOtBBwA3ABgAAAAAAAAAAACkgbcQFABzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jdXJzb3ItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOCU8VZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAFVo2SzWDRJjrFQAAoPMIAC8AGAAAAAAAAAAAAKSBdCIUAHN0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci1zdGRlcnIudHh0VVQFAAOKU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAFVo2SwJB7NCsBwAAr00AAEIAGAAAAAAAAAAAAKSByDgUAHN0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADilPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABVaNkuplu/J8wcAAGlQAAA6
ABgAAAAAAAAAAACkgfBAFABzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmpl
Y3RzdG9yZS1zdGRlcnIudHh0VVQFAAOKU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFlo2
S7ILlKTgCAAA5gkBADAAGAAAAAAAAAAAAKSBV0kUAHN0b3JhZ2UvaW5kZXhlZGRiL29kZC1zdHJp
bmdzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADi1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ABZaNksojxdaVgQAAN4zAAA2ABgAAAAAAAAAAACkgaFSFABzdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWJhZC12ZXJzaW9ucy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4xTxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAXWjZL6NxcQgMEAACuIgAALgAYAAAAAAAAAAAApIFnVxQAc3RvcmFnZS9pbmRl
eGVkZGIvb3Blbi1iYWQtdmVyc2lvbnMtc3RkZXJyLnR4dFVUBQADjVPFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIABdaNkvDT4xV4AQAAKojAAAwABgAAAAAAAAAAACkgdJbFABzdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLWN1cnNvci1wcml2YXRlLXN0ZGVyci50eHRVVAUAA45TxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAXWjZLhkJPPKgFAAB+KAAAKAAYAAAAAAAAAAAApIEcYRQAc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3Itc3RkZXJyLnR4dFVUBQADjlPFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIABdaNkv9ebdGWwYAAH09AAA8ABgAAAAAAAAAAACkgSZnFABzdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlvbi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA45T
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYWjZL0OglVlcGAAAFQQAANAAYAAAAAAAAAAAA
pIH3bRQAc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1kdXJpbmctdHJhbnNhY3Rpb24tc3RkZXJyLnR4
dFVUBQADj1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABhaNkvo7I66EgUAADw5AAAyABgA
AAAAAAAAAACkgbx0FABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLW9yZGVyaW5nLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADj1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABhaNkuDLqsFJAUAAB06
AAAqABgAAAAAAAAAAACkgTp6FABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLW9yZGVyaW5nLXN0ZGVy
ci50eHRVVAUAA49TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYWjZLN/jDyAQEAABFIgAA
LwAYAAAAAAAAAAAApIHCfxQAc3RvcmFnZS9pbmRleGVkZGIvb3Blbi10d2ljZS13b3JrZXJzLXN0
ZGVyci50eHRVVAUAA5BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYWjZLChWbrlsJAABx
nAAAMwAYAAAAAAAAAAAApIEvhBQAc3RvcmFnZS9pbmRleGVkZGIvb3BlbmN1cnNvci1rZXktcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAOQU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGVo2S7xL
O8b9CQAAUL8AACsAGAAAAAAAAAAAAKSB940UAHN0b3JhZ2UvaW5kZXhlZGRiL29wZW5jdXJzb3It
a2V5LXN0ZGVyci50eHRVVAUAA5FTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAZWjZLGtcD
f/sKAABcHgEANwAYAAAAAAAAAAAApIFZmBQAc3RvcmFnZS9pbmRleGVkZGIvb3B0aW9uYWwtYXJn
dW1lbnRzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADkVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABlaNktHhRQWjwwAAJxpAQAvABgAAAAAAAAAAACkgcWjFABzdG9yYWdlL2luZGV4ZWRkYi9v
cHRpb25hbC1hcmd1bWVudHMtc3RkZXJyLnR4dFVUBQADklPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIABpaNktPyXP65wYAAMs+AAA1ABgAAAAAAAAAAACkgb2wFABzdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLWFjdGl2aXR5LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADk1PFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABtaNkvm4Zn0XwcAAGBBAAAtABgAAAAAAAAAAACkgRO4FABzdG9yYWdl
L2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXN0ZGVyci50eHRVVAUAA5ZTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAaWjZLMCh3bt4HAAB8RQAANQAYAAAAAAAAAAAApIHZvxQAc3RvcmFn
ZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13b3JrZXJzLXN0ZGVyci50eHRVVAUAA5RTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAbWjZLIhd35NYEAAAuIgAAQwAYAAAAAAAAAAAApIEm
yBQAc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1vbi1leGl0LXByaXZh
dGUtc3RkZXJyLnR4dFVUBQADllPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABtaNkvi1wv5
tAQAAPgbAAA7ABgAAAAAAAAAAACkgXnNFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNp
b24tY2hhbmdlLW9uLWV4aXQtc3RkZXJyLnR4dFVUBQADllPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIABxaNkv6w96ySgQAAC8cAABBABgAAAAAAAAAAACkgaLSFABzdG9yYWdlL2luZGV4ZWRk
Yi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADl1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABxaNksWY+PikwQAALQgAAA5ABgAAAAAAAAAAACk
gWfXFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNrLXN0ZGVy
ci50eHRVVAUAA5hTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcWjZL9GTSYbMEAABJIgAA
VgAYAAAAAAAAAAAApIFt3BQAc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5n
ZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5dTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcWjZLuLn+L/4EAADjJAAATgAYAAAAAAAAAAAApIGw
4RQAc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jrcy13
aXRoLXRlcm1pbmF0ZS1zdGRlcnIudHh0VVQFAAOXU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAHFo2SwkcMcF0BgAAyGcAADAAGAAAAAAAAAAAAKSBNucUAHN0b3JhZ2UvaW5kZXhlZGRiL3Bl
cnNpc3RlbmNlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADmFPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIABxaNkt/Soo9bwYAAFVnAAAoABgAAAAAAAAAAACkgRTuFABzdG9yYWdlL2luZGV4ZWRk
Yi9wZXJzaXN0ZW5jZS1zdGRlcnIudHh0VVQFAAOYU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAHVo2S3si5P+/CAAA2XYAADsAGAAAAAAAAAAAAKSB5fQUAHN0b3JhZ2UvaW5kZXhlZGRiL3By
ZWZldGNoLWJ1Z2ZpeC0xMDgwNzEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOZU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAHVo2S95/0Xh4CQAAo4IAADMAGAAAAAAAAAAAAKSBGf4UAHN0b3Jh
Z2UvaW5kZXhlZGRiL3ByZWZldGNoLWJ1Z2ZpeC0xMDgwNzEtc3RkZXJyLnR4dFVUBQADmVPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACBaNktHaIjEJB8AABlECAA6ABgAAAAAAAAAAACkgf4H
FQBzdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRjaC1pbnZhbGlkYXRpb24tcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAObU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIVo2S9XM5DMVJQAANqAJADIA
GAAAAAAAAAAAAKSBlicVAHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLWludmFsaWRhdGlvbi1z
dGRlcnIudHh0VVQFAAOdU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIVo2S4ox4o6nBwAA
MGUAADIAGAAAAAAAAAAAAKSBF00VAHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLXJhY2UtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAOdU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIVo2Szv0
7dXwBwAAmmsAACoAGAAAAAAAAAAAAKSBKlUVAHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLXJh
Y2Utc3RkZXJyLnR4dFVUBQADnVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACFaNksiBF43
TwYAAGFEAABGABgAAAAAAAAAAACkgX5dFQBzdG9yYWdlL2luZGV4ZWRkYi9wcmltYXJ5LWtleS11
bmlxdWUtdG8tb2JqZWN0c3RvcmUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOeU8VZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAIVo2S91L3V96BgAAMlEAAD4AGAAAAAAAAAAAAKSBTWQVAHN0b3Jh
Z2UvaW5kZXhlZGRiL3ByaW1hcnkta2V5LXVuaXF1ZS10by1vYmplY3RzdG9yZS1zdGRlcnIudHh0
VVQFAAOeU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIVo2S5TV9KyIBQAAOiQAADQAGAAA
AAAAAAAAAKSBP2sVAHN0b3JhZ2UvaW5kZXhlZGRiL3F1ZXVlZC1jb21tYW5kcy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA55TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAhWjZLgZjFgyIGAABU
JgAALAAYAAAAAAAAAAAApIE1cRUAc3RvcmFnZS9pbmRleGVkZGIvcXVldWVkLWNvbW1hbmRzLXN0
ZGVyci50eHRVVAUAA55TxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAhWjZLNVIk/9oFAABZ
IwAALQAYAAAAAAAAAAAApIG9dxUAc3RvcmFnZS9pbmRleGVkZGIvcmVhZG9ubHktcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAOeU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIlo2S97FmDZJAwAA
pg8AADgAGAAAAAAAAAAAAKSB/n0VAHN0b3JhZ2UvaW5kZXhlZGRiL3JlYWRvbmx5LXByb3BlcnRp
ZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOfU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
Ilo2S1imjrjNAwAAwxEAADAAGAAAAAAAAAAAAKSBuYEVAHN0b3JhZ2UvaW5kZXhlZGRiL3JlYWRv
bmx5LXByb3BlcnRpZXMtc3RkZXJyLnR4dFVUBQADn1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACJaNkvPqhB0dQYAABAmAAAlABgAAAAAAAAAAACkgfCFFQBzdG9yYWdlL2luZGV4ZWRkYi9y
ZWFkb25seS1zdGRlcnIudHh0VVQFAAOfU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIlo2
S3YiyIHGBgAA0C8AADsAGAAAAAAAAAAAAKSBxIwVAHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3Qt
Y29udGludWUtYWJvcnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOfU8VZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAIlo2S+z860PvBgAAYS4AADMAGAAAAAAAAAAAAKSB/5MVAHN0b3JhZ2UvaW5k
ZXhlZGRiL3JlcXVlc3QtY29udGludWUtYWJvcnQtc3RkZXJyLnR4dFVUBQADoFPFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIACJaNkvUHqcPaAYAAMBEAAA+ABgAAAAAAAAAAACkgVubFQBzdG9y
YWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADoFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACJaNkuUXIySbAYAAKNDAAA2ABgA
AAAAAAAAAACkgTuiFQBzdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9u
LXN0ZGVyci50eHRVVAUAA6BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAiWjZLq+39kk8G
AAAQLQAAOQAYAAAAAAAAAAAApIEXqRUAc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1yZXN1bHQt
Y2FjaGUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOgU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAI1o2S0vT0mGuBgAAFS4AADEAGAAAAAAAAAAAAKSB2a8VAHN0b3JhZ2UvaW5kZXhlZGRiL3Jl
cXVlc3QtcmVzdWx0LWNhY2hlLXN0ZGVyci50eHRVVAUAA6FTxVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAjWjZLQxBHaNkEAAAIIgAAOAAYAAAAAAAAAAAApIHythUAc3RvcmFnZS9pbmRleGVk
ZGIvc2V0X3ZlcnNpb25fYmxvY2tlZC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA6FTxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAjWjZLGHYCq18FAAD3JAAAMAAYAAAAAAAAAAAApIE9vBUAc3Rv
cmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fYmxvY2tlZC1zdGRlcnIudHh0VVQFAAOhU8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAI1o2S2hi5m3GBAAABCoAAE4AGAAAAAAAAAAAAKSBBsIV
AHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tYmxvY2tlZC1ieS12ZXJzaW9uY2hhbmdlLWNs
b3NlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADoVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACNaNkvQF5VkigQAAMkqAABGABgAAAAAAAAAAACkgVTHFQBzdG9yYWdlL2luZGV4ZWRkYi9zZXR2
ZXJzaW9uLWJsb2NrZWQtYnktdmVyc2lvbmNoYW5nZS1jbG9zZS1zdGRlcnIudHh0VVQFAAOiU8VZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAI1o2S3B72Ou0BAAA7icAADsAGAAAAAAAAAAAAKSB
XswVAHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tbm90LWJsb2NrZWQtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAAOiU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAI1o2S+jVdZXNBAAAvycA
ADMAGAAAAAAAAAAAAKSBh9EVAHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24tbm90LWJsb2Nr
ZWQtc3RkZXJyLnR4dFVUBQADolPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACRaNkt9A0MN
jBAAAC7LBAA1ABgAAAAAAAAAAACkgcHWFQBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNs
b25lLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADpFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACVaNku+Ez+A9Q8AAKHVBAAtABgAAAAAAAAAAACkgbznFQBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1
Y3R1cmVkLWNsb25lLXN0ZGVyci50eHRVVAUAA6ZTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAmWjZLCJAAGx4GAADJJwAALgAYAAAAAAAAAAAApIEY+BUAc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tYWJvcnQtc3RkZXJyLnR4dFVUBQADp1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACZaNksIqNq5zgwAAN3zAAA8ABgAAAAAAAAAAACkgZ7+FQBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA6dTxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAmWjZLpus5tFMPAAAeHQEANAAYAAAAAAAAAAAApIHiCxYAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWN0aXZlLWZsYWctc3RkZXJyLnR4dFVUBQADqFPF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACZaNksTym8pDwYAAFg+AAA8ABgAAAAAAAAAAACk
gaMbFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA6hTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAnWjZLGN2yJ/0FAAD7
PQAANAAYAAAAAAAAAAAApIEoIhYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXIt
Y2xvc2Utc3RkZXJyLnR4dFVUBQADqVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACdaNktM
86KWfgcAACh1AABGABgAAAAAAAAAAACkgZMoFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOpU8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAJ1o2S9bXhrSRBwAAgoEAAD4AGAAAAAAAAAAAAKSBkTAWAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy1zdGRlcnIu
dHh0VVQFAAOqU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJ1o2S2Wou5HkCAAAoK0AADcA
GAAAAAAAAAAAAKSBmjgWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA6pTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoWjZL8nsj
iKkJAABktQAALwAYAAAAAAAAAAAApIHvQRYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YmFzaWNzLXN0ZGVyci50eHRVVAUAA6tTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoWjZL
FL0dgUEFAACPKgAAVwAYAAAAAAAAAAAApIEBTBYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24tY3Jvc3MtZnJhbWUtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAOrU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKFo2S5ZaqF3NBQAAACoAAE8A
GAAAAAAAAAAAAKSB01EWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdp
dGgtanMtcmVjdXJzaW9uLWNyb3NzLWZyYW1lLXN0ZGVyci50eHRVVAUAA6tTxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAoWjZLzEv7lZkFAADaKQAASwAYAAAAAAAAAAAApIEpWBYAc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24tcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAOrU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKFo2SxM0xq/Q
BQAA5ykAAEMAGAAAAAAAAAAAAKSBR14WAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNv
bXBsZXRlLXdpdGgtanMtcmVjdXJzaW9uLXN0ZGVyci50eHRVVAUAA6xTxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAoWjZLWS/vb8wGAACpVgAAQQAYAAAAAAAAAAAApIGUZBYAc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd29ya2Vycy1wcml2YXRlLXN0ZGVyci50eHRV
VAUAA6xTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAApWjZLtSMFC3cGAADyUwAAOQAYAAAA
AAAAAAAApIHbaxYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd29ya2Vy
cy1zdGRlcnIudHh0VVQFAAOtU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKVo2S3xhX/Kb
BgAAtVEAAE4AGAAAAAAAAAAAAKSBxXIWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNv
b3JkaW5hdGlvbi1hY3Jvc3MtZGF0YWJhc2VzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADrVPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAClaNks9G8MknAYAAKhTAABGABgAAAAAAAAAAACkgeh5
FgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb29yZGluYXRpb24tYWNyb3NzLWRhdGFi
YXNlcy1zdGRlcnIudHh0VVQFAAOtU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKVo2SzYv
XPlsBgAAMTsAAE0AGAAAAAAAAAAAAKSBBIEWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWNvb3JkaW5hdGlvbi13aXRoaW4tZGF0YWJhc2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOtU8VZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKVo2S/rgLFoUAQAAtQMAAD8AGAAAAAAAAAAAAKSB
94cWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLWluLXRhc2tzLXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADrlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAClaNku4vuYaLAEA
ADYEAAA3ABgAAAAAAAAAAACkgYSJFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFz
aC1pbi10YXNrcy1zdGRlcnIudHh0VVQFAAOuU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
KVo2SxwJ9+9/BAAA6BgAAD8AGAAAAAAAAAAAAKSBIYsWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWNyYXNoLW9uLWFib3J0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADrlPFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIACpaNktYqf14qgQAAMAZAAA3ABgAAAAAAAAAAACkgRmQFgBzdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1zdGRlcnIudHh0VVQFAAOv
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKlo2S0iX84rXBwAAUGUAADYAGAAAAAAAAAAA
AKSBNJUWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWVycm9yLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADr1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACpaNkuHrc69aQgAAIdkAAAu
ABgAAAAAAAAAAACkgXudFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1zdGRl
cnIudHh0VVQFAAOwU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKlo2S0ZqI/pQBgAArzcA
AEIAGAAAAAAAAAAAAKSBTKYWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXBy
b3BhZ2F0aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADsFPFWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIACpaNkt1ZgzVSQYAAOc2AAA6ABgAAAAAAAAAAACkgRitFgBzdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi1zdGRlcnIudHh0VVQFAAOwU8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAKlo2Sz4js8erBQAAdjIAADkAGAAAAAAAAAAAAKSB1bMWAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW9yZGVyaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADsFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACpaNkvcq4i52QUAABMyAAAxABgAAAAA
AAAAAACkgfO5FgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1vcmRlcmluZy1zdGRlcnIu
dHh0VVQFAAOwU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAK1o2S5jwD/NjBgAAODgAADwA
GAAAAAAAAAAAAKSBN8AWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW92ZXJsYXBwaW5n
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADsVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACta
NktBhsTjpQYAAOZUAAA0ABgAAAAAAAAAAACkgRDHFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1vdmVybGFwcGluZy1zdGRlcnIudHh0VVQFAAOxU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAK1o2SzK7j65LBgAA5zUAADoAGAAAAAAAAAAAAKSBI84WAHN0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLXJlYWQtb25seS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA7FTxVl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAArWjZLsLRZGM8GAACUPgAAMgAYAAAAAAAAAAAApIHi1BYAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZC1vbmx5LXN0ZGVyci50eHRVVAUAA7JTxVl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAArWjZLO2pOyEkGAAC+SgAARAAYAAAAAAAAAAAApIEd
3BYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZHdyaXRlLWV4Y2x1c2l2ZS1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA7JTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAArWjZLz7qX
bm4GAACCSQAAPAAYAAAAAAAAAAAApIHk4hYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
cmVhZHdyaXRlLWV4Y2x1c2l2ZS1zdGRlcnIudHh0VVQFAAOyU8VZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAK1o2S8xrDIbJBgAAxzQAADkAGAAAAAAAAAAAAKSByOkWAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADslPFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIACxaNktWd1uVLQcAAOE2AAAxABgAAAAAAAAAAACkgQTxFgBz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yb2xsYmFjay1zdGRlcnIudHh0VVQFAAOzU8VZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALFo2S+TDfsBIBgAAsUwAAEEAGAAAAAAAAAAAAKSB
nPgWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXNjb3BlLXNlcXVlbmNpbmctcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAOzU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALFo2S3oGbZEX
BgAA0EQAADkAGAAAAAAAAAAAAKSBX/8WAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXNj
b3BlLXNlcXVlbmNpbmctc3RkZXJyLnR4dFVUBQADs1PFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACxaNks8UR+yGQMAAEAOAABEABgAAAAAAAAAAACkgekFFwBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADs1PF
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACxaNkvt3CjIngMAAOYQAAA8ABgAAAAAAAAAAACk
gYAJFwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLXN0
ZGVyci50eHRVVAUAA7NTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAsWjZLybQO19sEAACx
IgAAPgAYAAAAAAAAAAAApIGUDRcAc3RvcmFnZS9pbmRleGVkZGIvdW5ibG9ja2VkLXZlcnNpb24t
Y2hhbmdlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA7RTxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAsWjZLDQ22ANsEAACwIgAANgAYAAAAAAAAAAAApIHnEhcAc3RvcmFnZS9pbmRleGVkZGIv
dW5ibG9ja2VkLXZlcnNpb24tY2hhbmdlcy1zdGRlcnIudHh0VVQFAAO0U8VZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgALFo2S7FmwwAwAQAAgQQAAC0AGAAAAAAAAAAAAKSBMhgXAHN0b3JhZ2Uv
aW5kZXhlZGRiL3VucHJlZml4LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADtFPFWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIACxaNkuwJ4h1oQQAAKYZAAA0ABgAAAAAAAAAAACkgckZFwBzdG9yYWdl
L2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAO0U8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALVo2SyTNQey5BQAAuh8AACwAGAAAAAAAAAAAAKSB2B4X
AHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlLXVuZGVmaW5lZC1zdGRlcnIudHh0VVQFAAO1U8VZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALVo2S5KAGMGUBQAAdTUAADUAGAAAAAAAAAAAAKSB9yQX
AHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAO1U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALVo2S4n1bG1UBgAAwDwAAC0AGAAAAAAA
AAAAAKSB+ioXAHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQtdHlwZXMtc3RkZXJyLnR4dFVU
BQADtVPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC1aNkufqFsN7QUAAMovAAA5ABgAAAAA
AAAAAACkgbUxFwBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1hYm9ydC1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA7VTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAtWjZLCPA0p8oF
AADoLwAAMQAYAAAAAAAAAAAApIEVOBcAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2Ut
YWJvcnQtc3RkZXJyLnR4dFVUBQADtlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC1aNkvZ
Zp/lEQMAANoaAAA/ABgAAAAAAAAAAACkgUo+FwBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNo
YW5nZS1ldmVudC1iYXNpYy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA7ZTxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAtWjZLMrYhevMDAABRKQAANwAYAAAAAAAAAAAApIHUQRcAc3RvcmFnZS9p
bmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXZlbnQtYmFzaWMtc3RkZXJyLnR4dFVUBQADtlPFWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC1aNkvvaS6M7QUAAOYzAAA5ABgAAAAAAAAAAACkgThG
FwBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1ldmVudC1wcml2YXRlLXN0ZGVyci50
eHRVVAUAA7ZTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAtWjZL2QpC6TsFAAD1KgAAMQAY
AAAAAAAAAAAApIGYTBcAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXZlbnQtc3Rk
ZXJyLnR4dFVUBQADtlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC5aNkvfZw/hhAUAAFRB
AAA9ABgAAAAAAAAAAACkgT5SFwBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNs
dXNpdmUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAO3U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgALlo2S4l218iLBQAA0kMAADUAGAAAAAAAAAAAAKSBOVgXAHN0b3JhZ2UvaW5kZXhlZGRiL3Zl
cnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1zdGRlcnIudHh0VVQFAAO3U8VZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgALlo2S9zQNWzNAwAARxUAAEkAGAAAAAAAAAAAAKSBM14XAHN0b3JhZ2UvaW5k
ZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFjdGl2ZWRvbW9iamVjdC1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA7hTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAvWjZLTGR9l/wDAAAfFQAA
QQAYAAAAAAAAAAAApIGDYhcAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3Qt
YWN0aXZlZG9tb2JqZWN0LXN0ZGVyci50eHRVVAUAA7lTxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAvWjZL1yP41o0EAACiGAAALAAYAAAAAAAAAAAApIH6ZhcAc3RvcmFnZS9pbmRleGVkZGIv
d2FzbS1leGNlcHRpb25zLXN0ZGVyci50eHRVVAUAA7lTxVl1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAADNWTZLAAAAAAAAAAAAAAAADwAYAAAAAAAAABAA7UHtaxcAc3RvcmFnZS93ZWJzcWwvVVQF
AAMCU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxlk2S4AYDaanAAAA0gAAAC0AGAAAAAAA
AQAAAKSBNmwXAHN0b3JhZ2Uvd2Vic3FsL2FsdGVyLXRvLWluZm8tdGFibGUtc3RkZXJyLnR4dFVU
BQAD9FLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMZZNkuAGA2mpwAAANIAAAA1ABgAAAAA
AAEAAACkgURtFwBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Utc3Rk
ZXJyLnR4dFVUBQAD9FLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMZZNkuAGA2mpwAAANIA
AABGABgAAAAAAAEAAACkgVpuFwBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFz
aC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1zdGRlcnIudHh0VVQFAAP0UsVZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAxlk2S/8hL92yAAAASAMAACgAGAAAAAAAAQAAAKSBgW8XAHN0b3JhZ2Uvd2Vi
c3FsL2NoYW5nZS12ZXJzaW9uLXN0ZGVyci50eHRVVAUAA/RSxVl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADHWTZLgBgNpqcAAADSAAAAMgAYAAAAAAABAAAApIGVcBcAc3RvcmFnZS93ZWJzcWwv
Y2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LXN0ZGVyci50eHRVVAUAA/VSxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADHWTZLvWxBxa0AAACkAQAANAAYAAAAAAABAAAApIGocRcAc3RvcmFnZS93
ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtc3RkZXJyLnR4dFVUBQAD9VLFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAMdZNkuAGA2mpwAAANIAAAApABgAAAAAAAEAAACkgcNyFwBz
dG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQtc3RkZXJyLnR4dFVUBQAD9lLFWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAMdZNkuAGA2mpwAAANIAAAAqABgAAAAAAAEAAACkgc1zFwBzdG9y
YWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLXN0ZGVyci50eHRVVAUAA/ZSxVl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADHWTZLgBgNpqcAAADSAAAAMgAYAAAAAAABAAAApIHYdBcAc3RvcmFn
ZS93ZWJzcWwvZXhlY3V0ZS1zcWwtcm93c0FmZmVjdGVkLXN0ZGVyci50eHRVVAUAA/ZSxVl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADHWTZLgBgNpqcAAADSAAAAPwAYAAAAAAABAAAApIHrdRcA
c3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1zdGRl
cnIudHh0VVQFAAP2UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyVk2S4AYDaanAAAA0gAA
AC4AGAAAAAAAAQAAAKSBC3cXAHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLXN0
ZGVyci50eHRVVAUAA/lSxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADJWTZLvWxBxa0AAACk
AQAAPwAYAAAAAAABAAAApIEaeBcAc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdh
cmJhZ2UtY29sbGVjdGlvbi1zdGRlcnIudHh0VVQFAAP5UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAyVk2S11gFnGwAAAAdgIAAEQAGAAAAAAAAQAAAKSBQHkXAHN0b3JhZ2Uvd2Vic3FsL211
bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1zdGRlcnIudHh0VVQFAAP5
UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyVk2S4AYDaanAAAA0gAAAC8AGAAAAAAAAQAA
AKSBbnoXAHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1zdGRlcnIudHh0VVQF
AAP5UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyVk2S4AYDaanAAAA0gAAACgAGAAAAAAA
AQAAAKSBfnsXAHN0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLXN0ZGVyci50eHRVVAUAA/pS
xVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADJWTZLvWxBxa0AAACkAQAASAAYAAAAAAABAAAA
pIGHfBcAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAAP6UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
yVk2S/8hL92yAAAASAMAADkAGAAAAAAAAQAAAKSBtn0XAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0
YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stc3RkZXJyLnR4dFVUBQAD+lLFWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMlZNkuAGA2mpwAAANIAAAA1ABgAAAAAAAEAAACkgdt+FwBzdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24tc3RkZXJyLnR4dFVUBQAD+lLFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAMpZNkuAGA2mpwAAANIAAAA0ABgAAAAAAAEAAACkgfF/FwBz
dG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWV4cGFuZC1xdW90YS1zdGRlcnIudHh0VVQFAAP7
UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAylk2S0+c45gKAQAAuAIAADkAGAAAAAAAAQAA
AKSBBoEXAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tc3Rk
ZXJyLnR4dFVUBQAD+1LFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMpZNku9bEHFrQAAAKQB
AABFABgAAAAAAAEAAACkgYOCFwBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRy
YW5zYWN0aW9uLWluLXByb2dyZXNzLXN0ZGVyci50eHRVVAUAA/tSxVl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADKWTZLgBgNpqcAAADSAAAAOQAYAAAAAAABAAAApIGvgxcAc3RvcmFnZS93ZWJz
cWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1zdGRlcnIudHh0VVQFAAP8UsVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAylk2S11gFnGwAAAAdgIAAEcAGAAAAAAAAQAAAKSByYQX
AHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dl
dGhlci1zdGRlcnIudHh0VVQFAAP8UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAylk2S71s
QcWtAAAApAEAAEAAGAAAAAAAAQAAAKSB+oUXAHN0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rp
b25zLXJ1bm5pbmctY29uY3VycmVudGx5LXN0ZGVyci50eHRVVAUAA/xSxVl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADLWTZLgBgNpqcAAADSAAAAKAAYAAAAAAABAAAApIEhhxcAc3RvcmFnZS93
ZWJzcWwvc3FsLWRhdGEtdHlwZXMtc3RkZXJyLnR4dFVUBQAD/VLFWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAMtZNku9bEHFrQAAAKQBAABBABgAAAAAAAEAAACkgSqIFwBzdG9yYWdlL3dlYnNx
bC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUBQAD
/VLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMtZNkuAGA2mpwAAANIAAAAyABgAAAAAAAEA
AACkgVKJFwBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stc3RkZXJyLnR4
dFVUBQAD/lLFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMtZNku9bEHFrQAAAKQBAABDABgA
AAAAAAEAAACkgWWKFwBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAAP+UsVZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAzFk2S4AYDaanAAAA0gAAACoAGAAAAAAAAQAAAKSBj4sXAHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nl
c3MtY2FsbGJhY2stc3RkZXJyLnR4dFVUBQAD/1LFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AMtZNkuAGA2mpwAAANIAAABDABgAAAAAAAEAAACkgZqMFwBzdG9yYWdlL3dlYnNxbC9zdWNjZXNz
LWNhbGxiYWNrLXdoZW4tcGFnZS1kZWZlcnMtbG9hZGluZy1zdGRlcnIudHh0VVQFAAP+UsVZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzFk2S4AYDaanAAAA0gAAACkAGAAAAAAAAQAAAKSBvo0X
AHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci1zdGRlcnIudHh0VVQFAAMAU8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAzFk2S4AYDaanAAAA0gAAAD4AGAAAAAAAAQAAAKSByI4XAHN0
b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1zdGRlcnIu
dHh0VVQFAAMAU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzFk2S71sQcWtAAAApAEAAD0A
GAAAAAAAAQAAAKSB548XAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLXN0ZGVyci50eHRVVAUAAwBTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADN
WTZLvWxBxa0AAACkAQAAQwAYAAAAAAABAAAApIELkRcAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUBQADAVPFWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAM1ZNkuAGA2mpwAAANIAAAA0ABgAAAAAAAEAAACkgTWSFwBz
dG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1zdGRlcnIudHh0VVQFAAMB
U8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzVk2S4AYDaanAAAA0gAAAC8AGAAAAAAAAQAA
AKSBSpMXAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXByb3RvdHlwZS1zdGRlcnIudHh0VVQF
AAMCU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzVk2S71sQcWtAAAApAEAAEUAGAAAAAAA
AQAAAKSBWpQXAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUBQADAlPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
ABJaNksAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQYaVFwB3ZWJydGMvVVQFAAODU8VZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAGFo2SwAAAAAAAAAAAAAAABMAGAAAAAAAAAAQAO1Bx5UXAHdl
YnJ0Yy9kYXRhY2hhbm5lbC9VVAUAA5BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASWjZL
ss+ei7QAAABsAwAAIwAYAAAAAAABAAAApIEUlhcAd2VicnRjL2RhdGFjaGFubmVsL2Jhc2ljLXN0
ZGVyci50eHRVVAUAA4RTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASWjZLEK81deEAAABu
AQAAJwAYAAAAAAABAAAApIEllxcAd2VicnRjL2RhdGFjaGFubmVsL2Jhc2ljLXRjcC1zdGRlcnIu
dHh0VVQFAAODU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAElo2SztXgBJCAAAAfgAAACQA
GAAAAAAAAQAAAKSBZ5gXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9iaW5hcnktc3RkZXJyLnR4dFVUBQAD
hFPFWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABJaNks7V4ASQgAAAH4AAABAABgAAAAAAAEA
AACkgQeZFwB3ZWJydGMvZGF0YWNoYW5uZWwvYnVmZmVyZWRBbW91bnRMb3dUaHJlc2hvbGQtZGVm
YXVsdC1zdGRlcnIudHh0VVQFAAOEU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE1o2Szdb
C0WMAAAAZgMAACYAGAAAAAAAAQAAAKSBw5kXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9jcmVhdGlvbi1z
dGRlcnIudHh0VVQFAAOFU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE1o2SzqRTCU+AAAA
PwAAAC8AGAAAAAAAAQAAAKSBr5oXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1ldmVu
dC1zdGRlcnIudHh0VVQFAAOGU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE1o2S7ZxRph5
AAAAxwAAACwAGAAAAAAAAQAAAKSBVpsXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1n
Yy1zdGRlcnIudHh0VVQFAAOGU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE1o2SztXgBJC
AAAAfgAAAC8AGAAAAAAAAQAAAKSBNZwXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1z
dGF0cy1zdGRlcnIudHh0VVQFAAOGU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFFo2SztX
gBJCAAAAfgAAADIAGAAAAAAAAQAAAKSB4JwXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNl
LWNhbmRpZGF0ZS1zdGRlcnIudHh0VVQFAAOHU8VZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
FFo2S6lekljHAAAAYQEAACsAGAAAAAAAAQAAAKSBjp0XAHdlYnJ0Yy9kYXRhY2hhbm5lbC9tdWx0
aS1jaGFubmVsLXN0ZGVyci50eHRVVAUAA4dTxVl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAY
WjZLZIk4WO0BAAC4zgAAMgAYAAAAAAABAAAApIG6nhcAd2VicnRjL2RhdGFjaGFubmVsL211bHRp
cGxlLWNvbm5lY3Rpb25zLXN0ZGVyci50eHRVVAUAA5BTxVl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABiWjZLalT397PPAwC8510AGQAYAAAAAAABAAAApIEToRcAd3B0d2tfcHJvY2Vzc19sb2cu
b3V0LnR4dFVUBQADF1TFWXV4CwABBPUBAAAEFAAAAFBLBQYAAAAAdwJ3Ak8vAQAZcRsAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321588</attachid>
            <date>2017-09-22 13:44:18 -0700</date>
            <delta_ts>2017-09-24 15:57:50 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>152835</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyMzI5KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNjggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7Cisg
ICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRl
cm5hdGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgp
IHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3Bl
cnR5KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVy
biB0aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAg
ICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAg
fQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBw
KSB7CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xl
dCBhcnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFy
ci5wdXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0
IGEgb2YgYXJyKSB7CisgICAgcHJpbnQoIlNldHRpbmcgYWx0ZXJuYXRlIHByb3RvIikKKyAgICBh
Ll9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7
ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHByaW50KCJUZXN0aW5n
IG51bGwgY2FzZSIpOworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2Zv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgcHJpbnQoIlNldHRpbmcgYWx0ZXJuYXRlIHByb3RvMiIp
CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxp
ZGF0ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIy
Nyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0
aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNv
ZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0
ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJv
Z3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA2MSw2ICsxMDYxLDcgQEAKIAkJNzkxOUI3ODAx
RTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGls
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5
MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBK
SVRNYXRoSUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Nzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAv
KiBHZXRQdXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJz
QnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNC
eUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NE
NjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5OSw2ICszNTAwLDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1
NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKSVRNYXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRF
RUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2lu
TWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFw
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYw
MyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNE
MUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5
RUUgLyogR2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQ
dXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYw
MEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBo
Q29sb3JpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM0MSw2ICs3MzQ0
LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5o
ICovLAogCQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5j
cHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9u
LmggKi8sCisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmNwcCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZs
YWdzLmNwcCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdz
LmggKi8sCiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3Bw
ICovLApAQCAtODUyOSw2ICs4NTM0LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQg
LyogSW50bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFC
NEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4
NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
ci5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJ
bnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9u
IDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9O
QU1FUwogCiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUg
eyAiUHJpdmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5
bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAi
UHJpdmF0ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsK
IAogfSAvLyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAy
MjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIwMiw2ICsyMDIsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMK
IAogZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFt
ZTsKK2V4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5U
UlkobmFtZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5p
bXBsKCksICZtXyMjbmFtZSk7CkBAIC0yMjYsNiArMjI3LDcgQEAgcHVibGljOgogICAgICAgICBK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklU
SUFMSVpFX0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVO
YW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3lt
Ym9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbElt
cGwmPihTeW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAg
ICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9U
T19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAg
LTIzNCw2ICsyMzYsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19U
T19QUklWQVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xs
YXJWTVByaXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJs
aWNUb1ByaXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2
YXRlTmFtZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJv
dG8pOworICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMt
PnVuZGVyc2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsK
ICAgICB9CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJ
ZGVudGlmaWVyJikgY29uc3Q7CkBAIC0yNDYsNiArMjUwLDcgQEAgcHVibGljOgogICAgIEpTQ19D
T01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVf
QlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xs
YXJWTVB1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5k
ZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90
b1ByaXZhdGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRp
ZmllcjsKQEAgLTI1NCw2ICsyNTksNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6
SWRlbnRpZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFz
aE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRp
ZmllclJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJs
aWNUb1ByaXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFw
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNw
cAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Fj
Y2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNSArNDksMTggQEAKICNpbmNsdWRl
ICJTdXBlclNhbXBsZXIuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKIAorI2luY2x1
ZGUgIk1hY3JvQXNzZW1ibGVyUHJpbnRlci5oIgorCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNw
YWNlIEFjY2Vzc0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFs
c2U7CiB9CiAKLUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nl
c3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFp
biBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9vZmZz
ZXQob2Zmc2V0KQorICAgICwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbihwcm90b3R5cGVBY2Nlc3ND
aGFpbikKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBzdHJ1Y3R1
cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0OwpAQCAtMTUxLDYgKzE1NCw5
IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sKICAgICBpZiAodmlh
UHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBz
d2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdM
ZW5ndGg6CkBAIC0yMzAsNiArMjM2LDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIAogICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQogICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwog
CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWluID0gIiwgbV9wcm90b3R5
cGVBY2Nlc3NDaGFpbik7CisKICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAgICAg
ICAgIG91dC5wcmludChjb21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAoIW1f
Y29uZGl0aW9uU2V0LmlzRW1wdHkoKSkKQEAgLTI0Myw2ICsyNTIsMTAgQEAgYm9vbCBBY2Nlc3ND
YXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAh
SGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4u
Y2hhaW4oKSkgeworICAgICAgICBpZiAoIUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJl
U3RpbGxMaXZlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3Nvcigp
KSB7CkBAIC0yNzMsNiArMjg2LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0
aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0
dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkpCisgICAgICAgIHJlc3VsdCAmPSBz
dHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0b3IpOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsK
ICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJl
bnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArMzg4LDY0IEBAIHZv
aWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDog
ewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJv
eHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0Nl
bGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUo
KSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkp
IHsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJHZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEi
KTsKKyAgICAgICAgICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVj
a1xuIik7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0
Y2hHUFI7CisgICAgICAgICAgICBqaXQubW92ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNz
R1BSKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKVtpXTsKKyAgICAg
ICAgICAgICAgICBib29sIGF0RW5kID0gaSArIDEgPT0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5j
aGFpbigpLnNpemUoKTsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAg
ICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0Nh
bGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAg
ICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBN
aXNzICYmICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09m
ZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVP
ZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JB
Y2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BS
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9PUFM6IEkgZG9uJ3QgdGhpbmsgdGhpcyBp
cyBuZWVkZWQgaWYgd2UgdHJhbnNpdGlvbiBvbiBzZXR0aW5nIHRoZSBwcm90b3R5cGUuCisgICAg
ICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxs
SGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYXNPYmplY3QocHJv
dG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0
dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAg
aml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwg
YmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5h
cHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIs
IENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsgLy8gT09QUzogdGhpcyBp
c24ndCBuZWVkZWQgaWYgd2Ugc3RpbGwgdHJhbnNpdGlvbiBvbiBzZXR0aW5nIG91ciBwcm90b3R5
cGUuCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0g
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAg
ICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICBpZiAodmlhUHJveHkoKSkg
eworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5v
dEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJh
c2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUp
KSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAg
ICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJy
YW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90
RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2Ny
YXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0
cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWws
CisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAg
ICAgfSB9OwpAQCAtNDYzLDYgKzUxNyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBs
KEFjY2Vzc0dlbmUKICAgICAgICAgcmV0dXJuOwogCiAgICAgY2FzZSBNaXNzOgorICAgICAgICAv
LyBPT1BTOgogICAgICAgICBqaXQubW92ZVRydXN0ZWRWYWx1ZShqc1VuZGVmaW5lZCgpLCB2YWx1
ZVJlZ3MpOwogICAgICAgICBzdGF0ZS5zdWNjZWVkKCk7CiAgICAgICAgIHJldHVybjsKQEAgLTUw
NCwxMyArNTU5LDE3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUK
ICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBi
YXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkg
ewotICAgICAgICAgICAgaml0Lm1vdmUoCi0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQ
Uik7Ci0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKLSAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAg
ICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKSB7CisgICAg
ICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsgLy8gdmlhIGdlbmVyYXRlV2l0
aEd1YXJkISBPT1BTOiB0aGlzIGlzIHVnbHkuCisgICAgICAgICAgICAvL2ppdC5wcmludCgiRG9p
bmcgcG9seSBwcm90byBsb2FkIVxuIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBp
ZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIGppdC5tb3Zl
KAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJu
YXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQ
UiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBiYXNl
Rm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfQogCiAgICAgICAgIEdQUlJl
ZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIGlmIChtX3R5cGUgIT0g
Q3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yR2V0dGVyICYmIG1f
dHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JTZXR0
ZXIpIHsKQEAgLTU2OSw2ICs2MjgsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChB
Y2Nlc3NHZW5lCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICAvL2lmIChtX3R5
cGUgPT0gR2V0dGVyICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ubV9oYXNQb2x5UHJvdG8pCisg
ICAgICAgIC8vICAgIGppdC5wcmludCgiRG9pbmcgZ2V0dGVyIGNhbGwgZm9yIHBvbHkgcHJvdG9c
biIpOworCiAgICAgICAgIC8vIFN0dWZmIGZvciBjdXN0b20gZ2V0dGVycy9zZXR0ZXJzLgogICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkNhbGwgb3BlcmF0aW9uQ2FsbDsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgog
I2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewpAQCAtMTg2LDggKzE4NywxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5B
Y2Nlc3NDYXNlKCk7CiAKKyAgICBjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgcHJvdG90eXBl
QWNjZXNzQ2hhaW4oKSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOyB9CisK
IHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0Jik7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYsIFByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CiAg
ICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWZhdWx0OwogICAgIEFjY2Vzc0Nh
c2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNl
dFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQpAQCAtMjI3LDYgKzIzMCw4IEBAIHBy
aXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIFByb3RvdHlw
ZUFjY2Vzc0NoYWluIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJ
ZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5
IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAg
IGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAg
ICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5
SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3Mu
cHJvdG90eXBlQWNjZXNzQ2hhaW4oKS51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwog
ICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJl
dmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5h
bWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29s
IHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAg
IDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
YWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJh
c2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAg
bV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7
CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFs
PERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAg
ICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02Myw3ICs2Myw3IEBAIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25h
bFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9u
YWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgIHJlc3Vs
dC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFj
Y2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQp
OwpAQCAtNzQsNyArNzQsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0
dGVyCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09
IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNj
ZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
PiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJh
c2UpKTsKKyAgICAvLyBPT1BTOiBkbyBzb21ldGhpbmcgaGVyZQorICAgIHN0ZDo6dW5pcXVlX3B0
cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nh
c2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxz
ZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpKTsKICAg
ICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJl
dHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDExICs0OSw4IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKICAg
ICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UgPSBudWxscHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90
YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgUHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmMgPSBudWxscHRyLAorICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBu
dWxscHRyLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxs
b3B0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAg
ICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKICAgICAgICAg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYyA9IG51bGxwdHIsCkBAIC02Nyw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBj
dXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9
CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBl
QWNjZXNzQ2hhaW4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9m
aWxlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAt
NDYsOCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rp
b25BbGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCgh
bV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6
IEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0
aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlv
bklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6OmluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxs
b2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5l
Q2FwYWNpdHkpOworCisgICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIGlmIChjb25z
dHJ1Y3RvcikgeworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb25z
dHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisgICAgICAgIGlmIChleGVjdXRhYmxlLT5tX2NvbnN0
cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZSkgeworICAgICAgICAgICAgZGF0YUxvZ0xuKCIt
LS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiRXhlY3V0YWJsZTog
IiwgUmF3UG9pbnRlcihleGVjdXRhYmxlKSwgIiBoYXMgYmVlbiBjb25zdHJ1Y3RlZCBtb3JlIHRo
YW4gb25jZS4gUHJvdG90eXBlIHN0cnVjdHVyZTogIiwgUmF3UG9pbnRlcihwcm90b3R5cGUtPnN0
cnVjdHVyZSh2bSkpKTsKKyAgICAgICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZHVt
cChXVEY6OmRhdGFGaWxlKCkpOworICAgICAgICAgICAgZGF0YUxvZ0xuKCJcbi0tLS0tLS0tLS0t
LS0tLS0tLSIpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPm1fY29uc3Ry
dWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlICYmIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+
aGFzUmFyZURhdGEoKSkgeworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
cHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5wb2x5UHJvdG9TdHJ1Y3R1cmUo
dm0pKSB7CisgICAgICAgICAgICAgICAgLy9kYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSIpOworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJhbHJlYWR5IGhhdmUg
cG9seSBwcm90byBzdHJ1Y3R1cmUgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3Ry
dWN0b3ItPmpzRXhlY3V0YWJsZSgpKSk7CisgICAgICAgICAgICAgICAgLy9kYXRhTG9nTG4oY29u
c3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpLT5zb3VyY2UoKS52aWV3KCkpOworICAgICAgICAgICAg
ICAgIC8vc3RydWN0dXJlLT5kdW1wKFdURjo6ZGF0YUZpbGUoKSk7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7Cisg
ICAgICAgICAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2Uu
YWxsb2NhdG9yRm9yKEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5
KSk7CisKKyAgICAgICAgICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICAgICAg
ICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAg
ICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBPT1BTOiBQ
cm9iYWJseSBjYWxsIGludG8gYSBkaWZmZXJlbnQgcHJvdG90eXBlTWFwIGZ1bmN0aW9uIGhlcmUg
dGhhdCBtYWtlcyBwb2x5IHByb3RvLCB0aGF0IHdheSwKKyAgICAgICAgLy8gbm8gb25lIGVsc2Ug
Y2FuIGFjY2lkZW50YWxseSBnZXQgYSBwb2x5IHByb3RvIHN0cnVjdHVyZS4KKyAgICAgICAgU3Ry
dWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1
cmVSYXJlRGF0YSh2bSk7CisgICAgICAgIGlmIChyYXJlRGF0YS0+bmVlZHNJbmZlcnJlZENvbnN0
cnVjdG9yKCkpCisgICAgICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rv
cih2bSk7CisKKyAgICAgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3Ig
PSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSkgeworICAgICAgICAgICAgaW5mZXJyZWRD
b25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJl
ZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworICAgICAgICAgICAg
aXNQb2x5UHJvdG8gPSBpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSAm
JiBleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZTsKKyAgICAg
ICAgfQorICAgICAgICAvL2lmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyAgICBkYXRhTG9n
TG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIkdv
aW5nIHBvbHkgcHJvdG8gZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3It
PmpzRXhlY3V0YWJsZSgpKSk7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbihjb25zdHJ1Y3Rvci0+
anNFeGVjdXRhYmxlKCktPnNvdXJjZSgpLnZpZXcoKSk7CisgICAgICAgIC8vICAgIGRhdGFMb2dM
bigiV2hpY2ggaGFzIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoY29uc3RydWN0b3ItPmpzRXhl
Y3V0YWJsZSgpKSk7CisgICAgICAgIC8vfQorCisgICAgICAgIGV4ZWN1dGFibGUtPm1fY29uc3Ry
dWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlLnNldCh2bSwgZXhlY3V0YWJsZSwgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgLy8gT09QUzogd2Uga25vdyBoZXJlIGlmIHdlJ3Jl
IGRvaW5nIHNvbWV0aGluZyB0aGF0J3MgcG9seSBwcm90by4gV2Ugc2hvdWxkIHByb2JhYmx5IGNv
bnZleSB0aGF0CisgICAgICAgIC8vIGluZm9ybWF0aW9uIGhlcmUgYW5kIGFsc28gY29udmV5IGlm
IHdlIGtub3cgdGhhdCB3ZSd2ZSByZXNlcnZlZCBhbiBpbmxpbmUgc3BhY2UgZm9yIHRoZSBwcm90
by4KKyAgICB9CisKKyAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKSkgeworICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3Rh
dGljIGFuYWx5c2lzLgorICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxl
RGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZl
cnJlZElubGluZUNhcGFjaXR5KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSBy
YXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAg
ICAgICAgICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhh
cHBlbiB3aXRoIGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAg
IH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1
bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMg
YXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAg
ICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0
eSgpOworICAgICAgICB9CisKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5OworICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwg
b3IgbGFyZ2Ugb2JqZWN0LgorICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5l
Q2FwYWNpdHk7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3Rv
KSB7CisgICAgICAgIC8vIE9PUFM6IGxldHMgY29tbXVuaWNhdGUgdGhpcyB0byBzdHJ1Y3R1cmUg
Y3JlYXRlLiBJdCdzIGp1c3QgYXNzZXJ0aW5nIGl0IGdldHMgYW4gaW5saW5lIHNsb3QuCisgICAg
ICAgICsraW5saW5lQ2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4o
aW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAg
IH0KKworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVD
YXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNp
emVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGlu
ZUNhcGFjaXR5KTsKKyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFj
ZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRhZ2Ug
b2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KKyAg
ICBpZiAoYWxsb2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2Vs
bFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4p
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5lQ2Fw
YWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAg
IH0KKworICAgIC8vIE9PUFM6IG5lZWQgdG8gbWFrZSB0aGlzIEFQSSBtb3JlIGNsZWFyLgorICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0
dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwg
aXNQb2x5UHJvdG8pOworCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2Vl
cyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RG
OjpzdG9yZVN0b3JlRmVuY2UoKTsKKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAg
IG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBh
Y2l0eSA9IGlubGluZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZTo6cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90
b3R5cGUpCit7CisgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgp
LT5vYmplY3RQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291
bnQgPSAwOworICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJv
cGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNs
dWRlKTsKKyAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0
cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQ
cm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVj
dG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkg
eworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3Bl
cnR5TmFtZVZlY3RvcltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFu
ZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVu
LgorICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0
dXJuIGNvdW50OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5o
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAg
cHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAot
ICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAg
ICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0
eSk7Ci0KLSAgICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAo
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBh
Y2l0eSgpKSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQg
b24gc3RhdGljIGFuYWx5c2lzLgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSAr
PSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAg
ICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBF
bXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVy
IGp1c3QgZGlkbid0Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVy
IGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAg
ICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAg
ICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRv
bid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0
IGludG8gYSBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNp
dHk7Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5v
cm1hbCBvciBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVy
cmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAg
ICAgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNp
emUoaW5saW5lQ2FwYWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9
IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAg
ICAgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJs
ZSBpbiB0aGUgc2l6ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAg
ICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUp
IC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBh
Y2l0eSArPSBzbG9wOwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0
eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0
cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHkpOwotCi0gICAgICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhl
IHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6
OnN0b3JlU3RvcmVGZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwot
ICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBt
X2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlh
bGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIs
IEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpT
RnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSgpCiAgICAgewpAQCAtMTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKIAot
ICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVj
dCogcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUt
Pmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAw
OwotCi0gICAgICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5
IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJv
bHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1
Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFy
cmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6
UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJh
eS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNW
YWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3Jb
aV0pOwotCi0gICAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3Vh
bGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAg
ICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybiBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0
UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2Vk
QWxsb2NhdG9yKiBtX2FsbG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFz
aWVyIGZvciBnZW5lcmF0ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0
cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyMzI5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDExICsyMDQsMTUgQEAgT2JqZWN0UHJv
cGVydHlDb25kaXRpb24gZ2VuZXJhdGVDb25kaXRpbwogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZTogeworICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJv
cGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b246OmFic2VuY2UoCiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3Qt
PnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlT2ZTZXRFZmZlY3Q6IHsK
KyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAg
ICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlT2ZTZXRFZmZlY3QoCiAgICAgICAgICAgICB2
bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMjU4LDYgKzI2MiwxMSBAQCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpCiAgICAgICAgICAgICAgICAgZGF0YUxv
ZygiSXQncyBhIHByb3h5LCBzbyBpbnZhbGlkLlxuIik7CiAgICAgICAgICAgICByZXR1cm4gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKICAgICAgICAgfQorCisgICAgICAg
IGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8g
T09QUzogV2UgbmVlZCBzb21lIHN0b3J5IGhlcmUgb2YgYW4gaW50ZXJsZWF2aW5nLgorICAgICAg
ICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5
Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNl
cnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdl
IGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGlu
dGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAg
ICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBp
ZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQg
QEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAg
ICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgp
LCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVz
cGFjZSBKU0MgeworCitQcm90b3R5cGVBY2Nlc3NDaGFpbjo6UHJvdG90eXBlQWNjZXNzQ2hhaW4o
SlNPYmplY3QqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICAvLyBPT1BT
OiBjb25zaWRlciBET00gcHJveHkgaGVyZS4gQWxzbywgcHJveHkgaW4gdGhlIHByb3RvdHlwZSBj
aGFpbj8KKworICAgIEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFz
ZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxw
dHIgOiBzbG90LnNsb3RCYXNlKCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB3
aGlsZSAodHJ1ZSkgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKSB7CisgICAg
ICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpIHsKKyAgICAgICAgICAg
ICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1
cmUodm0sIGN1cnJlbnQpOworICAgICAgICB9CisKKyAgICAgICAgbV9jaGFpbi5hcHBlbmQoc3Ry
dWN0dXJlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAg
IGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAg
Ly8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3Rv
dHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90
IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hh
aW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAg
ICAvLyBwb2x5IHByb3RvLgorICAgICAgICBtX3VzZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShjdXJyZW50KTsgLy8gbWF5YmUgcHJvdG90eXBlIGZvciBs
b29rdXAgaGVyZT8KKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisK
KyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxkIHRo
aXMgYWN0dWFsbHkgY29tZSB1cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVlZCB0
byBjb25zaWRlci4gSSB0aGluayBpdCBkb2VzIHNpbmNlIGJ1aWxkaW5nIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0CisgICAgICAgIC8vIHNlZW1zIHRvIGFzc3VtZSB0aGlzIGlzIHBvc3NpYmxl
LgorICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgUHJvdG90eXBl
QWNjZXNzQ2hhaW46OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJp
bnQoIlByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAg
ICAgb3V0LnByaW50KCIgaXMgaW52YWxpZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGlmICh1c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludCgiIHVzZXNQb2x5UHJvdG8i
KTsKKyAgICBvdXQucHJpbnQoIjogWyIpOworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
OiBtX2NoYWluKSB7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgIH0KKyAgICBv
dXQucHJpbnQoIl0iKTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlT
bG90OworY2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQoUHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCitwdWJs
aWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisgICAg
UHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0Owor
ICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKEpTT2JqZWN0KiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNs
b3QmKTsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3BlcmF0b3I9KFByb3RvdHlwZUFjY2Vz
c0NoYWluJiYpID0gZGVmYXVsdDsKKworICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJu
IG1faXNWYWxpZDsgfQorCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QgeyByZXR1cm4g
bV91c2VzUG9seVByb3RvOyB9CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWlu
KCkgY29uc3QgeyByZXR1cm4gbV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0OworCisgICAgdm9pZCBjbGVhckNoYWluKCkgeyBtX2NoYWluLmNsZWFyKCk7
IH0KKworcHJpdmF0ZToKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVk
ZXMgYmFzZSdzIHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSBy
ZW1vdmVkLgorICAgIGJvb2wgbV91c2VzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
aXNWYWxpZCB7IHRydWUgfTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIy
MjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3ND
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2
aWFQcm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1z
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNy
ZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7
CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRH
ZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5
YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNl
dCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flBy
b3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAg
ICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQog
ICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQ
cm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAog
cHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsK
KyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4pOwogCiBwcml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJ
KHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg0OCw2ICszODQ4LDkgQEAgUmVn
aXN0ZXJJRCogQ2xhc3NFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKAogCiAgICAgICAgIGdlbmVyYXRv
ci5lbWl0RGlyZWN0UHV0QnlJZChjb25zdHJ1Y3Rvci5nZXQoKSwgZ2VuZXJhdG9yLnByb3BlcnR5
TmFtZXMoKS51bmRlcnNjb3JlUHJvdG8sIHN1cGVyY2xhc3MuZ2V0KCksIFByb3BlcnR5Tm9kZTo6
VW5rbm93bik7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0TGFiZWwoc3VwZXJjbGFzc0lzTnVsbExh
YmVsLmdldCgpKTsKKworICAgICAgICAvLyBPT1BTOiB0aGlzIG1ha2VzIGl0IHNvIHRoYXQgYW55
IGRlcml2ZWQgY2xhc3MgcHJvdG90eXBlIG9iamVjdCB3aWxsIGFsd2F5cyBnZXQgYSBuZXcgc3Ry
dWN0dXJlCisgICAgICAgIC8vIGlmIG11bHRpcGx5IGNvbnN0cnVjdGVkIGJlY2F1c2Ugd2UgZG9u
J3QgY2FjaGUgcHJvdG90eXBlIHRyYW5zaXRpb25zLgogICAgICAgICBnZW5lcmF0b3IuZW1pdERp
cmVjdFB1dEJ5SWQocHJvdG90eXBlLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVu
ZGVyc2NvcmVQcm90bywgcHJvdG9QYXJlbnQuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7
CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MzMsNiArMzcz
Myw4IEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRo
ZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBw
cm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFy
ZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVT
ZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhh
dCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9Q
dXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiB0aGlzIG5lZWRz
IGF0dGVudGlvbgogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50
LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAg
ICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMw
OCw2ICs0MzEwLDggQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAog
ICAgICAgICB9CiAKICAgICAgICAgY2FzZSBvcF9jcmVhdGVfdGhpczogeworICAgICAgICAgICAg
Ly8gT09QUzogdGhpbmsgdGhyb3VnaCB0aGlzIGNvZGUuCisKICAgICAgICAgICAgIGludCBjYWxs
ZWVPcGVyYW5kID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAg
IE5vZGUqIGNhbGxlZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkBA
IC00MzMwLDEyICs0MzM0LDE0IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlvbikgewogICAgICAgICAgICAgICAgIGlmIChG
dW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmpl
Y3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0
Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwg
bGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFw
aChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxS
ZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdP
YmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJh
cmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9p
bnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxs
ZWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcElu
Zm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZp
c2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTc4Niw3ICsxNzg2LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0
U3ByZWFkKE5vZGUqIG5vZGUsIAogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9
IGdsb2JhbE9iamVjdEZvcihub2RlLT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQ
cm90b3R5cGUoKTsKICAgICBib29sIGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0
dXJlLmZvckVhY2goWyZdIChSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAg
ICBhbGxHb29kICY9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5
cGUKKyAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisg
ICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90
eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAg
ICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVy
YXRvclN5bWJvbC5pbXBsKCkpID09IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1
Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDQsNyArMjQ0LDE1IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVh
dGVUaGkKICAgICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewog
ICAgICAgICBhdXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3Rvcikt
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVj
dChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkp
OworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIk1h
ZGUgcG9seSBwcm90byBvYmplY3QgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoanNDYXN0
PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPmpzRXhlY3V0YWJsZSgpKSk7CisKKyAgICAgICAg
ICAgIC8vIE9PUFM6IG1ha2UgdGVzdCBmb3IgcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uLCBkb24n
dCByZWx5IG9uIENoYWtyYSB0ZXN0cy4KKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0
cnVjdG9yKS0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29u
c3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYwLDYgKzQzNjAsOCBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIC8vIHRoZW4gd2Ug
c3BlY3VsYXRlIGJlY2F1c2Ugd2Ugd2FudCB0byBnZXQgcmVjb21waWxlZCBpZiBpdCBpc24ndCAo
c2luY2UKICAgICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2Qgc3RhcnQgdGFraW5nIHNsb3cgcGF0aCBh
IGxvdCkuCiAgICAgICAgIAorICAgICAgICAvLyBPT1BTOiB3ZSBzaG91bGQgZ28gc2xvdyBwYXRo
IGhlcmUgZm9yIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICAKICAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgY2FsbGVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BS
VGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IGFsbG9jYXRvcih0
aGlzKTsKQEAgLTQzODQsNyArNDM4NiwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRy
KE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2Fk
UHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpv
ZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93
UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxs
b2NhdG9yR1BSKSk7CisKKyAgICAgICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRlciBo
ZXJlCisgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QWRkcmVzcyhzdHJ1Y3R1cmVH
UFIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAg
c2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaEdQ
UikpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIs
IGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BS
LCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVy
OjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFy
ZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMy
MzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JDCiAgICAgbm9S
ZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQ
UlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJS
ZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBH
UFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5cGUgaXMgYW4g
b2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwg
bV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5LDggKzMyNDks
MTYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAg
cGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6
OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0Nl
bGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2JqZWN0VHlwZSkp
OwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBz
Y3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2Vs
bFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVy
ZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAg
ICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3Ry
dWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJl
Zyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVn
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8g
bm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNo
M1JlZykpOworICAgIC8vIE9PUFM6IHRoaXMgaXMgd3JvbmcgaWYgd2UgYWxsb3cgb3V0IG9mIGxp
bmUgb2Zmc2V0cyBmb3IgcG9seSBwcm90by4KKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihz
Y3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6
QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdo
dCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAg
IG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywg
c2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9q
aXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBl
UmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVl
UmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg5
LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAg
U3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAg
ICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBz
Y3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAg
ICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAg
ICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcg
c2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVn
ID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAg
ICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpA
QCAtMzM5NCw3ICszNDA0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNl
T2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0g
ICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5
cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNl
T2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2Ny
YXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9q
aXQpOwogCkBAIC0zNDA3LDEzICszNDE3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAg
ICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gz
KHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQ
UlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hS
ZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdw
cigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAg
IGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcs
IHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVj
dChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywg
c2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9k
ZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJv
b2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2Rl
KiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBH
UFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lk
IGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJl
ZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRj
aDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlz
aW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4NSwxMCArODg4NSwxMiBAQCBwcml2YXRlOgogICAg
ICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBM
QmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAg
IExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBM
QmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAg
TEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBM
QmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFz
aWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAg
TEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7Cisg
ICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAg
ICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGls
ZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5MDYsMTYgKzg5MDgsMjggQEAgcHJp
dmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hv
cihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1f
b3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5h
cHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9
IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0g
bV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7
CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUs
IG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5
KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwor
ICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFz
SW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURp
cmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90
eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2Fk
U3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291
dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAg
ICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFw
cy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJv
dG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5j
aChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShj
b21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90
bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFu
ZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZh
bHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0
LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCks
IHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFn
ZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAg
IG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAg
ICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3Rv
eXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0
ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNo
KAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24g
MjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5j
ZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVj
dCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3Ro
ZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91
dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2
bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3Ry
dWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVy
ZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQs
IFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9y
ZWRQcm90b3R5cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAg
emVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJl
Z1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgp
KSwgcmVnVDQpOworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUo
cmVnVDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJl
Z1QyLCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRo
aXMpOwogCkBAIC03NzAsNiArNzc1LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMo
SW5zdHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rpb25SZWcgPSByZWdUNDsKICAg
ICBSZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAgIC8vIE9PUFM6IHRoaXMgaXMg
d3Jvbmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVl
LCBjYWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgoTm90RXF1YWwsIEFkZHJlc3Mo
Y2FsbGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKEpT
RnVuY3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsZWVSZWcsIEpTRnVuY3Rp
b246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsKQEAgLTc3OCw2ICs3ODUsMTAg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIGxvYWRQdHIo
QWRkcmVzcyhyYXJlRGF0YVJlZywgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0
dXJlKCkpLCBzdHJ1Y3R1cmVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaFRlc3RQdHIoWmVy
bywgYWxsb2NhdG9yUmVnKSk7CiAKKyAgICAvLyBPT1BTLCB3ZSBjYW4gZG8gYmV0dGVyIGhlcmUh
CisgICAgbG9hZDY0KEFkZHJlc3Moc3RydWN0dXJlUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpKSwgc2NyYXRjaFJlZyk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoSWZJbnQzMihKU1Zh
bHVlUmVncyhzY3JhdGNoUmVnKSkpOworCiAgICAgbG9hZFB0cihjYWNoZWRGdW5jdGlvbiwgY2Fj
aGVkRnVuY3Rpb25SZWcpOwogICAgIEp1bXAgaGFzU2Vlbk11bHRpcGxlQ2FsbGVlcyA9IGJyYW5j
aFB0cihFcXVhbCwgY2FjaGVkRnVuY3Rpb25SZWcsIFRydXN0ZWRJbW1QdHIoSlNDZWxsOjpzZWVu
TXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2hQdHIoTm90
RXF1YWwsIGNhbGxlZVJlZywgY2FjaGVkRnVuY3Rpb25SZWcpKTsKQEAgLTgwMCw2ICs4MTEsNyBA
QCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1CiAgICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOyAvLyBkb2Vzbid0IGhhdmUgYW4gYWxsb2NhdGlvbiBwcm9maWxlCiAgICAgbGlu
a1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCAobm8gYWxsb2NhdG9yKQogICAg
IGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKGFsbG9jYXRvciBlbXB0
eSkKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkLCBzdHJ1Y3R1
cmUgaGFzIHBvbHkgcHJvdG8KICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGNhY2hlZCBmdW5j
dGlvbiBkaWRuJ3QgbWF0Y2gKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhp
cywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfY3JlYXRlX3RoaXMpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQs
NiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xv
dC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAg
ICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkg
ewpAQCAtMjU1LDIzICsyNTcsNDAgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hl
R2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nh
c3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisK
ICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCku
Z2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNV
bnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQ
cm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHBy
b3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgaWYgKEpTT2JqZWN0KiBiYXNlID0ganNE
eW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBiYXNlQ2VsbCkpIHsKKyAgICAgICAgICAgICAgICAv
LyBPT1BTOiBtYXliZSB0ZWFjaCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBhYm91dCBub24gb2JqZWN0
CisgICAgICAgICAgICAgICAgLy8gYmFzZXMuIEFkZCB0ZXN0cyBoZXJlLgorICAgICAgICAgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4oYmFzZSwgc2xv
dCk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluLmNsZWFyQ2hh
aW4oKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25k
aXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFp
bi5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiBUaGlzIG9idmlvdXNseSBp
cyBub3QgY29ycmVjdC4KICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAg
ICAgICAgICAgIH0gCisKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNl
c1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclBy
b3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMs
IHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25z
Rm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29k
ZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKIAotICAgICAgICAg
ICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9uU2V0
LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICAvLyBPT1BTOiBhcmUg
dGhlc2UgZXhwcmVzc2lvbiBlcXVpdmFsZW50PworICAgICAgICAgICAgLy9vZmZzZXQgPSBzbG90
LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRp
b24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52
YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBK
U0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjk5LDcgKzMxOCw3IEBAIHN0YXRpYyBJ
bmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAg
ICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBj
b2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6
OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZy
b21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlw
ZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBA
IC0zMTYsNyArMzM1LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJ
RAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAg
ICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xv
dC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXND
YWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAg
ICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0
ZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjYsMTAgKzc2Niw5IEBAIExMSU5U
X1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICAgICAg
ICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBwY1s2XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNE
aXJlY3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNo
YWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgQVNTRVJUKGNoYWluKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0
cnVjdHVyZUNoYWluLnNldCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNv
ZGVCbG9jaywgY2hhaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3Ry
dWN0dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0g
c3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
Y1s4XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUyMiwxMCArNTIyLDkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBi
b29sIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQor
c3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpT
T2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVy
biBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7
CisgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCBvYmplY3QpOwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3Rh
dGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50
NjRfdCBsZW5ndGgpCkBAIC02MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZh
c3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwog
ICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0Jl
T0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShzdGF0ZSwgdGhpc09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAg
ICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVP
SyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBp
bmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIu
YXBwZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0pKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8g
Z2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVl
OwogICAgICAgICAgICAgICAgIH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHku
cHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0g
YnV0dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNP
YmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3Ro
ID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAg
ICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRh
LCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkp
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBs
ZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAt
ODM1LDcgKzgzNCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YK
ICAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlT
dG9yYWdlKCk7CiAgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQog
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYg
KHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRo
aXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3Jh
Z2UudmVjdG9yKCkuZGF0YSgpOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxl
bmd0aCk7CkBAIC0xMTc0LDcgKzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhl
Y1N0YXRlKiBleGVjCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwogCi0gICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdU
eXBlKCkpICYmICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0pKSkgeworICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmlu
ZGV4aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2Up
KSkgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kp
IHsKICAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2ts
eShpKTsKICAgICAgICAgICAgIGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRl
cmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSkgeworICAgIGlmIChVTkxJS0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpKS0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVB
cnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0
b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVl
c0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3Vt
ZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1p
Z2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRo
ZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBm
b3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0
ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJn
dW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0
KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91
bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVu
dHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFt
ZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSBy
ZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVy
ZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAog
Q2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUo
RXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2Rl
IG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5l
RnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCgh
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRz
KiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxl
bmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1
bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2
bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0
cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xv
d1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIs
NiArMjQyLDE0IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAg
ICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBh
Y2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICBy
ZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJlc3Vs
dC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rv
ci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgICAgICAvL2Rh
dGFMb2dMbigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwgUmF3UG9p
bnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAgICAgIC8vZGF0YUxv
Z0xuKCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0OiAiLCBSYXdQb2ludGVyKHJlc3VsdCksICIgd2l0
aCBfX3Byb3RvX186ICIsIHByb3RvdHlwZSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiQ29u
c3RydWN0b3IgY2xhc3MgbmFtZTogIiwgY29uc3RydWN0b3ItPmNsYXNzSW5mbyh2bSktPmNsYXNz
TmFtZSwgIiBpcyBKU0Z1bmN0aW9uIGNsYXNzIGluZm86ICIsIGNvbnN0cnVjdG9yLT5jbGFzc0lu
Zm8odm0pID09IEpTRnVuY3Rpb246OmluZm8oKSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigi
LS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgfQorICAgICAgICAvL2RhdGFMb2dMbigiY3Jl
YXRlX3RoaXMgcmVzdWx0OiAiLCBKU1ZhbHVlKHJlc3VsdCkpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9y
ZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25z
dHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2Uu
Y3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9F
cnJvckluc3RhbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDcgKzExNSwxMyBAQCB2b2lk
IEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKEV4ZWNTCiAgICAgaWYgKCFtZXNzYWdlLmlz
TnVsbCgpKQogICAgICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm1lc3NhZ2Us
IGpzU3RyaW5nKCZ2bSwgbWVzc2FnZSksIERvbnRFbnVtKTsKIAotICAgIG1fc3RhY2tUcmFjZSA9
IGdldFN0YWNrVHJhY2UoZXhlYywgdm0sIHRoaXMsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFZlY3RvcjxTdGFja0ZyYW1lPj4gc3RhY2tUcmFjZSA9IGdldFN0YWNrVHJh
Y2UoZXhlYywgdm0sIHRoaXMsIHVzZUN1cnJlbnRGcmFtZSk7CisgICAgeworICAgICAgICBhdXRv
IGxvY2tlciA9IGhvbGRMb2NrKCp0aGlzKTsKKyAgICAgICAgbV9zdGFja1RyYWNlID0gV1RGTW92
ZShzdGFja1RyYWNlKTsKKyAgICB9CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7CisK
ICAgICBpZiAobV9zdGFja1RyYWNlICYmICFtX3N0YWNrVHJhY2UtPmlzRW1wdHkoKSAmJiBoYXNT
b3VyY2VBcHBlbmRlcigpKSB7CiAgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0OwogICAg
ICAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZTsKQEAgLTIwMiw3ICsyMDgsMTAgQEAgdm9pZCBFcnJv
ckluc3RhbmNlOjptYXRlcmlhbGl6ZUVycm9ySW5mbwogICAgICAgICByZXR1cm47CiAgICAgCiAg
ICAgYWRkRXJyb3JJbmZvKHZtLCBtX3N0YWNrVHJhY2UuZ2V0KCksIHRoaXMpOwotICAgIG1fc3Rh
Y2tUcmFjZSA9IG51bGxwdHI7CisgICAgeworICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2Nr
KCp0aGlzKTsKKyAgICAgICAgbV9zdGFja1RyYWNlID0gbnVsbHB0cjsKKyAgICB9CiAgICAgCiAg
ICAgbV9lcnJvckluZm9NYXRlcmlhbGl6ZWQgPSB0cnVlOwogfQpAQCAtMjIyLDkgKzIzMSwxMiBA
QCB2b2lkIEVycm9ySW5zdGFuY2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsCiAgICAgQVNTRVJUX0dD
X09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOwogICAgIEJhc2U6OnZpc2l0Q2hp
bGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7CiAKLSAgICBpZiAodGhpc09iamVjdC0+bV9zdGFj
a1RyYWNlKSB7Ci0gICAgICAgIGZvciAoU3RhY2tGcmFtZSYgZnJhbWUgOiAqdGhpc09iamVjdC0+
bV9zdGFja1RyYWNlKQotICAgICAgICAgICAgZnJhbWUudmlzaXRDaGlsZHJlbih2aXNpdG9yKTsK
KyAgICB7CisgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2soKnRoaXNPYmplY3QpOworICAg
ICAgICBpZiAodGhpc09iamVjdC0+bV9zdGFja1RyYWNlKSB7CisgICAgICAgICAgICBmb3IgKFN0
YWNrRnJhbWUmIGZyYW1lIDogKnRoaXNPYmplY3QtPm1fc3RhY2tUcmFjZSkKKyAgICAgICAgICAg
ICAgICBmcmFtZS52aXNpdENoaWxkcmVuKHZpc2l0b3IpOworICAgICAgICB9CiAgICAgfQogfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYg
KzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSgogICAgICAg
ICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3IpOwogICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsKICAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAgICB2aXNpdG9yLmFw
cGVuZCh0aGlzT2JqZWN0LT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZSk7CiB9
CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFsQ29k
ZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJs
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
RXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTczLDYgKzE3
Myw5IEBAIHB1YmxpYzoKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9uKCkg
eyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQogCisgICAgLy8gT09QUzogYWRk
IG1ldGhvZHMgZm9yIHRoaXMuCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jb25zdHJ1
Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IEV4ZWN1dGFibGVCYXNlOwogICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSgKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZp
c2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVE
YXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5
KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90
eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewot
ICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0
LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6
OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29ya2luZyBj
b3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNvbnN0IGNo
YXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNh
cGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRlcm5hbEZ1bmN0aW9uOjpj
YWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0
cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCwgU3RydWN0dXJl
KiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQoIW5ld1RhcmdldCB8fCBu
ZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3VGFyZ2V0ICYmIG5ld1Rh
cmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChiYXNlQ2xhc3MtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUgYW4gSW50ZXJuYWxG
dW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3RydWN0LgogICAgIEpT
RnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0s
IG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4Miw3ICs4ODIs
NyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBlCiAgICAgY2FzZSBB
cnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsKICAgICAgICAg
Vk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJB
WV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0p
KQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKQogICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTkxNyw3ICs5MTcsNyBA
QCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAgCiAgICAgLy8g
SWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBpbiBhbiBhYm5vcm1h
bCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGluIEFycmF5UHJvdG90
eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAoKHN0b3JhZ2UtPmhh
c0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAogICAgICAgICB8fCBz
aG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICByZXR1cm4gZmFsc2U7
CkBAIC0xMDQ4LDcgKzEwNDgsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5k
ZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBz
dGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAog
ICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhh
dmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xk
TGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAg
ICAgICAgICBKU1ZhbHVlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXMoKVtpICsgY291bnRdLmdl
dCgpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghdikpIHsKQEAgLTEwODksNyArMTA4
OSw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAg
Ly8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGlu
Z3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91
Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5
U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsK
LSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIGRvdWJsZSB2
ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKClbaSArIGNvdW50XTsKICAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpAQCAtMTQzNiw3ICsxNDM2LDcgQEAgYm9vbCBK
U0FycmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUtPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5
UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02
MSw4ICs2MSw4IEBAIGlubGluZSBib29sIEpTQXJyYXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdhdGNo
cG9pbnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBvbiBBcnJheS5wcm90b3R5cGUgYW5kIE9iamVj
dC5wcm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9mIHdhbGtpbmcgdGhlIHByb3RvdHlwZSBjaGFp
bi4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTU5MgotICAgIGlm
IChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pCi0gICAgICAg
IHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhlckFycmF5KSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzUsNiArMTM1LDcgQEAgaW5saW5lIFN0cnVjdHVyZSogZ2V0Qm91bmRGdW5j
dGlvblN0cnVjdAogICAgIC8vIGlzbid0IGFueSBnb29kIHBsYWNlIHRvIHB1dCB0aGUgc3RydWN0
dXJlIG9uIEludGVybmFsIEZ1bmN0aW9ucy4KICAgICBpZiAodGFyZ2V0SlNGdW5jdGlvbikgewog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRhcmdldEpTRnVuY3Rpb24tPnJhcmVEYXRh
KHZtKS0+Z2V0Qm91bmRGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICAvLyBPT1BTOgogICAg
ICAgICBpZiAoc3RydWN0dXJlICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gcHJv
dG90eXBlICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0KQogICAg
ICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyMzI5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5n
U3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFz
c09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBi
dXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRl
eHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRl
eHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAg
ICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7
CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6
ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVj
dHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2Ug
aWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlv
bjo6YWxsb2NhdGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVj
dCogSlNGdW5jdGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRl
KiBleGVjKQoreworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSk7CisgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAg
ICByZXR1cm4gYXNPYmplY3QocHJvdG90eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qo
dm0pLT5vYmplY3RQcm90b3R5cGUoKTsKK30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlv
bjo6YWxsb2NhdGVBbmRJbml0aWFsaXplUmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpT
T2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsK
LSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5v
YmplY3RQcm90b3R5cGUoKTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9y
Q29uc3RydWN0aW9uKHZtLCBleGVjKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9
IEZ1bmN0aW9uUmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlz
KTsKIAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJl
YWQgdGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBp
dCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0
YSogSlNGdW5jdGlvbjo6aW5pdGlhbGl6ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHlu
YW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxP
YmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9i
YWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3Ry
dWN0aW9uKHZtLCBleGVjKTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIHRoaXMpOwogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNDEsNiAr
MzQ0LDE4IEBAIEVuY29kZWRKU1ZhbHVlIEpTRnVuY3Rpb246OmNhbGxlckdldHRlcigKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBBU0NJSUxp
dGVyYWwoIkZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXIiKSkp
OwogfQogCitzdGF0aWMgdm9pZCBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZChWTSYgdm0s
IEpTVmFsdWUgcHJvdG90eXBlVmFsdWUsIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAg
IEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3Rv
dHlwZVZhbHVlKTsKKyAgICBpZiAoIXByb3RvdHlwZSkKKyAgICAgICAgcmV0dXJuOworICAgIFN0
cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5z
dXJlUmFyZURhdGEodm0pOworICAgIGlmIChyYXJlRGF0YS0+bmVlZHNJbmZlcnJlZENvbnN0cnVj
dG9yKCkpCisgICAgICAgIHJhcmVEYXRhLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsK
KyAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nh
c3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlKCkpKQorICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlX
cml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIC5wcm90b3R5cGUgaW5zaWRlIEpTRnVuY3Rp
b24iKTsKK30KKwogYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3Qq
IG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9w
ZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTM3MSw3ICsz
ODYsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iCiAgICAgICAg
ICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0sIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBBU1NFUlQoaXNWYWxp
ZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhp
c09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCksIG9mZnNl
dCk7CiAgICAgfQogCkBAIC00NTIsNiArNDY2LDcgQEAgYm9vbCBKU0Z1bmN0aW9uOjpwdXQoSlND
ZWxsKiBjZWxsLCBFeGVjUwogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdl
dE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGdldFNsb3Qp
OwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNP
YmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2Yg
YSBmdW5jdGlvbiIpOworICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwg
dmFsdWUsIHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJl
dHVybiBCYXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xv
dCk7CiAgICAgfQpAQCAtNTE4LDYgKzUzMyw4IEBAIGJvb2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3du
UHJvcGVydHkoSlNPYmoKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRP
d25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKICAg
ICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0
LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVu
Y3Rpb24iKTsKKyAgICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUoKSkKKyAgICAgICAgICAgIGlu
ZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBkZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNP
YmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpk
ZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwg
dGhyb3dFeGNlcHRpb24pOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFs
dWUgbmFtZSk7CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wg
dmFsdWUgaWYgdGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNP
YmplY3QqIHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90
ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJs
ZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU01hcC5jcHAJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29s
IEpTTWFwOjppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9
PSBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFw
UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVj
dC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xv
bmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQ
cm90b3R5cGVTZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBib29s
IEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0
dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAgICAg
ICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJv
cGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVj
dHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlO
YW1lLCB0aGlzKSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVF
cnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRv
bmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAx
NSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NF
UlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlw
ZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAh
aGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFy
c2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwog
ICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFj
aXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVh
dGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5
U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxl
bmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVz
dWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1
cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0
aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbih0aGlzKSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwg
b2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdT
dHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydFVuZGVj
aWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNv
bnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6Y29udmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252
ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3Jh
Z2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhp
cykpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0Nv
bnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0
RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0RG91Ymxl
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3Jh
Z2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTEzNjYsNyAr
MTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYg
dm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0
cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0
dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiB2b2lkIEpTT2JqZWN0
Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0
Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgog
ICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19J
TkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFy
c2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAg
aWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91
c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIodm0sIDApOwog
ICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0
OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAg
Y2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRl
eGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhp
bmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwg
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAg
cmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFs
RG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBDb250aWd1b3Vz
SlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGlu
Z1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBp
ZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91
bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMp
KSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0
dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIy
ICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAg
ICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBB
U1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29u
dmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExf
SU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2
bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJu
IGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxM
X0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91
bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJy
YXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzMsMTQgKzE2MzMs
MTggQEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIGlmIChw
cm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlw
ZShhc09iamVjdChwcm90b3R5cGUpKTsKICAgICAKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVy
ZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZt
KSwgcHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7Ci0gICAg
Ci0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKKyAgICBkYXRhTG9nTG4oInRyYW5zaXRpb25pbmcgZnJvbSBfX3Byb3Rv
X18gc2V0LCBmcm9tIHBvbHkgcHJvdG86ICIsICFzdHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7
CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90
b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAgICAgICBz
ZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1dERp
cmVjdCh2bSwgc3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7CisK
KyAgICBpZiAoIXN0cnVjdHVyZSh2bSktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXModGhpcykpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpZiAodm0ucHJv
dG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVjdHVyZS0+Z2xv
YmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVyZSh2bSktPmds
b2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIApAQCAtMTk1MSw3ICsxOTU1LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3JkaW5hcnlUb1By
aW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVmYXVsdCB2YWx1
ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4gYXJlCiAgICAg
Ly8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRXYXRjaGluZ0lu
dGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOworICAgIGZvciAo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5z
dHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgb2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNl
c3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9PSBQcmVmZXJT
dHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMSw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5SW5kZXhC
ZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5b25kVmVjdG9y
TGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwg
c2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0g
ICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkgewogICAg
ICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xvd1B1dEFycmF5
U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkg
KyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHJl
dHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7CkBAIC0y
ODc4LDcgKzI4ODMsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJleW9u
CiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRo
QXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVz
LCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAg
ICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBp
ZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAgICAg
ICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEs
IGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFn
ZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdl
LT5tX251bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NjMsNyBAQCB1aW50MzJfdCBK
U09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAg
ICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlm
IChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAg
ICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg2Niw3ICs4
NjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VS
VChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhl
YXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKGdldFByb3Rv
dHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8ICFzdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgp
KSk7IC8vIE9PUFMgZmluZCBhIHdheSB0byBtYWtlIHRoaXMgd29yawogICAgICAgICBBU1NFUlQo
c3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7
CiAgICAgfQpAQCAtMTI5OCw3ICsxMjk4LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChW
TSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGly
ZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgp
OworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBp
bmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjKQpAQCAtMTQwMCw3ICsxNDAwLDggQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0Ojpn
ZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFi
bGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93
bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBPT1BTOiBUaGlzIGNvZGUg
bG9va3Mgd3Jvbmc/IFdoeSBkb2Vzbid0IGl0IGNhbGwgdGhlIGdldFByb3RvdHlwZSBmdW5jdGlv
biBob29rPworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5o
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19J
TkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFBy
b3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50
ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVj
dC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJv
dG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZ
U19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5m
bygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBz
bG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RU
eXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90
eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2Jq
ZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9v
bCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2Fu
UGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJU
KCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0
b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0
cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVy
dHlOYW1lLCB0aGlzT2JqZWN0KSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0
SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQog
ICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1v
ZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAg
IHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIyMjMyOSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1l
RW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3Ry
dWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0
b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAg
JiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVD
aGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAg
IHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVy
dGllcyA9IDA7CkBAIC0xMzYsOSArMTM2LDExIEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IqIHByb3BlcnQKICAgICBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1
cmUpOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRl
KHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgsIG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMs
IFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3Rv
dHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAo
IWluZGV4ZWRMZW5ndGggJiYgc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0
b3IoKSkKLSAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KHZtLCBlbnVtZXJhdG9yKTsKKyAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgYmFzZS0+c3RydWN0
dXJlKHZtKSA9PSBzdHJ1Y3R1cmUpIHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOwor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkK
KyAgICAgICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2
bSwgZW51bWVyYXRvcik7CisgICAgfQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjIzMjkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFu
ZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3Rv
dHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMs
NiArNzMsOSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAg
ICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZh
YmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+
anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJ
KHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHB1YmxpYzoK
ICAgICAKICAgICBKU09iamVjdCogcHJvdG90eXBlKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWwpIGNvbnN0CiAgICAgeworICAgICAgICAvLyBPT1BTLiBtYWtlIHN1cmUgaXQncyBvbmx5IEpT
R2xvYmFsT2JqZWN0IHRoYXQgYWNjZXNzZXMgdGhpcy4KICAgICAgICAgQVNTRVJUKCFpc0NvbXBp
bGF0aW9uVGhyZWFkKCkpOwogICAgICAgICByZXR1cm4gZ2V0KGdsb2JhbCktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpOwogICAgIH0KQEAgLTEwMSwxMyArMTAyLDYgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAg
IEpTT2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAg
aWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAg
ICByZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1
cnJlbnRseSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQo
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3Bw
CShyZXZpc2lvbiAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVy
YXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYgKzE0MywxMSBAQCBzaXplX3Qgbm9y
bWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lCiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90
b3R5cGVDaGFpbjsKKworICAgICAgICAvLyBPT1BTOiB0aGlzIGRlZmluaXRlbHkgbmVlZHMgc29t
ZSBtb3JlIHRob3VnaHQKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAg
ICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwog
ICAgICAgICBpZiAodi5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2
aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBl
TWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTcgKzU0LDM4IEBAIHZvaWQgUHJvdG90eXBl
TWFwOjphZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgog
fQogCi1pbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVj
dHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUlu
Zm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBl
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQog
ewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICAvLyBPT1BTOiBtYWtlIHN1cmUgdGhp
cyBpc24ndCBjYWxsZWQgdy8gcHJvdG90eXBlPW51bGxwdHIgZm9yIHZhbGlkIHJlYXNvbnMuCisg
ICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51
bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVj
dCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkp
KSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgICAgICBh
ZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICAg
ICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwogICAgICAgICByZXR1cm4gc3RydWN0
dXJlOwogICAgIH0KIAorICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKwogICAgIGFk
ZFByb3RvdHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0
dXJlOjpjcmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNp
dHkpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKKworICAgIC8vIE9PUFM6
IGZpZ3VyZSBvdXQgd2hhdCB0byBkbyBoZXJlLiBUaGlzIGZlZWxzIGxpa2UgdGhlIHdyb25nIHBs
YWNlIHRvIGRvIHRoaXMuCisgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAg
ICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0p
LT5yYXJlRGF0YSgpOworICAgICAgICBBU1NFUlQocmFyZURhdGEtPm5lZWRzUG9seVByb3RvU3Ry
dWN0dXJlKHZtKSk7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAg
ICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgICAgIHJhcmVEYXRhLT5zZXRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7Cisg
ICAgfQorCisgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0
dXJlOjpjcmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5
cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0K
ICAgICBtX3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOwog
ICAgIHJldHVybiBzdHJ1Y3R1cmU7CiB9CkBAIC03MywyMCArOTQsMjEgQEAgU3RydWN0dXJlKiBQ
cm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBu
b3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFu
ZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGlu
ZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3Ry
dWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4
ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMocHJvdG90eXBl
KSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGlu
Z1R5cGUgPSAoaW5kZXhpbmdUeXBlICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJh
eVN0b3JhZ2VTaGFwZTsKIAotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5
U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5m
bygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7
CiB9CiAKLVN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0
eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtl
UG9seVByb3RvU3RydWN0dXJlKQogewotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5h
bE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0Ojpp
bmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5
LCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFy
RW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAg
bV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0
eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVy
ZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5h
bE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlND
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAko
cmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90
eXBlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAg
ewogICAgIH0KIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RT
dHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5KTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5
T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFs
c2UpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGVGcm9tQmFzZVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgdm9pZCBjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBl
KEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBp
bmxpbmUgVHJpU3RhdGUgaXNQcm90b3R5cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBh
IGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4KIAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0
ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1h
a2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmpl
Y3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0Lgot
ICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29u
c3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7
CisgICAgdXNpbmcgU3RydWN0dXJlTWFwID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3Qq
LCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJl
PjsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjIzMjkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAg
ICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwg
bV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9w
cm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8p
CiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zm
c2V0KGludmFsaWRPZmZzZXQpCkBAIC0yOTUsNiArMjk1LDI4IEBAIHZvaWQgU3RydWN0dXJlOjpk
ZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+
U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVh
dGUoUG9seVByb3RvVGFnLCBWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KQoreworICAgIFN0cnVjdHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisKKyAgICAvL2RhdGFMb2dMbigiTWFraW5nIHBvbHkgcHJvdG8gc3RydWN0
dXJlOiAiLCBSYXdQb2ludGVyKHJlc3VsdCkpOworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5l
Q2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7IC8vIE9PUFM6IG1heWJlIHRo
aXMgc2hvdWxkIGFsd2F5cyBzdGFydCBhcyB6ZXJvPworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlX
aXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5O
YW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCksIERvbnRFbnVtLAorICAgICAgICBb
Jl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRP
dXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICAvLyBPT1BTOiBsZXRzIG1ha2UgYSBkaWZm
ZXJlbnQgY3RvciBmb3IgdGhpcyB2YXJpYW50IG9mIHBvbHkgcHJvdG8sIHNpbmNlIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlIAorICAgICAgICAgICAgLy8gYWxyZWFkeSBrbm93cyB3aGVuIGl0J3Mg
bWFraW5nIGEgcG9seSBwcm90byB2YXJpYW50LgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
aXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiU2V0dGlu
ZyBtX3Byb3RvdHlwZSB0bzogIiwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1
bHQtPm1fcHJvdG90eXBlLnNldCh2bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAg
ICAgICAgIHJlc3VsdC0+c2V0TGFzdE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7
CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVy
ZXNBbmRNYXBGb3JNYXRlcmlhbGl6YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1
cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAg
ICBBU1NFUlQoc3RydWN0dXJlcy5pc0VtcHR5KCkpOwpAQCAtMzk4LDI2ICs0MjAsMzAgQEAgU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9w
ZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0
cmlidXRlcywgb2Zmc2V0KTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoSlNPYmplY3QqIGJhc2UpIGNv
bnN0CiB7Ci0gICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0g
ICAgICAgIGlmIChjdXJyZW50LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBS
RUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUzogTGV0J3Mg
anVzdCBwdXQgdGhpcyBvbiBKU09iamVjdD8KKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKyAg
ICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICBpZiAo
Y3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGlmIChwcm90b3R5
cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgICAg
ICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCk7CisgICAgICAgIGN1
cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwogICAgIH0KIH0KIAotYm9vbCBTdHJ1Y3R1cmU6
OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0pIGNvbnN0Citib29sIFN0cnVjdHVy
ZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNv
bnN0CiB7CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CisKICAgICBp
ZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiB0
cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoKTsK
KyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZShiYXNlKTsKICAg
ICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
SlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MjYsNyArNDUyLDcg
QEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgICAgICBTdHJ1
Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3QtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmICho
YXNJbmRleGVkUHJvcGVydGllcyhvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB8fCBzdHJ1Y3R1cmUu
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZSgpOworICAgICAg
ICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAg
IGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MzYsMTUgKzQ2MiwxNiBA
QCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAor
Ym9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKEpTT2JqZWN0KiBiYXNlKSBjb25z
dAogewotICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8g
T09QUzogbWF5YmUgbWFrZSB0aGlzIEpTT2JqZWN0KiBtZXRob2Q/CisgICAgcmV0dXJuIGFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoYmFzZSkKICAgICAgICAgfHwg
Z2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKIH0KIAotTm9uUHJvcGVydHlUcmFu
c2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0
CitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGlmIChuZWVkc1Nsb3dQdXRJ
bmRleGluZygpKQorICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZyhiYXNlKSkgLy8gT09QUzog
bWF5YmUgbWFrZSB0aGlzIGEgSlNPYmplY3QqIG1ldGhvZAogICAgICAgICByZXR1cm4gTm9uUHJv
cGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CiAgICAgCiAgICAg
cmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7CkBAIC01
NTUsNiArNTgyLDcgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYQog
ICAgIERlZmVyR0MgZGVmZXJHQyh2bS5oZWFwKTsKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24g
PSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7CiAKKyAgICAvLyBPT1BTOiB0aGlzIG5lZWRzIHRlc3Rp
bmchCiAgICAgdHJhbnNpdGlvbi0+bV9wcm90b3R5cGUuc2V0KHZtLCB0cmFuc2l0aW9uLCBwcm90
b3R5cGUpOwogCiAgICAgUHJvcGVydHlUYWJsZSogdGFibGUgPSBzdHJ1Y3R1cmUtPmNvcHlQcm9w
ZXJ0eVRhYmxlRm9yUGlubmluZyh2bSk7CkBAIC0xMDY3LDExICsxMDk1LDYgQEAgdm9pZCBTdHJ1
Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRj
aHBvaW50U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQog
Ci1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayogY29kZUJs
b2NrKSBjb25zdAotewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5n
bG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2Jq
ZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+KGNlbGwpOwpAQCAtMTEwOSw3ICsxMTMyLDcgQEAgYm9v
bCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAogICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFs
T2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgp
KSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtl
ZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOworICAgICAgICAmJiAoIWhh
c1N0b3JlZFByb3RvdHlwZSgpIHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjpp
c01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCiBib29s
IFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0xMTIxLDIw
ICsxMTQ0LDI0IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitib29sIFN0
cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGJhc2UpCiB7CisgICAgUkVMRUFTRV9BU1NF
UlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgbWFrZSB0aGlz
IGEgSlNPYmplY3QqIG1ldGhvZC4KKwogICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkp
Ci0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCk7CisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKGJhc2UpOwogICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhp
czsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3Rv
dHlwZSgpOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7CisgICAgICAg
IC8vIE9PUFM6IE1heWJlIHRoaXMgbmVlZHMgc29tZSBjbG9zZXIgYXR0ZW50aW9uLCBidXQgSSdt
IG5vdCBzdXJlIGhvdyB3ZSBjYW4gc2F5CisgICAgICAgIC8vIG11Y2ggYWJvdXQgb3VyIHByb3Rv
dHlwZSBjaGFpbiB3aXRob3V0IGtub3dpbmcgY29uc3RhbnQgcHJvdG90eXBlIHZhbHVlcy4uLgor
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgp
OwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3Ry
dWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CiAgICAg
ICAgIAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7Cisg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdl
dCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFKU0M6OmlzVmFs
aWRPZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAKQEAgLTEx
NzIsNiArMTE5OSw3IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUK
ICAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CiAg
ICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsKICAgICAg
ICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgICAgICAvLyBPT1BT
OgogICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
OwogICAgICAgICB9CiAKQEAgLTExODEsMTMgKzEyMDksNiBAQCBSZWY8U3RydWN0dXJlU2hhcGU+
IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBT
dHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAg
ICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAg
ICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAg
ICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRp
YWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFz
c0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzEyMjMsOSBAQCB2b2lkIFN0
cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9
LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1f
cHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkp
CisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNl
dCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAg
b3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxs
KCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsg
UG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0lu
Zm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAw
KTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3IEBAIHByb3Rl
Y3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAg
QVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0
KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUu
aXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3RvdHlwZS5pc0ludDMy
KCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vh
cmx5Q2VsbFRhZykKQEAgLTI0MCwyNiArMjQyLDQ0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
ICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNz
b3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpT
T2JqZWN0KikgY29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0m
LCBKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKEpT
T2JqZWN0KikgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0Lmdl
dCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQg
ZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAg
Ly8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBh
IGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBn
bG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVk
UHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0
KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0
CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7Cisg
ICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPworICAgICAgICByZXR1
cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90
b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVk
UHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigp
OworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNv
bnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3Qq
KSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBK
U09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgp
IGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7
CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAg
SlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBK
U1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1Y3R1
cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAg
IFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBK
U1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSkg
Y29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3Rv
dHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0aWMg
dm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAgLy8g
QSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291bGQg
b25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3NCwxMiArMjk0LDI1IEBA
IHB1YmxpYzoKICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7CiAgICAgICAgIAog
ICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3Bl
cnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5
SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgSlNfRVhQT1JUX1BSSVZB
VEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5h
bWUsIEpTT2JqZWN0Kik7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAg
ewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7
CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7
CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAg
IH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAg
eworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVE
YXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0
cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NjYsNiBAQCBw
dWJsaWM6CiAgICAgICAgIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAg
IH0KICAgICAKLSAgICB2b2lkIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vz
c2FyeUZvckVudGlyZUNoYWluKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSB0aGlzOyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0
Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9v
bCBoYXNJbmZlcnJlZFR5cGVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5m
ZXJyZWRUeXBlVGFibGU7CkBAIC01OTAsMTAgKzYxNyw2IEBAIHB1YmxpYzoKIAogICAgIFJlZjxT
dHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKICAgICAKLSAgICAvLyBE
ZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9u
ZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUu
Ci0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOwotICAgIAogICAg
IHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQ
cmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CiAgICAgdm9pZCBkdW1wQnJpZWYoUHJp
bnRTdHJlYW0mLCBjb25zdCBDU3RyaW5nJikgY29uc3Q7CkBAIC03MjAsOCArNzQzLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0
LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAg
IGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBl
Q2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAg
ICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYs
IFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzU0LDYgQEAgcHJpdmF0ZToKICAgICAgICAg
cmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAg
IH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
dHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0
Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAg
ICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZpc2lvbiAy
MjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJlQ2hhaW46
OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hhaW46OmZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6ZmluaXNo
Q3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNPYmplY3Qq
IGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZt
KS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3Rk
OjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7CisKKyAg
ICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJl
bnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmpl
Y3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudC0+
c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAgICBt
X3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlz
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjMyOSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBj
cmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVyZUNoYWlu
KiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBTdHJ1Y3R1
cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmVDaGFp
bj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0cnVjdHVy
ZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7CkBAIC02
MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsK
IAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUq
IGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAg
IHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFk
OyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkg
PyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkK
LSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJy
aWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAg
ICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2krK10u
c2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAubXV0YXRv
ckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAgIH0KKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShyZXZpc2lv
biAyMjIzMjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxp
bmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5saW5lIFN0cnVjdHVyZSog
U3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwog
ICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwx
MiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBp
bmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNv
bnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpT
T2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVj
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJl
KCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9i
amVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlm
IChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgp
OworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAg
IHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpT
T2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCog
b2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkg
PT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTVmFs
dWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgaWYg
KHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNP
YmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpz
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sK
KyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkp
CisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQoVk0mIHZt
LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7
CkBAIC0xNjgsOCArMTk4LDIxIEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNpdGl2ZWx5
VHJhbnMKIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVCho
YXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVy
biBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOwor
ICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQorICAgICAgICByZXR1cm4g
Z2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVCh0eXBlSW5mbygp
LnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQ
cm90b3R5cGUoKTsKK30KKworaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JM
b29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlKSBjb25zdAor
eworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BT
IGRlYnVnIGFzc2VydD8KKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0b3Jl
ZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7CiAgICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09
IFN5bWJvbFR5cGUpCiAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlw
ZSgpOwogCkBAIC0xODIsMjcgKzIyNSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUZvckxvCiAgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCkpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6
cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25z
dAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7
CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8gT09Q
UzogbWF5YmUgZGVidWc/CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBzbyBv
dXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwg
bV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNoZWRQ
cm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHBy
b3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSkp
OworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4u
Z2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9y
TG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hh
aW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNO
dWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAgICByZXR1
cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNo
YWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK2lu
bGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUq
IGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVDaGFp
bihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBw
cm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJh
c2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25z
dAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJh
c2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAo
Z2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1
cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBjYWNo
ZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxlICgq
Y2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYgKGFz
T2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0KCkp
CkBAIC0yMTMsMTEgKzI1Nyw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0ds
b2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0dXJl
OwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVDaGFp
bik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkKQEAg
LTQwMCw3ICs0MzksNyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQ
CiAgICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9p
ZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJs
ZSkKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZt
LCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0
TWF5QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjIz
MjkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVS
YXJlRGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRj
aHBvaW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6
dmlzaXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJldmlv
dXMpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBj
b25zdApAQCAtMTc1LDYgKzE3Nyw1MyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6
Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0pTVmFs
dWUgU3RydWN0dXJlUmFyZURhdGE6OmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZSgpCit7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlLmdldCgpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc1BvbHlQcm90
b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZl
cnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIGluZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkpCisgICAgICAgIHJldHVybiBpbmZl
cnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICBBU1NFUlQoaW5mZXJy
ZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmFzQ2VsbCgpLT5pbmhlcml0cyh2bSwg
U3RydWN0dXJlOjppbmZvKCkpKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cnVjdHVyZSog
U3RydWN0dXJlUmFyZURhdGE6OnBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNW
YWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZl
cnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIGluZmVycmVkQ29uc3Ry
dWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6
OmlzUG9seVByb3RvKFZNJiB2bSkKK3sKKyAgICByZXR1cm4gbmVlZHNQb2x5UHJvdG9TdHJ1Y3R1
cmUodm0pIHx8ICEhcG9seVByb3RvU3RydWN0dXJlKHZtKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVS
YXJlRGF0YTo6bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkKK3sKKyAgICByZXR1cm4gIWluZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworfQorCitJbmZlcnJlZFZhbHVl
KiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0pCit7
CisgICAgUkVMRUFTRV9BU1NFUlQoIW1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3Ry
dWN0dXJlKTsKKyAgICBJbmZlcnJlZFZhbHVlKiByZXN1bHQgPSBJbmZlcnJlZFZhbHVlOjpjcmVh
dGUodm0pOworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNl
dCh2bSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFN0cnVj
dHVyZVJhcmVEYXRhOjpzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKK3sKKyAgICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0aG9k
cyBmb3IgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNsYXNz
ZXMgLS0tLS0tLS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnQ6Ok9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1cmVS
YXJlRGF0YSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGEuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNz
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVj
dFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMjIgQEAg
cHVibGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1l
RW51bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVy
YXRvcihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJlIGEg
dGhlIHN0cnVjdHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0IG91
ciBmdW5jdGlvbiBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVyZSBp
cyB1cy4KKyAgICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1Y3R1
cmUgb2YgYW4gb2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAorICAg
IC8vIG9mIGEgY29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdlIHdh
bnQgdG8gaW5mZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8vIElm
IHdlIGRvLCB0aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHBv
aW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhCisgICAgLy8gSlNGdW5jdGlvbi4g
SWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIGZpZWxkIGVpdGhl
ciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZQorICAgIC8vIHRoYXQgaXMgaW52YWxpZGF0ZWQu
IElmIHdlIGV2ZXIgY29uc3RydWN0IGFuIG9iamVjdCB3aG8ncyBfX3Byb3RvX18gcG9pbnRzIHRv
IHRoaXMgcHJvdG90eXBlLCB0aGVuCisgICAgLy8gd2UgbW92ZSBtX2luZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSB0byB0aGUgU3RydWN0dXJlIG9mIHRoZSBvYmplY3QgdGhh
dCBzaG91bGQgYmUgY3JlYXRlZAorICAgIC8vIHRoYXQgaGFzIHBvbHkgcHJvdG8uCisgICAgSW5m
ZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIEpTVmFsdWUg
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgYm9vbCBuZWVk
c1BvbHlQcm90b1N0cnVjdHVyZShWTSYpOworICAgIGJvb2wgbmVlZHNJbmZlcnJlZENvbnN0cnVj
dG9yKCk7CisgICAgdm9pZCBzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1cmUqKTsK
KyAgICBTdHJ1Y3R1cmUqIHBvbHlQcm90b1N0cnVjdHVyZShWTSYpOyAvLyBNYXkgYmUgbnVsbHB0
ciBpZiBub3QgcG9seSBwcm90byBvciBwb2x5IHByb3RvIHN0cnVjdHVyZSBoYXMgeWV0IHRvIGJl
IGluc3RhbnRpYXRlZC4KKyAgICBib29sIGlzUG9seVByb3RvKFZNJik7CisKICAgICBERUNMQVJF
X0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArOTMsNyBAQCBwcml2YXRlOgogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpT
U3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAgIFdy
aXRlQmFycmllcjxVbmtub3duPiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxX
YXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25l
ZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2lu
dE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxh
Y2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsx
NDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFsdWUo
SlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQogICAg
IGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9CisgICAg
Ym9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAgYm9v
bCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBib29s
IGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBpc0dl
dHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAko
cmV2aXNpb24gMjIyMzI5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFw
cGVyQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBKCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJD
bGFzcz4gaW5saW5lIEpTQzo6SlNPYmplY3QqIGdldERPTVByb3RvdHlwZShKU0M6OlZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKKyAgICAvLyBPT1BTOiBsb29rIGlu
dG8gdGhpcwogICAgIHJldHVybiBKU0M6OmpzQ2FzdDxKU0M6OkpTT2JqZWN0Kj4oYXNPYmplY3Qo
Z2V0RE9NU3RydWN0dXJlPFdyYXBwZXJDbGFzcz4odm0sIGdsb2JhbE9iamVjdCktPnN0b3JlZFBy
b3RvdHlwZSgpKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321659</attachid>
            <date>2017-09-24 15:57:50 -0700</date>
            <delta_ts>2017-09-24 16:21:59 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>157398</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDM2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIHByaW50KGBSZXN1bHQgZnJvbSBmb28o
KTogYCwgJHZtLnZhbHVlKHJlc3VsdCkpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBs
ZXQgcmVzdWx0ID0gZm9vKCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2Vz
ID0gWworICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAg
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorXTsKKworbGV0IHAgPSB1bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAg
YXNzZXJ0KHgueCA9PT0gMjApOworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSBvZiBpbnN0
YW5jZXMpCisgICAgICAgIHZhbGlkYXRlKGkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by1zZXQtcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2
OCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcigiYmFkIik7Cit9CisKK2xldCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgp
IHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3Rv
MiA9IHsKKyAgICBnZXQgeSgpIHsgcmV0dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAg
ICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0
LnByb3RvdHlwZSwgIngiLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7
IH0KK30pOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0
cnVjdG9yKCkgeworICAgICAgICAgICAgdGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsK
KyAgICByZXR1cm4gbmV3IEM7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBh
c3NlcnQoby54ID09PSBwKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtd
OworZm9vKCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9v
KCkpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBv
ZiBhcnIpCisgICAgICAgIHZhbGlkYXRlKGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIp
IHsKKyAgICBwcmludCgiU2V0dGluZyBhbHRlcm5hdGUgcHJvdG8iKQorICAgIGEuX19wcm90b19f
ID0gYWx0ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7Cisg
ICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgcHJpbnQoIlRlc3RpbmcgbnVsbCBjYXNl
Iik7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgIH0KK30KKworZm9yIChsZXQgYSBv
ZiBhcnIpIHsKKyAgICBwcmludCgiU2V0dGluZyBhbHRlcm5hdGUgcHJvdG8yIikKKyAgICBhLl9f
cHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvMjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7
ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51
bGwpOworICAgICAgICBhc3NlcnQoYS55ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9z
dHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MSBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAg
ICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3Ry
dWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBl
LnkgPSB5OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKwor
bGV0IHBvbHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBb
CisgICAgImZvbyIsCisgICAgImJhciIsCisgICAgImJheiIKK107CisKK2Z1bmN0aW9uIGFzc2Vy
dChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0
aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAg
ICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0
KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9m
IHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blBy
b3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5l
KHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3Ig
KGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5
ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3Mp
IHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiArMjI3LDcgQEAgYnl0ZWNvZGUvTGF6
eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQ
cm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVj
b2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCkBA
IC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29k
ZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcAog
Ynl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9QdXRC
eUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4MDFFMDM1NTlDMDA1QkVFRDggLyog
QjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyMzNDMkIxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MkNCMzRBMUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTQ1NzVD
RDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY0NjU2QTFCOTUyRkYwMDAz
MDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY1QzIxNzFF
NUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjVDMjE1MUU1
RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NkRBQTJC
MUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVl
Qml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBA
IC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0
aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVE1hdGhJQy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFDNEVFRDVDMDBEMTNBRjMgLyogUENU
b0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJD
QjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0No
YWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NUYwOTlDMUUwMzYwMDUwMEJC
RTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGlsZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9j
YXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgcGF0
aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzczNDQsOCBAQAogCQkJCTE0QUQ5MTBB
MURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmggKi8sCiAJCQkJMEZEM0U0MDcx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQw
ODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uaCAqLywKKwkJCQk3OTQ1NzVD
QzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTc5
NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovLAogCQkJ
CTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuY3BwICovLAogCQkJCTBG
MTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuaCAqLywKIAkJCQkwRjkzMzI5
OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAgKi8sCkBAIC04NTI5LDYgKzg1
MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAvKiBJbnRsQ29sbGF0b3JQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0RTBDREIwMEZDMTAyOSAvKiBJ
bnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q2RTFC
NERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVG
b3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFDNjAw
RDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFBy
b3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJP
UAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2
bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3lt
Ym9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJv
dG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBT
eW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MjA2LDYgKzIwNiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AK
ICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1w
bDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNk
ZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVU
b1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsK
QEAgLTIzMCw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0s
ICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZh
dGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlM
VElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAg
ICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJ
TklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpAQCAtMjM4LDYgKzI0MCw4IEBAIHB1
YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAg
ICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQo
bV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVi
bGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmlt
cGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0
IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsK
QEAgLTI1MCw2ICsyNTQsNyBAQCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NF
U1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVO
YW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAog
cHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU4LDYgKzI2
Myw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
V0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJz
Y29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVk
U3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRp
bk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAg
ICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI0MzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1ZGUgIlN1cGVyU2FtcGxlci5oIgog
I2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJQ
cmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVy
bmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fc3Ry
dWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRp
b25TZXQgPSBjb25kaXRpb25TZXQ7CkBAIC0xNTEsNiArMTU0LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAg
ICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIxMCw2ICsy
MTYsNyBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAg
IHJldHVybiB0aGlzQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9k
dWxlTmFtZXNwYWNlT2JqZWN0KCk7CiAgICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIE9P
UFM6IE1heWJlIHdlIHNob3VsZCBjb25zdWx0IHByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gaGVyZT8K
ICAgICAgICAgaWYgKCFndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFyZGVk
QnlTdHJ1Y3R1cmVDaGVjaygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yMzAs
NiArMjM3LDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIAogICAg
IGVsc2UgaWYgKG1fc3RydWN0dXJlKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1
cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwogCisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAgICBvdXQucHJpbnQoY29t
bWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWluID0gIiwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7
CisKICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAgICAgICAgIG91dC5wcmludChj
b21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAoIW1fY29uZGl0aW9uU2V0Lmlz
RW1wdHkoKSkKQEAgLTI0Myw2ICsyNTMsMTAgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWso
Vk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQo
bV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKSkgeworICAg
ICAgICBpZiAoIUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0yNzMsNiAr
Mjg3LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlm
IChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVh
cCh2aXNpdG9yKTsKIAorICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluLmNoYWluKCkpCisgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJ
ZkNoZWFwKHZpc2l0b3IpOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5z
aXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVy
ZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArMzg5LDY4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6
Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAo
dmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAg
ICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5v
dEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQ
UiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0g
ICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQ
cm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRo
cm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBp
ZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAg
IC8vZGF0YUxvZ0xuKCJHZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAgICAg
IC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAgICAg
ICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAg
ICAgICBqaXQubW92ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWlu
KCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKVtpXTsKKyAgICAgICAgICAgICAgICBib29s
IGF0RW5kID0gaSArIDEgPT0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpLnNpemUoKTsK
KyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAg
IGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRF
bmQpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmIG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBkYXRhTG9nTG4oImdlbmVyYXRpbmcgTWlzcyB3LyBwb2x5UHJvdG9BY2Nlc3NDaGFpbiIpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0g
TWlzcyAmJiAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgZGF0YUxvZ0xuKCJnZW5lcmF0aW5nIE1pc3Mgdy8gcG9seSBwcm90byBhcyBs
YXN0IHN0cnVjdHVyZSEiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVU
b0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gT09QUzogSSBkb24ndCB0aGluayB0aGlzIGlzIG5lZWRlZCBpZiB3ZSB0cmFuc2l0aW9u
IG9uIHNldHRpbmcgdGhlIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFzZUZv
ckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVG
b3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0KHByb3Rv
dHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVy
ZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGpp
dC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJh
c2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7IC8vIE9PUFM6IHRoaXMgaXNu
J3QgbmVlZGVkIGlmIHdlIHN0aWxsIHRyYW5zaXRpb24gb24gc2V0dGluZyBvdXIgcHJvdG90eXBl
LgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAg
ICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsK
KyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAg
IGppdC5icmFuY2g4KAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNl
R1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkp
OworCisgICAgICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJh
c2VHUFIsIEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAgICAg
ICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFu
Y2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0
Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1
Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
Q2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3R1cmUoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAg
IH0gfTsKQEAgLTQ2Myw2ICs1MjIsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChB
Y2Nlc3NHZW5lCiAgICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgTWlzczoKKyAgICAgICAgLy8g
T09QUzoKICAgICAgICAgaml0Lm1vdmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgdmFsdWVS
ZWdzKTsKICAgICAgICAgc3RhdGUuc3VjY2VlZCgpOwogICAgICAgICByZXR1cm47CkBAIC01MDQs
MTMgKzU2NCwxNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAg
ICAgICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFz
ZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIp
OwotICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAg
ICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAg
ICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7IC8vIHZpYSBnZW5lcmF0ZVdpdGhH
dWFyZCEgT09QUzogdGhpcyBpcyB1Z2x5LgorICAgICAgICAgICAgLy9qaXQucHJpbnQoIkRvaW5n
IHBvbHkgcHJvdG8gbG9hZCFcbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYg
KCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgK
KyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0
ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIg
PSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZv
ckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcg
bG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1
c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5
cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVy
KSB7CkBAIC01NjksNiArNjMzLDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNj
ZXNzR2VuZQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgLy9pZiAobV90eXBl
ID09IEdldHRlciAmJiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLm1faGFzUG9seVByb3RvKQorICAg
ICAgICAvLyAgICBqaXQucHJpbnQoIkRvaW5nIGdldHRlciBjYWxsIGZvciBwb2x5IHByb3RvXG4i
KTsKKwogICAgICAgICAvLyBTdHVmZiBmb3IgY3VzdG9tIGdldHRlcnMvc2V0dGVycy4KICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpDYWxsIG9wZXJhdGlvbkNhbGw7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNDM2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNp
bmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlw
ZUFjY2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTE4Niw4ICsxODcsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNj
ZXNzQ2FzZSgpOwogCisgICAgY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsgfQorCiBw
cm90ZWN0ZWQ6Ci0gICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYpOworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogICAg
IEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKICAgICBBY2Nlc3NDYXNl
JiBvcGVyYXRvcj0oY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRT
dGF0ZSgpIHsgbV9zdGF0ZSA9IFByaW1vcmRpYWw7IH0KQEAgLTIyNyw2ICsyMzAsOCBAQCBwcml2
YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwogCiAgICAgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAgICBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRT
dGF0dXMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOSw2ICsyMTksOSBA
QCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBj
b25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChsaXN0SW5kZXgpOwogICAgICAgICAg
ICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlk
U3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworCisgICAgICAgICAgICBpZiAoYWNjZXNzLnBy
b3RvdHlwZUFjY2Vzc0NoYWluKCkudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAg
ICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAg
ICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1l
c3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2
ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRl
ckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNo
cG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6
IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6Okdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNl
KHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
dmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1f
Y3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOwog
fQogCiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
OjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKLSAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
YyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxE
T01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUpCisgICAgVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25T
ZXQsCisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UsCisgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRy
aWJ1dGUsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsNyArNjMsNyBAQCBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxT
ZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFs
U2V0LCBjdXN0b21TbG90QmFzZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICByZXN1bHQt
Pm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nl
c3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsK
QEAgLTc0LDcgKzc0LDggQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRl
cgogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBT
ZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vz
c29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4g
cmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNl
KSk7CisgICAgLy8gT09QUzogZG8gc29tZXRoaW5nIGhlcmUKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
KHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2Us
IG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKSk7CiAgICAg
cmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1
cm4gV1RGTW92ZShyZXN1bHQpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMSArNDksOCBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCiAgICAg
ICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlID0gbnVsbHB0ciwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0
aW9uPiA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jID0gbnVsbHB0ciwKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVs
bHB0ciwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9w
dCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKIAogICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCiAgICAgICAgIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmMgPSBudWxscHRyLApAQCAtNjcsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3Vz
dG9tQWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQog
CiBwcml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFj
Y2Vzc0NoYWluKTsKIAogICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZSYpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmls
ZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDggKzQ2LDExIEBAIHByaXZhdGU6CiBpbmxpbmUgU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9u
QWxsb2NhdGlvblByb2ZpbGU6OmNyZWF0ZUFsbG9jYXRpb25TdHJ1Y3R1cmVGcm9tQmFzZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0
KiBwcm90b3R5cGUsIFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQoIW1f
c3RydWN0dXJlIHx8IG1fc3RydWN0dXJlLmdldCgpLT5jbGFzc0luZm8oKSAhPSBiYXNlU3RydWN0
dXJlLT5jbGFzc0luZm8oKSk7CisgICAgQVNTRVJUKGJhc2VTdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcyBmb3Igc3ViY2xhc3NlcyBvZiBidWlsdGlu
IHR5cGVzOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzczMTgKICAgICBpZiAocHJvdG90eXBlID09IGJhc2VTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpKQogICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNlU3RydWN0dXJlOwogICAgIGVsc2UKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25J
bmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjppbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
ZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9j
YXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNh
cGFjaXR5KTsKKworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3Ry
dWN0b3IpIHsKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29uc3Ry
dWN0b3ItPmpzRXhlY3V0YWJsZSgpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+bV9jb25zdHJ1
Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiLS0t
LS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgICAgICBkYXRhTG9nTG4oIkV4ZWN1dGFibGU6ICIs
IFJhd1BvaW50ZXIoZXhlY3V0YWJsZSksICIgaGFzIGJlZW4gY29uc3RydWN0ZWQgbW9yZSB0aGFu
IG9uY2UuIFByb3RvdHlwZSBzdHJ1Y3R1cmU6ICIsIFJhd1BvaW50ZXIocHJvdG90eXBlLT5zdHJ1
Y3R1cmUodm0pKSk7CisgICAgICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmR1bXAo
V1RGOjpkYXRhRmlsZSgpKTsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiXG4tLS0tLS0tLS0tLS0t
LS0tLS0iKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChleGVjdXRhYmxlLT5tX2NvbnN0cnVj
dFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZSAmJiBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhh
c1JhcmVEYXRhKCkpIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHBy
b3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKS0+cG9seVByb3RvU3RydWN0dXJlKHZt
KSkgeworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0iKTsKKyAgICAgICAgICAgICAgICAvL2RhdGFMb2dMbigiYWxyZWFkeSBoYXZlIHBv
bHkgcHJvdG8gc3RydWN0dXJlIGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVj
dG9yLT5qc0V4ZWN1dGFibGUoKSkpOworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKGNvbnN0
cnVjdG9yLT5qc0V4ZWN1dGFibGUoKS0+c291cmNlKCkudmlldygpKTsKKyAgICAgICAgICAgICAg
ICAvL3N0cnVjdHVyZS0+ZHVtcChXVEY6OmRhdGFGaWxlKCkpOworICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAg
ICAgICAgICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFs
bG9jYXRvckZvcihKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSkp
OworCisgICAgICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisgICAgICAgICAg
ICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAg
ICAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gT09QUzogUHJv
YmFibHkgY2FsbCBpbnRvIGEgZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRo
YXQgbWFrZXMgcG9seSBwcm90bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNh
biBhY2NpZGVudGFsbHkgZ2V0IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVj
dHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJl
UmFyZURhdGEodm0pOworICAgICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1
Y3RvcigpKQorICAgICAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Io
dm0pOworCisgICAgICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0g
anNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0
cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkpIHsKKyAgICAgICAgICAgIGluZmVycmVkQ29u
c3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQg
Y29uc3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKyAgICAgICAgICAgIGlz
UG9seVByb3RvID0gaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgJiYg
ZXhlY3V0YWJsZS0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisgICAgICAg
IH0KKyAgICAgICAgLy9pZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xu
KCItLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCJHb2lu
ZyBwb2x5IHByb3RvIGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5q
c0V4ZWN1dGFibGUoKSkpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oY29uc3RydWN0b3ItPmpz
RXhlY3V0YWJsZSgpLT5zb3VyY2UoKS52aWV3KCkpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4o
IldoaWNoIGhhcyBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1
dGFibGUoKSkpOworICAgICAgICAvL30KKworICAgICAgICBleGVjdXRhYmxlLT5tX2NvbnN0cnVj
dFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZS5zZXQodm0sIGV4ZWN1dGFibGUsIHByb3RvdHlwZS0+
c3RydWN0dXJlKHZtKSk7CisgICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBk
b2luZyBzb21ldGhpbmcgdGhhdCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252
ZXkgdGhhdAorICAgICAgICAvLyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3
ZSBrbm93IHRoYXQgd2UndmUgcmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8u
CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRp
YyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURl
ZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAg
ICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBw
ZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9
IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFy
ZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAg
ICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9y
IGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykg
eworICAgICAgICAvLyBPT1BTOiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNy
ZWF0ZS4gSXQncyBqdXN0IGFzc2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAg
ICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlu
bGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9
CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2Fw
YWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXpl
X3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVD
YXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2Uu
YWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9m
IGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAg
aWYgKGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxT
aXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsK
KyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFj
aXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9
CisKKyAgICAvLyBPT1BTOiBuZWVkIHRvIG1ha2UgdGhpcyBBUEkgbW9yZSBjbGVhci4KKyAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlz
UG9seVByb3RvKTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMg
dGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6
c3RvcmVTdG9yZUZlbmNlKCk7CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBt
X3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNp
dHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90
eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+
b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50
ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3Bl
cnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVk
ZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1
Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJv
cGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3Rv
ciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0
eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQg
YXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4K
KyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAg
ICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVy
biBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAko
cmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAg
ICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAg
IEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkp
OwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9u
IHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0g
cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAg
ICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1w
dHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBq
dXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBm
dW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAg
ICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElu
bGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAg
ICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24n
dCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBp
bnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAg
IH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5
OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3Jt
YWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJl
ZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5h
bE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGlu
ZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAg
ICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXpl
KGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2
bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAg
ICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUg
aW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAg
IHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAv
IHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNp
dHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1
Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBz
dHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpz
dG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAg
ICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9p
bmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxp
emUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBK
U09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1
bmN0aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUoKQogICAgIHsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAg
ICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3Qq
IHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5n
bG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsK
LQotICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBw
cm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xz
LCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0
dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJh
eSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlBy
b3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXku
ZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFs
dWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ld
KTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxs
eSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAg
ICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAg
ICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFBy
b3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFs
bG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2ll
ciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1
Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjQzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
OjphYnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5z
dHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAg
ICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7Cisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0s
IG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTEgQEAgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2co
Ikl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIE9P
UFM6IFdlIG5lZWQgc29tZSBzdG9yeSBoZXJlIG9mIGFuIGludGVybGVhdmluZy4KKyAgICAgICAg
ICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAgICAg
ICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5
cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlz
aW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhp
Y0FjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw3ICszMzksNyBAQCBBY2Nlc3NHZW5l
cmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNjZXNz
SW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBtX2xp
c3Q6ICIsIGxpc3REdW1wKG1fbGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVyYXRp
b25TdGF0ZSBzdGF0ZSh2bSk7CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtLCBj
b2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7CiAg
ICAgc3RhdGUuc3R1YkluZm8gPSAmc3R1YkluZm87CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIyNDM2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3MSwxNCArMTcxLDE2IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1
Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0m
IHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxPYmpl
Y3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNhbGxB
bmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3JlUmVn
aXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNpdGVJ
bmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFsT2Jq
ZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIgfTsK
ICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNoUmVn
aXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVyU3Rh
dGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9w
ZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEw
Nyw2ICsxMDcsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0
aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlz
IGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQg
bWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBw
b2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisK
ICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29u
Y3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9m
ZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJv
c2UpCkBAIC0xMzIsNiArMTQwLDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxW
YWxpZEFzc3UKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJbnZhbGlkIGJlY2F1c2UgaXQncyBh
IGRpY3Rpb25hcnkuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQor
CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAg
ICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4g
cHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4g
QW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAg
ICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgY3VycmVudEF0dHJp
YnV0ZXM7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUt
PmdldENvbmN1cnJlbnRseSh1aWQoKSwgY3VycmVudEF0dHJpYnV0ZXMpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hh
aW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNsdWRl
ICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworUHJvdG90eXBlQWNjZXNzQ2hhaW46
OlByb3RvdHlwZUFjY2Vzc0NoYWluKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2Vs
bCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90KQoreworICAgIFVOVVNFRF9QQVJBTShn
bG9iYWxPYmplY3QpOworICAgIC8vIE9PUFM6IGNvbnNpZGVyIERPTSBwcm94eSBoZXJlLiBBbHNv
LCBwcm94eSBpbiB0aGUgcHJvdG90eXBlIGNoYWluPworCisgICAgSlNDZWxsKiBjdXJyZW50ID0g
YmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJnZXQg
PSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisgICAgZGF0YUxv
Z0xuKCJQcm90b3R5cGVBY2Nlc3NDaGFpbiBjdG9yLCBzbG90IGlzIHNldDogIiwgISF0YXJnZXQp
OworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkgeworICAgICAgICAgICAgbV9pc1ZhbGlkID0g
ZmFsc2U7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+
aXNPYmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVk
QmVmb3JlKCkpIHsKKyAgICAgICAgICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+
ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAg
ICAgfQorCisgICAgICAgIG1fY2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYg
KGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHBy
b3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRo
ZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkg
cHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hl
IGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAg
ICAgbV91c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOwor
CisgICAgICAgIC8vIE9PUFM6IHRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIHByb3RvdHlwZSBmb3Ig
bG9va3VwLiBJZiBpdCBpcywgdGhlbiwKKyAgICAgICAgLy8gd2UgbmVlZCB0byBjaGFuZ2UgQWNj
ZXNzQ2FzZSB0byBtYWtlIGl0IHdvcmsuCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAgICAg
ICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
dXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYm
ICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxkIHRoaXMgYWN0dWFsbHkgY29tZSB1
cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVlZCB0byBjb25zaWRlci4gSSB0aGlu
ayBpdCBkb2VzIHNpbmNlIGJ1aWxkaW5nIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0CisgICAg
ICAgIC8vIHNlZW1zIHRvIGFzc3VtZSB0aGlzIGlzIHBvc3NpYmxlLgorICAgICAgICBtX2lzVmFs
aWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlByb3RvdHlwZUFjY2Vz
c0NoYWluIik7CisgICAgaWYgKCFpc1ZhbGlkKCkpIHsKKyAgICAgICAgb3V0LnByaW50KCIgaXMg
aW52YWxpZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmICh1c2VzUG9seVByb3Rv
KCkpCisgICAgICAgIG91dC5wcmludCgiIHVzZXNQb2x5UHJvdG8iKTsKKyAgICBvdXQucHJpbnQo
IjogW1xuIik7CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAg
ICAgICAgb3V0LnByaW50KCJcdCIpOworICAgICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAg
ICAgICAgb3V0LnByaW50KCJcbiIpOworICAgIH0KKyAgICBvdXQucHJpbnQoIl0iKTsKK30KKwor
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0No
YWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3Rv
dHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7
CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0
eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRChQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1
YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5
cGVBY2Nlc3NDaGFpbihjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKyAg
ICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRlZmF1bHQ7
CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2Us
IGNvbnN0IFByb3BlcnR5U2xvdCYpOworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvcGVyYXRv
cj0oUHJvdG90eXBlQWNjZXNzQ2hhaW4mJikgPSBkZWZhdWx0OworCisgICAgYm9vbCBpc1ZhbGlk
KCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CisKKyAgICBib29sIHVzZXNQb2x5UHJvdG8o
KSBjb25zdCB7IHJldHVybiBtX3VzZXNQb2x5UHJvdG87IH0KKworICAgIGNvbnN0IFZlY3RvcjxT
dHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NoYWluOyB9CisKKyAgICB2b2lk
IGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAgICB2b2lkIGNsZWFyQ2hhaW4oKSB7
IG1fY2hhaW4uY2xlYXIoKTsgfQorCitwcml2YXRlOgorICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBt
X2NoYWluOyAvLyBJbmNsdWRlcyBiYXNlJ3Mgc3RydWN0dXJlIGZvciBub3csIGJ1dCBwZXJoYXBz
IHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQuCisgICAgYm9vbCBtX3VzZXNQb2x5UHJvdG8geyBmYWxz
ZSB9OworICAgIGJvb2wgbV9pc1ZhbGlkIHsgdHJ1ZSB9OworfTsKKworfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNyArMzAsMTgg
QEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFj
Y2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5YWJsZUFjY2Vzc0Nhc2U6OlBy
b3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAg
ICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9u
YWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nl
c3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5
cGVBY2Nlc3NDaGFpbikKIHsKICAgICBBU1NFUlQodHlwZSA9PSBMb2FkIHx8IHR5cGUgPT0gTWlz
cyB8fCB0eXBlID09IEdldEdldHRlcik7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KSk7CisgICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVBy
b3h5LCBhZGRpdGlvbmFsU2V0LCBwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogfQogCiBQcm94eWFi
bGVBY2Nlc3NDYXNlOjp+UHJveHlhYmxlQWNjZXNzQ2FzZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHJldmlz
aW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDEzICszMywxMyBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogY2xhc3MgUHJveHlhYmxlQWNjZXNzQ2FzZSA6IHB1YmxpYyBBY2Nlc3NDYXNlIHsK
IHB1YmxpYzoKLSAgICB0eXBlZGVmIEFjY2Vzc0Nhc2UgQmFzZTsKKyAgICB1c2luZyBCYXNlID0g
QWNjZXNzQ2FzZTsKIAogICAgIGJvb2wgdmlhUHJveHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX3ZpYVByb3h5OyB9CiAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fYWRkaXRpb25hbFNldC5nZXQoKTsgfQogCiAgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2
aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0cik7
CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCA9IG51bGxwdHIsIFByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hh
aW4oKSk7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkg
Y29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB+UHJveHlhYmxl
QWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYs
IEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBB
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0LCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3ZpYVBy
b3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODQ4
LDYgKzM4NDgsOSBAQCBSZWdpc3RlcklEKiBDbGFzc0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoCiAK
ICAgICAgICAgZ2VuZXJhdG9yLmVtaXREaXJlY3RQdXRCeUlkKGNvbnN0cnVjdG9yLmdldCgpLCBn
ZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVuZGVyc2NvcmVQcm90bywgc3VwZXJjbGFzcy5nZXQo
KSwgUHJvcGVydHlOb2RlOjpVbmtub3duKTsKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChz
dXBlcmNsYXNzSXNOdWxsTGFiZWwuZ2V0KCkpOworCisgICAgICAgIC8vIE9PUFM6IHRoaXMgbWFr
ZXMgaXQgc28gdGhhdCBhbnkgZGVyaXZlZCBjbGFzcyBwcm90b3R5cGUgb2JqZWN0IHdpbGwgYWx3
YXlzIGdldCBhIG5ldyBzdHJ1Y3R1cmUKKyAgICAgICAgLy8gaWYgbXVsdGlwbHkgY29uc3RydWN0
ZWQgYmVjYXVzZSB3ZSBkb24ndCBjYWNoZSBwcm90b3R5cGUgdHJhbnNpdGlvbnMuCiAgICAgICAg
IGdlbmVyYXRvci5lbWl0RGlyZWN0UHV0QnlJZChwcm90b3R5cGUuZ2V0KCksIGdlbmVyYXRvci5w
cm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBwcm90b1BhcmVudC5nZXQoKSwgUHJvcGVy
dHlOb2RlOjpVbmtub3duKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzczMyw2ICszNzMzLDggQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAg
ICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0
KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAv
LyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5
aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0
IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhv
dyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8v
IE9PUFM6IHRoaXMgbmVlZHMgYXR0ZW50aW9uCiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHBy
b3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNpemUo
KTsgKytpKSB7CkBAIC00MzA4LDYgKzQzMTAsOCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIG9wX2NyZWF0ZV90aGlz
OiB7CisgICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdoIHRoaXMgY29kZS4KKwogICAg
ICAgICAgICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kOwogICAgICAgICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjYWxs
ZWVPcGVyYW5kKSk7CiAKQEAgLTQzMzAsMTIgKzQzMzQsMTQgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJh
cmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQp
LCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUo
c3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUo
cmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2lu
dHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxp
dmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dy
YXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29s
IEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUq
IGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4u
c2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAg
ICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3Ry
dWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlv
bmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnBy
b3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAg
ICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlz
aW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTUgQEAgSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpT
RnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlv
bio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURh
dGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09i
amVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAg
ICAvL2RhdGFMb2dMbigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwg
UmF3UG9pbnRlcihqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+anNFeGVjdXRhYmxl
KCkpKTsKKworICAgICAgICAgICAgLy8gT09QUzogbWFrZSB0ZXN0IGZvciBwcm90b3R5cGVGb3JD
b25zdHJ1Y3Rpb24sIGRvbid0IHJlbHkgb24gQ2hha3JhIHRlc3RzLgorICAgICAgICAgICAgcmVz
dWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGpzQ2FzdDxK
U0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4
ZWMpKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpT
VmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzNjIs
NiArNDM2Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgLy8gdGhlbiB3ZSBzcGVjdWxhdGUgYmVjYXVzZSB3ZSB3YW50IHRvIGdldCByZWNvbXBp
bGVkIGlmIGl0IGlzbid0IChzaW5jZQogICAgICAgICAvLyBvdGhlcndpc2Ugd2UnZCBzdGFydCB0
YWtpbmcgc2xvdyBwYXRoIGEgbG90KS4KICAgICAgICAgCisgICAgICAgIC8vIE9PUFM6IHdlIHNo
b3VsZCBnbyBzbG93IHBhdGggaGVyZSBmb3IgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAg
IAogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBjYWxsZWUodGhpcywgbm9kZS0+Y2hpbGQx
KCkpOwogICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwogICAgICAgICBHUFJUZW1w
b3JhcnkgYWxsb2NhdG9yKHRoaXMpOwpAQCAtNDM4Niw3ICs0Mzg4LDEzIEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1f
aml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAg
ICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1
bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsK
ICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwg
RnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIp
OworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNz
ZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKworICAgICAgICAvLyBPT1BTOiB3ZSBjYW4g
ZG8gYSBsb3QgYmV0dGVyIGhlcmUKKyAgICAgICAgbV9qaXQubG9hZDY0KEpJVENvbXBpbGVyOjpB
ZGRyZXNzKHN0cnVjdHVyZUdQUiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0
Y2hHUFIpOworICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoSWZJbnQzMihKU1Zh
bHVlUmVncyhzY3JhdGNoR1BSKSkpOworCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0KHJl
c3VsdEdQUiwgbnVsbHB0ciwgYWxsb2NhdG9yR1BSLCBzdHJ1Y3R1cmVHUFIsIFRydXN0ZWRJbW1Q
dHIoMCksIHNjcmF0Y2hHUFIsIHNsb3dQYXRoKTsKICAgICAgICAgCiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRP
ZlJhcmVEYXRhKCkpLCByYXJlRGF0YUdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMyMzcsNyArMzIzNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRC
eVZhbEZvckMKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVn
IHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZykKK3Zv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJS
ZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJS
ZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZykKIHsKICAgICAvLyBDaGVjayB0aGF0
IHByb3RvdHlwZSBpcyBhbiBvYmplY3QuCiAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBK
U1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChwcm90b3R5cGVSZWcpKTsK
QEAgLTMyNDksOCArMzI0OSwxNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFu
Y2VPZkZvCiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AoJm1faml0KTsKICAgICBNYWNy
b0Fzc2VtYmxlcjo6SnVtcCBwZXJmb3JtRGVmYXVsdEhhc0luc3RhbmNlID0gbV9qaXQuYnJhbmNo
OChNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KHNjcmF0Y2hSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIo
UHJveHlPYmplY3RUeXBlKSk7Ci0gICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZt
KCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKLSAgICBtX2ppdC5sb2Fk
UHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90
eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0
LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywg
c2NyYXRjaDJSZWcpOworICAgIC8vbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRP
ZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3Moc2NyYXRjaDNSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNo
M1JlZyk7CisgICAgYXV0byBub3RQb2x5UHJvdG8gPSBtX2ppdC5icmFuY2hJZk5vdEludDMyKEpT
VmFsdWVSZWdzKHNjcmF0Y2gzUmVnKSk7CisgICAgLy8gT09QUzogdGhpcyBpcyB3cm9uZyBpZiB3
ZSBhbGxvdyBvdXQgb2YgbGluZSBvZmZzZXRzIGZvciBwb2x5IHByb3RvLgorICAgIG1faml0Lnpl
cm9FeHRlbmQzMlRvUHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7CisgICAgbV9qaXQubG9h
ZDY0KEpJVENvbXBpbGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIEpJVENv
bXBpbGVyOjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCBz
Y3JhdGNoM1JlZyk7CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5t
b3ZlKHNjcmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1w
IGlzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBzY3Jh
dGNoUmVnLCBwcm90b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9qaXQuYnJh
bmNoSWZDZWxsKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8obG9vcCwgJm1faml0KTsK
QEAgLTMzODEsMTAgKzMzODksMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3Rh
bmNlT2YoTgogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90b3R5cGUodGhpcywgbm9k
ZS0+Y2hpbGQyKCkpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDModGhpcyk7CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJv
dG90eXBlLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7
CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgICAgICBH
UFJSZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAgICAgCiAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElmQ2VsbCh2YWx1ZS5qc1Zh
bHVlUmVncygpKTsKICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuanNWYWx1ZVJlZ3Mo
KS5wYXlsb2FkR1BSKCk7CkBAIC0zMzk0LDcgKzM0MDQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBpc0NlbGwubGluaygmbV9q
aXQpOwogICAgICAgICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwg
dmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgICAg
ICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVn
LCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogICAgICAgICAKICAgICAg
ICAgZG9uZS5saW5rKCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTcsMTUgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAgIEdQUlRlbXBvcmFyeSBz
Y3JhdGNoKHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJU
ZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFs
dWUuZ3ByKCk7CiAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAg
ICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2gy
UmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMu
Z3ByKCk7CiAgICAgCi0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVS
ZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgIGNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hS
ZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVzc2VkQm9vbGVhblJlc3Vs
dChzY3JhdGNoUmVnLCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNzU5
LDcgKzc1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVT
dHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgYm9vbCBub25TcGVjdWxh
dGl2ZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICAKLSAgICB2b2lk
IGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJl
ZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRj
aDJSZWcpOworICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRS
ZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKTsKICAgICB2b2lkIGNv
bXBpbGVJbnN0YW5jZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mQ3VzdG9t
KE5vZGUqKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04ODg3LDEwICs4ODg3LDEy
IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBpc0NlbGxDYXNlID0g
bV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9vcCA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVCaXRzID0gbV9vdXQubmV3
QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90byA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5cGUgPSBtX291dC5uZXdC
bG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5jZSA9IG1fb3V0Lm5ld0Js
b2NrKCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJlY3QgPSBtX291dC5uZXdC
bG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5zdGFuY2VTbG93ID0gbV9v
dXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25kaXRpb247CiAgICAgICAg
IGlmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNlKQpAQCAtODkwOCwx
NiArODkxMCwyOCBAQCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbFZh
bHVlID0gbV9vdXQuYW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5qdW1wKGxvb3ApOwogICAg
ICAgICAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZURpcmVjdCk7
CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVCaXRzKTsKICAgICAg
ICAgTFZhbHVlIHZhbHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5hbFZhbHVlKTsKICAgICAg
ICAgTFZhbHVlIHR5cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1ZSwgbV9oZWFwcy5KU0Nl
bGxfdHlwZUluZm9UeXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9v
dXQubm90RXF1YWwodHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9iamVjdFR5cGUpKSwKLSAg
ICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJhcmVseShkZWZhdWx0SGFz
SW5zdGFuY2VTbG93KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVCaXRzKSwg
cmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAgICBtX291dC5hcHBlbmRU
byhsb2FkUHJvdG90eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIG1fb3V0LmFw
cGVuZFRvKGxvYWRQcm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsKICAgICAgICAgTFZhbHVl
IHN0cnVjdHVyZSA9IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAgICBMVmFsdWUgY3VycmVu
dFByb3RvdHlwZSA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3By
b3RvdHlwZSk7CisKKyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMgPSBtX291dC5sb2FkNjQo
c3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworICAgICAgICBWYWx1ZUZy
b21CbG9jayBkaXJlY3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90b3R5cGVCaXRzKTsKKyAg
ICAgICAgbV9vdXQuYnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyksIHVuc3VyZShsb2FkUG9s
eVByb3RvKSwgdW5zdXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAgICAgICBtX291dC5hcHBl
bmRUbyhsb2FkUG9seVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAgICAgICAgTFZhbHVlIGlu
ZGV4ID0gbV9vdXQuYml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNvbnN0SW50NjQoVUlOVF9N
QVgpKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0gbV9vdXQuYW5jaG9yKAor
ICAgICAgICAgICAgbV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleChtX2hlYXBzLnByb3BlcnRp
ZXMuYXRBbnlOdW1iZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0LCBKU09iamVjdDo6b2Zm
c2V0T2ZJbmxpbmVTdG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29tcGFyZVByb3Rv
dHlwZSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVByb3RvdHlwZSwgbm90WWV0
SW5zdGFuY2UpOworICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LnBoaShJ
bnQ2NCwgZGlyZWN0UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2Nr
IGlzSW5zdGFuY2VSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhblRydWUpOwogICAg
ICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVhbChjdXJyZW50UHJvdG90
eXBlLCBwcm90b3R5cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wY29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDEzIEBAIHZvaWQgSklU
OjplbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8vIExvYWQgdGhlIHByb3Rv
dHlwZSBvZiB0aGUgb2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBlcXVhbCB0byByZWdUMSAt
IFdJTiEKICAgICAvLyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2Ug
aGF2ZSB0aGVuIGRyb3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28gYWdhaW4uCi0gICAgZW1p
dExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMpOwotICAgIGxvYWQ2NChB
ZGRyZXNzKHJlZ1QyLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDIpOworICAg
IGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJlZ1QzKTsKKyAgICBsb2Fk
NjQoQWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1Q0KTsK
KyAgICBhdXRvIGhhc1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJl
Z3MocmVnVDQpKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwgcmVnVDQpOworICAgIGxv
YWQ2NChCYXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0
T2ZJbmxpbmVTdG9yYWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVkUHJvdG90eXBlLmxpbmso
dGhpcyk7CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJbnN0YW5jZSA9IGJy
YW5jaFB0cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElmSlNDZWxsKHJlZ1Qy
KS5saW5rVG8obG9vcCwgdGhpcyk7CiAKQEAgLTc3MCw2ICs3NzUsOCBAQCB2b2lkIEpJVDo6ZW1p
dF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVjdGlvCiAgICAgUmVnaXN0ZXJJRCBjYWNoZWRGdW5jdGlv
blJlZyA9IHJlZ1Q0OwogICAgIFJlZ2lzdGVySUQgc2NyYXRjaFJlZyA9IHJlZ1QzOwogCisgICAg
Ly8gT09QUzogdGhpcyBpcyB3cm9uZyB3LyBwb2x5IHByb3RvIQorCiAgICAgZW1pdEdldFZpcnR1
YWxSZWdpc3RlcihjYWxsZWUsIGNhbGxlZVJlZyk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoOChO
b3RFcXVhbCwgQWRkcmVzcyhjYWxsZWVSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkp
LCBUcnVzdGVkSW1tMzIoSlNGdW5jdGlvblR5cGUpKSk7CiAgICAgbG9hZFB0cihBZGRyZXNzKGNh
bGxlZVJlZywgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFSZWcpOwpA
QCAtNzc4LDYgKzc4NSwxMCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9jcmVhdGVfdGhpcyhJbnN0cnVj
dGlvCiAgICAgbG9hZFB0cihBZGRyZXNzKHJhcmVEYXRhUmVnLCBGdW5jdGlvblJhcmVEYXRhOjpv
ZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVyZVJlZyk7CiAgICAgYWRkU2xvd0Nhc2Uo
YnJhbmNoVGVzdFB0cihaZXJvLCBhbGxvY2F0b3JSZWcpKTsKIAorICAgIC8vIE9PUFMsIHdlIGNh
biBkbyBiZXR0ZXIgaGVyZSEKKyAgICBsb2FkNjQoQWRkcmVzcyhzdHJ1Y3R1cmVSZWcsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoUmVnKTsKKyAgICBhZGRTbG93Q2FzZShi
cmFuY2hJZkludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKSk7CisKICAgICBsb2FkUHRyKGNh
Y2hlZEZ1bmN0aW9uLCBjYWNoZWRGdW5jdGlvblJlZyk7CiAgICAgSnVtcCBoYXNTZWVuTXVsdGlw
bGVDYWxsZWVzID0gYnJhbmNoUHRyKEVxdWFsLCBjYWNoZWRGdW5jdGlvblJlZywgVHJ1c3RlZElt
bVB0cihKU0NlbGw6OnNlZW5NdWx0aXBsZUNhbGxlZU9iamVjdHMoKSkpOwogICAgIGFkZFNsb3dD
YXNlKGJyYW5jaFB0cihOb3RFcXVhbCwgY2FsbGVlUmVnLCBjYWNoZWRGdW5jdGlvblJlZykpOwpA
QCAtODAwLDYgKzgxMSw3IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9jcmVhdGVfdGhpcyhJbnN0
cnUKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGRvZXNuJ3QgaGF2ZSBhbiBhbGxvY2F0aW9u
IHByb2ZpbGUKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkIChu
byBhbGxvY2F0b3IpCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxl
ZCAoYWxsb2NhdG9yIGVtcHR5KQorICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlv
biBmYWlsZWQsIHN0cnVjdHVyZSBoYXMgcG9seSBwcm90bwogICAgIGxpbmtTbG93Q2FzZShpdGVy
KTsgLy8gY2FjaGVkIGZ1bmN0aW9uIGRpZG4ndCBtYXRjaAogCiAgICAgSklUU2xvd1BhdGhDYWxs
IHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0aF9jcmVhdGVf
dGhpcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9u
IDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5
Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBQcm90b3R5
cGVBY2Nlc3NDaGFpbiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hl
ZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNsb3RCYXNl
KCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1Nyw0NCBAQCBzdGF0aWMgSW5saW5lQ2Fj
aGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZl
VXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlT
dHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYmIHN0cnVj
dHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJz
ZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAg
ICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKLSAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAg
ICAgICAgIGRhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7Cisg
ICAgICAgICAgICBkYXRhTG9nTG4oIlByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gd2l0aCBpZGVudGlm
aWVyOiAiLCBTdHJpbmcocHJvcGVydHlOYW1lLmltcGwoKSkpOworICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbihleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGJhc2VDZWxsLCBzbG90KTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNj
ZXNzQ2hhaW4udXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vz
c0NoYWluLmNsZWFyQ2hhaW4oKTsKKworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3ND
aGFpbi5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG4oIkludmFsaWQgcHJv
dG90eXBlIGFjY2VzcyBjaGFpbi4iKTsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG4oIkJhc2U6
ICIsIGJhc2VWYWx1ZSk7CisgICAgICAgICAgICAgICAgLy8gT09QUzogVGhpcyBvYnZpb3VzbHkg
aXMgbm90IGNvcnJlY3QuCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Cisg
ICAgICAgICAgICB9ICBlbHNlIHsKKyAgICAgICAgICAgICAgICBkYXRhTG9nTG4oIlZhbGlkIHBy
b3RvdHlwZSBhY2Nlc3MgY2hhaW4uIik7CisgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFwcm90
b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAo
c2xvdC5pc1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2Vu
ZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAg
ICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFz
ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxp
ZCgpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAg
ICAgIH0KKwogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRP
ZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAg
ICAgICAgIC8vIE9PUFM6IGFyZSB0aGVzZSBleHByZXNzaW9uIGVxdWl2YWxlbnQ/CisgICAgICAg
ICAgICAvL29mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlv
blNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgb2Zmc2V0ID0g
c2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAg
ICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdldHRlciA9IG51bGxwdHI7CkBAIC0yOTks
NyArMzIyLDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBz
bG90LmlzVW5zZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nl
c3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNl
OjpNaXNzIDogQWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBv
aW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgcHJvdG90
eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBB
Y2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXND
YWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzksNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2Fj
aGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAg
ICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDog
bnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9tQXR0cmlidXRlLCBwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2
NiwxMCArNzY2LDkgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF9ieV9pZAog
ICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRPZmZz
ZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0dXJlSUQgPSBzdHJ1
Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShwY1s4XS51LnB1dEJ5
SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0
cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNlbGwpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVCbG9jaywgY2hhaW4p
OwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgcGNb
OF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+KAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9u
IDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMg
aW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNTdGF0ZSYgc3RhdGUs
IEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBhdXRvJiB2bSA9IHN0
YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAKIHN0YXRpYyBKU1Zh
bHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTU3Ry
aW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2MDksNyBAQCBzdGF0
aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgICAg
IGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAg
ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAg
ICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC02MzQs
NyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAg
ICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVtYmVyKHZhbHVlKSk7
CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0Jl
T0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAgICAgICAgICAgIGlm
IChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAg
ICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9s
ZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtODE2LDcgKzgxNSw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYg
KGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRhdGEoKTsKLSAgICAg
ICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0
YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsg
bGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAg
LTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9G
CiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXNEb3Vi
bGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBo
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBp
ZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJl
dmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0gKnRoaXNPYmplY3Qt
PmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IHN0b3Jh
Z2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0b3Jh
Z2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNP
YmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAgICAgIHN0ZDo6cmV2
ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTExNzQsNyArMTE3Myw3IEBAIHN0YXRpYyBi
b29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3Jh
Z2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0dXJlKCktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VMWSghaGFzQW55QXJy
YXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHNvdXJj
ZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlKSB7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5j
cHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Ns
b25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgQ2xvbmVk
QXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAog
ICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKGFzT2JqZWN0KHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZyhhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKSkpKSB7CiAgICAgICAg
IGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3Ry
dWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7CiAKQEAgLTgxLDcg
KzgxLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIC8v
IE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Yg
b2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBvZiB0aGUgY2FsbGVl
LiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAgICAgQ2xv
bmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwot
ICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
IHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUo
KSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5p
bmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCArMTI1
LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9IH0K
IAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3Vt
ZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCghcmVz
dWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93
UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0
RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3Vs
dCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwg
bW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0NSw3ICsxNDUs
NyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgCiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQtPnB1dERpcmVj
dEluZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAgICBBU1NFUlQo
IXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0
KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBl
KCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjQzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsMTQgQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9w
ZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVE
YXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3Ry
dWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkg
eworICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3Rv
T2Zmc2V0KCksIGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMp
KTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0IGZvciBl
eGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOwor
ICAgICAgICAgICAgLy9kYXRhTG9nTG4oIk1hZGUgcG9seSBwcm90byBvYmplY3Q6ICIsIFJhd1Bv
aW50ZXIocmVzdWx0KSwgIiB3aXRoIF9fcHJvdG9fXzogIiwgcHJvdG90eXBlKTsKKyAgICAgICAg
ICAgIC8vZGF0YUxvZ0xuKCJDb25zdHJ1Y3RvciBjbGFzcyBuYW1lOiAiLCBjb25zdHJ1Y3Rvci0+
Y2xhc3NJbmZvKHZtKS0+Y2xhc3NOYW1lLCAiIGlzIEpTRnVuY3Rpb24gY2xhc3MgaW5mbzogIiwg
Y29uc3RydWN0b3ItPmNsYXNzSW5mbyh2bSkgPT0gSlNGdW5jdGlvbjo6aW5mbygpKTsKKyAgICAg
ICAgICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICB9CisgICAg
ICAgIC8vZGF0YUxvZ0xuKCJjcmVhdGVfdGhpcyByZXN1bHQ6ICIsIEpTVmFsdWUocmVzdWx0KSk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcv
ZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAgICAg
SlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjp2aXNp
dENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52aXNpdFdlYWtseSh2
aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3VubGlua2VkRXhlY3V0
YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5nbGV0b25GdW5jdGlv
bik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90
b3R5cGVTdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0aW9uRXhlY3V0
YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE3Myw2ICsxNzMsOSBAQCBwdWJsaWM6CiAKICAgICBJbmZlcnJlZFZhbHVlKiBz
aW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0K
IAorICAgIC8vIE9PUFM6IGFkZCBtZXRob2RzIGZvciB0aGlzLgorICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlOworCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKICAgICBGdW5jdGlvbkV4ZWN1dGFi
bGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRh
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5
LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lk
IEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNp
emVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9u
KiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxp
emUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3Qs
IHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9p
ZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAg
ICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAh
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNp
b24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5j
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxMyBAQCBjb25zdCBTdHJpbmcg
SW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlv
bjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBu
ZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAgICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNT
RVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0b3IoKSk7CiAgICAgQVNTRVJU
KG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxsZWUoKSk7CiAKKyAgICBBU1NF
UlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisKICAgICAvLyBuZXdUYXJnZXQg
bWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0
LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nh
c3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDIyMjQzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNT
dGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBBcnJheVdpdGhDb250
aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAgICAgaWYgKGNvdW50
ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJS
QVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7
CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3Rv
cmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xlcyBvciBpcyBvdGhl
cndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBnZW5lcmljIGFsZ29y
aXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYg
dGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgCisg
ICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8fCBoYXNTcGFyc2VN
YXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5cGUoKSkpIHsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsxMDQ4LDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZv
ciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBk
b24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiBy
ZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAg
IHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBp
ZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVu
ZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1
b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYp
KSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55
SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3
ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5
IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxk
IGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0g
b2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAg
ICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBj
b3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTE0MzYs
NyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAg
ICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0g
Z2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJl
Y3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIy
NDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEsOCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5G
YXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXku
cHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5n
IHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkocmV2
aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1
bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYgKzEzNSw3IEBAIGlubGluZSBTdHJ1
Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1Y3QKICAgICAvLyBpc24ndCBhbnkgZ29vZCBwbGFj
ZSB0byBwdXQgdGhlIHN0cnVjdHVyZSBvbiBJbnRlcm5hbCBGdW5jdGlvbnMuCiAgICAgaWYgKHRh
cmdldEpTRnVuY3Rpb24pIHsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0YXJnZXRK
U0Z1bmN0aW9uLT5yYXJlRGF0YSh2bSktPmdldEJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAg
ICAgICAgLy8gT09QUzoKICAgICAgICAgaWYgKHN0cnVjdHVyZSAmJiBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpID09IHByb3RvdHlwZSAmJiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09
IGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlz
aW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1
bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAg
b3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAg
IG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxs
KCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4
dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChT
dHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFz
Q2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1
cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAg
IG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwog
I2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVl
Iik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNiwxNiArMTI2LDIyIEBAIEZ1bmN0aW9u
UmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJlRGF0YS5n
ZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVjdGlv
bihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGdl
dChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOworICAgIGlmIChwcm90b3R5cGUu
aXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICBy
ZXR1cm4gZ2xvYmFsT2JqZWN0KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9u
UmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNT
dGF0ZSogZXhlYywgc2l6ZV90IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJl
RGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBl
ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMt
Pmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlw
ZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3Rv
dHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25S
YXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJh
cmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQg
bWF5IGJlIHRyeWluZyB0byByZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVu
c3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1NSw4
IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NF
UlQoISFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0
KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAg
ICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3Jh
cmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9
IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQo
KTsKIH0KIApAQCAtMzQxLDYgKzM0NCwxOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpj
YWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihl
eGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2
ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZh
bHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBj
b25zdHJ1Y3RvcikKK3sKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAg
ICAgIHJldHVybjsKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUt
PnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICBpZiAocmFyZURhdGEtPm5l
ZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICByYXJlRGF0YS0+ZW5zdXJlSW5mZXJy
ZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3Ry
dWN0b3IgPSBqc0R5bmFtaWNDYXN0PEluZmVycmVkVmFsdWUqPih2bSwgcmFyZURhdGEtPmluZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpKSkKKyAgICAgICAgaW5mZXJyZWRD
b25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyAucHJvdG90
eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJv
cGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CkBAIC0zNzEsNyArMzg2LDYgQEAgYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0
eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zmc2V0ID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0T2Zm
c2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGF0dHJpYnV0ZXMpOwogICAgICAg
ICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAgICAgIH0KLQogICAgICAg
ICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXMsIHRoaXNPYmplY3QtPmdldERp
cmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAgIH0KIApAQCAtNDUyLDYgKzQ2Niw3IEBAIGJvb2wg
SlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1MKICAgICAgICAgdGhpc09iamVjdC0+
bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJv
cGVydHlOYW1lLCBnZXRTbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEp
CiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJv
dG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaW5mZXJDb25zdHJ1Y3Rv
clZhbHVlSWZOZWVkZWQodm0sIHZhbHVlLCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUucmVs
ZWFzZSgpOwogICAgICAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3Bl
cnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIH0KQEAgLTUxOCw2ICs1MzMsOCBAQCBib29sIEpT
RnVuY3Rpb246OmRlZmluZU93blByb3BlcnR5KEpTT2JqCiAgICAgICAgIHRoaXNPYmplY3QtPm1l
dGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3Bl
cnR5TmFtZSwgc2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAg
ICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlw
ZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGlmIChkZXNjcmlwdG9yLnZhbHVl
KCkpCisgICAgICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgZGVzY3Jp
cHRvci52YWx1ZSgpLCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAg
ICAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3duUHJvcGVydHkob2JqZWN0LCBleGVjLCBwcm9wZXJ0
eU5hbWUsIGRlc2NyaXB0b3IsIHRocm93RXhjZXB0aW9uKTsKICAgICB9CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI0MzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFt
ZShFeGVjU3RhdGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90
b19fIGZvciB0aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNv
bnN0cnVjdGVkLgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBF
eGVjU3RhdGUqKTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0m
LCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDcgKzU2LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgog
ICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAh
PSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJl
Y3QoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBA
IGJvb2wgSlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFn
bG9iYWxPYmplY3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYg
KHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5
cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NzAsNyArNzcwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUqIAog
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSktPmdldCh2
bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQo
b2Zmc2V0KSkgewogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBSZWFkT25seSkgewotICAg
ICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVy
Y2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOworICAgICAgICAg
ICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0
b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpcykgfHwgb2JqID09IHRoaXMpOwogICAgICAgICAg
ICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCks
IEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICAgICAg
fQogCkBAIC0xMDE1LDcgKzEwMTUsNyBAQCBCdXR0ZXJmbHkqIEpTT2JqZWN0OjpjcmVhdGVJbml0
aWFsSW5kZXhlCiAgICAgQVNTRVJUKGxlbmd0aCA8PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RI
KTsKICAgICBJbmRleGluZ1R5cGUgb2xkVHlwZSA9IGluZGV4aW5nVHlwZSgpOwogICAgIEFTU0VS
VF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5cGUpKTsKLSAgICBB
U1NFUlQoIXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICBBU1NFUlQo
IXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgQVNTRVJUKCFp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhp
cy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5ID0gc3RydWN0
dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0
ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9sZFN0cnVjdHVy
ZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVsbCgpKTsKICAg
ICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7Ci0g
ICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNp
dGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwogICAgIG51a2VTdHJ1Y3R1cmVB
bmRTZXRCdXR0ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNl
dFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIw
Niw3ICsxMjA2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAog
CiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uo
Vk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0s
IHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAg
cmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNE
b3VibGVzIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0RvdWJsZShWTSYgdm0pCkBAIC0xMjY0LDcg
KzEyNjQsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FyCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKFZNJiB2bSkK
IHsKLSAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2
bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZl
cnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0
Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZNJiB2bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBA
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0EKIAogQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0RG91Ymxl
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24odGhpcykpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29u
dGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5z
aXRpb24pCkBAIC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252
ZXJ0Q29udGlndW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3Vz
VG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZt
LCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsK
IH0KIAogdm9pZCBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZEZvclZhbHVlKFZNJiB2bSwgSlNW
YWx1ZSB2YWx1ZSkKQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09i
amVjdDo6ZW5zdXJlSW50MzIKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAg
ICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkg
fHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAg
ICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5p
dGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNDc0LDcgKzE0NzQsNyBAQCBDb250aWd1
b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91YmxlCiAgICAgCiAgICAgc3dpdGNoIChpbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICBy
ZXR1cm4gY3JlYXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsx
NTAzLDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAog
ICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVO
TElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFs
dWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQ29udGlndW91cyh2bSwgMCk7CiAg
ICAgICAgIApAQCAtMTU0MCwyMiArMTU0MCwyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpl
bnN1cmVBcnJheVN0b3JhCiAgICAgICAgIAogICAgIGNhc2UgQUxMX1VOREVDSURFRF9JTkRFWElO
R19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAg
ICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAg
ICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsK
ICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAg
ICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQo
IWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29udmVydElu
dDMyVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
LSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
KyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlz
KSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0pOwogICAg
ICAgICAKICAgICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBB
U1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29u
dmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6
CkBAIC0xNjMzLDE0ICsxNjMzLDE4IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dChWTSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHZtLnByb3Rv
dHlwZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3QocHJvdG90eXBlKSk7CiAgICAgCi0gICAgU3Ry
dWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRp
b24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBu
ZXdTdHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgZGF0YUxvZ0xuKCJ0cmFuc2l0
aW9uaW5nIGZyb20gX19wcm90b19fIHNldCwgZnJvbSBwb2x5IHByb3RvOiAiLCAhc3RydWN0dXJl
KHZtKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJv
dG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOworICAgIH0g
ZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQcm90b09mZnNl
dCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFzdHJ1Y3R1cmUodm0pLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHRoaXMpKQogICAgICAgICByZXR1cm47CiAg
ICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkgewotICAgICAg
ICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOworICAgICAg
ICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1NSw4IEBAIEpTVmFsdWUgSlNP
YmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdo
YXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90
eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJl
KCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNo
YWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7
IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9i
amVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVy
bmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAg
aWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MzEsNyBAQCBib29sIEpT
T2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0
QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAg
ICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAs
IDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUg
dG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRl
QXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAx
KSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwg
c2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODgzLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGly
ZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7
CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KHRoaXMpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJh
eVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsK
ICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwog
ICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICsz
NTYzLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3Qt
PnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5p
bmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjI0
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8o
KSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVh
cDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAg
ICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCkt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChn
ZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdv
cmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNT
RVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlubGluZSBK
U09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgp
LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShW
TSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwMCw4IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAg
ICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
Ly8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9lc24ndCBpdCBjYWxsIHRoZSBn
ZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlw
ZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3
ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAg
IGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90
eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9
PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAg
ICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAg
ICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVj
KTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1
MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAg
ICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFko
c3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1
bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNs
b3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUg
PSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBA
QCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAg
aWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUp
KSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNT
RVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2Vw
dFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkpOwogICAgICAgICBpZiAoIXRo
aXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2Nv
cGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3Jp
dGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCShy
ZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlu
bGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVuZ3RoCiAg
ICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkg
PT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51bWVyYXRv
ci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4
ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQzMl90IG51
bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDkgKzEzNiwxMSBAQCBpbmxpbmUg
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgbm9ybWFsaXplUHJvdG90eXBl
Q2hhaW4oZXhlYywgc3RydWN0dXJlKTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJT
dHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJh
dG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFp
bihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJv
cGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVu
Z3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKSB7CisgICAgICAgIGVudW1l
cmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3Bl
cnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIH0KICAgICByZXR1cm4gZW51
bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNw
cAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVj
dC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgp
KQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJv
dG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5k
Tm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNTZXRQcm90b3R5cGVB
ZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0
cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xh
enlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtODMs
NiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShjb25zdCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09QUy4gbWFr
ZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMuCiAgICAg
ICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJuIGdldChn
bG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMgKzEwMiw2
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgp
OwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29u
c3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJl
bnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVj
dCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJu
IG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsx
NDMsMTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZQogICAgIHdo
aWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAg
IHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBk
ZWZpbml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JM
b29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE3ICs1NCwz
OCBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0CiAgICAgLy8gdXNl
ZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpj
cmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyog
Y2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBv
bHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CisgICAgLy8g
T09QUzogbWFrZSBzdXJlIHRoaXMgaXNuJ3QgY2FsbGVkIHcvIHByb3RvdHlwZT1udWxscHRyIGZv
ciB2YWxpZCByZWFzb25zLgorICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5
UHJvdG9TdHJ1Y3R1cmUgPyBudWxscHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xh
c3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1f
c3RydWN0dXJlcy5nZXQoa2V5KSkgeworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVy
ZSkgeworICAgICAgICAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAg
ICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CisKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZt
KCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGlu
Z1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxw
dHI7CisKKyAgICAvLyBPT1BTOiBmaWd1cmUgb3V0IHdoYXQgdG8gZG8gaGVyZS4gVGhpcyBmZWVs
cyBsaWtlIHRoZSB3cm9uZyBwbGFjZSB0byBkbyB0aGlzLgorICAgIGlmIChtYWtlUG9seVByb3Rv
U3RydWN0dXJlKSB7CisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3Rv
dHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKTsKKyAgICAgICAgQVNTRVJUKHJhcmVEYXRh
LT5uZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkpOworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgICAgICByYXJlRGF0YS0+c2V0UG9seVByb3RvU3RydWN0dXJl
KHZtLCBzdHJ1Y3R1cmUpOworICAgIH0KKworICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAg
IHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICB9CiAgICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0
dXJlPihzdHJ1Y3R1cmUpKTsKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsMjAgKzk0
LDIxIEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAv
LyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNp
cyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBo
YXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5k
ZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3Rv
dHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChw
cm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKHByb3RvdHlwZSkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBl
KSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBl
TWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1w
dHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJ
bmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAg
IHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFz
ZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4
aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUq
IFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3Jl
YXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6
OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0
cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8o
KSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdU
eXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQg
UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9i
amVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0
KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5s
aW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYs
MTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1
Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0Kiwg
SlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZB
VEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQ
cm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUq
IGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0
cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBl
KEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0Kikg
Y29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0g
ICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhp
bmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01h
cDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2Ug
dGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2Jq
ZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVj
dHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxz
dGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFs
T2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAko
cmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3Ry
dWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJl
U3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxp
bmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0
aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwg
dGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJl
dmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dh
dGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyOCBA
QCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8
U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1
cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlw
ZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdU
eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9
IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8s
IGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgLy9kYXRhTG9nTG4oIk1ha2lu
ZyBwb2x5IHByb3RvIHN0cnVjdHVyZTogIiwgUmF3UG9pbnRlcihyZXN1bHQpKTsKKworICAgIHVu
c2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgp
OyAvLyBPT1BTOiBtYXliZSB0aGlzIHNob3VsZCBhbHdheXMgc3RhcnQgYXMgemVybz8KKyAgICBy
ZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBE
b250RW51bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3
TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09Q
UzogbGV0cyBtYWtlIGEgZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHBy
b3RvLCBzaW5jZSBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVh
ZHkga25vd3Mgd2hlbiBpdCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAg
Ly9kYXRhTG9nTG4oIlNldHRpbmcgbV9wcm90b3R5cGUgdG86ICIsIGpzTnVtYmVyKG9mZnNldCkp
OworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1i
ZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9m
ZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1
Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1
Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRh
YmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5
OCwyNiArNDIwLDMwIEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQK
ICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwo
c3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJl
OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jv
b2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJy
ZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhp
cyk7IC8vIE9PUFM6IExldCdzIGp1c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/CisgICAgVk0mIHZt
ID0gKmJhc2UtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IGJhc2U7
IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAotICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwog
ICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVj
dHVyZSgpOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICB9CiB9
CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBj
b25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0s
IEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0p
ID09IHRoaXMpOworCiAgICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQ
cm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUp
OwpAQCAtNDI2LDcgKzQ1Miw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Q
cm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUo
dm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5
cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlw
ZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpA
QCAtNDM2LDE1ICs0NjIsMTYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZyhK
U09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0
dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBKU09iamVjdCogbWV0aG9k
PworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KGJhc2UpCiAgICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7CiB9
CiAKLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSBjb25zdAorTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAg
ICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhp
bmcoYmFzZSkpIC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBtZXRob2QKICAg
ICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlT
dG9yYWdlOwogICAgIAogICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRl
QXJyYXlTdG9yYWdlOwpAQCAtNTU1LDYgKzU4Miw3IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpj
aGFuZ2VQcm90b3R5cGVUcmEKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAgICAgU3Ry
dWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCisgICAgLy8gT09Q
UzogdGhpcyBuZWVkcyB0ZXN0aW5nIQogICAgIHRyYW5zaXRpb24tPm1fcHJvdG90eXBlLnNldCh2
bSwgdHJhbnNpdGlvbiwgcHJvdG90eXBlKTsKIAogICAgIFByb3BlcnR5VGFibGUqIHRhYmxlID0g
c3RydWN0dXJlLT5jb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcodm0pOwpAQCAtMTA2NywxMSAr
MTA5NSw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAg
ICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJl
RGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1
cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9y
TG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAg
IFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTEx
MDksNyArMTEzMiw3IEBAIGJvb2wgU3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAg
ICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseSht
X2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0
KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkp
KTsKKyAgICAgICAgJiYgKCFoYXNTdG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCkpKTsKIH0KIAogYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQpAQCAtMTEyMSwyMCArMTE0NCwyNCBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hl
YXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpw
cm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKQorYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBiYXNlKQog
eworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9P
UFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBtZXRob2QuCisKICAgICBpZiAocGFyc2VJ
bmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhiYXNlKTsKICAgICAKLSAgICBmb3IgKFN0cnVj
dHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBj
dXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0g
YmFzZTsgOykgeworICAgICAgICAvLyBPT1BTOiBNYXliZSB0aGlzIG5lZWRzIHNvbWUgY2xvc2Vy
IGF0dGVudGlvbiwgYnV0IEknbSBub3Qgc3VyZSBob3cgd2UgY2FuIHNheQorICAgICAgICAvLyBt
dWNoIGFib3V0IG91ciBwcm90b3R5cGUgY2hhaW4gd2l0aG91dCBrbm93aW5nIGNvbnN0YW50IHBy
b3RvdHlwZSB2YWx1ZXMuLi4KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90
b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVj
dChwcm90b3R5cGUpOwogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAg
ICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5h
bWUsIGF0dHJpYnV0ZXMpOworICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50
LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgCkBAIC0xMTcyLDYgKzExOTksNyBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0
cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgICAgICAgICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJl
U2hhcGU6OmNyZWF0ZSgpOwogICAgICAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBl
LmNvcHlSZWYoKSk7CiAgICAgICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOwor
ICAgICAgICAgICAgLy8gT09QUzoKICAgICAgICAgICAgIGN1clZhbHVlID0gY3VyU3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKTsKICAgICAgICAgfQogCkBAIC0xMTgxLDEzICsxMjA5LDYgQEAg
UmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dQogICAgIHJldHVybiBiYXNl
U2hhcGU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVj
dHVyZSogb3RoZXIpCi17Ci0gICAgcmV0dXJuIGlubGluZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlu
bGluZUNhcGFjaXR5KCkKLSAgICAgICAgJiYgc3RvcmVkUHJvdG90eXBlKCkgPT0gb3RoZXItPnN0
b3JlZFByb3RvdHlwZSgpCi0gICAgICAgICYmIG9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpID09
IG90aGVyLT5vYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6
OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoUmF3UG9pbnRl
cih0aGlzKSwgIjpbIiwgY2xhc3NJbmZvKCktPmNsYXNzTmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3
ICsxMjIzLDkgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgYwogICAg
IAogICAgIG91dC5wcmludCgifSwgIiwgSW5kZXhpbmdUeXBlRHVtcChpbmRleGluZ1R5cGUoKSkp
OwogICAgIAotICAgIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKKyAgICBpZiAoIWhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNl
dDoiLCBwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCku
aXNDZWxsKCkpCiAgICAgICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJv
dG90eXBlLmdldCgpLmFzQ2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkp
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVm
IEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9
IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBl
bnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQ
cm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEz
OCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVCht
X3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAg
QVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwg
bV9wcm90b3R5cGUuaXNJbnQzMigpKTsKICAgICB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcpCkBAIC0xNjcsNyArMTY5LDcgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdT
dHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwg
dW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3Ry
dWN0dXJlKFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJv
cGVydHlPZmZzZXQmKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiByZW1vdmVQcm9wZXJ0eVRyYW5z
aXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5T2Zmc2V0Jik7Ci0g
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJh
bnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKKyAgICBzdGF0aWMg
U3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNW
YWx1ZSBwcm90b3R5cGUpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IGF0dHJpYnV0ZUNoYW5nZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1
Y3R1cmUqIHRvQ2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBE
ZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogPSBudWxscHRyKTsKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiB0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24oVk0m
LCBTdHJ1Y3R1cmUqKTsKQEAgLTI0MCwyNiArMjQyLDQ0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNj
ZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJv
b2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7CisgICAgSlNfRVhQT1JU
X1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KEpTT2JqZWN0KikgY29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
Vk0mLCBKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5n
KEpTT2JqZWN0KikgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0
LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxs
ZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAg
ICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBp
biBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlz
LCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBl
KCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzU3Rv
cmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUu
Z2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNv
bnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7
CisgICAgICAgIC8vIE9PUFMuIG1heWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPworICAgICAgICBy
ZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQ
cm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzU3Rv
cmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQz
MigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCop
IGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmpl
Y3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25z
dCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVj
dCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29u
c3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAg
ICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAg
ICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1
Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0Owot
ICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAg
ICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFz
ZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHBy
b3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0
aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAg
Ly8gQSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291
bGQgb25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3NCwxMiArMjk0LDI1
IEBAIHB1YmxpYzoKICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7CiAgICAgICAg
IAogICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHBy
b3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWlu
TWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0
eU5hbWUsIEpTT2JqZWN0Kik7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAg
ICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQo
KSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwor
ICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisg
ICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJh
cmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAg
IFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NjYsNiBA
QCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwog
ICAgIH0KICAgICAKLSAgICB2b2lkIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeUZvckVudGlyZUNoYWluKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAg
Ym9vbCBoYXNJbmZlcnJlZFR5cGVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1f
aW5mZXJyZWRUeXBlVGFibGU7CkBAIC01OTAsMTAgKzYxNyw2IEBAIHB1YmxpYzoKIAogICAgIFJl
ZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKICAgICAKLSAgICAv
LyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlz
IG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBv
bmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOwotICAgIAog
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4
dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CiAgICAgdm9pZCBkdW1wQnJpZWYo
UHJpbnRTdHJlYW0mLCBjb25zdCBDU3RyaW5nJikgY29uc3Q7CkBAIC03MjAsOCArNzQzLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zm
c2V0LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Owot
ICAgIGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90
eXBlQ2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0Owog
CiAgICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2Uu
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBW
TSYsIFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzU0LDYgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwog
ICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewot
ICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9
Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zm
c2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7
CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZpc2lv
biAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJlQ2hh
aW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hhaW46
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNPYmpl
Y3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7CisK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0g
c3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7CisK
KyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1
cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVP
YmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVu
dC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAg
ICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmllcih0
aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJl
RmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNoYWlu
KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVyZUNo
YWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBTdHJ1
Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmVD
aGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0cnVj
dHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7CkBA
IC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwq
KTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1Y3R1
cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAg
ICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBo
ZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxs
KCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUo
KSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwotICAg
ICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBj
dXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50
LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2kr
K10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAubXV0
YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAgIH0K
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBwcml2
YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJ
bmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5saW5lIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNT
dG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgp
OwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02
OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAog
CiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgp
IGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAg
IEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9i
amVjdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0
dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3Rv
dHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJU
KG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAg
IGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlw
ZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7Cisg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOwor
ICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5F
IEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVj
dCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJl
KCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQcm90
b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpT
VmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAg
aWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4g
YXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJl
OjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QK
K3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVj
dCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQoVk0m
IHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0
ZXM7CkBAIC0xNjgsOCArMTk4LDIxIEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNpdGl2
ZWx5VHJhbnMKIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VS
VChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJl
dHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgp
OworICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQorICAgICAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVCh0eXBlSW5m
bygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJp
bmdQcm90b3R5cGUoKTsKK30KKworaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVG
b3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlKSBjb25z
dAoreworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBP
T1BTIGRlYnVnIGFzc2VydD8KKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0
b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7CiAgICAgaWYgKHR5cGVJbmZvKCkudHlwZSgp
ID09IFN5bWJvbFR5cGUpCiAgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3Rv
dHlwZSgpOwogCkBAIC0xODIsMjcgKzIyNSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUZvckxvCiAgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCkpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVy
ZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBj
b25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8g
T09QUzogbWF5YmUgZGVidWc/CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBz
byBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVj
dCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNo
ZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0s
IHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUo
KSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hh
aW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBl
Rm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBl
Q2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUu
aXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAgICBy
ZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVy
ZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QK
K2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVD
aGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVy
biBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCks
IGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBj
b25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3Qq
IGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29r
dXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxv
b2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBj
YWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxl
ICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYg
KGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0
KCkpCkBAIC0yMTMsMTEgKzI1Nyw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChK
U0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0
dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVD
aGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkK
QEAgLTQwMCw3ICs0MzksNyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1v
dmVQCiAgICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUg
dm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0
YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0m
IHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUu
c2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAy
MjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0
YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1
cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVX
YXRjaHBvaW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJK
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1
ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6dmlzaXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJl
dmlvdXMpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdW
YWx1ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVk
Q29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Io
KSBjb25zdApAQCAtMTc1LDYgKzE3Nyw1MyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0pT
VmFsdWUgU3RydWN0dXJlUmFyZURhdGE6OmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSgpCit7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlLmdldCgpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc1BvbHlQ
cm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9y
T3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBp
bmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIGlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkpCisgICAgICAgIHJldHVybiBp
bmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICBBU1NFUlQoaW5m
ZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmFzQ2VsbCgpLT5pbmhlcml0cyh2
bSwgU3RydWN0dXJlOjppbmZvKCkpKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cnVjdHVy
ZSogU3RydWN0dXJlUmFyZURhdGE6OnBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAg
SlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5p
bmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIGluZmVycmVkQ29u
c3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURh
dGE6OmlzUG9seVByb3RvKFZNJiB2bSkKK3sKKyAgICByZXR1cm4gbmVlZHNQb2x5UHJvdG9TdHJ1
Y3R1cmUodm0pIHx8ICEhcG9seVByb3RvU3RydWN0dXJlKHZtKTsKK30KKworYm9vbCBTdHJ1Y3R1
cmVSYXJlRGF0YTo6bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkKK3sKKyAgICByZXR1cm4gIWlu
ZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworfQorCitJbmZlcnJlZFZh
bHVlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0p
Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3Rv
U3RydWN0dXJlKTsKKyAgICBJbmZlcnJlZFZhbHVlKiByZXN1bHQgPSBJbmZlcnJlZFZhbHVlOjpj
cmVhdGUodm0pOworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
LnNldCh2bSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFN0
cnVjdHVyZVJhcmVEYXRhOjpzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKK3sKKyAgICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0
aG9kcyBmb3IgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNs
YXNzZXMgLS0tLS0tLS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQ6Ok9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1
cmVSYXJlRGF0YSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNs
YXNzIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9i
amVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMjIg
QEAgcHVibGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlO
YW1lRW51bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51
bWVyYXRvcihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJl
IGEgdGhlIHN0cnVjdHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0
IG91ciBmdW5jdGlvbiBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVy
ZSBpcyB1cy4KKyAgICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1
Y3R1cmUgb2YgYW4gb2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAor
ICAgIC8vIG9mIGEgY29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdl
IHdhbnQgdG8gaW5mZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8v
IElmIHdlIGRvLCB0aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
IHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhCisgICAgLy8gSlNGdW5jdGlv
bi4gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIGZpZWxkIGVp
dGhlciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZQorICAgIC8vIHRoYXQgaXMgaW52YWxpZGF0
ZWQuIElmIHdlIGV2ZXIgY29uc3RydWN0IGFuIG9iamVjdCB3aG8ncyBfX3Byb3RvX18gcG9pbnRz
IHRvIHRoaXMgcHJvdG90eXBlLCB0aGVuCisgICAgLy8gd2UgbW92ZSBtX2luZmVycmVkQ29uc3Ry
dWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSB0byB0aGUgU3RydWN0dXJlIG9mIHRoZSBvYmplY3Qg
dGhhdCBzaG91bGQgYmUgY3JlYXRlZAorICAgIC8vIHRoYXQgaGFzIHBvbHkgcHJvdG8uCisgICAg
SW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIEpTVmFs
dWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgYm9vbCBu
ZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYpOworICAgIGJvb2wgbmVlZHNJbmZlcnJlZENvbnN0
cnVjdG9yKCk7CisgICAgdm9pZCBzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1cmUq
KTsKKyAgICBTdHJ1Y3R1cmUqIHBvbHlQcm90b1N0cnVjdHVyZShWTSYpOyAvLyBNYXkgYmUgbnVs
bHB0ciBpZiBub3QgcG9seSBwcm90byBvciBwb2x5IHByb3RvIHN0cnVjdHVyZSBoYXMgeWV0IHRv
IGJlIGluc3RhbnRpYXRlZC4KKyAgICBib29sIGlzUG9seVByb3RvKFZNJik7CisKICAgICBERUNM
QVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArOTMsNyBAQCBwcml2YXRlOgog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVy
PEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAg
IFdyaXRlQmFycmllcjxVbmtub3duPiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0
cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hw
b2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3Jl
cGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2
ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFs
dWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQog
ICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9Cisg
ICAgYm9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAg
Ym9vbCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBp
c0dldHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUu
aAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
cmFwcGVyQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBKCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBw
ZXJDbGFzcz4gaW5saW5lIEpTQzo6SlNPYmplY3QqIGdldERPTVByb3RvdHlwZShKU0M6OlZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKKyAgICAvLyBPT1BTOiBsb29r
IGludG8gdGhpcwogICAgIHJldHVybiBKU0M6OmpzQ2FzdDxKU0M6OkpTT2JqZWN0Kj4oYXNPYmpl
Y3QoZ2V0RE9NU3RydWN0dXJlPFdyYXBwZXJDbGFzcz4odm0sIGdsb2JhbE9iamVjdCktPnN0b3Jl
ZFByb3RvdHlwZSgpKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321660</attachid>
            <date>2017-09-24 16:21:59 -0700</date>
            <delta_ts>2017-09-24 21:17:50 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>158977</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDM2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIHByaW50KGBSZXN1bHQgZnJvbSBmb28o
KTogYCwgJHZtLnZhbHVlKHJlc3VsdCkpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBs
ZXQgcmVzdWx0ID0gZm9vKCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2Vz
ID0gWworICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAg
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorXTsKKworbGV0IHAgPSB1bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAg
YXNzZXJ0KHgueCA9PT0gMjApOworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSBvZiBpbnN0
YW5jZXMpCisgICAgICAgIHZhbGlkYXRlKGkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by1zZXQtcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2
OCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcigiYmFkIik7Cit9CisKK2xldCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgp
IHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3Rv
MiA9IHsKKyAgICBnZXQgeSgpIHsgcmV0dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAg
ICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0
LnByb3RvdHlwZSwgIngiLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7
IH0KK30pOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0
cnVjdG9yKCkgeworICAgICAgICAgICAgdGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsK
KyAgICByZXR1cm4gbmV3IEM7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBh
c3NlcnQoby54ID09PSBwKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtd
OworZm9vKCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9v
KCkpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBv
ZiBhcnIpCisgICAgICAgIHZhbGlkYXRlKGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIp
IHsKKyAgICBwcmludCgiU2V0dGluZyBhbHRlcm5hdGUgcHJvdG8iKQorICAgIGEuX19wcm90b19f
ID0gYWx0ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7Cisg
ICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgcHJpbnQoIlRlc3RpbmcgbnVsbCBjYXNl
Iik7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgIH0KK30KKworZm9yIChsZXQgYSBv
ZiBhcnIpIHsKKyAgICBwcmludCgiU2V0dGluZyBhbHRlcm5hdGUgcHJvdG8yIikKKyAgICBhLl9f
cHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvMjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7
ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51
bGwpOworICAgICAgICBhc3NlcnQoYS55ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9z
dHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAg
ICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3Ry
dWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBl
LnkgPSB5OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKwor
bGV0IHBvbHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJm
b28iLAorICAgIFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwK
K107CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0
aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMu
eSA9PT0geSk7CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVk
KTsKKyAgICBhc3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOwor
ICAgIGFzc2VydChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRh
dGUocyk7CisgICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18g
PSB7ejo0MDAsIHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBm
b3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjIyNDM2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiAr
MjI3LDcgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9N
ZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRl
Y29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5
Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBi
eXRlY29kZS9PcGNvZGUuY3BwCkBAIC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuY3BwCiBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Q
cm9ncmFtQ29kZUJsb2NrLmNwcAogYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuY3BwCiBieXRlY29kZS9QdXRCeUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
LmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjQzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4
MDFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21w
aWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzkyMzNDMkIxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8q
IEpJVE1hdGhJQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTc5MkNCMzRBMUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRF
RUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVF
IC8qIEdldFB1dEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3OTY1QzIxNzFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3Rl
cnNCeUdyYXBoQ29sb3JpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5NjVDMjE1MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVy
c0J5R3JhcGhDb2xvcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTc5NkRBQTJCMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlD
Q0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3
MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpJVE1hdGhJQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFD
NEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmln
aW5NYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5N
YXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0
NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1
Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc5NUYwOTlDMUUwMzYwMDUwMEJCRTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGls
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMw
NTlFRSAvKiBHZXRQdXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdl
dFB1dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5
NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlH
cmFwaENvbG9yaW5nLmNwcDsgcGF0aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzcz
NDQsOCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2Nr
LmggKi8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9u
LmNwcCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRp
b24uaCAqLywKKwkJCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwICovLAorCQkJCTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlk
RmxhZ3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuaCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5j
cHAgKi8sCkBAIC04NTI5LDYgKzg1MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZF
RCAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0
MUI0RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2
OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8q
IEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNp
b24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRF
X05BTUVTCiAKIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFt
ZSB7ICJQcml2YXRlU3ltYm9sLiR2bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9Owor
U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7
ICJQcml2YXRlU3ltYm9sLl9fcHJvdG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9
OwogCiB9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9u
IDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1F
UwogCiBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVO
YW1lOworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWU7CiB9CiAKICNkZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19F
TlRSWShuYW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1l
LmltcGwoKSwgJm1fIyNuYW1lKTsKQEAgLTIzMCw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElO
SVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0
ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihT
eW1ib2xzOjpkb2xsYXJWTVByaXZhdGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCY+KFN5bWJvbHM6OnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAg
ICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRF
X1RPX1BVQkxJQ19FTlRSWSkKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJT
X0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpA
QCAtMjM4LDYgKzI0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lE
RU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElD
X1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2Rv
bGxhclZNUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1
YmxpY1RvUHJpdmF0ZU1hcC5hZGQobV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVBy
aXZhdGVOYW1lKTsKKyAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUuaW1wbCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQ
cm90byk7CisgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVy
cy0+dW5kZXJzY29yZVByb3RvLmltcGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OwogICAgIH0KIAogICAgIGNvbnN0IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0
IElkZW50aWZpZXImKSBjb25zdDsKQEAgLTI1MCw2ICsyNTQsNyBAQCBwdWJsaWM6CiAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFS
RV9CVUlMVElOX1NZTUJPTF9BQ0NFU1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRv
bGxhclZNUHVibGljTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9kb2xsYXJWTVByaXZhdGVOYW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1
bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVu
dGlmaWVyOwpAQCAtMjU4LDYgKzI2Myw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklW
QVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZ
TUJPTFMpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBI
YXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVu
dGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1
YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNN
YXA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1
ZGUgIlN1cGVyU2FtcGxlci5oIgogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5j
bHVkZSAiTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1l
c3BhY2UgQWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBm
YWxzZTsKIH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0Fj
Y2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFByb3RvdHlwZUFjY2Vzc0No
YWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29m
ZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKHByb3RvdHlwZUFjY2Vz
c0NoYWluKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVj
dHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CkBAIC0xNTEsNiArMTU0
LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2
aWFQcm94eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmlu
Z0xlbmd0aDoKQEAgLTIxMCw2ICsyMTYsMTAgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNl
KGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBk
ZWZhdWx0OgorICAgICAgICAvLyBPT1BTOiBtYWtlIHN1cmUgdGhpcyBpcyBleGFjdGx5IHdoYXQg
d2Ugd2FudAorICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3Rv
KCkgfHwgb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAg
ICAgICAgICByZXR1cm4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9PSBvdGhlci5tX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluOworCiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8
fCAhb3RoZXIuZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIApAQCAtMjE5LDIyICsyMjksMjYgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNl
KGNvbnN0IEFjY2VzcwogCiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkg
Y29uc3QKIHsKLSAgICBvdXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxu
IiwgbV90eXBlLCAiOigiKTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5w
cmludChjb21tYSwgbV9zdGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0g
ICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVj
dHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2Ug
aWYgKG1fc3RydWN0dXJlKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAi
LCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZz
ZXQobV9vZmZzZXQpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29m
ZnNldCk7CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5w
cmludChjb21tYSwgImNvbmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAo
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmlu
dChjb21tYSwgInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0No
YWluKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAg
ICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3Ry
dWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAg
IGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3Ry
dWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAg
ICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2
ICsyNTcsMTAgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewog
ICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKSkgeworICAgICAgICBpZiAoIUhlYXA6Omlz
TWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAg
IGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0yNzMsNiArMjkxLDkgQEAgYm9vbCBBY2Nl
c3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAg
ICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAg
IGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWlu
KCkpCisgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0b3IpOwor
CiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlm
IChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkK
QEAgLTM3MiwyNiArMzkzLDY4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQo
CiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4
KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5m
b1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0
KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAg
ICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAg
ICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nl
c3NDaGFpbi51c2VzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJHZW5l
cmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAgICAgIC8vaml0LnByaW50KCJEb2lu
ZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUZv
ckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAgICAgICBqaXQubW92ZShzdGF0
ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fcHJvdG90eXBlQWNjZXNz
Q2hhaW4uY2hhaW4oKVtpXTsKKyAgICAgICAgICAgICAgICBib29sIGF0RW5kID0gaSArIDEgPT0g
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpLnNpemUoKTsKKyAgICAgICAgICAgICAgICBm
YWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1
cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NH
UFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNl
c1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nTG4oImdlbmVy
YXRpbmcgTWlzcyB3LyBwb2x5UHJvdG9BY2Nlc3NDaGFpbiIpOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gTWlzcyAmJiAhc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgZGF0YUxv
Z0xuKCJnZW5lcmF0aW5nIE1pc3Mgdy8gcG9seSBwcm90byBhcyBsYXN0IHN0cnVjdHVyZSEiKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVy
ZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGpp
dC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJh
c2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gT09QUzogSSBkb24n
dCB0aGluayB0aGlzIGlzIG5lZWRlZCBpZiB3ZSB0cmFuc2l0aW9uIG9uIHNldHRpbmcgdGhlIHBy
b3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQu
YnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9n
bG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJv
dG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNj
ZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNl
dChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vz
c0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChD
Q2FsbEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW02NChWYWx1ZU51bGwpKSk7IC8vIE9PUFM6IHRoaXMgaXNuJ3QgbmVlZGVkIGlmIHdlIHN0
aWxsIHRyYW5zaXRpb24gb24gc2V0dGluZyBvdXIgcHJvdG90eXBlLgorICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5i
cmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1
YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBK
U0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1
cmUoKSkpOworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsKKyAgICAgICAgICAgICAgICBm
YWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJ
bmZvVHlwZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOworCisgICAgICAgICAgICAg
ICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRh
cmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAg
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3Ry
dWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkp
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBl
bmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0gfTsKQEAgLTQ2Myw2ICs1
MjYsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAg
IHJldHVybjsKIAogICAgIGNhc2UgTWlzczoKKyAgICAgICAgLy8gT09QUzoKICAgICAgICAgaml0
Lm1vdmVUcnVzdGVkVmFsdWUoanNVbmRlZmluZWQoKSwgdmFsdWVSZWdzKTsKICAgICAgICAgc3Rh
dGUuc3VjY2VlZCgpOwogICAgICAgICByZXR1cm47CkBAIC01MDQsMTMgKzU2OCwxNyBAQCB2b2lk
IEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBiYXNlRm9y
R2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAg
ICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGppdC5t
b3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5h
dGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOwotICAgICAgICAgICAgYmFz
ZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAg
YmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIGlmIChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgYmFzZUZvckFjY2Vz
c0dQUiA9IHNjcmF0Y2hHUFI7IC8vIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCEgT09QUzogdGhpcyBp
cyB1Z2x5LgorICAgICAgICAgICAgLy9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gbG9hZCFc
biIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hH
UFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAg
ICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VG
b3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJ
bnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYm
IG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVT
ZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC01NjksNiArNjM3
LDkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKKyAgICAgICAgLy9pZiAobV90eXBlID09IEdldHRlciAmJiBtX3By
b3RvdHlwZUFjY2Vzc0NoYWluLm1faGFzUG9seVByb3RvKQorICAgICAgICAvLyAgICBqaXQucHJp
bnQoIkRvaW5nIGdldHRlciBjYWxsIGZvciBwb2x5IHByb3RvXG4iKTsKKwogICAgICAgICAvLyBT
dHVmZiBmb3IgY3VzdG9tIGdldHRlcnMvc2V0dGVycy4KICAgICAgICAgQ0NhbGxIZWxwZXJzOjpD
YWxsIG9wZXJhdGlvbkNhbGw7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBA
QAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCiAj
aW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTE4Niw4
ICsxODcsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNjZXNzQ2FzZSgpOwogCisgICAg
Y29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIHByb3RvdHlwZUFjY2Vzc0NoYWluKCkgY29uc3Qg
eyByZXR1cm4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsgfQorCiBwcm90ZWN0ZWQ6Ci0gICAgQWNj
ZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOworICAgIEFjY2Vz
c0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3Ry
dWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQcm90b3R5cGVBY2Nl
c3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogICAgIEFjY2Vzc0Nhc2UoY29uc3Qg
QWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29uc3Qg
QWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0ZSA9
IFByaW1vcmRpYWw7IH0KQEAgLTIyNyw2ICsyMzAsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbiBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lv
biAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdl
dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBh
Y2Nlc3MgPSBsaXN0LT5hdChsaXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQ
cm94eSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3Rh
dGUsIHRydWUpOworCisgICAgICAgICAgICBpZiAoYWNjZXNzLnByb3RvdHlwZUFjY2Vzc0NoYWlu
KCkudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVz
KHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3Ry
dWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9
CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBh
Y2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRk
aXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nh
c2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBlQWNjZXNz
Q2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNz
VHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9u
YWxTZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0
TWF5QmVOdWxsKHZtLCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCwKLSAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpT
T2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0
aW9uPiBkb21BdHRyaWJ1dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpv
cHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIFByb3RvdHlwZUFj
Y2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewog
ICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsNyArNjMsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07
CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5l
dyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNl
KSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFz
ZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0g
ZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0
b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKQEAgLTc0LDcgKzc0LDggQEAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgIEpTT2JqZWN0KiBj
dXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBD
dXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgLy8gT09QUzog
ZG8gc29tZXRoaW5nIGhlcmUKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNs
b3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKSk7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFj
Y2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQp
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFj
Y2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00OSwxMSArNDksOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCiAgICAgICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAg
ICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0g
bnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwKLSAg
ICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9w
dCk7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCA9IG51bGxwdHIsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwK
KyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwgc3RkOjpvcHRpb25h
bDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCwgUHJvdG90eXBlQWNjZXNz
Q2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwg
U3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLApA
QCAtNjcsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25z
dCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKIAogICAg
IEdldHRlclNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSYpOwog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFs
bG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI0
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFs
bG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2LDExIEBAIHByaXZh
dGU6CiBpbmxpbmUgU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGU6
OmNyZWF0ZUFsbG9jYXRpb25TdHJ1Y3R1cmVGcm9tQmFzZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIFN0cnVj
dHVyZSogYmFzZVN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQoIW1fc3RydWN0dXJlIHx8IG1fc3Ry
dWN0dXJlLmdldCgpLT5jbGFzc0luZm8oKSAhPSBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSk7
CisgICAgQVNTRVJUKGJhc2VTdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKIAogICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcG9seW1vcnBo
aWMgcHJvdG90eXBlcyBmb3Igc3ViY2xhc3NlcyBvZiBidWlsdGluIHR5cGVzOgorICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICBpZiAocHJv
dG90eXBlID09IGJhc2VTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKQogICAgICAgICBzdHJ1
Y3R1cmUgPSBiYXNlU3RydWN0dXJlOwogICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTY1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVk
ZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVz
cGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlv
biogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJU
KCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIGJv
b2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAg
RnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpzRXhlY3V0YWJs
ZSgpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVT
dHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGRhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0tLS0tIik7
CisgICAgICAgICAgICBkYXRhTG9nTG4oIkV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoZXhlY3V0
YWJsZSksICIgaGFzIGJlZW4gY29uc3RydWN0ZWQgbW9yZSB0aGFuIG9uY2UuIFByb3RvdHlwZSBz
dHJ1Y3R1cmU6ICIsIFJhd1BvaW50ZXIocHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pKSk7CisgICAg
ICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmR1bXAoV1RGOjpkYXRhRmlsZSgpKTsK
KyAgICAgICAgICAgIGRhdGFMb2dMbigiXG4tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0
cnVjdHVyZSAmJiBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAg
ICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+cmFyZURhdGEoKS0+cG9seVByb3RvU3RydWN0dXJlKHZtKSkgeworICAgICAgICAgICAg
ICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAg
ICAgICAgICAgICAvL2RhdGFMb2dMbigiYWxyZWFkeSBoYXZlIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUo
KSkpOworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKS0+c291cmNlKCkudmlldygpKTsKKyAgICAgICAgICAgICAgICAvL3N0cnVjdHVyZS0+ZHVt
cChXVEY6OmRhdGFGaWxlKCkpOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgICAgIE1hcmtl
ZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSkpOworCisgICAgICAgICAgICAg
ICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisgICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICBtX2lubGluZUNhcGFj
aXR5ID0gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2FsbCBpbnRvIGEg
ZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMgcG9seSBwcm90
bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVudGFsbHkgZ2V0
IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJl
RGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAg
ICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICAg
ICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworCisgICAgICAgIGlm
IChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZl
cnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUoKSkpIHsKKyAgICAgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdy
aXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gaW5mZXJy
ZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+bV9jb25z
dHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisgICAgICAgIH0KKyAgICAgICAgLy9pZiAo
aXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0t
LS0tLS0iKTsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCJHb2luZyBwb2x5IHByb3RvIGZvciBl
eGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOwor
ICAgICAgICAvLyAgICBkYXRhTG9nTG4oY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpLT5zb3Vy
Y2UoKS52aWV3KCkpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIldoaWNoIGhhcyBleGVjdXRh
YmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOworICAgICAg
ICAvL30KKworICAgICAgICBleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0
cnVjdHVyZS5zZXQodm0sIGV4ZWN1dGFibGUsIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKSk7Cisg
ICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhh
dCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAv
LyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUg
cmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BT
OiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFz
c2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBh
Y2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgewor
ICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9u
U2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICAvLyBPT1BTOiBu
ZWVkIHRvIG1ha2UgdGhpcyBBUEkgbW9yZSBjbGVhci4KKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0
eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChw
cm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmlu
Z3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5
TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwor
CisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDM2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsK
LSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1
cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4K
LSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElu
bGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAg
ICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4g
aGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
LSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2Nh
dG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
Ci0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFs
bG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
LQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rv
ciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAgIHsKQEAgLTEy
NiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2Jq
ZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3Qg
Y291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgm
dm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9k
ZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYg
cHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5h
bWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVW
ZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5
cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAg
Ly8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmpl
Y3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nh
c3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0K
LSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7
Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0
b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNv
ZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGdlbmVy
YXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25k
aXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAg
ICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlKAogICAgICAg
ICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVk
UHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9w
ZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAgICAgIGlmICghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVp
ZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAg
ICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTEgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQg
Z2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28g
aW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFz
U3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIE9PUFM6IFdlIG5lZWQgc29tZSBz
dG9yeSBoZXJlIG9mIGFuIGludGVybGVhdmluZy4KKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFs
T2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzOSw3ICszMzksNyBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFBvbHlt
b3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNjZXNzSW50ZXJuYWw6OnZlcmJvc2Up
CiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBtX2xpc3Q6ICIsIGxpc3REdW1wKG1f
bGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSk7
CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtLCBjb2RlQmxvY2stPmdsb2JhbE9i
amVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7CiAgICAgc3RhdGUuc3R1YkluZm8g
PSAmc3R1YkluZm87CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE3MSwxNCArMTcxLDE2IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlv
blN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtKQorICAgIEFjY2Vzc0dl
bmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAg
ICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQog
ICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNhbGxBbmRFeGNlcHRpb25IYW5kbGlu
ZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24o
ZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNpdGVJbmRleChmYWxzZSkKICAgICB7
CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVj
dDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIgfTsKICAgICBTY3JhdGNoUmVnaXN0
ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlBy
ZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJ
KHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9w
ZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsMTQgQEAgYm9v
bCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBj
b25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAv
LyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hl
biBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsK
ICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9mZnNldCkgewogICAgICAgICAg
ICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2UpCkBAIC0xMzIsNiArMTQw
LDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCJJbnZhbGlkIGJlY2F1c2UgaXQncyBhIGRpY3Rpb25hcnkuXG4iKTsK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQorCisgICAgICAgIGlmICghc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkg
dGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhp
cyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxk
IG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQg
cG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQog
ICAgICAgICAKICAgICAgICAgdW5zaWduZWQgY3VycmVudEF0dHJpYnV0ZXM7CiAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1
aWQoKSwgY3VycmVudEF0dHJpYnV0ZXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFp
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCitu
YW1lc3BhY2UgSlNDIHsKKworUHJvdG90eXBlQWNjZXNzQ2hhaW46OlByb3RvdHlwZUFjY2Vzc0No
YWluKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJv
cGVydHlTbG90JiBzbG90KQoreworICAgIFVOVVNFRF9QQVJBTShnbG9iYWxPYmplY3QpOworICAg
IC8vIE9PUFM6IGNvbnNpZGVyIERPTSBwcm94eSBoZXJlLiBBbHNvLCBwcm94eSBpbiB0aGUgcHJv
dG90eXBlIGNoYWluPworCisgICAgSlNDZWxsKiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0g
PSAqYmFzZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/
IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisgICAgZGF0YUxvZ0xuKCJQcm90b3R5cGVBY2Nl
c3NDaGFpbiBjdG9yLCBzbG90IGlzIHNldDogIiwgISF0YXJnZXQpOworCisgICAgYm9vbCBmb3Vu
ZCA9IGZhbHNlOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUt
PmlzUHJveHkoKSkgeworICAgICAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25h
cnkoKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAg
ICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpIHsKKyAgICAg
ICAgICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlT
dHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1f
Y2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0
KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8g
YWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3Rv
Y29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8g
dGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3
ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgbV91c2VzUG9seVByb3Rv
IHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIC8vIE9PUFM6
IHRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIHByb3RvdHlwZSBmb3IgbG9va3VwLiBJZiBpdCBpcywg
dGhlbiwKKyAgICAgICAgLy8gd2UgbmVlZCB0byBjaGFuZ2UgQWNjZXNzQ2FzZSB0byBtYWtlIGl0
IHdvcmsuCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVG
b3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5p
c051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3Qo
cHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KSB7CisgICAg
ICAgIC8vIE9PUFM6IHdvdWxkIHRoaXMgYWN0dWFsbHkgY29tZSB1cCBmb3IgcmVhbCBwcm9ncmFt
cz8KKyAgICAgICAgLy8gTmVlZCB0byBjb25zaWRlci4gSSB0aGluayBpdCBkb2VzIHNpbmNlIGJ1
aWxkaW5nIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0CisgICAgICAgIC8vIHNlZW1zIHRvIGFz
c3VtZSB0aGlzIGlzIHBvc3NpYmxlLgorICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICB9
Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90
eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIGlmIChpc1ZhbGlkKCkgIT0gb3Ro
ZXIuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAodXNlc1BvbHlQ
cm90bygpICE9IG90aGVyLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKG90aGVyLmNoYWluKCkuc2l6ZSgpICE9IGNoYWluKCkuc2l6ZSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFpbi5z
aXplKCk7ICsraSkgeworICAgICAgICBpZiAobV9jaGFpbltpXSAhPSBvdGhlci5tX2NoYWluW2ld
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25z
dAoreworICAgIG91dC5wcmludCgiUHJvdG90eXBlQWNjZXNzQ2hhaW4iKTsKKyAgICBpZiAoIWlz
VmFsaWQoKSkgeworICAgICAgICBvdXQucHJpbnQoIiBpcyBpbnZhbGlkIik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisgICAgaWYgKHVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgb3V0LnByaW50
KCIgdXNlc1BvbHlQcm90byIpOworICAgIG91dC5wcmludCgiOiBbXG4iKTsKKyAgICBmb3IgKFN0
cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7
CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7
CisgICAgfQorICAgIG91dC5wcmludCgiXSIpOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmpl
Y3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVy
ZTsKKworY2xhc3MgUHJvdG90eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEKFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3RvdHlwZUFj
Y2Vzc0NoYWluKCkgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKGNvbnN0IFBy
b3RvdHlwZUFjY2Vzc0NoYWluJikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWlu
KFByb3RvdHlwZUFjY2Vzc0NoYWluJiYpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nlc3ND
aGFpbihKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90Jik7
CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG9wZXJhdG9yPShQcm90b3R5cGVBY2Nlc3NDaGFp
biYmKSA9IGRlZmF1bHQ7CisKKyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lz
VmFsaWQ7IH0KKworICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0IHsgcmV0dXJuIG1fdXNl
c1BvbHlQcm90bzsgfQorCisgICAgY29uc3QgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNv
bnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0
KSBjb25zdDsKKworICAgIHZvaWQgY2xlYXJDaGFpbigpIHsgbV9jaGFpbi5jbGVhcigpOyB9CisK
KyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBj
b25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90
aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVk
ZXMgYmFzZSdzIHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSBy
ZW1vdmVkLgorICAgIGJvb2wgbV91c2VzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1f
aXNWYWxpZCB7IHRydWUgfTsKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIy
MjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3ND
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0No
YWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2
aWFQcm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1z
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNy
ZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7
CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRH
ZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5
YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNl
dCwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flBy
b3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAg
ICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQog
ICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQ
cm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAog
cHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsK
KyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4pOwogCiBwcml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJ
KHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg0OCw2ICszODQ4LDkgQEAgUmVn
aXN0ZXJJRCogQ2xhc3NFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKAogCiAgICAgICAgIGdlbmVyYXRv
ci5lbWl0RGlyZWN0UHV0QnlJZChjb25zdHJ1Y3Rvci5nZXQoKSwgZ2VuZXJhdG9yLnByb3BlcnR5
TmFtZXMoKS51bmRlcnNjb3JlUHJvdG8sIHN1cGVyY2xhc3MuZ2V0KCksIFByb3BlcnR5Tm9kZTo6
VW5rbm93bik7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0TGFiZWwoc3VwZXJjbGFzc0lzTnVsbExh
YmVsLmdldCgpKTsKKworICAgICAgICAvLyBPT1BTOiB0aGlzIG1ha2VzIGl0IHNvIHRoYXQgYW55
IGRlcml2ZWQgY2xhc3MgcHJvdG90eXBlIG9iamVjdCB3aWxsIGFsd2F5cyBnZXQgYSBuZXcgc3Ry
dWN0dXJlCisgICAgICAgIC8vIGlmIG11bHRpcGx5IGNvbnN0cnVjdGVkIGJlY2F1c2Ugd2UgZG9u
J3QgY2FjaGUgcHJvdG90eXBlIHRyYW5zaXRpb25zLgogICAgICAgICBnZW5lcmF0b3IuZW1pdERp
cmVjdFB1dEJ5SWQocHJvdG90eXBlLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVu
ZGVyc2NvcmVQcm90bywgcHJvdG9QYXJlbnQuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7
CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MzMsNiArMzcz
Myw4IEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRo
ZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBw
cm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFy
ZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVT
ZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhh
dCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9Q
dXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiB0aGlzIG5lZWRz
IGF0dGVudGlvbgogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50
LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAg
ICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMw
OCw2ICs0MzEwLDggQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAog
ICAgICAgICB9CiAKICAgICAgICAgY2FzZSBvcF9jcmVhdGVfdGhpczogeworICAgICAgICAgICAg
Ly8gT09QUzogdGhpbmsgdGhyb3VnaCB0aGlzIGNvZGUuCisKICAgICAgICAgICAgIGludCBjYWxs
ZWVPcGVyYW5kID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAg
IE5vZGUqIGNhbGxlZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkBA
IC00MzMwLDEyICs0MzM0LDE0IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlvbikgewogICAgICAgICAgICAgICAgIGlmIChG
dW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmpl
Y3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0
Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwg
bGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFw
aChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxS
ZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdP
YmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJh
cmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9p
bnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxs
ZWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcElu
Zm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTc4Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0
U3ByZWFkKE5vZGUqIG5vZGUsIAogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9
IGdsb2JhbE9iamVjdEZvcihub2RlLT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQ
cm90b3R5cGUoKTsKICAgICBib29sIGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0
dXJlLmZvckVhY2goWyZdIChSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAg
ICBhbGxHb29kICY9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5
cGUKKyAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisg
ICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90
eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAg
ICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVy
YXRvclN5bWJvbC5pbXBsKCkpID09IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1
Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDQsNyArMjQ0LDE1IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVh
dGVUaGkKICAgICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewog
ICAgICAgICBhdXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3Rvcikt
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVj
dChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkp
OworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIk1h
ZGUgcG9seSBwcm90byBvYmplY3QgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoanNDYXN0
PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPmpzRXhlY3V0YWJsZSgpKSk7CisKKyAgICAgICAg
ICAgIC8vIE9PUFM6IG1ha2UgdGVzdCBmb3IgcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uLCBkb24n
dCByZWx5IG9uIENoYWtyYSB0ZXN0cy4KKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0
cnVjdG9yKS0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29u
c3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYyLDYgKzQzNjIsOCBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIC8vIHRoZW4gd2Ug
c3BlY3VsYXRlIGJlY2F1c2Ugd2Ugd2FudCB0byBnZXQgcmVjb21waWxlZCBpZiBpdCBpc24ndCAo
c2luY2UKICAgICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2Qgc3RhcnQgdGFraW5nIHNsb3cgcGF0aCBh
IGxvdCkuCiAgICAgICAgIAorICAgICAgICAvLyBPT1BTOiB3ZSBzaG91bGQgZ28gc2xvdyBwYXRo
IGhlcmUgZm9yIHBvbHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICAKICAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgY2FsbGVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BS
VGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IGFsbG9jYXRvcih0
aGlzKTsKQEAgLTQzODYsNyArNDM4OCwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRy
KE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2Fk
UHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpv
ZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93
UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxs
b2NhdG9yR1BSKSk7CisKKyAgICAgICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRlciBo
ZXJlCisgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QWRkcmVzcyhzdHJ1Y3R1cmVH
UFIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAg
c2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaEdQ
UikpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIs
IGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BS
LCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVy
OjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFy
ZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMy
MzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JDCiAgICAgbm9S
ZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQ
UlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJS
ZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBH
UFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5cGUgaXMgYW4g
b2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwg
bV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5LDggKzMyNDks
MTYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAg
cGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6
OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0Nl
bGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2JqZWN0VHlwZSkp
OwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBz
Y3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2Vs
bFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVy
ZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAg
ICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3Ry
dWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJl
Zyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVn
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8g
bm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNo
M1JlZykpOworICAgIC8vIE9PUFM6IHRoaXMgaXMgd3JvbmcgaWYgd2UgYWxsb3cgb3V0IG9mIGxp
bmUgb2Zmc2V0cyBmb3IgcG9seSBwcm90by4KKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihz
Y3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6
QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdo
dCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAg
IG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywg
c2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9q
aXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBl
UmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVl
UmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg5
LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAg
U3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAg
ICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBz
Y3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAg
ICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAg
ICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcg
c2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVn
ID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAg
ICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpA
QCAtMzM5NCw3ICszNDA0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNl
T2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0g
ICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5
cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNl
T2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2Ny
YXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9q
aXQpOwogCkBAIC0zNDA3LDEzICszNDE3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAg
ICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gz
KHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQ
UlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hS
ZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdw
cigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAg
IGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcs
IHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVj
dChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywg
c2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9k
ZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJv
b2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2Rl
KiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBH
UFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lk
IGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJl
ZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRj
aDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlz
aW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4NywxMCArODg4NywxMiBAQCBwcml2YXRlOgogICAg
ICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBM
QmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAg
IExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBM
QmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAg
TEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBM
QmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFz
aWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAg
TEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7Cisg
ICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAg
ICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGls
ZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5MDgsMTYgKzg5MTAsMjggQEAgcHJp
dmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hv
cihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1f
b3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5h
cHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9
IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0g
bV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7
CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUs
IG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5
KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwor
ICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFz
SW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURp
cmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90
eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2Fk
U3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291
dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAg
ICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFw
cy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJv
dG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5j
aChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShj
b21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90
bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFu
ZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZh
bHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0
LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCks
IHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFn
ZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAg
IG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAg
ICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3Rv
eXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0
ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNo
KAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24g
MjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5j
ZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVj
dCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3Ro
ZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91
dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2
bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3Ry
dWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVy
ZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQs
IFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9y
ZWRQcm90b3R5cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAg
emVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJl
Z1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgp
KSwgcmVnVDQpOworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUo
cmVnVDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJl
Z1QyLCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRo
aXMpOwogCkBAIC03NzAsNiArNzc1LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMo
SW5zdHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rpb25SZWcgPSByZWdUNDsKICAg
ICBSZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAgIC8vIE9PUFM6IHRoaXMgaXMg
d3Jvbmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVl
LCBjYWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgoTm90RXF1YWwsIEFkZHJlc3Mo
Y2FsbGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKEpT
RnVuY3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsZWVSZWcsIEpTRnVuY3Rp
b246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsKQEAgLTc3OCw2ICs3ODUsMTAg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIGxvYWRQdHIo
QWRkcmVzcyhyYXJlRGF0YVJlZywgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0
dXJlKCkpLCBzdHJ1Y3R1cmVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaFRlc3RQdHIoWmVy
bywgYWxsb2NhdG9yUmVnKSk7CiAKKyAgICAvLyBPT1BTLCB3ZSBjYW4gZG8gYmV0dGVyIGhlcmUh
CisgICAgbG9hZDY0KEFkZHJlc3Moc3RydWN0dXJlUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpKSwgc2NyYXRjaFJlZyk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoSWZJbnQzMihKU1Zh
bHVlUmVncyhzY3JhdGNoUmVnKSkpOworCiAgICAgbG9hZFB0cihjYWNoZWRGdW5jdGlvbiwgY2Fj
aGVkRnVuY3Rpb25SZWcpOwogICAgIEp1bXAgaGFzU2Vlbk11bHRpcGxlQ2FsbGVlcyA9IGJyYW5j
aFB0cihFcXVhbCwgY2FjaGVkRnVuY3Rpb25SZWcsIFRydXN0ZWRJbW1QdHIoSlNDZWxsOjpzZWVu
TXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2hQdHIoTm90
RXF1YWwsIGNhbGxlZVJlZywgY2FjaGVkRnVuY3Rpb25SZWcpKTsKQEAgLTgwMCw2ICs4MTEsNyBA
QCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1CiAgICAgbGlua1Nsb3dD
YXNlKGl0ZXIpOyAvLyBkb2Vzbid0IGhhdmUgYW4gYWxsb2NhdGlvbiBwcm9maWxlCiAgICAgbGlu
a1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCAobm8gYWxsb2NhdG9yKQogICAg
IGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKGFsbG9jYXRvciBlbXB0
eSkKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkLCBzdHJ1Y3R1
cmUgaGFzIHBvbHkgcHJvdG8KICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGNhY2hlZCBmdW5j
dGlvbiBkaWRuJ3QgbWF0Y2gKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhp
cywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfY3JlYXRlX3RoaXMpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQs
NiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xv
dC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAg
ICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkg
ewpAQCAtMjU1LDIzICsyNTcsNDQgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hl
R2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nh
c3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisK
ICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCku
Z2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNV
bnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQ
cm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHBy
b3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAg
ICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBkYXRhTG9nTG4o
Ii0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAgICAgZGF0YUxv
Z0xuKCJQcm90b3R5cGUgYWNjZXNzIGNoYWluIHdpdGggaWRlbnRpZmllcjogIiwgU3RyaW5nKHBy
b3BlcnR5TmFtZS5pbXBsKCkpKTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0g
UHJvdG90eXBlQWNjZXNzQ2hhaW4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2Vs
bCwgc2xvdCk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5
UHJvdG8oKSkKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbi5jbGVhckNoYWlu
KCk7CisKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4uaXNWYWxpZCgpKSB7
CisgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKCJJbnZhbGlkIHByb3RvdHlwZSBhY2Nlc3MgY2hh
aW4uIik7CisgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKCJCYXNlOiAiLCBiYXNlVmFsdWUpOwor
ICAgICAgICAgICAgICAgIC8vIE9PUFM6IFRoaXMgb2J2aW91c2x5IGlzIG5vdCBjb3JyZWN0Lgog
ICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfSAgZWxz
ZSB7CisgICAgICAgICAgICAgICAgZGF0YUxvZ0xuKCJWYWxpZCBwcm90b3R5cGUgYWNjZXNzIGNo
YWluLiIpOworICAgICAgICAgICAgICAgIGRhdGFMb2dMbihwcm90b3R5cGVBY2Nlc3NDaGFpbik7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4u
dXNlc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7
CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0Zv
clByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwg
Y29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKIAotICAgICAg
ICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9u
U2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICAvLyBPT1BTOiBh
cmUgdGhlc2UgZXhwcmVzc2lvbiBlcXVpdmFsZW50PworICAgICAgICAgICAgLy9vZmZzZXQgPSBz
bG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25k
aXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8g
aW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAg
ICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjk5LDcgKzMyMiw3IEBAIHN0YXRp
YyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsK
ICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZt
LCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nh
c2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdl
dEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsK
ICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNz
VHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkp
CkBAIC0zMTYsNyArMzM5LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0
QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAg
ICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8g
c2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qu
aXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAg
ICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJp
YnV0ZSwgcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjYsMTAgKzc2Niw5IEBAIExM
SU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBwY1s2XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlk
SXNEaXJlY3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4q
IGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlw
ZUNoYWluKGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKGNoYWluKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51
LnN0cnVjdHVyZUNoYWluLnNldCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgY2hhaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUu
c3RydWN0dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdz
ID0gc3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwY1s4XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUyMiwxMCArNTIyLDkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGlu
ZSBib29sIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0
KQorc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0s
IEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJl
dHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSk7CisgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCBvYmplY3QpOwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVj
U3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1
aW50NjRfdCBsZW5ndGgpCkBAIC02MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVl
IGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNl
OwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25U
b0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZShzdGF0ZSwgdGhpc09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAg
ICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRv
QmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRp
YyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2lu
ZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0pKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdv
dG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0
cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJm
bHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRh
ID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hv
bGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRo
aXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVu
Z3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAg
ICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShk
YXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVj
dCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpA
QCAtODM1LDcgKzgzNCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90
b0YKICAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJy
YXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgp
KQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAg
aWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0
b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSAr
IGxlbmd0aCk7CkBAIC0xMTc0LDcgKzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMo
RXhlY1N0YXRlKiBleGVjCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOwogCi0gICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhp
bmdUeXBlKCkpICYmICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0pKSkgeworICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2Ut
PmluZGV4aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3Vy
Y2UpKSkgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyAr
K2kpIHsKICAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVp
Y2tseShpKTsKICAgICAgICAgICAgIGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI0
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVk
QXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1
dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkgeworICAgIGlmIChVTkxJS0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpKS0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVh
dGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2
ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZh
bHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFy
Z3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRz
IG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlz
IHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhp
cyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVz
dWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVk
QXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3Vs
dC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93
UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQo
IXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBz
aG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1
bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlG
cmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9
PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3Vs
dC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAogQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJh
bWUoRXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNN
b2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5s
aW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VS
VCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNT
RVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8
IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1l
bnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9
IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBh
cmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQt
PnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xv
d1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NDIsNiArMjQyLDE0IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAg
ICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVD
YXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAg
ICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJl
c3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1
Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgICAgICAv
L2RhdGFMb2dMbigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwgUmF3
UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAgICAgIC8vZGF0
YUxvZ0xuKCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0OiAiLCBSYXdQb2ludGVyKHJlc3VsdCksICIg
d2l0aCBfX3Byb3RvX186ICIsIHByb3RvdHlwZSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigi
Q29uc3RydWN0b3IgY2xhc3MgbmFtZTogIiwgY29uc3RydWN0b3ItPmNsYXNzSW5mbyh2bSktPmNs
YXNzTmFtZSwgIiBpcyBKU0Z1bmN0aW9uIGNsYXNzIGluZm86ICIsIGNvbnN0cnVjdG9yLT5jbGFz
c0luZm8odm0pID09IEpTRnVuY3Rpb246OmluZm8oKSk7CisgICAgICAgICAgICAvL2RhdGFMb2dM
bigiLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgfQorICAgICAgICAvL2RhdGFMb2dMbigi
Y3JlYXRlX3RoaXMgcmVzdWx0OiAiLCBKU1ZhbHVlKHJlc3VsdCkpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2Vj
LW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBj
b25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJs
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEs
NiArOTEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihKCiAgICAg
ICAgIGNvZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZpc2l0b3Iu
YXBwZW5kKHRoaXNPYmplY3QtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlKTsK
IH0KIAogRnVuY3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21HbG9iYWxD
b2RlKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRh
YmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNiAr
MTczLDkgQEAgcHVibGljOgogCiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24o
KSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9uLmdldCgpOyB9CiAKKyAgICAvLyBPT1BTOiBh
ZGQgbWV0aG9kcyBmb3IgdGhpcy4KKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NvbnN0
cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xh
c3MgRXhlY3V0YWJsZUJhc2U7CiAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJl
dmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFy
ZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRh
Ojppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7
Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmpl
Y3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0
YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNDM2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5n
IGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3Qg
Y2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5l
Q2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246
OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNz
U3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1
cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8
IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3
VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFz
U3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5h
bEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAg
SlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2
bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgyLDcgKzg4
Miw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNl
IEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAg
ICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FS
UkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVjdCgpOwpAQCAtOTE3LDcgKzkxNyw3
IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAv
LyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9y
bWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90
b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+
aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8
IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKQEAgLTEwNDgsNyArMTA0OCw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJ
bmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdl
IHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkg
CiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQg
aGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBv
bGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAg
ICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0u
Z2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtMTA4OSw3ICsx
MDg5LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAg
ICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRo
aW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhy
b3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJy
YXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50
OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91Ymxl
IHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAg
ICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBib29s
IEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJy
YXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYxLDggKzYxLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0
Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2Jq
ZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNo
YWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAg
aWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAg
ICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEzNSw2ICsxMzUsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBnZXRCb3VuZEZ1
bmN0aW9uU3RydWN0CiAgICAgLy8gaXNuJ3QgYW55IGdvb2QgcGxhY2UgdG8gcHV0IHRoZSBzdHJ1
Y3R1cmUgb24gSW50ZXJuYWwgRnVuY3Rpb25zLgogICAgIGlmICh0YXJnZXRKU0Z1bmN0aW9uKSB7
CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGFyZ2V0SlNGdW5jdGlvbi0+cmFyZURh
dGEodm0pLT5nZXRCb3VuZEZ1bmN0aW9uU3RydWN0dXJlKCk7CisgICAgICAgIC8vIE9PUFM6CiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBw
cm90b3R5cGUgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpCiAg
ICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1p
bmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNs
YXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0
OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRo
IGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkp
KTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29u
dGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29u
dGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAg
ICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIiki
KTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJ
RDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3Ry
dWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxz
ZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQz
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0
aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2Jq
ZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3Rh
dGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAg
ICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2JhbE9iamVj
dCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0
aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8
SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwot
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0p
OwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3Qt
Pm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVG
b3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRh
ID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRo
aXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8g
cmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVz
IGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTUsOCBAQCBGdW5jdGlvblJhcmVE
YXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJlRGF0YSk7
CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNE
eW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2Jh
bE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGds
b2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25z
dHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM0MSw2
ICszNDQsMTggQEAgRW5jb2RlZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJ
TGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlciIp
KSk7CiB9CiAKK3N0YXRpYyB2b2lkIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKFZNJiB2
bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1ZSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7Cisg
ICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJv
dG90eXBlVmFsdWUpOworICAgIGlmICghcHJvdG90eXBlKQorICAgICAgICByZXR1cm47CisgICAg
U3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5l
bnN1cmVSYXJlRGF0YSh2bSk7CisgICAgaWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3Ry
dWN0b3IoKSkKKyAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0p
OworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWlj
Q2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUoKSkpCisgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlm
eVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5j
dGlvbiIpOworfQorCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVj
dCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMzcxLDcg
KzM4Niw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAg
ICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0
aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zm
c2V0KTsKICAgICB9CiAKQEAgLTQ1Miw2ICs0NjYsNyBAQCBib29sIEpTRnVuY3Rpb246OnB1dChK
U0NlbGwqIGNlbGwsIEV4ZWNTCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+
Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZ2V0U2xv
dCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhp
c09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBv
ZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZt
LCB2YWx1ZSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAg
cmV0dXJuIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBz
bG90KTsKICAgICB9CkBAIC01MTgsNiArNTMzLDggQEAgYm9vbCBKU0Z1bmN0aW9uOjpkZWZpbmVP
d25Qcm9wZXJ0eShKU09iagogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdl
dE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwog
ICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmpl
Y3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBm
dW5jdGlvbiIpOworICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICAgICAg
aW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIGRlc2NyaXB0b3IudmFsdWUoKSwgdGhp
c09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6
OmRlZmluZU93blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9y
LCB0aHJvd0V4Y2VwdGlvbik7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4
LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNW
YWx1ZSBuYW1lKTsKIAorICAgIC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlz
fCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBK
U09iamVjdCogcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHBy
b3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRh
YmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTWFwLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJv
b2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJl
ID09IGdsb2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwog
Ci0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5t
YXBQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5D
bG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01h
cFByb3RvdHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJv
b2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwg
YXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAg
ICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NF
UlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBw
cm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3Ry
dWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0
eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlw
ZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVh
ZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsx
MDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFT
U0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdU
eXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUs
ICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7
CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2Fw
YWNpdHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNy
ZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJy
YXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9y
TGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiBy
ZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3
U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVj
dHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5z
aXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKHRoaXMpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZt
LCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5l
d1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5z
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5k
ZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6
Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNv
bnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0
aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRv
Q29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZt
LCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsK
IH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3Rv
cmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3
ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZN
JiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBy
ZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmpl
Y3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0x
NDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMy
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1
b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7
CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmpl
Y3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAg
ICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3Vv
dXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4
aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAg
IGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhp
cykpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICBy
ZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAs
MjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQog
ICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
IEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFM
TF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAg
ICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBB
TExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9B
cnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYz
MywxOCBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYg
KHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90
eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUo
dm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAg
ICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpKQorICAgIGRhdGFMb2dMbigidHJhbnNpdGlvbmluZyBmcm9tIF9fcHJv
dG9fXyBzZXQsIGZyb20gcG9seSBwcm90bzogIiwgIXN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
IHsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVBy
b3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7CisgICAgICAg
IHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcHV0
RGlyZWN0KHZtLCBzdHJ1Y3R1cmUodm0pLT5wb2x5UHJvdG9PZmZzZXQoKSwgcHJvdG90eXBlKTsK
KworICAgIGlmICghc3RydWN0dXJlKHZtKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3Nlcyh0aGlzKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5w
cm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhpcykpIHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5n
bG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+
Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgCkBAIC0xOTUxLDcgKzE5NTUsOCBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRv
UHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZh
bHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9iamVjdCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAg
ICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRoaXMtPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5n
SW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9y
IChjb25zdCBKU09iamVjdCogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3Qt
PnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBv
YmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlOwogICAgIGlmIChoaW50ID09IFByZWZl
clN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMxLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRl
eEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0
b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVl
LCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0K
LSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAg
ICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJy
YXlTdG9yYWdlIGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwg
aSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAg
cmV0dXJuIHB1dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAg
LTI4NzgsNyArMjg4Myw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5
b24KICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdp
dGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0
ZXMsIG1vZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAg
ICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAg
IGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkgewogICAgICAg
ICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsg
MSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9y
YWdlLT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAgICAgIHN0b3Jh
Z2UtPm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKQEAgLTM1NTgsNyArMzU2Myw3IEBAIHVpbnQzMl90
IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwot
ICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAg
aWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQog
ICAgICAgICByZXR1cm4gMDsKICAgICBzd2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsK
ICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtODY2LDcg
Kzg2Niw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKICAgICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNT
RVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0g
SGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoZ2V0UHJv
dG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgIXN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0
KCkpKTsgLy8gT09QUyBmaW5kIGEgd2F5IHRvIG1ha2UgdGhpcyB3b3JrCiAgICAgICAgIEFTU0VS
VChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0p
KTsKICAgICB9CkBAIC0xMjk4LDcgKzEyOTgsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0
KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
KCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAK
IGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUq
IGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDAsOCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6
OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURU
YWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0
T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIE9PUFM6IFRoaXMgY29k
ZSBsb29rcyB3cm9uZz8gV2h5IGRvZXNuJ3QgaXQgY2FsbCB0aGUgZ2V0UHJvdG90eXBlIGZ1bmN0
aW9uIGhvb2s/CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVz
LmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlT
X0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVj
dHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0
UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJ
bnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2Jq
ZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBw
cm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxX
QVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXROb25JbmRleAogICAgICAgICB9CiAgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8
IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhv
ZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90
b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBv
YmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBi
b29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5j
YW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAgICAgICBBU1NF
UlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+
c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9w
ZXJ0eU5hbWUsIHRoaXNPYmplY3QpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJl
Y3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0
TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNDM2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5z
dHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVy
YXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAg
ICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlw
ZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9w
ZXJ0aWVzID0gMDsKQEAgLTEzNiw5ICsxMzYsMTEgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvciogcHJvcGVydAogICAgIG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVj
dHVyZSk7CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVh
dGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJvcGVydGll
cywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOwotICAgIGlm
ICghaW5kZXhlZExlbmd0aCAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bWVy
YXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0
b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBiYXNlLT5zdHJ1
Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgeworICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQ
cm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigp
KQorICAgICAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAgICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjQz
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0
QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJv
dG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03
Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAg
ICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2Vy
dmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0
LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUu
aAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6
eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgcHVibGlj
OgogICAgIAogICAgIEpTT2JqZWN0KiBwcm90b3R5cGUoY29uc3QgSlNHbG9iYWxPYmplY3QqIGds
b2JhbCkgY29uc3QKICAgICB7CisgICAgICAgIC8vIE9PUFMuIG1ha2Ugc3VyZSBpdCdzIG9ubHkg
SlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nlc3NlcyB0aGlzLgogICAgICAgICBBU1NFUlQoIWlzQ29t
cGlsYXRpb25UaHJlYWQoKSk7CiAgICAgICAgIHJldHVybiBnZXQoZ2xvYmFsKS0+c3RvcmVkUHJv
dG90eXBlT2JqZWN0KCk7CiAgICAgfQpAQCAtMTAxLDEzICsxMDIsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0g
ICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAg
ICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAg
ICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29u
Y3VycmVudGx5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdl
dCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5j
cHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
ZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiArMTQzLDExIEBAIHNpemVfdCBu
b3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUKICAgICB3aGlsZSAoMSkgewogICAgICAg
ICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFBy
b3RvdHlwZUNoYWluOworCisgICAgICAgIC8vIE9PUFM6IHRoaXMgZGVmaW5pdGVseSBuZWVkcyBz
b21lIG1vcmUgdGhvdWdodAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAg
ICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7
CiAgICAgICAgIGlmICh2LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShy
ZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxNyArNTQsMzggQEAgdm9pZCBQcm90b3R5
cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUu
CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3Ry
dWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBl
SW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
CiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0
aGlzIGlzbid0IGNhbGxlZCB3LyBwcm90b3R5cGU9bnVsbHB0ciBmb3IgdmFsaWQgcmVhc29ucy4K
KyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9seVByb3RvU3RydWN0dXJlID8g
bnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2Jq
ZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtl
eSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAg
IGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAg
ICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1
Y3R1cmU7CiAgICAgfQogCisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworCiAgICAg
YWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOworCisgICAgLy8gT09Q
UzogZmlndXJlIG91dCB3aGF0IHRvIGRvIGhlcmUuIFRoaXMgZmVlbHMgbGlrZSB0aGUgd3Jvbmcg
cGxhY2UgdG8gZG8gdGhpcy4KKyAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAg
ICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2
bSktPnJhcmVEYXRhKCk7CisgICAgICAgIEFTU0VSVChyYXJlRGF0YS0+bmVlZHNQb2x5UHJvdG9T
dHJ1Y3R1cmUodm0pKTsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisg
ICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsK
KyAgICAgICAgcmFyZURhdGEtPnNldFBvbHlQcm90b1N0cnVjdHVyZSh2bSwgc3RydWN0dXJlKTsK
KyAgICB9CisKKyAgICBpZiAoIXN0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
dHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
fQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7
CiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KQEAgLTczLDIwICs5NCwyMSBAQCBTdHJ1Y3R1cmUq
IFByb3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRv
IG5vdCBoYXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMg
YW5kIGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5s
aW5lIGNhcGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VT
dHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgp
LT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5k
ZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1
cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyhwcm90b3R5
cGUpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4
aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFy
cmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0
dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1w
dHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJ
bmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNl
KTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9y
UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1h
a2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJl
KGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0Zp
bmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlu
bGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6
OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNp
dHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xl
YXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAg
ICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFj
aXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0
dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5o
CShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90
b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVj
dFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCos
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBm
YWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZv
clByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBT
dHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsK
ICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAg
IGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5z
IGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3Jl
YXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBj
b25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0
IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09i
amVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3Qu
Ci0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBj
b25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1h
cDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVj
dCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1
cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjQzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0
cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkK
ICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAg
LCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0
b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5t
X3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5m
bykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9v
ZmZzZXQoaW52YWxpZE9mZnNldCkKQEAgLTI5NSw2ICsyOTUsMjggQEAgdm9pZCBTdHJ1Y3R1cmU6
OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwp
LT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNy
ZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFz
c0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlu
bGluZUNhcGFjaXR5KTsKKworICAgIC8vZGF0YUxvZ0xuKCJNYWtpbmcgcG9seSBwcm90byBzdHJ1
Y3R1cmU6ICIsIFJhd1BvaW50ZXIocmVzdWx0KSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxp
bmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsgLy8gT09QUzogbWF5YmUg
dGhpcyBzaG91bGQgYWx3YXlzIHN0YXJ0IGFzIHplcm8/CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0
eVdpdGhvdXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRp
bk5hbWVzKCkudW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwgRG9udEVudW0sCisgICAgICAg
IFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9s
ZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIC8vIE9PUFM6IGxldHMgbWFrZSBhIGRp
ZmZlcmVudCBjdG9yIGZvciB0aGlzIHZhcmlhbnQgb2YgcG9seSBwcm90bywgc2luY2UgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUgCisgICAgICAgICAgICAvLyBhbHJlYWR5IGtub3dzIHdoZW4gaXQn
cyBtYWtpbmcgYSBwb2x5IHByb3RvIHZhcmlhbnQuCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCJTZXR0
aW5nIG1fcHJvdG90eXBlIHRvOiAiLCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJl
c3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAg
ICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9
KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0
dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVj
dHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewog
ICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMjYgKzQyMCwzMCBAQCBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBh
dHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCogYmFzZSkg
Y29uc3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsK
LSAgICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAg
IFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTOiBMZXQn
cyBqdXN0IHB1dCB0aGlzIG9uIEpTT2JqZWN0PworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQgPSBiYXNlOyA7KSB7CisgICAgICAgIGlm
IChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAg
ICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAg
Y3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CiAgICAgfQogfQogCi1ib29sIFN0cnVjdHVy
ZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSkgY29uc3QKK2Jvb2wgU3RydWN0
dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkg
Y29uc3QKIHsKKyAgICBBU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKKwogICAg
IGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgp
OworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwog
ICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQyNiw3ICs0NTIs
NyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0
cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYg
KGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVy
ZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAg
ICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAg
ICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQzNiwxNSArNDYyLDE2
IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0
Citib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoSlNPYmplY3QqIGJhc2UpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKQorICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAv
LyBPT1BTOiBtYXliZSBtYWtlIHRoaXMgSlNPYmplY3QqIG1ldGhvZD8KKyAgICByZXR1cm4gYW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhiYXNlKQogICAgICAgICB8
fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOwogfQogCi1Ob25Qcm9wZXJ0eVRy
YW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29u
c3QKK05vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCisgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKGJhc2UpKSAvLyBPT1BT
OiBtYXliZSBtYWtlIHRoaXMgYSBKU09iamVjdCogbWV0aG9kCiAgICAgICAgIHJldHVybiBOb25Q
cm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICAKICAg
ICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKQEAg
LTU1NSw2ICs1ODIsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJh
CiAgICAgRGVmZXJHQyBkZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlv
biA9IGNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKIAorICAgIC8vIE9PUFM6IHRoaXMgbmVlZHMgdGVz
dGluZyEKICAgICB0cmFuc2l0aW9uLT5tX3Byb3RvdHlwZS5zZXQodm0sIHRyYW5zaXRpb24sIHBy
b3RvdHlwZSk7CiAKICAgICBQcm9wZXJ0eVRhYmxlKiB0YWJsZSA9IHN0cnVjdHVyZS0+Y29weVBy
b3BlcnR5VGFibGVGb3JQaW5uaW5nKHZtKTsKQEAgLTEwNjcsMTEgKzEwOTUsNiBAQCB2b2lkIFN0
cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldh
dGNocG9pbnRTZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9
CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2Rl
QmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2st
Pmdsb2JhbE9iamVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNP
YmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0xMTA5LDcgKzExMzIsNyBAQCBi
b29sIFN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9i
YWxPYmplY3QgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0
KCkpKQotICAgICAgICAmJiAoIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFy
a2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICgh
aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6
OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJv
b2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjEs
MjAgKzExNDQsMjQgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgog
ICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJ
bnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK2Jvb2wg
U3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU09iamVjdCogYmFzZSkKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBtYWtlIHRo
aXMgYSBKU09iamVjdCogbWV0aG9kLgorCiAgICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1l
KSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKTsKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoYmFzZSk7CiAgICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0
aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJv
dG90eXBlKCk7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAg
ICAgLy8gT09QUzogTWF5YmUgdGhpcyBuZWVkcyBzb21lIGNsb3NlciBhdHRlbnRpb24sIGJ1dCBJ
J20gbm90IHN1cmUgaG93IHdlIGNhbiBzYXkKKyAgICAgICAgLy8gbXVjaCBhYm91dCBvdXIgcHJv
dG90eXBlIGNoYWluIHdpdGhvdXQga25vd2luZyBjb25zdGFudCBwcm90b3R5cGUgdmFsdWVzLi4u
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CiAgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFzQ2VsbCgpLT5z
dHJ1Y3R1cmUodm0pOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAg
ICAgICAgCiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsK
KyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+
Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoIUpTQzo6aXNW
YWxpZE9mZnNldChvZmZzZXQpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIApAQCAt
MTE3Miw2ICsxMTk5LDcgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0
dQogICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsK
ICAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwogICAg
ICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKKyAgICAgICAgICAgIC8vIE9P
UFM6CiAgICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCk7CiAgICAgICAgIH0KIApAQCAtMTE4MSwxMyArMTIwOSw2IEBAIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKICAgICByZXR1cm4gYmFzZVNoYXBlOwogfQogCi1ib29s
IFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqIG90aGVyKQotewot
ICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxpbmVDYXBhY2l0eSgpCi0g
ICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9yZWRQcm90b3R5cGUoKQot
ICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhlci0+b2JqZWN0SW5p
dGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIodGhpcyksICI6WyIsIGNs
YXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDIsNyArMTIyMyw5IEBAIHZvaWQg
U3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAKICAgICBvdXQucHJpbnQo
In0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAgICAKLSAgICBpZiAo
bV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zm
c2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAg
ICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0Nl
bGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNDM2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG
bGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51bSBQb2x5UHJvdG9UYWcg
eyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNz
SW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9
IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0
IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0xMzgsNyArMTQwLDcgQEAgcHJv
dGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmpl
Y3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlw
ZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50
MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENyZWF0aW5n
RWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE2OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVu
dGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVj
dHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUq
LCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0
dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpTX0VYUE9SVF9QUklW
QVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1
Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRyaWJ1dGVDaGFuZ2VU
cmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1
dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiB0b0NhY2hlYWJs
ZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRTdHJ1Y3R1cmVU
cmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGljIFN0cnVjdHVy
ZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKik7CkBA
IC0yNDAsMjYgKzI0Miw0NCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5
cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQog
ICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCopIGNvbnN0
OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBj
b25zdDsKICAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Owot
ICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkgY29uc3Q7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCopIGNvbnN0
OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAg
Ly8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3Jl
YXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBh
IHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFj
ZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsg
fQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsK
KyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICAvLyBPT1BT
LiBtYXliZSBkZWJ1ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBl
LmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBjb25z
dAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3RvdHlwZSgpKTsK
KyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAg
SlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09i
amVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAg
U3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25z
dDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBT
dHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAgIEpTVmFsdWUg
cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90
eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5
cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3Rv
dHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFp
biogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5
cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAgIFN0
cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVj
U3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGls
ZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgIAogICAgIC8vIEEgU3RydWN0dXJlIGlz
IGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEgc21h
bGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwogICAgICAgICAKICAgICAvLyBXaWxsIGp1
c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0g
ICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lLCBKU09iamVjdCop
OwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0
dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAg
IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NF
UlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVS
YXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1
Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYg
KCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAg
ICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZp
b3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiArNTY2LDYgQEAgcHVibGljOgogICAgICAg
ICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9CiAgICAgCi0gICAg
dm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVD
aGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
dGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0
cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQ
cm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wgaGFzSW5mZXJyZWRU
eXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVycmVkVHlwZVRhYmxl
OwpAQCAtNTkwLDEwICs2MTcsNiBAQCBwdWJsaWM6CiAKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+
IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSk7CiAgICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0
aGUgdHdvIHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNl
ZCBmb3IgYWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2Fu
VXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKLSAgICAKICAgICB2b2lkIGR1bXAoUHJp
bnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mLCBE
dW1wQ29udGV4dCopIGNvbnN0OwogICAgIHZvaWQgZHVtcEJyaWVmKFByaW50U3RyZWFtJiwgY29u
c3QgQ1N0cmluZyYpIGNvbnN0OwpAQCAtNzIwLDggKzc0Myw3IEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9pbmxpbmVDYXBh
Y2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0
dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBib29sIGlzVmFsaWQo
RXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsK
KyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVk
UHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAgIC8vIFlvdSBoYXZl
IHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQcm9wZXJ0eVRhYmxl
Kik7CkBAIC03MzIsMTIgKzc1NCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBjZWxsICYm
IGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAKLSAgICBTdHJ1
Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGhh
c1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURh
dGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KFBy
b3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tP
ZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNpdENoaWxkcmVu
KEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsK
KworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVh
ZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6ZV90IGkgPSAw
OworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0g
Y3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQor
ICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkp
OworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0b3IgPSBXVEZN
b3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3
IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJl
SXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwg
U3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2
bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWlu
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhlYXApKSBT
dHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkpOwogICAg
ICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIgKzYyLDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3RlZDoK
LSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQotICAgIHsK
LSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXplX3Qgc2l6ZSA9
IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3Vy
cmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0
KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICAr
K3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4o
c2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1
cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJv
dG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBl
KCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywg
Y3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwotICAg
ICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyNDM2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3Jl
YXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9i
amVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkp
OwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUu
aXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQxIEBAIGlu
bGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogeworICAgIFJF
TEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09iamVjdCogb2JqZWN0
ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitBTFdB
WVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmpl
Y3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVy
ZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0
LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QK
K3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBP
T1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAg
IHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2Jq
ZWN0LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwo
KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsK
K30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
U3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2Jq
ZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1
cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNf
SU5MSU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY4LDggKzE5
OCwyMSBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAKIGlubGlu
ZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90
eXBlKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUu
Z2V0KCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBpZiAodHlwZUlu
Zm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+
c3ltYm9sUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0gU3Ry
aW5nVHlwZSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7Cit9
CisKK2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKK3sKKyAgICBSRUxFQVNF
X0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQ/
CisgICAgaWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNP
YmplY3QoYmFzZSkpOwogICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQog
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKIApAQCAtMTgy
LDI3ICsyMjUsMjggQEAgaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMbwog
ICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
KTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1
Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0Vf
QVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIGRlYnVn
PwogICAgIC8vIFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2Fu
IHNoYXJlIGl0LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90
eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBl
Rm9yTG9va3VwKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4u
c2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxs
KCkgPyAwIDogYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlz
VmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkg
eworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxP
YmplY3QsIGJhc2UpOworICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhp
cywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0
ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJv
dG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJl
Ojpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJl
Q2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwg
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4o
ZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5s
aW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29s
IFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewog
ICAgIGlmICghY2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7
CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0
LCBiYXNlKTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0g
Y2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVy
ZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5
cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsy
NTcsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0
dXJuIHByb3RvdHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5l
IGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4q
IGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxp
bmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQpCiB7CiAgICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC00MDAsNyArNDM5LDcg
QEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiBy
ZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpz
ZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5M
SU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJs
ZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwg
dGhpcywgdGFibGUpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAog
I2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIK
KyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CkBAIC03MCw2ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4o
SlMKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7Cisg
ICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5
UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0cnVjdHVy
ZVJhcmVEYXRhOjpjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAgLTE3NSw2
ICsxNzcsNTMgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQogICAg
IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitKU1ZhbHVlIFN0cnVjdHVyZVJh
cmVEYXRhOjppbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKQoreworICAg
IHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5nZXQoKTsK
K30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0m
IHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7Cisg
ICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3Rv
ciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRWYWx1ZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9y
T3JQb2x5UHJvdG9TdHJ1Y3R1cmUpKQorICAgICAgICByZXR1cm4gaW5mZXJyZWRDb25zdHJ1Y3Rv
ci0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgQVNTRVJUKGluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZS5hc0NlbGwoKS0+aW5oZXJpdHModm0sIFN0cnVjdHVyZTo6aW5m
bygpKSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZVJhcmVE
YXRhOjpwb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtKQoreworICAgIEpTVmFsdWUgaW5mZXJyZWRD
b25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlID0gdGhpcy0+aW5mZXJyZWRDb25zdHJ1Y3Rv
ck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgaWYgKCFpbmZlcnJlZENvbnN0cnVjdG9yT3JQ
b2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBq
c0R5bmFtaWNDYXN0PFN0cnVjdHVyZSo+KHZtLCBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjppc1BvbHlQcm90byhW
TSYgdm0pCit7CisgICAgcmV0dXJuIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKHZtKSB8fCAhIXBv
bHlQcm90b1N0cnVjdHVyZSh2bSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6Om5lZWRz
SW5mZXJyZWRDb25zdHJ1Y3RvcigpCit7CisgICAgcmV0dXJuICFpbmZlcnJlZENvbnN0cnVjdG9y
T3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKK30KKworSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFy
ZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mIHZtKQoreworICAgIFJFTEVBU0Vf
QVNTRVJUKCFtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CisgICAg
SW5mZXJyZWRWYWx1ZSogcmVzdWx0ID0gSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKTsKKyAgICBt
X2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHJl
c3VsdCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6
c2V0UG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7Cisg
ICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlz
LCBzdHJ1Y3R1cmUpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0t
LS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RU
b1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRh
LmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0
aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDIyIEBAIHB1YmxpYzoKICAgICBK
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBj
b25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUg
b2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMs
IHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8g
V2UncmUgdGhlIFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVj
dCB3aGljaCBtaWdodCBiZSB0aGUgInByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0
cnVjdG9yLiBJZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlm
IHdlIGhhdmUgYSBjb25zdGFudCBjb25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBt
X2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSBwb2ludHMgdG8gYW4gSW5m
ZXJyZWRWYWx1ZSBpbmZlcnJpbmcgYQorICAgIC8vIEpTRnVuY3Rpb24uIElmIHdlIG5vdGljZSB0
aGF0IHdlIGdvIHBvbHkgcHJvdG8sIHRoZW4gdGhpcyBmaWVsZCBlaXRoZXIgcG9pbnRzIHRvIGFu
IEluZmVycmVkVmFsdWUKKyAgICAvLyB0aGF0IGlzIGludmFsaWRhdGVkLiBJZiB3ZSBldmVyIGNv
bnN0cnVjdCBhbiBvYmplY3Qgd2hvJ3MgX19wcm90b19fIHBvaW50cyB0byB0aGlzIHByb3RvdHlw
ZSwgdGhlbgorICAgIC8vIHdlIG1vdmUgbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUgdG8gdGhlIFN0cnVjdHVyZSBvZiB0aGUgb2JqZWN0IHRoYXQgc2hvdWxkIGJlIGNy
ZWF0ZWQKKyAgICAvLyB0aGF0IGhhcyBwb2x5IHByb3RvLgorICAgIEluZmVycmVkVmFsdWUqIGVu
c3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3Ry
dWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGJvb2wgbmVlZHNQb2x5UHJvdG9TdHJ1
Y3R1cmUoVk0mKTsKKyAgICBib29sIG5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpOworICAgIHZv
aWQgc2V0UG9seVByb3RvU3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKik7CisgICAgU3RydWN0dXJl
KiBwb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mKTsgLy8gTWF5IGJlIG51bGxwdHIgaWYgbm90IHBvbHkg
cHJvdG8gb3IgcG9seSBwcm90byBzdHJ1Y3R1cmUgaGFzIHlldCB0byBiZSBpbnN0YW50aWF0ZWQu
CisgICAgYm9vbCBpc1BvbHlQcm90byhWTSYpOworCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsK
IAogcHJpdmF0ZToKQEAgLTc2LDYgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4gbV9vYmpl
Y3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJpZXI8VW5r
bm93bj4gbV9pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmU7CiAgICAgCiAg
ICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4s
IFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9p
bnRTZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJy
aWVyLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUp
IHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVy
KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigp
IGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBj
b25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25z
dCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBj
b25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHJldmlzaW9uIDIyMjQz
NikKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNs
YXNzPiBpbmxpbmUgSgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBK
U0M6OkpTT2JqZWN0KiBnZXRET01Qcm90b3R5cGUoSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2Jq
ZWN0JiBnbG9iYWxPYmplY3QpCiB7CisgICAgLy8gT09QUzogbG9vayBpbnRvIHRoaXMKICAgICBy
ZXR1cm4gSlNDOjpqc0Nhc3Q8SlNDOjpKU09iamVjdCo+KGFzT2JqZWN0KGdldERPTVN0cnVjdHVy
ZTxXcmFwcGVyQ2xhc3M+KHZtLCBnbG9iYWxPYmplY3QpLT5zdG9yZWRQcm90b3R5cGUoKSkpOwog
fQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321666</attachid>
            <date>2017-09-24 21:17:50 -0700</date>
            <delta_ts>2017-09-25 19:31:19 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>159473</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDM2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAg
ICBhc3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30K
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpIG9mIGlu
c3RhbmNlcykKKyAgICAgICAgdmFsaWRhdGUoaSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3RvID0geworICAgIGdldCB4
KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCitsZXQgYWx0ZXJuYXRlUHJv
dG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAgZ2V0IHgoKSB7CisgICAg
ICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5f
eDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29u
c3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7CisgICAgICAgIH0KKyAgICB9
OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgcCkgeworICAg
IGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgYXJyID0g
W107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkKKyAgICBhcnIucHVzaChm
b28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBh
IG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitmb3IgKGxldCBhIG9mIGFy
cikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFs
aWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEu
X19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwg
bnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUzIEBACitsZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlKCkgewor
ICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25z
dHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5
cGUueSA9IHk7CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisKKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgcG9seVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5zdGFuY2UoKTsKK1N0cmlu
Zy5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitTeW1ib2wucHJvdG90
eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBbCisgICAg
ImZvbyIsCisgICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAgICBTeW1ib2woImJhciIp
LAorXTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVu
Y3Rpb24gdmFsaWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIwKTsKKyAgICBhc3NlcnQo
cy55ID09PSB5KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3BlcnR5ID09PSB1bmRlZmlu
ZWQpOworICAgIGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7
CisgICAgYXNzZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxp
ZGF0ZShzKTsKKyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0luc3RhbmNlLl9fcHJvdG9f
XyA9IHt6OjQwMCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAg
IGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyNyw2
ICsyMjcsNyBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2Rl
L01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9Nb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5jcHAKK2J5
dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAK
IGJ5dGVjb2RlL09wY29kZS5jcHAKQEAgLTIzNCw2ICsyMzUsNyBAQCBieXRlY29kZS9Qb2x5bW9y
cGhpY0FjY2Vzcy5jcHAKIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHAKIGJ5dGVjb2Rl
L1Byb2dyYW1Db2RlQmxvY2suY3BwCiBieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKK2J5
dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAogYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIyNDM2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNjEsNiArMTA2MSw3IEBACiAJCTc5MTlC
NzgwMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MTlCNzdGMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0Nv
bXBpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3OTIzM0MyQjFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQg
LyogSklUTWF0aElDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNzkyQ0IzNEExQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTJDQjM0ODFD
NEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMg
LyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTc5NjQ2NTZBMUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY0NjU2ODFCOTUyRkYwMDAzMDU5
RUUgLyogR2V0UHV0SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTc5NjVDMjE3MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lz
dGVyc0J5R3JhcGhDb2xvcmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk2NUMyMTUxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0
ZXJzQnlHcmFwaENvbG9yaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNzk2REFBMkIxRTg5Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NkRBQTJBMUU4
OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM0OTksNiArMzUwMCw4IEBACiAJCTc5MjMzQzI5MUQz
NDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSklUTWF0aElDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ3
MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ4MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9y
aWdpbk1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQQ1RvQ29kZU9yaWdp
bk1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1NzVDQzFGNzM0OTcyMDBC
QTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJv
dG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1
NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzk1RjA5OUMxRTAzNjAwNTAwQkJFMzdGIC8qIEIzQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCM0NvbXBpbGUuY3BwOyBwYXRoID0gYjMvQjNDb21w
aWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NDY1NjgxQjk1MkZGMDAw
MzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2V0UHV0SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY1QzIxNDFFNUQ3
OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQWlyQWxsb2NhdGVSZWdpc3RlcnNC
eUdyYXBoQ29sb3JpbmcuY3BwOyBwYXRoID0gYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlH
cmFwaENvbG9yaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTczNDEsNiAr
NzM0NCw4IEBACiAJCQkJMTRBRDkxMEExRENBOTI5NDAwMTRGOUZFIC8qIFByb2dyYW1Db2RlQmxv
Y2suaCAqLywKIAkJCQkwRkQzRTQwNzFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRp
b24uY3BwICovLAogCQkJCTBGRDNFNDA4MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRp
dGlvbi5oICovLAorCQkJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHAgKi8sCisJCQkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmggKi8sCiAJCQkJMEYxNUNEMjAxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5
SWRGbGFncy5jcHAgKi8sCiAJCQkJMEYxNUNEMjExQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRG
bGFncy5oICovLAogCQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVz
LmNwcCAqLywKQEAgLTg1MjksNiArODUzNCw3IEBACiAJCQkJQTFCOUUyM0UxQjRFMEQ2NzAwQkM3
RkVEIC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE4MTkz
RTQxQjRFMENEQjAwRkMxMDI5IC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExNTg3RDZFMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3Jt
YXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzAxQjREQzE0MTAw
RDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTU4N0Q3NTFCNERDMUM2MDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3Ry
dWN0b3IubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MjFCNERDMTQxMDBENjk4NDkg
LyogSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5h
bWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZB
VEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZB
VEVfTkFNRVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVO
YW1lIHsgIlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07
CitTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1l
IHsgIlByaXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRl
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNp
b24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05B
TUVTCiAKIGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0
ZU5hbWU7CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElD
X0VOVFJZKG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5h
bWUuaW1wbCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wo
SU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRl
bnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2
YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+
KFN5bWJvbHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1i
b2xJbXBsJj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAg
ICAgICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZB
VEVfVE9fUFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkp
CkBAIC0yMzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJM
SUNfVE9fUFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1f
ZG9sbGFyVk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1f
cHVibGljVG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZN
UHJpdmF0ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNj
b3JlUHJvdG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29y
ZVByb3RvKTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZp
ZXJzLT51bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFt
ZSk7CiAgICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29u
c3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNM
QVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYg
ZG9sbGFyVk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAg
ICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJl
dHVybiBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXIm
IHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3Jl
UHJvdG9Qcml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlk
ZW50aWZpZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BS
SVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5f
U1lNQk9MUykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAg
Y29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBK
U0M6OklkZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElk
ZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1f
cHVibGljVG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1Ymxp
Y01hcDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9BY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTUgKzQ5LDE4IEBACiAjaW5j
bHVkZSAiU3VwZXJTYW1wbGVyLmgiCiAjaW5jbHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAKKyNp
bmNsdWRlICJNYWNyb0Fzc2VtYmxlclByaW50ZXIuaCIKKwogbmFtZXNwYWNlIEpTQyB7CiAKIG5h
bWVzcGFjZSBBY2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9
IGZhbHNlOwogfQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQor
QWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
dHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHJvdG90eXBlQWNjZXNz
Q2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUodHlwZSkKICAgICAsIG1f
b2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ocHJvdG90eXBlQWNj
ZXNzQ2hhaW4pCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3Ry
dWN0dXJlKTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsKQEAgLTE1MSw2ICsx
NTQsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYg
KHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3Ry
aW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxNiwxMCBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxh
Y2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJldHVybiB0aGlzQ2FzZS5tb2R1bGVOYW1lc3BhY2VP
YmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCk7CiAgICAgfQogICAg
IGRlZmF1bHQ6CisgICAgICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0aGlzIGlzIGV4YWN0bHkgd2hh
dCB3ZSB3YW50CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJv
dG8oKSB8fCBvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkKKyAg
ICAgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluID09IG90aGVyLm1fcHJvdG90
eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgaWYgKCFndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygp
IHx8ICFvdGhlci5ndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCkBAIC0yMTksMjIgKzIyOSwyNiBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxh
Y2UoY29uc3QgQWNjZXNzCiAKIHZvaWQgQWNjZXNzQ2FzZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0
KSBjb25zdAogewotICAgIG91dC5wcmludChtX3R5cGUsICI6KCIpOworICAgIG91dC5wcmludCgi
XG4iLCBtX3R5cGUsICI6KCIpOwogCiAgICAgQ29tbWFQcmludGVyIGNvbW1hOwogCiAgICAgb3V0
LnByaW50KGNvbW1hLCBtX3N0YXRlKTsKIAotICAgIGlmIChtX3R5cGUgPT0gVHJhbnNpdGlvbikK
LSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3Ry
dWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7Ci0gICAgZWxz
ZSBpZiAobV9zdHJ1Y3R1cmUpCi0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9
ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7Ci0KICAgICBpZiAoaXNWYWxpZE9m
ZnNldChtX29mZnNldCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgIm9mZnNldCA9ICIsIG1f
b2Zmc2V0KTsKICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkKICAgICAgICAgb3V0
LnByaW50KGNvbW1hLCAiY29uZGl0aW9ucyA9ICIsIG1fY29uZGl0aW9uU2V0KTsKIAorICAgIGlm
IChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgb3V0LnBy
aW50KGNvbW1hLCAicHJvdG90eXBlIGFjY2VzcyBjaGFpbiA9ICIsIG1fcHJvdG90eXBlQWNjZXNz
Q2hhaW4pOworICAgIGVsc2UgeworICAgICAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCisg
ICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChz
dHJ1Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUpCisgICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJz
dHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOworICAgIH0KKwog
ICAgIGR1bXBJbXBsKG91dCwgY29tbWEpOwogICAgIG91dC5wcmludCgiKSIpOwogfQpAQCAtMjQz
LDYgKzI1NywxMCBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYgdm0pIGNvbnN0CiB7
CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0cnVjdHVyZS5nZXQo
KSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJl
IDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi5jaGFpbigpKSB7CisgICAgICAgIGlmICghSGVhcDo6
aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAg
ICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICsyOTEsOSBAQCBib29sIEFj
Y2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1fc3RydWN0dXJlKQog
ICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0b3IpOwogCisg
ICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hh
aW4oKSkKKyAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7
CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlvbjoKICAgICAgICAg
aWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5wcmV2aW91c0lEKCkp
KQpAQCAtMzcyLDI2ICszOTMsNjkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFy
ZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQcm94eSgpKSB7Ci0g
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5j
aDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJ
bmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAgICAgICAgIGppdC5s
b2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZz
ZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0g
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluLnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIkdl
bmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAgLy9qaXQucHJpbnQoIkRv
aW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNl
Rm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0
YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2hhaW4oKS5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9wcm90b3R5cGVBY2Nl
c3NDaGFpbi5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRFbmQgPSBpICsgMSA9
PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLmNoYWluKCkuc2l6ZSgpOworICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVj
dHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisg
ICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vz
c0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVuZCkgeworICAgICAgICAg
ICAgICAgICAgICAvL2lmIChtX3R5cGUgPT0gTWlzcyAmJiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWlu
LnVzZXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgICAgICAgICAvLyAgICBkYXRhTG9nTG4o
ImdlbmVyYXRpbmcgTWlzcyB3LyBwb2x5UHJvdG9BY2Nlc3NDaGFpbiIpOworICAgICAgICAgICAg
ICAgICAgICAvL30KKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmICFz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAvL2RhdGFMb2dMbigiZ2VuZXJhdGluZyBNaXNzIHcvIHBvbHkgcHJvdG8gYXMgbGFzdCBzdHJ1
Y3R1cmUhIik7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9m
ZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9P
UFM6IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBuZWVkZWQgaWYgd2UgdHJhbnNpdGlvbiBvbiBzZXR0
aW5nIHRoZSBwcm90b3R5cGUuCisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5h
cHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NH
UFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3Vw
KHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGpp
dC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwg
YmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOyAv
LyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90b3R5
cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0
aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpFcXVh
bCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxs
KSkpOyAvLyBPT1BTOiB0aGlzIGlzbid0IG5lZWRlZCBpZiB3ZSBzdGlsbCB0cmFuc2l0aW9uIG9u
IHNldHRpbmcgb3VyIHByb3RvdHlwZS4KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAot
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAg
ICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5k
KAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSks
CisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJl
Rm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKEND
YWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNj
cmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAg
ICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkp
LAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0Nh
bGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC00NjMsNiArNTI3LDcgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICByZXR1cm47CiAKICAgICBj
YXNlIE1pc3M6CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGppdC5tb3ZlVHJ1c3RlZFZhbHVl
KGpzVW5kZWZpbmVkKCksIHZhbHVlUmVncyk7CiAgICAgICAgIHN0YXRlLnN1Y2NlZWQoKTsKICAg
ICAgICAgcmV0dXJuOwpAQCAtNTA0LDEzICs1NjksMTcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZvckdldEdQUiA9IGJhc2VHUFI7
CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAgIGlmICghbV9jb25k
aXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgKLSAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwKLSAgICAg
ICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBz
Y3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIg
PSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbi51c2Vz
UG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BS
OyAvLyB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQhIE9PUFM6IHRoaXMgaXMgdWdseS4KKyAgICAgICAg
ICAgIC8vaml0LnByaW50KCJEb2luZyBwb2x5IHByb3RvIGxvYWQhXG4iKTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7CisgICAg
ICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgICAg
ICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAg
ICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0gSW52YWxpZEdQUlJlZzsKICAg
ICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
QWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVlU2V0dGVyICYmIG1fdHlwZSAh
PSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtNTY5LDYgKzYzOCw5IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
CisgICAgICAgIC8vaWYgKG1fdHlwZSA9PSBHZXR0ZXIgJiYgbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bi5tX2hhc1BvbHlQcm90bykKKyAgICAgICAgLy8gICAgaml0LnByaW50KCJEb2luZyBnZXR0ZXIg
Y2FsbCBmb3IgcG9seSBwcm90b1xuIik7CisKICAgICAgICAgLy8gU3R1ZmYgZm9yIGN1c3RvbSBn
ZXR0ZXJzL3NldHRlcnMuCiAgICAgICAgIENDYWxsSGVscGVyczo6Q2FsbCBvcGVyYXRpb25DYWxs
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJ
KHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQu
aCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUgPHd0Zi9Db21t
YVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYsOCArMTg3LDEwIEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGNvbnN0IFByb3RvdHlwZUFj
Y2Vzc0NoYWluJiBwcm90b3R5cGVBY2Nlc3NDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW47IH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKKyAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbigpKTsKICAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRl
ZmF1bHQ7CiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRl
bGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CkBA
IC0yMjcsNiArMjMwLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9u
U2V0OworCisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21w
dXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQo
bGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAg
ICAgICAgICAgaWYgKGFjY2Vzcy5wcm90b3R5cGVBY2Nlc3NDaGFpbigpLnVzZXNQb2x5UHJvdG8o
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0
cnVlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBh
Y2Nlc3Muc3RydWN0dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MiwxNyArNDIsMTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5h
bAogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UsIFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFj
Y2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3du
ZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25T
ZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRl
KQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRl
ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmli
dXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbiBwcm90b3R5
cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoK
QEAgLTYzLDcgKzYzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRl
cgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9OwogCi0gICAgc3RkOjp1bmlx
dWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UsIHByb3RvdHlwZUFjY2Vz
c0NoYWluKSk7CiAgICAgcmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAg
ICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3IuZ2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJl
dHVybiBXVEZNb3ZlKHJlc3VsdCk7CkBAIC03NCw3ICs3NCw4IEBAIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCiB7
CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIg
fHwgdHlwZSA9PSBDdXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEdl
dHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBu
dWxscHRyLCBjdXN0b21TbG90QmFzZSkpOworICAgIC8vIE9PUFM6IGRvIHNvbWV0aGluZyBoZXJl
CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcg
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBj
dXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vz
c0Nhc2UuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMTEgKzQ5
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3Jl
YXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5
ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRy
LAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAg
IEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBib29s
IHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRy
LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCisgICAgICAgIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5u
b3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIFByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBl
QWNjZXNzQ2hhaW4oKSk7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFN0cnVjdHVyZSosIFByb3Bl
cnR5T2Zmc2V0LAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwKQEAgLTY3LDcgKzY0LDcgQEAg
cHVibGljOgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0
b21BY2Nlc3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKTsKKyAgICBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlLCBQcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1
bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVj
dHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9u
U3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1
cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xh
c3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNl
U3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9y
IHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVj
dHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE2NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIK
KyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsKKwordm9p
ZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQor
eworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwor
ICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBib29sIGlzUG9seVByb3RvID0g
ZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKTsKKyAgICAgICAgLy9p
ZiAoZXhlY3V0YWJsZS0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUpIHsKKyAg
ICAgICAgLy8gICAgZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgLy8g
ICAgZGF0YUxvZ0xuKCJFeGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGV4ZWN1dGFibGUpLCAiIGhh
cyBiZWVuIGNvbnN0cnVjdGVkIG1vcmUgdGhhbiBvbmNlLiBQcm90b3R5cGUgc3RydWN0dXJlOiAi
LCBSYXdQb2ludGVyKHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKSkpOworICAgICAgICAvLyAgICBw
cm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmR1bXAoV1RGOjpkYXRhRmlsZSgpKTsKKyAgICAgICAg
Ly8gICAgZGF0YUxvZ0xuKCJcbi0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAvL30KKwor
ICAgICAgICBpZiAoZXhlY3V0YWJsZS0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1
cmUgJiYgcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAg
ICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSkt
PnJhcmVEYXRhKCktPnBvbHlQcm90b1N0cnVjdHVyZSh2bSkpIHsKKyAgICAgICAgICAgICAgICAv
L2RhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgICAg
ICAgICAgLy9kYXRhTG9nTG4oImFscmVhZHkgaGF2ZSBwb2x5IHByb3RvIHN0cnVjdHVyZSBmb3Ig
ZXhlY3V0YWJsZTogIiwgUmF3UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsK
KyAgICAgICAgICAgICAgICAvL2RhdGFMb2dMbihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkt
PnNvdXJjZSgpLnZpZXcoKSk7CisgICAgICAgICAgICAgICAgLy9zdHJ1Y3R1cmUtPmR1bXAoV1RG
OjpkYXRhRmlsZSgpKTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9
IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgICAgICAgICBNYXJrZWRBbGxv
Y2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoSlNGaW5hbE9iamVj
dDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpKTsKKworICAgICAgICAgICAgICAgIG1f
YWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgICAgICAgICAgICAgIG1fc3RydWN0dXJlLnNldCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9
IGlubGluZUNhcGFjaXR5OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorCisgICAgICAgIC8vIE9PUFM6IFByb2JhYmx5IGNhbGwgaW50byBhIGRpZmZl
cmVudCBwcm90b3R5cGVNYXAgZnVuY3Rpb24gaGVyZSB0aGF0IG1ha2VzIHBvbHkgcHJvdG8sIHRo
YXQgd2F5LAorICAgICAgICAvLyBubyBvbmUgZWxzZSBjYW4gYWNjaWRlbnRhbGx5IGdldCBhIHBv
bHkgcHJvdG8gc3RydWN0dXJlLgorICAgICAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEg
PSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICAgICAg
aWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAgICAgICAgIHJh
cmVEYXRhLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKworICAgICAgICBpZiAoSW5m
ZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IGpzRHluYW1pY0Nhc3Q8SW5mZXJyZWRW
YWx1ZSo+KHZtLCByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKCkpKSB7CisgICAgICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2
bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlIik7CisgICAgICAgICAgICBpc1BvbHlQcm90byA9IGluZmVycmVkQ29u
c3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpICYmIGV4ZWN1dGFibGUtPm1fY29uc3RydWN0
UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlOworICAgICAgICB9CisgICAgICAgIC8vaWYgKGlzUG9s
eVByb3RvKSB7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Iik7CisgICAgICAgIC8vICAgIGRhdGFMb2dMbigiR29pbmcgcG9seSBwcm90byBmb3IgZXhlY3V0
YWJsZTogIiwgUmF3UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAg
ICAgLy8gICAgZGF0YUxvZ0xuKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKS0+c291cmNlKCku
dmlldygpKTsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCJXaGljaCBoYXMgZXhlY3V0YWJsZTog
IiwgUmF3UG9pbnRlcihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAgLy99
CisKKyAgICAgICAgZXhlY3V0YWJsZS0+bV9jb25zdHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1
cmUuc2V0KHZtLCBleGVjdXRhYmxlLCBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSkpOworICAgICAg
ICAvLyBPT1BTOiB3ZSBrbm93IGhlcmUgaWYgd2UncmUgZG9pbmcgc29tZXRoaW5nIHRoYXQncyBw
b2x5IHByb3RvLiBXZSBzaG91bGQgcHJvYmFibHkgY29udmV5IHRoYXQKKyAgICAgICAgLy8gaW5m
b3JtYXRpb24gaGVyZSBhbmQgYWxzbyBjb252ZXkgaWYgd2Uga25vdyB0aGF0IHdlJ3ZlIHJlc2Vy
dmVkIGFuIGlubGluZSBzcGFjZSBmb3IgdGhlIHByb3RvLgorICAgIH0KKworICAgIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpT
RmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0
byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwg
cHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAg
ICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBz
dGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBp
bml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9u
cy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAg
ICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24n
dCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8g
YSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VS
VChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAg
IGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlu
bGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gT09QUzogbGV0
cyBjb21tdW5pY2F0ZSB0aGlzIHRvIHN0cnVjdHVyZSBjcmVhdGUuIEl0J3MganVzdCBhc3NlcnRp
bmcgaXQgZ2V0cyBhbiBpbmxpbmUgc2xvdC4KKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNh
cGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNG
aW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFs
bG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9u
U2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkg
YXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAg
ICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUp
IC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5
ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgLy8gT09QUzogbmVlZCB0
byBtYWtlIHRoaXMgQVBJIG1vcmUgY2xlYXIuCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2
bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisg
ICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25l
ciwgc3RydWN0dXJlKTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9
CisKK3Vuc2lnbmVkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9w
ZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90
eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1l
QXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5k
U3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3Ry
dWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVB
cnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJv
cGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5k
YXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
cHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUg
PSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAg
ICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVs
IG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWND
YXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAg
ICAgICAgKytjb3VudDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVs
bCgpIHsgcmV0dXJuICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsK
LSAgICAgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8v
IFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAg
ICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5
Q291bnQodm0sIHByb3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSkgewotICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNv
IG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAg
ICAgICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBl
biB3aXRoIGhlbHBlciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAg
ICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHBy
b3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEg
c21hbGwKLSAgICAgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAg
ICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGlu
ZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAg
ICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNh
cGFjaXR5ID4gMCk7Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNp
emUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAg
ICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZv
cihhbGxvY2F0aW9uU2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBv
ZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAg
ICAgICBpZiAoYWxsb2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0
b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVu
a25vd24+KTsKLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAg
ICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
KQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJl
IHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBp
dCBwcm9wZXJseSBjcmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAg
ICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVD
YXBhY2l0eTsKLSAgICB9CisgICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBu
dWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMjYsMjcg
Kzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAg
ICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFBy
b3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50
ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQ
cm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6Oklu
Y2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVz
RnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsK
LSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3Bl
cnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVj
dG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9y
LnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5n
ZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1
bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0
aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpT
RnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAg
ICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAg
IH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAv
LyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBnZW5lcmF0ZUNv
bmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9u
OjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAg
ICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgKICAgICAgICAgICAg
IHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlD
b25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlD
b25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFi
c2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9i
amVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJl
YWs7CkBAIC0yNTgsNiArMjYyLDExIEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVy
YXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFs
aWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6
aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBPT1BTOiBXZSBuZWVkIHNvbWUgc3Rvcnkg
aGVyZSBvZiBhbiBpbnRlcmxlYXZpbmcuCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAg
SlNWYWx1ZSB2YWx1ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVj
dCk7CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMzksNyArMzM5LDcgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhp
Y0FjY2VzcwogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vzc0ludGVybmFsOjp2ZXJib3NlKQogICAg
ICAgICBkYXRhTG9nKCJSZWdlbmVyYXRlIHdpdGggbV9saXN0OiAiLCBsaXN0RHVtcChtX2xpc3Qp
LCAiXG4iKTsKICAgICAKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0pOworICAg
IEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSwgY29kZUJsb2NrLT5nbG9iYWxPYmplY3Qo
KSk7CiAKICAgICBzdGF0ZS5hY2Nlc3MgPSB0aGlzOwogICAgIHN0YXRlLnN0dWJJbmZvID0gJnN0
dWJJbmZvOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Bv
bHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEs
MTQgKzE3MSwxNiBAQCBwcml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vzc0dlbmVyYXRpb25TdGF0
ZSB7Ci0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAgICBBY2Nlc3NHZW5lcmF0
aW9uU3RhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICA6
IG1fdm0odm0pIAorICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKICAgICAg
ICAgLCBtX2NhbGN1bGF0ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0aW9uSGFuZGxpbmcoZmFs
c2UpCiAgICAgICAgICwgbV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lmRXhjZXB0aW9uKGZhbHNl
KQogICAgICAgICAsIG1fY2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFsc2UpCiAgICAgewogICAg
IH0KICAgICBWTSYgbV92bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7CiAg
ICAgQ0NhbGxIZWxwZXJzKiBqaXQgeyBudWxscHRyIH07CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxs
b2NhdG9yKiBhbGxvY2F0b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpQcmVzZXJ2
ZWRTdGF0ZSBwcmVzZXJ2ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCShyZXZp
c2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlD
b25kaXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDE0IEBAIGJvb2wgUHJv
cGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2Vy
dmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2Ug
aGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50
ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0
IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSk7CiAgICAg
ICAgIGlmIChjdXJyZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKICAgICAgICAgICAgIGlm
IChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQpAQCAtMTMyLDYgKzE0MCwxNCBA
QCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAg
ICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIGl0J3MgYSBkaWN0aW9uYXJ5LlxuIik7CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5r
IHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYK
KyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtl
IHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkg
cHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAg
ICAgCiAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRBdHRyaWJ1dGVzOwogICAgICAgICBQcm9wZXJ0
eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCks
IGN1cnJlbnRBdHRyaWJ1dGVzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9uZXhpc3RlbnQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNw
YWNlIEpTQyB7CisKK1Byb3RvdHlwZUFjY2Vzc0NoYWluOjpQcm90b3R5cGVBY2Nlc3NDaGFpbihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5
U2xvdCYgc2xvdCkKK3sKKyAgICBVTlVTRURfUEFSQU0oZ2xvYmFsT2JqZWN0KTsKKyAgICAvLyBP
T1BTOiBjb25zaWRlciBET00gcHJveHkgaGVyZS4gQWxzbywgcHJveHkgaW4gdGhlIHByb3RvdHlw
ZSBjaGFpbj8KKworICAgIEpTQ2VsbCogY3VycmVudCA9IGJhc2U7CisgICAgVk0mIHZtID0gKmJh
c2UtPnZtKCk7CisKKyAgICBKU09iamVjdCogdGFyZ2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxs
cHRyIDogc2xvdC5zbG90QmFzZSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAg
d2hpbGUgKHRydWUpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5z
dHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkgeworICAg
ICAgICAgICAgbV9pc1ZhbGlkID0gZmFsc2U7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAg
ICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3RydWN0
dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpIHsKKyAgICAgICAgICAgICAgICBtX2lzVmFs
aWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2Jq
ZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fY2hhaW4uYXBwZW5kKHN0cnVj
dHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBm
b3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8v
IFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5
cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBi
YXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWlu
LCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAg
Ly8gcG9seSBwcm90by4KKyAgICAgICAgbV91c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIC8vIE9PUFM6IHRoaXMgc2hvdWxkIHByb2Jh
Ymx5IGJlIHByb3RvdHlwZSBmb3IgbG9va3VwLiBJZiBpdCBpcywgdGhlbiwKKyAgICAgICAgLy8g
d2UgbmVlZCB0byBjaGFuZ2UgQWNjZXNzQ2FzZSB0byBtYWtlIGl0IHdvcmsuCisgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2Jq
ZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9
CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KSB7CisgICAgICAgIC8vIE9PUFM6IHdvdWxk
IHRoaXMgYWN0dWFsbHkgY29tZSB1cCBmb3IgcmVhbCBwcm9ncmFtcz8KKyAgICAgICAgLy8gTmVl
ZCB0byBjb25zaWRlci4gSSB0aGluayBpdCBkb2VzIHNpbmNlIGJ1aWxkaW5nIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0CisgICAgICAgIC8vIHNlZW1zIHRvIGFzc3VtZSB0aGlzIGlzIHBvc3Np
YmxlLgorICAgICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgUHJvdG90
eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90
aGVyKSBjb25zdAoreworICAgIGlmIChpc1ZhbGlkKCkgIT0gb3RoZXIuaXNWYWxpZCgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAodXNlc1BvbHlQcm90bygpICE9IG90aGVyLnVz
ZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKG90aGVyLmNo
YWluKCkuc2l6ZSgpICE9IGNoYWluKCkuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFpbi5zaXplKCk7ICsraSkgeworICAg
ICAgICBpZiAobV9jaGFpbltpXSAhPSBvdGhlci5tX2NoYWluW2ldKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91dC5wcmlu
dCgiUHJvdG90eXBlQWNjZXNzQ2hhaW4iKTsKKyAgICBpZiAoIWlzVmFsaWQoKSkgeworICAgICAg
ICBvdXQucHJpbnQoIiBpcyBpbnZhbGlkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
aWYgKHVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgb3V0LnByaW50KCIgdXNlc1BvbHlQcm90byIp
OworICAgIG91dC5wcmludCgiOiBbXG4iKTsKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJl
IDogbV9jaGFpbikgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVy
ZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAgfQorICAgIG91dC5w
cmludCgiXSIpOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
CituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmplY3Q7CitjbGFzcyBKU09iamVj
dDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVyZTsKKworY2xhc3MgUHJvdG90
eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEKFByb3RvdHlwZUFj
Y2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZh
dWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWlu
JikgPSBkZWZhdWx0OworICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKFByb3RvdHlwZUFjY2Vzc0No
YWluJiYpID0gZGVmYXVsdDsKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihKU0dsb2JhbE9iamVj
dCosIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90Jik7CisgICAgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4mIG9wZXJhdG9yPShQcm90b3R5cGVBY2Nlc3NDaGFpbiYmKSA9IGRlZmF1bHQ7CisK
KyAgICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0KKworICAgIGJv
b2wgdXNlc1BvbHlQcm90bygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc1BvbHlQcm90bzsgfQorCisg
ICAgY29uc3QgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hh
aW47IH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAgIHZv
aWQgY2xlYXJDaGFpbigpIHsgbV9jaGFpbi5jbGVhcigpOyB9CisKKyAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsKKyAgICBib29sIG9w
ZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdzIHN0cnVjdHVy
ZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSByZW1vdmVkLgorICAgIGJvb2wg
bV91c2VzUG9seVByb3RvIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNWYWxpZCB7IHRydWUgfTsK
K307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVB
Y2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQ
cm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCisgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3RvdHlwZUFjY2Vzc0NoYWluIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAsIG1f
YWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90
eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUg
PT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0s
IG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwg
YWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgcHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2Uo
KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlh
YmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywx
MyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2Ug
OiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJh
c2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQu
Z2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRl
KFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0
cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVy
ZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogCiBwcml2
YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHJldmlzaW9uIDIyMjQzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzg0OCw2ICszODQ4LDkgQEAgUmVnaXN0ZXJJRCogQ2xhc3NFeHBy
Tm9kZTo6ZW1pdEJ5dGVjb2RlKAogCiAgICAgICAgIGdlbmVyYXRvci5lbWl0RGlyZWN0UHV0QnlJ
ZChjb25zdHJ1Y3Rvci5nZXQoKSwgZ2VuZXJhdG9yLnByb3BlcnR5TmFtZXMoKS51bmRlcnNjb3Jl
UHJvdG8sIHN1cGVyY2xhc3MuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7CiAgICAgICAg
IGdlbmVyYXRvci5lbWl0TGFiZWwoc3VwZXJjbGFzc0lzTnVsbExhYmVsLmdldCgpKTsKKworICAg
ICAgICAvLyBPT1BTOiB0aGlzIG1ha2VzIGl0IHNvIHRoYXQgYW55IGRlcml2ZWQgY2xhc3MgcHJv
dG90eXBlIG9iamVjdCB3aWxsIGFsd2F5cyBnZXQgYSBuZXcgc3RydWN0dXJlCisgICAgICAgIC8v
IGlmIG11bHRpcGx5IGNvbnN0cnVjdGVkIGJlY2F1c2Ugd2UgZG9uJ3QgY2FjaGUgcHJvdG90eXBl
IHRyYW5zaXRpb25zLgogICAgICAgICBnZW5lcmF0b3IuZW1pdERpcmVjdFB1dEJ5SWQocHJvdG90
eXBlLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVuZGVyc2NvcmVQcm90bywgcHJv
dG9QYXJlbnQuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7CiAgICAgfQogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2
aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MzMsNiArMzczMyw4IEBAIE5vZGUqIEJ5dGVD
b2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVzIGluIHRo
ZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0IHdvdWxk
IGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRpZG4ndCku
IE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcKICAgICAg
ICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5cyBiZSB0
cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVzIHdvcmsu
CisKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiB0aGlzIG5lZWRzIGF0dGVudGlvbgogICAgICAg
ICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBd
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVl
ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFu
dC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMwOCw2ICs0MzEwLDggQEAgYm9v
bCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICB9CiAKICAgICAg
ICAgY2FzZSBvcF9jcmVhdGVfdGhpczogeworICAgICAgICAgICAgLy8gT09QUzogdGhpbmsgdGhy
b3VnaCB0aGlzIGNvZGUuCisKICAgICAgICAgICAgIGludCBjYWxsZWVPcGVyYW5kID0gY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9IGdl
dChWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkBAIC00MzMwLDEyICs0MzM0LDE0
IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAg
IGlmIChmdW5jdGlvbikgewogICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiBy
YXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0
dXJlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRh
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXpp
bHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBv
aW50LgotICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUp
OwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dy
YXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9u
UHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
VGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFd
LnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3Rl
clN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFs
cmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTc4Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUs
IAogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihu
b2RlLT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBi
b29sIGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChS
ZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29v
ZCAmPSBzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAm
JiAhc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5n
ZXRDb25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkp
ID09IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDE1
IEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29u
c3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVE
YXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlu
bGluZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0
cik7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1
Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0
KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkgeworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIk1hZGUgcG9seSBwcm90byBvYmpl
Y3QgZm9yIGV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoanNDYXN0PEpTRnVuY3Rpb24qPihjb25z
dHJ1Y3RvciktPmpzRXhlY3V0YWJsZSgpKSk7CisKKyAgICAgICAgICAgIC8vIE9PUFM6IG1ha2Ug
dGVzdCBmb3IgcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uLCBkb24ndCByZWx5IG9uIENoYWtyYSB0
ZXN0cy4KKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVj
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI0MzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MzYyLDYgKzQzNjIsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIC8vIHRoZW4gd2Ugc3BlY3VsYXRlIGJlY2F1c2Ug
d2Ugd2FudCB0byBnZXQgcmVjb21waWxlZCBpZiBpdCBpc24ndCAoc2luY2UKICAgICAgICAgLy8g
b3RoZXJ3aXNlIHdlJ2Qgc3RhcnQgdGFraW5nIHNsb3cgcGF0aCBhIGxvdCkuCiAgICAgICAgIAor
ICAgICAgICAvLyBPT1BTOiB3ZSBzaG91bGQgZ28gc2xvdyBwYXRoIGhlcmUgZm9yIHBvbHkgcHJv
dG8gc3RydWN0dXJlLgorICAgICAgICAKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY2Fs
bGVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0
aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IGFsbG9jYXRvcih0aGlzKTsKQEAgLTQzODYsNyAr
NDM4OCwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAg
ICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpa
ZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpB
ZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0
b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6
OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVj
dHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQu
YnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisKKyAg
ICAgICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRlciBoZXJlCisgICAgICAgIG1faml0
LmxvYWQ2NChKSVRDb21waWxlcjo6QWRkcmVzcyhzdHJ1Y3R1cmVHUFIsIFN0cnVjdHVyZTo6cHJv
dG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1f
aml0LmJyYW5jaElmSW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaEdQUikpKTsKKwogICAgICAgICBl
bWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3Ry
dWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAg
ICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQ
UiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJl
dmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAK
LXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBH
UFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBH
UFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBH
UFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcp
CiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1
bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RP
YmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5LDggKzMyNDksMTYgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBs
b29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJ
bnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9m
ZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRM
b2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNo
MlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNo
UmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBz
Y3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2Ny
YXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIo
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVP
ZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9h
ZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZU9mZnNldCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9q
aXQuYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOworICAgIC8vIE9P
UFM6IHRoaXMgaXMgd3JvbmcgaWYgd2UgYWxsb3cgb3V0IG9mIGxpbmUgb2Zmc2V0cyBmb3IgcG9s
eSBwcm90by4KKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRj
aDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hS
ZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNl
dE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5r
KCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3Jv
QXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSku
bGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg5LDEyIEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJh
bmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAg
ICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BS
UmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0
Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3Jh
dGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7
CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5i
cmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJl
ZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDA0LDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAg
ICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0
YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcs
IHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwg
dmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gz
UmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEz
ICszNDE3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAg
ICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAg
IEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcg
PSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigp
OwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBz
Y3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0
Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywg
cHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAg
ICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAy
MjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25T
cGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2Up
OwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBm
YWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwg
R1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJl
c3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQ
UlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3Jh
dGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBj
b21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODg4NywxMCArODg4NywxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJh
c2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Js
b2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJv
dG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQ
b2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJl
UHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0
SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51
YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90
eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVs
dEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2Nr
IGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFs
dWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0g
VW50eXBlZFVzZSkKQEAgLTg5MDgsMTYgKzg5MTAsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFs
dWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAg
bV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3As
IGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2Fk
UHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwg
b3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0
MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJy
YW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIo
UHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJl
Y3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxs
eShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAK
LSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFu
Y2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQ
cm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsK
LSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJl
LCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5
cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90
eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNo
b3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlw
ZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7
CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlw
ZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBt
X291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQ
cm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNl
SW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2Nh
bGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBt
X291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNv
bXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQ
cm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwog
ICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1f
b3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9v
dXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2
LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAK
ICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRo
aXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3
ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYg
bm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIs
IHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVP
ZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJl
Z1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90
eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFu
Y2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIo
cmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNF
aWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhh
c1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAg
ICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAg
ZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkBAIC03NzAsNiAr
Nzc1LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIFJl
Z2lzdGVySUQgY2FjaGVkRnVuY3Rpb25SZWcgPSByZWdUNDsKICAgICBSZWdpc3RlcklEIHNjcmF0
Y2hSZWcgPSByZWdUMzsKIAorICAgIC8vIE9PUFM6IHRoaXMgaXMgd3Jvbmcgdy8gcG9seSBwcm90
byEKKwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlLCBjYWxsZWVSZWcpOwogICAg
IGFkZFNsb3dDYXNlKGJyYW5jaDgoTm90RXF1YWwsIEFkZHJlc3MoY2FsbGVlUmVnLCBKU0NlbGw6
OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKEpTRnVuY3Rpb25UeXBlKSkpOwog
ICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsZWVSZWcsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURh
dGEoKSksIHJhcmVEYXRhUmVnKTsKQEAgLTc3OCw2ICs3ODUsMTAgQEAgdm9pZCBKSVQ6OmVtaXRf
b3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIGxvYWRQdHIoQWRkcmVzcyhyYXJlRGF0YVJl
ZywgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVS
ZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaFRlc3RQdHIoWmVybywgYWxsb2NhdG9yUmVnKSk7
CiAKKyAgICAvLyBPT1BTLCB3ZSBjYW4gZG8gYmV0dGVyIGhlcmUhCisgICAgbG9hZDY0KEFkZHJl
c3Moc3RydWN0dXJlUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaFJl
Zyk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoSWZJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoUmVn
KSkpOworCiAgICAgbG9hZFB0cihjYWNoZWRGdW5jdGlvbiwgY2FjaGVkRnVuY3Rpb25SZWcpOwog
ICAgIEp1bXAgaGFzU2Vlbk11bHRpcGxlQ2FsbGVlcyA9IGJyYW5jaFB0cihFcXVhbCwgY2FjaGVk
RnVuY3Rpb25SZWcsIFRydXN0ZWRJbW1QdHIoSlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmpl
Y3RzKCkpKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2hQdHIoTm90RXF1YWwsIGNhbGxlZVJlZywg
Y2FjaGVkRnVuY3Rpb25SZWcpKTsKQEAgLTgwMCw2ICs4MTEsNyBAQCB2b2lkIEpJVDo6ZW1pdFNs
b3dfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBkb2Vz
bid0IGhhdmUgYW4gYWxsb2NhdGlvbiBwcm9maWxlCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAv
LyBhbGxvY2F0aW9uIGZhaWxlZCAobm8gYWxsb2NhdG9yKQogICAgIGxpbmtTbG93Q2FzZShpdGVy
KTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKGFsbG9jYXRvciBlbXB0eSkKKyAgICBsaW5rU2xvd0Nh
c2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkLCBzdHJ1Y3R1cmUgaGFzIHBvbHkgcHJvdG8K
ICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGNhY2hlZCBmdW5jdGlvbiBkaWRuJ3QgbWF0Y2gK
IAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0
aW9uLCBzbG93X3BhdGhfY3JlYXRlX3RoaXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAKKyAgICAgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4gcHJvdG90eXBlQWNjZXNzQ2hhaW47
CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZh
bGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcs
NDQgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1
cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNl
Q2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChz
bG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90
SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAg
ICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNz
KAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHBy
b3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhp
dCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBz
bG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAvL2RhdGFMb2dMbigiLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiUHJvdG90eXBl
IGFjY2VzcyBjaGFpbiB3aXRoIGlkZW50aWZpZXI6ICIsIFN0cmluZyhwcm9wZXJ0eU5hbWUuaW1w
bCgpKSk7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vz
c0NoYWluKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QpOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbi51c2VzUG9seVByb3RvKCkpCisgICAg
ICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4uY2xlYXJDaGFpbigpOworCisgICAgICAg
ICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluLmlzVmFsaWQoKSkgeworICAgICAgICAgICAg
ICAgIC8vZGF0YUxvZ0xuKCJJbnZhbGlkIHByb3RvdHlwZSBhY2Nlc3MgY2hhaW4uIik7CisgICAg
ICAgICAgICAgICAgLy9kYXRhTG9nTG4oIkJhc2U6ICIsIGJhc2VWYWx1ZSk7CisgICAgICAgICAg
ICAgICAgLy8gT09QUzogVGhpcyBvYnZpb3VzbHkgaXMgbm90IGNvcnJlY3QuCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9ICBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAvL2RhdGFMb2dMbigiVmFsaWQgcHJvdG90eXBlIGFjY2VzcyBjaGFpbi4iKTsK
KyAgICAgICAgICAgICAgICAvL2RhdGFMb2dMbihwcm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4udXNlc1Bv
bHlQcm90bygpKSB7CisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAg
ICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3Bl
cnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0
cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKIAotICAgICAgICAgICAg
b2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9uU2V0LnNs
b3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICAvLyBPT1BTOiBhcmUgdGhl
c2UgZXhwcmVzc2lvbiBlcXVpdmFsZW50PworICAgICAgICAgICAgLy9vZmZzZXQgPSBzbG90Lmlz
VW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24o
KS5vZmZzZXQoKTsKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxp
ZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1
bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjk5LDcgKzMyMiw3IEBAIHN0YXRpYyBJbmxp
bmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAg
ICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAg
ICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2Rl
QmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6Okxv
YWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIHByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0
eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0z
MTYsNyArMzM5LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAog
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAg
ICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5j
dXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNo
ZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAg
ICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwg
cHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjYsMTAgKzc2Niw5IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICAgICAgICAg
IHBjWzVdLnUub3BlcmFuZCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBwY1s2XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJl
Y3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWlu
ID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWlu
KGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QVNTRVJUKGNoYWluKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVj
dHVyZUNoYWluLnNldCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVC
bG9jaywgY2hhaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0
dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3Rh
dGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4
XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUyMiwxMCArNTIyLDkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29s
IAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3Rh
dGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2Jq
ZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBv
YmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7Cisg
ICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCBvYmplY3QpOwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUm
IGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRf
dCBsZW5ndGgpCkBAIC02MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RK
b2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0sp
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShz
dGF0ZSwgdGhpc09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAg
Z290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9
IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxp
bmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBw
ZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAg
ICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0pKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2Vu
ZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVi
bGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0
dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0
YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmpl
Y3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4g
YnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1
dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBp
ZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBs
ZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5n
dGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1
LDcgKzgzNCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAg
ICAgICAgYXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9y
YWdlKCk7CiAgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0
b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNP
YmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2Uu
dmVjdG9yKCkuZGF0YSgpOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0
aCk7CkBAIC0xMTc0LDcgKzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0
YXRlKiBleGVjCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwog
Ci0gICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBl
KCkpICYmICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pKSkgeworICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4
aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkg
ewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsK
ICAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShp
KTsKICAgICAgICAgICAgIGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1l
bnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZs
eTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkg
eworICAgIGlmIChVTkxJS0VMWShhc09iamVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
KS0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSkpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJh
eVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JM
ZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0lu
VmVjdG9yID0gdmVjdG9yTGVuZ3RoOwogCkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50
cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0
IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBn
bG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Ig
bm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0g
Y3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1l
bnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3Ry
dWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3Vs
dC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMq
IENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1
bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgp
LT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3Ry
dWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xv
bmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhl
Y1N0YXRlKiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1v
ZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJh
bWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVz
dWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93
UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBD
bG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0
aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVu
dFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChy
ZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1Bh
dGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiAr
MjQyLDE0IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAg
c2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0
eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1
bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC0+
cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+
cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgICAgICAvL2RhdGFM
b2dMbigiTWFkZSBwb2x5IHByb3RvIG9iamVjdCBmb3IgZXhlY3V0YWJsZTogIiwgUmF3UG9pbnRl
cihjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCkpKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xu
KCJNYWRlIHBvbHkgcHJvdG8gb2JqZWN0OiAiLCBSYXdQb2ludGVyKHJlc3VsdCksICIgd2l0aCBf
X3Byb3RvX186ICIsIHByb3RvdHlwZSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiQ29uc3Ry
dWN0b3IgY2xhc3MgbmFtZTogIiwgY29uc3RydWN0b3ItPmNsYXNzSW5mbyh2bSktPmNsYXNzTmFt
ZSwgIiBpcyBKU0Z1bmN0aW9uIGNsYXNzIGluZm86ICIsIGNvbnN0cnVjdG9yLT5jbGFzc0luZm8o
dm0pID09IEpTRnVuY3Rpb246OmluZm8oKSk7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiLS0t
LS0tLS0tLS0tLS0tLS0iKTsKKyAgICAgICAgfQorICAgICAgICAvL2RhdGFMb2dMbigiY3JlYXRl
X3RoaXMgcmVzdWx0OiAiLCBKU1ZhbHVlKHJlc3VsdCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGlu
YXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1
Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVj
dXRhYmxlLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEs
NyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNv
ZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5h
cHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5k
KHRoaXNPYmplY3QtPm1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlKTsKIH0KIAog
RnVuY3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21HbG9iYWxDb2RlKApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVj
dXRhYmxlLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsNiArMTczLDkg
QEAgcHVibGljOgogCiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJl
dHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9uLmdldCgpOyB9CiAKKyAgICAvLyBPT1BTOiBhZGQgbWV0
aG9kcyBmb3IgdGhpcy4KKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NvbnN0cnVjdFJl
c3VsdFByb3RvdHlwZVN0cnVjdHVyZTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhl
Y3V0YWJsZUJhc2U7CiAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlzaW9u
IDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURh
dGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6
On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0
aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCit2
b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0gICAg
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRo
aXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xl
YXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciog
cmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1
bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0
dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJh
c2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1Rh
cmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0
ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0
aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5j
dGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3
VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgyLDcgKzg4Miw3IEBA
IEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5
V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAgICBWTSYg
dm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lO
REVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisg
ICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVjdCgpOwpAQCAtOTE3LDcgKzkxNyw3IEBAIGJv
b2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0
aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0
YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUu
Ci0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9s
ZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3Vs
ZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTEwNDgsNyArMTA0OCw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGlu
Z1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0
IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAg
ICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBi
ZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5n
dGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAg
ICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7
CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtMTA4OSw3ICsxMDg5LDcg
QEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBX
ZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBh
cm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBz
aGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9y
YWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAg
ICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
c3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYgPSBi
dXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAgICAg
IGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBib29sIEpTQXJy
YXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
IChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90
b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5h
cnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDgg
KzYxLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2lu
dCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnBy
b3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwg
b3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
KSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0JvdW5kRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNSw2ICsxMzUsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBnZXRCb3VuZEZ1bmN0aW9u
U3RydWN0CiAgICAgLy8gaXNuJ3QgYW55IGdvb2QgcGxhY2UgdG8gcHV0IHRoZSBzdHJ1Y3R1cmUg
b24gSW50ZXJuYWwgRnVuY3Rpb25zLgogICAgIGlmICh0YXJnZXRKU0Z1bmN0aW9uKSB7CiAgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGFyZ2V0SlNGdW5jdGlvbi0+cmFyZURhdGEodm0p
LT5nZXRCb3VuZEZ1bmN0aW9uU3RydWN0dXJlKCk7CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAg
IGlmIChzdHJ1Y3R1cmUgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBwcm90b3R5
cGUgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpCiAgICAgICAg
ICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1
YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2Yo
SlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBS
YXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRl
cmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAg
ICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCks
ICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgq
c3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAg
b3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAg
ICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJRDogIiwg
YXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJl
SUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAo
aXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjph
bGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBK
U0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJl
dHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSkt
Pm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjph
bGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxp
bmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmpl
Y3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAg
IGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVj
dFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25z
dHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVu
Y3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVj
dEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
dm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwog
CiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0
aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHBy
b3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTUsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBK
U0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWlj
Q2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
KSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVj
dCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9i
amVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVj
dEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rp
b24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwg
dGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM0MSw2ICszNDQs
MTggQEAgRW5jb2RlZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJh
bCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlciIpKSk7CiB9
CiAKK3N0YXRpYyB2b2lkIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKFZNJiB2bSwgSlNW
YWx1ZSBwcm90b3R5cGVWYWx1ZSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgSlNP
YmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBl
VmFsdWUpOworICAgIGlmICghcHJvdG90eXBlKQorICAgICAgICByZXR1cm47CisgICAgU3RydWN0
dXJlUmFyZURhdGEqIHJhcmVEYXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVS
YXJlRGF0YSh2bSk7CisgICAgaWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3Io
KSkKKyAgICAgICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAg
IGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJ
bmZlcnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJv
dG9TdHJ1Y3R1cmUoKSkpCisgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRl
KHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5jdGlvbiIp
OworfQorCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2Jq
ZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5
U2xvdCYgc2xvdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMzcxLDcgKzM4Niw2
IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAgICAgICAg
IG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zm
c2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2Jq
ZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zmc2V0KTsK
ICAgICB9CiAKQEAgLTQ1Miw2ICs0NjYsNyBAQCBib29sIEpTRnVuY3Rpb246OnB1dChKU0NlbGwq
IGNlbGwsIEV4ZWNTCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3du
UHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZ2V0U2xvdCk7CiAg
ICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09iamVj
dC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1
bmN0aW9uIik7CisgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCB2YWx1
ZSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJu
IEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsK
ICAgICB9CkBAIC01MTgsNiArNTMzLDggQEAgYm9vbCBKU0Z1bmN0aW9uOjpkZWZpbmVPd25Qcm9w
ZXJ0eShKU09iagogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blBy
b3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogICAgICAg
ICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1f
cmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlv
biIpOworICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICAgICAgaW5mZXJD
b25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIGRlc2NyaXB0b3IudmFsdWUoKSwgdGhpc09iamVj
dCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OmRlZmlu
ZU93blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJv
d0V4Y2VwdGlvbik7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uaAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAg
cHVibGljOgogCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBu
YW1lKTsKIAorICAgIC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1
ZSBpZiB0aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVj
dCogcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3Rl
ZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwg
SlNTY29wZSosIFN0cnVjdHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNN
YXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGds
b2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAg
aWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90
b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5t
YXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZh
c3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3Rv
dHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNP
YmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmli
dXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAg
IGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3Ry
dWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0
eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJl
KHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUs
IHRoaXMpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9y
KGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1LDcg
QEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VSVChs
ZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBlIG9s
ZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJ
bmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcodGhpcykpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
KTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAg
dW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHko
KTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFy
cmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9y
YWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3Ro
LCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQg
PSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwg
b2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24o
dm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKHRoaXMpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRT
dHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVj
dHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4g
Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVk
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24odGhpcykpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVy
dEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJ
bnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2
bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7
CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGln
dW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0
Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0Fy
cmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1
Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAog
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShW
TSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2
LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkK
IHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0
dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4g
Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNv
bnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcg
KzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAg
CiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVY
SU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAo
VU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKHRoaXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNW
YWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAg
ICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVu
c3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNl
IEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5n
U2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1
cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3Vi
bGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1Zh
bHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlw
ZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChV
TkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQog
ICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4g
Y3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIgKzE1
NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAg
ICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VS
VCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0
VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQz
Ml9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNl
KCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsK
ICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBB
U1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09O
VElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKHRoaXMpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxOCBA
QCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3Rv
dHlwZS5pc09iamVjdCgpKQogICAgICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFz
T2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBw
cm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAg
ICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQorICAgIC8vZGF0YUxvZ0xuKCJ0cmFuc2l0aW9uaW5nIGZyb20gX19wcm90b19f
IHNldCwgZnJvbSBwb2x5IHByb3RvOiAiLCAhc3RydWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpOworICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgewor
ICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0
U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJl
Y3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisg
ICAgaWYgKCFzdHJ1Y3R1cmUodm0pLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKHRoaXMpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3Rv
dHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkgewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2Jh
bE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9i
YWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAg
ICAKQEAgLTE5NTEsNyArMTk1NSw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9Qcmlt
aXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUg
bWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8v
IGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRl
cm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNv
bnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3Ry
dWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVj
dC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNz
YXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3Ry
aW5nKSB7CkBAIC0yNzI2LDcgKzI3MzEsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxl
bmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNo
b3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAg
ICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAg
ICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAg
ICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0
b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsg
MSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1
cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3
OCw3ICsyODgzLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgog
ICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFy
cmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywg
bW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAg
aWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYg
KHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAgICAgICAgICAg
ICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBn
ZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2Ut
Pm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+
bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICszNTYzLDcgQEAgdWludDMyX3QgSlNP
YmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAg
aWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAo
c3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAg
ICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNyArODY2
LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQo
Z2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFw
OjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChnZXRQcm90b3R5
cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgp
IHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkp
OyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwog
ICAgIH0KQEAgLTEyOTgsNyArMTI5OCw3IEBAIGlubGluZSBKU09iamVjdDo6SlNPYmplY3QoVk0m
IHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVj
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUoKTsK
KyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogaW5s
aW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNTdGF0ZSogZXhl
YykKQEAgLTE0MDAsNyArMTQwMCw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0
UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVJRFRhYmxl
LmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0LT5nZXRPd25O
b25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhpcyBjb2RlIGxv
b2tzIHdyb25nPyBXaHkgZG9lc24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUgZnVuY3Rpb24g
aG9vaz8KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAko
cmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5M
SU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJl
LT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90
b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVy
bmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3Qt
PmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3Rv
dHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNf
SU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8o
KS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xv
dC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlw
ZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlw
ZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVj
dC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wg
SlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBl
cmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCgh
dGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5
TmFtZSwgdGhpc09iamVjdCkpOwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdElu
dGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAg
ICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2Rl
KCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVy
dHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAko
d29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVj
dHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVuZ3RoCiAgICAgICAgICYmIChlbnVtZXJhdG9y
ID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgICYm
IGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5
cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hh
aW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKQogICAgICAgICBy
ZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQzMl90IG51bWJlclN0cnVjdHVyZVByb3BlcnRp
ZXMgPSAwOwpAQCAtMTM2LDkgKzEzNiwxMSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKiBwcm9wZXJ0CiAgICAgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJl
KTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2
bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBX
VEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5
cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYgKCFp
bmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2
bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIGJhc2UtPnN0cnVjdHVy
ZSh2bSkgPT0gc3RydWN0dXJlKSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3Rv
dHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisg
ICAgICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0s
IGVudW1lcmF0b3IpOworICAgIH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNDM2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmRO
b24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5
cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYg
KzczLDkgQEAgYm9vbCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAg
ICBpZiAoIWdsb2JhbE9iamVjdC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJs
ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
ICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpz
U2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShy
ZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xh
c3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
KSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09QUy4gbWFrZSBzdXJlIGl0J3Mgb25seSBKU0ds
b2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMuCiAgICAgICAgIEFTU0VSVCghaXNDb21waWxh
dGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJuIGdldChnbG9iYWwpLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMgKzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwogICAgIH0KICAgICAKLSAgICBK
U09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlm
IChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQotICAgICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCogY29uc3RydWN0b3JDb25jdXJy
ZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAko
cmV2aXNpb24gMjIyNDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0
aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsxNDMsMTEgQEAgc2l6ZV90IG5vcm1h
bGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZQogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBkZWZpbml0ZWx5IG5lZWRzIHNvbWUg
bW9yZSB0aG91Z2h0CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAg
SlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAg
ICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlz
aW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1h
cC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE3ICs1NCwzOCBAQCB2b2lkIFByb3RvdHlwZU1h
cDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0CiAgICAgLy8gdXNlZCBhcyBhIHByb3RvdHlwZS4KIH0K
IAotaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBU
eXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5
cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK2lubGluZSBTdHJ1Y3R1
cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZv
LCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsK
LSAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CisgICAgLy8gT09QUzogbWFrZSBzdXJlIHRoaXMg
aXNuJ3QgY2FsbGVkIHcvIHByb3RvdHlwZT1udWxscHRyIGZvciB2YWxpZCByZWFzb25zLgorICAg
IGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPyBudWxs
cHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3Qp
OwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkg
eworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAgICAgYWRk
UHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgICAg
IEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0cnVjdHVy
ZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisKICAgICBhZGRQ
cm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5
KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisKKyAgICAvLyBPT1BTOiBm
aWd1cmUgb3V0IHdoYXQgdG8gZG8gaGVyZS4gVGhpcyBmZWVscyBsaWtlIHRoZSB3cm9uZyBwbGFj
ZSB0byBkbyB0aGlzLgorICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAg
IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+
cmFyZURhdGEoKTsKKyAgICAgICAgQVNTRVJUKHJhcmVEYXRhLT5uZWVkc1BvbHlQcm90b1N0cnVj
dHVyZSh2bSkpOworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAg
ICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAg
ICAgICByYXJlRGF0YS0+c2V0UG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAg
IH0KKworICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBl
SW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAg
ICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKICAg
ICByZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsMjAgKzk0LDIxIEBAIFN0cnVjdHVyZSogUHJv
dG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90
IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBhbmQg
YWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxpbmUg
Y2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0cnVj
dHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVk
UHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgp
LT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHByb3RvdHlwZSkg
JiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdU
eXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlT
dG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0
cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8o
KSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwog
fQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBv
bHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxP
YmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5m
bygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1f
c3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHks
IEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVz
LnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxP
YmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJl
dmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsK
ICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNl
KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJv
dG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVj
dHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5s
aW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBj
b25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xh
c3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtl
UG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0
PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAg
ICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0
IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOwor
ICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0Kiwg
dW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47
CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNDM2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0
dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAg
ICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1f
Yml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVk
UHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJv
dG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQog
ICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNl
dChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyOCBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVz
dHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0
cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRl
KFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5m
byogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworCisgICAgLy9kYXRhTG9nTG4oIk1ha2luZyBwb2x5IHByb3RvIHN0cnVjdHVy
ZTogIiwgUmF3UG9pbnRlcihyZXN1bHQpKTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9mTGluZUNh
cGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOyAvLyBPT1BTOiBtYXliZSB0aGlz
IHNob3VsZCBhbHdheXMgc3RhcnQgYXMgemVybz8KKyAgICByZXN1bHQtPmFkZFByb3BlcnR5V2l0
aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFt
ZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBEb250RW51bSwKKyAgICAgICAgWyZd
IChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0gb2xkT3V0
T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09QUzogbGV0cyBtYWtlIGEgZGlmZmVy
ZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHByb3RvLCBzaW5jZSBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVhZHkga25vd3Mgd2hlbiBpdCdzIG1h
a2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlz
SW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIlNldHRpbmcg
bV9wcm90b3R5cGUgdG86ICIsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0
LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAg
ICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOwor
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVz
QW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJl
cywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAg
QVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDIwLDMwIEBAIFN0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJp
YnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjphbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2JqZWN0KiBiYXNlKSBjb25z
dAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAg
ICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgUkVM
RUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IExldCdzIGp1
c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisgICAg
Zm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAgICAgaWYgKGN1
cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBl
LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAg
Y3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOworICAgICAgICBjdXJy
ZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICB9CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpo
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6
OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25z
dAogeworICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOworCiAgICAgaWYg
KHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAg
aWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpT
T2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI2LDcgKzQ1Miw3IEBA
IGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0
dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFz
SW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
cHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBp
ZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDM2LDE1ICs0NjIsMTYgQEAg
Ym9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK2Jv
b2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCogYmFzZSkgY29uc3QK
IHsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9P
UFM6IG1heWJlIG1ha2UgdGhpcyBKU09iamVjdCogbWV0aG9kPworICAgIHJldHVybiBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKGJhc2UpCiAgICAgICAgIHx8IGds
b2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7CiB9CiAKLU5vblByb3BlcnR5VHJhbnNp
dGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAor
Tm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbihKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSkKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoYmFzZSkpIC8vIE9PUFM6IG1h
eWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBtZXRob2QKICAgICAgICAgcmV0dXJuIE5vblByb3Bl
cnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIAogICAgIHJl
dHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwpAQCAtNTU1
LDYgKzU4Miw3IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmEKICAg
ICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0g
Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCisgICAgLy8gT09QUzogdGhpcyBuZWVkcyB0ZXN0aW5n
IQogICAgIHRyYW5zaXRpb24tPm1fcHJvdG90eXBlLnNldCh2bSwgdHJhbnNpdGlvbiwgcHJvdG90
eXBlKTsKIAogICAgIFByb3BlcnR5VGFibGUqIHRhYmxlID0gc3RydWN0dXJlLT5jb3B5UHJvcGVy
dHlUYWJsZUZvclBpbm5pbmcodm0pOwpAQCAtMTA2NywxMSArMTA5NSw2IEBAIHZvaWQgU3RydWN0
dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAot
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9j
aykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xv
YmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwq
IGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVj
dCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMDksNyArMTEzMiw3IEBAIGJvb2wg
U3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9i
amVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkp
Ci0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRD
b25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFoYXNT
dG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBT
dHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMSwyMCAr
MTE0NCwyNCBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVy
Y2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorYm9vbCBTdHJ1
Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBiYXNlKQogeworICAgIFJFTEVBU0VfQVNTRVJU
KGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBh
IEpTT2JqZWN0KiBtZXRob2QuCisKICAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQot
ICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpOworICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcyhiYXNlKTsKICAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7
IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5
cGUoKTsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICAv
LyBPT1BTOiBNYXliZSB0aGlzIG5lZWRzIHNvbWUgY2xvc2VyIGF0dGVudGlvbiwgYnV0IEknbSBu
b3Qgc3VyZSBob3cgd2UgY2FuIHNheQorICAgICAgICAvLyBtdWNoIGFib3V0IG91ciBwcm90b3R5
cGUgY2hhaW4gd2l0aG91dCBrbm93aW5nIGNvbnN0YW50IHByb3RvdHlwZSB2YWx1ZXMuLi4KKyAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsK
ICAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVj
dHVyZSh2bSk7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwogICAgICAg
ICAKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5nZXQo
dm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmICghSlNDOjppc1ZhbGlk
T2Zmc2V0KG9mZnNldCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCkBAIC0xMTcy
LDYgKzExOTksNyBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAg
ICAgICAgICAgICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAg
ICAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7CiAgICAgICAg
ICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOworICAgICAgICAgICAgLy8gT09QUzoK
ICAgICAgICAgICAgIGN1clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsK
ICAgICAgICAgfQogCkBAIC0xMTgxLDEzICsxMjA5LDYgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBT
dHJ1Y3R1cmU6OnRvU3RydWN0dQogICAgIHJldHVybiBiYXNlU2hhcGU7CiB9CiAKLWJvb2wgU3Ry
dWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSogb3RoZXIpCi17Ci0gICAg
cmV0dXJuIGlubGluZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlubGluZUNhcGFjaXR5KCkKLSAgICAg
ICAgJiYgc3RvcmVkUHJvdG90eXBlKCkgPT0gb3RoZXItPnN0b3JlZFByb3RvdHlwZSgpCi0gICAg
ICAgICYmIG9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpID09IG90aGVyLT5vYmplY3RJbml0aWFs
aXphdGlvbkJsb2IoKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoUmF3UG9pbnRlcih0aGlzKSwgIjpbIiwgY2xhc3NJ
bmZvKCktPmNsYXNzTmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3ICsxMjIzLDkgQEAgdm9pZCBTdHJ1
Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgYwogICAgIAogICAgIG91dC5wcmludCgifSwg
IiwgSW5kZXhpbmdUeXBlRHVtcChpbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIGlmIChtX3By
b3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKKyAgICBpZiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpKQor
ICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5UHJvdG9PZmZzZXQo
KSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCiAgICAgICAgIG91
dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdldCgpLmFzQ2VsbCgp
KSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBv
bHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZv
KiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7
CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xh
c3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFT
U0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgp
IHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlz
T2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigp
KTsKICAgICB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJs
eUNlbGxUYWcpCkBAIC0xNjcsNyArMTY5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHko
U3RydWN0dXJlKiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywg
UHJvcGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSosIFBy
b3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBz
dGF0aWMgU3RydWN0dXJlKiByZW1vdmVQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUq
LCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5T2Zmc2V0Jik7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVy
ZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90
b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGF0dHJpYnV0ZUNoYW5nZVRyYW5z
aXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvQ2FjaGVhYmxlRGlj
dGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5z
aXRpb25XYXRjaHBvaW50RmlyZSogPSBudWxscHRyKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiB0
b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqKTsKQEAgLTI0
MCwyNiArMjQyLDQ0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlwZUlu
Y2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAgICAg
ICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVy
Y2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJikgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2JqZWN0KikgY29uc3Q7Cisg
ICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mLCBKU09iamVjdCopIGNvbnN0
OwogICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAg
Tm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBj
b25zdDsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKEpTT2JqZWN0KikgY29uc3Q7Cisg
ICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
SlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBO
T1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlv
biBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3Ry
dWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4K
ICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0g
ICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9w
cm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAg
IH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBS
RUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIC8vIE9PUFMuIG1h
eWJlIGRlYnVnIGFzc2VydGlvbiBoZXJlPworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0
KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0Cisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAg
ICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0
KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1
Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0Owor
CiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVj
dHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90
b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVG
b3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZv
ckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBl
Q2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBw
cm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZUZv
ckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0
dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
YmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0
ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hl
YXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291bGQgb25seSBhZGQgYSBzbWFsbCBh
bmQgYm91bmRlZCBhbW91bnQKQEAgLTI3NCwxMiArMjk0LDI1IEBAIHB1YmxpYzoKICAgICBib29s
IG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7CiAgICAgICAgIAogICAgIC8vIFdpbGwganVzdCB0
aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBK
U19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhW
TSYsIFByb3BlcnR5TmFtZSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVD
aGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUsIEpTT2JqZWN0Kik7CiAg
ICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4g
aXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3Ry
dWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVCho
YXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVE
YXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVy
ZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhh
c1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAg
cmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJ
RCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NjYsNiBAQCBwdWJsaWM6CiAgICAgICAgIHN0
YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAgIH0KICAgICAKLSAgICB2b2lk
IHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWlu
KFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlz
OyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3Bl
cnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9vbCBoYXNJbmZlcnJlZFR5cGVz
KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5mZXJyZWRUeXBlVGFibGU7CkBA
IC01OTAsMTAgKzYxNyw2IEBAIHB1YmxpYzoKIAogICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9T
dHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKICAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0
d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZv
ciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VG
b3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOwotICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0
cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYsIER1bXBD
b250ZXh0KikgY29uc3Q7CiAgICAgdm9pZCBkdW1wQnJpZWYoUHJpbnRTdHJlYW0mLCBjb25zdCBD
U3RyaW5nJikgY29uc3Q7CkBAIC03MjAsOCArNzQzLDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0
dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5
KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVD
aGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZChFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OworICAg
IGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90
b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAgLy8gWW91IGhhdmUgdG8g
aG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFByb3BlcnR5VGFibGUqKTsK
QEAgLTczMiwxMiArNzU0LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2Vs
bC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVy
ZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFy
ZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+
KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVy
dHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNl
dENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJlQ2hhaW46OnZpc2l0Q2hpbGRyZW4oSlND
ZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hhaW46OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisg
ICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBj
dXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7CisKKyAgICBzaXplX3QgaSA9IDA7Cisg
ICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJy
ZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAg
ICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudC0+c3RydWN0dXJlKHZtKSk7Cisg
ICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAgICBtX3ZlY3RvciA9IFdURk1vdmUo
dmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlzKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVD
aGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAg
cHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0lt
bW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBK
U09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVj
dHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0cnVjdHVyZS5nZXQoKSk7CiAgICAgICAg
IGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7CkBAIC02MiwyMiArNjIsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCi0gICAgewotICAg
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAgIHNpemVfdCBzaXplID0gMDsK
LSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50
ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgICsrc2l6
ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4g
dmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXpl
ICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSog
Y3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5
cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSkt
PnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJy
ZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7Ci0gICAgICAg
IG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFz
cyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUo
Vk0mIAogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0
KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051
bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5l
IEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBz
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19J
TkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCog
b2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkg
PT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNT
RVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdl
dERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6
OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAorewor
ICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMg
ZGVidWcgYXNzZXJ0IAorICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0
dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3Qt
PmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQor
CitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1
Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3Qq
IHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBw
cm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJ
TkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsMTUgKzE5Niwz
MiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwUHJp
bWl0aXZlSW1wbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKK3sKKyAgICBBU1NFUlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisKKyAg
ICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQorICAgICAg
ICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVChz
dHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJldHVybiBn
bG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworCit9CisKIGlubGluZSBKU1ZhbHVlIFN0
cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
IGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAg
IGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAg
aWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9i
YWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90
eXBlKCk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFs
T2JqZWN0LCB0aGlzKTsKK30KIAotICAgIEFTU0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJp
bmdUeXBlKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKK2lu
bGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VS
VChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsgLy8gT09QUyBkZWJ1ZyBhc3NlcnQ/CisgICAg
aWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3Qo
YmFzZSkpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2Jh
bE9iamVjdCwgdGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKQEAgLTE4MiwyNyArMjI5LDI4IEBAIGlu
bGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJvdG90
eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGluZSBT
dHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVj
dHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1
Y3R1cmUodm0pID09IHRoaXMpOyAvLyBPT1BTOiBtYXliZSBkZWJ1Zz8KICAgICAvLyBXZSBjYWNo
ZSBvdXIgcHJvdG90eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBp
ZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkg
ewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxP
YmplY3QpOwotICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3Ry
dWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0
KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVj
dCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAg
ICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWlu
OjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90
b3R5cGUpKSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgp
OwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4o
RXhlY1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVy
ZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiog
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFs
aWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFBy
b3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFBy
b3RvdHlwZUNoYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNo
YWluLT5oZWFkKCk7CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5p
c051bGwoKSkgewogICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkg
IT0gY2FjaGVkU3RydWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjYxLDYgQEAgaW5saW5lIGJv
b2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNO
dWxsKCkgJiYgISpjYWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6
aXNWYWxpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVD
aGFpbikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCksIGNhY2hlZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJl
OjpkaWRSZXBsYWNlUHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChM
SUtFTFkoIWhhc1JhcmVEYXRhKCkpKQpAQCAtNDAwLDcgKzQ0Myw3IEBAIGlubGluZSBQcm9wZXJ0
eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFt
ZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShW
TSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVy
ZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAg
IG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjQzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcs
NyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2
ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJy
ZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1
ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBA
QCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5h
cHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09i
amVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5k
KHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsK
IH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVk
UHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDUzIEBAIGlubGlu
ZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5n
VmFsdWUuY2xlYXIoKTsKIH0KIAorSlNWYWx1ZSBTdHJ1Y3R1cmVSYXJlRGF0YTo6aW5mZXJyZWRD
b25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCkKK3sKKyAgICByZXR1cm4gbV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7Cit9CisKK2Jvb2wgU3RydWN0
dXJlUmFyZURhdGE6Om5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1Zh
bHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVy
cmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOworICAgIGlmICghaW5mZXJyZWRD
b25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaWYgKEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBqc0R5bmFtaWNDYXN0
PEluZmVycmVkVmFsdWUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKSkKKyAgICAgICAgcmV0dXJuIGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlk
YXRlZCgpOworICAgIEFTU0VSVChpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUuYXNDZWxsKCktPmluaGVyaXRzKHZtLCBTdHJ1Y3R1cmU6OmluZm8oKSkpOworICAgIHJldHVy
biBmYWxzZTsKK30KKworU3RydWN0dXJlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6cG9seVByb3RvU3Ry
dWN0dXJlKFZNJiB2bSkKK3sKKyAgICBKU1ZhbHVlIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSA9IHRoaXMtPmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVj
dHVyZSgpOworICAgIGlmICghaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4ganNEeW5hbWljQ2FzdDxTdHJ1
Y3R1cmUqPih2bSwgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKK30K
KworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6aXNQb2x5UHJvdG8oVk0mIHZtKQoreworICAgIHJl
dHVybiBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZSh2bSkgfHwgISFwb2x5UHJvdG9TdHJ1Y3R1cmUo
dm0pOworfQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc0luZmVycmVkQ29uc3RydWN0
b3IoKQoreworICAgIHJldHVybiAhaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0
dXJlKCk7Cit9CisKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZl
cnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9pbmZlcnJl
ZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgIEluZmVycmVkVmFsdWUqIHJl
c3VsdCA9IEluZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSk7CisgICAgbV9pbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCByZXN1bHQpOworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK3ZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldFBvbHlQcm90b1N0cnVj
dHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIG1faW5mZXJyZWRDb25z
dHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsKK30K
KwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5n
KCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0
cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0
cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3Ry
dWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI0
MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitj
bGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xh
c3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNo
cG9pbnQ7CkBAIC02Miw2ICs2MywyMiBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBh
bmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rp
b24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1
cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUg
dGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUg
YSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3Rh
bnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVj
dG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJy
aW5nIGEKKyAgICAvLyBKU0Z1bmN0aW9uLiBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHBy
b3RvLCB0aGVuIHRoaXMgZmllbGQgZWl0aGVyIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlCisg
ICAgLy8gdGhhdCBpcyBpbnZhbGlkYXRlZC4gSWYgd2UgZXZlciBjb25zdHJ1Y3QgYW4gb2JqZWN0
IHdobydzIF9fcHJvdG9fXyBwb2ludHMgdG8gdGhpcyBwcm90b3R5cGUsIHRoZW4KKyAgICAvLyB3
ZSBtb3ZlIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHRvIHRoZSBT
dHJ1Y3R1cmUgb2YgdGhlIG9iamVjdCB0aGF0IHNob3VsZCBiZSBjcmVhdGVkCisgICAgLy8gdGhh
dCBoYXMgcG9seSBwcm90by4KKyAgICBJbmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZlcnJlZENvbnN0
cnVjdG9yKFZNJik7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUoKTsKKyAgICBib29sIG5lZWRzUG9seVByb3RvU3RydWN0dXJlKFZNJik7CisgICAg
Ym9vbCBuZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKTsKKyAgICB2b2lkIHNldFBvbHlQcm90b1N0
cnVjdHVyZShWTSYsIFN0cnVjdHVyZSopOworICAgIFN0cnVjdHVyZSogcG9seVByb3RvU3RydWN0
dXJlKFZNJik7IC8vIE1heSBiZSBudWxscHRyIGlmIG5vdCBwb2x5IHByb3RvIG9yIHBvbHkgcHJv
dG8gc3RydWN0dXJlIGhhcyB5ZXQgdG8gYmUgaW5zdGFudGlhdGVkLgorICAgIGJvb2wgaXNQb2x5
UHJvdG8oVk0mKTsKKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03
Niw2ICs5Myw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2
aW91czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsK
ICAgICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3Bl
cnR5TmFtZUVudW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1faW5mZXJyZWRD
b25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlOwogICAgIAogICAgIHR5cGVkZWYgSGFzaE1h
cDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhhc2g8UHJv
cGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFByb3BlcnR5
T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9w
ZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAy
MjI0MzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVu
ZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQog
ICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1Zh
bHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBn
ZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCku
aXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XcmFwcGVyQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCShyZXZpc2lvbiAyMjI0MzYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05
NCw2ICs5NCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5lIEoKIAog
dGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBpbmxpbmUgSlNDOjpKU09iamVjdCogZ2V0
RE9NUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
KQogeworICAgIC8vIE9PUFM6IGxvb2sgaW50byB0aGlzCiAgICAgcmV0dXJuIEpTQzo6anNDYXN0
PEpTQzo6SlNPYmplY3QqPihhc09iamVjdChnZXRET01TdHJ1Y3R1cmU8V3JhcHBlckNsYXNzPih2
bSwgZ2xvYmFsT2JqZWN0KS0+c3RvcmVkUHJvdG90eXBlKCkpKTsKIH0KIAo=
</data>
<flag name="commit-queue"
          id="341630"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>321668</attachid>
            <date>2017-09-24 22:35:48 -0700</date>
            <delta_ts>2017-09-25 19:31:19 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews102 for mac-elcapitan</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1037904</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
iCV4RbDIBY6XKhH+qJHIiah8eP1DvcePLpFlkiuJIHqsO110UrJgJcDSiiVRdQxifAyeSq9S8yBx
Y4Nh4vzh+oICiZ2AHYUUbxoUMybyXaGx4mp168KOwpjxgkUygKE+IB8LcsRMMDWqL1KwzImLUU7k
lMqHei9X9wl0hB90JB7aBnsmikgFLZVE3ZAocpRn1EuMFpmdKlUJHpJKXN1sjAedQ7SR7uXv15qE
fGFnojRKCcmDgcIgV7moxEAofth78kPPk/TyKl9W+0bL8drdoN70xtNuq9u0p171tOZ3u+7rvdm0
34uVXXYde9V1HY29+zZrNyen9qQbKW7oOc3y1fYddm3f7aWzCmaO7fveIdnVFhupjNotttxbt2gi
seU8YPHdFq2SXYO7rfnvr2XghrLvOvz7M698fFZ7ZvW5UYxy0i3dcNHrH5fd9SUObIys5oS2u1p5
I9vFDeGxib/Rjj1oRSybv6TX0aB9cD9meXhx7qP5uBMUznGBz5xJcVq2jEGtFGFe9L2ed9+HjZcP
YYx40JUnvWEYBX3LuHd6SZ7trt1j4F07zswotXVLaW7y5OXUzTsZr8m98p76np2eponpmkyKSiuU
2WHsL7etezx/OSyZMKxzwzN3r/f+ZKi/BbZyWfS6fG1Hya12Hm52i+2Ri/HM8/bRizscL0eD/ntP
6iyKU+y1UjksZ92GGt3F6m2wn2iD9VL3Vnk+0He8/Vabt0cnMz1sHGd96pwO23tjGF8bmWLZQfze
n40a10NRjLtrv7yM3jhTtvGVR7esc9q1Z2baWdUCuRdKaXMUD8pOVDSk8a3EQM5ewmavZulZjf7I
WA/cdj+Om3bp2TYfOvt709m72BZYuVpn7HvO1HbtsPOCJW3b0mvirsI3xwnnH/Pmzp5eQoV3FnnG
rtbbUT8OWWv07nTocGfie7XQtRurP20+eesPxyw7Uy/ynS058OyynCTybDOYO1ltMR/vI6WXD+bj
XayM76uV3zlM/LJZLtzZmI0cG12sup7v+FV0vTD0ffvYbjazth2+tmpOia+e9L2t4lyETfd8cUYz
/xrfo+A930y9SyN4TUz/fpbd5fh6vNeW28K9DFZO9xQMWWc2muc9fau7/SG78GB/nnRk1R208pBL
7qC3vYbzrTRunXa9wfRdzkfnTu1oGfNtf5pLbGMV7jKyFH5r7daNrjEdLfdLbebMtu1b98Bb6/Go
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
ZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVUCQADHIrIWRyKyFl1eAsAAQT1AQAA
BBQAAABDb3VsZCBub3QgZ2VuZXJhdGUgYSBrZXkgcGFpciwgc3RhdHVzIC00MzA0ClBLAwQUAAIA
CADLrThLMDu4sUsAAABoAAAAPAAcAGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9y
bWVkLXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVUCQADHYrIWR2KyFl1eAsAAQT1AQAABBQAAABty7EN
gDAMRNGeKW4fGlawZEuxgDhyLkRsDw0d9X9/S7+Eht3ujuksMQhRdXpUOaBCgaShBtFHa5E0XdaP
44w3skgFZ6Cln9Z/hgdQSwMECgAAAAAAya04SwAAAAAAAAAAAAAAAA8AHABjcnlwdG8vd29ya2Vy
cy9VVAkAAxmKyFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAMmtOEsAAAAAAAAAAAAAAAAW
ABwAY3J5cHRvL3dvcmtlcnMvc3VidGxlL1VUCQADGYrIWaaMyFl1eAsAAQT1AQAABBQAAABQSwME
CgACAAAAya04SyXg0wgsAAAALAAAADEAHABjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVy
YXRlLWtleS1zdGRlcnIudHh0VVQJAAMZishZGYrIWXV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBn
ZW5lcmF0ZSBhIGtleSBwYWlyLCBzdGF0dXMgLTQzMDQKUEsDBAoAAAAAAMmtOEsAAAAAAAAAAAAA
AAANABwAZGlzcGxheWxpc3RzL1VUCQADGorIWaaMyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA
ya04S6NX/ehQAAAAjgAAADIAHABkaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9y
bXMtc3RkZXJyLnR4dFVUCQADGorIWRqKyFl1eAsAAQT1AQAABBQAAABzL0osyMhMLnbOzytJrSix
skpPLXEO8dXQVMgsVsjLL1GoTC1RSM7PLUgsyUzKSVUozyzJUChKTc4vSsnMSwfKgLUV63G5oxtU
jGYQMYYAAFBLAwQUAAIACADJrThL8paV1UcAAABJAAAAKQAcAGRpc3BsYXlsaXN0cy9sYXllci1k
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
Q2hMqwOh5NJiZ62F8zV7iAcMJD+plrLQWFYI49DRm5JuFxvNOfEo2abRFndPgqJF0G5CuQw+0Hg6
xOMuVXNrPXk8GQ4mDLQ4ovzOxYbv5K8hCteQAw2m8eRu9dxTTS9FN2W9Q9MbjllvOLi9c4SK20wb
JDq5cMoriMm0zl6Ko88LbUw6eCn54RQWat0QWVcsJ99OVgqv9dbL9f0XUEsDBAoAAAAAAPytOEsA
AAAAAAAAAAAAAAAFABwAaHR0cC9VVAkAA3yKyFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
AAmuOEsAAAAAAAAAAAAAAAALABwAaHR0cC90ZXN0cy9VVAkAA5GKyFmmjMhZdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAAmuOEsAAAAAAAAAAAAAAAAQABwAaHR0cC90ZXN0cy9taXNjL1VUCQADkYrI
WaaMyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgACa44SxU1NZJ6AAAAvAAAACoAHABodHRwL3Rl
c3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAA5GKyFmRishZdXgLAAEE9QEA
AAQUAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCqohE+xAin
WYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHCqGmfGhNg
Scd/uip95PO6lywxLz9QSwMECgAAAAAABa44SwAAAAAAAAAAAAAAABQAHABodHRwL3Rlc3RzL3Nl
Y3VyaXR5L1VUCQADiYrIWaaMyFl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA/K04SwAAAAAAAAAA
AAAAACoAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAA3yK
yFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAPytOEtjqqxsggAAAKgAAABAABwAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4
dFVUCQADfIrIWXyKyFl1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMp
pf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZY
MO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAPyt
OEtjqqxsggAAAKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADfIrIWXyKyFl1
eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsX
qQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP
2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAAWuOEtgS2YQkQAAAPsBAABF
ABwAaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9y
aWdpbi1zdGRlcnIudHh0VVQJAAOJishZiYrIWXV4CwABBPUBAAAEFAAAAO2OMQ6DMAxFd07hC4QE
llaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5KpEljToDMmT0skRBW1eKt7fpL6851/uqcs4Kh
ctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZU7tvBBQTQg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUn
rYwCEyNILSWz4tyEf+iPQ99QSwMEFAACAAgAva04S1sEWA6iBQAATRAAAAoAHABodHRwZC5jb25m
VVQJAAMFishZeozIWXV4CwABBPUBAAAEFAAAAK1XbW/bNhD+rl9BuDCwFZOcuHHnFUEA13GWLEmd
WU4DLEkNWqIk1hKpkVRie+t++46U5RfJUQNsDhCJx+e5Ox2Px6NLxBMRI84VarQyKRqWdZ0pMkcB
jcmHlkrS1h2ZXlJl3VD/DGQA2whbkVKp76TUb1iuxwX5yLF4ESY1YqoRYGVME8Izhd4dHFiXhKS9
mD4RNGTWNZ6vxyPyZ0akkuhwG1VQDzvgLGVuigVxzXcAUPN3JB3LVVioHcBK7x0XMyPrHGhpnzNG
PEU5kzdE9CMa+9ow/CzrimP/mvsZfBnOFKfMJ/NJkgtiOiVz4rVwir2ItFsgnqxBjuTb5IzRuV9H
NIASCXsekXLi8STFqtbqNrCsJFMRm+gl+I7fK9Qe+vJV9OXL9IhL9X26RpXolHlx5teaXkFKxJiH
4A4LaFjH3aBK9IhgHzKkjruClIhSxnUkmC4REkjqOoaeL8dU0lrP9HyJ4oW0jgHTJQIjIVcU601R
R9yCaQVvtpcuwSFJcFq7ditMJe/NZqzPeAMpE2OK62kaUCIJ8iyoql2EFaRETKO0U7BWvzIZxhql
iVZeiT7hhKDD9s/OAfwdWtbxKRVQfLhYoNaJpXUMU/Np6EKXESLRGY9j/uwukivKZhJdZ7Ginyl5
lmgApvq/XgDSbAFp6D2NHoIlQX2iR7lSAckK8YG5n3zCFhsoCgRP9Ix13Fr7cmJZPVNTdE03LjuR
yqsMuKyFEv2DGl8enB/uz6PH+7F6/Pv+1H+8d+XjRP/7sXHyst1TeNmY1RIXUkgGC+PuccvoBxdu
Jeljxhn1cGycgGPiHIoEg/crzmdZKtEwCHSVDq/IE4nRMxbMsgZCcAGy3cOIaKne8o6aq4YhnXGR
YDgBmxFqxqiZoaZCD42meGig5olEzake/TUiARFEfKMg1mNwS9i9kDClRQ0EZXdKGfFfp7F5ahgJ
Zzv4jRVkn6DmbQPy0gh2UcY2zm03kHkpMsulIcMqEyZM1vFFUFSYdd57JxDcQn5SxphK4+XL1vP9
K8zCDAwgHyPHn1XELEYOiytiwpBDWFWsQEwq4kAgJxBVk5BvfhUNC+yQqslIZ+ca3Y+wkGDuwh3a
3W7nF7uLHCp5/lrhUvALmpyy+Ct881e8T2X7oN22f7uBaSortBl8zky8SLscGVfsWfWLGYSNVcPG
OIh5RZxCIFL+4he3czNpNVQpfG6q9ojtqdAz8KhMxmqJnDiryD2IkYeriyRhkaqhkU/IkU9VJYD2
QL9XZYgMOaJqdhnZ4zvkwEM9lyPwkYadohQjpxg5U3gpQ+8uPp0O71z7sN05BPOpeSmD+jfd9+/X
+rwURi8GXZsyYd/4XGAuhxdde1SomXHatStJctt3Yd0KTObJ9j7E0TbiqIIYn0G2rxEq6FoGsrvP
t8/s1XbXvyLAN4JyOOwWeifD1odtDpphn/pm/8F+gb0BeQ6ZCVkI+ZTnDiyWzhPICVh/WOvV2uyU
m5W340UKJ3WaxlDWtROtuQ2NOnJUuFxjBszjPmUhmtu6qRVw7iDnjz2z4ZKmyAmXu/RzzPwYzh3o
a2zpCarTHt4hw+NdN+DGo28pCewnqR9lBdJUVjvV8fULTBXEfBtLm0rTmtXVWNMMbGrsnlCYK5MN
OHA2Sl8HnGL1GqAteSY8YhTLfZnhU7GdEetuwHQiKL/WmGDlr4V/lUWGiUkQ49B04ebYlYiz3SkZ
caEmPCVsomAI0zVhK/qvlXOjfDhgIRy7+rTbEsJlzkdwmg5+vx2448n1YHw+PP2GvoxHvf5gGzjS
yp23yEb3Z48l45+pUBmOda+B3n7oHh29yw3vbeHMhHu18ea4tcUHdW+sN6gHS0JsmRKPBtQzt2y5
kIokKBVc5bdPB5Cr3qohpPD+jxZqq73UDZvz9sF5cHT/5AdwCf4vFrZ6xX8BUEsDBAoAAAAAAASu
OEsAAAAAAAAAAAAAAAAJABwAaW1wb3J0ZWQvVVQJAAOIishZpozIWXV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAAAErjhLAAAAAAAAAAAAAAAADQAcAGltcG9ydGVkL3czYy9VVAkAA4iKyFmmjMhZdXgL
AAEE9QEAAAQUAAAAUEsDBAoAAAAAACuuOEsAAAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9VVAkAA9KKyFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAASu
OEsAAAAAAAAAAAAAAAAtABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlw
dG9BUEkvVVQJAAOIishZpozIWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAZrjhLAAAAAAAAAAAA
AAAAOQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVy
YXRlS2V5L1VUCQADsYrIWaaMyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgABK44S480GnBEAAAA
oAkAAFwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5l
cmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4dFVUCQADiIrIWYiKyFl1
eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElVSFTITq1UKEjMLNJRKC5JLCktVtA1MTYw
4XIeVTuqdlTtqNpRtaNqR9WOqh1VS3O1AFBLAwQUAAIACAAGrjhLVALJsjYAAADAAgAAZQAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L2Zh
aWx1cmVzX1JTQVNTQS1QS0NTMS12MV81Lndvcmtlci1zdGRlcnIudHh0VVQJAAOLishZi4rIWXV4
CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDh
ch5VO6p2kKkFAFBLAwQUAAIACAAWrjhL4YKG6EkAAABgDAAAVwAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXMuaHR0
cHMtc3RkZXJyLnR4dFVUCQADrIrIWayKyFl1eAsAAQT1AQAABBQAAADtysEJgDAQRcG7VfwCFATT
QSpZcBFREkk2B7u3Ayt4c55cx72r1NDhxZuFy3T5q8fONquHxeha0ramKXO5XC6Xy+VyuVzuz/0A
UEsDBBQAAgAIABiuOEuPNBpwRAAAAKAJAABgABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0EtT0FFUC5odHRw
cy1zdGRlcnIudHh0VVQJAAOwishZsIrIWXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUos
SVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2VO2o2lG1o2pH1Y6qHVVLc7UAUEsDBBQA
AgAIABmuOEtUAsmyNgAAAMACAABpABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9X
ZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS5o
dHRwcy1zdGRlcnIudHh0VVQJAAOxishZsYrIWXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81L
LUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2kKkFAFBLAwQKAAAAAAAOrjhLAAAA
AAAAAAAAAAAAJAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL1VUCQADm4rI
WaaMyFl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAADq44SwAAAAAAAAAAAAAAACoAHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9VVAkAA5yKyFmmjMhZdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAA6uOEuaFQEjbwIAABAdAABLABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1hY3R1YWwudHh0VVQJ
AAObishZm4rIWXV4CwABBPUBAAAEFAAAAK2Zz27TQBCH73mKVU9wSNS9jixLPVAVqVCkctgDUhQa
J62UrFFiIy6+IR6GC+QdeBDEk9BQ4T8oZufzOsfkN+NvfzNrZ8eTNxe3t+Zuly2K7MUm22a+eFb6
ZbZ68NnyuXnw5urtq2uzzO/K429mEtQ7KA/n9+Vmo0SppU6vDGc9W+X5mZKg0Tog1eS1BMICCosw
8twSLywwwwKMn9++6DFqsSNa3QIRSEvumFqRXdQcokUQcHWySQTsEmHbRMg2EbBNBG4TIW0hoCkE
uSHIDiF+CKoLKwyqDCvNUS4MRRCLsD45R41yfgrl8uLl9f/E3dyv88JkPi/X92axW//5bt+bYn6K
7mSGPuI5IZ7HE/fckRFzz206eMkY7v6HCULvf8hoLhyxgMccfQ8BsoBOGtUCuhEDF/Bpu4kir+PD
yI10OKvfx9L+zaDircXDiWNbo51CxTxGS8gI1MKwR2llvx+DvJ1F2Saj0B9vSu8XuxHapUmjbZlW
xMAF7D+uo8jr+DByIx3Iul0U91GwTYIwbUs7EPfy5iaKto4PwzbSwdbufn3+Gmluk0Jjb0s9EPrH
d/+hLKKg2ynC0B31UOhDPPQBQR8Y9Kkrqv/0a48e+kOHJUd1C47qFh3VLRoZWDIzsHBokBsy4DNg
wmcAxuP/WOJIW+6YWpG9IigVAKlYaSoyNqjA1KCC85yKHNMrMM+p9BjvytXxAyz5J8LhAM16n2JI
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
T9oImq3FuX5sBOkin7QR7FMxrnfqSRtB56pxfReetBEcYjnO9Qs0SBe6g3gaOzdN1uNcv2SCdJEb
iDeq3C247NT+4efbvn283IXtw6t2OwjA5NpPoVuCARM3CphcyxC6LRYw8f4ApqF0DDBxxwDTUHYD
MPHhASbXbyYhQxULmErTq5hcP7yDDCQUM5X9Wsc0tG7BptLBlUxD2wnkVA5zLZPrV52QIfQHI3DP
dYZNIifXkoQh8kchNqrcLdg0O/VNtWfbvn3MNHfhi2ordjsIwOTaa2MI/Z4HlhsGTK4lCUPkVzwa
V5lrRcKwxT6pRd5ilqi8uKH3AOfGySQ4O/o/UEsDBAoAAAAAABCuOEsAAAAAAAAAAAAAAAAmABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9VVAkAA6CKyFmmjMhZdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAABCuOEsAAAAAAAAAAAAAAAAqABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvVVQJAAOgishZpozIWXV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAAAUrjhLAAAAAAAAAAAAAAAALwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL2NvcnMvVVQJAAOnishZpozIWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAQrjhL
6IC/JwoCAAC9DAAASQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2NvcnMvY29ycy1vcmlnaW4uYW55LXN0ZGVyci50eHRVVAkAA6CKyFmgishZdXgLAAEE9QEAAAQU
AAAA7dZLa9tAEAfwez+FLvFtrH0/DKYI10kLbR1wew77mLVNFctYKm2+fVcOSesQiFNT2uIgoYMk
5i/9GGZ3Mvs4n72fFh+m83l1MR0Vs+1qsVoXy67bjMqyboKrl03bjYwhpFi1xbrpClfXzTeMhb8p
qhCwbWHSrLttU0PVP4HbGsNXk4fFz7ELy6K6fFcEt+4r1Y2Ld1mU6SHJB91llal/t3SbVbnFtvm6
zTnlZoupXi2W3XBz87prvuB6zIMOyRoBQTAPwigEx4IBQb3wSkZnLA6u3fcrt8AxGTS7Txv3kWe8
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
dGVzdHMvZmV0Y2gvbm9zbmlmZi9wYXJzaW5nLW5vc25pZmYtc3RkZXJyLnR4dFVUCQADnorIWZ6K
yFl1eAsAAQT1AQAABBQAAAA1jbEKwjAUAHe/4m2Z2nQs2aQGEawd6uAa01cTCEnIe7X49xax63Hc
dcNtHK4aej2Ox7NWcPITxMQQkpmAbPGZwTAIx5yVlCFZE1wiVm3bNHJGtk7GRNHPsyxIaSkWaSfV
kjMWawhrQ54EPNGahXA7xD3eX3oN/MlIYAr+3iaEtOIEq8MI4lF1KTJGru6bpeDfFuAJXv6NsT58
AVBLAwQUAAIACAAPrjhLSVZLCK8AAADsAgAAPwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvbm9zbmlmZi9zY3JpcHQtc3RkZXJyLnR4dFVUCQADnorIWZ6KyFl1eAsAAQT1
AQAABBQAAADVkMEKgkAURfd9xduEKx1pJUJEmEWQubBF22l85sQwI75n6t9nUZ/gov3hnsNN8nOR
n1LI0qLYHtIYdroE6xiMkyWQanXDIBm8mrmJhTBOSVM74jiKwlBUyKoW1pHVVSVaJNe1Ckk8KGjG
DY8Nroflaj94cEMlO8Jp2/5ms2OWwpshkC1+rNIY12MJfY0WvKufOMto2b9MVAxfjwea4K6faINF
Mn//X7b/8eGzpb8AUEsDBBQAAgAIABCuOEvrzK7LswAAAPgCAABDABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3N0eWxlc2hlZXQtc3RkZXJyLnR4dFVUCQAD
n4rIWZ+KyFl1eAsAAQT1AQAABBQAAADVz72qwkAUBOD+PsU0l1S6wUoCcpEYRTBarMVt1/XEDSxn
Q87xJ2/vD76Chf0w802529rdpkJdWTtfVQUW7RGcFJ3rhSA6RJJApHCKLKh2hTExeRdDEi2m0zw3
DakPhpNw2zSmJ0nn3pMYLzLuhgwH8u78KOPEKK1Fva4r6NCRwPX0WnMxpisdcQ3EyP5HZWIl1tH+
kSrwrs7QCk7thXj8U37c/fcUzr5bf/ty/u9k+aELd1BLAwQKAAAAAAArrjhLAAAAAAAAAAAAAAAA
LQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL1VUCQAD0orI
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
tu+Qdd7Y+ebkddzeW1D2wff8+ceegRMDiiCQFpt/1MV9hYcD/kT98NEhZQ7IF1mewD7FtgRbQ23E
4m5Opr0Va1H7AkVFVY82SnmejZJC5pRu2cFzbgtRaZFXrDX8XDKS/Gk3+tqNrknuZ5hmHmNHZCQr
bMnh/8ZYwiOaqZqMM+7SrymJ1Sy54vJBdyml1NfkJuGU2L/J0wkMWee85lBfZpkVQAxEkd3x/Nfb
AZX4BcDKT1sBBkqb/hX3WXjL69Qaiqo2dDlhpt9FzZrhcDGmjNoRIw8P+bkfAvBFSSvCbJowajzs
GeV3AFac7cmjM+ihOcChNaTcZxq23i9zBNYgZS3AzfEJnae1huKYiwNrQIDv4I5ayMgyUjFKF6As
wJzKpxHl+CRmFhGHTAYKcvunZZHVCHfcdgDWySNfWAY+qlMUKocD6tJgDL1mxD8fKV4xVXJrqD4P
KF/ro/8DUEsDBAoAAAAAAA2vOEsAAAAAAAAAAAAAAAAIABwAcmV0cmllcy9VVAkAA3qMyFmmjMhZ
dXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAA2vOEsAAAAAAAAAAAAAAAARABwAcmV0cmllcy9pbXBv
cnRlZC9VVAkAA3qMyFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAA2vOEsAAAAAAAAAAAAA
AAAVABwAcmV0cmllcy9pbXBvcnRlZC93M2MvVVQJAAN6jMhZpozIWXV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAAANrzhLAAAAAAAAAAAAAAAAKAAcAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9VVAkAA3qMyFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAA2vOEsAAAAA
AAAAAAAAAAAsABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9V
VAkAA3qMyFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAA2vOEsAAAAAAAAAAAAAAAAyABwA
cmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9VVAkAA3qM
yFmmjMhZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAA2vOEuaFQEjbwIAABAdAABTABwAcmV0cmll
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVh
dGVFbGVtZW50LWFjdHVhbC50eHRVVAkAA3qMyFl6jMhZdXgLAAEE9QEAAAQUAAAArZnPbtNAEIfv
eYpVT3BI1L2OLEs9UBWpUKRy2ANSFBonrZSsUWIjLr4hHoYL5B14EMST0FDhPyhm5/M6x+Q3429/
M2tnx5M3F7e35m6XLYrsxSbbZr54Vvpltnrw2fK5efDm6u2ra7PM78rjb2YS1DsoD+f35WajRKml
Tq8MZz1b5fmZkqDROiDV5LUEwgIKizDy3BIvLDDDAoyf377oMWqxI1rdAhFIS+6YWpFd1ByiRRBw
dbJJBOwSYdtEyDYRsE0EbhMhbSGgKQS5IcgOIX4IqgsrDKoMK81RLgxFEIuwPjlHjXJ+CuXy4uX1
/8Td3K/zwmQ+L9f3ZrFb//lu35tiforuZIY+4jkhnscT99yREXPPbTp4yRju/ocJQu9/yGguHLGA
xxx9DwGygE4a1QK6EQMX8Gm7iSKv48PIjXQ4q9/H0v7NoOKtxcOJY1ujnULFPEZLyAjUwrBHaWW/
H4O8nUXZJqPQH29K7xe7EdqlSaNtmVbEwAXsP66jyOv4MHIjHci6XRT3UbBNgjBtSzsQ9/LmJoq2
jg/DNtLB1u5+ff4aaW6TQmNvSz0Q+sd3/6EsoqDbKcLQHfVQ6EM89AFBHxj0qSuq//Rrjx76Q4cl
R3ULjuoWHdUtGhlYMjOwcGiQGzLgM2DCZwDG4/9Y4khb7phakb0iKBUAqVhpKjI2qMDUoILznIoc
0yswz6n0GO/K1fEDLPknwuEAzXqfYkihuhEOB+iq8BRE6taOcDhAcY2E2JQAhxJqTkp8SYElKXMj
RXakxA9AskpI+yagcxNSlylpjylojylqjxnBmAGMGcIg71bAi5Xetypm8htQSwMEFAACAAgADa84
SyhJ1FA4AgAAbBQAAFEAHAByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZGlmZi50eHRVVAkAA3qMyFl6jMhZdXgL
AAEE9QEAAAQUAAAAzZhNbtRAEIX3OUUrK5BpGilk49UEkQhEIIhBpHdRj92ZWGq7R+42GfaIw7CB
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
mX617v7A4OXKLeB8/porCDYEBJ0Cgo4BcZ8D09n+HThUqyHoXkNci0ytNxvqoNlQB5Gn2MhTdOQp
OvJ0D5GnMbVsx5olMNeR//p12h/ziW+1oH772pRZzgGjETAGGg2SAo0HCcGG5ywDjP7+9dNuBmqW
wFxHkQFy6JO2CsFqRaVAFXaQA1ZcHzAKOhCUBh0JCoSGdJeJ9R3FiV0CYsQuITFi60hnYucPKvJv
1HyaAqfX3n3RcTpH/uGB6jirFdVxiqeBZtf1vgL5p+n6mSMsBc+hkCQ8x0LS8AzrMhG1n0Vj0Tb3
/T52BJ0DI/AcGIHnwMj9HBjRxzZU4Q0OJPEGCNL4H9ChyKueDZRZB4KE1pEgqTWkM7EFtmcIdNMQ
6K4h9tA21BgSIftGiQeRuUSE6KwTXQrNwEIzuNAMLjTbg9BtdJfeRoLkbuM79RbU3Ym7NaJj5IFb
52HO2zoRc9zWiO6EDsBCB3ChA7jQwR6ENnwDq5oWgI5qUIltvqX1Skml29UQKHGJBxG5RITIrBNd
Ohn7Es5OQJM9/gFQSwMEFAACAAgADa84S13sD4mPCAAA5MMAAFcAHAByZXRyaWVzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnRO
Uy1leHBlY3RlZC50eHRVVAkAA3qMyFl6jMhZdXgLAAEE9QEAAAQUAAAAxV3bbhNJEH3nKwYD4RZf
evdlKYxFxEYCCSKUwGolIGZIJhDJsa3YUVitzCO/wy/xKetLNto1M5PuqlMHHvJApk+dOlXV3dPT
3bn2cmtvLzs4LfJpsT0oTorhdGcvmxaTaXY8zJ6+evE8OxwdnC3+X7Lh2WCwefkju1bb9k9DU4vd
srZnw8Pi6HhYHCqJp7U3MygDaByNRg0l/fi2JsuljcOydePZzh9bz5/93n/ydGt368mr7d3+9u5u
Q+GKCQ/OsFyvYAlVsMUqWII1VyJYkizYsizomX//9hWcaEZEB5alkDOw2zO40zN4fc2wLpvw4Ayr
imMGddmCB2dYCvj27GjxDxtqO6gP13JJV7DgZDeD+nCtSqoVLjj3jaA+XEtRu+Dwd+GR7zoEvQeO
dw8e6h48yj10mHv4OGO9PuqCu7YuvFfrgnN7fx/psAENzK6iTDJsfC14cIalgE1wd92Ed9dNdHfd
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
Sy/qyCn/Szw/gAS4zj0RosR95/MACW73hiSeCriTm18nZFo8d57OrHkX+fTbTwjRwS94mk2776vX
n3qdSFXLdq05yKSazwrAfiUj6chDfwemDshMjUyjuwiF+4Enua/uWS4vBbpmLZLc/ImAQKuBA6tX
Qrny3N6X5+6FI//++Js3rknRkn+taqS6z+fL6RTNnCQLQu+j0PTnor4n1E+bTPai2Qt8PZ6KPXtI
KIv1zkURMKZJ/ok8JygTCWHbHIC6GRauBFZhEvhNwAh2G8FTyHyvoiU1rJIkpWUIfISdS/O1zwvi
TSvqQxvNNp4mw22kN7mRPoJamQ0Uids+gcG+ItazHqLOrM05pwnGlJinQNFJvPr9m1SXd1dXs5eQ
r5xMXygBLgBleLriRAD98S9l64fm8f89SlyJvfKE3GkPQ2tGTpCMdYJs5W5fr0xzSbqHV3OgVNyR
J8E6GjseDXJ81mqQ1eGzDp/lRhLp45q2Xo7b8nZKror5M8uspkuuCZfFfT9//oV+O6i1YSKYJx/P
xc1+NMtzvfLZl/1IvtZlV5r0zab+4JsFtRm7FP1Jbn/96bcP1M6s57K21e6/0l9JPcfwmjpZLx/z
eEQ7XieAH3XwY5K0YkxMGPMU9w7ubNjEEGwABm0ATz8uRgZ5wAYkyNKwev5a6ax1987H3rKewmF5
Fx4KXBSsNeNiyVAJ5NVYIlCA6V5DAWJA8x+KmKMqdcVODnP6Y1NoaTgJs0tFf+AoPsfcqTY1mLyA
/w+cojCIycvXhRwTVPgTcYDzCRZfcANhpEzmoasHzqu2vCvHxarF6XorD1Xt3RZNOQa0PixPHnRD
nXmEGTTrsetZcJQraa+ElksTaMhi6WCkayjvfUP5+UiHfjohT8by4zuPZ7UJzC7Pei0X16utN3Y1
bPpnzxNc5XrvCqoHNE4pYXl1npTGuTcaWAZjh4N88GT3b0Xr3VYzL9SDTR4+0VWXiNtlFucVxuOX
fvLeU7t23k7TainuuvBQA0A5K3Z9HFeddd9KkEH0LiEIhszvOCHGEGclNEilBLgpgMgDKGLD9gbD
UmHZLBMY50eRG8FYkqG7cMSmHjYN76YStz8IMNBMFxUmUqpeRdEDBapERJ481HFnXNmCw8AMPlXA
9UQ3xtON8XSoKxDqejqcL+ePxbScGMnA7T6bISw3XKWrrnBWW68qoxc7nKD8osG8AB7B+j+KH85m
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
cnRzL3NlcmlhbFVUBQADCIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAMCtOEuzcyfoBwAA
AAcAAAAVABgAAAAAAAEAAACkgY00AABfd3B0X2NlcnRzL3NlcmlhbC5vbGRVVAUAAwiKyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABtrjhLpN5LnFKgAQDpuA8ADgAYAAAAAAABAAAApIHjNAAA
YWNjZXNzX2xvZy50eHRVVAUAA02LyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADKrThLAAAA
AAAAAAAAAAAABwAYAAAAAAAAABAA7UF91QEAY3J5cHRvL1VUBQADHIrIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAMutOEsAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQb7VAQBjcnlwdG8vc3Vi
dGxlL1VUBQADHYrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAMqtOEsl4NMILAAAACwAAAA+
ABgAAAAAAAEAAACkgQbWAQBjcnlwdG8vc3VidGxlL3JzYS1nZW5lcmF0ZS1rZXktbWFsZm9ybWVk
LXBhcmFtZXRlcnMtc3RkZXJyLnR4dFVUBQADHIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AMutOEswO7ixSwAAAGgAAAA8ABgAAAAAAAEAAACkgarWAQBjcnlwdG8vc3VidGxlL3JzYS1pbXBv
cnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAUAAx2KyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADJrThLAAAAAAAAAAAAAAAADwAYAAAAAAAAABAA7UFr1wEAY3J5cHRv
L3dvcmtlcnMvVVQFAAMZishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAya04SwAAAAAAAAAA
AAAAABYAGAAAAAAAAAAQAO1BtNcBAGNyeXB0by93b3JrZXJzL3N1YnRsZS9VVAUAAxmKyFl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAIAAADJrThLJeDTCCwAAAAsAAAAMQAYAAAAAAABAAAApIEE2AEA
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1nZW5lcmF0ZS1rZXktc3RkZXJyLnR4dFVUBQADGYrI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMmtOEsAAAAAAAAAAAAAAAANABgAAAAAAAAAEADt
QZvYAQBkaXNwbGF5bGlzdHMvVVQFAAMaishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAya04
S6NX/ehQAAAAjgAAADIAGAAAAAAAAQAAAKSB4tgBAGRpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVk
ZXMtdHJhbnNmb3Jtcy1zdGRlcnIudHh0VVQFAAMaishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAya04S/KWldVHAAAASQAAACkAGAAAAAAAAQAAAKSBntkBAGRpc3BsYXlsaXN0cy9sYXllci1k
aXNwYXktbGlzdC1zdGRlcnIudHh0VVQFAAMaishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
+q04SwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BSNoBAGVkaXRpbmcvVVQFAAN3ishZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAA+q04SwAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BitoBAGVk
aXRpbmcvZGVsZXRpbmcvVVQFAAN3ishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+q04S6CJ
vDy6AQAA/BIAACgAGAAAAAAAAQAAAKSB1doBAGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWVtb2pp
LXN0ZGVyci50eHRVVAUAA3eKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANrzhL8OndJV0L
AAAqQAAADQAYAAAAAAABAAAApIHx3AEAZXJyb3JfbG9nLnR4dFVUBQADeozIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAOitOEsAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQZXoAQBmYXN0L1VU
BQADU4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANitOEsAAAAAAAAAAAAAAAAMABgAAAAA
AAAAEADtQdToAQBmYXN0L2NhbnZhcy9VVAUAAzeKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADPrThLtP8QOmwAAADsAAAAJgAYAAAAAAABAAAApIEa6QEAZmFzdC9jYW52YXMvMmQuY3VycmVu
dFBvaW50LXN0ZGVyci50eHRVVAUAAyaKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADYrThL
jfpLbnwAAAACAQAAJgAYAAAAAAABAAAApIHm6QEAZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNo
LXN0ZGVyci50eHRVVAUAAzeKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADlrThLAAAAAAAA
AAAAAAAADAAYAAAAAAAAABAA7UHC6gEAZmFzdC9pbWFnZXMvVVQFAANNishZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA5a04SyGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSBCOsBAGZhc3QvaW1h
Z2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAANNishZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAA6K04SwAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BoOsBAGZhc3QvdGV4
dC9VVAUAA1OKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADorThLYx9nPXgBAACDCQAAIwAY
AAAAAAABAAAApIHk6wEAZmFzdC90ZXh0L2Vtb2ppLWdlbmRlci0yLXN0ZGVyci50eHRVVAUAA1OK
yFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADnrThLAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA
7UG57QEAZmFzdC94c2wvVVQFAANRishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5604S077
IPiIAAAA5wAAACUAGAAAAAAAAQAAAKSB/O0BAGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0
ZGVyci50eHRVVAUAA1GKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADnrThL/aIuZI8AAADu
AAAAJwAYAAAAAAABAAAApIHj7gEAZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIu
dHh0VVQFAANRishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5604S7K7xmeHAAAANAEAACQA
GAAAAAAAAQAAAKSB0+8BAGZhc3QveHNsL3hzbHQtY29udGVudFR5cGUtc3RkZXJyLnR4dFVUBQAD
UYrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOetOEvC6/XGjAAAAGABAAA0ABgAAAAAAAEA
AACkgbjwAQBmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIu
dHh0VVQFAANRishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJK84S1str7RfAQAAUgIAABEA
GAAAAAAAAQAAAKSBsvEBAGZ1bGxfcmVzdWx0cy5qc29uVVQFAAOkjMhZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAA/K04SwAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BXPMBAGh0dHAvVVQFAAN8
ishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACa44SwAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQ
AO1Bm/MBAGh0dHAvdGVzdHMvVVQFAAORishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACa44
SwAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1B4PMBAGh0dHAvdGVzdHMvbWlzYy9VVAUAA5GKyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJrjhLFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIEq
9AEAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAORishZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAABa44SwAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BCPUB
AGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAAOJishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
/K04SwAAAAAAAAAAAAAAACoAGAAAAAAAAAAQAO1BVvUBAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L1VUBQADfIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPyt
OEtjqqxsggAAAKgAAABAABgAAAAAAAEAAACkgbr1AQBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAN8ishZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA/K04S2OqrGyCAAAAqAAAAFIAGAAAAAAAAQAAAKSBtvYBAGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0
eWxlLXNyYy0yLXN0ZGVyci50eHRVVAUAA3yKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAF
rjhLYEtmEJEAAAD7AQAARQAYAAAAAAABAAAApIHE9wEAaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQFAAOJishZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAva04S1sEWA6iBQAATRAAAAoAGAAAAAAAAQAAAKSB1PgB
AGh0dHBkLmNvbmZVVAUAAwWKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAErjhLAAAAAAAA
AAAAAAAACQAYAAAAAAAAABAA7UG6/gEAaW1wb3J0ZWQvVVQFAAOIishZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAABK44SwAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B/f4BAGltcG9ydGVkL3cz
Yy9VVAUAA4iKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAArrjhLAAAAAAAAAAAAAAAAIAAY
AAAAAAAAABAA7UFE/wEAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAUAA9KKyFl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAErjhLAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UGe
/wEAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQFAAOIishZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAGa44SwAAAAAAAAAAAAAAADkAGAAAAAAAAAAQAO1B
BQACAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRl
S2V5L1VUBQADsYrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAASuOEuPNBpwRAAAAKAJAABc
ABgAAAAAAAEAAACkgXgAAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0
b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4dFVUBQAD
iIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAauOEtUAsmyNgAAAMACAABlABgAAAAAAAEA
AACkgVIBAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5l
cmF0ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS53b3JrZXItc3RkZXJyLnR4dFVUBQAD
i4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABauOEvhgoboSQAAAGAMAABXABgAAAAAAAEA
AACkgScCAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5l
cmF0ZUtleS90ZXN0X2ZhaWx1cmVzLmh0dHBzLXN0ZGVyci50eHRVVAUAA6yKyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAYrjhLjzQacEQAAACgCQAAYAAYAAAAAAABAAAApIEBAwIAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9m
YWlsdXJlc19SU0EtT0FFUC5odHRwcy1zdGRlcnIudHh0VVQFAAOwishZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAGa44S1QCybI2AAAAwAIAAGkAGAAAAAAAAQAAAKSB3wMCAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVy
ZXNfUlNBU1NBLVBLQ1MxLXYxXzUuaHR0cHMtc3RkZXJyLnR4dFVUBQADsYrIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAA6uOEsAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQbgEAgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9VVAUAA5uKyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAAOrjhLAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UEWBQIAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvVVQFAAOcishZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgADq44S5oVASNvAgAAEB0AAEsAGAAAAAAAAQAAAKSBegUCAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtYWN0dWFsLnR4
dFVUBQADm4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA6uOEtmMctpMwIAAFwUAABJABgA
AAAAAAEAAACkgW4IAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9E
b2N1bWVudC1jcmVhdGVFbGVtZW50LWRpZmYudHh0VVQFAAOcishZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgADq44Sx/C0pQbAgAAfBoAAE0AGAAAAAAAAQAAAKSBJAsCAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhwZWN0
ZWQudHh0VVQFAAObishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADq44S+0/PEsNCwAAU3YA
AFEAGAAAAAAAAQAAAKSBxg0CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25v
ZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtcHJldHR5LWRpZmYuaHRtbFVUBQADnIrIWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAA6uOEtY+JXk4ggAACDHAABNABgAAAAAAAEAAACkgV4ZAgBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVF
bGVtZW50TlMtYWN0dWFsLnR4dFVUBQADnIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA6u
OEushHxshgMAABEvAABLABgAAAAAAAEAAACkgcciAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAUAA5yK
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAOrjhLXewPiY8IAADkwwAATwAYAAAAAAABAAAA
pIHSJgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQt
Y3JlYXRlRWxlbWVudE5TLWV4cGVjdGVkLnR4dFVUBQADnIrIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAA6uOEsb+Z9MGA4AABq2AABTABgAAAAAAAEAAACkgeovAgBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtcHJldHR5
LWRpZmYuaHRtbFVUBQADnIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABCuOEsAAAAAAAAA
AAAAAAAmABgAAAAAAAAAEADtQY8+AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL1VUBQADoIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABCuOEsAAAAAAAAAAAAAAAAq
ABgAAAAAAAAAEADtQe8+AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9VVAUAA6CKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAUrjhLAAAAAAAAAAAAAAAALwAY
AAAAAAAAABAA7UFTPwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
Y29ycy9VVAUAA6eKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQrjhL6IC/JwoCAAC9DAAA
SQAYAAAAAAABAAAApIG8PwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvY29ycy9jb3JzLW9yaWdpbi5hbnktc3RkZXJyLnR4dFVUBQADoIrIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIABKuOEv5I79e3gIAAJgSAABTABgAAAAAAAEAAACkgUlCAgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXN0YXR1
cy5hbnktc3RkZXJyLnR4dFVUBQADo4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABKuOEuw
NIPymAEAAN4FAABMABgAAAAAAAEAAACkgbRFAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LmFueS1zdGRlcnIudHh0VVQFAAOkishZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFK44S9MYGVfPAgAAvxMAAFUAGAAAAAAAAQAAAKSB
0kcCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1y
ZWRpcmVjdC1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAUAA6eKyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAAAQrjhLAAAAAAAAAAAAAAAALgAYAAAAAAAAABAA7UEwSwIAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL1VUBQADn4rIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAA+uOEvNDyDfmwAAAMYAAABIABgAAAAAAAEAAACkgZhLAgBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvcGFyc2luZy1ub3NuaWZmLXN0ZGVy
ci50eHRVVAUAA56KyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAPrjhLSVZLCK8AAADsAgAA
PwAYAAAAAAABAAAApIG1TAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9u
b3NuaWZmL3NjcmlwdC1zdGRlcnIudHh0VVQFAAOeishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAEK44S+vMrsuzAAAA+AIAAEMAGAAAAAAAAQAAAKSB3U0CAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9zdHlsZXNoZWV0LXN0ZGVyci50eHRVVAUAA5+KyFl1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAArrjhLAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UEN
TwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvVVQFAAPSishZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAK644S7cuJHyaAAAAzwAAAEwAGAAAAAAAAQAAAKSB
dE8CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291
cmNlLWJ1ZmZlcmVkLXN0ZGVyci50eHRVVAUAA9KKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAD8rThLC3mxn2gCAACiFQAAGgAYAAAAAAABAAAApIGUUAIAcHl3ZWJzb2NrZXQud3MubG9nLWVy
ci50eHRVVAUAA3uKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD8rThLO22MvwcBAACPAgAA
GgAYAAAAAAABAAAApIFQUwIAcHl3ZWJzb2NrZXQud3MubG9nLW91dC50eHRVVAUAA3uKyFl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAADArThLAAAAAAAAAAAAAAAAGwAYAAAAAAAAAAAApIGrVAIA
cHl3ZWJzb2NrZXQud3NzLmxvZy1lcnIudHh0VVQFAAMHishZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAwK04SwAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBAFUCAHB5d2Vic29ja2V0Lndzcy5s
b2ctb3V0LnR4dFVUBQADB4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACSvOEuPylJacSkA
AMavAAAMABgAAAAAAAEAAACkgVVVAgByZXN1bHRzLmh0bWxVVAUAA6SMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAANrzhLAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UEMfwIAcmV0cmllcy9V
VAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANrzhLAAAAAAAAAAAAAAAAEQAYAAAA
AAAAABAA7UFOfwIAcmV0cmllcy9pbXBvcnRlZC9VVAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAANrzhLAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UGZfwIAcmV0cmllcy9pbXBvcnRl
ZC93M2MvVVQFAAN6jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAADa84SwAAAAAAAAAAAAAA
ACgAGAAAAAAAAAAQAO1B6H8CAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9VVAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANrzhLAAAAAAAAAAAAAAAALAAY
AAAAAAAAABAA7UFKgAIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9VVAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANrzhLAAAAAAAAAAAAAAAAMgAY
AAAAAAAAABAA7UGwgAIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9VVAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANrzhLmhUBI28CAAAQ
HQAAUwAYAAAAAAABAAAApIEcgQIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LWFjdHVhbC50eHRVVAUAA3qMyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANrzhLKEnUUDgCAABsFAAAUQAYAAAAAAABAAAApIEY
hAIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1
bWVudC1jcmVhdGVFbGVtZW50LWRpZmYudHh0VVQFAAN6jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgADa84Sx/C0pQbAgAAfBoAAFUAGAAAAAAAAQAAAKSB24YCAHJldHJpZXMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1l
eHBlY3RlZC50eHRVVAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANrzhLSUJ06xML
AABbdgAAWQAYAAAAAAABAAAApIGFiQIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LXByZXR0eS1kaWZmLmh0bWxV
VAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANrzhL0IONgeYIAACMxwAAVQAYAAAA
AAABAAAApIErlQIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtYWN0dWFsLnR4dFVUBQADeozIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAA2vOEvw/WpFvQMAAFczAABTABgAAAAAAAEAAACkgaCeAgByZXRy
aWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNy
ZWF0ZUVsZW1lbnROUy1kaWZmLnR4dFVUBQADeozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AA2vOEtd7A+JjwgAAOTDAABXABgAAAAAAAEAAACkgeqiAgByZXRyaWVzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnROUy1leHBl
Y3RlZC50eHRVVAUAA3qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANrzhL1jfy8qMOAACw
xQAAWwAYAAAAAAABAAAApIEKrAIAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtcHJldHR5LWRpZmYuaHRtbFVU
BQADeozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACSvOEu/KdkN3wgJABWRMQAKABgAAAAA
AAEAAACkgUK7AgBzdGF0cy5qc29uVVQFAAOkjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
HK84S7Fk8o2B4gMARVdfABkAGAAAAAAAAQAAAKSBZcQLAHdwdHdrX3Byb2Nlc3NfbG9nLm91dC50
eHRVVAUAA5eMyFl1eAsAAQT1AQAABBQAAABQSwUGAAAAAGoAagABLwAAOacPAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>321669</attachid>
            <date>2017-09-24 22:55:40 -0700</date>
            <delta_ts>2017-09-25 19:31:19 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews114 for mac-elcapitan</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1876064</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
obKlX/Izp9yLUes5teXDenzZ6N05c9nJwbWEvCgeBVSryqcpTg7m0PMggXsQhRANKEBs39wZ7Hkr
kkl4QkK/3PPIwY5q00rqbZYcdn9QSwMECgAAAAAAV604SwAAAAAAAAAAAAAAAAcAHABjcnlwdG8v
VVQJAANGichZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABYrThLAAAAAAAAAAAAAAAADgAc
AGNyeXB0by9zdWJ0bGUvVVQJAANIichZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAABXrThL
JeDTCCwAAAAsAAAAPgAcAGNyeXB0by9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQt
cGFyYW1ldGVycy1zdGRlcnIudHh0VVQJAANGichZRonIWXV4CwABBPUBAAAEFAAAAENvdWxkIG5v
dCBnZW5lcmF0ZSBhIGtleSBwYWlyLCBzdGF0dXMgLTQzMDQKUEsDBBQAAgAIAFitOEswO7ixSwAA
AGgAAAA8ABwAY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVy
cy1zdGRlcnIudHh0VVQJAANIichZSInIWXV4CwABBPUBAAAEFAAAAG3LsQ2AMAxE0Z4pbh8aVrBk
S7GAOHIuRGwPDR31f39Lv4SG3e6O6SwxCFF1elQ5oEKBpKEG0UdrkTRd1o/jjDeySAVnoKWf1n+G
B1BLAwQKAAAAAABNrThLAAAAAAAAAAAAAAAADwAcAGNyeXB0by93b3JrZXJzL1VUCQADMonIWSaN
yFl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAATa04SwAAAAAAAAAAAAAAABYAHABjcnlwdG8vd29y
a2Vycy9zdWJ0bGUvVVQJAAMyichZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAABNrThLJeDT
CCwAAAAsAAAAMQAcAGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LXN0ZGVy
ci50eHRVVAkAAzKJyFkyichZdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGdlbmVyYXRlIGEga2V5
IHBhaXIsIHN0YXR1cyAtNDMwNApQSwMECgAAAAAATK04SwAAAAAAAAAAAAAAAA0AHABkaXNwbGF5
bGlzdHMvVVQJAAMwichZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABMrThLo1f96FAAAACO
AAAAMgAcAGRpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVkZXMtdHJhbnNmb3Jtcy1zdGRlcnIudHh0
VVQJAAMvichZL4nIWXV4CwABBPUBAAAEFAAAAHMvSizIyEwuds7PK0mtKLGySk8tcQ7x1dBUyCxW
yMsvUahMLVFIzs8tSCzJTMpJVSjPLMlQKEpNzi9KycxLB8qAtRXrcbmjG1SMZhAxhgAAUEsDBBQA
AgAIAEytOEvylpXVRwAAAEkAAAApABwAZGlzcGxheWxpc3RzL2xheWVyLWRpc3BheS1saXN0LXN0
ZGVyci50eHRVVAkAAzCJyFkwichZdXgLAAEE9QEAAAQUAAAAcy9KLMjITC52zs8rSa0osbJKTy1x
DvHV0FTILFbIyy9RqEwtUUjOzy1ILMlMyklVKM8syVAoSk3OL0rJzEsHyoC1FetxAQBQSwMECgAA
AAAAk604SwAAAAAAAAAAAAAAAAgAHABlZGl0aW5nL1VUCQADtYnIWSaNyFl1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAAk604SwAAAAAAAAAAAAAAABEAHABlZGl0aW5nL2RlbGV0aW5nL1VUCQADtYnI
WSaNyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAk604S5BFScO7AQAA/BIAACgAHABlZGl0aW5n
L2RlbGV0aW5nL2RlbGV0ZS1lbW9qaS1zdGRlcnIudHh0VVQJAAO1ichZtYnIWXV4CwABBPUBAAAE
FAAAAO2XzUr0MBSG1/YqQpfDjKTJSdMUHdARceXCqStxkWnTsWB/aFMYlcLHdwOuvROvxxvwFkz9
Q2FAkIJdJLucJO95m4fDSQn2+AyLGQFEvBBIyGCXeAQdtXl1popE1VGt1AXFAWEhBEzQS7QoaxWp
jQ7RZDJB50Uuq0olyH16+Pf8eO+ivUV0XBZmGW94mhBMsWAJw/O7QuYK7aNltCyLtc5m0WJ2ptbt
taynqMlu+zXP38WvY4pyqetsY2J4Y2aJauI6q3RZm8h7hqPP2GcuD7CgYHJJbU6vWq2a1/3Hh7LJ
4hPZXH3ZGaQCo4t+nqaccSoA8OX8Tt9UvZW81XJ1rVCSxXqK4rItdG9w6qjCSPe6c2eHoLBXX5pI
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
MmQuY3VycmVudFBvaW50LXN0ZGVyci50eHRVVAkAA12JyFldichZdXgLAAEE9QEAAAQUAAAAC04t
UDAyUTAytDIxtjKwUFBwKc0tCErNS0ktCilKTY02NjC3MIlVsHEtKsovsrNScHYPyM/MKwHRiSUZ
7qklzqVFRal5JWBRDYhoUGqaQrxfaU5OYlJOqqaVQl6+QjJElUIBSJkeV/CA2AoAUEsDBBQAAgAI
AIGtOEsrUFqGfAAAAAIBAAAmABwAZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVyci50
eHRVVAkAA5KJyFmSichZdXgLAAEE9QEAAAQUAAAAxc6xCsIwFIXh3ac4L6DUGFCCuLTi4mTcxCGS
Awaam3Kbivr09i0c/2/6PQcYC7N21rrGAN2UhwslUq9K3jbNdmfv2B9Vix4c2lNbpPJdPes5Cbsw
Ph2SvEKfIuJcCKrh4xAqeoaxogjBnplSkacZHoQUWX6pZbXw/x74AVBLAwQKAAAAAADhrThLAAAA
AAAAAAAAAAAACQAcAGZhc3QvY3NzL1VUCQADRorIWSaNyFl1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgA4a04S4uOsESyAAAAzgEAADYAHABmYXN0L2Nzcy9wZXJzcGVjdGl2ZS1vcmlnaW4taW5pdGlh
bC1pbmhlcml0LXN0ZGVyci50eHRVVAkAA0aKyFlGishZdXgLAAEE9QEAAAQUAAAAzY8xC8IwFIT3
/oq32Q4aRBDs2nYQB6VBnWv6LIEkLySvxf57FaXi7uB4x93HXVXX+zqHM152mqEljOCIYUQGbb1B
i46hQy7I+p6xlTwahCsFmHkM0aNiPeCcgu60m99mi0ScyPQWoygbbkR1luIFF5L6oPCpCgooVIyi
kPILXKIyTWhYk1so79PlZrXOIIeBdAvvYp4b6o5uWoftIdBjC4/bMp0yD/LHzpLqpzfHf715B1BL
AwQKAAAAAACLrThLAAAAAAAAAAAAAAAACQAcAGZhc3QvZG9tL1VUCQADpYnIWSaNyFl1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgAca04S+2mSxiLAQAA4AkAACUAHABmYXN0L2RvbS9GaWxlTGlzdC1p
dGVyYXRvci1zdGRlcnIudHh0VVQJAAN1ichZdYnIWXV4CwABBPUBAAAEFAAAAO2VwWrjMBCG73mK
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
BXAEodZFW6DfhU1Av3A5JferLEIl/wDqM6yyefRvFBfJ3xbaOIO+PFq3b2eRDO7GuRrrL2Y8HF0N
4P7F1G6us8Xt66lBd/UMG2KGsR41kz92Hx76nc6bbWbtyhtvQh7b9tTBioav3VC/qnqXwwuQEFix
1bAjKuEpXMomTspQNKtJ8VAqjY3U0+QCw3Y9lzJjH+ng00Vn9nGI/+EhjsyleWeH+AhQSwMEFAAC
AAgAgq04S5PX1VZxAQAAEgUAAEAAHABmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNldC1pbi1jaGFu
Z2UtdXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0VVQJAAOTichZk4nIWXV4CwABBPUBAAAEFAAA
AO2SzUoDQQzH732K0IMoSKd+VRjYU21BlCq7rfU6O5t1B3YnZSaLllLoawj6cn0SZ1cPonjSi+Jl
SP4kmfySjOL4KpYwVqbEDJjgDhl4uUAwGVo2uUEHlINDT7XTCIphFl9CHuKlEOKGyrpCL84UKzGa
J2KO6YVhcamWVPMUPXuRK88iJ1cFM6QFk3r8wHBvuAB0jhyM2veMKmVsNEmGpEm12qsEQ8owOhz0
oTstsP0ctpunt0LbzTNoqsvMbjePDCkCLdAGnBS1qj0CF+gCkAdL4GtdtAV6XZh5dOc2p2g1SQJU
9ANQ+zBJxsG/VlxE3y00sxm6cmnsXTuLqP9wmqtTfZANcJD2YfVhatdXyfnt56lBd/IOG0JGZhxq
Jrfsrte9TufLNpN25Y03JIdte2phRMPXbqhXVbsnR3sgwbNioyElKuEtXMomTkpfNKuJcVEqjY20
q8l6hvl0LGXCLtDBzl5n9H+Iv/EQs2P9xw7xBVBLAwQUAAIACACDrThLTCbRJIUBAACQBQAALwAc
AGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXJlLXJlbmRlci1zdGRlcnIudHh0VVQJAAOWichZ
lonIWXV4CwABBPUBAAAEFAAAAO1STWvcMBC9768Y9hASaFfbhCRF4EPZeCF0u1lsbzdXWR7HAltj
pDHtEgL7Nwrtn9tfUlntoR/0mEvbi5BGbx7z3rw0y+4yCUtlWqyACR6Qgfc9gqnQsqkNOqAaHHoa
nEZQDNtsBXXASyHEe2qHDr24UaxEusvFDsu3hsVK7WngAj17USvPoibXhWtoE1470/NLjp9F+m6z
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
y7BdL6MoZePcwYvz0eKE73+C78Xr0AuKE75Hw9f/Fr1/XHz9Pw7fJ1aPh+8vGj+Db+h5gS9P+J7w
/SvxDWZBeBH+Y/h+BlBLAwQKAAAAAAC9rThLAAAAAAAAAAAAAAAADAAcAGZhc3QvZnJhbWVzL1VU
CQADBorIWSaNyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAva04S4AYDaanAAAA0gAAAC8AHABm
YXN0L2ZyYW1lcy9zYW5kYm94ZWQtaWZyYW1lLXN0b3JhZ2Utc3RkZXJyLnR4dFVUCQADBorIWQaK
yFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9Db
DHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7t
ySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hE
pD31NxQ/PAvLHMrFC1BLAwQKAAAAAACNrThLAAAAAAAAAAAAAAAADQAcAGZhc3QvaGlzdG9yeS9V
VAkAA6mJyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAI2tOEuAGA2mpwAAANIAAABAABwA
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtd2ViZGF0YWJhc2Utbm8tdHJhbnNhY3Rpb24tZGItc3Rk
ZXJyLnR4dFVUCQADqYnIWamJyFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhP
IoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOA
IizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNn
amQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQKAAAAAACUrThLAAAAAAAAAAAAAAAA
DAAcAGZhc3QvaW1hZ2VzL1VUCQADuInIWSaNyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAlK04
SyGPvTgyAAAAMwAAACwAHABmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJy
LnR4dFVUCQADuInIWbiJyFl1eAsAAQT1AQAABBQAAABzy0ksSXVJTc5PSbVSSAHRmXnpCqlFRflF
VgqZecn5RUWpySUKKYkliQrJGanJ2XpcAFBLAwQKAAAAAAClrThLAAAAAAAAAAAAAAAACgAcAGZh
c3QvdGV4dC9VVAkAA9WJyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAKWtOEuPelpjeQEA
AIMJAAAjABwAZmFzdC90ZXh0L2Vtb2ppLWdlbmRlci0yLXN0ZGVyci50eHRVVAkAA9WJyFnVichZ
dXgLAAEE9QEAAAQUAAAA7ZQ/asMwFMbn+hTCY7CDLMuSZVpDmxA6ZUjcqWRQbDk1xH+wZXAbDL1B
596k5+kFeoXKaRpaCHQxNIO1vSe97316PyQELWpCZiIMkOVhx4PumLgumNZpsRBZJMqgFOLehpQR
D7vQRiswyUsRiEZ6YDQagbss5UUhIqC/vz5/vL3o4HISzPJMbcOGxjGOXU6YtYb+LuOpAFdgGSzz
bCMTM5iYC7Gpt7w0QJU8dXsWhGO4XwZIuSyTRiVho6JIVGGZFDIvVebQYnrMHZsRAu24a8alql7X
UlT787MbXiXhLa8efpzEqg+438cxdajNMIYrfycfi85LWku+3goQJaE0QJjXmewcGprIlHSn62sX
CHid+lJlsg04SOGIYRqfkg6Va1XeedLny+4OczWU62+vevtl9recQ2JXzf4PuRNj1Vut1fy21dAJ
zBTSXjETSBjHA+Zzw4xQr5hRyIkDB8znhtnu+TVjGyE0YD43zA7rF7OFCBs+7f/E/AlQSwMECgAA
AAAAm604SwAAAAAAAAAAAAAAABcAHABmYXN0L3RleHQvZm9udC1kaXNwbGF5L1VUCQADxonIWSaN
yFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAm604Sz9dHeSjAAAA3wAAACcAHABmYXN0L3RleHQv
Zm9udC1kaXNwbGF5L3BhcnNlLXN0ZGVyci50eHRVVAkAA8aJyFnGichZdXgLAAEE9QEAAAQUAAAA
VY7BCsIwEETv/Yq9tT3YIIJgr20P4kFp0J5jsy2BNBuSrdC/V1EqHmeY95imbc9tCR3eT4ZBE0Zw
xLAgg5m8xQkdw4hc0eRnRi15sQgDBUgHcrzRJnqrlrRIxI3sPGEUtWIlmk6Kj1RImkOP71RRQNHH
KCop/4Q19lYFxYZc0XufbQ+7fQ4lPMho+IJlaWm8uvUV6ksgj4GXY52tm5f5V+fJE1BLAwQKAAAA
AACzrThLAAAAAAAAAAAAAAAADQAcAGZhc3Qvd29ya2Vycy9VVAkAA/GJyFkmjchZdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIALOtOEveoqWIjgEAANAFAAAzABwAZmFzdC93b3JrZXJzL3dvcmtlci1j
b3B5LXNoYXJlZC1ibG9iLXVybC1zdGRlcnIudHh0VVQJAAPxichZ8YnIWXV4CwABBPUBAAAEFAAA
AO2Sz2obMRDG736KwYeSQG2ZtE4bwZ4cG0KDE3btuFdJO5sV1WoWaZZ0CQG/RqB9OT9Jdzc59A+l
p1xKLhL6mBnN/OZbpulVKmGlrMMcmOAWGbitEWyOnm1hMQAVEDBSEwyCYtiml1B08VIIcUOuqTCK
c8VKLHeZ2KH+ZFlcqpYa3mDkKAoVWdxR+IIhPt8TQ3U7iaUKmE+0Iz1pgovTkisHd5ZLwBAowHI4
z6lS1ifrbEGG1KA9SbCgHJOT0xmMNyUOPcFh/+2fXxz238FQ43J/2D8yaASq0XfzazSqiQhcYugI
RPAEsTHlUHo6hm3EcOELSu7XWUcheTkKb2Gdrbrq14rL5IXqb32OwbXW3w5Mk9nXD4U+mxucnRR6
Bve/0b++yi4+/0kfxuufIEGXkduAhim044eH6Wj01+6zwVH9a0EBRZ+uaiv6sYdNT6vqaP7uGCRE
VmwNaCIHz+FS9nFSxrJfZIq1UwZ76ciQjwy7zUrKjEM3Hbw5Hi1fff7q8198fvpezfXHs//M5z8A
UEsDBAoAAAAAAKqtOEsAAAAAAAAAAAAAAAAJABwAZmFzdC94c2wvVVQJAAPfichZJo3IWXV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACACmrThLTvsg+IgAAADnAAAAJQAcAGZhc3QveHNsL3RyYW5zZm9y
bS14aHItZG9jLXN0ZGVyci50eHRVVAkAA9iJyFnYichZdXgLAAEE9QEAAAQUAAAApY6xDsIwDET3
foV/oHhgywwTbCA6u60rIjlx5ThS+XsC5Q9YTiffye8mTWsU8qgZ2EwtwBKFvxIQ8aFSExc8kROe
hxsOPF6i45VeWv3OxQsuVBy3ImhctNrU6tvT+lmnQ7uCxMxwBBZOnB1iWtW8a0nYLQSomcYGdQVR
mn/w/9D9/pznz4buDVBLAwQUAAIACACnrThL/aIuZI8AAADuAAAAJwAcAGZhc3QveHNsL3hzbHQt
YmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUCQAD2onIWdqJyFl1eAsAAQT1AQAABBQAAACdjjEO
wjAMRfeewhcoHtgywwQbiM5u64pITlw5jlRuT6CcgOXL/3/bepOmNQp51AxsphZgicJfCYj4UKmJ
C57ICc/DDQceL9HxSi+tfufiBRcqjlsRNC5abWrrzXk/0tzHtKp5Xy0eWgYSM8MRWDhxdtjbrjVh
HyFAzTQ2AFcQpfkH8idG1lKn5+dFuxPp3lBLAwQUAAIACACnrThLsrvGZ4cAAAA0AQAAJAAcAGZh
c3QveHNsL3hzbHQtY29udGVudFR5cGUtc3RkZXJyLnR4dFVUCQAD2onIWdqJyFl1eAsAAQT1AQAA
BBQAAADNjjEOwjAMRfeewhcAi7UzTLBR0TmkrmrJiaPEQe3tSTgFw//Dl77e8xoSizPWCJSz5hFW
FvrViIgvlRqo4NWZw9v8xJnedzZ8uEOrTVSs4OqK4V6kx05eo1G06Uh03iwICEeCC5BQaDu0W6o2
cPw44QVa14bTDIFs06XxVQf/f1p7f2GX+wJQSwMEFAACAAgAqq04S8Lr9caMAAAAYAEAADQAHABm
YXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQJAAPf
ichZ34nIWXV4CwABBPUBAAAEFAAAANWOMQ7CQAwE+7zCHwgWbWqooAOR2gm+xJLvjHwOgt9DUvAH
it1mipnR8kOUQqwAu5t3kER5uw4Rb6ZL5ooHCsJjf8Geh5MEnultS1y5RsVENfBVdV204VRqMs9t
WJucpswl2tGpzrs5soJKYdgDK68EnuRCg3LjfOckRbYWSzCpDaQ/DvGVNeOf9X4AUEsDBBQAAgAI
AGivOEv4tB9zXwEAAFICAAARABwAZnVsbF9yZXN1bHRzLmpzb25VVAkAAySNyFkmjchZdXgLAAEE
9QEAAAQUAAAApZDNTsMwEIRfpdoTSC5JfxBqOFVqhBCloKZQbpGbbBqrTmzZG2hV8e7YDkJcOJGL
Y2tmvt2ZLxb5Os1elpvs4gyEliwkZxCNVoaw9P8fkyIcuBtqyalSphn+CEvV+KNVJYb7QhVdgy0N
C4OcMJXob6vsqqZGeoFBnwwJrNM7B87un1bAAI8ai8CD53mWuRdeUMedAzbp2wY+2R/J/83tPwb2
ILT2umk8GTFouyY3uDdorVCt22zMQFGNJi8Mt3XY1blES2hMpwOh4tJib22E87V7SGIGkp9UR3lo
LC+FcejoVUm3i40WnHiUbrNoi7sHQdEyaDehXAbvaDzdzdSnam6tJ0+vR/ENAy2OKL9zseU7+WuI
0jXkQPEsuZ49Pw5UO8jQTdns0AzGUzYYx6MbR6i5zbVBopMLp6KGhEzn7JU4+rzQxqSHV5IfTmGh
zg2R98Vy8u3klfBab/28vP0CUEsDBAoAAAAAAKmtOEsAAAAAAAAAAAAAAAAFABwAaHR0cC9VVAkA
A96JyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAPWtOEsAAAAAAAAAAAAAAAALABwAaHR0
cC90ZXN0cy9VVAkAA22KyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAKqtOEsAAAAAAAAA
AAAAAAAvABwAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9V
VAkAA+CJyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAAKqtOEt1IISqPgAAAD4AAABRABwA
aHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhl
YWRlci1zdHJpcHBlZC1zdGRlcnIudHh0VVQJAAPgichZ4InIWXV4CwABBPUBAAAEFAAAAFtuYXRp
dmUgY29kZV06IEpTIEVSUk9SIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QK
UEsDBAoAAgAAAKmtOEt1IISqPgAAAD4AAABqABwAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRp
b25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVm
ZXJlci1hbHdheXMtc3RkZXJyLnR4dFVUCQAD3onIWd6JyFl1eAsAAQT1AQAABBQAAABbbmF0aXZl
IGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0ClBL
AwQKAAIAAACprThLdSCEqj4AAAA+AAAAawAcAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9u
YXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVy
ZXItZGVmYXVsdC1zdGRlcnIudHh0VVQJAAPeichZ3onIWXV4CwABBPUBAAAEFAAAAFtuYXRpdmUg
Y29kZV06IEpTIEVSUk9SIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QKUEsD
BAoAAgAAAKmtOEt1IISqPgAAAD4AAABpABwAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25h
dHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJl
ci1uZXZlci1zdGRlcnIudHh0VVQJAAPeichZ3onIWXV4CwABBPUBAAAEFAAAAFtuYXRpdmUgY29k
ZV06IEpTIEVSUk9SIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QKUEsDBAoA
AgAAAKqtOEt1IISqPgAAAD4AAABvABwAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRh
Y2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1u
by1yZWZlcnJlci1zdGRlcnIudHh0VVQJAAPfichZ34nIWXV4CwABBPUBAAAEFAAAAFtuYXRpdmUg
Y29kZV06IEpTIEVSUk9SIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QKUEsD
BAoAAgAAAKqtOEt1IISqPgAAAD4AAAB+ABwAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25h
dHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJl
ci1uby1yZWZlcnJlci13aGVuLWRvd25ncmFkZS1zdGRlcnIudHh0VVQJAAPfichZ34nIWXV4CwAB
BPUBAAAEFAAAAFtuYXRpdmUgY29kZV06IEpTIEVSUk9SIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QKUEsDBAoAAgAAAKqtOEt1IISqPgAAAD4AAABqABwAaHR0cC90ZXN0cy9j
b250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBl
ZC13aXRoLW1ldGEtcmVmZXJlci1vcmlnaW4tc3RkZXJyLnR4dFVUCQAD34nIWd+JyFl1eAsAAQT1
AQAABBQAAABbbmF0aXZlIGNvZGVdOiBKUyBFUlJPUiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0ClBLAwQKAAIAAACqrThLdSCEqj4AAAA+AAAAbgAcAGh0dHAvdGVzdHMvY29u
dGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQt
d2l0aC1tZXRhLXJlZmVyZXItdW5zYWZlLXVybC1zdGRlcnIudHh0VVQJAAPfichZ34nIWXV4CwAB
BPUBAAAEFAAAAFtuYXRpdmUgY29kZV06IEpTIEVSUk9SIFR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QKUEsDBAoAAAAAALCtOEsAAAAAAAAAAAAAAAARABwAaHR0cC90ZXN0cy9s
b2NhbC9VVAkAA+yJyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAALCtOEsAAAAAAAAAAAAA
AAAWABwAaHR0cC90ZXN0cy9sb2NhbC9ibG9iL1VUCQAD7InIWSaNyFl1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAsK04S72b4dR8AQAAdAUAADEAHABodHRwL3Rlc3RzL2xvY2FsL2Jsb2Ivc2VuZC1o
eWJyaWQtYmxvYi1zdGRlcnIudHh0VVQJAAPsichZ7InIWXV4CwABBPUBAAAEFAAAAO1STWvbQBC9
+1c8fAgJFK/d0o8s6OTYEBqcINl1r6vVKFqQd8TuiMaEgP9Gof1z/iWV1BZCQ245tb0su8Obt/Pe
vEWaXqcaS+NqKiCMWxLIviG4gry40lEAlwgUuQ2WYASb9Aplh9dKqU9ctzuK6sKIUYttpraUf3Si
rsyeW1lTlKgqkUbJcK3Zmlr9JovKs6c7F6X7Cl+cVKAQOGAxnBe8M84nq2zOls1Q+1nCnAtKXr+b
YryuaJgFx8O3R2THw3dYbuvCHw9fBTmBG/KdwpysaSNBKgqdxgjPiK2tBpLJGJtI4dKXnNyvsk5n
8vI6X2GVLTvWGyNV8sK8G19QqPfO3w5uJdO792VuZjP6YGbTKe7/8PXmOrv8/NRXjFePTEHXUbhA
Vjjsxw8Pk9Ho2amzYaz+NedAqm83jVO93GGHk93u9O2bM2hEMeIscuYav+Ba9zitY9UvLqWmNpb6
0qllHwXb9VLrTEKnDidno8X/5P4TyT0vi78suT8AUEsDBBQAAgAIALCtOEtZqTipfgEAAHQFAABC
ABwAaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3NlbmQtaHlicmlkLWJsb2ItdXNpbmctb3Blbi1wYW5l
bC1zdGRlcnIudHh0VVQJAAPsichZ7InIWXV4CwABBPUBAAAEFAAAAO1SwWrbQBC9+ysePpQEitdp
moQu6OTYEBqcINlxr6vVKFqQd8TuiMaEgH+j0P6cv6SS2kBo6S2n0MuyO7x5O+/Nm6fpTaqxMK6m
AsK4J4HsGoIryIsrHQVwiUCR22AJRrBOr1F2eK2UuuO63VJUl0aMmm8ytaH8sxN1bXbcyoqiRFWJ
NEqGa83W1OqZLCrPnh5clO4rfHVSgULggPlwXvLWOJ8ssxlbNkPtVwkzLij5cD7FeFXRMAsO++8v
yA77H7Dc1oU/7L8JcgI35DuFOVnTRoJUFDqNEZ4RW1sNJJMx1pHClS85eVxmnc7k9XW+xzJbdKy3
RqrklXnXvqBQ75y/H9xKpg8XZW5OzKfz/KSc4vEPX29vsqsvf/uK8fKFKeg6ChfICofd+OlpMhr9
c+psGKt/zTiQ6ttN41Qvd9jhZLs9Ojs9hkYUI84iZ67xG651j9M6Vv3iUmpqY6kvHVn2UbBZLbTO
JHTq8O54NP+f3Lef3FP78eKM3lhyfwJQSwMECgAAAAAA6K04SwAAAAAAAAAAAAAAABAAHABodHRw
L3Rlc3RzL21pc2MvVVQJAANUishZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC9rThLezZg
gucAAABlAQAALQAcAGh0dHAvdGVzdHMvbWlzYy9jb3B5LXJlc29sdmVzLXVybHMtc3RkZXJyLnR4
dFVUCQADBYrIWQWKyFl1eAsAAQT1AQAABBQAAAB1jU9Lw0AQxe/9FHMqjUgmLfiHpRREm4uikkp7
3kwm6UqSCbsTwW9v0kYUQeY07/3ee9sse8kMpNbVXIAKWE9H98EQ+txzkN4TQykejqqdQVyubuJk
uKW5TZIEGxcIv7mAJE1nQ4jfu2qGe6n7ZhAfrFrcHnZ44PzRKe5O8Pjdi2esxRbscdpFKvGJK0uf
g3931mLqusXV6joCA0GtOoKMy1f166nDmL+RDfxrGUOerfKCpA0Kh7fUmJ1611Ywv/yJpd42PCpn
bM+k8mvwWQqGi80pMjakfUvqpF3nIjUspnQ0APNo9gVQSwMEFAACAAgAwq04S48cpP+lAAAAIAMA
AC4AHABodHRwL3Rlc3RzL21pc2MvZW1wdHktZmlsZS1mb3JtZGF0YS1zdGRlcnIudHh0VVQJAAMM
ishZDIrIWXV4CwABBPUBAAAEFAAAAO2PvQrCMBRG9z7FnaQVMYiTGa11URBStHPa3JZimhuStOLb
24I/T+DW8eNw+DiZEBfBIaVeKzAUoMEApaYSlAwSakcdSHDYtD64Z8RupPsOPTuMlGVFzgosT21g
OfWuwmml5JBZLUNNrmMGw4PcnR3HMTnrytp4u9klwGGgVsHb4Fxai0btx2uBnvSAKv6yjw3LFVRk
fPhpV3GGRRJlc8fc8YeOF1BLAwQUAAIACADorThLFTU1knoAAAC8AAAAKgAcAGh0dHAvdGVzdHMv
bWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQADVIrIWVSKyFl1eAsAAQT1AQAABBQA
AACNjkEOwyAMBO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95v
j9caZrb4DiH4Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6
Kn3k87qXLDEvP1BLAwQKAAAAAAD2rThLAAAAAAAAAAAAAAAAFAAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvVVQJAANvishZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAC2rThLAAAAAAAAAAAAAAAA
HgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL1VUCQAD94nIWSaNyFl1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAtq04SwJnuLuDAgAAtDMAAD4AHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Ns
aXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3Mtc3RkZXJyLnR4dFVUCQAD94nIWfeJyFl1eAsA
AQT1AQAABBQAAADt2c1u2kAQAOB7nmLEoUqkhnWJzY8lTvxIUSsSYSi9rtdjWNV4rfWilkaReI1I
7cvxJLXdNkIpNKC4oFZzAWHtjmfsT3h23RsOb4Yu9LmMMACjYIoGzDJBkAHGRoYSNagQNKZqoQUC
NzAevoMwG+8yxlIUCy3NkolIJr7iOmDd4ajPP2I/GwGfpJkBaq009IrPrppzGbcHXkcJxYtjPw5B
RwXYrtUtqIxmWMSH9errRrD16hsItYiCeL16MOAjqATjLGsfBV+kCGaGOss7hVhBuhCzIki1AuMU
9XUcqvbdwMtyb++X+2sYePn3LTez9h5jx3GAOlrKeFpU1bY+N0I/qPk2Ysu34O5J/bc33vWH3+uH
ymAjechmBFKjMEovK/f31bMz9l5FizmmrMsNZ72Jxybov5WGecX9yX91lEaWT+eJZHl6xbWuzufn
ztUFuJAabqQAX6kIfg533Xyc66az/AIPMYm4KCo7FypODUxGfdf1jM6qg1cXZz1S87fVhLWmQ2qe
U/NraMp4kmS3bSrDl+t5DHUMO1sqeNbQjjk7LAX11pUIyRJZKsWSHTTIElkqwVKNc7tJlshSKZbq
tiBL+1uaqy8ying5mjaCHdfTxokPEPVk1h9MUQ9Opko25TQsMkWmyjPVsuuOoB0mMlWyqZB6c+rN
S+jNM0v1Fu0/kaUy1nmWVXOofzrA0mPBl6HSl4Hm02l+2hfD2h73uMq253AAud0Bdr2XcUSjRvsM
5O9E/qymg9Yb8kfP0hL6soYtGtSXkaVS+jLHqttkiZ6Lp3ku5v7ov4z8nc6fjYL2y8jfCdcFNr0D
IH+0LqW1xD++lsgs+S16lpKlcixh839bF3wHUEsDBAoAAAAAANWtOEsAAAAAAAAAAAAAAAAqABwA
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAMyishZJo3IWXV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACAC5rThL+8/PB7YAAAD4AAAAQgAcAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2Jsb2NrLWZhdmljb24tc3RkZXJyLnR4dFVUCQAD
/YnIWf2JyFl1eAsAAQT1AQAABBQAAABFj0GLwkAMhe/+ihzbS1Pdg5KrurC4rFBBz2MbdwfGpptJ
69+3UxUJPHjwPV7etqr2FcGn84EbMIFoTg2CuAYuouBracEZ9Brgz6wjxPliWZTjzWlVliVefaxR
OUqvNUe8uCFlilEgY1VRgh8xcCHI7VGh/N9zNHiF8hkeJfTXMb1x5nB7OuCJzztveJiA5NaijOkt
VkwF+DXK9+SLuuuy1UcOBIP4Bp400RshmnYl49vfLJ/dAVBLAwQUAAIACADVrThLY6qsbIIAAACo
AAAAQAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxv
d2VkLXN0ZGVyci50eHRVVAkAAzKKyFkyishZdXgLAAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9
pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1
VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGa
vlBLAwQUAAIACADVrThLY6qsbIIAAACoAAAAUgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRV
VAkAAzKKyFkyishZdXgLAAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+
fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDv
jPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACADNrThL
vWxBxa0AAACkAQAAOgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3Mtb3JpZ2luLXdlYnNxbC1h
bGxvd2VkLXN0ZGVyci50eHRVVAkAAyGKyFkhishZdXgLAAEE9QEAAAQUAAAA3Y/LCsIwEEX3fsUs
24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcRMkMuQsAEgbzgiJRtBFsy
T6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurAQ4kv7IZueJHOXvCjvMPM
p1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6Yv7u0RNQSwMEFAACAAgA
za04S4AYDaanAAAA0gAAADIAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9yaWdpbi13ZWJz
cWwtc3RkZXJyLnR4dFVUCQADIorIWSKKyFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qAR
ipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6h
WANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipB
Q/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACADorThLgBgNpqcA
AADSAAAAPwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29zZW5lZC13
ZWJzcWwtc3RkZXJyLnR4dFVUCQADVIrIWVSKyFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH
9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fj
ch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbV
pipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACADprThLgBgN
pqcAAADSAAAAQwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1zdHJlbmd0
aGVuZWQtd2Vic3FsLXN0ZGVyci50eHRVVAkAA1WKyFlVishZdXgLAAEE9QEAAAQUAAAANczNCsIw
EATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiU
TACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+
J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgA
9q04S2BLZhCRAAAA+wEAAEUAHABodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRv
Y3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAkAA2+KyFlvishZdXgLAAEE9QEAAAQU
AAAA7Y4xDoMwDEV3TuELhASWVplh6NKeAQVTIpkksp0Kbl869AYdq7++r/dC3kqkSWNOgMyZPSyR
EFbV4q3t+kvrznX+6pyzgqFy1MPuImYY77dxMLuQmXOoGyY1X+DB8RlTu28EFBNCD0j4IUD0IJQV
UZvz6V/Icro95EQHdK2DBSetjAITI0gtJbPi3IR/6I9D31BLAwQKAAAAAADBrThLAAAAAAAAAAAA
AAAAEwAcAGh0dHAvdGVzdHMvc3RvcmFnZS9VVAkAAwmKyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsD
BBQAAgAIAMGtOEuAGA2mpwAAANIAAABFABwAaHR0cC90ZXN0cy9zdG9yYWdlL2NhbGxiYWNrcy1h
cmUtY2FsbGVkLWluLWNvcnJlY3QtY29udGV4dC1zdGRlcnIudHh0VVQJAAMJishZCYrIWXV4CwAB
BPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zat
hisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/
7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88
C8scysULUEsDBAoAAAAAAPWtOEsAAAAAAAAAAAAAAAAaABwAaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9VVAkAA22KyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAPWtOEu9sWhzsQAAAAEB
AABBABwAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9wb3N0LWJsb2ItY29udGVudC10eXBlLWFz
eW5jLXN0ZGVyci50eHRVVAkAA22KyFltishZdXgLAAEE9QEAAAQUAAAAZY2xCsJAEET7fMVWoqAe
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
K/qvlXOjfDhgIRy7+rTbEsJlzkdwmg5+vx2448n1YHw+PP2GvoxHvf5gGzjSyp23yEb3Z48l45+p
UBmOda+B3n7oHh29yw3vbeHMhHu18ea4tcUHdW+sN6gHS0JsmRKPBtQzt2y5kIokKBVc5bdPB5Cr
3qohpPD+jxZqq73UDZvz9sF5cHT/5AdwCf4vFrZ6xX8BUEsDBAoAAAAAAPatOEsAAAAAAAAAAAAA
AAAJABwAaW1wb3J0ZWQvVVQJAANwishZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAD2rThL
AAAAAAAAAAAAAAAADQAcAGltcG9ydGVkL3czYy9VVAkAA3CKyFkmjchZdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAAAAAA6uOEsAAAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9VVAkAA5uKyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFCuOEsAAAAAAAAAAAAA
AAAqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvVVQJAAMXi8hZ
Jo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD3rThLRmgb25kAAADFAAAASAAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmctc3Rk
ZXJyLnR4dFVUCQADcYrIWXGKyFl1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvbxSCKQjZtO4iK
2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54ZLRgUhwpZuJFPvU4ikqz
FnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGNCSHfbY8FSOiIPKwBKWdE
LYqUf46U68E8uYEP+zcX2RdQSwMEFAACAAgABa44Sx3RjyajAAAATwIAAEYAHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMS1zdGRlcnIu
dHh0VVQJAAOJishZiYrIWXV4CwABBPUBAAAEFAAAAO2PsQrCMBRF937FG9vFIIpCNm07iIrYgh0l
Td4QSPtC+lL8fGvp5Bc4OF4453JvWVW3SsKBGTvPwATKjKrXCAo0dd4howEdw0AhEQ9yscNBFIqV
KJtaNNieLYuaYtD4STkFFFcy0U2Y7Q2+0JhWDBhGDKK+XyzjqTjmc+FKe59u1vsMJLREDpYCKSek
nhUpvxwpl4FptD3vtk/OkvJ/4kdOvAFQSwMEFAACAAgACK44S0ZoG9uZAAAAxQAAAEMAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJpbmRleF9jb3VudC1zdGRl
cnIudHh0VVQJAAOPishZj4rIWXV4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFIIpCNm07iIrY
gB0lTd4QSPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8GQYOhPnhktGBSHClm4kU+9TiKSrMW
datEi93VsVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5c4yX6lwuwY0JId9tjwVI6Ig8rAEpZ0Qt
ipR/jpTrwTy5gQ/7NxfZF1BLAwQUAAIACAAHrjhLRmgb25kAAADFAAAARAAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50Mi1zdGRlcnIudHh0
VVQJAAOOishZjorIWXV4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFIIpCNm07iIrYgB0lTd4Q
SPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8GQYOhPnhktGBSHClm4kU+9TiKSrMWdatEi93V
sVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5c4yX6lwuwY0JId9tjwVI6Ig8rAEpZ0QtipR/jpTr
wTy5gQ/7NxfZF1BLAwQUAAIACAAHrjhLRmgb25kAAADFAAAARAAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYmluZGV4X2NvdW50My1zdGRlcnIudHh0VVQJAAOO
ishZjorIWXV4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFIIpCNm07iIrYgB0lTd4QSPtC+lL8
fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8GQYOhPnhktGBSHClm4kU+9TiKSrMWdatEi93VsVCUosHf
KimiuJNNfsbcYPGD1nZixDhhFOp5c4yX6lwuwY0JId9tjwVI6Ig8rAEpZ0QtipR/jpTrwTy5gQ/7
NxfZF1BLAwQUAAIACAAVrjhLRmgb25kAAADFAAAASQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL2lkYm9iamVjdHN0b3JlX2NvdW50LXN0ZGVyci50eHRVVAkAA6qK
yFmqishZdXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb28UgikI2bTuIitiAHSVN3hBI+0L6Uvx8
a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8q
KaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7BjQkh322PBUjoiDysASlnRC2KlH+OlOvBPLmBD/s3
F9kXUEsDBBQAAgAIABWuOEtGaBvbmQAAAMUAAABKABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQyLXN0ZGVyci50eHRVVAkAA6qK
yFmqishZdXgLAAEE9QEAAAQUAAAAXY6xCsIwFEX3fsUb28UgikI2bTuIitiAHSVN3hBI+0L6Uvx8
a+nkeOGcw62b5tFIODFjHxiYQNtJDwZBg6E+eGS0YFIcKWbiRT71OIpKsxZ1q0SL3dWxUJSiwd8q
KaK4k01+xtxg8YPWdmLEOGEU6nlzjJfqXC7BjQkh322PBUjoiDysASlnRC2KlH+OlOvBPLmBD/s3
F9kXUEsDBBQAAgAIABWuOEswPYU3nwAAAIoBAABKABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQzLXN0ZGVyci50eHRVVAkAA6qK
yFmqishZdXgLAAEE9QEAAAQUAAAA3Y+xCsIwFEX3fsUb28UgikI2tR1ERWzAjpImbwikfSF9KX6+
tXTyExwvnHu4t6rrey3hwIxdYGACbUfdGwQNhrrgkdGCSXGgmIkn+dThIErNWlSNEg22F8dCUYoG
v+lEEcWNbPIT5nqLb7S2FQPGEaNQj6tjPJfH0yxcmRDyzXpfgISWyMMikHJC1FyR8qcj5TIwT67n
3fbFRVb9w4kPUEsDBBQAAgAIABiuOEtGaBvbmQAAAMUAAABLABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfZGVsZXRlNS1zdGRlcnIudHh0
VVQJAAOvishZr4rIWXV4CwABBPUBAAAEFAAAAF2OsQrCMBRF937FG9vFIIpCNm07iIrYgB0lTd4Q
SPtC+lL8fGvp5HjhnMOtm+bRSDgxYx8YmEDbSQ8GQYOhPnhktGBSHClm4kU+9TiKSrMWdatEi93V
sVCUosHfKimiuJNNfsbcYPGD1nZixDhhFOp5c4yX6lwuwY0JId9tjwVI6Ig8rAEpZ0QtipR/jpTr
wTy5gQ/7NxfZF1BLAwQUAAIACAAhrjhLRmgb25kAAADFAAAATgAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkYnRyYW5zYWN0aW9uLW9uY29tcGxldGUtc3RkZXJy
LnR4dFVUCQADvYrIWb2KyFl1eAsAAQT1AQAABBQAAABdjrEKwjAURfd+xRvbxSCKQjZtO4iK2IAd
JU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4MWMfGJhA20kPBkGDoT54ZLRgUhwpZuJFPvU4ikqzFnWr
RIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2YsQ4YRTqeXOMl+pcLsGNCSHfbY8FSOiIPKwBKWdELYqU
f46U68E8uYEP+zcX2RdQSwMEFAACAAgAS644S7j6yKGpAAAAKAYAAEsAHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9yZXF1ZXN0LWV2ZW50LW9yZGVyaW5nLXN0ZGVy
ci50eHRVVAkAAw2LyFkNi8hZdXgLAAEE9QEAAAQUAAAA7c8xC8IwEAXgvb/ixnYxiKKQTW0HUREb
sKOkyQ2FthfSS/HnW0snd7eMB+897ivK8l5KODBj5xiYQNtR9wZBg6HOtchowQQ/kE/Ek9rQ4SBy
zVoUlRIV1peGhaLgDX6vE3kUN7KhnWJNb/GN1tZiQD+iF+pxbRjP+fE0D66Mc+lmvc9AQk3UwjIg
5RRRc0XKn46Uy4NpaHrebV+cJUVERERERERE/AvxAVBLAwQUAAIACABNrjhLMD2FN58AAACKAQAA
WAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9u
LWNyZWF0ZV9pbl92ZXJzaW9uY2hhbmdlLXN0ZGVyci50eHRVVAkAAxGLyFkRi8hZdXgLAAEE9QEA
AAQUAAAA3Y+xCsIwFEX3fsUb28UgikI2tR1ERWzAjpImbwikfSF9KX6+tXTyExwvnHu4t6rrey3h
wIxdYGACbUfdGwQNhrrgkdGCSXGgmIkn+dThIErNWlSNEg22F8dCUYoGv+lEEcWNbPIT5nqLb7S2
FQPGEaNQj6tjPJfH0yxcmRDyzXpfgISWyMMikHJC1FyR8qcj5TIwT67n3fbFRVb9w4kPUEsDBBQA
AgAIAFCuOEtGaBvbmQAAAMUAAABGABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvd3JpdGVyLXN0YXJ2YXRpb24tc3RkZXJyLnR4dFVUCQADF4vIWReLyFl1eAsAAQT1
AQAABBQAAABdjrEKwjAURfd+xRvbxSCKQjZtO4iK2IAdJU3eEEj7QvpS/Hxr6eR44ZzDrZvm0Ug4
MWMfGJhA20kPBkGDoT54ZLRgUhwpZuJFPvU4ikqzFnWrRIvd1bFQlKLB3yoporiTTX7G3GDxg9Z2
YsQ4YRTqeXOMl+pcLsGNCSHfbY8FSOiIPKwBKWdELYqUf46U68E8uYEP+zcX2RdQSwMECgAAAAAA
9q04SwAAAAAAAAAAAAAAAC0AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNy
eXB0b0FQSS9VVAkAA3CKyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAACmuOEsAAAAAAAAA
AAAAAAA5ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2Vu
ZXJhdGVLZXkvVVQJAAPNishZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD2rThLjzQacEQA
AACgCQAAXAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dl
bmVyYXRlS2V5L2ZhaWx1cmVzX1JTQS1PQUVQLndvcmtlci1zdGRlcnIudHh0VVQJAANwishZcIrI
WXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUx
NjDhch5VO6p2VO2o2lG1o2pH1Y6qHVVLc7UAUEsDBBQAAgAIAPytOEtUAsmyNgAAAMACAABlABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkv
ZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUud29ya2VyLXN0ZGVyci50eHRVVAkAA3uKyFl7ishZ
dXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhPzUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2
MOFyHlU7qnaQqQUAUEsDBBQAAgAIAB2uOEvhgoboSQAAAGAMAABXABwAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlcy5o
dHRwcy1zdGRlcnIudHh0VVQJAAO5ishZuYrIWXV4CwABBPUBAAAEFAAAAO3KwQmAMBBFwbtV/AIU
BNNBKllwEVESSTYHu7cDK3hznlzHvavU0OHFm4XLdPmrx842q4fF6FrStqYpc7lcLpfL5XK5XO7P
/QBQSwMEFAACAAgAJq44S480GnBEAAAAoAkAAGAAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzX1JTQS1PQUVQLmh0
dHBzLXN0ZGVyci50eHRVVAkAA8iKyFnIishZdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhPzUst
SixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnZU7ajaUbWjakfVjqodVUtztQBQSwME
FAACAAgAKa44S1QCybI2AAAAwAIAAGkAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzX1JTQVNTQS1QS0NTMS12MV81
Lmh0dHBzLXN0ZGVyci50eHRVVAkAA82KyFnNishZdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhP
zUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnaQqQUAUEsDBAoAAAAAAA6uOEsA
AAAAAAAAAAAAAAAkABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vVVQJAAOb
ishZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAQrjhLAAAAAAAAAAAAAAAAKgAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL1VUCQADoIrIWSaNyFl1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgADq44S1oU3s5oAgAAwBwAAEsAHABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LWFjdHVhbC50eHRV
VAkAA5uKyFmbishZdXgLAAEE9QEAAAQUAAAArZnBbtNAEIbveYpVT3BIlL2OLEs9UBWpUKRy8AEp
Co2TVkpslNiIy94QD8MF8g48COJJaKiw16jG8+06x+Sf8bf/zG489uTN+c2Nud3nyyp/sc13eVE9
q4tVvr4v8tVzc1+Yy7evrsyqvK1Pv5nJoD6D8uH8Rb3dKlEaaaZXDmc9W5flmZKg1WZAqslrCYQF
FBZhlKUlXlhghgUYP7990WM04oxodQtEIJ48Y2pFdlFziBZBwNXJJhGwS4RtEyHbRMA2EbhNhLSF
gKYQ5IYgO4T4IagurDCoMqw0J7kwFEEswvpkjhplTjplzkgWiGRBSBaMBJ6q0nOsXpy/vPq/vJv/
dVmZvCjrzZ1Z7jd/vjv0Juk//J9M04fe/6eguXDEAh5y9B3aZAGdNKoFdCMCF/Bpt40ib+KHkVtp
OGtxiKX9m0HF24jDiWNbw0+hYh6jJWQEamHYo7RycRiD3M+ibJNR6E+H0vvlfoR2adNoW8aLCFzA
4eMmiryJH0ZupYGsu2V1FwXbJhim9bSBuBfX11G0TfwwbCsNtnb/6/PXSHPbFBp7PXUg9I/vxYe6
ioL2UwxDd9Sh0Md46COCPjLop66ovh3V3hXrb4gtGa0tGK0tGq0tGvEtmfEtHPJLQx7IGfBEzgCM
h/tY4ogvz5hakd0RFAdAHCuNI2O+A1O+g89fHBkgHZhlnR7jXb0+fYAl/0RkOECz3scYUqhuRIYD
dFV4DCJ18yMyHKC4RkJsSoBDCTUnJb6kwJKUuZEiO1LiByBZJ6R9E9C5CanLlLTHFLTHFLXHjGDM
AMYMYZCnduBFSO9bEDP5DVBLAwQUAAIACAAOrjhLhVs2yAwCAAAtEgAASQAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZGlm
Zi50eHRVVAkAA5uKyFmcishZdXgLAAEE9QEAAAQUAAAAxZhNTuNAEIX3nKLFCmSaXsAGrwIKCMSv
lBH0DnXsJkSy3ZG7DZn9iMPMZiZ3mIMgTkIIISEoZeoNllhYlq2q9+p96vLCUkqhLl1W5dartglG
7V911JXtHvfD9LZX9bNUtW236qnM/HRVkMH6IEvrqyx41c8Hrgw2Vfdbibq3XTnITLhxZT4p8yp1
uSpc+qLvkrFPEWRSWhPsfmYnT3Y4sMlYYDMMw0oURd8+kElCZbLJOK2WkNs7G9s7Inq9tVor4mK3
0xELLWurN87F16vrol8Iffjj9ESkU21B1z/+eXjtgBv0Qr38vP6DA9kxvqipooPdoxPE5cwFYQtX
9W6FKXuTd55WoZ2X6ghOAo2H5pIaN7z0YaRqjCBYNeYQrAUdjedmwRrmGUSpzoFPiXDl45kJaCAi
F0jh+UgocYjFckOIxpuEhhJyiUC7ROtDUL68Qu81NBaTyyVGwTSyOnETaGKQDf5dKTyMp5lPC20M
rhTKaKGDv1px15TgejUDqsYbXbO5jsZjs1j5ux66aqQDnxLhysczE9BARBaQ3IRbPhFKm4+C8uOz
mCtoJB6LxsH5OR8Gqc2nQfjxYcwENBCOeTDKp1+/+TQodeRoUI7I4ZhraCwki8q/v8WgCsgZIQ34
YGhTPpj3GhrLyQMzwsDUGABgRg2AGWFgRjSYT2fU/zsk/x/CsiB1hR80nwFQSwMEFAACAAgADq44
Sx/C0pQbAgAAfBoAAE0AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LWV4cGVjdGVkLnR4dFVUCQADm4rIWZuKyFl1eAsAAQT1
AQAABBQAAACVmLFKA1EQRft8xcNKi4S8dlgWLBQLRUGLKYQQzUaFZFeSrNi8TvwYG80/+CHil2gI
blZBck/a3Jl39s68YXY7Z/vn5+F6VgwXxcGkmBblYrcuR8X4rixGe+GuDEcXJ8dhVF3Xq/9CZ6ve
oXx7/rKeTESURuq6cnvWnXFV7YgEG60DqZI3EogIKCLCqKpIvIjAjAgwPl6fdYxG7ESrPSACacmd
qYXsJnOYimDgdHJJDNwSY9fEyDUxcE0MXhMjbWGgKQy5YcgOI34YqgsrDKoMK81KbgzFEIuxPumj
RumTTukzkgEiGRCSASOBU9XYWDU65I0PesPD3ujAX+sNbie/QpxHCKc8TicyUaN1INXylnNC8aN2
JNZykxK15c7UWnaDNMZwcKuUc0rUjnAcINfAroYzWLZNiPMI4ZT5w41M1GgdSIW80+HiVobYiJ1o
hcyHp6cyRaN1IJWebvb59ALM2MidqYXs72/lfb2QYdpyZ2ol+5LBLBHMksHIGCqAfnQkoy2CqRbR
QItoxEYyXiN8QasCWVcCWFQCwPjeaYgjbbkztZA9EZQEQBIrTSKbZAI7ZILvzokstAmssknHuKzH
qx+w5E+E4wDledcxpFC/IxwHaFVYB5G6tSMcBwhnZMSmDDiUUXNy4ksOLMmZGzmyIyd+AJJxRto3
A52bkbp0SXt0QXt0UXv0CEYPYPQQBvm8Ab5r/PtBI3S+AFBLAwQUAAIACAAOrjhLmiwRubcKAAAw
awAAUQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50
LWNyZWF0ZUVsZW1lbnQtcHJldHR5LWRpZmYuaHRtbFVUCQADnIrIWZyKyFl1eAsAAQT1AQAABBQA
AADlne+Sm8gRwL/vU1Deyu3lyqD/CLRrpWzvbl0qvjtXrSvnb1eDGAQ2MDoYdrVO8i2Vh8mXJO9w
D5LKk6SHGRAgkLCsPws+ly0Ew0x3T/eve7q8viubeu707MrGyIQPD1MkzWwUhJi+uIioJWsXcDuk
jy6enk1cx//4XJrcO6FDsSn95UyC/yheUtnEMxIg6hB/IvnEx5fxI4MEJg5kg1BKvInUWywlE66x
eXn2tzM+nZhkRlwSTKTz7kCPnym3jouvHcsSzw00+zgPSOSbcjLU0tiv7EJ8hZC4jimdm6bJn1nE
p7KFPMd9nEge8Um4QDMhoIeCuQMi97AndfmtBQHlYj0C7IJG9zgWyO4VJB0MBiXzh8gP5RAHjpV5
GDqfcLxGdlHZxRadSF1llNw3nXDhIpjE8cEyQsIHx6Q2vNzt/k7Ih0zT8efpm1w2sTXsKr87QlzH
t0Eomg63yT0OChqNRqPLKmNjzM2gsD15A2uF4mXLJQjUCJy5TfM7x0a9BvUR6JIsRcD0DgUVuwWV
KTJcLM+w6+a0lON5c1Z6sEE7Od5D5moPAVqsJLvDM7Z3lU4Tv5x3maK7CJ9N7A4O1V0s+Qo3ywVs
L8wPquHnksI+ihpWihc6JjYe2Z9SLOorl8w+vkUBVUDVieUEIZVntuOalYZly93B+883TRZgD7b2
+Zb1xBqJ+bnDyQYbknO7UeJ14C3UmSFXRq4zh9igpEStADNP/x75posTc4h5mAnZdxvzDV358ywK
QrY1TOxiBCIDdidKdgzWTB2HB08s3iYpcn6+7g7zAD9eFhxTGW3bL25iSaFkq5kVKyBewdiCj2wN
ZvUfI8/AAXgTznoXv5sIvo5R4bW6ngNgEi5lGEwieTgcluImu/spY9hEIx4CPAxS4As/EO5Z5iJc
3Jw7DQSwMorHKpYChyeJSrNsgNQiYNHJxBQGTGgivCZRJBer8JLMozV+BPaMv4IeAUYfZXaDC+R4
aI5zOzOR+qnBDRcxK7KBM0ADyACiiCupqPdqV7ShXsleC1srADC3ghnT9JiJ5pJXTcvMvwqbHVYP
17F+uSmnpzMJymTlEFFRna5Nc20CycRu9RtY3ypN5zvpLlosSEAh0wbCk8Gonod9GkrfdWA9FFGb
cHvzbMyKGfB6Cn46S3YqfiEeU5H/0zFMGAQuEQ9OcKYmjs1wg1z3dSJB6eg+z2UeWsqF9O5BXSBu
9btp3ikuDXbfuE4a2WlI55Ypk1MhC8zTpvyAjY8OlWnAwo5bggsuKf3wMqPGUCh9HlJEo/BVZEAO
T/OhwqKnVBz2CiXENVCQf54sbbk4jtDVA498Su+mcBrwOBZ1FLtMqgV2XV0SVpFjYym3cgvLWWI+
j+BxN6+SguIahIfZehZ/cIAFQcHV0jk/yY5v4iVAaoNqq0SYEaFMLwGjXHrTBMV8JqYI2NLUBOsZ
ZLlVUHUlaI87cZKE+LdYWHGdZjDxNRU4rcxySztWgDwuYSFO8mVEJkZeV5B23TaPUGuSB5HrsQuF
I9TMNRKTqt+u3Evk5IqHsSHyz9Iy0lwvj/PFsZiDm2/dhytLAjPhLF/mZQKF5KjTzT59l+TIwplE
HSdAWxdzQ5BkTjuhh3gtn2WuTwK4fVlBGaE/K8HCssW5Hklcd8uGuMjA7gRZEGHP117n9+NJ4oTs
g6rPpL9Kzy7P0kScSd/Ft10EFTqxZPq4wKVTPauUSAwsHHFt7MaATItRxIrRihx17uEwTAqPSjuX
bUsmOu5iUNdJhZBioCC6d0gUvk7vQDH7CfuvM8myLM8nJUcxxWSTC2M5eG3sCQnbxXfhiQIigyQH
1pJGuAbUOJiymMilC1H2VRR92TxrRBBVfpY7SX43nfuJRWbChiSijBfZ8DPcKM4k4hH4iwWyQAbr
JYpkk2U8C9Qw72zMV+qITDsH+ZkOlEgUnhl8tHC1ULp3EGMy/UH4BAhrBOQBNhwqARvBu6IocqjC
iqBUj6Eqqvi0FBHfEzqwQpb97uaTaNLSKdb4nmPCKYsrxjYoTA7fJRkF6jASonuwPVgAF/JK9qS3
lurknjLgJdOq+ZFk/5I9OL++vs6E9Ll2e307ui3lExSX5V58c3NTJvUEewsgVG7zRZlWGKnAJUia
i/wbXetqglszF6Pgl7g8SI4C7E58bLLZkKuO6LpdhbPAWcCeBrMXz2xKF+Gk00Ef0FKZEzKHlxZO
yFw3vtdxHSPsfPg1wsFjp6cMlb74okBpqXwIn01h3ni+qZSfeUZMLLM9xA8w7g+w02wzXwy1zCsg
lGgUGsR8hA+IB5AbheGLi+QkwPqFdm/a+TPsJzCrc40o6tz8fNf5GRt/cqj4eBU5rtm5xkY074Cf
gDFlioGvcHiPXBp2HI/5LzY7D4NZB6AhgzdRKPG9eFjYMUFfHySG+SEcWdTKM8h0FN+4OP4G1U2E
XIUuKcjcy4ua6RRdrD+JT/BV99nJXgptKLXNwhB2rJFyHaG4cwpZNhkR9wJWBcbFdKiDZWHANDcM
Yr7GIEjcF9O3L+/upJze337za0TopUXI5Bd++XvAofT++3c/vJFMYSpJzAjbCQp8sRqjbg01KgZt
V+O///pHRpGD6tGro0dvL3q836RG/JFVJgOLi6l4vK5yPeflJ++tzpsZt9lo/RpG+8Y3wsVlteGu
TOxO34JK8BFfgyH5t7rm/AK/qK3p4DSawu/PiYE158lvPyTQ7XsvBm00xwZNSR0P4eaAUm16e9Vh
H/H1yz++4d923Hj26o+EStgn0dyWoKqJH4Riic/yi/1aYbBXK2xzis+zw0GBs69sORrWMfNwRzyv
GbQ9hB49EW4dBdLqSZQFRZm+DYb06LB4ag6n1X0aYqtftJHT4zpmHu/G6XWDtofT2hNB11E4rR9f
2aXnNhjQ2mG51BxA63szxEaHaCGZ1TqNGnWXRk3ekq1Bsto7NaWOwWK1fxIt/bC5NFZ7B4JQYzCs
9vdpgU2+0EYQ12klqoPdQJyzZXtQPDw9pI4C49FJ9Gx080IdHoxFzeHxaJ82+Np6FmqdtqGq7gbk
lvYr1PETINVRkKydRNFmN5TV8eF41Bwoa/s0wlfXSVbrNAlVfTcqt7WNPO4+BVodg8vj3omOBM0m
87h7QCg1Bs3j3n7PDF8dnMd1uobj/q49jNbiefA0oHUUQA9PdUKYGChoMKEHB2VTcxg93PMZYrNb
tBHSdbqJ49HOfY2CQdtDafWJkOsomD5BIye8nzeYz+phudQcQO+vybPRIdpI5jpNxbG2A5nzlmwP
kvVTU+oYLNZO0L3xELUbDGP9QAxqDIW1/TV0NrtCCzGs1ekharv8zF/BlK3hsNY/OaGOAuIT9Glu
f/qpuRzW+oeiUHNAvL++zUZXaCOH67QKtV1+uC9vyfZgeHRqPh2Fwuopkk3wv7//s8EgHh2IQs3h
sLrHVLTZGdqI4jrtQG28U0lcMGZ7aKw9AU4dBcgn6ML89m9/EdEGA1k7HI6aw+T9tWm2+UMLmazX
aQvqu/zk3poxW8NkvfcEUHUMJusn6Mj89p9mM1nvHQ5HjWGyvr+WzTZ/aCOT63QI9V1+iG/NmO1h
8vAJoOp901g1PFyYvv8K4rROp0zf5e9AHenfpdTrNMF09csUeH9A+es0FPTxF8r/mUG9wVMLH/E/
dXvV4f+jrP8DUEsDBBQAAgAIABCuOEvdgyTJ6wgAABzIAABNABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLWFjdHVhbC50
eHRVVAkAA6CKyFmgishZdXgLAAEE9QEAAAQUAAAAxZ1dbxNXEIbv+RWLgfAVf5z2pgzGIqKpiBQi
lEBVCYhZnA1EcmzXH0qqylzyd/hL/JTaTmocZ9fenXnnTS+4KD7PzLwzc/bs2bPLrddbBwdRq5/E
w2S7nZwmneHeQTRMBsPopBO9fPNqNzrqtkbT/y9RZ9Rub87/iG6tHPuXYajFbtrYUecoOT7pJEdK
x4uNN3uQBigdd7slpfv5x5ospw4Os9Glnb0/t3Z3fm++eLm1v/XizfZ+c3t/v6QIxcSDe5iuV7Ck
KthyFSzJmigRLEUWbFUW9J7/+P4NXGhGooOXqcgxOOwxPOgxvL/G2JBNPLiHWc0xhoZs4cE9TAW+
Hx1P/8Om2g718TVd0gssuNjNUB9fs4rqgguufSPUx9dUah2c/jo883WHpDfA+W7AU92AZ7mBTnMD
n2ds1Md18NRWh89qdXBtHx4iAzbQwN5ltEmEza+FB/cwFVgGT9dl+HRdRk/XFXDIFXjIFXTIAg5Z
4CEL/KIsM+De1qvtg9dbL7bVPazhwDzKupoLeL0h8PWGoLMp2KnZBMT7mN4U0J4FNyw00vPTtnob
L/dYk+WswZ0BYpbRgXA+ZZEse/hFhlvtZ42/vKwg8qNCIf3KzjYwSiUM69uKapBPcR8UqpYG9i4V
N/1TZlOTPVQ1C+rZEqxUUj6XLTJQb/P6SOAa2kwDe5eCs6+e1RSQN2kY2LrZTAN7t4S7+uy+eI+l
jv9ja2c3d0BphHgwSPrDZvL3KG4PJErOe0lrmBxFIfo0Gkafu8MoBGWYhuMS2RBlwEsYx6iVJyzS
AcpoFxCekeIOZaCgPr6u0DmYkx0A2Q6UdCuPdWQQDKUdCMGKR22LT22LT22bVxtWGNa3lSUl8Fwj
VyIg7Co9xaHcbVQnb7Oxuu2udIB2dvuJ8JzcADtkZhrYu5U485LsKsOQXM7CDLLHBuDBPVxTNOig
MftuCOa6orLvwGGQHn4u35Z/GQ57Uq0m5/Fpr51UWt3Takl727UeVqjZ1+LgXZ9hEXdr5mHAP4Z8
FoAHplwsEKLIW8B133IyGfCPIZ+FsnfTlf2bruzedBVvlSr+KlXcVVLuLOWgQS5ogX5FU+4+5aCB
rvCBLIh495H495H495FA+0jAfST8PsId2nKxQIgid0uL85oH+KwSbyJvIqTrXU7S9S8n8Z6IYqm5
ymThu0eQz0BNYleJLHz3CPLmoIm7mi3AEBeznzjWtSyWH9+/OXeVxQIhinwmJgace8tmgRBF3lzE
s2TgWmyRh+myBSKt0S6lh8lyhQeRZZHIkmX6FGM6wngoDwz39T03vTNw1UaL9/Y/H3/6a7l80Ilq
qutMRGNdoxKby/qQGkp29Dofuolc+zWxa78mfe3XlC81pBw/aRg95jyeIBfTFU6SRR5GlAUiS5Y2
tG3a4L5p8xtncl1rAjvnCg4hySKQqEmM1SRGaxLzNamBZ5RlIkaZ2k3MKnHlk7SA90OLOMjt0AKQ
pkkZq0kZrUmZr4nuTOl6GEIPx7OmGRYnUe4d4PS4gkMosggkVgj06JrhqGoeInNrxXyaE8x29Tx3
hQq0XJaAoC6SGykYxAFgON3Z+wITG7xwriJhE/DNFM/8cDJ2Il5k4ibjBSpLol4/OT45F2l3W3Hb
9VESxhIxqpx3KvFpMujFreTt/o7866ogyBQzLoWtMU/DMVPDMVHDrzwNvzI1/ErU8D5Pw/tMDe8T
NbzN0/A2U8PbRA2f8zR8ztTwOVHDOzwN7zA1vEPU8C5Pw7tMDe8SNbzH0/AeU8N7RA0PeRoeMjU8
JGq4wdNwg6nhBlHDRzwNHzE1fETU8AFPwwdMDR8QNXzI0/AhU8OHRA0f8zR8zNTwMVHDZzwNnzE1
fEbU8B1Pw3dMDd8RNfzA0/ADU8MPRA3fv+eJaLBFjUxhrMpTscoUsUrU8ClPw6dMDZ8SNfzI0/Aj
U8OPRA3rPA3rTA3rRA0bPA0bTA0bRA03eRpuMjXcJGoYRzwRDbaokWnWUiXiKrFEXSWWUDIavmFY
aKjFbtpY4JcG4d8VRH9F0PJhrmJjTZYzUhwMtRVMxRXUbgu2ugRdXYKuLjFUl5iqS2zVJcA0Qb+M
hP4OkuG1jkJDLXYzxprfp8a9PQ17V9r2DkXR0UbrGcMBx9aR7zUA32JAnszHnsOHnrq3nyHXEABe
ZCx5z87OKme/Vrr9z9WJn9Xw5Mlv1fm61/yxbRjd2XslHv/tbVeLNxClNm/Bt+yCd90F38IzfiIX
h/f2X8kXemPKDTSm3EBjim9jindjintjCrfwPL4t62lTadL2ej2M7uy9Ho/6gJaPKWZcelu+a13L
zSfehN6CuMskBJ3EXyjkS+p+5tjxmUrb+N422ggnFo2VAfrDGm7WyNGtNzcBr5gxwFpCjXFjW2/t
l1qtVp1NFPNHj2D57BYIURQ14bqrBDTFjKtwmoJ/tQVGuQVKYwb/zgyM1gzeWgmvN4XZm8LsTfHv
TWH0plB6U0j15ryRhDNW1NZs88W13DQWCFEoTJi+Uo8A+/msIPsvWZVGOLEorAhFMiFpJhzR/t9I
cWo85HaaBa8rWvu/d+5piBeT5grr81wAZYcW0bKhy8WHsueKjjZazxgO3CRAEB28zNIt2NIWrHkL
tsRpj24UHm61nzFe4IUnDoUnDoUntsITa+GJufAEmzjoHSOAmYFUHh0oOtpoPXu4+RJuQiH9ymbZ
rsWWR+vFEdkEwN2PEYb1bVXuobGCnl1bgStrQ/vsWQnB+LJMmRBA1wALCejVEmoqCSpEIwvq2RJs
1DlKjk86yREqVgQQ72Ou13RnwoI+5Z+bBfUs39vIri9WO79JDXwjT5luS3INqQQmDpomZFLynXqy
tSkK7uu78jwY98A4+7A46THfxfXVcadTY8A/hqKbqKSHybQHydi9AuUkVXCwzXbGjQF2awe9rbOO
t9s9S/rlVjxILuJLLsjR2cnwS3c0jOLo4t/vyfHzFb/tdDvlgvjUIcu/f9vrFfF+1c9X/Dav9+uG
LP9+VnPzGfvyf85X79f+JjntDf+JBsP+Sefz4l9Gt/4DUEsDBBQAAgAIABCuOEszwlNNEQQAAJ87
AABLABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQt
Y3JlYXRlRWxlbWVudE5TLWRpZmYudHh0VVQJAAOgishZoIrIWXV4CwABBPUBAAAEFAAAAM2a327a
MBjF7/sUEbckDaYdnXwFa5larUUVVG3vIhNMi2QII47KXmCvs1faoywJbDj0T8A5NrupVQl+tg/n
fPli2fM8x7+PRDLlsX/BJPO7DwP/gQ+/TeR6+JJMxMi/4MPkyRfsR5RIT/JYegseJ0LG/mQ6jxaS
j/yXk9B/4UNvLpgcR4tp/rHYH0VTfxaNMn4UpvPMpBcuOJO8K3j2X2/g8eWchyniWC7lUb1e/w+W
xEKZMJEvqN12PEKabrPp1Ndju33k3HYGA2fra07GdyYz5/Hy7ubaGa3p1KnV3No4img6XPXuO9dX
F8H5ZaffOb/r9oNuv19zSoBbvGQ24uPJjI/cWSJE/qeM8FgO8Pba05uI+tfO1XUlBItjvpAB/57q
H1Pnrzcc4gwT6TxF0iFEV6zifLqKbVN0Zdvm6Gq3xTEpYGbiWiXxVIKucCpDVzSFYVQwks+jmfpH
M1RDq/1Aa1LdNgThG4IwDrHjnPSnINWzRhBhI4i0ERuiUSNxo4biVsLNO4/TpktO0s5jNe7deai/
AaVG0r2cioo+VQjaNlUY2i7dMIyaNJ1mFqc/RK9z0x3cds671dypiUOv70Ne9b6hCKliE0T3UMCY
Nsu6TODsogfUWWNewloN9yytYPlQpYCtRKdDtqhqztqzlHPq+3zJpnPBj8P0jbCm3d2W0/azazlv
P9+W8vAGfmdKYDdsZAbILnLPn312SSs1/Wrc/8Dg7ZmPgf35e64g2BAQdAoIOgbEfg50e/sdcKhS
Q9C1htgWmRovNtRCsaEWIk+xkafoyFN05OkBIk8jatiOFafA7CN7+jUbn7KObzWgnn0NygzngNEA
GAOFBkmBwoOEYMOzlgFGf//6aTYDFafA7CPPADl1SSMNwWpEpSCd2EIOWL4/YBRUICgNKhIUCAVp
LxPrXxQndgGIEbuAxIitIq2JnR1UZN+oeJoCp1defV5xmi23RdKKsxpRFSc/DdTb124TZJ+m6zNH
WApeQyFJeI2FpOEV1mYiKp9FY9Em170bO4D2gQG4DwzAfWBgvw8M6HMDqvAGB5J4AwRp/A9oUeRV
zQbKrAJBQqtIkNQK0prYAlszBLpoCHTVEAcoG2kbEiDrRoEHkblAhOisEm0KzcBCM7jQDC40O4DQ
DXSV3kaC5G7gK/UW1N4b9/GQhsgXbpWHed9WiZjXbYVoT2gPLLQHF9qDC+0dQGjNG1jlNA/0qgaV
2OQtrXemTHXrDYASF3gQkQtEiMwq0aaTsZdwqlwb2wmJsvQBbuNgrpah4WbXvrP3KdaHW0RU5ina
iUWm3WNIo2bUxZte/x7FGG/JIhP3IDJhywLV8gNpdecU/FBSocAHk4oFPpwUrDXx5ws+niwpFVHI
hNl7A6CpsPv6A1BLAwQUAAIACAAQrjhLXewPiY8IAADkwwAATwAcAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnROUy1leHBlY3Rl
ZC50eHRVVAkAA6CKyFmgishZdXgLAAEE9QEAAAQUAAAAxV3bbhNJEH3nKwYD4RZfevdlKYxFxEYC
CSKUwGolIGZIJhDJsa3YUVitzCO/wy/xKetLNto1M5PuqlMHHvJApk+dOlXV3dPT3bn2cmtvLzs4
LfJpsT0oTorhdGcvmxaTaXY8zJ6+evE8OxwdnC3+X7Lh2WCwefkju1bb9k9DU4vdsrZnw8Pi6HhY
HCqJp7U3MygDaByNRg0l/fi2JsuljcOydePZzh9bz5/93n/ydGt368mr7d3+9u5uQ+GKCQ/OsFyv
YAlVsMUqWII1VyJYkizYsizomX//9hWcaEZEB5alkDOw2zO40zN4fc2wLpvw4AyrimMGddmCB2dY
Cvj27GjxDxtqO6gP13JJV7DgZDeD+nCtSqoVLjj3jaA+XEtRu+Dwd+GR7zoEvQeOdw8e6h48yj10
mHv4OGO9PuqCu7YuvFfrgnN7fx/psAENzK6iTDJsfC14cIalgE1wd92Ed9dNdHfdArvcgrvcQrss
YJcF7rLAB2VZAu5svdjee7n1ZFtdwxocGKOq0VzA8w2BzzcEHU3Bds0mQDzH8qKA1iy4YKGefj4Z
qJfxotuaLFc1Hk4QvYwOCMepCsmyhp/S3Gq/qv3FsIKIjwoKyas62kAvlWBYbjXZIB/yU5CrWjQw
u1K4xU9Zdk12V9VYUGZrYI2G8rtsSkO9zR9bAufQZjQwuxI4++xZjQJiUwYDmzeb0cDs1uD+/+0+
vcYU7c0MKgEMWyG0IBgulSjKnREaADuHagTcRgkUqA/XGg2DOZABEMlgDqVyG4UKAcCiGkI8clJ8
clJ8ctI8clvBsNxq00XgsUaO6iDYOj3FId1tqE5sq2F1S0caADuHWgTrSpIZDcyuFs48BTKsLulQ
akHsKzAAPDjDKxIC7TRm7QmBeVXC2FehMJAePNdfTT9Np2Npt4vP+cl4ULQORifthvYVxgqG5RaH
hnvN8TDg70OcBeCGIBcLBC9ik7Prm04mA/4+xFloehdd07/omu5F1/JWqeWvUstdJeUqjRkNzC56
7AvQgTmAR+YAdFa881/881/881+g+S/g/Bds/uM2CrlYIHgRXYriPA8Bfh/Dm4gNhIy800lG/ukk
3p1MLh1XmSz47h7EGehI7iqRBd/dg9gY9HEjVTQYllss2vdvX50rxmKB4EWcibkB57qxWSB4ERuL
fBkMXPnE48EZRgJeyApzOQEPzjAOcLGSv2hh3JwFBvflHo0+nLhqo4X35h+Hv3haLj7koQomFdOF
aYK8fpnhmRQ++dBHzrX62LlWHzrX6sunDtLVWDQwu1i4VReCczceD84wDnAATeUBOJcH2GSejxF9
YDYnwKH5RePlWH9ztL851t8OuILTEB1YRk6VWx/kADiXj4dD84vEa2L9baL9bWL91e3Ts4JhucWh
zT3Y2cP5mgCH5hetHnQ7kGFrnx0x/lXWvPsNjO3KPDqzBJoKSYB4jilv7o7pgNkYicZP6GzgSZEC
6cEzpdtZbcLEdo7xmC5M40DHp8XR8WeRweggH7gu4WMsEb2KnGXnJ8VknB8Ur3efyd+uCoJMMf1S
2JrxNJwxNZwRNfzC0/ALU8MvRA1v8zS8zdTwNlHD6zwNrzM1vE7U8DFPw8dMDR8TNbzB0/AGU8Mb
RA1v8jS8ydTwJlHDWzwNbzE1vEXUcJ+n4T5Tw32ihhs8DTeYGm4QNbzH0/AeU8N7RA3v8DS8w9Tw
DlHDuzwN7zI1vEvU8D5Pw/tMDe8TNXzE0/ARU8NHRA3f8DR8w9TwDVHDdzwN3zE1fEfU8O1bnogG
W1TPFMbaPBXbTBHbRA0f8jR8yNTwIVHD9zwN3zM1fE/UsMvTsMvUsEvUsMfTsMfUsEfUcJOn4SZT
w02ihnnGE9Fgi+qZZi7VIM4SG9RZYgMlo+EeNtOta5Y71sA3qsHvT0Pflma5gMh23ZDpciHLVUK2
i4NM1wSBLwWCXwGEvvDHcr2P7TIf09U94Ptn4LfNoO+WMRx/MB12sBxtQJ2ZxZ2QhZ2HtZ1ZsJ5Q
MJ5HwJ0+QJ41AJ4sQO6ox+6fh+6Wt+8PR+wGx+39Pj8/b53/2hqdfmzPebbDgwe/tS/nveYLg2Ho
zuyV8Pg7hl0t/gQvtXELvmkXvPMu+Cae8bpQHLw3fyW+0AtTfkJhyk8oTPEtTPEuTHEvTOEmnsd9
nZ42lSZtx9Bh6M7s9fCoS5J8TDH90tvynesCjscDTegtiLtMQtBJ/IVCHi73M8f2z5TaxjPZaCMc
XzRWJujLLtyskb272twcuKbHAGsJNcb17Wprv3Q6nfayo7j89AiWz26B4EWqCddVJaAppl/JYQr+
2RYY6RYohRn8KzMwSjN4ayW82hRmbQqzNsW/NoVRm0KpTSHlm/NCEs5Yqq3l4otrumksELxQmDDd
Mo4A9uOsQPafsiqNcHxRWBGKZELSTDii/buQ4lR4yOU0C7wuae1/s9nTEM8nzQjr810AZYfm0bqh
i8mHsuZSWxutVzQHLhIgEB1YVukWbGEL1rgFW+C0WzeSm1vtV7QXeOKJQ+KJQ+KJLfHEmnhiTjzB
Bg76xgjArIBUbh1IbW20Xt3cPISboJC8qrFsY7Hl03o6RDUC4O3HCIblVhd7qK+gb9dWwNrc0H57
VoJguKyjzBFAY4AFCchqDWohCcpFIxaU2RrY2fCwODoeFocoXxGAeI5Rx3SXwoKu6Y/GgjKLO43s
erDa+SQ18ESeMtyW4BpCCQwcNEzIoMTterKVKQrcl7tyPxh3wzh7szjpM99qfHVc6dQY8PchdRGV
9DGZ9iEZu1ag7KQSG9tsV7wYYJd20Ms6V+E9H50Xp82DfFKs/CtWyNn58fTT6Gya5dnq7/dEPF7z
7HA0bCbClzZZf/71eJzCvu7xmmdj2V/VZP35Zc5d9tgX/3k5e//hN8XJePpXNpmeHg8//veX2bV/
AFBLAwQUAAIACAAQrjhLHErX6ZEPAABO4QAAUwAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnROUy1wcmV0dHktZGlmZi5odG1s
VVQJAAOgishZoIrIWXV4CwABBPUBAAAEFAAAAOVd7XKbSBb976egktpJ1ZQlQfONE295bKdmajOp
VJyamX+ulmhZTJDQALLl7O7ffZ19pX2UvQ2NDEhYbcc0ICY1lgQN9D19+9xzm6Z5O4vn/unR2xnB
LnzMSYylyQyHEYnfvVnF04H1BjZH8b1PTo8c31t8PZacWy/yYuJK/zyS4L+YrOOBSyZBiGMvWDjS
IliQk2TXOAhdEg7GQRwHc0dSlmvJhe/EPTn691F6OnaSSeAHoSO9llU72Td87/nkwptO2f4xnny9
CYPVwh1kRacW/Ze/UHqFKPA9V3rtum66bxos4sEUzz3/3pHmwSKIlnjCKjjH4Y0HVVbIXJLTTcsA
jEvsCIkPFt2SpEIzpVRTVVV3nD/Ci2gQkdCb5nZG3jeSXCN/0YFPprEjyUM92+560dLHcBJvAciw
Gt55bjyDg2X5b6x+2HW9xc3myLRurGnot2LrsOp6ixlUKt4UnwW3JCxZpOv6SRXYhKQwDGmbfIBr
RezgqR9gMCP0bmZxseVoqXMwH4Mt2aUCgN6LwUS5ZHKMxz4ZTIjvF6wcJOctoHQ3A+sGSRtSV7sL
8fKhZldkQtuu0mmSg4suU3YX5rMZ7uBQ8nKdXuFyvYTmhfODaeRYGtKPsoWV1Ys8l4zv6V8pqepP
fjD5+gmH8RBMdaZeGMWDyczz3Upg6eWu4Pjjx04Wkjk07fGe67FrZPCnDjcY0yIFt9MzrwNvib0J
9gfY926gb8TBDrNCQj39Z7xwfZLBwc5DIaS/ZyRt0Ad/nqzCiDYNrXa5B+IxtM4qazG45sZx0s6T
VO+xWhT8fNsdbkJyf1JyzKG+r71SiKVhHOyFeTgNg3kJbMaP9BoU9Y+r+ZiE4E0k713p1qzi2zTK
vNa2CwSYdZddNJj1ZE3TdtJNvvU3HENPpKddIO0GG8JnfsDcc5eLpNUtuJPKCCtneGLiTsJJg0Ql
LI+Q1DKkvZNWkwGYsQnzmsyQQl+FgwZpb012AZ7JT7AjJPjrgG5IK+TN8Q0ptIwjoQ3gYx9TFGnB
CVAD1AGqwr5JZbsfWsXS7ErunZLpAwFQt4IzbsJjrjfvONSdusVDobGj6uI2sU8ei+mbMzGWydeD
9YrqcO26WyeQXOJXH0HsvbUZ/ShdrZbLIIwh0obMkwHU+Zws4kj6cQTXw6t4FqR4p9GYihnw+hj8
dJK1VHJAUqYi/m/K0MpgcImkcEZnRubYlG6w759nNdhZGqWxbI7Xg1J4n4MuYJuQvIk75UsD7o9e
Z9OzN126cJld9RwGS5KGzcEdGX/14kEc0m6XIpFWXBqi6CRnhsaMfh3FOF5FP63GEMM38XBIe8/O
6tBD4iDwxzgs7s8uPfVJ0kMfdsyDb5utG3JS037MdBT9mqkF+r1aElYxx6NS7sEtpt6apOdhfCwX
TRriRIOk3Ww7it95wAVhydU25/w28BYuWQNJPWLaQyDMVWGXXYyMCuHNYiy2oNVkHXZnaILrjYP1
3ooaDxVVUifOglD6K6ks+76JYOznpsIbZVa4tDcN8TytYamfFGVEro+cVzDtNjb3oDWDOxbriQ/C
ETQzR2Ay7PcP7sVicsXOBIjivo2MdLflcVEcs3Ok8G37cKUkcDOeTS9zlpFClurI+b1fshhZykkM
MyO07Wo+0kly2U40x6mWz3PuIghh80kFyzD7qQSLdl08tSPr1/KuIj4eE9/BU+hhx1uHp9uTkyQB
eQGmvpL+Jb06OdoE4lz4Lh/tY1DowXQQ3y/JzlO9qqwRK1hKcWfETwhyI0YxFaMVMer1nERRJjwq
cd7VLLnecZUQNU8ohBADgujWC1bR+WYLiNlvZHGeC5a74nwmOcohJh9cKJeD1yaekHE7+808kZGI
msVArtow1wCNQ2LaJwrhgsm+CtGXj7PjFfSqRZ53svjuerfONJgwDINVTPki3/3G/iqJJGwX+MsU
6gIRTMkMyQfL5CygYb7MSHqlEYu0N1B/akMcSDHsG6elmatF0q2HKSfHvzKfgMqOw+AOGhyUwAzD
sUwUefGQiqCNHZrBVPxGirDfGTtQIUv/l4tBNBvSKWv8uedClpUaRhsoypLvHREFdFgQ4VvAHhAg
pbiSz/S2Qt1AGaqpZHoY/Mii/442eH1xcZHr0q+t9xfv9fc7+QnE5W4vvry83FVrh8yXwFCFxmcy
rVRyCF+hpoWef2lbssV4a+ITHF4n8iBLBeiWJG2a0SJvR2zU7W00Cb0ltGk4efdqFsfLyBmN8J94
PbwJghs4aOlF1HWTbSPfG0ejP/9akfB+pAy1IWI/hiAth39Gr07hvMn5TqXimSeBSwa0DckdlPs7
tDRtzHealTsEKsUGCseBew8f0B+g3jiK3r3JMgE6XjhTTke/QXsCZ40ucIxHl79fjX4n4394Mfv4
aeX57uiCjFc3I/ATAHMQE+BXSN5XfhyNvDn1X+KO7tTJCEhjAN4Ug8SfJ8WikQv2LqDGcH7ojrTX
DiYQ6WJy6RP66+PVAPTNCvvDeB1DrZViZXNjRW+29yQ5fNV2mttL0QzEtlsqQhMbqTAmlIydQpzN
SiSjAQ8S482poiAAF0qcFspBt+cpBcH7zemns6srqWS7REECGpT++PnLrx8kl0HkSD/8tQrik/Tv
cfoxDQKnsOGXj7+dffjl4vr857PPZ+dfLj9fX37+nO6SWDXAD8DuF7Be5bJefab1JeOhf5MpnNg9
Xqx8P/nz4gZpXAZpz23OJ9uTfOStyvHOm1O2e9t2vl6QJvF7e0Gu3B70dA70fliMo+VJNYBvXeKf
fgKb4CP5DoCmv7h7ybOALUIDcWo/LqzQo6A8Ym7AhV4KCkii0/dvR/Qj+X72y4f01/eBQs8AlwFV
cE3+AraNHImsl2kupVAdJd0EoMQUdmWRzvlyFG1woW+8NEkVAX9xpjK5rDJfmKn2GNUturLaRldP
Rbd5zrIEcVYZmV4Ql83VBPZLE9dGVzJZWQd9IZnHtopSz6cvLtM6RWJIaRuJPQ/jxqmsAsiXp7Ld
+PSB0BBXsoxQPYSmPEAuPFFGXIkyUmuhu0YN50qokfZC4yOtMl3nMl2vKXwr9cZvrqQKGfXEb+WQ
ArjZ0gCudC6Cm2IjuNLHEG5xtYRVW06i1ElqXAkXsutKSpSDITVVbm1WonSL1FRZdFqi9I7UVIWr
JZR6SM1pUKOqXBmZimphvEYN50rIVLWmvOS7TH9Kp2If47Cl9881LgfUUE3tMHWc5nxQ4/JBTa2H
dtZzv0YppXHl/ZpWC7HsMa1TSkrT26mknopx40JK04UKqTI+fdBRGtegkGbURmiLqMDlH89+vbz6
dHZ+WSOHc92G18y6eK4Bi7lGADSrpojdjM1cAwOaXZtj13szVue6GavLdTnxId2P1ZXWxuvO3ZLV
FdEhu493ZXWuFExHtZHbVjIsgNF1rtxLV+uivEZs5srJdK2+yP0sqw9puMPgirSGXF8T0McFxjgU
7XsG1xCr8UJDrKkN9FkbZzQiazxf+iR5xKb85ESNosrgolXjZYZWX8TgTuksQ22HzqoH+call6HW
Kr2eh1of1JjBFaQNTSRRNjmLyuCaRWXoAmm0UTi4htgM40WfN6wVkEOSdybX2JhpCW2dYYPuanIN
nJm2UNlX78xIi0viW7JI3XdI8yUtpVPCr3OzKC2lDcqvj3MrLa6M0UKCc+Q6Z1xaXMNwlio2ST6c
eZiW1rEsuWOzMy2tHWly/+ZsWlx5oaWLJMsmJzRaXImhZQhk0kbh4JqXYZlCM7FGAeFKTS1LqLhw
6s3EuJJPyxYpLpwDysRsuVPiwulaJmbLbRAXTg8zMZvrbqWtCCZLp7HoYXOlpjYSS6UN4sGVt9qq
UHnxfYgc0Dg8knmSg6pSdTWP7OCG3BXJBhcehkg+w851fdoPySaXxaZAwtpjcJekH5KtLkm/pyLf
tPKrgles8iuj1gPhh2Sbq3lssUT5v//+p6nIofDkeFWl6uLRJvFQuPBQhCqL70PkkIQf1/rNSNGE
Ng80TnPSj2tNZqToYhkNPzhsHeqPa8lfpBhCWWufzZ0SgIrZLQH4ZPAb14CK2QoNuAVcH2Qg18rQ
SBF6swTnw0gtpMmlfRWRt0v229wp0kSdumHyDPAbJ03UhlsmO4DrA2lyrUSNkNCbJvSZQ3oCwY+7
Ia6VjhESeb+kMShULijE3ip5NhiHlCxzreGLkCG6ZRZRM47KdcsAmSL5ix7s5Jc8qUP4ca3pip69
pusftdndLfFnd0n8PbMBmheAdgsEYAV4fRCBXAv/IlUWLAKFLxmFuNaURc9eU/aPzuDApYRVJF5k
CEeCSwirqsiucV3rJAyV626MqgnsA9cHNAlD1bukKK67NglD1VsgJa57OAlD5cpLVUMsUc7kOpmS
K/dUTaFM+bjF3aJKq1tU+UTom+dKqxVcWYKtF2TJdddOtcWSZW78rg661LiyTE0WSpf7bO4UYWpK
twjzyeA3Tpma0grK3AKuD6TJ9dYRpAldacOvNxfnetkI0kSutOEfUjKudWqlDb9z2bjWhpU2/D6m
41xvoEGa0BnEi8i5rjMf53qTCdJETiDea3K36LJT84efjn3zfNmG6cPbuPWCMLnmU2iWYMLEtRIm
1zCEZoslTHw4hKnLHSNM3DHC1OV2ECbuH2FyvTMJ6YpYwpTrHsXkevEO0pFQzpQPaxxTV7tFm3IH
RzJ1tRXMKfdzLJPrrU5IF/rCCDwcO5M6mZNrSEIX+VKIvSZ3izaNTj2p9mTsm+dMow0Pqm3h1gvC
5Jprowt9zgMPaiZMriEJXeQjHntN7hZhdurpjqdj3zxhtuHBjm3c+kCYXC+tRIboZzpqpEuut1Ui
Q/DDGwdDllyvxmwNWT4V+cap8rF3igqjyjJqvSBKrjk2htAnfIBrPl7VSZVcww+GyGd89prcLbLs
1FM+T8e+ebpsw3M+27j1gjC5ptkYhmBlWeuLwZHBNf5gmGLF5QG9GxwZVsf0ZddeD16FsHCJ2cM3
hCODa6qNYYteZ6v8cisBj9SbXCMTpix4ma0mkOAasTAV4atsNYEF17wKEwlOw5x6ZYXJlXyaqthE
zDkkXWFqHUvFnM4JC1NrRzLm9FFZmFzTKkxd+OJNjUQRrtzUNEQv4NQIFlwpq2k2sFJkE2hw3Uw3
LeHDvHUrDK7Ew7RFD/UelMaw5M4N93ZPZVhyW4Z8e6kzLK5k1VLED/s6YxzWyKAWV2ZqIeFDv/vs
7haFqt0b/n1yAzTPoWprhoC3wOsFiXLdeLeEzvtfhmTqrR0HrMV+U288s7iyWEvkwwHtwIUrobXE
Lvf/Msg8460M2cc4cO9h3yye+6dH/wdQSwMECgAAAAAAEK44SwAAAAAAAAAAAAAAACYAHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL1VUCQADn4rIWSaNyFl1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAADK44SwAAAAAAAAAAAAAAACoAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL2FwaS9VVAkAA5iKyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
ABSuOEsAAAAAAAAAAAAAAAAvABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvY29ycy9VVAkAA6eKyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAyuOEtQjmts
CQIAAL0MAABJABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cy9jb3JzLW9yaWdpbi5hbnktc3RkZXJyLnR4dFVUCQADmIrIWZiKyFl1eAsAAQT1AQAABBQAAADt
lltr20AQhd/7K/SSvI09e9FqNmCKcZ200NYBt89hL7O2qWIZS6XNv+8qIWkdAnEaSlscJPZhJeZI
H4ezZzL7OJ+9nxYfpvP5+Gx6Usy2q8VqXSy7bnMyHNZNcPWyabsTIsRi1RbrpitcXTffOBb+qhiH
wG0Lk2bdbZsaxv0TuJkxeDW5P/yUu7AsxufviuDW/aS6cfFWS8hqgPkS11rD1L87dJvVcMtt83Wb
dYabLad6tVh2g83V6675wuuRJS0MKgMasQStQwneogHjlWaSpsJgji/d9wu34BEeN9efNuolj9T4
SJ7m+0447/TSx9f/d3HJ3bKJ7ehs+mnwZ7H8PeY7WmJf5l6XPmgkwEQiM/cEviwD6Ch8tCr6mPAR
5nfCN8zFATHf8fn+zENp2GkH0uZFo4lAUmiQyUZEJp3YP83nB8O83YFutVb7Qg+U/YyUQHhR9va2
YPMGMLlklWNX6vAw9PZB6r32IVH/KfYU6l44Ly0RGMkImoMB5zWCyclCRlUcuHqM+q/5ckjUf/sc
TRwqH4IDFTDniyYFRN5DTKGUTFj6JJ93jp7P5i/Q7+ULUuVcUhAZE+iUF+ujh6pCKjVXSlb2edDf
TsdvBv9fqcPoSKHNtULm3LVGABnpIXmDRoSKrAjPNOPnFy/uMhcqukw9QRU5lzoKnIu0MRBVSElx
iWj/tSL9A1BLAwQUAAIACAAQrjhL+LUKm9YCAACYEgAAUwAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtc3RhdHVzLmFueS1zdGRl
cnIudHh0VVQJAAOfishZn4rIWXV4CwABBPUBAAAEFAAAAM2X32olNwzG7/sUc5U75ci2/C8QlmVJ
S6HtLuQBgmTLm9DTnEPOCd2+fTWF7nXBUMyAMcNg/BtJnz59+vzb4+dfHrZfHx4fP/70cLf9qNf2
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
VMDaSZ9TBsgpoiGrgmnlpEjNxfIHmhgdZWMKBI1CM3KG7KlBtITZsdc55HPQfHKWp9akTUoJRI/S
PlGWXKqMgah99ckbCo2O4AwXyx+xvEpBYFowxiqwqRHEllAyQLW6FAomnG7sw8XyB5rSZGKqIkqW
TAk2WAfZkggVI0ZrUqylnYPmk7N8UVQyxialqEr7pKIUpeYNKG+r92hClmb0Mc54sfwRyxetbMIA
SXvZJBlpllI1XkRaUXEJutjTlo8Xyx9oUivKuFBlc8QVbKsEKSopRqGyC9lLHnXnoPkfsPyfUEsD
BAoAAAAAABCuOEsAAAAAAAAAAAAAAAAuABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9ub3NuaWZmL1VUCQADoIrIWSaNyFl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAEK44
S80PIN+bAAAAxgAAAEgAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25v
c25pZmYvcGFyc2luZy1ub3NuaWZmLXN0ZGVyci50eHRVVAkAA5+KyFmfishZdXgLAAEE9QEAAAQU
AAAANY2xCsIwFAB3v+Jtmdp0LNmkBhGsHergGtNXEwhJyHu1+PcWsetx3HXDbRyuGno9jsezVnDy
E8TEEJKZgGzxmcEwCMeclZQhWRNcIlZt2zRyRrZOxkTRz7MsSGkpFmkn1ZIzFmsIa0OeBDzRmoVw
O8Q93l96DfzJSGAK/t4mhLTiBKvDCOJRdSkyRq7um6Xg3xbgCV7+jbE+fAFQSwMEFAACAAgAEK44
S3epp9euAAAA7AIAAD8AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25v
c25pZmYvc2NyaXB0LXN0ZGVyci50eHRVVAkAA6CKyFmgishZdXgLAAEE9QEAAAQUAAAA1c4xDoJA
EIXh3lNMY6hgiRUhMcYgGhORAgvbdRlkzWaXMIPA7UWjR6Cwf/nfl+TnIj+lkKVFsT2kMex0CdYx
GCdLINXqhkEyeDVzEwthnJKmdsRxFIWhqJBVLawjq6tKtEiuaxWSeFDQjB7cUMmOcAraXys7Zinw
2CCBbPFzJY1xPZbQ12jBu/qJs4yW/cu0iuEb90AT3PUTbbBIZkRv3rb1sFzth3/2/7F9NvoLUEsD
BBQAAgAIABCuOEvrzK7LswAAAPgCAABDABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9ub3NuaWZmL3N0eWxlc2hlZXQtc3RkZXJyLnR4dFVUCQADoIrIWaCKyFl1eAsAAQT1
AQAABBQAAADVz72qwkAUBOD+PsU0l1S6wUoCcpEYRTBarMVt1/XEDSxnQ87xJ2/vD76Chf0w8025
29rdpkJdWTtfVQUW7RGcFJ3rhSA6RJJApHCKLKh2hTExeRdDEi2m0zw3DakPhpNw2zSmJ0nn3pMY
LzLuhgwH8u78KOPEKK1Fva4r6NCRwPX0WnMxpisdcQ3EyP5HZWIl1tH+kSrwrs7QCk7thXj8U37c
/fcUzr5bf/ty/u9k+aELd1BLAwQKAAAAAABQrjhLAAAAAAAAAAAAAAAACgAcAGluc3BlY3Rvci9V
VAkAAxiLyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFCuOEsAAAAAAAAAAAAAAAASABwA
aW5zcGVjdG9yL3J1bnRpbWUvVVQJAAMYi8hZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABQ
rjhLgBgNpqcAAADSAAAAMwAcAGluc3BlY3Rvci9ydW50aW1lL0NvbW1hbmRMaW5lQVBJLWluc3Bl
Y3Qtc3RkZXJyLnR4dFVUCQADGIvIWRiLyFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qAR
ipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6h
WANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipB
Q/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQKAAAAAAAHrzhLAAAAAAAA
AAAAAAAAAwAcAGpzL1VUCQADbozIWSaNyFl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAoa44SwAA
AAAAAAAAAAAAAAcAHABqcy9kb20vVVQJAAOui8hZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CABhrjhLgBgNpqcAAADSAAAANQAcAGpzL2RvbS9jYWxsYmFjay1mdW5jdGlvbi13aXRoLWhhbmRs
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
tu+Qdd7Y+ebkddzeW1D2wff8+ceegRMDiiCQFpt/1MV9hYcD/kT98NEhZQ7IF1mewD7FtgRbQ23E
4m5Opr0Va1H7AkVFVY82SnmejZJC5pRu2cFzbgtRaZFXrDX8XDKS/Gk3+tqNrknuZ5hmHmNHZCQr
bMnh/8ZYwiOaqZqMM+7SrymJ1Sy54vJBdyml1NfkJuGU2L/J0wkMWee85lBfZpkVQAxEkd3x/Nfb
AZX4BcDKT1sBBkqb/hX3WXjL69Qaiqo2dDlhpt9FzZrhcDGmjNoRIw8P+bkfAvBFSSvCbJowajzs
GeV3AFac7cmjM+ihOcChNaTcZxq23i9zBNYgZS3AzfEJnae1huKYiwNrQIDv4I5ayMgyUjFKF6As
wJzKpxHl+CRmFhGHTAYKcvunZZHVCHfcdgDWySNfWAY+qlMUKocD6tJgDL1mxD8fKV4xVXJrqD4P
KF/ro/8DUEsDBAoAAAAAAFCvOEsAAAAAAAAAAAAAAAAIABwAcmV0cmllcy9VVAkAA/iMyFkmjchZ
dXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFCvOEsAAAAAAAAAAAAAAAARABwAcmV0cmllcy9pbXBv
cnRlZC9VVAkAA/iMyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFCvOEsAAAAAAAAAAAAA
AAAVABwAcmV0cmllcy9pbXBvcnRlZC93M2MvVVQJAAP4jMhZJo3IWXV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAABQrzhLAAAAAAAAAAAAAAAAKAAcAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9VVAkAA/iMyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFCvOEsAAAAA
AAAAAAAAAAAsABwAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9V
VAkAA/iMyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFGvOEsAAAAAAAAAAAAAAAAyABwA
cmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9VVAkAA/qM
yFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAFCvOEtqqpKkXQIAANAbAABTABwAcmV0cmll
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVh
dGVFbGVtZW50LWFjdHVhbC50eHRVVAkAA/iMyFn4jMhZdXgLAAEE9QEAAAQUAAAArZmxbtswEIZ3
PwWRqRlshOtBEJChQQqkTYF04FDAcGPZCWBThS0VXbgFfZgurd+hD1L0SRo3qEQFUXQfY4/2f9Tn
/47kkRq9P726MtebYlYVr1fFuvDVq9rPi8WtL+bH5tab8w9vL8y8vK73v5nRoN5B+fD4vl6tlCiN
1OmVw6MeLcrySEnQah2Qasa1BMICCoswytISLywwwwKM3z++6TEasSNa3R9EIJHcMbVidFFziBZB
wNPJJBEwS4RNEyHTRMA0EThNhJSFgKIQ5IYgO4T4ISgvLDEoMyw1e7kwFEEswurkBBXKyVMoZ6dv
Lp4Td8d+V1am8GW9vDGzzfLfd9ve500R3ZTQTV9OB1df6Vl++wj71l/EyDcJ6d8o+kif2SwI7P0Y
ArudTogKthuRCPt1vVJTNtphvFaazuW3hOy/WsXWiNPpSHpjuYrvEGkVSCgM8SCl57eUMo5Qpvog
pPvF4dNsA1PehmjTHkUkwm6/LNWUjXYYr5Umcq1n1Y0arBUPk0XaRLSzy0s1WaMdBmulyZZt/tx9
B6a1co1tkToR8NdP/7mu1ICxfBiwo04F3DHAHQLcvRxQjaZtnfVNsyVLrwVHTYuOmhZtAZaceS08
9JaGtGwG3FAZgHHf1xFHYrljasXogaAEABJYagLppgM49QZ4HxFIUx/AfUTQY3ysF/sPsORRhMMB
mv/7EEMS1Y1wOECXhYcgkrc4wuEAxTMyYlMGHMqoOTnxJQeW5MyNHNmREz8AySIj5ZuBys1IXsak
PMagPMaoPCYEYwIwJgiDXPuAFwO9bwXM6C9QSwMEFAACAAgAUK84S99FkIzvAQAAJBAAAFEAHABy
ZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50
LWNyZWF0ZUVsZW1lbnQtZGlmZi50eHRVVAkAA/iMyFn4jMhZdXgLAAEE9QEAAAQUAAAAzdNNTttA
GMbxPacYsQK5wyBRNl6FClCrUkBKVdhFE3sIlmxPNPMa0j3iMGwgd+hBqp6kJlB/oI77vFIWXaAI
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
ZxpteFBtC7deECbXXBtd6HMeeFAzYXINSegiH/HYa3K3CLNTT3c8HfvmCbMND3Zs49YHwuR6aSUy
RD/TUSNdcr2tEhmCH944GLLkejVma8jyqcg3TpWPvVNUGFWWUesFUXLNsTGEPuEDXPPxqk6q5Bp+
MEQ+47PX5G6RZaee8nk69s3TZRue89nGrReEyTXNxjAEK8taXwyODK7xB8MUKy4P6N3gyLA6pi+7
9nrwKoSFS8weviEcGVxTbQxb9Dpb5ZdbCXik3uQamTBlwctsNYEE14iFqQhfZasJLLjmVZhIcBrm
1CsrTK7k01TFJmLOIekKU+tYKuZ0TliYWjuSMaePysLkmlZh6sIXb2okinDlpqYhegGnRrDgSllN
s4GVIptAg+tmumkJH+atW2FwJR6mLXqo96A0hiV3bri3eyrDktsy5NtLnWFxJauWIn7Y1xnjsEYG
tbgyUwsJH/rdZ3e3KFTt3vDvkxugeQ5VWzMEvAVeL0iU68a7JXTe/zIkU2/tOGAt9pt645nFlcVa
Ih8OaAcuXAmtJXa5/5dB5hlvZcg+xoF7D/tm8dw/Pfo/UEsDBBQAAgAIAGivOEvwNEySmagJAJt2
MgAKABwAc3RhdHMuanNvblVUCQADJI3IWSSNyFl1eAsAAQT1AQAABBQAAACk/VuTI0uSHgj+FQqf
iRK3q7vvG6dJznClSfZ2NfdlhZKCCCAyUAcBRAOIzJM1wv++dnM3NXPTz5A9MsM4p6rLDXbRu36q
+n//+5/Hl/3X4XT99/+vf/d///vP/eVyvO2O//q1P39ef7p/vT+Ot+P1L++Pj3P4X9yO96/z4+7+
/f8n7H/4d2I2+j/8OzVMQv6Hfyen2f2Zh//1v//Dv/v3Lye3yGF3vv68vx/Pb2AFMa0rmHH0f6aw
QtjWy9fb2/F2v37dXo+7y/H7/nH6cdx9nve/Xvavf9z2j+PudHF7/Lye3b/737t+8r81TTbvdvC7
FTL81sfpz9PlO9ikJscUs/9SDiJv8/Xd39z543j7/sSlTbMhq4U/mqx1dQf68+FWcScCWxrEuogy
yv8hi3zub/uP3f3r48Od629fl9fH6XpBjzCsi7nDhocNi13vr6ezu9qrO9X+5+N6fbyjW5rzuaTf
n1STbj8muh2V9zLpyf818a4/99+Pu9f9xV3N7fFxPJz2iDLzMkaFPzotEogcU8psLLmQyZOL2Nzu
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
fEWfSLDrVqWr5Po/gTyTUlwszckjaxWItYb1dqVyNb+eDr9bPgrE0KsmUpPGO/C3/z1eRtxoqHy7
CvLzY8zshc8UhsRb+vq12DojeZGIhq3blVIJ1Em9fLh+5Mv1Vv0aH3/pEZpi38U7dcu7WeNRMlVS
mXY43gqLU2rGfmG8wDsfZS3oyCsjjBdjb1oU3F+/PF+vmMyEkxYm7J5cFVXsbgpKW7BbajoLXgEl
gSvL1rvrLfhhefpNd9fiYyJG/7LJ+XzdqJgz+Onh7V2JHH989/ly1VsfEs8/kasWQvRRTbhymf34
0sdJCQPRcwojElBid2aujq2B/U0BqD2JjShkEvjARIGczdm8cXZhfygu4luuVdEttlQtlPTW+8ef
k9ch+f3e7Zrwuj+fvj0+7u7tFdXwCczvHymXLO3foVtUkwURQ7f/t3SNeov3cwL6cv8h/e+RC5ET
5/56+XUvM8zSFrPdrx/4Grs4jy9ZmavjsoCkGEgyzKKzKaVJXz4+3OdPxn969/r87eVDzl/528PH
y3McIhcvkZSCfj3KURq/fL3if41nMf/PdK1X3sEzOe6b1TJ/9/5bbNtREFxP4tvl8/PLr+/SN9+l
bN7y1BojT/3Sy+NX5JYtqYdO9IDkYUJPb5llVyTRp/LtKVbe8WN0JRc0iPWlDUjCd//6lkA+PucN
Kjf0u3y3Xi+tr19JfmYwkJ8p4hvl+ruPeb2PDq1kNn28/JIa2X19fnh6m+Nqsl1F+s3i+d//8j//
+Id4w/8+36uZ4quk//h8//Lx3evLB+JQ0invsySB5oK2+BMyA66m+ofdLHl33aSrQp740hOJGtOA
Ux5wqTHZUaSs+OuhjHjnaAwmxKY0cFvkJ6rGBPILS8pNQa6dmFhAo/NjE576pT4g4kvWx/W4RfK+
XY3uL7Ho60PsnjNtViGr1KQPmDSV2HfzMlNKXRn79+nlijeXpc6iz3KfdlGQNvGj4/32+u3l5flz
1HFf7x9eyPIrdaWXShaWL7/eP325jx3q7qeim5fnKwKdfo5WcVfVmoK6V413P8nezShsXcyWdVBx
ezx8+OuvqVXO9U5KT4ZPV7X97WViS2dkoe5nvPJlmd2bgyEPuxto6kjKSEAoTPrpbrmfr6/mlPVP
llWyV9PGR/E0Np/pt5/uH0q9Q0R15fJfjxuDsrpkRCY+5b5Jbh+TGjVaeV9d+fTr1Th8ei4Rrutq
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
or5fLOOpOOZz4Up7n27W+wwktEQOlgIpJ6SeFSm/HCmXgWm0Pe+2T86S8n/iR068AVBLAwQUAAIA
CADarjhLHdGPJqMAAABPAgAAMQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy13b3Jr
ZXJzLXN0ZGVyci50eHRVVAkAAxuMyFkbjMhZdXgLAAEE9QEAAAQUAAAA7Y+xCsIwFEX3fsUb28Ug
ikI2bTuIitiCHSVN3hBI+0L6Uvx8a+nkFzg4Xjjncm9ZVbdKwoEZO8/ABMqMqtcICjR13iGjAR3D
QCERD3Kxw0EUipUom1o02J4ti5pi0PhJOQUUVzLRTZjtDb7QmFYMGEYMor5fLOOpOOZz4Up7n27W
+wwktEQOlgIpJ6SeFSm/HCmXgWm0Pe+2T86S8n/iR068AVBLAwQUAAIACADbrjhLbU2yna8AAAAB
CgAAKAAcAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWNvdW50LXN0ZGVyci50eHRVVAkAAx2MyFkd
jMhZdXgLAAEE9QEAAAQUAAAA7c/BCoJAEAbgu08xR720RFGwt0oPUREp5DHW3TkI6sg6Kz1+Jp46
9QBzHPj/n/myPL/nGg7M2PYMTGDcaDqLYMBS2zfI6MAGP5CP1JOa0OKgUsNGZWWhSqwuNauCgrf4
vU7kUd3IhWaK1Z3DNzpXqQH9iF4Vj2vNeE6Pp3lwZfs+3qz3CWioiBpYBrSeIsVc0fqno/XyYBzq
jnfbFydRJghBCEIQghCEIAQhiL8RH1BLAwQUAAIACADhrjhL1sOmDqQAAAAUAwAALQAcAHN0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LW11bHRpZW50cnktc3RkZXJyLnR4dFVUCQADJozIWSaMyFl1eAsA
AQT1AQAABBQAAADtj7EKwjAURfd+xRvbxSCKQjZtO4iK2IIdJU3eEEj7QvpS/Hxr6eTs6Hjh3sM9
ZVXdKgkHZuw8AxMoM6peIyjQ1HmHjAZ0DAOFRDzIxQ4HUShWomxq0WB7tixqikHjJ+UUUFzJRDfV
bG/whca0YsAwYhD1/WIZT8Uxn4Er7X26We8zkNASOVgAUk6Vep5I+bWRcjmYRtvzbvvkLCn/En+J
30m8AVBLAwQUAAIACADirjhLRmgb25kAAADFAAAALQAcAHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4
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
HN1a7GbuZx4KN9rauerdUS5f75SOi9V7llH7aqc9q9lZz+GUfubcSj1mOxXyo+qOZg/IzncigbCK
ZzXt5wmqatjaBzpc9wJhkyc+wylv7G+Z5DB0Uyi6MlSmOcNRBxo39Au4DBG1fVoNxamTGydf6tqE
w0WRGUdi6t5O6gNRM86clnWYfVaC1zBdlYhKw6muKWA/5II92OURdhTFNQ1tYQWGmkf58MAyZsbq
551DGq3hx2aJXR/+AaEP/YNagqoRJIKvjOe3N3se2bhOHrrre714vQ7TagBfwyga58/FgfN2adem
WYcXsXqGikrh1Y9XP0NlNmp82Qgoy1GiO2HdY6JZcweizE0c7PDEi48zl4DLg8iGQ7wBep4bRQti
ZL+Vo2FqqcL0wDKc99yUORg6ZqVB5TTlok7dRZwyYKyZ4btFjFsqJiDpPUM7uL49FKp5hUIiBiRn
h9lO6HdBCnEF8gun5DDd/dDB/HySOOl1GI95zB3hapP+jdv0K5LEn4RNu8wdsqrjA640iiP0NIrT
MHjb510yC+p5RrU7U7cUHq5k2FrZWoLwXht7DWMupodfWzG+gu21gbicu+TU4b8K7xQRbljmQOtX
89ZQxMDK80H7onYw4PiugQOG0uEBwGGay7QoorKj0WtvEGZFKTJtooPjDCyBy+bZ1avWddhXxlEU
e0/FhfHI1kxNvI33Qbrl6BrXPuF7parotfu2gPnz6XbIr+mxHeNwPYWL5Tuuq7/jOmfm66yzH9hY
T913yaZ6ifbk3wrjZma5dX6vv+NqIwm26xJsp7Gtx7CmksOTHJ7k8CSHJzm82+TwzsaXSR5I8kCS
B5I8kOSB/jc8kOnYV+GBCBJIHkjyQJIH+pQ80GkcwvmnGPm3XPJvuSQPJHkgyQNJHkjyQFfngeh2
FG+qFwDbMa3W2whpcs5x9wrb5t/JOf84V3f51tbuB5+Aa9NxRzvbCS59IxRFTnQjPFOkjxDzH1BL
AwQUAAIACADnrjhLeIS9WQoFAAD/LgAAUgAcAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24t
cGVuZGluZy12ZXJzaW9uLWNoYW5nZXMtZGVzY2VuZGluZy1wcml2YXRlLXN0ZGVyci50eHRVVAkA
AzKMyFkyjMhZdXgLAAEE9QEAAAQUAAAA7VrPc+o2EL5zyp/gI8y8NyPb8g+4BVOmHFoyTV7vxpaD
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
mgRrrmWGyUHsPux0nudoeVGMI19va7QInL4wiuNRGPR6faB3kkqvGv9L9WzyHCVwDaYMP4A2n+Bv
adxzPdlZi9qflW4QCJIauz0xjq9y5h160JbLWuaxXWMuNmRpQaOAjcXLk/IF6jLK2Ar93E4dETPl
1mWGmU4NCciy381r9KoQHEJ0glRlCK1mC8isVG5zo1KpZFK1fDF/IjMOK8S6hv7cG8IoPAzhtTUo
nZw1CDi/XDTG7GnjzDYvkLIGYvTfLIudEOgcWemCOPYTSM8VjVQOaDGGUX8QB73RcBTFRcJzKnq6
nHuxnu4LEnX9sppBFASda7Vc+T/8AlBLAwQUAAIACADJrjhLYDb0MlYAAACZAAAAQgAcAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXByaXZhdGUtc3RkZXJy
LnR4dFVUCQAD+YvIWfmLyFl1eAsAAQT1AQAABBQAAADzdHEKTi0qSy2yssovSM1zcQpKLSxNLS5x
TsxLTs3JSU3h8nRxcktMLskvqrSySknNSS1JdUksSUxKLE5V0FUQAEk75+flpSaXZObnheTDDCNe
JQ5rAVBLAwQUAAIACADJrjhLnTiQsxABAAAhAwAAOgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXN0ZGVyci50eHRVVAkAA/mLyFn5i8hZdXgLAAEE9QEA
AAQUAAAAlVLJboMwEL1z6if4CFIrAU2IwhGsSpxSNekHTOyhQSVjYpwul357XbK0EgbUAwfGb9Ob
KXi2Rv2GOk0l1miQg4EttMju2I33TNXhiAXPLtM07Y38gPnhx6Isy3m0WCbRLAws099DRQFzCOyA
ZI28M5uGnf9XDWowlaLW5trsUCMD+0X3SbKMwjiesQZJVvTi/U/qUTUNSgbE1GV8y0i9MzPmMZU6
P2qNZK5OIwQLKZXenxmnVq68bgfF74ZsRuLZE1qR1uRAAusapefLrVP7tNAMxKsNvTZKo6sdt2hn
PRxbVpL31f9EFbVqsUd0+X9NXNQ8xu6iLOABhPX5dJ6qfc4VEYqf4jZq5KgHkAPlfgNQSwMEFAAC
AAgAya44SwgjJuWtBwAAvT0AADkAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5k
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
Z11U/D9wcECjLW+8K3W1Mj35/uQmWrPVkSRLCy3faZzUuRwn5zqBubb0bpBnGbkgK0a3DFCpOtY6
HwEpuWOMDtrV/hs6NmG6A8+qVno0RAlQ7ebCqH5sr/ygCfSmC3ikK+5620LMJnnZQgzHLSL4lyyg
g7i9x+Fhrf9MqBsyV9dYTlGDl8a7wphYulIHQfP07Phs7t4vYgzEaek1bPM9lbOp+YsKuq9loGvp
WnMqPJJdnaBv4yUo19LyY5CKaOf9XOfT0YIIQD19V0mV6/sHUEsDBBQAAgAIANCuOEs+BZSBORIA
AEf5AgBMABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmN1cnNvci1jb250aW51ZS1wcmlt
YXJ5LWtleS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADCIzIWQiMyFl1eAsAAQT1AQAABBQAAADt
nUtz2zgWRve98k/g0q5KqvSW7F3HjmdcU9NyJenZyxKdaCKTHkpOOpv57U3qSYokCJDg+6QqC0sA
CF7gAiD13XMf7j58Np0fpnNzY7+a1t2HT+b/3sz15nZmzc3Vylz89pBY4k9r6X7ilrubbWZPs7V5
c/P/0GeXV8Zl56/x8/PzsDu+HvW7nSvjwmv8fjbf2M6vm5uFuTI35qG88X739a1tWeZ8s7StL/ah
H9ElBd9G9DCpg93BtoOXL7OldWVENPBtZi1W5t32YsnF9n9PX01n5t3M2u3Xl2+mYxoz93+3Pxpd
dzu93sBwTbxYWl9/U2vq0X59NRfGzDLsw8fvDMv+aWxE10jq9e2b45jW5nglQQW3yLPtvOxr7Kxy
rLcdg8vFU2TN3XB9mM2/u1367E4FkTUXy8VduLxv8Ocre22GKmacopFz8NCT4zXcglO/g9zcOHtP
sV9evZKLiCK2FWzl89t8bq7XblfeG/OdMQ33emvPisu14c7KcX8wHHV61+Pr/shr8NjUYrl+nW3m
3z7+8Cq5JvffzbDf6VwF3M1z5rib2zq6z4GMywvXNoPxqNsbD65Hk6vQqiAwdKKnDbd2jqjpb/nU
TV3ONujk72y+a+TmbN6MOrma37K9sTvmcX7nGdfvRduaHe/fxJ1k115NkRtOz6prGZXOZNLvlWix
4fxZeN/rzczZ/GfnjrduJ76aX5yZtZ7t5mWowmnOuguTY842ZlzdrZO997v3cDjsxY7dk/l1afmq
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
KTuyMnpQ7aMvCqxJ7S3KQTcVjXarXMQtauPaB5C2PNip4ADSqgX36hj9PAPRarDAEAjHily012s6
BLMig1vIY2ya+nBSNqspJYdJYXmuqtekYxWUddQpb+9oHh1OO2WihAjlyqG7Wh4yXViRoHyIxwAI
EFgDa2AN8BHgI8BHgI8AHwE+AnwE+AjwEeAjwEeAjwAfAT4CfAT4CPAR4COagY9IfQbOFzsBPgJ8
BPgICAlUBB8BPgJ8BPgI8BHgI8BHgI+gAfARNcRHaBdkK/EoUkRrv8rqtjOr5kM21ZeLTub+FCIa
4npaw1EFQEHrVURz5B+hT9h80UGaYFLqDJApN6eyzqTJ+iPuc+DTZM36i1NgGSyDZbAMlmmgZfII
/23GQ0HzQ5JpnmjzOkebE9bOixOsgTWwBtbAGlgDawCAaAgAwq/1t18DZSbDXneU1OHJsDuaKF3a
iyPtCKOrDga9nVlzc7UyF+qlA6O3v7OLku83tk/1v7U8h7LE26qNRRs69G1zjNp0VNNSVuD4xlYO
fLG0NqZjzVZbYEOYQZTEcch9RKRhD+nHpG0HguqsX2x0hQ1jDWZDte60csfmvwFQSwMEFAACAAgA
0q44SzytWVcRFAAAwmMDAEQAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiY3Vyc29yLWNv
bnRpbnVlLXByaW1hcnkta2V5LTEtc3RkZXJyLnR4dFVUCQADC4zIWQuMyFl1eAsAAQT1AQAABBQA
AADtndtv28gVh4E+5sl/ArEvawMJoLvkvCV20hrb1m6S3T7LEp2wkUmXkpP1S//2DkldSPE2Qw4p
UvoKLAorw8PhOXPj8Dffubl+/9l0f5ju27fz6Wp6P12aV45tm7OV5dh3pj237K9XC2dpGm+M7qAz
7g+Go07vcjLs9l79blv/fTZvrt9fx658+3aWaOWj6zxeLSzTXgl7Z3s2B4PJq5tdfZwn075+/8kU
91iurqb2zFwszHn8rmklvTtgD3vYq9He+ePUsi+MhIt2A4I/Esz3hoLz0EgwHvV7FxmmpveOu/ri
Tu3l1Dco+STn8/tEc0+m++C4j++SrKo9/T/MR8d9EaXfT2ffxZj3eeW4EvWNj7yBixLG3OAOYfMh
u+s7nV/IDs2JkYgPyimP5Yqff5i39/8RxvyfPjruH6a79Ax/m9pfTd+jmprE+FI0iaAioTsK35kL
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
4aN8B3u5DaMgTLduQBgCnRKvfTn+cjRJv3IjtHCJK5AXPOGQNKPJU1W276DtZrMf2WubTk162Mfk
wVCyxTwJtpBTlTb6pDqAVhjyD3wckt43OkSLss22PvBdPuAEQohRfgb6U9QrmkY1rX4S0z8cCFxN
VcgbfJB53NJ8+tBUTqoDlPk6MYZcjlyOXM5HX07zbfiWZa/91nteboWb7uy+oKPtdqo5eIuNdtmn
yD5FoqVcjlyOXI7sNGSnITsN2WnITkOCv1yOXM4rL0eW+09d7oP12o3Lx5ueXM+bkHHxIbLD5dZ2
GFUtSn0G9WVNvKRLFb1hpLpm0cn1rOVgTuI1H2LiduoWcobJtok1WiUOS0r50OdQUawXn94UJCMr
DKikYkQyU+tjDs0spF61Qcf8yk1O3WQ5+f7ONFasUtilLq86FhiTfTi0RIKz09d1GZwTVrzH1ARE
nTlOcrIdPj5iFAtdEQhOVboZcBOQJUfGzzwPSm/EO0p4TSgKxTVinIhNvL97cuBsFeOwdOI2jSJS
H0tvJGGaQJhsrBmM9yXpmsJKNuzDyBZ39cqYA1G/5SFbDgJcuT6Y46ckL0A29wT7+0pHwcuAkviG
FqD7I/B1L5yqFVx8lU5Tu4tKHvPwfV2pEYhl5YE1EJdJAbs3SYuPEqaFl1C9WsCKuxTQIBNNxykH
K26SdyHUNAuEhuoDqjOF7xB5DwX+kA48LYm7WldXxkvERYwofyF2ZpmWb50KnRjRrkvE/DfGVIo7
gaF3cSvPtCq38mCgy1t5za7fR1rl+h0GDr0n0IhnE/S5fmmQNXuQ/roa3N1e7V/zEu1NH0ftqkOW
eCTx6K3wqKNnLyWaSTSTaCbR7BN2Vwce25doJtFMoplEM4lmEs0kmkk0k2gmecord1kdZHWQ1UFW
B4nksieXqCtRV6LuB9z9kcjznyEP9wee6N9LrOoRxcGG+QAq9wvXj3Ho2x55lpd+rp39iG87DYs/
u0K02D+MZhmaalZ+LIT6BU/LUE2LGxfCXwIts17bzwtMxqc791blaEpzOenPah79C1BLAwQUAAIA
CADUrjhLOQXj8SMGAABwPQAARQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJpbmRleC1w
cm9wZXJ0aWVzLWJhc2ljLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADEIzIWRCMyFl1eAsAAQT1AQAA
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
d9ofF4HZsJZqB63m3d3XxIvD5fevJr95PS/aFlwdep19ZE5Zz/uJydYyVXh8q+r4qtKb+PFC+Uyb
73POWNVqF+YWAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAVBWb+tvz4x7jY4rMl
S9VXHNP5uJ+noE6dOnXq1KlTp06dOnXq1KlTp06dOnXq1KlTp06dOnXq1KuhvuDrGH9Gf4++SdH/
EK/xLY12NPxUwqdm/G3uZyvW++eo1e0tfJ5muz1VYErg5R/TsFrzwELmTOc9cwCc18S2tDrCODtS
rhBfFw6vec1rXvOa17zmNa95zWte85rXvOY1r3nNa17zmte85jWvl3hti5k6derUqVOnTp06derU
K62+zr1rG55WnLxljTx58uTJkydPnjz5rOUX38s7eW+1IoooUq4i2V6x/XHOJ6k/RUky6g+urrrx
5x+tVtTvb3jf9lig3ek/NAet7+9+Jv9Se1N7Pf1MZ/Ou2HY9N4F9C6Q8HbHy91cen9jiAaeMl/+8
Uye85jWvec1rXvOa17zmNa95zWte85rXvOY1r3nNa17zmte85jWveb2517bbCRAgQIAAAQIECBAg
QIAAAQIECBAgQGB9AevnvK6217JAOHkoxSWnqoDA2jlovXdCN7iuVtUQIECgRAI+cEmdOnXq1KlT
p06dOnXq1KlTp06dOnXq1KlTL4X6GsdNwKNOnTp16tSpU6dOnTp16tSpU6dOnTr1cqu7Q5c8efL7
lE/5qjO25MmTJ0+ePPnc5H9/P7k1vup+xd30x9Gcu+mHjzTnBedPUfJU/cHVVTf+/KPVivr9Gcvu
889djx8gvr7rRPFg0RvSE7+liCKKKBJ+kXEmbHf6D81B6/u7n0mKq72pvZ5OrmdzkutDFLc78bdV
ifmkMc/WpzcIECBAgAABAgQI+KDpPj5oms+XMH2jmNe85jWvec1rXvOa17zmNa95zWte85rXvOY1
r3nNa17zmte85jWvec1rXvOa17zmNa95zWte85rXvOY1r3nNa17zmte85jWvec3ranmd+pXNDV6J
3OrVzgVcy/su62+34q3xHunWoZP+ddstHjDD2Cvu+7prkl9Ys9sHRlY1v9sXrQuadXaf7b0hX9YW
5/MOBAgQ2N+3UgIfvBEgQIBAiQSKOzouTX9Y1Cm1RVleh+71lmlLLFRwgT499xQJfx/haqksv540
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
jwYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEG
GmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpo
oIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCB
BhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYa
aKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmig
gQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEG
GmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpo
oIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCB
BhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYa
aKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmig
gQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEGGmiggQYaaKCBBhpooIEG
GmiggQYaaKCBBhpooIEGGmiggQYaudO474ye4G1z0Pza7EdXV786d3fXo79PFK29Hha67sZxNPrv
L91H70eOxWMHrptxK7q7i9qbl355gP6g+5C43jipnx+fnJ7Vjy5Ojxpn02Vad91+9FuhxtnFop9t
Pxm+/NvHR2rXQ51p6fvm31+j0d8/PFXx779zVJ8B+fTMr1/9P1BLAwQUAAIACADXrjhLcP02PVUU
AACv3gcAOQAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJrZXktYXJyYXktZXF1YWxpdHkt
c3RkZXJyLnR4dFVUCQADFYzIWRWMyFl1eAsAAQT1AQAABBQAAADt3V1z2lieB+D7vvJH4G7squkq
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
dMLPPxqNoNfbcE3CVbcyNdEk3mSywzVbvad6v/Ht3c9oT4pOgc6m9+GrectWWvJSgAABAgQIECBA
gAABAgQIECDg1ALcbHQTlytXrly5cuXKlStXrlxPc9nDpd+nudufue7d1aU8AQIECBAgQIAAAQIE
CBCw14BsPkNmdlvp0qVLly5dunTp0qVLly5dunTp0qVLly5dunTp0qVLly5deq7Tk3sm41gUknsW
Klc7wrrPwqS+IXZ6qsbBL126dOnSpUuXLl269FVNLAgkXrx48ftehMyKTQIECBAgQIAAAQIE7BRg
ykZTYXLlypUrV65cuXLlypUrV65cuXLl6kKjHZ4rV65cuXLlypUrV65cuXLlypUrV65cuXLlynV9
15V3l8CnBr/b8wU2jJ6G675vxXusSYAAAQIECBAgwHPTvjRw5cqVK1euXLly5co1OdeVX5rWhU/r
rlPOL6snuG/5Ci9AgAABAgQIECAgrYB5vx+sCKHJCTax2pR06dKlS5cuXbp06dKlS5cufY0bnRs+
38hYunTp0qVLly5dunTp0qVLly5dunTp0qVLly5dunTp0qVnNn1xk8F4+1ePW6/3soXzRr3dvq83
vl+IF79lfFJTODBeEm9+C/OGcOXKlStXrly5cuXKlStXrly5cl3L1YVG8eLFixcvXrx48eLFixcv
Xrx48eIzEW9WbU000UQTTTTRJGtNpk5gGp3Hp8H91ObdU9CtD+taj0H3fasbRCc1xb+uHx4eqqXr
2+plULyYqY4lx1da+RREp0y9/ps3nfDzj0Yj6PVmKjvjl6tN3kBYa7eCsJ/3pSknOM1W76neb3x7
9zP61FH92bT31RzvpyBsRi++altVSvNqLQskQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAA
AZsEmAhUunTp0qVLly5dunTp0qVLly5dunTp0qVLly5deg7T15wql6B06dKlS5cuXbp06dKlS5d+
iPSszw6Vick7DzWHUwa3x9FopLEq0/bC1smy/lharrvPtXfCS5Xttz8zo+PBDsoNN3RyE0Bm+Gxg
gx5m/b9pif6FPeiZYbY6BmeGzpNp0KBBgwYNGjTyc11umy+H68Cm8wUyya/FGV5TwJU9V0z34pry
d3mbzeHAlStXrly5ZumWZULb2KK+4uP3ro7geoUFG402c42PBg0aNGjQyL7GtmNSN1E7wkGquTnh
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
JQ0aNGjQoEGDBg0aNGjQoEGDBg0aNGjQWKyRxuODhxPO84OLe9l71n3gMf2RLXs8pNe48aIP9BeB
Bg0aNGjQoEGDBg0aNGjQoEGDxrrXY01OZ9I/rly5cuXKlStXrly5cuXKlWsGXde5spVJ+50vtx1i
5YHjnssqvXUT9Bh6Yq5cuXLlypUrV65cuXLlypUrV65cuXLlypUrV65cuXLlypUrV645dk1jmJKN
YOfmypUrV65cuXLlypUrV65cuW7m6umz2IZO+bk9x6fjkytXrly5cuXKlStXrly5cuXadFnHZnM4
cOXK1RjZXE1EKF68ePHixYsXL168ePHixYsXL168ePHixYsfxe93dfFaJwyDYemXzmgVqamlpTTR
RBNNNNFEE000OZImU+eEjcmamivOCi+DOWeU81Ya3XlRz/2e5dKgQYMGDRo0aNCgQYMGDRo0aNCg
QYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMG
DRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0
aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRo0aNCgQYMGDRrzNR5bw3fwtt6v39d7
wZs3v1rtdm3481jTwtlMba/feRq8w8Evap0wDIY//9IZsQw/cTj5ZLV62Aja7aA5/VrPGaVK8fqy
Ur0qlm+q5dLVdJtGu9MLXjUqXd0setnmc+HL7z6OgGqDnOnox/rf98Hw5x+et+br1ykXN/x4/w9Q
SwMEFAACAAgA1644S+ql6PMCCAAAI4IAAEIAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRi
b2JqZWN0c3RvcmUtY2xlYXItMS1wcml2YXRlLXN0ZGVyci50eHRVVAkAAxaMyFkWjMhZdXgLAAEE
9QEAAAQUAAAA7R1Lc5s4+J5TfgJHe2Y7A/iFc0tw0/V0t8426d4xyA5bDF6Bk+ayv30F2CDQCwx2
7Fid6cGg76HvLfFJmU7uHgF8AfDmJlgDf3L3Hfy7AWFkWr4NPA84Vz98Fz2ZTu4mVmTNrRCwRiqf
lOuraY7P2Y43A98HduQG/gPwHddfml4QAjRa66ujXn8wVPWxMdB0klIOeXNjU7Hcw2Blei7wo5h6
CWe/b+D8tDK/zspy/a5CAcoZTDhzSqx1MM5Gw57e5aCy5gGMnqDlh1aCMKXszKmD1wAuAri6pcGg
gdijmMfV2gMRcGYIyoqfPbkrAO9diKbXUX+NFovFQBuNBz2gdq8e//rDjWJid5b9E0n8MQogi7sy
pXWqJBGdvoboULhcudHMTxUXv84N4SnYqTMdhQHiuiZfEpKjkORqt4RQYA2O6zxwFEOBcP2X4CfI
BHbrOxhQIr4Oz2YCDmAi94J4YgslkDBNLHzeRE7w6t8HMLHtGNU9wh/ANzRTEFvUbvDOGGgao4/k
vKWwQjzqdHGDGiIv63IV82z5jgcmCTHxsO3vTCsh4uvpGUCgWOi/1hsOx5qq631la+9X9VA9BOs1
8gjLVzL1/ab4wasS8WiIuDY3EKKwk1HiAGyDxxYilUoGxw07qbrwyECb+38iffU0gb6QI01IUmJb
bsAMy3x3nGQ00MAZnipubuA2Z+ziLGVI4BexPG5sG4QhYuWTYqd6UBC9MFaAG+IJbTTuDWOEGSrH
DddWZD9/fsmyDB7D1TS2Zp4apzXW5JKUh/me0rlGsumPhpo+6o+HRpfIpBxBC510kMiZlXmJ7N+W
n/bVw/spRuNgfhpbVO6luGT1EdI5y2Vj4eJelECq8T8DGdlY7fLdcFYCb0UrqmH09HeU2MBecOcd
RhaM/k7d0URMLAG3qChUrBBYEWDBkvXqYDDQmbqbg6XrY+BTXxR6K9UTf4IVCg1EiVem1qjuaMVM
BsO+kZkJO0DP8MhULTzn7GA/EAdmrD5ETdmtY5C+Xt3oOQvOhYLeUJV8AaDkcTOxNRt5WE/TLMcY
jbVBr3tV3cQopXXx966MIrLMj/USWg74BoADnCrZxRjpKKiBV8rzPbIOVjonfjCb/4OEk8adTyi7
KNeUwr88MplY/hN59SaawVvHIUC3mn3A3kvAjwHY3rqybF7CJSbNHhssqPGqlUAtWKAS4zlrVXIs
f+/AJAAYeYHmypYTK0SZPe7i43SiaHpP6w9QOY1qahQat+hwXIXJIRTfwCuGNstMPJDPv9wwDtAk
3wVTe4VuhMM+xuGWm5bytbvZVEtKx7Y8b45m0eUXC4imSbM2Rp4z27fMAjSNBO4thcFZCZDl1Zmf
7ny16r67mCHyWmZskQguFgHxjO/H2TDO+oKHXRBvH2pywYjGS+DHbgS+grdvm9UcSaICuwxc6XbO
97j6pM6IElhxkFoToWEBdgCdBvyjfLDFUZH7HOCwptAe9qpGVdlaKpiCQO0ifQqVxVWMnLCc8Aeb
8OWkouaaqJwM2Mpi5wKOAvfPZZhhH1ZZMgCc64SPXw5UWefWl3O1eeDL30MGBMpM6jMo0Uv0+6Fn
79Pg+5gXOaTdPakHytIf++Sx/ZRec4Oq6oeNIW1Pqlmbk5SGlIaUhpSGlIaUxl7SqLAAltIqSavB
3k0DWZ5ECSptQdB0XuxceXU9zyQav69bluSFtMoLWhCoQKw2BM5gZsdACtTpVukRuHd9N3yu2iRA
5aaKEGt1B9CoFBsIR6pq7N0JyOk1oFkP0S1AcR8q19eMMSiSlA9KkI62cOM2hF3cOL2uxJJUsADW
biM25mzkWSp1mDbsUdXJPZNVRL2y3uYgeT7dxpcyHb1fnU56KIrSqRjr9DOEAbxdRAAW+iC3ika/
k/7F6zo96EfrJD/hE28sLezPCfVoG8lDO6fkRmO92ySe1exYZYS/NBf8HlsH0gGzFfy0YtFhjjcU
abxDs75qqI0sorZaucfZ9mo3J/q0s/M/rTWjj/r9ms3oe9ejJ5eB9+5Sjzj1Db3jvjAE0bTmHrIo
US2eDSwVVFROECm0vopdE/18AUrErY4CTuP8EkSsXusvIMpXuBLoDIFsD1iQBWbGL0udwlxj5JYC
NAhKEdDTVVqcBj56sgFtnYb+OJGLcxdA7PlWYXXa0tkv0YUCQsJVD4+9Yyv/aekSuxTgYFrl7zsg
Dnakp1UPc57WCb9E54LNiGQMsc9Qhmz51orlLjyLKoAlHsclColCiMIupXDhfi8n5edU+JEiH8f2
7gLHJAFBgvlSmxNmd1rE/n7zYnkbcB/Ar+DtCDNpyuHBdSIJ7KVXKcs6BIj4I/gYUh7O2T6sPjQv
tmoHmrqtg40IsEudgvlVGdPu590vtMSV7a+E8dtw40WInQhu7GiD8Jpe4IPLbic5G6k1TqbHyomH
WeWfUXhoZqAyuMjg0lxqR/N2SejsCRE7zqw2Hvo4+tb2sXz2/DOGJNAKAbPZIqZWbxdlv+Y0kv4J
jGlfOLIWkVKTUpNSk1KTUqN0MnM+thxbKrLd5QMDyS/PEsUJoriID8Xy+6kk8HEINCiA5N6lJCQJ
HZ6Q3JOVBCSBs+qmueQxx9yIkvtyUhxSHFIcUhxSHFIcUhxSHPKGKnlDlbyhqs2/fX3ME6qne1+W
8IYq5oVUu6BnWr4NPA+Qi8QwCta821LYaPC/hJngyA3GGOjaUHThlTHQhsYRLryK70lS97nw6p3E
UX9idIX+D1BLAwQUAAIACADYrjhLD34Soq4HAAC+ggAAOgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi9pZGJvYmplY3RzdG9yZS1jbGVhci0xLXN0ZGVyci50eHRVVAkAAxeMyFkXjMhZdXgLAAEE
9QEAAAQUAAAA7V1Lc5tIEL77pJ/ALVJVXMUbpJstx1nVbkXe2Nk7gpHMGoEWkL2+7G/fAcR7ZgAJ
ybLdqUqlQDPdzddPZnrI7Ob6HvnPyJ9MvA1yb65/on+2KAinhmsix0HWxS/XxndmN9c3RmgsjADR
RnKX3OBidjx61m781HNdZIa2594h17Ld1dTxAoRHCzKvSbKi8uJYVwSxzimfOZmYRCq3vreeOjZy
w4h7haYs62x5YhLW/pIk8xtlGK4N2x1xBCAbSA0LlDRtLI5IyrDdZ+8JzTfINyJCV6714BtuYMRk
H+w18oej3tVMfySPIcit7WNO9LmPhms5KL3OHinALB8ekY84A/8VJFUd84oq69wmsYTo6W4xG89/
xVpGDgozGqlN5vp78DJ7II5k/EqQuHZrOOKG/L/acrlUBG2sYgWOmHDtHjlm1gsyAi+KcoZMN1J3
3maDFWy4XKbFr5zrvXAhi0eT1NOt72OLzjgxJuAhS89f72YkqGTzEsOzFsSZibquDfMJi3SPTQFd
3P/5hx1Go4p3J5MVCuf+twBPdOzgMaUwc5ceZpDGCMyJMr3OiItv4StuaTuI+zL4wmFhLTt4Yjyp
ZVs3dZEL9mdGAaE2kaTQ/5qMUBJiI6S5QSpJxgMPnBddfzLxdzHAW2+ikRZhiOeWqdxvTRMFARbl
kjMTfXKYXxAp0g6KMVIbS2pEMCOFodsYofn47TkLhPnTKBLPj0oeH4Up2sPFIazgw9xwgLGRNVUQ
NXms6vXIyAC60dmVGGdaJK2lkr78XeaP7+8FHkfz98iicm8vIitqWOc014/ALfljNJPHfwRFR9oY
zzwwEjC9eF7h3k9603VJfEPAFXMZAU4lgzHzw78Sb55iIVaokOobqicfGSGiza1XUIqiiFTVL9DK
dgvTZ2VV7FstUeylyo1ZXCSW0TGm5nIWLjCbaQRalGFyq+Re7PAxi6jFcKrqPJcXllwe7GINmzyv
S4JgWLo2FhRpdNFescnTFm7EYhIAqaWGX5uVb1joB0IWstqkBF0TcSRCL4T751d7dkxchfI/9oX5
4m+sqiR0XeIExQ1GNZxrI2OY80vs2VsczK4sqzZ1Z2d3hd9h4seYWPp9Z5CZ5eZWX7JCWeBbmNfc
TQIZLbwR7bFMMo1rTQJJiC9VYXXSNW9tcA3G+3Z9LCWzpImyNoGSG0iubFiRQrj5fRqtZzecIEqC
rEiiPBZkCde9zNrijiZER0S4oWk4zgILPGInZ8xzStIsJcNN+7eC0mwSi6JllgZnwT/LqHM3WUvp
1VVS/2zyEKofA4FPS6B2j+3H2TBGPc+i3hDb7jpKQX2LciM3Qr+j1x/b9QIjsae4xwUDqAN1FnXm
ct/P6E0IZ3Q//nfwlfPihMQFcXYt5HRREfUGUsj0/GgR/Qm9sigJikqlhAuLtmREmedbB4LWHg5g
AVgAFoAFYAFYABaABWAlYLVYzOn41lVcugHyQP4zkqcvQBYXw2EIeUi/67F3hGWvwkbfruuj4+Js
2w00lbQee8i2B6ABaAAagAagAWgAGoDG8dFY22G5B+jFdpxpfJ/daXUYkodL3dgRUn2GUk9H7ceG
DoYEKNbBiSpirObwtJmDOInW0MEe3E3cQi8HkWwbNDo1cZC4lPsqNZ7XDzlOQmsJIZlBramD4AdE
qQeUMTgkLDy/wWOWdtQtkgaA82sbrKBSiET9trcXvKZ+8IpXNZGqTuYBrjLptfG6QPH92S5QVPmI
cns+yWkoQitppNNvvu/5V8sQ+aVG1Z2i8XXcYDro0tl/sv58OB53rsfjOjbxUsLfre3aweNvkXVg
HVA75M8rFh3n0EiZxxucYeB1vpcDk63V2v95gFojfXaqqrfTAposdzwtsHdh+XEa90NGfUM+ElEa
gtIzR01FdTawUlARJcGs8ItS5Jr48hlxIbM68hhnCVYopLWff0dhsiUGk97pJNNBhk+bNo1+rDR0
M42RWQqQZhCKAEnkSXEaufjOFjW+K7WP6B8kctEpxp5vhKj/I3ENr9ZXjYy7nKl7L3Dnr/VXRwOe
vTSAJUhZz9oeQ32jZEupiu6jE4cN6wXxmNpSQHUmIckdsuy1SiNoU5JeFUMtkAASjSTMSpZtXFtl
ZOWcCztS5OPo3l2SuM6gIQd87ywJ/Vx+qe2qsRtMkjT1jB6rjSS9Pvpn0lafSmgN0dv4GzCgMKjF
w4b9k+pwxopj+6F58dfZlbr2zp03A3ptV3Kgvsb0u7/8nZTNs3WhIPo12DohFif0t2a4xXSnjuei
z70rD6gBakdBrd8ao216/whcj55G2j5WN0l6BeHo2fHMLWqP5z+loLXFZVrrTWUcloHGVpZ1Hmq0
fhhMD6uqO/UnERY0TllDnsEYEgRQbkCRBqgBaoAaoAaonQNqU8ZOzalRgXaWDzwJtq2BxBmSgF3m
k+9bHr7O1iDJWyy5wXYsMOjO4IBaDrZVP9LmBnAFrn12S53y1Xqvt0PY0gAG7yNHnXBp55PtEL1Z
1xOsjQIcAAfAAXAAHAAHwAHfr4LvV32s71e9l8Ox5/s1rcbvV1E/V1X/r+ertILQ27C+pbIHmeL/
cBrfzS1JV0RBbfpOlq4Iqn6C72RFn1fi9/lOVm8P2I+oFBX9D1BLAwQUAAIACADYrjhLsiPTvvoI
AABMrgAAQgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jbGVhci0y
LXByaXZhdGUtc3RkZXJyLnR4dFVUCQADF4zIWReMyFl1eAsAAQT1AQAABBQAAADtXUtzozgQvueU
n8DRrtqpAj9xbg6ZzLqmdpyaZPaOQXHYweAVOJm57G9fAeZl9AADfnaqcjC0uluf+iFES8we7p8R
fkf47s5dI+fh/jv6d4M8X9MdA9k2Mm9+OBa5Mnu4f9B9faF7iEUpfZJub2bt8TO39JrrOMjwLdd5
Qo5pOUvNdj1EqJWBPO4PhiO5N1GHSq8oKW15d2dQuTxid6XZFnL8QPoOz8FA5esTsjD31yRqL9Sh
s9ItpytRgBSw6mQ4jceTXpc2GJbz7v5E8zXCesBo6pgvWHc8PWT7Yq0Q7nQbH2Z2l1yOIo8WJpIy
uhhBrwtMbjrmgsrbe9v4pvvhPLo4xIum9H+Fa52u1JF/jV9fX4fKeDLqK3I3MtRHopqLfxPLQDby
UUwf23E65i9uYkNUSs5dioYiBcmgd7kQv+mOaaOHUJiYbPs7MRCP6PXyhjCSdPKv9EejiSL3egNp
HfnVTTVWT+56TYxCd6Rk5P+QHPdD8nkyRFprG4yJFySSOA0IyauLV9sWESpJu8hYGeYUDde9bvwk
Kj0TU+ChaVrmQ5FebMv1TJRqg7EmiQxCOM/66t0d3jqtu1oHlCaFxHXyXJ43hoE8j6jySTIiMCUi
zwtQtLxsUBtP+qOAYcLKtLy17htvn9+TyJX2ZtiX5W7O3YK4wupcGHMyDiR1bgk2g/FI6Y0Hk5Fa
DGUcoIWeNgxxZoW+QuxvytkGcvvOlpHRmrMFFpW6WhbZ3piMOcvvAnCzXhS2lIM/lRjZJGjJc8P5
TvNGRkVW1X7viIgNjVduvz1fx/7fkTtqRIklyiRXwXwFI91HrLbFOctwOOwxx26BlpaTaT7LD8Vf
aEVcnLTIXi222nseU2fe0YiZDEcDNTETdoCeZyNTufCcqpP5QTTQguEj0qR4/krG68Py35LgnI3M
I1WW0kmllMbN0NYM4mF9RdFNdTxRhv3uTXkTi9JR5kKo5o4dUbPMj/US6yb6hpCJzDLZRR33SFBD
H5Tre2SdzGQ79IP54h8CThR3PpHsIt12Cz0rUIYdS38Sr974czw1zULT7cg+Ze5Dw8tomLu/DQFJ
rEjjTM4KB4pcwrzmThQ6WAGFao95lnEkESnUR3JuClVkXYiPAtfgPN0WaRlZJU6ShQaMfEJzZd0M
BkSaP8fxcfYgKb2+MhiS6TSZU5PQuGWX5ZXrHGHxDX1k2JKMI27y+ZflBQG6qHfO1D6w5WfbPgfh
lpuWSB55YgFTcZSkjqHb9oL0osufLBCZGs3aGHlOa94yc61pIrLekiNOpgBJXp070WpKo+4bxwyR
1zJjCzC4WgaFa3w/Tsg4zxc87oJ4+1RRC0Y0XiIncCP0Ff3+tlktCBIMwmjB5XswtaRFyHK3keFi
piokHOcIcgzSm2cGZwl1SyBO65FgFCp1pMZgle4gYzzb9ayyw3457gEdvvAOX08qai92totXg+Gr
xANGRfizjxPA/njs2Q9m2YWLUyJp9tnwiTIFzyw9bl9pVXxQLLvAOKI9G9ZZFgI0ThuNmhkbwATT
Ons0DjPPrpQ2S08Fq+fX9qfxkDUv0HyvYJ3sgNNXMP6GjL9x820iTFdfbgQLOnL4hGAEpkQ3pZXl
52tuPizb1sLr/FqiekjW11pYgbHbh1wNReGm4O18BBRvW8AuYrwy5rh4gtqIVUDBIWbWOkSNOt0y
1Q2PlmN5b2XLG6jalAGxUl0DTUq+9HEsy2qdPRasKgma9RTqHCjuQ9X6lkFDIsnCxQJHe7WCAoo4
bpxePeUOKpkA1mwJecbZiruR5FFUakgdTu6upjzrlf57gcLrs2182ZXTG5SXE20RotRYBmP6GWMX
T199hHMVnNuBJr/DysvbKtXzB6uBhz1jp7pnrGKtLSP8Rbngz8A6yBgwi9hPKxa1szEjL+MI2wxk
VW5kF2HpYeXupturUL5QYZ7sXGqsjH48GFQso997PnpyGXjv+nqfM7+h7xXIkRCZ+sImFiWaiyeE
OxMqqiZEFHm+ClyT/HxHks+dHbmckv8l8llV4l+Qny7nQqMzbGTYSMesZlpwk7cbpHJrrilzJxK0
FpQpRL8n06I8csiVDRI+aZXPBxcS99gcw7ih555td/a87b2Xjf88PxUKLrvZ7ohbGE5rLNMVh2lr
o8pftSAaxKJnZTexntbOxnDMBUsZIU1hlWK3JSX/1lnIW8bBXTR/WGazALAAFkIWxk4KF64WU1J+
4wyLavNDT0rHDhc5CGoI4Ge2L5U0Yb6N5KpKyV7vur1Bjy7+in63D1VpCMpqIoShPJZMVE6kJwIt
SytUW1DrfgICGhZQCJSCl0i75Jxl1wLpwcwQBJ27oMIaAOu1LJ2OvthwejavlWedPooJB6Fi/5Ix
KxZyUnCspuEekkEACLgQAVq9QFOpVmOfSHJM/dgLJrlFZ6DZi6YC3Jrw2btu0d4X2oJC8tbMC+56
G9snWvl4Y/gbwlezXQdd954ZQA1QA9QANUANUAPUADVA7bRR0zivqA6NCtQsXXAjKAAAFifI4gjv
xC7nnXHjhQJX9Pb7et7jg59cYU+EGp5b6cG5TLvhJRgIqC/ggt89XegCB6z3ABzHhePqqsHa2RcF
OSjNQefgIpC7IFgDHAAHwHE1cOjBAUyFq5bjI+zo9jS+mz8frcSpTXVgDnWKEZo6ZvQh720vPVaC
0XeUorOdOU/YXWICcrq1NLvoUuDCz/YRfJy92LtIlTgWbUprwzqIkE3L3j0dtGnhTDSq3iXgq1LF
SpORP0hgRD3Z6MI+1joV2XpMU9jSTHfdemezTakxpMWj0E7uPLBL/iY2fPj4PM5zglOQ4BSka2gE
JxHBSUSnhsAVnIsEJxHBSURQfAcszrwQse6LMiipPPNSMTid5goEQNVSa+V+V7E3qamyjFY+/QaH
FoGg+hU+R3VlKBkCAeeRhA9YanDNp+jAHAV2nQNqgBqgBqgBaoAafBAWPggLH4Q9+Adhz+VF6ul+
nlZYBZm76/numlpUlb2Rara9mo62OuwpI9HHYdWhMlIP8HHY4Jui8j4fh2XWgcZ5ICoAt9unhjEo
h1NjcFTs2P9QSwMEFAACAAgA2K44S0Y1z/u5CAAAg7EAADoAHABzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMi1zdGRlcnIudHh0VVQJAAMYjMhZGIzIWXV4CwAB
BPUBAAAEFAAAAO1dX3OiSBB/z5MfgbeNVbtVgCDomyGbnHVXa26TvXeE0XBB8ACTy8t99htAkD8z
Aygag71VqS1hprvnN909zdA9TG9vHpH3irzx2NQDfa77SHMdBxmB5ToPyDEtZ6nZro+4b5wg8cpA
koe8OFJlQbz65Vj/bND09ua21HM8NohU7jx3pdkWcgJMr1egKUnq1ZQlT0TC3F+SuH+lDNcr3XL6
XIloJanrDCVFGYn9KwINy3l1X9BsjTw9JDRxzCdPd3w9IvtkrZB33c/C4K6Rc3vzE2E6fqDpjoFs
G5kkyuSWoWSfiR6oYXfVkD4klyHIneVhTvS+z7pj2ij5nQ7JxyyfnpGHOB3/CYPhcMTLQ0nl1rEm
hKO7w2xc7x3PMrJRkNJIdHI3f09uqg/Eloy7BIlLl6773DX/r7JYLGRBGQ3xBPaZcG2HHDFrBRmB
F0UpRaYZqQd3vcYTrDtcOotfOcd94wIWjyqptY3nYY1OOTE64CYL11tte8SopP1ixTPnxJ7xdN3o
xgsW6RGrArp6/PMPKwhbZa+Ox0sUzLzvPu5oW/5zQmHqLFzMIPERmBOle5kRF13Cv7iFZSPuS+8L
h4U1Lf+FMVLTMm/LImf0zwgdQqkjaUL/q1LCgRApIc0MEklSHrjhLGv647G39QHuah22NAlNXCdP
5XFjGMj3sSjfOCOeTw7z88OJtPysj1RGg2FIMCWFoVvrgfH8/TV1hLvRyAOe7+csPnRTtMFFLixj
w9x1D2MjKUNBVKTRUC17RgbQlcYuRzjTPGlpKWnL3iX++Pae4XE0ew81amftWWRFBc85zfRDcHP2
GPbk8T9BVpEywj0P9ARMK54VuLezvKnqQPxAwGVjEQJOJYMx84K/YmvWsBBLlFnqK6InD+kBovUt
R1CyLIuHhD0UlzfL2jpNs+ZoaTkZslOn6K2r/CRF84qEk+BjxzrzA9/UQtDCFWanldybFTynHjXr
Tocqz+0CS27n7KIZNnheHQiCbqrKSJAH/av6ExvLmLkQiUkYRmlp+LVeerqJfiBkIrPOkqAqIvZE
6I1w/fxiz4YLVyb8j2xhNv8bT1Xsur7hBYrr9Us4l1pGMO9+YsveYGc2Mc1S161OPmTuQ8dudMzd
3ypkqrk7rc9poSTwNdRr5sS+kuZBifqYJ5n4wCqBBojPRWFl0iVrrTANxvN2uS3F9ScLZakDxaOT
TFk3wwnhZo+Jt57ecoI4ECR5IEojQRrguJcZWzzQhGiICHdt6LY9xwL32Ysz5qmRZpayiGrta0Gu
N4lFVjNzjVPnn66+MyfeS2nVVBL7rLIQqh0DgYslULrGtuO0GSOeb4M62wU+nEgKoA7U26dOffR3
Qt+PfkfvPzarOTZf5nbfz/BJCK/oXvR/7yvnRgsS50era2ZNF2VRrSCFDNcLN9Ff0DuLkiAPqZRw
YFGXjCjxfG0L/wiw6gRAVQLugWw9DcsGTi3NBT2aokb2BwdRD4S1KvN0vt2qbRhR1X3qHZKCqEOe
VRqh0brqN9LX1rQM3BD4bAALwAKwACwAqxtgHTeQAPJAfj/y9Z5QLrIJPJa19FgGaAAagAagAWgA
GoBGbTRWVpDPIHqzbFuLrrPztA5D8nCpK/NJimPIZYSUblbkP8RAscouioixUsuTVBBiJ1o6CLtx
M3EzmSBEsnXQaJQCQuKSz8pUeF49QlamRlKDUkoIwQ6IUvcobbBLmLtehcUsrDDXJHEA55d0WEAl
44naTY7PWE25bIsfKiJ1OpnlX3nSK/19jqLr062jKPIRpfp84loqQiJqOKffPc/1JosAebk01+1E
499RemqvSV3AybL7objuXIvrGqYAU9zfneVY/vNvoXbgOaDm15+XLzpOyUmexwdUQPAq30q5Ze1p
ZZYqFgoW9qzQSmuyWqs1UCSpYa3B3oFld9L+A0Z8Qy6oyDVBScVSVVCdNiwEVERJMCv8oBSaJv75
iriAGR25jEqEJQpoyev3KIjfkUCnT9rJsJHu0bpp4U1WkUrj3kxVZgYSpB6EEGIg8iQvjxx8ZYMq
n7Tqrwcd8Xt0ipHf0ANEr5fbF72KB/NJJeMmVXifBe7dpsDkaMCzNxawBAnrad0S2A9aqikx1WNY
7Vix2xC1KW0kFHsSlshDNs2Wif+tWuKXWUcNJIBEJQmjsMpW7swSVuXWCZbFZrueXTu6u8hBcAAD
9uJzf0JJgAEwODWDkrVWvGwoNmdszzH8wAm50s8GyWXzVSYZDgbKsA1nsYvrdq0/RkbgClyBa32u
Wk3XUnRBWAYaW0lS+Y9iW3NBaZqYet90xQIGwKCDDLTDQpxG+Rz1w6PzkI++Y5PbmIY2e7VpALdW
+fB/aIbePWlHI32z5od3/Y0dYKkCb2MEG0xXs10HXXZeI6AGqAFqgBqgBqgBaoAaoHbeqGmMd2Sn
RgXymjrcCTIQgMQZkriU9/utvm44Om61h06UpAMvdOCt/+nN6Nzet3dsBj9L3ApvkT6ewbm9soDE
BOBaJyrq6OYJ+FFgQHXUJ9T5z/iq++ztFNwWwAFwABwAB8ABcJwvHHp4MlTpquUEyHN0e5LczZ/A
VuM4qUNgjmRKEJo4Zvwp9u0ofVqIpBeEIpOdOg+eu/QwyLuC2uxGVYkKO3yN4WMUiReRqnHw2oTU
h3YIN5F+nSJqUscaY22S50rikT+OYEg8H6lumfwnqbqeVClm0qZUdU22s8NOeJsQDf6IB6qd3ali
Xf5meNdtqSunQsFZSnCW0iV0gvOM4DwjOM8IzjOC84wggw5IdDCbcF8GtV+m15WkCwkGF5G0dWHJ
GxeT0nrpLqOjs3W26eLn5qMhewcYAIPOJutCohhUwwJqgBqgBqgBaoAaoAaoAWrw3Vj4bix8N/ZI
3439LK9hz/crtpVpjtSsxsR7xbnHNjKbt96NwQ/cdU4vVFkUhlVfm1VlYaie4Guz4UdK+X2+NpuD
djvGXqsjbz4Gqkwwd/XmrgFO/wNQSwMEFAACAAgA2a44Sx3P3fQLCAAAycgAAEIAHABzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY291bnQtMS1wcml2YXRlLXN0ZGVyci50
eHRVVAkAAxmMyFkZjMhZdXgLAAEE9QEAAAQUAAAA7V3BcptIEL375E/gKFVtqgAJhHyzcZxybW2k
ip3cMYwtNhJoAUeby377DiChwczAICFZtl+qfJDo6el5/bqnaZTh9vrqjkS/SHRxES5JcH31jfzz
TOLEdgKXzOfEO/se+PSb2+uraydxHpyYiCSVT8r52e3h9HlreTsMAuImfhhMSeD5wZM9D2NCpbWh
OhoMDVPVx5ah6dWZtiMvLlyulpsoXNhznwRJOvsLncOhVW9PpsLb3ZJ8fKMNvYXjB32FA2SDqh6j
aTQa632eM/zgV/iTTJYkclJFl4F3HzlB7GRq7/0FiXp9uBlu3sXN4iWFNYbc+BGdibHFTVddUXLW
8x64uuPZc+KFq+AmjDK8eEb/V/mu11d66r+jx8dHQxuNDZ2o/ZyoN9S0MPpNmUHmJCEb+Q2Ptz6/
DwsOcSVrrnIsbDDQpE7v10I8cwJvTq6zyZrF1p8LgsTUrvsZiYji0D9tYJpjTdX1obLM4+qsnapp
uFxSUjiBUnj+DyUIV0pSN0eT1fZzFNEoKGaqGUBFHsNosR6Ro1KMy8kqoFPurivH/UlNuqNUqEPT
873rqnwzl3egqDnQNhTlcnBjSTEHFZywsXpxEa2DNlwsU0mPIxIGZS13z65L4pia8klxczAVOl+c
oujHbFIbjQdmqrBQ5fnx0knc2edfReZiAm6gqv1SuKV5RbS4LOcwAaT0zik2w5Gp6aPh2LSqqawG
6MZIMzKcRamvkvu7CrahevhgY+Y4WLCljNqGGousPqI+F8VdCi4bRdlINf1nUZKN05F1YTh5MbwT
r6iWNdBfETHDfaxdd5w4UfIjD0ebGvFEmM21oV6JiJMQ0dhqzWIYhi703QN58gNm+G3ZFbvWJ3+R
BU0NdByrrTrbXnVHJzQxzKFV0EScoCdsZpJLz1tzmA/UAjt1H51N2dSv1F8rP5kVyZnNzKalKtui
UtnmzYxrLo2wgaY5njUaa8agfyZPsXw7Yr7IzHzBI+4u8335FDke+UqIRzyZ3cUa6TSpkRXn+x12
HabYzuJg8vA3BSfPO5/o7qKc9ysrq0hmC9t+pFH9nEyiS8+rDF17dspcLw10w+cgEY2y04tKrzym
Dx0NOuAMOAM64Aw4A86AM+AMOAPOgDMAJJzxvnSUpNc9mKJZs230lNoAQ02VuL+fBHnvRtTR4TYE
yio3rZwmgwZELfWwq6orDaqG3kTN48WqrKCtt+lSVgYIGnO8XorjpQ5RJnebBtXttaLpA21oDDR1
bA5MS12rY3WVFkdVfCUrRm3RGqwb8vlfP047ZFW7S6xbRX7Cjr1L+121fUHP96YiYFp6Sem5znz+
QFfRr+/W0jltHtsEjUa7e2aWRvOmYKOlJFz0YIvG5iTIH2d3Gr6bPNwUtcJ8/UTyLNOkYCMHBTwP
wgvwAhTAC/ACFMAL8AIUwAvwArwAL5yWggqw9a2LQqzmN22MiyozNrSYpnJWFOoEDaj8t7vf0l8p
8Xo9cpeJG0aeaAbH80oCJQXbi2KUeD4ovpNcPbR3o/1I3Afuh9fekF++1FkhCPW2VnISQvZI4yaM
/iS/86zz6vw8JE4yAMh6XNLMLkw66lzdMbkLc/aJSckN/eR36vfKtBOcS4L9h2K1rIn71Z9PrVfa
+UoOUEnvthhWg3g3EYd1d7XBfgni5O6V3g9XP+5KXjETdlyBYSUNtfv+VbFs8T5tkXck0n67pN2m
um9K/TveTTbm+d3NO6HOzju7g3sDNeEbvO/tfids3UHorkbCnS7udN/ZXO+n5u6+6/mm73SbQnin
uqU2rI9fWaBHc+Q98rAxeJRnA8d9hnJCWwLKg46rsQ/6LPAVO1F4Ho/n8ael/bT7cB3cBbSy+sPs
29O6qJbYX/duT+5/kyC+Czhs7KE3KogE6SK7Va2OWrzzWlzycQT61fgNw9vp7HSSdU+rJ7l/IG3/
g/202+TM/nf7/bLb1sQvh4nOqqmHav9wltLexMNzkGNmd9l/l6XsYOq+W/Jr8rdlTpbgr1x6FiaD
HX+EIJkLJH+PIO/qtjm/wT6Zovuokf3BwuEtpfO3v5TpYR6swCuvVi9A/X7qp+1a5cAe6sEcqAdz
oB7MgXowB9iDOWAO1IM5UC+lXnzaMvuzFIEI+7z+DYhgRVgRVoQVYUVYEVa0l0i3b12Yco7LZN6q
un5bd8tXMMi+O9VUO37hyr5ofOGcewk0gAbQABpAA3sKuAE0gAbQABrYU8ANoAE0gAbQwJ4CbgAN
oAE0gAb2FOwp4AbQABpAA2hgTwE3gAbQABpAA3sKuAE0gAbQABrYU8ANoAE0gAbQABrYU8ANoAE0
gAbQwJ4CbgANoAE0gMZx0Vj4mQXbQ35W/nxuZ98zosp5x0jubzXrAN75Ae7LNbBvFqlerD/IaA2U
+GikisLUeU1nU9vcQYJjp90aYVaSY3ePe677KvITVvrGD/x4RuROwuebLgMiexZURX7ryGwy7iz0
Txuqo8HQMFV9PFJV64xjqh/8Cn+Sgl+XgceoydjWqzvqKqwZmNG0ZuzMCbw52XwuTIip4fczEhHF
oX/awDTHqmEOLWUdCzUHYdg8Lr/MTDYnmLkYngtkaHX4EEYNYf9IFz8pshjHDiaBpVfp8gMmwaXD
1zny8jEh0Q8SxWlWnKWnpdtrtmZcKtkYJ+Gy5HfL0DWzLOPOw5i8ENJMSwhrhXLT3A92qqeseuH8
fiDZ97frrPNyHl2VnydT5FWgW6/xXKQoZJG0ncAl8znxWkr/D1BLAwQUAAIACADZrjhLAF9nbWwJ
AABBUgEAOgAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC0x
LXN0ZGVyci50eHRVVAkAAxqMyFkajMhZdXgLAAEE9QEAAAQUAAAA7V3LcuI4FN2z4hNUvRmoSga/
MewSJ92VmgeZJN29nDK2CJ4Ym7FN0tnMt49sg7HxC8KjITldlerCSFfSuedcydeSubm6vKfeM/X6
fVMP9KHuU811HGoEluvcUse0nEfNdn1KzgkvcV1RkhVO6KkyLzS+Ota/M3pzdXmVq9nvG4VWPnvu
RLMt6gTMXnPFpiSpjZuq/kQmzLf3JK5f24fWRLecNskZrTXVSlnqdntCu1Fgw3Ke3Sc6mFJPDw1d
OOaDpzu+Hpl9sCbUa7XTMLhT6lxd3lFmxw803TGobVOzyHJxybBnO7dXDpFbMbDPlsdaKq871h3T
povPCUQ+a/JhTD1KdPbHi4rS42RFUsk0ZlY4us+sGdd7ZayhNg0SG4vBL/nw4Cb8KixZ8W1Bj3OX
Wm3S4n50R6ORzHd7CiNEuxKu+ZCjxnaCDM8JgpQgs5mpW3c6ZQ7WHZJ48Yw47gsJqtqo67U28zym
kKSligqsyMj1JvMaMSpJvZh45rCwZuyuS914Yl26Z1Sgjfu/freCsFT6ar//SIOBd+2zirbljxcW
bpyRyxpYxBzWUkn1fEMkusQ+kZFlU/JL8xfCOmta/lPFSE3LvMp3OcU/IwwwuYpFDv2vjoQiH5Gw
TAaLniRtsIKDtPT7fW8eA9zJNCxpFhRxnayV+5lhUN9nXTknRuxPwtrzQ0dafjrmdnuiEhpMTDHo
pnpgjK+fk8C6HI0sclw7o/gwTJUNLgphKQ2TVpNhI3UVXuhKPUXNR9oKoGvFLkc4l0XS3NS0K71L
3P71nmpjb3oPGbVUexpZoct8Xib9ENyMHsOaHPvHyyrt9ljNLSNBpYoHK63vZnpTVVH4iYDLxigE
vNQMw8wLvsVq1lgnHmlqqq9ZjXlUD2hZ3fyKTJZl4c3LqDLKDOmj5aTK3zjrzByrtSoXFzEzNoyp
yx6mPrBmtBC0cIZZspK8WME4iajpcKqoHFkuVMky2EUeNjhOFXleN9Vuj5fFdmN9x8ajTV2IulkA
SG5q+Dp99HST/kmpSc11pgS1K7BIRF8Krh/f2nPDiSt1OxFpYTD8h7kqDl3nbIIizXYO51zJCObl
R6bsGQtmF6aZqzrn2W3q+0xFw505QVktLfyStLJ12rBRYwPOgDNgA86AM+AMOAPOgDPgDDgDQMIZ
78tGpvQ8I5CkDpZph0waQOK5Ne7vB06cSSrLLxUmBLImF4mlug6JlMukwfOmc+mSmtxExQPUfNmS
FN0iU5mrUJKcK8ql6GboEDK4X6TLbq4IL4i8JIuC1OMlUVSqk7u3ZZ3YEBHSMnTbHrIOt6uzo6xN
rcizJSlGbfcsyNQuaiLNzEzhJPuWpDQHTvxwfKdSWcS8OoWUxsZHGiu6zsCiHAwUeRBegBdgAF6A
F2AAXoAXYABegBfgBXjhuAzkgK1OXSTFKvaQpVyUa7EmnZMkJCt3196FG4/IOfGi/5tnxI3SD8SP
cimpDI4gC2qNKWq4Xrhn/Ym+VlniZaXUkm6a65oRJI6rQXgJVSnCRf5LrsH6Qa0fSDfAHZwBZ8AZ
cAbWwRlYB2fgVXAGXgVnwBlwBpyBdXAG1rexXpOZ/rIoV35YPN4Hel6a/JUkRWokR3WNmee7Xrzv
kNkkrF3vtU8+NT81tPgryydDK9oIR2z3hXpRcjl8fYTumGQ2nS6vLDsVVw1z0s/hC1mis7Rxv1Id
EXmBO1u9QEY0MMbUJF6Uy/bf0It19krebqbH9M7IzQYpibJwtnohN8h92Ly+uxvc9clFENDJNCCB
S+ZGiU6S/ZZz/1ds3kyQ6nxz7dmE+p0Qqc719/vOdzr8zQo69+7MM2j4SWNU6/zhmjObFWPeoj+o
aQ47fmStszLIX43ptCXy3Tbpk6Hr2mRuIDquvehAKTAzywkU6e+gfUyK2fm21tvV55GnqsmfTnCw
993Ge3AL3AK3wC1w62Nw60PszoG+jlJf7/LmD3MMNABugVvgFrgFboFb4Ba49VHvu24yb4Sdvx58
k5dIHEig6zzkStpaR83rPcJMPwh7z88H827aYbDYHOp99GIjGE6wywjzWEJ89NQS+Aq+Yslbwa3N
5zWw8bALsNNZeeTvjw62Zizap/Y+Yv9+qXKMN2tvGAXMb2d+i92gwP7nmS/ftPoltVn7BIqkX4CM
Ee2zyLo/gqRwO35z8rY7gb8UvFRnu0Ql0AAaQGMPaJzOrds2fkMSAs/ddvvc7djDwGnfqBw2pO9m
5bjnw1SYJrFoABqHiZ3ImmM7O7bd43krtAoNQAPQAPgKvoKv0AA0gH1iSNHiSDr0hfttzK+YX6F/
6Aq6gq6gK2gAGoAGoCvoCjkR5ESQE4G+MG/BJuIqYgpiCrQKrUKr0BV0BV1BV9AVdIV8EPJByAdB
X4ebDzY84PWRp85tDredyhhP8K2yeEPY7t4Q9jb3I/rjrgV3QrgTglahK+gKuoKuoCvoCieSkQ1E
NhCaxVwIm1ivYL2C2AddQavQKrQKXUFX0BV0BV1BV8iFIRd2Qrkw/PYVfncM5sEcmAdz4FowB9iD
Oev9bNEJ/NILfrQTI8KIMKKVESFPhfwvbMIm8qjI+yOewia0Cq1Cq9AVdAVdQVfQFXQFvmJPCc5X
QbOwCZuwiXXVXmP0np+EH8cUsNEgMV8gbiBuYG0HXUFX0BV0BV1BV9DVh+Ar9iljAz3MH4H5Dd8j
v8271LGZHtua1yhysnRcYL5TOkKcQANoAA2g8SHRwJwCbgANoAE0gAbmFHADaAANoAE0MKeAG0AD
aAANoIE5BdwAGkADaAANoIE5BdwAGkADaAANzCngBtAAGkADaGBOATeABtAAGkDjVNGYWFEPlkfA
Xizb1qLrqaKkuWMkt+912gFFR4CM1TE0UsdJ819WH3ObA1V+cC5nMHRe3RFqrbBSyXlqo7rwZt1d
nvMr7sM6aKSP/OXKLz0SNVbYCvvjJa4rSrLCCb0ux6mNgq5azrP7RBOiXDhmykxEm1bViUa3omLE
t4q6Y90xbbr4nHTBZx1/GFOPEj08zy4qSo+TFUklc1JXHErTiki5GmK0AlUWYtgsKcOWeUPXq9Hv
iA1+kISjgn6kIlH4LRu+k4pUYfV5sLsYBdT7Rj0/DG/j8MWLcTeiE+krffQDd5rxuyoLvJItY9iu
T1cK8YpaCmuOcrexH7TQTtb0RH8d0uj6zTx8rLYjcOu3ExkqPQ/ppgHTwsPqtv2W0hm3zPFrNv4H
UEsDBBQAAgAIANmuOEuyxcWiQAYAAJozAABJABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
Ym9iamVjdHN0b3JlLWNvdW50LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADGozIWRqM
yFl1eAsAAQT1AQAABBQAAADtW89zokgUvnvKn8BRqzZVgKDoLcExm9ra0Zpk9o7QKjvYuNDGyWX/
9nmAQEP/ACOpzEyZqhyE169fv/6+970GfZzdP6HoBUXTqecQZ+XEyA4xRi7xQ7xE2PPxxg7CGCm3
imao46FhjlR9Ypma3vuK/f8O6HF2P2NGTqcu18s8Cnd24CNMwN9NzadhWL1HWTypC+/tkWTjG2Po
7xwfDxTGaaOrPuVpPJ7ogx7Hh49fwm9osUeRkzi6w95z5ODYSd0++zsU9Qd0GsI9wrP7Lwj8xMR2
sIuCAHk8z3zLJLLO/YlTFEoWNvcjmImKxU2yyDjp9b0V13e8PRAvPOJ5GKX55wX9P3OtP1D66vfx
er02tfFkNNTUQZaROYQWRq+ANBQggnL7PGElhp7DApNcS8ldToRNAQKIBtIUbx3sBWiWTtZsdvpc
AC6GuJ63KEKKA//acDSaaKquG8o+42nvPFfLcL8HUDhYKXb+DwWHR4XI5miK2j5EEbCqmEkyAEzW
YbQ7jciyUozLwCqAU7Zd9477DUJ6AijIsun53oy1b8byZRDlYjCPpJgDDBc0V6fT6ETacLdPLD2O
SYirXp4OroviGEK5VdwsmQrMFydZ9GO6SI4nw1HisHDl+fHeIe7200tRCcvVmENVHVToltQV0eLS
mkMRSOnfQG6M8UjTx8ZkZLGlUZLoRqaZaZ5FpY/Rkq7IZqjvTzZqjncjW4Kokmp0ZvUx7LmId0ly
aRalI9XkzwKQTZKRMhouasM72RXVsob6B2bMdNfSdcfEicg/GR1tCGKDKHFt6H8i5BAkGsv2QKZp
6sK9W6GNj6nhj9WteGu/8zfaQWmAcbQ3draL+o5OYGKODKuAibhAL+jK1K48l+FQHyACO9k+mE3J
+2HYr6NPtkVxpivzyFKVsklVyrqZYs0Fhg01zfGs8UQzh4Nee4hlckRdSMOs4YirMl/3m8jx0GeE
POS1URdrrENRQ0fO9TeoDtW8pzxYrP6F5GR15xbURbkZMCtjLNOFlR+B1QeyiO48jxl62tml6P4J
OgXGSnxWojc0tUVYC5xBTgRE7jqqLnMENgU0RGpFelnXDK8aUio5ZbG2gmqUF1dmgKCe8CDgeMmG
KIunnFePM0XTh5phQhsGvRhQ6uSO9lVZHLj4jI6U26KiyYZ8+u7HCbHZuCtQO0Y+occ+JTSVljOo
P0tRYs7cJaXvOkGwglUM5CIDc9o8tAnqo909MiujeVPQbKkYF9JR1OMFzk71ndI3rxlNrKVrC3NN
vn+FmaQfKUzknCoqmIBK2eHpSyITPNS2u43cMBLOABSpGFQclDfb8GB5Xvpo1IsxLKzxF0N3yUEK
paink9qZOG6rm6O6bmZ7JeMq1+I3El5mfU0U5iZEfFOOStZeAnnWVk7zGTNAyvfuKnYb2s4uzdQ5
8jXjLVD6/OVd5Wsmw9xHyFc33ee1f7z2j9f+8do/XvvH37x/7E53wt3OJ9WO8ugHgZ1elz+iuiyT
l0fdKJH1NVQkkrnZUHyzRMneXtczJns7lmsjd5BIHyXGQinLBhWSJxWvuY/9eIu8s2xbKR038jYJ
P0vieLNUn76PVdW65GsDIsHkIY2RPA7VuFHfCGyg6qzCqIGUaz/R0rzG/HyP9GtZoYpdddVEkkz+
s/GKCdRSZxUAQpuKRGFY2z1uJDAVFP7kHSF8fEEKkW5FKDlpbxARHbIfEDmJJ/vAP9ndk8DcrQmK
Ki8U7BPV61+c4C5RSibeCM7XeYa6yiMTwnDlgBrp3p52lwjHmW80BAzPyt2fCe5hbuGrwp+LbmKP
KX6dSkHv6F1jg+DdNU5MP8tpm3eZajJvOZtkRDIljwOWIZdAibuPokSlErnhAZNfBrhlT3H3bhBu
eAzme/nULHIF1SN9KtDQHqQ2jPLXR1747cD3l/RL2vpNrnxNor2hJZK9KN/A0k6cDcpGXs9KsRaU
n03NoMK9Fyc4oHkY/YVeW2H+4dwltjsrVzqObg/LD7wtLSQ5Tu7Gh4BAOCQ6uOQAfu0gxOh6qL4e
qn+BQ/X18Hs9/HZ2+K3cjUm4l31XXvBDg+7c0F9dS32USLJMXRvV3kIzv2KxTG1kCWEj/TVM1fXO
eV2h9PrjqTbV54FjaOt5sp+W9H4AUEsDBBQAAgAIANmuOEuOvskpTwYAAHEzAABBABwAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNvdW50LWZhaWx1cmVzLXN0ZGVyci50
eHRVVAkAAxqMyFkajMhZdXgLAAEE9QEAAAQUAAAA7VtJb+JIFL7nxE+oW4PUkbzbcEugk0EaDUyT
zN3YBfHElBnbJNOX/u3zbOO1FtuBKJkWLUUtirfV275XZTOf3a5w+ILDySTYYzK7/Y7/OeAontrE
wb6P3atH4sHKfHY7s2N7bUeYR4mu0eBq/n7y3CP9NCAEO7EXkCUmrke2Uz+IMFDLmmSqmm5IytjS
ZYXWVHJOJg5Tyl0Y7Ka+h0mcaG/I1DRLbE8qwn27JRl/qw3Dne2REWI4skXUsCLJNMfKiBUMj7wE
z3ixx6GdCLoh7kNok8hOxT54OxwORwITAgHjnRdCAvB5n2zi+jj/XJgQgfEPTzjEyIY/WTWMsaQb
moX2WeSSoNyBmiD8AVHBPo4LGXkOlf5+CIr4MSkF3zIsppaGIzSU/jU3m40um2MDHD4CztYtp8rO
4hlZUhSt8Ew/Uctgv4f8tQkqovgVkeAVxSIdbVZPD2EIGVhoEjAAySYId0eOzCsFXxqDobtmcmbh
urWdZzBpBamAr1Z//u7FCVV1dTLZ4ngRfouA0feip1zCnGwCUJDXNGjisNOKULoEn9DG8zH6MviC
wFjXi54FO3U9d0abXMk/JylgipEV0J9tSajKaRLyyiC3pNABhItqR55MwmNrDnb7hNJlkASkLmV1
cBwcRWDKNXKyeCLQFyWB9KJqTzPHqpEILESB6/Z27Dx9eykaV7kbXZWkUa3iE/TgbS5FlkoNo+EA
fKOZhqyY2tiwRhRgCRzdWux66mcewFGt/1z1rknvX+8VHe9W70lGldVe9axiQsx5pZ84t1aPCacE
/2TdwuYYOE/sBMIqXjS0nwfeLEtVPtDhurORRCAPPgvjv7JqnoIRW1yB+pZpJ8R2jHm89MSj67rC
Df0abz1SYZ/XQ/HW6YaTL01twuEiy4yePbW0s/IB1EwTpyUIU2YlevXip6KjVtupYUmoHARR2ezS
CDuSZKmybLuWOZZ1dXTVPbDZbisLqZkMh1DQ8LjfhraL/8DYxW4XSLBMBToRfmWsf77ZsydwVcb1
tBYW678hVFnrugaAQoMR5WeKMnVz+REq+wDN7MZ1KdZjni153x83Uuy49FbNek2WOpi1IFkB8MqC
uY+6yLwe2gxSsVRDb1o0FeUWlwrOVTQtpyPlDZZi4PQUVgrYbhIQtFjlVT6fIVlRZU1XFW0sayrM
S0JMWvKM6OkRNHRs31+DwSNxUwedU1ZkOZ1xev4sqHGzVFQzs0ZcNI2iEy9IdmY+a6nk9dlWIdU6
ptbE8SvIBPhfkIjzt+gWwlPQ9wQgIGHD9P/BVxSk/kZRmjyVlFV0xWoRhZ0gTK5OnvEPkSRZN7iS
oG66ioF5VupUQ8t+rq9WDD//ub345LRfMrKsgsPHQ1nPGuiKb0YT37LQiuqcSfELASS1v7byZzqE
/6U4K2l6QcrTtOIWMaMYhAVeDyKvLjVJa2kUj+QQYffWD9Z3nn9sG9GJhdSlEcxO9X0fMJ2xskB4
efOuYDoTZfFHgOl55s7L5HiZHC+T42VyvEyOn2RyPB8+BLudF9dnyVfP96fpuvhK6zRPnm51K5Q1
91CDMurLlsadOUr0RLnpMdFTuBzDmEw8HBMT9zO3AmFMsV280Qu7WFrqF9imJFlvvokWICErDSgs
Y9QB0+oBhwZawjoIWypm4yUgmTeAz3c/2/BKpRPVdx0LnMm+6K6R4PxJUlsFF4SN6DEtAVXQlZOn
dPDxBaNYGIpAcADe4ph39r3HcYZ/jNv7JLrH7n+ziXFYezqQZUl6o197e4K5RWExsTgY77+oisQq
Jkxg5YBby7172Z3S1Xs+EOBU+J1HwB2/JXkPurlP2z5XufElpvkLk/X5H9e1oNFNq+Kez/t6x4id
iw0oEYhi1YGliWFQIO6jyqLWjZzgQOL/TfKWc8XNu6Vxy32S5+aqG/r4HWSVPM1tGRFSGgr9m5zC
tyA+A6yfMndvc/RrA+5tFSbpRXEASzq+Nyo04p5WAjb/3Zbaibb1oK2qZre7ofu+++12sq2NIOc9
2t6z4ltgdJR8Gx38GMyJw4MTH0Du1A8IvhyBL0fgyxH4cgT+5Y/A3Ddn6V9v9KauaQbU2edTdPWl
s3S1TBhLV2Sj8SSY+o2HpcuGxc0O4W9F6qJ39o81Ttfnx77T1ANnzs56sh9e8Hf+H1BLAwQUAAIA
CADarjhLuTD2dTwNAACE3QEAQwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3Rz
dG9yZS1kZWxldGUtMS1wcml2YXRlLXN0ZGVyci50eHRVVAkAAxuMyFkbjMhZdXgLAAEE9QEAAAQU
AAAA7V1Lc6O4Gt1n1T+BpV11uwq/nezSdmcmdetOUpOe2ROjJNx2IINJp3tzf/sV2MYChBAgnj5d
1YsY6Ug6+h6SPj1u118eiPuDuFdXzhux11/+JP+8k523MuwN2W6JefGXbdFfbtdf1oZnPBo7kpZS
+6x9uritDs88pF85tk02nuXY98Q2Lft5tXV2hKYeTfXFZDqb6+PL5Ww0TpZ0ynl1teGi3LjO62pr
EdvzS49hTqdLcX0CCLN4Tfb5M+sweDUse6hxiMyAGjBIi8XleMjrDMv+4Xwnd2/ENXyga9v85hr2
zghgv1mvxB0MBVVwBBlvLJcKAEPhxq9lAuRiYD5ysXcv757pfNg3jhu0j1f9/yV+Gwy1gf5z8fT0
NBstLueTkT7cC9YNrZrj/qI9SbbEI8f0R7k79dE3J+xzbkrBV04NsypIO8mvYDrFL4Ztbsk6KCw7
2eHvsEN3tF7fXohLNIP+H03m88uRPh5Ptbe9Hlzkg7p33t6ozBu2Fvb8vzTb+dA8URlZtV69uy6V
2rAkQQaa5MlxXw859qyE+YI+SBOnfXd9MTbfaZUeqCiI2DQtc51Mny3L5USUK4PHmoRl0IR3rAm9
unIPttR5ffNTmpwkjh1FeXjfbMhuR6vyWdvsydRoeTufRWvHGqHF5WTuA4ZQprV7M7zNy9cfoaU5
tWY20fVhRN18c5/WuMAVMAqkDT5RbqaL+Wi8mF7Ol8OEhxEQnalps4DnNI+UsNWqlG2qV69sTBmV
KZsvUSdVY5kdL2ifp+mdTy6rRUFO3f+3pEJ2qQ/FangXy66kV/TlcjJukLHZ5knY7p1nuN7fe3Vc
0Uo8E8a5ZowvXGJ4JC1vcowxm83GqX33SJ4tm8l+G+2KouOJ/5BXahpoPhYtWVqpcYcSMZnNp8tQ
TNIN9B1rmeTM86k6zB+0Biu/+2hp2nG8Sfvrw/JeQuPMWub5UtdOg0DtZDcDWdtQDZuMRoa5XFyO
ZpPhhbyI7d0R80NQzZgccb3MX2/PrmGSPwgxiSnjXZaLMTVq5IPzewGvwwyOAz24e/wvJWdvdz5T
76J9GiZalkgZNOz053HocPNu78UyDnDo372D/ZNsHNdMQLy9e3futWmmZb5nvrembGRERmRERmRE
RmRERmRERmRERmRERmRERmRERmRERmRERmRExq5n3DjvtpeWa+V/1AbRPMlo0iFaGIYVTyHJSMBq
OtIlIlF39j7KmBZ75IauopDHoGNWhSZEj+y2SEInQqkZUTTBxrVk2pQA9DGensiQEkLmRf0M0+8Q
7e7hGEq9XWuj8WQ0nU1G+uV8Ml/qBzgWK9I4CvEH+WBgwyC2KMvXn9bOj+Um6x2Rug/X8ti8D35k
VhjBNi3zPo2YnL2kDTbGdvtIWzEU7yugZa540pYSEl+pl8xIbl4RrLZEEoe7BcIQ/J293yipVH1N
JgibpblmLGAbrcTBQGWBpBq69tQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACKAjyT/UaNLIBjuuSFLodIqDiOHkkqCNTHYquJ6mfse1jL1yiETNkZcaiKf9BbdH8BwyuXFs7+
BRY5B2vpSAdWxdTc52hvRqWzapJSgmGa+QSAU84Jgycdkj2erzvbL3slu6sMk92ROaEw9aYdlUj2
fU6pqEWq69d/oAMd6EAHOtCBDnSgAx3oQAc60IEOdKADHehABzrQgQ50oAMd6EAHOtCBDnSg9w29
wp1VJfbQiaon3j+neB8QZAvoQAf6OaGH++TF6GGydHSJJKd77dbFtuKzt9nJFJPTA+SF70crSsCX
31+cq4JZ4xdlDZDcvpz1pGtmMvamUhkk2QGPRIkSXSeNItr0LNFytddGrlPuRmQeMTw8jpvnHsmK
FUmOKNnHEue64ntrc/WJxCwj3mf38WNhpfWyZG9L6lkB6yXUuKIGrKHjGzWKpELL13qfWMruSvar
chVPh67OJtd2Cqrto5Scipir+3I6jkztOxfTqkLDcihwuhdt2knWMtLMPG2sQJxO3CkRJpl5RG61
KWQJSjqrwuYCKqROhRS5qBpGjQVWMc7FZ6i1Uj3phVJXUuTrJEWTouKrPbnmMbUuBvV8HS+P08xB
fEnXqNIx17+IU9o9Vq6IbVp9VxvMVrsiISENBU2Mwr7Eml37VgNKWKCiVjbHcnLMXHKMleI1gEZt
XTvnGuqHb60eRCsa+lUejergeKiqAQ8XXHKtIG4NUk1MCcXP8RRejTYC84Xc+tGXW+eaGzPUMivp
2LyipbGRxucLzSlxNUvmNUz6cWnlObZD0QSrvMlocvBUtUVvaHLWuh2l7fOcXQo8tHNUWmWIWGYx
rMDWAtXhnK5t3FW6xtI6K6AsRNeBqYqC3SBqVoNzeWL1XBbZQJM5zihhBDOXghtTvs7sCW6FjlYu
V0oEpxd75Lq5Jt1tT1zH+AqWX9byl3mpRmp+UzK01b8FtTpWMhvuNIVzF/W7ddXF4ApF+RXNy8/u
3FktXqkFC6PVb6ys6TAYNgwpXs8+R0tzbqvJtW317szZ7ya3BXcxsFbvWa282xUVTIZLPwSIjdiK
RwN17L2owYtjlwDaUUYqy6wU9X+3QzfPpdYd6+jOppAGX8iufAkLwtolYcUZ7SqjZOjkYsGIGo7k
VbZxom9HyRs/nt+3zVqYANR/RLKWuzOxONv1td8+HayvPP4LM1jTOgh/9aGoHDR4qqLrFkZxeKDj
+2Tq2crfsz3d/T+MCzbARtNsnM3lKk2GBs9sO37l/hAhSrSjknZgM0f9d+BA9NCOc25H2++RQ6Cv
/QcRGgjZN7pxop93mnRsTgRTj3agHWgH2oF2oB1oB9qBdqAdaAfagXagHWgH2oF2oB1oB9qBdqAd
aAfaUct+CxyXATzgAQ94wAMe8IAHPOAB34vLRJEESZCkK0kUnK3uzvHrM3xsrSX3hPSufzu/sfwc
H2Tq2v0pVZwS78JLKi2/wbZrt321/ZkvnFNq/1m38xlH9KnL1FxT2oJ7SBu5DqbCV+Squ9mj8lv9
cANDyyZn3XiFOaOrfiPeynlPf4DnOfo9UsjG/3DjuP8mv/ja1sL7o1qgRSHlYvgj8yWuD6z+IeaU
JGETcaMY7lcDG2ADbIANsAE2wAbYABtgA2yADbABNsAG2AAbYANsgA2wATbABtgAG2ADbIANsAE2
wAbYABtgA2yADbABNsAG2AAbYANsgA2wATbABtgAG2ADbIANsAE2wAbYABtgA2yADbABNsAG2AAb
YANsgA2wATbABtgAG2ADbIANsAE2wAbYABtgA2yADbABNsAG2AAbYANsNMLG8d74vrDxagU1OL0C
8GFtt6vgdyap9kkxk+VrzXYA747/TbwNfsL0j+KXDg5Epb+dkAD0Oy/rZYsVN1PKMxcbQWI2Jafe
A+4DHB+u5bGpbyzb2r0QuWdc+FWXIZF9LCKR/tSRQWHcUuj/0VRfTKazuT6+XOj68oJTVcv+4Xwn
oXxd2yYDE0jbQPQWhiPIGIipIO+LYZtbcvw7rMKOVvzbC3GJZtD/o8l8fqnP5tOldtAFwWMVK54s
xy3TiqPMXA4/paShVv7RcTPU/ok2/i60Ypx6MAYsWo4nqH7070CW4kmofTQet1RCsxQ/TBjji1sT
WhR1bdTq+H/+IJonbLxz0h//G+ftnZt3m99Cd2/i17EXeqh02Iz999k9uJDrJ4+4fxN35zuNF//x
mtVBmY/0CBssVC1ejqRqLSdjnadaxKa/vJNM5ZdUwpKuQdZ36sIXY/bG73dfc2nZEdpZVttlMNIR
A2k2Iub91ma9RHGTKXZp15kFM4IrzbvILz6SZ8uWlnxxkTwdWE7FDlEAl+WdDdP8+tPaeb60M5al
aNdI+PgHz3DpkK3cc7Id0YHTYOW6Mm0QD3hoDY5Fx8rrysAjkJeMcUeQJjGkiOfkeNMycwD2pbus
AUH8VTzu7xk9KfkobiSZ2FKuJV7QVPj8tIyerIsREnv+LUWU4iMftdPydYo81D01T74+mDYSPLyc
F80zVDSsVKZnz5zlDl4HP6c9p6dCUZ/zPUcokHW2mu0wAy163TKPwcr1imTpJ455D01W9hjub9li
1AuT2beVTDgQOJA+OpBKjbpS99O9EW+Jh44b9w7sC8ZwIHAgcCBwIKVmIOVUonsOBA4CDgIOAg4C
DuJs5wgl51ZwIHAgcCBwIN1yIKrMfQ5HJOUZuhhWhQOBA4EDgQPBDCRlBiLpaySNf/9mIE1/hwOD
A4MDgwPDDAgzoEYcmIqok6JNAFlgKjepSe9Ca/sAAt/xHd/xvRn738Yhc94W1zekhiziO77jO77j
exPfcQgRy1NYnsIZkmJrYCoiCnJL/VjDVzTh6NdSJdxXZ9xXo76nQpfRodPkMOS4+xF3P+LuR9z9
eK53P0a+7jzn7XhzIa+pDnsT4sqwN2S7JWb+1KfGHUo8CcxyNh7No2k2W2dHYolG82VqfyRk9X7f
gSsfJwr9avx6JMHvtwdzFS9nrMuXEwCZ6az+H1BLAwQUAAIACADbrjhL19Z/0z0SAACggwMAOwAc
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtMS1zdGRlcnIu
dHh0VVQJAAMdjMhZHYzIWXV4CwABBPUBAAAEFAAAAO2d3XOiShqH73OVP6Frbiapymzw2+QuMZPd
1H4kO5k553JLpZNwYsBFnZy52b99GzSICggKAvps7dQpSffzNr/+hH775e7m+lHaP6V9eWkNpXlz
/U3+dyJH407X7MvBQOpHP0xDXbm7ub7pjru97kiGpRRfxPHRXXY8fZa+Y5mm7I8Ny3yQpm6Yz52B
NZIqdaWutWr1RlOrXrQbleqqpXnOy8t+IOXWtt46A0OaY8f6ErNeb0eXx0Xom5dkmn9tGU7euoZ5
KgKEXIM68ZFarYvqaVBlGOZP61XeD6XddUBXpv7d7pqjrov9brxJ++Q0oghWRMZbw1YNIDzvS9fU
B/Ljt1eEkSr89xdpS9FV/yq1ZvNCazTrbTGc1pxTKbfKjGX/UrUiB3LsMT7a0Fzv75ZXf4EpI/4a
UOKVSyen4kT7s/X09NSotC6aSvBTlXPtLbvGUlGmolWrdU+ZZKgHazhU7bdrCq8Wz4RpvYtxlI11
pe5MbFu1QM9SRAaV5Mmy32Y5pqp4+dw6ONF7gTmn1XXd7b+qIj2qpiCPHv/9D2PspPJfvbx8luN7
++tIZRwYo5cPwp35ZCkDH31aWQrJvmpIuJfUL/FkDKT4fPxZqMLqxug14k51Q79ZLbKv/fWdDryS
MahC/7euEdYqbiMM6wYfJfFsqIT3/hH58tKeDc3W29BJqQckscxFyuOk35ejkSrKF9Gf1qdQ9kZO
RRoj/5jWuqg1HaCHUtINu+P+y9ef3sA1v5tGTdNOF3q8M3uE3Zw7s/j6sDg5VtrUW81KtVW/aLZP
VyasCKHXdvaGq3PYBLcy9KfV3+ta9v3dZyOz/u60qHlv9ytbbak6D+v6jrgL/dHJqan/VRpt2bpQ
ObccCSJ78f2S9XSmt3a7Vs1R8Eb/SYua5JVm9vi3aW/uqEI8S99Uv2a1Y8vuWIblXV3xNBqN6ubL
lJAm05PPhulLf2cuD8MhI+W9f4gIaVbL8I+VRYwxdV5C3w+Vv+OI5sww81Yp3o3xizei+ofTZlsT
84WgmA92bg33Na1dq1S6ert1UWnUTo/iV+z0NnwX3GKuv1PL/DF8tru6/JeUutTjTAntVlWNRPI9
4Hrx1p4JJy7fct3tC/e9P1RVTYeuL2qCEsenKzqvpHRlnv/8WJfcTsxpH1wGzFrbdI7+JvuWra8g
hhM1Hl7peljmB9/fC2ObjGQkIxnJSEYykpGMZCQjGclIRjKSkYxkJCMZyUhGMpKx7Bn71sQch+Xq
OH8UJ4t5VneTZntX3ibXfINsYcOqXtFi7ETdm9P90bBd08Ctq0XkxxbougLVpLbgsLGKXtnYW7OL
FuFKt5o2ZDP5Y099JUPI/nDQrl9XdypE3D9+bOze3YhKtVapN2rV+kWlXqs1o90QHsIKkVARcdLv
DgY9VeDT6H18ZbMTVLMhG+ed9FvBQu4gE/6WuZDY2yf2Nt/vzambZKpdRfdteK7rJfrS5uhiIWaD
wTpI6KBSnJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwKaAZzl1ilgH+Ei3GgJmthMa
vY++kDRio35pb3Wl+NFWvGQRB/y9JNHeCjchJSn1PUOHDh06dOjQoUOHDh06dOjQoUOHDh06dOjQ
oUOHDh06dOjQoUOHXmx65EeJvjnfaxBfhO3+9/hMWG4sDDFyA3v4w4lUG81tChpdCtfTRxXjVf6K
KkStetHMX9A1blIPUaVIpzKqjWo7HUUrjWYoqavrcTHVuqbR3aBDhw5913TPETma7iULp8dIMg8c
drOZ368/XNi67wuGhJTaOu7XTUhwK9/3p2YfI0wYCCzud52aWsoh9hIpksTRO05LeEjWvP0tIMXV
aXpLzPBm+RBrIffDnIykfj2werfGYGZ6FHvdWKy+t88r1rg1ggZogAYHoEG2c10ifNz6yLgYKVZ3
2ouDJA0kn1VMwdpfjGVNgndbW62QDmSw3K1MW1tLouTmxso8Km+AT3HV/8Br5J1JnNejbMqVEqOb
7iwJK9WdT0DlHjvL2qNSquQU12v0hYJqkMa0v4MZNvcHE/oCfaGEfSG7tzgp1mCKjx5Jqju31yw7
W/Dm0BtLU5ep7+k+BMT92no/N0YjKMeWL5vguTSh9EasvfAseAj92liA+EV9+itEiziMl6LpvhxP
0oVSbTEbd8aiLXgYGRgZDmY/I8/nk13N9mxk5vLWgVdVaJDtXictZx9echZv4V5qfKG27naZZP/W
7cGr7eye2kq/bk+4qNy02lN4ui389n45nEkzHxni9PgEzShxd046XmzZn/fW63i3L5fT2jM7UNej
jPtrBk1qo3dh+bwg3u+XDln55RRtWZFbL+H9c1nfP+/P/JDCHtcGg32WCwI8/zi7mEW329PTUnk5
xZS6Dx7sLJmqV8RWD+TpvTjK821PkZfq+TxTbTEYZde/4w9rGY3KUY++RAnIK0pAoY45FtMLJLPu
vNW4kvwhnSdrXAtYlpV4WVbQ+BN0olz8c3Jd32TrVLpPWwU7fNeXvTtFeTYZ9s9Zppw7Uwz6+qFu
rJfy7UJpd+eK5Ut3iD5yRXO1xQOWPREevvGA3TzeaTHefBZu3Zf9jnFqrrsHFNaoIPtC5dl22oOj
gbt9v0IEaM4gljoaOsvBYr8bST1QV86L2j2PJpZJraJG+dRggmWRsePnS06ZHnwIaT6zcSiBjw/U
MZWDXXxnqYR+bntyspIPvGVzMKaEA3H+j0Y7ed4kAgNvewgcwk7hnk3kJdn64MMhhxX1qgiRHnmN
jdcfcS/LdQyASOlsA/G6uvCOavv3NjznT8ftWxhvotrtfCOZwFj5aZ/CC5zdbvns52nxvHyM9zdC
zh6ebsWPJ70DtcSRKNDR2tI6FxRijC/SefmyhKwgHgVvmUr/lgmPvb369Euhn4nLfvS3bG+qDiM6
TGpv9UoYBIaIzMlfSbFyY7uLwzilHOcJ2sLzDhpwuJIVfDm+/30Q4SP3+Cha0boL63YcLA4yjty+
Rm3KqE8fUr8s7jHuQ3Rm5GRxKc+xcHyUc0WogRqogRqosZ9qZHRsc+sgstvss6bwsoL3AuyHoAEa
oAEaoAEaoAEaoAEaoAEaoAEaoMGyBn+V4441CX9/8Dz7u7IWZqZeb9aPOrbsjlU20Z/YI8sW78b4
RSimUHbtX5fi0/Gno870T8ZI9Az3VY8YWO/Sdm/j8/Fn0TV1MRkO51fmhZpmde7+Z9fsy5NTVZ5p
uXwFqVWq2tnyBfEkx/0XqQvbVW2UeSnqtUb1bPnCSilgwoQJEyZMmDBhwoQJEyZMmDBhwoQJswjM
XZ3uyqvIWRQAGTaUgZpjvKHVMt4gAw244DVHYzucxlby4DXgCxHXfZefWyTJoSTh6CYHWVEDNVAD
NVADNVADNVADNVADNVADNVADNVADNVADNTJTI4ttuvTC5OGZAxMmTJgwYcKEuTPm12/f7r9diqvx
WL4Nx2JsiRlUdIW3DJ2FjTk6/80aTN7k6Nzx3jn/+vvj+e+y93djfP5oTey+dH51LFue/9PSJwOV
zDB1+afU9d75yF2Gni/dwV/6w+FJrdI6FZeiZ1kDMQNcXqokH+4UoXc9Mcxxs/6f8U59hOJ4O3lR
e6K9nbzgPbE+3+BBeXTiQRI1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1
UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM1UAM19kaNj/OD+6LGm+GWYH7+8t0Y
DDrudV9ScZyyktuX2l8BQWc9+8v3cOQ7DLv6x+gzpjOhwk+trgCdyjs60XuBqYfTA66dwEzeQd3r
bv9VafQ4do/y9qMTJyvu/JBtcBniqOE/b7uSfl4jrrFAK+pfpa61avVGU6tetDStfRRQVMP8ab1K
r6FcmboP4zabk6jjxFZERre9ReR96Zr6QH789oowUgX//iJtKbrqX6XWbF5ojWa9LWaNOuL0cSeo
US4PMZ2AXhmo4XFIGjVc9yx7Tf99Ujd/7w1HAeXwjUSLdsYRxV/87bal5SRqoOv2BsboZV0P9hIu
6RVYEmVKzVFq+HB+/pRiHHnzVu8PZc3tWc7f7uc/1Z1LR5DbiRl8h/Z0rL5xU31zj/+7CFX5voHc
UXc2F1w9jaX9m7RHzuivmtSznNaSG27g2D8qBd5wZNcKyrHatdq1qhbUtaSprkzk2s4fsxNuOcbH
nQS1yE+M3BqmkuNvTs9Vthdk96tarAEjnOi25u7YX/Y70z8xbD5kRs9NV2sNh8xTPflsmAFjQOI6
Cm6LSxNLBCqoH7Tr0ZNiBC6XblGWZjpfT1xl1mCj1ySqBB+ml+yFjxWP4669bjJ206zMs8s5nbVe
0ZYgqa23dd9Ut27O1pemxcDra2rSnzSiyS0kix7MFibrkHFrxpuNHLb73+MzMV0piJGTaCEKULXR
XINyzSnWq/wVRapVL9aQfpiTkdSvB1bv1hjMuPE+iXezmezxQuksL4HSfdC+CWl1u37YXlgb9gND
B82WhLMoRIt5TlNaX6bWm58DXmAEVfBzWKCkNIaD52ShnSLaur+YxRhsvAhTIX3ai1f1JXxwqTfr
Rx1bqso1n2dRw8S7MX4RiimUXfvXpfh0/OloGstLGCPRM9wmIQbWu7TdIefz8WehZg8xGQ7nV7bs
p8lCp9UqVe1s+cJK6LTk90DwOpgwYcKECRMmTJgwYcKECRMmTJgwYcKECRMmTJgwYcKECRMmTJgw
YfIByoJ9gLL0brwZf9Yyd5df/9czc/EK3rfjt/hI4yONj3TBfKSz8HLeru/jIw0TJkyYMGHChAkT
JkyYMGHChAkTJkyYMGHChAkTJkyYMGHChAkTJkx8pPGRxkcaH2l8pPGRxkc6kY90XI/mBL7UWzo/
x3TFLo+PNF7OMGHChAkTJkyYMGHChAkTZt7MXX45itqACRMmTJgwYcKECRMmTJgwYcKECRMmTHyk
i+MjncizuQhueVX1/7PlCym45eG1jdc2Xtt4beO1jdc2Xtsw8XSgNmDChAkTJkyYMGHChAkTJkyY
MGHChAkTJkyYMGHChAkTJkyYMGHitZ2J1/Y+O2InbGuVev1s+UJ4+906Engk6Yc5GUn9emD1bo3B
jDsieDhu6Lih44ZeNjf0BO7lcT3Wt3RDx7+c1SVMmDBhwoQJEyZMmDBhwoQJEyZMmDBhwoQJEyZM
mDBhxmXGDHWG7DBhEl6N8GowYeIyvh8u48mCge8gxHY8p2O8iT2nVVz4M3Hh366R5e6hn637PQ7n
OJzv2uE83lM6fulbD+U8+MCECRMmTJgwYcKECRMmTJgwYcKECRMmTJgwYcKECRMmTJgwYcKECRPn
8MOLJ57InbwYnsvJXdSz8HWO4faeqYt1ureSsXt+RqUO8F7ehT4RHtF5e8AnccfOtawY3954fiHt
M/rCAgcsOGDBAQsi+hPRHyZMmDBhwoQJEyZMmDBhwoQJEyZMmDBhwoQJkwjfyA4TJkyYMGHChIn7
ffHd7w8gFjhMmDBhwoQJEyZMmDBhwoQJ86CYO/1QTawSZRj+IF4BihHMACZMmDBhwoQJEyZMmDBh
wiwdk4hiGMc4xjFe2LCFsSOnJgp+mVVAw62CMkaGQ90studGoQRpuRjHOMYxjnGMYxzjGMc4xjGO
cYxjHOMYxzjGMY5xjGO8pMb5BlpJamnjL0ShWt5bnDR1jGMc4xjHOMYxjnGMYxzjGN8L43ypmy91
86XuPL7UnfSzB3zQu6wf9N5pJBziYhO/u5zxuxOFZ0oeSinGSaTUlx9/DZgmd730SG3OT3MHgmjs
RGPnkY9HPh75Ih/5cn1ey/AxK+4z0g4efrZrfzw6sVjnASDqAYBFfdEX9W+GW4J5zbwbg0HHve5L
Ko5TVnL7Uq+bzPrL9+Cf1Vb/GN36ZkKFt+cVoFN562a6TmCmkGmvH504WXHn3S+4DHHU8PfElfTz
GnGNBVpR/yp1rVWrN5pa9aKlae2jgKIa5k/rVXoN5crUfRi32ZxEDTRWREa3vUXkfVFT50B+/PaK
MFIF//4i1ZKj6yw7as3mhdZo1tti1qgjxqVOUKNcHmI6Ab0yUMPjkDT39lXPstf03yd18/fecBRQ
Dt9IFHZHSlzTG706zuA/GMjVVb1anw3dZrVQ3NnVeRNoN6qV5mKa/sAayaVElWY7VOGV1vcwrZKO
w1lEv3V/9aR7/W42kizbqWrx7bggPS2d/g9QSwMEFAACAAgA2644S/j9txrfBgAAIToAAEMAHABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTItcHJpdmF0ZS1z
dGRlcnIudHh0VVQJAAMdjMhZHYzIWXV4CwABBPUBAAAEFAAAAO1bS3PiOBC+55Sf4CNU7VTZBhuT
G4FhltragZpk9i5sQbxjZFY2Yeayv33bb9mWZBM7m0kNqcoBudXdavXXL8xqcf+A6TOmd3f+EZPF
/Rf8zwkH4RwRG3sedm6+EhdWVov7BQrRFgVYRKl8UG5vVgU/J6Wf+4RgO3R9ssHEccl+7vkBBmpt
rE5GY8NU9allaHpdUrHz7s7mcllS/zD3XEzCSHqF53hsyfWJWTgv1yTZ36jD4IBcMlQ4hmxgNWA4
TSZTfci7DJc8+9/w+ogpihjNiPNIEQlQzPbRPWA6GLJm6OWaxUfyJYosXQqSGF3s6NQ1JjcDZ8vl
HTydQsc/k6VPY3vxlP63tjYYKgP1+2S32xnaZGqONHWYOOoSVPPpD/AM7OEQZ/SZHxd3/ujnPsSl
lDzlaNikIFz6UGriJ0QcDy9iYc1k6efcQQLQ6/EJU6wg+NdGpjnVVF0fK8cEVzeXsdr4xyM4BSJK
fvO/KcQ/K6FMRpPW8xOlgIJckmQDkOx8ekh3JFbJ9yXOKnCn5Lrukf0NVHoAV5BZ03GdRZ2+2Ze7
uSjXBzNNchlAuGaxendHU9D6h2NE6XBIfFLm8nCybRwEoMoHxU6MqYC8ILKiG7BBbTIdmRHDnJXj
BkcU2k8fn/PIVZzGGKnqsAS3KK6IDhfHHAZAyuAWbDOemJo+GU9Nqx7KJIZuRJoR21kU+mqxvy+w
jdXXBxsj49XAFnlUATXWsvoE7lyEu8i4LIrinWr0Z4GTTaOdMhiuK9t7uRXVskb6G1rMsHfScwch
ouFfCRznoMQeM8m1oV6hGIVYtLdesxiGoQvvbov3LmG2r8pX8dL65E98gNAA+1hudWmd6o5e3MQw
x1buJuIAvWYjU7vwXKjDfAAN5tH1gTQlq1/hvs5u+JQHZzYym5aqFEWlUsTN2NdsQNhI05BjTaaa
MRretHexJB0xC7GaFT/iZpmvxz1FDv6MsYOdNtnFmugQ1PCZs/6CrMMU2zEO1tu/wThJ3PkA2UW5
HdZOVqOMD1Z8BFSfwjWdOU5ta3qzG9Hz1HVyHyv8s6T9WFNbqLUmicuJHJF7jjLLzAObFBphtZR6
66xruGowqaQrqtMKolEWXGsbBPGE5wLIiS5EWT9kuFotFE0faWMDyjCoxQBSKTuWV+lwwOIzPjNs
84gm2/LxuxtEwK7rXXK1M3VDdu9DBFNpOIP4sxEZ5sJbUgY28rwtnGIoTzIgc87zNkF8nPfvmaXd
PBEsWkrEeerI4/GaJF14r/DNYkYTatnYUluT319OJqlHchI5pvIIJoBS0jx9idIEz2vbPca2T4US
ACIlghKD4mEbHGwuMx/r9WIfFsb4zq674XgKk1HTTu1CP26bN02e63bJWv7h4IblVHx2PW8er8tL
jG6W7K51Y4KtnqGUImsPG4JvYijZtLBqMdl0I8uN3E2i/CghFqayZFOe8qTJa+kSN3hqm7242rQx
4kVpiyel3BFBc2p1Gb2KkiDPe2ppjAMfrta3AhqIJFufNgBt50b5MYsbP1+bVbEKE8DKpw4lxuT3
KyUSiI9o64GHNgE/J6zcHlcTEAXBPJrbwMdnrITSq/AlbUeSNpcnwj9h2nws2ORab8miu05TyGwX
Ylpq+eYpmKujbe6BpdDi7eB8QTLSVR60MIGVE24Ef3sQdkkNF/acArwnwe/3CAUgWzjM+bnAJ+YY
ezMqhfeepkENKW3WKLjtOIn97qbt/bRJiYLurikVSRTgIcca99YvSiS/CebeCwaKYmX2amiQFzyg
QSa6Ik8ciGKXaKg7YppaSVHd2fGr4NevFbr0AGyT2lQQOJWcy11vuEmWVOJyJTJ5pFy0aLN7bOTb
4GTxMoO0a8mrlU+/bflC4A9v2prLysU9DkU14iccCszUBTH7jGsTXPas+Pqi3C8KOrHDMTRyiIgN
cZm/CNBV6MEBzzPyTnjp0z/wj1bY+XSpgdqhpi8TcCDziecQb4oXFDXDtVWXQCNEkDfLnpZnVS06
6C6wiXXKLATJMnnXKj1lILo5VFGKz3ZFNtTfUzBykURZ0NW4yF0rMZ+kKahaqsWIasbbIxoKi2nF
1Xi0hz+f4syhBWPmvodb3EO3sP0loy2ejHITYXLfdmzbpr2TL+NnTUDJaGrlLh/33YZsM24A+nVn
Wm2LlOsk6joZ+v8mQ9cBRPcBxHvJD72OQ67tlHzccG2IJA1RED0NTl4I6oT0ZIcn4Dv3fIKvrwBc
XwF4B68A/Dpf67+X5PbzvmTQ2AKVngahf5T9Mkvws7b+2LAvSsc8Ck+yDF0zKy8b137jaBmaaQkv
SvpbyTLrA/qxxfH6Ko1NVTnQyLSWk/zwUGyn/wBQSwMEFAACAAgA2644SwYgPHXgBgAAsDkAADsA
HABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTItc3RkZXJy
LnR4dFVUCQADHozIWR6MyFl1eAsAAQT1AQAABBQAAADtW0tzo0YQvvvknzC3lap2q3gL6SZL642q
UpGy9uaOYCQTo0EBZGcv+e1pQMDAPABLju2Ktsq1xWimu6e7v34hLeY3dzh6wtFkEu4xmd98x38d
cJzMHOLiIMDe1Q/iw8pifjN3EmftxFi0E31B11eL16PnHffPQkKwm/ghWWHi+WQ7C8IYw27VUEa6
YVqKNrZNVWM5VScnE5dL5TYKd7PAxyRJuTdoGoYtlycj4b1ckvx8qwyDneOTIeIosoXUgKI0Go21
Ic8YPnkKH/FyjyMnJTQl3n3kkNjJyN77OxwNhhIRQsnBWz8CBxCffXCIF+DiuRQhBuHvH3CEkQN/
qm5ZY8W0DBvtc8ulRrkFNmH0E6yCA5yUNAofqvR9H5b24+6UfMqRmFkaDNFA+Xu02WxMdTS2QOFD
ONl65YzZWTSjKppmlJrpR2oV7vfgvw5BpRU/IxI+o0TGo03q2SGKwANLTpIDsGUTRrvjiVwr5bnM
BgNvzT2Zm+vGcR9BpDtwBXx19/uvfpLuolcnky1OltHXGA4GfvxQUFiQTQgMCkwDJ8FxlhHKluAJ
bfwAo0/XnxAI6/nxo+Smnu/NWZEp/3NTADMHeQb9p80JdTVzQhEMCklKHrBxSUfkySQ6huZwt093
epwtIalTuTu4Lo5jEOULcnN7IuAXp4b0Yzqmjca6lRIsSYHq9k7iPnx9KgNXdRtTV5RhDfFp9hBd
LsssFIbR4Bp0Y4wsVRsZY8seMglLouhWsJuZnkUJjgn958K7obw+3iker4b31KMqtNOa1UZgcxH0
U+XW8JieVOCfatp4NIaTJ0YCKYqXDe7nSW+2rWtvqHDT3SiyJA86i5I/cjTPQIgtplJ9S7UTYSfB
orNsxWOapiY0/RpvfUIdX9RN8dLqRuAvTW7S4iL3jJ4xtZKTegA2s1RpaYapvBI9+8lDGVHpcGrZ
CqoKQVQFu8zCrqLYuqo6nj0aq6Y+vOpu2Py21EImJkchTGr4sd9Gjod/w9jDXpeUYI80iET4mbP+
/mrPnomLKtczLCzXf4Kp8tD1BRIUuh4yemZ2ZmquHgHZBwhmU89jjh79bCX6/HiR8saVtmrSG6rS
QawlyQEgggX3HnWSBR7aBNKxUsveLGnGyi0qlfRV7F5BRCoCLHNAEFN4LuB4qUHQ8q5A+WKOVE1X
DVPXjLFq6FAvSXPSSiRET42ggesEwRoEHsqDOvCc8SwriIyz83tB7TSPBe2Ztc1l0Cgj8ZLkPfNZ
oVLgsw0hNI6ZNbn9ym2S/F9ukftvGS2kXdD3NEGAw0bZ/9efUZjpG8WZ81Auq5ma3UIKu2GUjk4e
8U8ZJdW0hJQAN13JQD2rdMLQqp/qacSI/V8Yi092+xXHy6g8fGzKemKga36zeG5/SnYJdzs/qafM
Zz8IZtm6vDA5TZOnS92aCJt3qKUy5sOWwJ0rSjYXbGpMNkspchj3kCiPyTf3E5dKYVyyXbTRK3fx
uNTbEGgo7Rf3E5JMyHMDJpdxcMCV+lqwB0LCOoxaELPx0yRZBID3V2U3tEJFovqtE4ky+e1KbQsu
5gFtCC43NqzHlQRYQVROZy3w+IRRIjVFKKnz83R5eyD8Gx6r/TmVVDkdWWrrYy6YbhIc1Tq+3Gey
Lq02EedeWAot3gnOOw1dU3jQwgRWDrgV/N1BeEqM79nkCfB+6xNQxy8pCoC3cILyvsAnpph5M9TZ
5x/BtOSmaSvjnjOc3jbi+2IjsUhI8XBgG/KkKCH3JrD4KG5a1RPTV3NYeU0CEhSsG/zEseIuncW1
lAbZHibrN09KZ9jvIZ2fUm/T/WNbzvYaaZG73mJJeqvE5Wrb5MGslqzP03Abmmmdp+HWtXELpR/k
EGPvJgjXt35wpBt3QuP8ZWrv1mQ3S6DzNtpzgde9abMtqxu3OBEVi99wIlDTKbjcFlTbQLml2bOL
cr+o9okdjtojB6JYEf38Rfy+sYa6VhTr+qjbpPdbX211g9C59MHBzzeed7wpeJy0RWZWfQLtEXGC
afFpfRTVoa8+BUOZTIWGID/n34073jIWWc5pCMUnuyCrKNxGoOQqb9MIZKjIXStXn6RVaGqqwwRq
yjsjGv5y6XcpCXkHO9y1z4CJx6Ne/Fvcrwl+1G/jCeLJtM0xiz1MRcvH2WmjrikX8P/fyVLXCuEy
D7rMZ/7b+cxlznD6nOGj5IizTj0u/Yx8qnDpSLp2JHH6aXwIEhAniQ5ucgC6syAk+PKK/fKK/fKK
/a1fsX+U9PZ+X/i3NkLC31ewv/Fr0oI8si96IvrLxtlq5QK2qalW4yuyzG/7bFO1bKGGpb8RrJPe
OT/XOFtfHCNJkw/0IZ355D+4k978HAr8F1BLAwQUAAIACADbrjhLwN3hSYYGAACiPQAASgAcAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMtcHJp
dmF0ZS1zdGRlcnIudHh0VVQJAAMejMhZHozIWXV4CwABBPUBAAAEFAAAAO1bS3OjOBC+55SfwNGu
2lQBBox9S/A4m9rasWuS2TsG2WYHC6/A8cxlf/uIt0APICabSZZU5WBotVrdX3/dQvCwuHsE6Bmg
+Tw4Ari4+wL+OYEwsmzoAN8H7tVX6OErD4u7hR3ZGzsEPEnpRrq+eij1uZm8FUAInMgL4BpA14M7
yw9CgKUVTZ5ONN2Q1ZmpKyo9UzlyPneYWpYoOFi+B2AUz17TqWmm2J5EhftyS9LxjTaMDrYHxxLD
kQ2qRoSm6XSmjlnB8OBz8A2sjgDZsaJb6D4hG4Z2ovbJOwA0GpNu6CXM/CUFAkOWHsIzEbY48aop
JVcjd8PUHe5PkRuc4TJAib9YRv9LXRuNpZH8fbrdbnVlOjMmijxOgbrEpgXoB0YG8EEEcvkcx2XM
n4ICQ0xJwV2GhU0G4qCPhS7e29D1wSKZrFks+10AJMR2Pe0BApKN/5WJYcwUWVU16Zjm1VU3Vevg
eMSgsKFURP43CQZnKRLN0WS1dUIIZ0Exk2AAFtkG6JCNSL1SjEvByoFTGq472/mGTXrEUBB50/Xc
BS3fjOXLIMrEYG5JMQcWXJG5Op+jLGmDwzGWdBkiAaxqeTw5DghDbMqN5KTOlPB8YexFLyRJbTqb
GLHCQpXrhUc7cvafngvmKlejT2R5XEm3mFd4i0s4h0ggaXSNfaNNDUWdajPDpKlM4OjGTNMTP/Oo
j+L+vpJNk18/2Yg5Xi3ZYkSVqUZ6Vp3imPPyLnYumUXJSDn+MzHIZvFIURquasN7iYpsmhP1DT2m
O1vhusPIRtFfaTpa2IgdIIprQ7+CgB0B3li6Z9F1XeXGbgN2HiSGP1RD8dL+5E9wwNSAx5Ha6Nku
6jt6gYluaGYBEz5Br0hmakfPpTnED2yBFYcPzybl/SuO19mL9gU5k8xsmLJUNpVSyZsJ1hycYRNF
sV1zOlP0yfiqPcTSckRcSMys4YhZZb4ed8h2wWcAXOC2qS7mVMWkBs6M6y+oOkSzneTBavM3dk7K
Oze4ukjXY2pllGSysPInzupTtEK3rksNzSK75t3PoFNgrMRnxXpNkVuYtYIp5HhAZK6jqjJHYJNB
EyBXSi+tmsqrBpcKdkW0LIeNcnKlBnD4hAUB240DIq0e87x6WEiKOlE0HbdhuBfDKZWpI3VVFodV
fAZnQm3BaKIhn757YZzYtN0VqJ2RF5FjH+M0FdIZ5p81zzEdoySNHNv3N3gVY3GRwXNaLLRx+NHq
H5mV0awpyGypCBelo+DjFUx34b2mb84ZTVlLcgt1TRy/QkzQjxQi4pwqGIyTSunm6UtcJliobXcb
OAHizoBTpCJQUVDebJMH627uI1HPxzCX4y+G7pqBFKKiZju1jjhuWzeNet1MYyXKVabEByq81Pqa
UpjpEP5NMSppeQHkaVlxmi+oAcJ874+x26Tt4lJPdSlfC9YChc9fXrV8LUSYe4vy1U/3OfSPQ/84
9I9D/zj0jx+8f+yv7gSHgxdVO8qz5/tWcl38iOoyT15udWOJrK+hUiKpmw3kmzpKdNpc95jodCyv
jcxBvPooEOaWsnRQUfKExWvpQS/cA7eTbKtKx7S8jcM7lTjWLNWn71NZNi855ucVTBbSqJLHSDWm
1dccGcw6mwA1JOXWi2tpzjG/3iP9mlcIsquuOhI4k/1svCKCudTe+BihTSRRCNaix7QET4WJPz4j
xD+fgRQJQxEIdtppiV2eoHjCj7j0HYh4zxfuQZT1DfRZRwzsrLbebiOAKmcpVsZy9XdGmEsU8ghr
BOPNo4kqs3gEQHzlBBqZrvuLRe9/Jf216t3GdjzS4lB8Wu9+j4kPz809K/61+JavMcliu1LRezps
buh4bhsnbntaTT70axsfNoZrfYRAFSt/TE3cAwnUXZJODeXkxRnzXhBcdpe3r4blhgeinptPXZuP
TyPJ86GGRjGRoXrA+sgL3xN9/eburbalw8byv91YDhvAYQP4oRsS8a61bbvysiOHS8LXy3HF/6tw
v5c3IHttI/osoLt8B99UQ3fkVp++KA5gKcd3OiEjJoDyoQMnlXc1gUpGPdv+CSwD9Af40Qrz912X
2O64o/LkpN/zjntWSItNdRjfDU9+hM2J0MmJTliv5QcQDOciw7nIBzsXGVrdodXt7ayjcjeMgqPo
00jOd6W1TwwSHSUETF1VjNrbgtTXwaauGCY33sKvjKuqD/aPDUiuP2QEVJ9HldvPk36y290dXK+y
b/wEUEsDBBQAAgAIANuuOEuEowY2uwYAAMk8AABCABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2lkYm9iamVjdHN0b3JlLWRlbGV0ZS1mYWlsdXJlcy1zdGRlcnIudHh0VVQJAAMejMhZHozIWXV4
CwABBPUBAAAEFAAAAO1bW2+bSBR+z1N+wrzVllqJq8F+S+yma2lVZ5t03zGMHTZ48AJOmpf97XsA
AwNzwcSO6kRUiiqPz23O5TtnGDyfXd/h6AlHk0m4xWR2/QP/u8NxMnWIi4MAexc/iQ8r89n1zEmc
pRNjESX6gi4v5pU8b08/DQnBbuKH5BYTzyfraRDGGKhVQ7F0wxwp2tg2VY3VVHFOJi5Xyk0UbqaB
j0mSam/INAxbbk8mwnu9JTl/qw2DjeOTIeI4skXUgJJkWWNtyAuGT57CR7zY4shJBV0R7z5ySOxk
Yu/9DY4GQ9oNJwmzeEuhxJAbPwJNYt4Hh3gBLj6XW4pB5f0DjjBy4E/VR6OxYo4MG23zTEh3dwNq
wugFoowDnJQyipys4ncflvnApZR8y7GYWRoM0UD5Za1WK1O1xiMI4FDqrv2WM2Un8YyqaJpReqab
qNtwu4UAOwSVUfyMSPiMEpmONqunuyiCjC41SRiAZBVGmz1H7pWSL088b8nlzMN17biPYNIdpAK+
uPvrTz9JqejVyWSNk0X0NQbGwI8fCglzsgpBQYERoEnAzipC2RJ8Qis/wOjT5ScExnp+/CjZqed7
M9ZkKv/cFBAYRl5A/2tLQl3NklBUBoUlpQ4gXNClP5lEewwIN9uU0uOQhKQu5W7nujiOwZQvyM3j
iUBfnAbSj2mMtMb6KBVYigLXbZ3Effj6VAJhtRtTV5RhreJTmBJtLoMwqobR4BJ8Y1gjVbOM8chm
kVHi6NZiNzM/i5CUaSWnqndDeft6p3S8Wb2nGVVVO+1ZzYKYi0o/dW6tHlNOBf6ppo2tMXAeiQTS
Kl40tJ+mvdm2rv1Gh5vuKnW4UAz4LEr+zqt5CkasMdXqW6anCDsJFvGyE5Rpmpow9Eu89gnFPq+H
4rXTkiBfmtqkw0WeGR0xtbKT+gBqpqnT0g5TZSV69pOHElFpOB3ZCqoGS1SBXRZhV1FsXVUdz7bG
qqkPLw4PbL5baiEzk+MQpjX83K4jx8PfMfawd0hLsC0NkAg/c9bPb/bs2Lio8T+rhcXyHwhVDl1f
oEGhyyHjZ4Yyc3P1ESp7B2B25XkM6z7PbkXf7zdS7rjyVs16Q1UOMGtB8gIQlQV3H3WRRT20GaRj
pda9WdFMlFtcKjmnsbQCRCoAlmEQYAovBRwvDQha3BVVPp8hVdNVw9Q1Y6waOsxL0p50KzKio0fQ
wHWCYAkGD+WgDjqnvMgKkHF6+iyocfNU0JlZIy5Bo0TiBcnP4CctlaI+2yqErmNmTR6/kkzS/0sS
ef6WaCE9Bf1IGwQkbJT9f/kZhZm/UZwlD5WymqnZLaKwG0bps4VH/CKTpJojoSSom0PFwDyrHFRD
t91cT1eMOP+FWHx02t9ysozqw/tDWccaOLS/jZr9LQ+trM65FB+oQTL7ayt/rkPEX8qzkqWXpDxL
K4eIGcMgLfB6EEV1aShGC1D8JLsYe9dBuLzxgz1sxEcW0iFAMDvW912a6YyXBdKHN2/aTGeyLP4d
zfQ0c2c/OfaTYz859pNjPzmeyeR4uv4QbjZ+Up8ln/0gmGbr8kdax3nyeKtbW1lzD7VWxnzZAty5
o2Q31E2PyW7hih7GZRL1MTlxN3OpFsYVe4g3OvUunpb6A2xLUexj7u1FnZCXBkwv49QB1+pLAQ1A
wjKMWipm5adNsgCA83s+2/AKhUT1XScSZ/IfdNdIcHGT1FbBJWEjelxLQBWgcnpLBx+fMEqkoQgl
B+C8Xd7siFzhR9z6GieiY/83nOStn3NxkSb2vvFdrRIc1S5G8gLJLjNqL45wtyjFER4H51UiXVN4
OIIJrOxwK9J1f1Po/e/kdDN4N96ON0ICiL/xCbjyjxT4QLfwuvW88FYsMatiOFqd/r62ZRy5alXc
8cK3c4z4edyYJSSieDVkG/I5SCLu9Y4+YPC6erMwtzxw871CdUNfeyN8da2fV+1xRCXOI/6OfyU/
doQANDeScu+m/Sk3JMELinfbLUx8MVLpfvsZgUnoGTQHEXa8F/TgQENWJeB1l75J0DKeZjTM5Nnk
5PT633U27E93/emuP93108Zx04b8SNplFnkvwTjn6eDsHle8t4a6Lk7Qbb1tTR+12UV5ACs6sdMp
GnmNVod+8avBtQuB1nsKXbcOu1r71nW/h10M1B5jnPZm4BsvvuUJN06/jXdBAuYk0c5NdiB3GoQE
9zcI/Q1CP2P2M+aHv0GofQudYVs8J6Lfq89Wq6DapqaOGi+7MT+LtU11ZAsjKP15bV30xnlZ4mx9
vseGph5NOVxP/ltV6c6Fv8Vif3jamZqv9H9QSwMEFAACAAgA3K44S3jKGZxFBgAAmDMAAEcAHABz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0LWZhaWx1cmVzLXByaXZh
dGUtc3RkZXJyLnR4dFVUCQADH4zIWR+MyFl1eAsAAQT1AQAABBQAAADtW01vo0gQvfuUn8DRljYS
YL7sW4LH2Wi1Y2uS2TuGts0OBi+048llf/sUYKChP8AxUWZGjpSDobq6uvq9etVgP87un1D8guLp
1HOws3ISZEdhiFzsR+EShZ4fbuwgSpB0KymabI413ZDViaUr6uBr6P93QI+z+xk1cjp1mV7mcbSz
Ax+FGPzdNHxqmjV4FMWTufDeHkk+vjWG4c7xw5FEOW11NSQ8meZEHQ0YPvzwJfqGFnsUO6mju9B7
jp0wcTK3z/4OxcMRmYZoj8LZ/RcEfhJsO6GLggB5LM9syzSy3v3xUxQJFjb3Y5iJiMVNs0g5GQy9
FdN3sj1gLzqG8yjO8s8K+n/q2nAkDeXv5nq91hVzoqtIHuUZmUNoUfwKSEMBwqiwLxJWYeg5KjHJ
tBTcZUTYEqABIBoJU7x1Qi9As2yydrPT5xJwCcT1vEUxkhz4V8aGMVFkVdWkfc7TwXmultF+D6Bw
Qqnc+T+kMDpKWDRHW9T2IY6BVeVMggFgso7i3WlEnpVyXA5WDpzy7bp33G8Q0hNAQZRNz/dmtH07
lt8AUWOsFBBlYrCIpJwDDBckV6fT+ETaaLdPLT2GSRTWvTwdXBclCYRyK7l5MiWYL0mz6CdkkTQn
YyN1WLry/GTvYHf76aWshAThxrI8qtEtrSu8xWU1hyCQNLyB3GimoaimNjEsujQKEt3KND3LM6/0
UVrSF9k0+f3JRszxbmRLEVVRjcysasKe83iXJpdkUTZSTv8sANkkHSmi4aIxvJddkS1rrH5gxnR3
LVx3gp0Y/5PT0YYgNogQ15b+J0YORryxdA+k67rK3bsV2vghMfyxvhVv7Xf+RjsoDTCO9EbPdlHf
0QtMdEOzSpjwC/SCrEzdynMVDvEBIrDT7YPZpKIfhv06+nhbFmeyMhuWLFVNqlTVzQxrLjBsrCiO
Z5kTRR+PBt0hlssRcSELs4Ejpsp83W9ix0OfEfKQ10VdLFOFooaOjOtvUB2iec94sFj9C8nJ684t
qIt0M6JWRllmC6s+AqsPeBHfeR419LSzS979E3RKjFX4rEWvKXKHsBZhDjkeEJnrqLssENgW0BjJ
NemlXVO8akmp4JRF23KqUVFcqQGcesKCgOOlGyItngpePc4kRR0rmg5tGPRiQKmTO9JXbXHg4jM6
Em7LiiYa8um7n6TEpuOuQe0Y+5gc+5TSVFjOoP4seYk5c5ekoesEwQpWMRKLDMxps9DGqY92/8is
jWZNQbKlZlxKR1mPF2F+qu+VvkXNaGMtWVuoa+L9K80E/UhpIuZUWcE4VMoPT19SmWChtttt5EYx
dwagSM2g5qC62YUHy/PSR6Kej2Fujb8YuksGUghFPZ3UzsRxV900mrqZ75WIq0yL30h4qfW1UZiZ
EP5NMSppewHkaVsxzWfUACHf+6vYXWg7uzRT58jXjLVA4fOXd5WvmQhzHyFf/XSf1/7x2j9e+8dr
/3jtH3/z/rE/3Yl2Ox/XO8qjHwR2dl38iOqyTF4edatENtdQk0jqZkvxzRMlenvdzJjo7VihjcxB
PH0UGHOlLB9USp5QvOZ+6Cdb5J1l20npmJF3SfhZEseapf703ZRl65KvDfAEk4U0SvIYVGNGfcOx
gaqziuIWUq79VEuLGvPzPdJvZIUodvVVY0Ey2c/GayZQS51VAAhtKxKlYWP3mJHAVFD403eE8PEF
SVi4FZHgpL1BmHfIfkD4JJ70A/90d08Cc7fGKK69ULBPVG9+cYK5RCGZWCMYX+cZqzKLTCiEKwfU
SvfutLtEOM58o8FheF7u/kxxD3NzXxX+XHTje8zw69QKek/vGlsE76514q4vK8lnPl33h43DhowI
XLE4YGliCRS4+yhKUJXoV4Ft1VHcvRuAWx6C+V4xdWM+fu3Ingm0NAeZDaX7zZEXfjfw/QX9kqZ+
U+hem2RvSIGkL4o3sLLjZ4OwEVezSqo5VWvTMKgx78UJDmgexX+h106Yfzh3id1OyrV+o9+j8gNr
S0tBTtK7ySHAEA6ODy4+gF87iEJ0PVJfj9S/wJH6evS9Hn17O/pyv69L/5qg6SvB0Z55CiZvnOef
/OJa5qNCkqWritF4B039hsXSFcPiwkb4W5i6653zukLZ9cdTbWrOA4fQzvPkPywZ/ABQSwMEFAAC
AAgA3K44S9g5ZddOBgAAbzMAAD8AHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0
c3RvcmUtZ2V0LWZhaWx1cmVzLXN0ZGVyci50eHRVVAkAAx+MyFkfjMhZdXgLAAEE9QEAAAQUAAAA
7VtJb6NIFL7n5J9Qt7aljsQO9i2xOxlLo7GnncwdQ9lhggsP4GT60r99HmCgcC3g2FEyLbcUtSje
Vm/7asHTye0Cxy84Ho2iLSaT2+/4nx1O0rFLPByG2L96JAGMTCe3Ezd1l26CRZToGvWupu8nz9/T
jyNCsJcGEZlj4gdkPQ6jBAO1aii2bpiWog0dU9VYTTXnaORxpdzF0WYcBpikmfYDmYbhyO3JRfhv
t6Tgb7Whv3EDMkAcR7aI6lOSbHuoDXjBCMhL9IxnWxy7maAb4j/ELkncXOxDsMFxfyAxIZIw3gUx
JICY98klfojL58qEBIx/eMIxRi78qbplDRXTMhy0LSKXBeUO1ETxD4gKDnFayShzqPb3Q1TFj0sp
ecuxmBnqD1Bf+dderVamag8tcPgAOFunnCs7i2dURdOMyjPHiZpH2y3kr0tQFcWviESvKJXpaLN6
vItjyMBKk4QBSFZRvNlzFF6p+PIY9P0ll7MI163rPYNJC0gFfLX48/cgzajo0dFojdNZ/C0BxjBI
nkoJU7KKQEFZ06BJwM4qQvkQPKFVEGL0pfcFgbF+kDxLZuoH/oQ1mco/LytghpEX0J9tSaireRKK
yqC0pNIBhDO6I49G8b41R5ttRulzSCLSlLLYeR5OEjDlGnlFPBHoS7JABgnd0+yhbmUCK1Hguq2b
ek/fXqrGVc/G1BVl0Kj4DD1Ek8uRhaph1O+BbwzbUjXbGFrOgAEsiaNbi93M/SwCOKb1n6veDeX9
653S8W71nmVUXe20ZzUbYi4q/cy5jXrMOBX4p5oOtofAeWInkFbx7ED7eeDNcXTtAx1ueitFBvLg
szj9q6jmMRixxhTUt6x2YuymWMTLrnhM09TevkwRpMwSrwNC0U9JF+Q45JIuLorMOLKn1hZSD6Bm
nDktQ5g6K9FrkD5VHZVup5ajoHohiOpml0fYUxRHV1XXd+yhauqDq+6BLWZLDeRmchzCQMPjdh27
Pv4DYx/7XSDBsTXoRPiVM/751p5HAhe1XM9rYbb8G0JVtK5rACjUGzB+ZihzN9ePUNk7aGY3vs+w
7vNsLnq/n0g149pbDesNVelg1owUBSAqC+48miLLemgzSMdKA71Z0UyUW1wq2VextILOUjZYhkHQ
U3gp4PpZQNBsUVb5dIJUTVcNU9eMoWrosF6SYtJcZMSRHkF9zw3DJRg8kDd10DnmRVbQGcfnz4IG
N08FnZkN4qppVJ14Roo981lLpazPtgqh65gZk8evIpPgf0Uiz9+qW0h3Qd8zgICEjfP/e19RlPsb
JXnyUCmrmZrTIgp7UZwdnTzjHzJJqmkJJUHddBUD61mlUw3Nj3M9XTHi/Bf24pPTfs7JMgqH95uy
I2ugK75Zh/hWhFZW51yKXwggmfm1lT/XIeKX8qxk6SUpz9LKW8SEYZAWeDOIoro0FKOlUTySXYL9
2zBa3gXhvm0kJxZSl0YwOdX3x4DphJcF0sObdwXTiSyLPwJMz7PuvKwcLyvHy8rxsnK8rBw/ycrx
fPgQbTZB2lxLvgZhOM7H5Udap3nydKtboexwDg0oY162NO7CUbIb5UOPyW7hSgzjMolwTE58nLkU
hHHFdvHGUdjF09I8wLYVxXnzAbYECXlpwGAZpw64VvcENNASllHcUjGrIAPJsgF8vvPZA69Qnag5
61TiTP5Bd4MElzdJbRVcER5Ej2sJqIKunN3SweMLRqk0FJFkA7zGqWjve4/TAv84p/dZdPfd/2aV
4rhxO1BkSX6i3/h6gjtFaTHxODjfv+iawismTGBkh1vLvXvZndLVj7wQEFT4XUDAHb9leQ+6hbdt
n6vcxBLz/IWVtfja7dy3fHs0umlVTB+xdPW7DNK4F4VtUCJRy6sDx5DDoETcR5UF043+L6lbrypu
3i2JW06TAr9UzeauoH8ssrvclgVCTsNg/yGn9BuIzwDqp6y61yX2tcH2mgZJdlAewJpO7A2KRt7R
argWf9nS2M+2brN13e52MnR/7Hy77WsbC5DzbmzvefGtEDrJ3ia7MAVz0njnpTuQOw4jgi8b4MsG
+LIBvmyAf/kNcOMtIMNW9l2b4EcdMjH012X5aJ0bjqmp1sGVL/NjDsdULUeYCNIfhTRFb9wfS5yP
T/ct5lAPbC476yl+YXGkn/4DUEsDBBQAAgAIANyuOEuhwZWCVAYAAONIAABDABwAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldGFsbC0xLXByaXZhdGUtc3RkZXJyLnR4
dFVUCQADIIzIWSCMyFl1eAsAAQT1AQAABBQAAADtXEtzozgQvueUn8DRrtpUAeZl3xx7kvVhx6lJ
Zu4Y5JgNBi/geHLZ377NwyCBJHBwdjwVpSoHQ3er1d3fp0bCXsxvH1H0iqLJJNyhYH77Df2zR3Ey
swMH+T5yr74HHlxZzG/ndmKv7BixJKUb6fpqUdlzC/lZGATISbwweECB6wXPMz+MEUgrmmyONN2Q
1bGlK2pzpEpzMnGoVu6icDvzPRQk6eg1m5pm8f3JTLjv9yTXb/VhsLW9YChRAtliaoBZMs2xOqQl
wwtewxe03KHITg1NA/cpsoPYzsw+eVsUDYZ4GM6SZvaUQo4jd14EI2G+OOmsG0auBu6Kajve7BM3
PAR3YZTFi+b0v41rg6E0kH+a6/VaV8yxMVLkYV6od+BaGL1BZSAfJegof6zjKudPYVlDVEnOXYqH
bQ5C0ofcEG/swPXRPBusXaz4XBZIDH49bVCEJBv+lZFhjBVZVTVpl+Pq6jRTD+FuB0VhB1KZ+T+k
IDxICW+MNq9n+ygCFJQjcRRAZB1G20Ijj0qplxcro5zydN3azgu49AilwIum67nzpnx7LfcrUWoN
Hj0pxwDBJY7VySQqQBtud6mkSxEJA9LK495xUByDKzeSkwdTgvHiNIpejJOaOR4ZqcHSlOvFOztx
Nl9eS+aqZqOPZHlIwC3lFdbkMs7BACQNriE2mmkoqqmNDatJZZxAtyJNz+LMor4G958LbJr88WDD
xvgwsKUVVUENj6xqQs5ZuEuDi6Mo05TTPwuKbJxq8mC4rKmfJSuyZY3UXxgx3Vlz5x0ndpT8yOE4
AyeeEba4tvQrEbITxNJt9iy6rqvM3K3Qsxdg6gsyFX+hLUAcNPCrTa139zF9+o6zlIluaFZZJmyC
XuLM1I2eK3ewD+DBLE0fjCYd+1fI18FLNiU548xsWLJUNZVSxZtZrTmAsJGi2K5ljhV9NLzqXmL5
coRdyNys1RF1lfm+e45sF31FyEVul9XFMlUgNXSgXH/HqoM12xkOlqu/ITg579zA6iJdDxsza0hm
E6s+Aqr3yTKaum5DtcjsA3b/MygS9wt4lDiqMEhkSFPkDqFfBjmsWGCj5oo0eURZm0MjJBPtRdN0
gztayobz5NeUZTDucQFpKDC4llbmtpsmRFo+HrljMZcUdaRoOrSa0G8CbRTmcFvE5MDEV3TAzAIb
t6t8+enFKXk1/SZK7RB5Ca77mFIRl7KBYx9YgTkxS9LAsX1/BbMY8hdSGHNGqzbGGjA7f2US2rQh
cLQQwuXyWK45yyDfaTgrfI+c0YZaJrd8UgONa/waLsU4fSfPegvXPJzoBYOJXtBbhv94EXTgrfxp
/Fvad9Aoottt5IQR0x/gI0KAMFDdFDH97WJ6WrD6ZQAPWodp9Qw7LSo9U/EhMb30Ajwfn3aNX5fe
5fcNdrd44q3VO/mBEqzTxxbmOebZHSz+hHdJIudtoh8o/Rq2f1Hsi5/YUXfdpTBoTXSf52cRDREN
EQ0RjdOjsfUScsP04Pn+LLvO3wjuF8n+XrduEdbnQGzyNW62bB/lgeK901GPGO8M+ri7R1Vi7fBx
hJmbcbnSYNhl++3OC7x403X/jepNlyCetPFGG4U8tzJl2erzggxrG49WPY2NOAp8qF5fM2SASVZh
1AK0tZfu8B154/IOw2pRwQiMnHXCCSb9VIkQAX60Vz5UaBvwS8Fa9qiewFBA5unpOnx8RVLCTUXI
ORx6RsnU91nHJvfZXUwhfwSKKYdnab6LZWS6TlBEHM7NCkDXX0KiTpoLL5oG5VW2kSrT4IUCuLJH
rQTQHYh9locTTwcZmM8J8M8UCTA289j9sgDItphVtE1QfO3c/gzvFXYOG708anzPMUUrTUvjr1Uc
c7+kUi+scvjNybS1fLq+9tGln5h+WLHyexLw4Dj0ouv7RZf10kl2atrSqGQyjR6krklZ8Pq06fmC
WKxzbYs2IYwTDHmDn0xSlp2EmhwfB/eEMKPmu45cFfz9e+fVbRPvvh7P8z4F37Ny+38/Cp+pBRNF
37vo+9WYgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAzKd634r5UwnNH3Kp
fac33BFnpZauKkbte7GNn+OxdMWwmNnm/qwPaXprv61Qdn1RJK0+jiqfPj0ikMUMr9k3/gNQSwME
FAACAAgA3a44S4pfR9qxBgAA7E4AADsAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2Jq
ZWN0c3RvcmUtZ2V0YWxsLTEtc3RkZXJyLnR4dFVUCQADIYzIWSGMyFl1eAsAAQT1AQAABBQAAADt
XEtzm0gQvvuknzC3SFVJFSBe8s2WYq+qdlfa2Nk7EiObNRq0gO3ksr99GxBoYB6AhWInJlWuFNA9
3dPdX3fPMGI+u7zB4RMOz8+DHSazyy/430ccxVOHrLHvY/fsK/Hgznx2OXNiZ+VEWESJPqHB2fww
nrunnwaE4HXsBWSJieuRu6kfRBioVV2xxrphKtrENlSNlXTgPD9fc0e5CoPt1PcwiRPplTF13ab1
6Wp+t6FDIqdQa7vzcYzdxQ6HTnLv1tvi8MoLgWGofLM2m42hWhNjjJURw73LplLHq6scXpC89eIF
yaaXPD6Y6zbIJ51RUYy0RdiHjDE4Is+GW8cjI8QxHDNgarOhu+JSw6w3Qbidcpn+wNsg/A70l876
AWx0EwehUEJGTFNy9B6OJJq7nruUqdPEMGi4dnx/BVqM5LEMwrhSyvGr2abOi06PPAUPuIiZC+JS
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
IX0FyvJgfaB9FSp+b9I5/k+3LZYGrmV6QkZ2YmKqMGGRkTApySEOigM4c17TXL8WvlkKXNMLlI1E
++1T2/Qm/L6C8v58B5CuH8s43E/1IdHheTnowRF4+BdQSwMEFAACAAgA4a44S4AEM14tAQAA5AQA
AEUAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRidmVyc2lvbmNoYW5nZWV2ZW50LWNvbnN0
cnVjdG9yLXN0ZGVyci50eHRVVAkAAyaMyFkmjMhZdXgLAAEE9QEAAAQUAAAA3VI9U4QwFOyp/AmU
UDjDNwedwNwMlY7iD4jwkIzwggl34883cspwkKPQqyxSJG93Z3fz8ix5An4EHscgBvLSUtEUnKAg
5UAZas9I3w+QZ0lG5JQISBkijDM1Q7/Vb+SxPSt0PT+wnGjnOtZaR7JRvhxgwVUhKR7ZG9z3wMkX
7A6rGamgHXDD1PL/mIT1gFnyCFJHDCnBEtoWKpWyGjn6MDpC0dQVpHKqIG2ZgGrPWZe2FHAYwxuz
7GHgOmfWqlWND4AVxddRalGcbzvbH1AqVRZ+zjU9b7ft55Tp906Unaw9XKfeMHKu//MSN9uvOO5P
3U77N27cnnIJN6yPsK5r3w4j37Mt80/cy5WwjdUfxTa4DcGqhZ/7ZETIqEUDHHQij+0GQWT5gbfT
vx1rn1BLAwQUAAIACADirjhLoVbMGOAKAAB5igEAMwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pbmRleC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADJ4zIWSeMyFl1eAsAAQT1AQAABBQAAADt
XUtzozgQvufkn8DRrtpU4Rd+3DJkJpXa2nUqyc6eCSgxOw54ASczl/3tK8DGIohnBMb2N1WpGkOr
u/WpuyWhlnR7/eWbpnu282s+N8iKeORa87QnzSXSpdS5uL3+otqWRXTPtK1H+4E4b8RJo8x4+5dl
/rshlGb3dD5PPOr2pK78c/L8/DzuT2ZKfyT3aMnuq2ZaPYnDYKlZxopcB8Lyyba/F2viaH5lXKrX
45I4RNLoX3+oKLO+PBiMpDWxDNN6uSjH6s5er4khaZZk7x7/Jln2u+RlycjTWt04DrG8SFJGAUry
bDuv2xIhKlG5oA26xhO3ZNhcXzT9B1XpgZpCFpqGaVwn6ZnG11e2SxIFeWj+l2cBw35gAWk2uNMk
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
hVzIhVzIhdw9kPuj/xef136C+mCfHP0B31I5PFwH+2zBIQ+zcxCAVEgqJBVCLuRCLuRCLuRCLuRC
LuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLuRCLgcBOAjAQQBS
IamQVEgqhFzIhVzIhVzIhVzIhVzIhVw2jtg4YuOIVEgqJBWSCiF3/+S+EoOfj3vIhVxyLjkXciEX
ciGXjSM2jurcsNcJ8SG2ndg4IhWSCkmFpELIhVzIhVzIhVzIhVzIhVzIhVzIhVzIhVzIhVzIhVzI
hVzIhVzIhVzIhVzIhVzIhVzIhVzIhVzIhVzIhVwOAvAFCb4gwUEAUiGpkFTIJBZyIRdyIRdyIRdy
IRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIRdyIZeDABwE4CAA
BwFIhaRCUiHkQi7kQi7kQi7kQi7kQi7ksnHExhEbR2wckQpJhaRCyIVcyIVcyIVcyIVcyIVcyP1Z
yc1ZDkJvGUkWiXJlu1zDeX/j+XEpm557sp3ksqKQWKja/cnqODVcUziOsHaX3pS/rnN30Bn1B0O9
0xsPe109L2M6XiBeCHX1cV7owXi+EdNIcrbut5cavU5lYK2tbO7Fhqyj/wBQSwMEFAACAAgA5q44
S1x8kvghDAAATLYBADIAHABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtY3Vyc29yLTEt
c3RkZXJyLnR4dFVUCQADMIzIWTCMyFl1eAsAAQT1AQAABBQAAADtnV1zosgax6v2Mld+hK69Wa1K
NryJmrsZk0xZc/boSWZnLk8hdBI2CC5gsrk5n/00IAjyrqBm8t+qqS2xXx66+/k9/6exyeT68z21
X6h9dWUtqXn9+Y7+vaKOO1ZMlRoG1c7+NHV2ZXL9+Vpxlbni0LyS5IJ0zroLRTd7JKOSapkmVV3d
MseG5VDt1rYWY0OnputVJF1e4gai1Jc5YTSQRaFX0JQyt2z3m62YjuI36Pc8Kb2TrjbPbG5J7QfL
XnzKarXe3cds0Nblx1u3zcrF7nTY54V0H5s6pcOWbE2Shg3NwGDEZoDVjo2HN1CmppuPUzZginfl
m76g9q1us7vqcv8MHh4e+vxg1Jd4Ll3Xn7OpGQzPJ1MLBm49io5XfHPX36xwFLdnOrvZiTmzrUeb
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
YlzTWu+wb1kH9g6PPm1/ov4/gPqjG61UcaIVN40rJCDTm0UQZXW3r4Jw7wgt1AREwY06dRw8viCN
Ks/DsaL3u0BU1vZ9QHTblfj4wa/0gvJcIFohOBH0TF0EX4ThzRrVXgubDqzOKhXJOWaw9SqX6b0Z
Wtsju22euakV3HR4d2J/5jMfnZaPPnzAlp2jmzcLFnX3CTTYiR43/Y3CZ5o5rzQjKdvZ2K2mV5fR
cG24/ZXK3/adM4bf3Tjn0Hw8Zaiw2KXjukqyYPP2O4vnX6rxU9LJnVEjoCZVlFVNkhIWewSVcvni
RWt0H5M/0GurO2msdJPgP2CLDffAjkRqrHKYgkfIlyeSJheoB2lwnDx4fRBFSHHuTNKvyTqioA4l
a5+uge8wijFqZUD7gbZyyqy5jaPue8v/f1eMCouExivhtSrEFBHsRdl0kv95gHhoyf5aMeNb3j9c
2zScusmbaxuO+wsmb+lwRD9m8iadN/J/sdOmOQ7f2Bs6Wcr6MOO8kyk/ALJ+AlBLAwQUAAIACADz
rjhLTLSwky0HAABWSgAAQwAcAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1z
Y2hlZHVsZXItMi1wcml2YXRlLXN0ZGVyci50eHRVVAkAA0mMyFlJjMhZdXgLAAEE9QEAAAQUAAAA
7VxLc6M4EL7PKT+Bo121UwUYMM4twZNd19aOU0lm94xBdtjBwitwMnPZ377iaYEeCBs/ZtZTNQdD
t7rV6v7U6haZTe+fAXoD6PZ2BZIn4EXI//AFBv9swWx6P3UTd+HG4AW5MHa9JIggSTdYuwEcKhQ5
STNjCRj4CybbBqBlhNa/VoR/gHWEvmOae9f7GsDVcxKh2vA5wXzxN/CS4uWbG27BQ4R+B9+PNRO/
eO1EEIJssEcAfayfE0YxUD4qmqGOR4ZpqfrENjVdfsIUzU7E7a3HFPeAorUTBgAmWPBNQ7hh2Acb
UTjxTAWfMWXJmeT8rXPgL1DLUANipPF4og9bfMJdRCj5K0heo23iuGG4wDYTSM/IiQFSmaTBog2A
0/sngPliPB70QBgCxjLzKH+08TpHxjEc/uqw53fYmo5etN6EIAH+HAOemz57CdYAPQQIMwzUb+Pl
cmlq44k5AuqwZ+5N7jltvIbG4M2MNYe5be6gn8+ymHKcku985CUqTdg0MXvYGXxE0QqBOK5UiylK
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
E7yMiBefoEX3bO3p3v4ZWoRVY26Kt4ozZWUlCX5IPkabjZ+Ud/JXPwicdLz52urtvK0l4FiLUiGo
fNkSL9lSGypBZc1NhzR5TRAK1VWH5sn91OVyRgjbxRq9EkfEUr6/oXeq1jvcqDiiMKgklSCShVoP
aubMyWQRkZaYX/lsD81z8vIu9Y+swl3uC+572GL2R1uTVYJJ6b4qM0q6QQxOONHi0ood/pXixFIV
Van1dyX67rPlOQynDL1xvy5wOj7bV5IjHtnSuvOkQN55j+NqIvrOD/14/QvzM11Z7eEDf4TfaJZy
Glq6rLQcXAhR7ki0yfaYampbmmY165OZ73RNMvlWHZrqdyPUkC9U5lgZvaVSdT1mhcPSMxyWnsFP
nXMuL3cnX+lc3JZwvtO/yrFZ8XeRs50NmprW82zw5H0pabieEB8blqbg/Ky97SK2mHhU2YWaUKqJ
57HUpB9fMEoar0aihjO07Y5d0XheRWjv2fu67wEUQAEUQAEUQAEUQAEUQAEUQAEUQAEUQAEUQAEU
QAEUQAEUQAEUQAEUQAEUQAEUQC8PtLETo7E7TSQh6EtTFUnUpIRDOrLDrY253duZ/iNdSfWIaduL
m+DzPwfZ0sc9aSXu82Tcz2LuQw/55N0M39yHTjXIqY/46lvXHthDoC3t4OmcSqf3saSgpypOoq2w
4csPE0xCN0i7xKtPTIibx/knV1NcrmworGy0tEqPFcX8Hq3SlEc5qVW61na1LdPCV570m302q57H
Pu/9JpfLfsrgLY8BuSxp8gZKuobMeHtLxnUmco9STQw7C+9J9ERwHB/WJqoU+ZUC38fJ9bjeEhK9
6fEsoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAK
oPj/UcDbX7/j21+rLYR/+ck62iXO/h3ZTX3rx92/HV4dPhHJzFp/ILCmD12oQd0baSuoHbkvBq9X
lyz8LmG/3yXk7Fxpte2QNb3TpMvjCR2j+6d+kObCflwSfh3yQn4dssczB/8CUEsDBBQAAgAIAPau
OEuZ7qE18wQAAEk1AABLABwAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3ZlcnNpb25jaGFuZ2Ut
YWJvcnQtdGhlbi1yZW9wZW4tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAANPjMhZT4zIWXV4CwABBPUB
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
DZ3qodoFsx5mPQ3Nejb9mdmAV97WmLbr9Ie9v+uNrPugK7qiK7qi68+ia53ZWLNbz9eYa+3zIgtT
4pcxuvq1fMO/0net3EHj11v2/CmTsNb7htd6UWM/1Njhmnv9R/Y111D34eHEtquuO3pASDTH2svR
Dazf11+EZvZ5gM+IDnaBgWZjXYj1NnRFV3RFV3RFV3RFV3RFV3RFV3RFV3RFV3RFV3RF10PeRQce
fMPbFpp+dlOnwzdxz7t56w1PTxkGXmoY4B1T9DbCs19hT8ABxk8z8OOKcEXsFGG2yWyTxRx0RVd0
RVd0ZbP1/izC8MOq0Z+8GN3LOhZ+WLEFHzwHCJCEJCQhyZpJOB2CszJQAzVQAzVQAzVQAzV4K8XP
+laKF2npN7yM/HpGvDtDbKA7vOI79F59WZgw4U1W83mp5b69eWSLwWnTExJrnEfYmNde92DCrWYY
G78eZ2/f8/hm3DUxufv1rlxsawenr249NT28+SQvon2RV7K96Av73tZ2lEN4gSyhqvxIRFd0Rde9
15VwZsKZiaHH6Iih583Oe/Rm5/14KRKTDiZz6Iqu6Iqu6Iqu6Iqu6Iqu6Iqu6Iqu6Iqu6Iqu6Iqu
6LrjDUWvqX0T29Z+vnMjOPoHPHjw4MFz1BuHS5GE0704bQM1UAM1UAM1UONwjnthARVd0RVd0RVd
0RVd0RVd0RVd0RVd0RVd0RVd0RVd0RVd0RVddxQYXOfJEOFI4MGDBw+e8NODCJMgQJMkRMgS24Ua
qIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEa
qIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqIEaqLGpGo92VIPkHK9n
ezzuR9dTScVxw0puX+t0A+QdjTRcvYcwYfGX5WeVzYUqPv0sAwwbr+q81X5upoIzSYflietVNzms
Lb8O66iRPrctkz5pkaiw3FLUX0vXzjt6r2209YuebhzlVNV2ntzvMjaUK8dKYSKzOSl7bXE/zwxW
O3U/px/k1vq4II1yCQPXq+gx98q8b2IHUNI6bsnNRn2kJO/IdKyxXHyOZfOV2N9G0pPCDM+v1Tu6
0TXahiHmHTFHlZQnCr9VKCflqcKbmTu7q/tAer9Lzw/d2yg8wXcmyslpZEs1/Js26+3J3QQl7bb8
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
SPb2Sw4hLnng22GSXgCZt7A/PcqNnbzYG5zl7nv86WoyiK+jt3Eye315h/+/jZ/t7Vf2qn8fnp+f
t1rtg2ajVt2fX1hv00OLk6/pmQyjMAk3299cd6tz9CFenvPcLUt+m3OE2w4wPUnTAyx+iz/1osEo
HM+ebPtmi/9entBxelwfPoUkVHrp/2vNRrOdXhAHzcrl3MGLb9vVaXx5mV7zvaiyPPP/qkTxdWVS
9hzbjrpzlSTpVbt8ppIHpJucx8nF4hHzd2X5uNk5KLqc5qfrTa//OT2k9+mlUPZuDoaD483tt1/L
u12iudfgzZEsnyPdsJu9hR4dJYt7aXxxOd1ykLNJHK3v5f1Vvx/G4/RQXlX68zezkj7fePouDsfZ
m1C1dXgw3eFyV4Ph+LI36X/69cvyTrN6NY1Gtbq/xm16uy96cbMoyACq7L1M35vmwetGo9Wqvj7Y
30iYkjd6q7TW7H0uSqSNe/V9YWtXHx5b5jkeDNv0ilpRy76z9cP0nBe5m765WUWzR1bT/9Wq543D
19X9cobdWw+/n7NSax7Wn/Ada/TPS1/3eNJLJn/OOXbSg/gYMuG6pb5IQm8Sih67UWM027XX9cJz
dxY+DqPMw0/WT8V/wkVKPH1E9qebj3qSuuM+LpNWO5W1vEyKb9Dd7J3pbrfn1eFk/iM9gs709KXP
VrmpN9PzdT2cfFrenLN35ka9WlkVgZXVfXN2rbWr1V6rWT87OG/WZtfb3S+xeRxlfjA7zFvXUW7K
/HH5MekNwu8hDMLgTulSq6c3tXCd8/PvSJ1McTxz0D37K31z5vedV2m6VF7ub7yyjS1nL2z1n6nq
q0k3+WUw2Hjo4syeFv1+ceksr7HV9bl29M1a9Q6H1Y3ml1zRhZj7OtZ3eXMFbjugRqiuRe/mrjdc
bXlLS1Yxm9sW3I1ubq4bDyi4D+VdAr3B9IRUuu9vXJ0cV2r1Rq3ZSjFV2600Fxa7y+5r7cWlu/g9
XGd2m96ptj/k17+H4ynszeNeu9Suk+Ek+9j3U6alt7P0/nNa9MZ841mq7PV7o9FZ+ir2y0Mmfc5O
3tVWcH/s3P+VufbovKfIalnbeBkdy/txN5qvmu+V7809Y5va7L1l42fl52+5WUk9styk3NTyDlZA
6XP4OruAxyfRHeDNl1rvpqGSd43f7dehHyeFx5OCWttgbQerX95Fzem3vdlZI8VXfGEi7Hyhn+Zc
V5n8XazrvvGqv2vKHsyP6enDka4fQNdu1zabbLLJJptssskmm2yyySabbLLJJptssnl/Nqefw+hc
JeM4KdLZLd5iF5+rJ94mdP0Qc35afuozG5Z+cmC5UbnUzNtRYCO+vUXmDZ///Oio4BeVl3mevvRG
V+FtnPw7fH0EUd1vf2PvpqrkQtrZVTf/alq82+Mw+S1M3oXx1WiS+exBelOdf17hsQXeHFc/jibD
KD23V9H88xN7k3h+VJsvcjiZHkB4AIlre96GceMw8n9RfuWsb1t8Ud7arhzmydrGBTaHORvl8Fxs
Vrk5HdtUbkv3JJyH9Kq4l6v/LoZPvvdk3E3ySem1uDPmk8ILkmeeeeaZZ5555plnnnnmmWeeeeaZ
50fyDOw/GqwRkhGSEZLIFJlKYInKM88888wzzzzzzDPPPPPMM88888wzzzzzbCQMrJGwkfATjITN
fJ/BzBcxn7ogUFWqKlWVqkpFpsgUmSJTZP7IjdnHzMTdmElUnnlWIfPMM88888wzzzzzzDPPPPNs
hASsEZIRkhGSEZLIFJlKYInKM88888wzzzzzzDPPPPP883vekYEPcPLMs3yWzzzzbCQMrJGwkbB/
68LMFzGfuiBQVaoqVZWqSkWmyBSZIlNkasxKVJ555plnnnnmmWeeeeaZZ561nIHVctZy1nLWchaZ
SmCJqgTmmWeeeeaZZ5555plnnnnmmWeeeTZCAtYIyQjJCMkISWQqgSWqEphnnnnmmWeeeeaZZ555
5plnnnnm2QgJWCMkIyQjJCMkkakElqhKYJ555plnnnnmmWeeeeaZZ5555plnnnnmmWcjYWCNhI2E
jYSNhEWmEliiKoF55plnnnnmmWeeeeaZZ561nIHVctZy1nLWchaZSmAlsETlmWeeeeaZZ5555pln
nnnmmWeeeTZCAtYIyQjJCMkISWSKTCWwROWZZ5555plnnnnmmWeeeeaZZ555NkIC1gjJCMkIyQhJ
ZIpMJbBE5ZlnnnnmmWeeef4Het6RwXO5G/DMs3yWzzzzzDPPPPNsJAyskbCRsJGwkbDIVAIrgSUq
z1rOWs488yyf5TPPPPPMM888azkDq+Ws5azlLDJFphJYovLMM88888wzzzzzbCRsJMyzfJbPPPPM
sxESsEZIRkhGSCJTZIpMkSkyRabIFJkiU9dIovLMsxIYWCWwElgJrAQWmUpgicozzzzzzDPPPPPM
sw8e++AxzzxrOQOr5azlrOWs5SwyLWklqhKYZ5555plnnnnmmWeeeeaZZ5555tkICVgjJCMkIyQj
JJEpMkWmyBSZIlNkikxdI4mqa8Tzs/5DAn8poAR+ziXwg8p84gJaCSwylcBKYInKM88888wzzzzz
zLMpLbBaVKa0prRaVCJTCSxRlcA888wzzzzzzDPPPPPMM89azsBqOWs5azlrOYtMf0jgGwkkKs+W
tCpknnnmmWeeeeaZZ5551nIGVstZy1nLWWSKTCWwROWZZ5555plnnnnmmWeeeeaZZ5555tkICVgj
JCMkIySRKTKVwBKVZ5555plnnnnmmWctKmC1qLSotKi0qESmEliiKoF55plnnnnmmWeeeeaZZ561
nIHVctZy1nLWchaZIlMJLFF55plnnnnmmWeeeeaZZ5551nIGVstZy1nLWWSKTCWwROWZZ5555tnX
+/p6X555ls/ymWeeeeaZZ56NkIA1QjJCMkIyQhKZSmCJyjPPPPPMM88888yzFhWwWlRaVFpUWlQi
UwmsBFYC88wzzzzzzDPPPPurBX+1wDPP8lnLGVgtZy1nLWeRKTItaSUqz0pgYJXASmAlsBJYZIpM
JbBE5Zlnnnnm2ZIWWEtaS1pLWktakakElqhKYJ555plnHzz2wWOeeZbPWlTAalFpUWlRiUyRaUkr
UXnmmWeeeeaZZ5555plnnnnWcgZWy1nLWctZy1lkKoElqhKYZyUwsEpgJbASWAksMpXAEpVnnnnm
mWeeLWmBtaS1pLWkFZkiUwksUXnmmWeeebakBdaS1pLWktaSVmQqgZXAEpVnnnnmmWeeeeaZZy0q
YLWotKi0qLSoRKYSWKLyzDPPPPPMM888P3PPu51KDS5fCaRFpUWlRaVFpQRWAiuBlcA888wzzzzz
zDPPPPPMM88+FQmslrOWs5azlrPIFJlKYInKM88888yzJS2wlrSWtJa0lrQiUwksUZXAPPPMM888
88wzzzxrUQGrRaVFpUUlMkWmElii8swzzzzzzDPPPPOsRQWsFpUWlRaVFpXIVAJLVCUwzzzzzDPP
PPPM80/geUcGz+VuwDPP8lnLGVgtZy1nLWctZ5FpSStReeaZZ555tqQF1pLWktaS1pJWZIpMJbBE
5ZlnnnnmmWeeeeZZiwpYLSotKi0qLSqRqQSWqEpgnnnmmWeeLWmBtaS1pLWkFZkiUwksUXnmmWee
eeaZZ5551qICVotKi0qLSotKZCqBJaoSmGeeeeaZZ0taYC1pLWktaS1pRaYSWKLyzDPPPPPMM888
86xFBawWlRaVFpUWlchUAiuBJSrPPPPMM8+WtMBa0lrSWtJa0opMJbBEVQLzzDPPPPPMM88886xF
BawWlRaVFpXIFJlKYInKsxIYWCWwElgJrAQWmSJTCSxReeaZZ555tqQF1pL22Sxpd7zef+gFsSWt
yBSZSmCJyjPPPPPMsyUtsJa0prSmtJa0IlMJrASWqDzzzDPPPPPMM888a1EBq0WlRaVFpUUlMpXA
EpVnnpXAwCqBlcBKYJEpMpXAEpVnnnnmmWdLWmAtaS1pLWktaUWmyFQCS1SeeeaZZ54taYG1pLWk
taS1pBWZSmCJqgTmmWeeeeaZZ5555lmLClgtKi0qLSqRKTKVwBKVZ56VwMAqgZXASmCRKTKVwBKV
Z5555plnS1pgLWktaS1pLWlFphJYoiqBeeaZZ5555plnnnnWogJWi0qLSotKi0pkKoElKs8888wz
zzzzzDPPPPPMM89azsBqOWs5azlrOYtMJbBEVQLzrAQGVgmsBFYCK4FFphJYoiqBeeaZZ555tqQF
1pLWktaSVmSKTCWwROWZZ5555plnnnnmWYsKWC0qLSotKi0qkakElqhKYJ555plnnnnmmWeeeeaZ
58f0vCODn6ZhDayWs5azlrOWs8g0pVXjikyRKTJFpsjUNZKoukY8K4GBVQIrgZXASmCRqQSWqEpg
npXAwCqBlcBKYCWwyFQCS1QlMM8888wzz5a0wFrSWtJa0lrSikyRKTJFpsgUmSJTZOoaSVRdI56V
wMAqgZXASmAlsMj8yf/RlXstoCUqz0pgJTCwSmAlsBJYCSwydYElKs8888wzz5a0wFrSWtJa0lrS
ikxTHf+UvsgUmSJTZIpMq0xdI4nKM8+6RsAqgZXASmCRKTKVwBKVZ5555plnnnnmmWeeeebZpy58
6gJYLedHaTk/qMwnblhrOYtMJbASWKLyzDPPPPPMM88888wzzzzzzDPPPPPsrxaANULyVwv+akFk
ikyRKTJFpsgUmSJTZOoaSVSeeVYCA6sEVgIrgUWmyFQCS1SeeeaZZ5555plnnn3PtO+Z5lk+azkD
q+Ws5azlrOUsMi1pJaoSmGeeeeaZZ5555plnnnnmmWeeeebZCAlYIyQjpOIRkhnRM5gRIWZKS6Cq
VFWqKlWVikyRKTJFpsgUmSJTZIpMkSkyRaZZpkTlmWclMLBKYF/9fKuAVuMiZpVplWmVqSpVlapK
Raaq9Omr0m0NJJEpMkWmyBSZItMq0ypTZIpMs0yJyjPPSmBglcD+LlONixhiVplWmarSZ/4FEr4h
QlUqMkWmyBSZGrMasxKVZ9+h5jvUeJbP8lk+8yyf5TPPPMtn+cwzzz7YBKwRkhGSEZIRkshUAiuB
JSrPPPPMM88888wzzzzzzPP3eN7tVLobGAnzLJ/lM88882wkDKyRsH/rwswXMcR86oJAVamqVFWq
KhWZIlNkikyNWYmqMcszzzzzzDPPPPPMM88888wzzzzzbIQErBGSEZIRkhGSyFQCK4ElKs8888wz
zzzzzDPPPPPMM88888wzzzzzzLORMLBGwkbCRsJGwiJTZIpMkfmsI/NBv2vziQNXZIpMkSkyRabI
tMq0yhSZItOgRaLyzDPPPPPMM88888wzzzzzzDPPPPPMM88882wkDKyRsJGwkbDIFJlKYInKM888
88wzzzzzzDPPPPPMM88888wzzzzzbCQM7PMGe2/W0rfuYjg7gtVZvR6ORp3ZzzObzl/naqPxJL5M
D6/WrB42mgf1dr1x2G4drG/TH8XjcHujarvwPC8euPrd6fyVdab7Wd/1Re/rWZj9/GRxum49z+FB
tWw+vXzHO72oH0ajMNh4axav8OWL/wNQSwMEFAACAAgABa84S9DDOr59FQAA1/QIAC8AHABzdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3Itc3RkZXJyLnR4dFVUCQADaYzIWWmMyFl1
eAsAAQT1AQAABBQAAADt211zGsnZBuBzH+knTO3JSlXeKr6FfWbjdUpVSeTY3pwjGNnEaIYMyF6f
7G9PMwgYBDNIRoo38fVWpd5aaQZaMH31/TzdPnv18l2cfY6z58+H/Vn/oj+Ne2mSxIPZKE3exMlw
lHzojdNpHP0S1Vu102ar0+g22vV6u/Hkt2T07+v47NXLV1t3Pn8+2Pkqr7P0qjcexcksvN7Rrdes
dbtPztbjSSdx8url2zi8x3TW6yeDeDyOh9vvWnbl/B2eHF/1R8lJtOOm9QDzkQ1vDe24MLJa47Rx
UvFS/Ys0m73P+sm0n7/g4p2HFzsvnsTZZZpdvdh1z9/iqzT7Gi5/2R98Cp/Zu1malb3+4trihYUr
bu45Pil7ySz8+HN8fvGv8BHkP3qdZv+Ms+n84/jYTz7E+fhu7i5cFh6TeBzP4rfxIM2Gu37fHw7L
f+nm/+bNX7LRrPhUvB4lo+nHMIfC47DxsAzSq8n8fYbn4ensz3/2fnQVZ69HWZhGx7XfTy8vL9vt
bqfZjGsnW3dPFhN8372t+o57wztfjWbnyWLSz3+9RuR9uqRgcVXhxqIT27/cmnU73rJShlsvuEeS
4Wj4pmJS77hjlHxOP8WrD+xFMizclH98x1XepBU35p97xb1hcg/H8fK/V0OYhqG+/xhncdQP/6u3
mq1uu9vodqObL3f+gb8ObxMeseVDuXyN/I8s+eJ2X1nx2x0j3vrR8UnxuWoFqE8qv5+bPzl/swf5
ZMKi0GmtPpn7vdSbdDIJE6OfRKtv8WmUpF+iWdV77Bt17zrLwsq1eqeKG27Wn5s7Fp/K6r7KlWvx
dRXXkSfv/vHXQMzW6vIhnp1nv07DjeMAzvIVzpLLNLzBMmeEdyq5ffuNovxH4b+iy9E4jn4++jkK
gx2Opp+q5+Wr7SEX5Zgv/Fs37vpC/9j3EDbr+UNYNg2WI1m9R7jwvJha5ivyIr4sKd5xSZpsvsq7
68Egnk7DUH6JBovvM/q8WMSj0bSYrWrt0878BVcvFT66SX82+Pjr51XgKTJfW1C9mvHzhFX2x+Xp
qzCHo+Oj8Nm0Os+azXa79qxzshXqKj7ovZO9nX/OZSFwK4g+1Hzv1h5/vhfe49Hm+/yJWs/24ifb
OA3fednUn3+4G/Nxfmct/F+92W2cPgt3HihB5Sw+v/XuD/Ol1lunje/4gTcHl7WqRT58ZtlsI5JX
RpyN2iuL+7O47N6tyqvVrT9rlH71F/GHUVK4/Wzzq/jWdFPyvNx+t8pwsXgy7mnqepyF/whv05t/
aPMVZv1URl9Gs48rUYucNhu1aF1ARmvs8m+4W6v1263GReeyVc+/5bt/sYu/diOvbv738gPZWhp+
m3zI+sP473E8jId3WhLqjSBR/GXHz/982fOeC1chzOdzoVAWhXuOj6KjHaXI7Svzj7lYT02uA2Yv
htv1081z9qbs9wdVSLeHtbdY2vV3HFbulb/0nlJr6/qKqmv72uoOSm/rhhJTdj0CoW6ez/Xzd8tZ
fvYqqjea9Va72Wicdrphht+p4usd+olEx4P+eHwRBnxSjXp4z96ub7ZExt7DPwUbd+96i+KTuXHx
Co2VxOfJotf2oFNlOT/3zZDiPN76WfX3t7qsYv1fXVL9/K60KHlsP8Vff/19NJ1Nz5LNZzf8Ijp6
GqX5D6Np/tPCs9tptbrVldXb+aITXijL/3/VSzUarT0vlTef9g+q3eiUvtKqh3WHvy0ssXeal2/u
93UWZ2H5nCr1/eCp9GbHk1tY228KvXvOq7uumZ3FmL7/Umf+/hDz97DZY/ab/Wb/d5j9hz321n6z
3+y39lv7zX6z3+w3+81+s/8xZ/+j5HVdP7Pf7Lf2W/v//2b//JBP7zqbplnZ/D8vv+IQAdZvvM+A
zSHu+Gn1V1+4sPKEw+qiagsKH8fq9Mgg/+/FnnKYOVG4Nfv6PPrp6Kcni0vnxy0uRvmHFY3TL3GW
z575icZ+MoyuJ5P1T9ZTb3HrfNJ9nv/zhvx4Ry+9Dt9scZo9m5/ouPWD6DIOT0H4FrJ8sk6/YRSP
P3PP7/8F3m32VjywB8/f891P7c03NY1nf4lnb+Pp9XhWOIuTS/k9ZvpyXIM0Cc/pdfz6OlmcJzqe
pYtRbf+R4dkLA4gfYcZvvPK+Sb81jN2/qH5yNq8tfyhvXVcNwNnGxSUL5Wj3RXea0qfPOt2nt3+w
NaX3RZYszu+oHuak5KrlOJe/Xwx0MQf748De8Gv0sT/dOD3TabQM8sce5IGLxiP8iXdZiM6q5+qh
H8o9iCqub/8rX3jJInxWuYwcvA6fla4llmJLsaX4wW2+t6PfyB5RiEIUohCFKEQhClGIQhSiEIUo
RCEKUYjiOITjEI5DOA4hO8gONvEN0iANUmWgMpAX5AW9BqIQhShEIQpRiEIUohCFKEQhClGIQhSi
EIUoRCEKUYjiFJhTYE6B/UinwMx0M91Md95TlaBKUCWoEmQH2UF2kB1kB9nBkXeDNEj/DEPothRb
ii3FRCEKUYhCFKIQhShEIQpRiEIUohCFKEQhiuMQjkM4DuE4hOMQsoPsYH/cIA3SIFUGeg3ygrxA
FKIQhShEIQpRiEIUohCFKEQhClGIQhSiEIUoRCEKUZwCcwrMKTCnwMx0M91MN9NVCaoEVYIqQZUg
O8gOsoPsIDvIDs7lG6Q8K89a5axyKmSiEIUoRCEKUYhCFKIQhShEIQpR7AvaF7QvaF9QdpAdZAeD
NEiDFLqFbkuxpZgoRCEKUYhCFKIQhShEIQpRiEIUohCFKEQhiuMQjkM4DuE4hOwgOzgOYZAGaZBC
tzLeUmwpJgpRiEIUohCFKEQhClGIQhSiEIUoRCEKUYjiOITjEI5DOA4hO8gOtp4N0iDl2T9HnvWc
PuBzKi/IC3oNbNa9JApRiEIUohCFKEQhClGIQhSiEIUoRCEKUYhCFKI4BeYUmFNgToHJDrKD4xYG
aZDyrArZKmeVIwpRiEIUohCFKEQhClGIQhSiEIUo9gXtC9oXtC8oO8gONooM0iCFbqHbUmwpVsYT
hShEIQpRiEIUohCFKEQhClGIQhSiEIUojkM4DuE4hOMQjkPIDrKD/XGDNEihW+i2FFuKiUIUohCF
KEQhClGIQhSiEIUoRCEKUYhCFKI4DuE4hOMQjkPIDrKD7GCQBmmQzmyoDOQFeUFeIApRiEIUohCF
KEQhClGIQhSiEIUoRCEKUYhCFKIQhShOgTkF5hSYU2Cyg+zgFJhBGqQ8K89a5axyRCEKUYhCFKIQ
hShEIQpRiEIUohDFvqB9QfuC9gVlB9nBRpFBGqTNS6HbUmwpthQThShEIQpRiEIUohCFKEQhClGI
QhSiEIUoRHEcwnEIxyEch5AdZAfZQXaQHWQH2UF2kB1kB8fWBBwBB3vYIwpRlExKJiWTkkl2kB2U
TAZpkPKsPGuVs8oRhShEIQpRiEIUohCFKEQhClGIQhT7gvYF7QvaF5QdZAcbRQZpkDYvhW5LsaXY
UkwUohCFKEQhClGIQhSiEIUoRCEKUYhCFKI4DuE4hOMQjkM4DiE7yA6yg+wgO8gOsoPsIDvIDo6t
CTjardjDHlGIomRSMimZlEyyg+ygZDJIUVFUtIBYQBSfRCEKUYhCFKIQhShEIYoGuQa5BrkGuewg
O2jrGqRByrMqZKucVY4oRCEKUYhCFKIQhShEIQpRiEIUotgXtC9oX9C+oOwgO9goMkiDlGdVyFY5
qxxRiEIUohCFKEQhClGIQhSiEIUo9gXtC9oXtC9oX1B2kB3sZhmkQQrdQrel2FKsjCcKUYhCFKIQ
hShEIQpRiEIUohCFKEQhClEch3AcwnEIxyFkB9lBdrA/bpCiouLTAmIBIQpRiEIUohCFKEQhClE0
yDXINcg1yGUH2UF20Hs2SHlWnrXKWeVUyEQhClGIQhSiEIUoRCEKUYhCFKLYF7QvaF/QvqDsIDvY
FzRIg5Rn5VmrnFVOhUwUohCFKEQhClGIQhSiEIUoRCGKfUH7gvYF7QvKDrKDfUGDNEiDFLqV8ZZi
SzFRiEIUohCFKEQhClGIQhSiEIUoRCEKUYhCFMchHIdwHMJxCNlBdrD1bJCioqhoAbGAKD6JQhSi
EIUoRCEKUYhCFA1yDXINcg1y2UF20NY1SIOUZ1XIVjmrHFGIQhSiEIUoRCEKUYhCFKIQ5QGbPUyw
s2dnz86enT2rv9Xfzp6iR8DBHva0UYiiZFIyKZmUTLKD7CA7GKQUJoWxmc1EIQpRiEIUougU6RTp
FOkUyQ6yg+xgkNpZoqLi0wJiASEKUYhClF2iHDYX/FsRohCFKDIKUTTINcg1yDXIZQfZQVvXIA1S
npVnrXJWOaIQhShEIQpRiEIUohCFKEQhClGIYl/QvqB9QfuCsoPsYKNIwFEyYQ97RCGKkknJpGRS
MskOsoOSSV0nhanr2MxmohCFKEQhClF0inSKdIp0imQH2UETRqdIClPXsZnNRCEKUYhCFKLoFOkU
6RTpFMkOsoMmjEGKiqKiBcQCovgkClGIQhSiEIUoRCEKUTTINcg1yDXIZQfZQVvXIEVFUdECYgFR
fBKFKEQhClGIQhSiEIUoGuQa5BrkGuSyg+ygrWuQBinPqpCtclY5ohCFKEQhClGIQhSiEIUoRCEK
UYhiX9C+oH1B+4Kyg+xgo8hulhTGZjazmShEIQpRiEIUnSKdIp0inSLZQXbQhDFIUVFUtIBYQIhC
FKIQhShEIQpRiEIUomiQa5BrkGuQyw6yg7auQYqKoqIFxAJCFKIQhShEIQpRiEIUohBFg1yDXINc
g1x2kB20dQ1SF1+eVSFb5axyRCEKUYhCFKIQhShEIQpRiEIUotgXtC9oX9C+oH1B2UF2sJslhUlh
bGazuo4oRCEKUYiiU6RTpFOkU6RTJDvIDjpFBikqiooWEAsIUYhCFKIQhShEIQpRiKJBrkGuQa5B
rkEuO8gOes9SmBTGZjar64hCFKIQhSg6RTpFOkU6RTpFsoPsoFNkkKKi4tMCYgEhClGIQhSiEIUo
RCEKUTTINcg1yDXINchlB9lB71kKk8LYzGZ1HVGIQhSiEEWnSKdIp0inSKdIdpAddIoMUlRUfFpA
LCBEIQpRiEIUohCFKEQhiga5BrkGuQa5BrnsIDvoPUthUhib2ayuIwpRiEIUougU6RTpFOkU6RTJ
DrKDTpFBioqKTwuIBYQoRCEKUYhCFKIQhShE0SDXINcg1yDXIJcdZAdtXQEHe9jDHlGUTEomJZOS
SckkO8gOjutIYVIYm9msriMKUYhCFKLoFOkU6RTpFOkUyQ6yg06RFCaFsZnN6jqiEIUoRCGKTpFO
kU6RTpFOkewgO+gUGaSoKCpaQCwgRCEKUYhCFKIQhShEIYoGuQa5BrkGuQa57CA7aOsKOEom7GGP
KEomJZOSScmkZJIdZAfHdaQwKYzNbFbXEYUoRCEKUYiiU6RTpFOkUyQ7yA6aMFKYFMZmNqvriEIU
ohCFKETRKdIp0inSKZIdZAdNGIMUFUVFC4gFhChEIQpRiEIUohCFKETRINcg1yDXINcglx1kB21d
AUfJhD3sEYUoSiYlk5JJySQ7yA5KJnWdFMZmNrOZKEQhClGIQhSdIp0inSKdItlBdtCEMUhRUVS0
gFhAiEIUohCFKEQhClGIQhSiaJBrkGuQa5DLDrKDtq5B6uLLsypkq5xVjihEIQpRiEIUohCFKEQh
ClGIQhT7gvYF7QvaF7QvKDvIDjaKBBwlE/awRxSiKJmUTEomJZPsIDsomaQwKYzNbFbXEYUoRCEK
UYiiU6RTpFOkUyQ7yA6aMAYpKoqKFhALCFGIQhSiEIUoRCEKUYiiQa5BrkGuQa5BLjvIDtq6BqmL
L8+qkK1yVjmiEIUoRCEKUYhCFKIQhShEIQpR7AvaF7QvaF/QvqDsIDvIDrKD7CA7yA6yg+wgOzhk
IuBot2IPe0QhipJJyaRkUjLJDrKDkknAUTJhD3tEIYqSScmkZFIyyQ6yg5JJXSeFqevYzGaiEIUo
RCEKUXSKdIp0inSKZAfZQXaQHWQH2UF2kB1kB9nBLpOAI+BgD3tKJqIomZRMSiYlk+wgOyiZBBwB
B3vYUzIRRcmkZFIyKZlkB9lByWSQUpgUxmY2E4UoRCEKUYiiU6RTpFOkUyQ7yA6yg+wgO8gOsoPs
IDvIDrKDDRwBB3vYwx5RlExKJiWTkknJJDvIDg7mGaQKWZ61ylnlrHJEIQpRiEIUohCFKEQhClGI
QhSi2Be0L2hf0L6gfUHZQXawm2WQBil0C92WYksxUYhCFKIQhShEIQpRiEIUohCFKEQhClGIQhTH
IRyHcBzCcQjZQXaQHWQH2UF2kB1kB9lBdpAdHFsTcLCHPewRRcmkZFIyKZmUTLKD7OCfIxmkClme
tcpZ5axyRCEKUYhCFKIQhShEIQpRiEIUotgXtC9oX9C+oOwgO8gOdrMM0iCFbqHbUmwpJgpRiEIU
ohCFKEQhClGIQhSiEIUoRCEKUYjiOITjEI5DOA5hppvpZrqZrkpQJagSVAmyg+wgO8gOsoPsIDvI
DrKD7CA7yA6yg+wgO/jHLQIO9rCHPaIomZRMSiYlk0MZZrqZbqarElQJqgRVgipBdpAdZAfZQXaQ
HWQH2UF2kB1kB9lBdpAdHMoQcBzKwB72iEIUJZOSScmkZDLTzXQzXXNElaBKUCWoEmQH2UF2kB1k
B9nBxopBGqTNPqHbUmwpthQThShEIQpRiEIUohCFKEQhClGIQhSiEIUoRHEcwnEIxyEch5AdZAdb
zwZpkAapMlAZyAvyAlGIQhSiEIUoRCEKUYhCFKIQhShEIQpRiEIUohCFKERxCswpMKfAnAIz0810
M91MVyWoElQJqgRVguwgO8gOsoPsIDs4l2+QBil0C92WYksxUYhCFKIQhShEIQpRiEIUohCFKEQh
ClGIQhTHIRyHcBzCcQjZQXZwHMIgDdIgndlQGcgL8oK8QBSiEIUoRCEKUYhCFKIQhShEIQpRiEIU
ohCFKEQhClGcAnMKzCkwp8BkB9lBdpAdZAfZQXaQHWQH2UF2kB1kB9lBdpAdZAfZQXYwSIM0SP/6
TGXgjIO8IC8QhShEIQpRiEIUohCFKEQhClGIQhSiEIUoRCEKUYhCFKfAnAJzCswpMNlBdnAKzCAN
0iBVBioDeUFe0GsgClGIQhSiEIUoRCEKUYhCFKIQhShEIQpRiEIUohCFKHcVpeSk1eqFevPnejyO
h/e/ev31TmfpJAyh3qqdNludRrfRPO22O1t/2c1lR9vSJOFzTfrjFxdpNtt86S+j8eLHhRsWr7C+
ZjBOp/Ht9691Ny+66n+9iHvzK89uvrdbd5x2aqUP1s2rrH+Xv9Cw/C/8D1BLAwQUAAIACAAFrzhL
3M2c9aAHAACwTQAAQgAcAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVj
dHN0b3JlLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADaYzIWWmMyFl1eAsAAQT1AQAABBQAAADtHMty
2zbwnpM/gUdpJp7hU6J8s6k41bSN1NjpnRIhiQ0FqiBkx5d+e8GnQOJBUqJqO2VmchC4WCz2vYtN
ZtO7B4CeALq5CfcATu++gr8PIMKOC1cgCID34Rv0ycpsejd1sbt0IyCCVK6Vqw+DnevDocLZtAoh
BCvsh9AJwgh49yjcOYEPII43KgPNVMeGOdJt3VL1sT6UoHKXIcKPyIWRmyBMTp7V3mTgLbno9gCt
Q7S75WFtd/uHP37zcQx9566++3DzgEPUgF4vw+1UWETgKK5omqWz9Bz31LK4jE217Y6kZRpEWmQ3
dcOYqdAjHJgT5rrxyqO/A+jeR+RWA/XHeL1eW5Y9MkxNZfcm/JrDlD230EuZnHE8isGPt34Mcy5W
ucxHO4MLFG4QiKKCtIiBXIW7fQAw8OrIN0BKvpAGhrUsRW0VXQzu+d6inS778Cn8DopbEl5Tm5I7
D2SGGEo2JsyiebOKFYlBIrTKaHvAXvgM70OUqGCM6p7gD9ELuSmIxZMD5/bE0wo+pOQrhxRmaTCk
tcAkxjCUCmbrQi8A0+SwerDs91E/CV2PW4CA4pK/mmmYNjG8kalkNvahHapFuN8TNXahUojvowLD
ZwXLzqij2jkgRLxDcZJkQ+Zvsx0pV4p9qYoLdCIVF+1ceXf/p05ehlYjL2JIU/aoel0+gxiR+uaU
FGcQwDkdgW5uUBaKcqfFAQlhGcvDYbUiLpCQcq2sUjko5LwoFoAf0XFCtcajGGGByvOjvYtX209P
RTCgHaKaOsTCUuNoKbpcEkkp21MGV4Q35mhiGJalTkZDJqhLGF1rpFbCZ1FAZ8JpV3Zqq5e3U+qM
i9lprFFHK6U5q4+JzEUmGzOXtqJkp0r+aOraGE/UodwM55Xt3UhFM8f6K3LMWK2l946wi/CfqTk6
hIgNkKYUpRQQARcD0V4mDTRtbaILZbcEGx9S22ewzvU2yid+BzviGpgsuXraWXlHF2pi2cSyCjUR
O+g57ZmauecjOdQPQoETi4+cpuQlAZHXs4+3hXOmPbOhq8oxT1eOfjPRNVtVXcvUl6O1qSX61lzF
0nBUylTLv/M0ioky3/Yb5HrgCwAe8BpFF00nTg08c9ZPiDpU/ZLYwXz5F2FO6neuSXRRrthig4FM
Lnb8mUPMoAd+xOd+By8LF29vlKuPyiHRrxvFmNiGHbP8o7I7BNj/BDEJfsq1puuWpVnjiS46OEHL
HLk/4Dm69TxmU6ZMC9H3c8ouhhN5CSbSfS7ruimkWNTySoqFl9S2LKy8M+AwGwQujKd1rhcLRJk/
5KY8myqabmimRexXtS0SijJ0NK5ymeh5X8AzhbZworItn374UexLWLpLqvaMfEzvfYg9g9SDHstM
51wpKYOVGwRLcouhPK6RMx2etglcstO9ZpZ2846graUEXESrIgTMYdpLuYD5Jv6kmeEWroe33ESQ
KWSdoWVQTUwsBZUaFw0i8tLN7CkBbWVJdfetGkZLTrY3hkKCUjMooC5hAIy+vYbq5+GyTu/psMqs
yeVUgEmy/wJErutF8BYoOkkwEo2LZrBBzEl7Il/jFI5nFs0+g1WIhPQQCygBlBBUPyb6QK6Kwic/
TvjcgFw3WfwVvDSynUU7gdBWI7YEYcJ0thksOLpHZcRZp6WlZTTNe0dqt513wo2dj8up9LMfBE6y
Li8RzuPk+VTXBr3qHUqhj/lY47ZTRskeUKockzU28yjI3SSKhxJgYTRLNxVRT5oJ3vvQj7ZNU0Eu
NU2Y2Crs8U4pdzQmI9M+uTUhCaU87WFCIsd8uFRfCWCIJ6m+3LCGtvbjZDP3G2+vTVLhCuXAOD2D
+DKZj7xdY4BKPQkn09a833ByOwBL5MZvbZRAyJnuMiDGUOdjCsCKonApIUeRuBG3eMnPJ6BgqdRD
SYdiA7CoU/AZ4Cw+i3U7NfRfYokTEQobj5S75N5Tary8HeyrtDoZqTzjBZCsHEBXL5r0C2DT6/MP
rPgnCSreE7xuyn2rBN05d+8u726x9225Kcmbe2yMbikQdtT3rps/qT34fTbOG80rXIzp8gyEUJAf
PWv6zvS2Hh+Sdl1NWpLAMBlHdScn5pzjGzZ54KmLmRs6QrGLcgEe4cRMp2DkFniMlQJL21QASkH4
yQ0O4D5ETevcz22v2KzSLQX8bkvdzzyRFjlZFH+NDgEm5GB0WOEDwesEIQR9SdyXxO+gJP7/lLnv
Jbi93aK7tsyl1D6eFSsJzxhppim8NqMSi5RPxRTkEfXOfVmCZH2WWXrlHFJPNT8nnfS9zPSW/Fan
DzrTWGrHnX+ykesOqt+6obp+NK6L0bi3MOg1GanqqYNeTevO8wbCXmWWoZ8k6yfJ5K3j9IVUNkrC
hehsFK2zkoAhs646qL/5yeNdLOqaPg0DL0nWWVh5iTFlNkif2mt8UArUfFRkei4r2hQWU55Ipf/u
4KIzVFOZSr7eDNW5I5D9EGM/xNgPMf7n3ba+X/Z2R0j6cZN+3KQfN+nHTfpxk37cpB836cdN+nGT
ftykHzfpx01OHzf5yedI6AZ7uC8/645ta1T7xjy2Vbvda/F4TLKhKtnZ6VenfRC+G7P/O1dr6I4O
7YzRl37MT8TzL1BLAwQUAAIACAAFrzhLmdW4VegHAABqUAAAOgAcAHN0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLXN0ZGVyci50eHRVVAkAA2qMyFlqjMhZdXgL
AAEE9QEAAAQUAAAA7RzJbuJIVJpjTnxCqS8DUiJ5t+GWQNKDZiHTSc/d4IJ4YsqMbZLuy3z7PNvY
lKnFJkCHaNxSq0Xxlqq316tHj0c3Dzh6wdFgEK4wGd18wf+scZwMXTLDQYC9i6/Eh5Xx6GbkJu7U
jbEIEl2hzsX449DzNvDDkBA8S/yQ3GPi+WQxDMIYA7RqKLZuWJqjmapqaiynLeZgMONSuYvC5TDw
MUlS7js0FcdJ9/MYuSR2SzLLVYAT7E1WOHLTtUd/iaM7P4IDdJVv9nw+N03H0nWs9BjsVc66DtdQ
ObjAeeknE5KLJ/16e7zHsBBaDkUh0hJlv2RExmF50V26PukhjiIZgpkOu96UCw2nnofRcshF+h0v
w+g7wN+4s2eQ0UMSRkIOOTANydl3tyfZued797LtNBEM6s7cIJjCLnpy2wNmXC4VezP6luHwvMUn
L+EzLm3mmngUmcyCuj2ROfA4M5ZVAl3siojddUcAM4mup2EkA12636c4c7rxxoar7qaAAITHYISa
EfKYo8zBlyZkuHFSif5DiTgzh5TgPrnEC3DxuVRMDOd5fMIRRi78VQ3dcExHcxy08Xp5bMsP9Pao
luPXxjOZL0tJdSuq0rXem0317JRyB2wgnIBWcGo1BY0iH3ENkgsp+ZazY2ap26OzgAEC76XRtO7I
uMbUm0sGlGsZpWT2I3UfrlZgvy5BpRYvEQlfUSLjUbfr4TqKwAJLThKEIrvkGLlUSjxpXsrVRWeT
i4c/f/MTzGSjBYZAdxsDYuDHTwWFMZmHwKDwaeAkQGcZoWwJPqG5H2D0c+dnBJv1/PhZnrtG7Jbp
PJ86MIPIU+i/dUaoq5kRitPLqGLrKeCEru4Gg2hT5hWFEwckJFUqD+vZDMcxbOUKzXJ9IuAXp4r0
40rSMO0saZSkQHQrN5k93b6UgYsuypS8sCo9Pq1ERYfLqlTKh1G3A7IxrL6um6bSt3pM8SsRdK2z
m5mcRcUyE/qP5e+Ocnp/p3iczN9Ti9p6Oy1ZzQadi1w/FW7FH1NMBf6ouqPZfcA8MBJIvXiyw/04
SlUNW3tHgeuzuSJL8iCzKPkr9+YhbGKBpReSSrUTYTfBIly2onbUviZU/RQvfEKhj0mTDLCLJUru
BxbtEzqcNIupW97UB9jeMBVammG2Vole/eSpjKh0ONU1BW0LQbQNdpmGHUVxTUObWnNDzbTcXLF5
DqnU6tXPRQ3FpIavq0XkevgPjD3sNUoJqgaRCL9y1s+v9twzcVHleuYLk+nfoKo8dF1BgkIdTuNg
FzIT8/ZjATEmHv6W8n3G3+/d5GmAOpdonZ12gPS+ozupAVyi5TpI/FuSQP5EV6qmmaZq2n1NxDgj
y7BcrdMro8fe4DamfS/6/qAWyq4karspPNEd1g8Sk65pOTDwkqscC1vTkmEQBOGPZ3WulyoETR6K
wDIeIVXTVcPUNc22HAgqzRoxh0pkr34MT7OiDsrxrYDpv8gsswJcxqky+E9Ifk0/gatkvtvMSUo3
5y03UWQOWWfUG6gm5pyDSg05D3lXiDYiynRt03IuUQ60s3xRplXIRnEY5ZYPzBDsKY2MnzqfLob5
V5CHpn6mChSErzhCEGCzqx6kDbSGMrpc2e42Rx0MXO8l7Y9neW8YriE1UBuxNM243F1AcwxpBHQc
4VkYefEbdtHcW/dU7/4eWpqV1DdLqFN4JeME7+GPRb6sc0Y6rzJrcj2VYJIrQAkid8Ayewu8Dwzt
9psfJ/GYVHNJaoFQdYTZIop3HdIyDEfeXPmS1p1AKMr+lZECV6khlflP/aZMzRJSgtzYlIwFVbaI
zJqAR8+esQeCzczxV6AF9R69C0Uzein9nxoTKXcGWJ1GTn+/nyXR7i52YWGpd7D/3nOchrpZbNpM
e7p004rdOsn7X/US8OoHgeCNpn21/BGvlqLqQg6833bbp8of81T5oR4Sd6RCRSJOEyU9zCbYXc8T
HFWaNMPNY3nRgHlzRyKR6I3f66mA4KKZWhcsSsAdQ+HuBFhBAkgb1fDxBaNEqvVQ0iRZ4ETUrPiM
kzyXSmz7ziew5V9SjYMKhf1PKu5xzyl1Xh4G+w4MdYbCc15MYGWNj9jc3Pv4fIY78UlCivfoDWWe
NLZKyB1y9uNV/nvgnleYElPMnBGuVuL2+5uHC+RZ/LqW8T59/48i7m0FcX0ywcurENhBwXrc9Mnr
nTKrIH4/pK8bNaVJBsNUHbuYnLxzSHxYFMmnLm8u6CzFLsoVuIUTC52CkXvhNl+KX1cr1+ba27yt
2M2azJ/3PW+zO2ylAjjuJfYzT79lkRan38brIIHtJNF6lqyB7jAICW4vu+1lt73svvdl96Okt/O9
etdedilbZ34YoFuqYTSfKqZ/GrDX9LKedW/fML18/Em0c/nZRDvqvNeAYDvmd4wxv3OYOutbinLO
U2cfJSW1M3CnmYE7pMebv4zKRmG4EEcbWztaqc5ss65qrz/5m0fBWNI1zRQGXlJPs7Dy0n/EIEgf
yauaFF7PbaPmsf0rWUMivgnC6Z0fbJ7e40b3hNGh0tvnujDiWYH0lxEnHRsbyaz4/cbGDp2wbGck
2xnJjzAjeUCTqm0ztW2mdqainaloZyramYp2pqKdqWhnKtqZinamop2paGcq3n+m4v80LAFaX8n+
oxvBf+q20/TOaFCvobZjWrVPs7ajOD/iada2oTY73rmFZI4mkPc52n9QSwMEFAACAAgABa84S69N
AbK3CAAA5gkBADAAHABzdG9yYWdlL2luZGV4ZWRkYi9vZGQtc3RyaW5ncy1wcml2YXRlLXN0ZGVy
ci50eHRVVAkAA2qMyFlqjMhZdXgLAAEE9QEAAAQUAAAA7Z1Nc+I2GMfvOeUj+Agz3RkDBhxuG7Jp
M22XNMn2brBI3IBNbSfZXPrZK9tgZCzJLxgw8N+ZPYClRy/Pi6Sfnpi7m+tH4r4TdzBwFsS+uX4g
/74Rzx8a9oTMZsS8+GFb9Ju7m+sbwzfGhkdEJZUvyuXF3VqeuSw/dGybTHzLse+JbVr283DmeISW
bmlqv6P12nq722p12+mW1jUHgwlXyq3rzIczi9h+0PqGTFXX2f5UPb6q5D25hu0Z8TDnixnxiTla
ENcIvnuy5sS9tVxaoaH+7E+n025X73U6RG2mai+iqcmqq7U4dWnLc8sf2dHwgsfr6X9yVoOOSjEV
2RlJP0xNBqfJi8bcsOymwpm4lMBwzhrmmFuajnrquPMht9LjX39YflD+2pi80jl69B1X2EJcuFh3
Tcu8l/Uhz2wojYkxm41pJ5tyh6CNcVtJOIF21dN0nkla9rvzSmJD+WqbjJjQbBpNkQ3wWk6ZU1zo
YnOK0r2+FJQZuV/HjisrOjc+xySMBHdLw03GAJVOgHAYqUkNBZmpoUypA43s4dIzJfp3JNMZeqGk
7othmzOy+hwrxqPjeXohLlEM+r+ldTS9q7d1XVm6ujzgRgMqH2qj+plBVubAUlGNhKo67WZpU91G
KWwEC3qZEiKMON7Lm286H/at44bjC0TdUvmO+0nVQQJzWRVeRXuuJXJLQtAeBUmeZvosyQgL+V2b
OkJPi127mKh7Z7Ggvm7YSmzxvyi286H4sjayej18c13qrXFLkgqr5TeqEc1KXC/PPAucLCrKLttQ
SWUqKTDp8BKoBCqBSqASqGRblUjP0DdSFYq26JBYU4kcUf+lvms0WUKldVpqkwdMULXiqmLEc5MI
lUHBEYsxBwN3yTNXxJJTxLGTUh7fJhPiebQrX5RJFEgU2p4XRBDLS4Cbbr+HzqFz6NxG52JRpuUt
DH/y8u09pmns9YAaIf4zKh6zoOC6RaTH8CqG2f4pjUsaF7XeVafT7apXvWbqhkeyjGXF2FZXFJ5Z
yetuVrXJ1NXdbzKZNna2yQycZ73FZGe23ac6F+03g8ll9yhhTZX+a6nTTv9Kbco3OaON6tVopaX1
2wecsc5kKh235xuu/3cUeYa0E89Eeo2XuC5wieETUd30lZTeumoLdTcmz5bNVL9LqqLs9cCfZE5D
Q+r2b7O1+t3tCNaiERuZ8q1E6+4wH2gPhoH6aGvK6vqI6uvD8l/idYhdhDptVVnf6SjruBnamq6q
Rldrj3tTrRXaW34T41yFJz+vAHJqQf2xeHYNk3wnxCRmroW01aZBjXxwvi+x6jB3XaEfjMb/0MmJ
4s4Xurool5yr9s2S4cDWH6lXvwWXn2b6LnKp2XvR860yADa7lZkMwBvHdukMYtEZl+ep8pJLyXTZ
jIyCVAVBPOGZgGEGClFGjyu/urtRWu1OS+tSZ1L1Ll0XluJYWYnBURHfyQcjNo5osirfflpe4Njp
fidM7cO1fLbuY+Cm0nDGpDlsq6VC2Q48axPlJ1RvmansBpm3JArHS0ccj0d2dAleqfuuYkaW17Kx
JfWdXH9xMcl+JC4i96k4gglc6ZV8hgbs3dk5HC9CjA/BosKz8XyPycRxhf2hDpUokBCwfpjHa+6L
TTbrI2KLF64IWxv6PceumPV3eYQtaPV5V9leapVNJQ92ulc9PX+SD5s+WCiZiLbTVqs9aFacvJcc
zoc1mwlyrWqdookD9+kduJHmWiLN9dCQokya7aHIhmhDXrCT+8YgGbv4qPvxbl+6b7+1bMt74Seg
50uhLIdkgFaAVvKgFaTNn3fa/NGjtUSnOf4SjPeb6zru16lP3IQ3LieBfg696BJ/Q1DHvyE4NZZa
0N0EMSvaV/wWmBadDOHeqLYWfV4kmXXlvLoLI1IdEfQ2Dgl8DXwNfA18DXwNfA18DXwNfF1vfF0G
NlcEfcsC8rzwtrC9F6G9yAw8dGbgqeHLep3kcW1w9hmZgOk8mA5i28SdQq3vFADTy8L0g+Hr0vgY
GdTA18DXwNfA18DXwNfA18DXwNfA19vlSpcl0hUB8d2maleb81wffL3n7OvyWDov+Aa+Br4Gvga+
Br4Gvga+Br6uM74uTKG3TJcGvga+Br4Gvga+Br4Gvga+Br4Gvj7i38irCB/zAHlVudJlmfi2GBnv
Za3kJSDVQ11kXwNfA18DXwNfA18DXwNfA18DXwNfA18DXwNfA18DXwNfA18DXyP7um7Z13h5CPA1
8DXwNfA18DXwNfA18DXwNV4egpeHAF8DXwNfA18DXwNfnxK+BoSuAkLXAbRd9VR116Bt59urqn4j
6PhgPpjY2TOxk/tbhF28Uqb4sT25h5IQn2AtpAHfc1wR8xmtS5zV7yZWFh3XU5wVISXKKBbcjyWw
An1v6l3uKE4eX2QLycPdKGFvJUC8IDLKxlMXVJ+Kv1GHBwPBA34+S4HfdUiE3Xdj9kZuHfd38nlG
LD3P+jEq7gsbaGPfhFuyaeQ4VyEaXfEmfTuCM+KvY0u38Yj/K/EfiPc285ld4Sv5jMaxb9ZzOngF
OAM44/B5Q3u/ZQLOAM4AzgDOAM4AzgDOyIEzjgc2ZGODEqfzHZyylwcV7jk7DHvZfyCAU236VJsV
DSWieFyorclVIBFXi4B61Afz2oVmYAJgAmCCA2U9VEjIgQmACYAJgAmACYAJgAmACYAJgAmACYAJ
gAmACYAJkE0ATABMAEwATABMAEwATABMAEwATABMAEwATABMAEyAdyjgHQrABMAEwATABMAEwATA
BMAEwATABMAEwATABMAEyCZANgEwATABMAEwATABMAEwATABMAEwATBBjTDBoQ73ibqe7yxWW1R2
yxt+y/ysRV/v9jJ/Y4NupPfyGxv9fk8t875eIYdZqW5o2BMym5UpXdnkVTMNVQ1r98ZSfLwnOtVH
MyyhTRR/gPk8ev+ta7CvyOZ2LeZ89XAKK0hdJx0DPIYB7jzI77/R/wFQSwMEFAACAAgABq84SxM/
lSpOBAAA3jMAADYAHABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWJhZC12ZXJzaW9ucy1wcml2YXRl
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
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1Ki5GjKdOZrb
jmUH9Vj8cnvrCPcfwv0pnPnUexltbtvea/0W78rFOXRblUuzTNcw5+LH3PSzUS5da1Gq8EsarlcA
sUiaq/hblrfks0xT+A/9sha/RhQj+g9/mYZURP75m+qqY9URCe9y+aIaZksJJQk9p48jn5LvPLHs
l7tEgdJ52OOf/5R5SxtfVe231PXRtexQedYPrapT1V9VUxOXLVnxI2suHaDT7XX6V71u93pwfTMY
ft79QZkI6SyyBLbQLFt39r3jgy38FLsl2C7mbPupeH09jESJF3qzlcXFq/k/KurUFqr+rjyrTvC1
hoNuP/RaKdxBudTU6XQsX6hViBoxfi2lKFiDgl4mDy/P6xUjwHwXC5dD2FyEZkW8dUQHcorqTuiU
zuy+KfvEM9VcVdyLeIF4IY94IUMkkOjzR3bvhTSVQ/r23Icf2Xo5RiAQBaJAFIgCUZjTqPmcBkSB
KBClDjEKRIEoEAWiMOqBKBClMKIcxIScF8IgCkSBKMQoxCgQBaJAFIgCUSAKRIEorPUwMwtRIApE
gSgQBaJAFIgCUSAKRIEoEAWiQBSIAlEgCkRhrYe1HogCUSAKRIEoECUjUbL5Tf47bhn1MOqBKMQo
xCjEKBAFokAUiAJRIApEgSgQBaJAFIgCUSAKRIEoEAWiQBSIwloPaz0QBaIQoxCjQBSIAlEgCkSB
KBAFokAUiAJRIApEgSgQBaJAFIgCUSAK3+uBKBAFohCjEKNAFIjCfhRiFIgCUYhRiFEgCkSBKBAF
okAUiAJRIApEgSgQBaJAFIgCUVg9higQBaIQoxCjQBSIAlEgCkSBKBCFUQ9EgSgQhRgFokAUiEKM
QowCUSAKRCFGgSgQBaJAFIgCUSAKRIEoEAWiVO3sce4NPT3ImEeBKBCF2wyYmYUoEIVRD6MeiAJR
IApEgSgQBaIw6mHUA1EgCjEKMQpEgSgQhT2zEAWiQBRiFGIUiAJRIApEgSgQBaJAFIgCUSAK8yjM
o0AUiAJRIApEgSjsR2E/CkSBKBCFk4IQBaJAFGIUYhSIAlFY62GtB6JAFIjCzCxEgSgQBaJAFIgC
URj1MOqBKBAFohCjQBSIAlGIUSAKRIEoEAWiQBSIAlEgCkSBKBAFokAUiAJRmJllZhaiQBRiFGIU
iAJRIAoxCkSBKBCFk4IQBaJAFG4z4DYDiAJRiFGIUSAKRIEoxCgQBaJAFGIUiAJRIAqrx6weQxSI
QoxCjAJRIApEgSgQBaJAFHa4QRSIAlEgCvMoEAWiMOph9RiiQBSIQoxCjAJRIAozs8yjQBSIAlEg
CkSBKBAFokAUiAJRIApEgSgQhZlZZmYhCkQhRiFGgSgQBaKwZxaiQBSIAlEgCkSBKBCFeRSIAlEg
CjEKRIEoEAWiQBSIAlEgCqMeiAJRWD1m9RiiQBSIQoxCjAJRIApEgSgQpSZEyeY3qXjEqIdRT6WI
cj/+t1RpWf+68MytoBLK2F6Y/uY/9dOvofJBSQ+Ubh+T9J03KYBuW1kke/PWowltb6fQ0UXYw4Nv
hxfLOARwy0Kp5pOQrmb7/734rFi+dymO99A2wq66B+N7JHEhHevJayxeO38z3GdFlkORyez3W+Xj
xccPSwQYjjI2fN9RptabsH33+3TxSVFNXZnPZptfUkJ4MGhvQ9j7IUSroktxPey3P+/+ECoFNrGJ
TWxiE5tlsJnTHA21gU1sYhOb2MQmNrGJTWxiE5vYxCY2sYlNbGITm9jEJjaxiU1sYhOb2MQmNrGJ
TWxiE5vYxCY2sYlNbGITm9jEJjaxiU1sYhOb2MQmNrGJzbxsRl6W4T8kjftXpMTflTG4uekmW/rL
nDtC/zq1xj+M6dIumZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5
mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5
mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZM5mZP5STO/1Mct5S/T+M/cS/dN
ddWx6sg0M2FPLPvlzhW26orFhyHi7BvRDx32NYmbwfDz7g+hr0lcvqiGGVlO3dAfFkX9FtDrw8gW
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
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN1EAN
1EAN1EAN1Gi0GjKdOZrbjmUH9Vj8cnvrCPcfwv0pnPnUexltbtvea/0W78rFOXRblUuzTNcw5+LH
3PSzUS5da1Gq8EsarlcAsUiaq/hblrfks0xT+A/9sha/RhQj+g9/mYZURP75m+qqY9URCe9y+aIa
ZksJJQk9p48jn5LvPLHsl7tEgdJ52OOf/5R5SxtfVe231PXRtexQedYPrapT1V9VUxOXLVnxI2su
HaDT7XX6V71u93pwfTMYft79QZkI6SyyBLbQLFt39r3jgy38FHuV8wARJUvMi8227aaoPeVSU6fT
sbTWCguyMrtQZPG8OrWFqr8rz6oTVGM46PZDasT4oHy5uzSesaPaYRrk/jKVKGTuYL6LhcshbK6K
ZhEdSBFFT9EpVcJ9U/acjW2SxAvEC3nEC4d5cIaoIi+fPzIAOTReKFkvxwgEojACqfQIBKJAFIgC
USAKRIEozSAKox6IAlEgCjEKRIEoEIWZWWIUiAJRiFGIUSAKRIEoEAWiQJR8/CYVjyAKRIEoxCjM
ozCPAlEgCkSBKBAFojDqgSgQBaIQozAzyzwKRIEoEKVUZ+RTg4wYBaJAFGIUYhSIAlFSzYTkhB2I
AlEgCjEKMQpEgSgQBaJAFIgCUSAKq8fMzEIUiEKMQowCUSAKMQoxCkSBKBCFGIUYBaJAFIgCUSAK
53o418OoB6IQoxCjEKNAFIgCUSAKRIEoEAWiQBSIAlEgCt/rgSgQBaIwMwtRIApnjyEKRIEoxCiM
ephHgSgQBaIQo0AUiAJRiFGIUSAKRIEoEAWiQBSIAlEgCkSBKBAFokAUiMLMLDOzEIX9KOxHgSgQ
BaIQozDqgSgQBaIQoxCjQBSIQoxCjAJRIAoxCjEKRIEoEIUYhRgFokAU7kchRoEoEAWiEKNAFIgC
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
LLHGzpvL7SGKJbAElsASWAJLYAksgSWwBJbAElgCS2AJLGG2BJbAElgCS2AJLIElsASWwBJYAktg
CSyBJRZgiZeYAbGBNTWxBJbAElgCS2AJLIElsASWwBJYAktgCSxhyUtLXmIJLIElsASWwBJYAktg
CSyBJbAElsASb4UlXmzWw6pJbbYElsASWAJLYAksgSWwBJbAElgCS2AJLGG2hLUlrC2BJbAElsAS
WAJLYAksgSWwBJbAElgCS2CJl2IJL3FgCSyBJbAElsASWAJLYAksgSWwBJbAEtvIEstowUsSxtrA
sJn1JxKtYY2dSLEElsASWAJLYAksgSWwBJbAElgCS2AJLPFKLJH3msVz7edhtgSWwBJYAktgCSyB
JbAElsASWAJLYAksYScOsyWwBJbAElgCS2AJLIElsASWwBJYAktgCSyx3WtLYAksgSWwBJbAElgC
S2AJLIElsASWwBJYAkts3WwJL3FgCSyBJbAElsASWAJLYAksgSWwBJbAElhi6dkSK4PCkuix0iSG
5aZjYAksgSWwBJbAElgCS2AJLIElsASWwBJYwmwJsyWwBJbAElgCS2AJLIElsASWwBJYAktgCSyB
JbAElsASWAJLYAksgSWwBJbAElgCS2AJLPGjbxBqyUssgSWwBJbAElgCS2AJLIElsASWwBJYAkts
MUssDQwrCEaWNSyhFlgCS2AJLIElsASWwBJYAktgCSyBJbCElzi8xOElDiyBJbAElsASWAJLYAks
gSWwBJbAElgCS2AJLIElsASWwBJYAktgCSyBJbAElsASWMJLHNaWsLYElsASWAJLYAksgSWwBJbA
ElgCS2AJLLHlsyWWAIUlZ1Wsu+TDU/RYYybEyotXYAksgSWwBJbAElgCS2AJLIElsASWwBJYwksc
XuLAElgCS2AJLIElsASWwBJYAktgCSyBJbzEYSeOhXbi2L4H/LdJKC/EEtudkZAEkkASSAJJIAkk
gSSQBJJAEkgCSbxS4pUSczfM3cASWAJLYAksgSWwBJbAElgCS2AJr5R4pQRLYAksgSWwBJbAElgC
S2AJLIElsASWwBJvZLYElsASWAJLYAksgSWwBJbAElgCS2AJLIElrHRhu1LblWIJLIElsASWwBJY
AktgCSyBJbAElsASb3+2xMpYsOQrIitpwdRHrC2BJbAElsASWAJLYAksgSWwBJbAElgCS2zlbIn0
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
AbV/ol4HN0onBgz2CfeqTGARBf9NERR8TZTAmMCbZ9wIMe2/CDp6+2KBNYxSsBJ9LQbnLSW+Ktid
svfujsstaM8LquQcs4SErkQ+eOp6zrWv5NeNgttMvD6LuQ+niOsPM7z6JAIaFKJr8uSIuaQTuIYD
QbaGq/V1ynP8mrZvp/t2um+n+3a6b6f7drpvp8+3nWZinbtMaDq6ZUmdoLyUWGW99d5WOHs/36d3
TQ6tKkfLyW/4KRv07q+M9Hcwz/cOpuImT38fp4P7OO9uVs8NCru7v8FdfChvwXV3u8O1Wt7u6Meb
p483/zvTyX7K1k/Z/i9Tts9SaTqd+fVTtn7K1k/Z+ilbP2Xrp2ynTNk+S/E835lfiykbYP2uOvwa
u7bTOImDfs/9JyZx4zG0J++YxEnna/z/n9aNtbfIoD2bdqs780F7a0r3K/7gb1BLAwQUAAIACAAU
rzhLqg5rFXMHAAApdQAARgAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmpl
Y3RzdG9yZS1jYWxscy1wcml2YXRlLXN0ZGVyci50eHRVVAkAA4eMyFmHjMhZdXgLAAEE9QEAAAQU
AAAA7V1Lc6pIFN5nlZ/AUquSKp6K7hJNMtbUXFM3ubNHaCMTBQcw3mzmt08Dgg394CFGNJ2qLITu
8+rznT59uoHJ+P4FeB/AGw4tIzBmhg9GruMAM7Bd5xk4lu28jZauD4RbQVLFvqL2ZF3WJEmTr345
9r8bMBnfj7Gew6FJpPLouavR0gZOAOld52iKun41YckTkbDqSxL3L5ShszJspytgRAtJdRBKoqrI
3SsCDdv5cN/BdA08IyR051ivnuH4RkT21V4Br9NFzeCugTO+/wkgHT8YGY4JlktgkSiTW4aStZ4e
3eQuw1CPtgc5IbKY4ahgRK461oxI219sAsvdOo+uF40nSej/sGudrtARf/fn87mm6T1VkcRubJFH
KJrrfULPBUsQgKR9YrC9T766qY8TWzLuEiQsEhA6ZZdp4oXhWEswjpgVN9v9Th3Yh3K9LoAHBAP+
S6qi6hAAPVVYx7i/qkbq2V2voVMYjpCO/I3guFshYPEoknq08TyI0pQTowNsMne91a5HbJW0X+ys
FHeKh+veMN+hSC/QFVjWtGxrjLcv9uXDXJTog4kkKQ/YcIpidTj0dqB1V+uwpUVo4jpZKi8b0wS+
D0W5FczYmALk54dWtH006IpavxcSTElZtr82AnPx8JFG1r02iiKK3QzcwrhCUy6KOQiAhM41tI3a
GyiKpomDHh5qGYYuRJoW2ZkW+rC5qSmw6eLxwYbwOBrYQo/aQw21rNyHY07DXWhcFEVRTxH+SeJc
6Q/CniwYTnPdmxkVSe3LJ7SYYs6ZevuB4QV/x3AcQSHeADK5FuRTHjACQOuL5VSqLg1k6tjNwJvt
IN0n2aGomz/9BVYwNMB+KDWc20F5RxNuoukQWamb0AP0FI1M5cLzXhzkB5RgFA4f5CYk+TUcr60d
LNLgjEZmRRaFfdIr7ONm5Gu6KBqaKs96c1WK/K28i8XTEXIhEjPnR8RZ5tf6zTMs8AMAC1ilZhdJ
hkENbAnXa8w6yGIgwsF09g80Thx3buHsIlx3Mc2wlu0khPxMWkwcC/wOLfEOPp+NYDEUrm+ETeTx
Q0EZ6IoeOsGNsNosA/vBCeB0LNxKsqxpktYfyDTGEVns3g4GKV72WMuMhCqJJRSaOjF8aKAiWiBL
MkFTkUAKEDNpBE4aixEFg8FYgeJtKZE1mSiwDpTYSHIewwoHRJi+JDFiMhYkWZFUDQYGUdfgHLcj
h9LKKAdJ/ABbhGwanVldHn7bfhikcLkzTrr17ADt+xKGHGZohrH0mWaYiqMkdExjuZxBLbrsCRPy
HJG8jRLrR817ZqY3iQWKlkzjdBpM55apE1c8WghfDkAOQA5ADkAOQA7A8wRglBiXg16aQ5MulxnI
uGUR0HatykAsbsoEF9qEttwoh6eoaSUkFembB0ZFS1YHQzqCTBiQ10oNAQDzt5O4vrta2UF2Kbu1
l8tRdJ1dNDicbyHa8lJkMIfdLPCXWFXWDmNeZ9aOQwI/YicaEBmNqTCKO6VwY05Bj7Zj+ws4Bx2r
bSkIE7UsMziVcEzikq1+Dnqqfsg2MC02kLwSwzgBWESpryltpt7dzPUKIDi3w9kzCRHtK6nmrIIU
+Qj1xVCZ3c7V3TwAXqZ+OdqhIKlN1i4dBoxxI5dBM00gT2O2hGAoil1pw5yjECWBrO4sK9wOgj8/
gBAwR91lZGcV7nGbcJtwm3CbcJucwCaXcuNMxvZi5b/YEWOhKrNWeQP4kni3Kf8Egp/AdD2Lkc3H
S5s/whwXJq3UYxnIwpOoJ3O5QuqBH4AVBz2RtFwBDryyAYULqurnW7kmXBOuCdeEa8I1aUKT0tMp
mWGuwscgRXp6RFbZ1UkGuUN0b6wkzvvyvknfdhVy6RSj5N3IbBU0dIq4YNvlrpDxeR5D/qam3m8e
3R1NTfYGFJQgYT1xyj9HdIZSc7cuOWT0mkF00gf17LIIIGwURrSwPcA8B+YjZJg4h7Dh7v593b12
vlLX/097/KQ0X447Gu5ObhwO79bDu9YprzacNLuQU3al+X7xyboGONY5m1dVzKOc5TvTLKtZexcd
Gaxk+arnC8uO1KnPIX6fE5d8kv+ySsxlTrC1ZPiK9PUczxKfqcw8h/kmOUwtu9VNfCrZ79CEp0ZO
crYz+/d5aoRPKPyBGl53aqSeUSHLrV5vwZ5S+qK7X1Xn4fs7HIi8ANyqtWGb1ixHSKvZUdtscIHD
667tr7s2laHXXivxNQtfs/A1yyWnSkdIrZvIvopz89OV74+/VuLrjubfqMG3bb5Tan7h2wkHPS9R
R+s8w7fkaeHUISvpSXHKlGoVQ+Cd2YO/b0cfSqQN21pPJYjVXEKU1Yd2XCPz4PeHsdyAR9f7E3zy
HY5WafpU1W1RBfk64dQylwkArXyhWIW7B7/E8QmbLSaZbyXs3mRW8cWOZV9r1hO7rVkFHGZK/hbJ
r32LJK9r8eLNcQIu6yU9Nut9u5TPGOa+aOOuM76h9HWtl/sGC/axTNhI1KmOwPzoZpb0yvicgej6
ZBdtcnz6PbE8n/gLlpgBdzpeM29UM2B1+i288T9QSwMEFAACAAgAFK84S/uV2i+RBwAAg4MAAD4A
HABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtc3Rk
ZXJyLnR4dFVUCQADiIzIWYiMyFl1eAsAAQT1AQAABBQAAADtXc1zmzgUv+fkP0HTS+0ZZ4ZvY98S
p+l6ZqfONunesZFtNlh4ASfNZf/2lcCAACFw4rRJ+zrTg8XTe0/vSz9JBM2uLm9x+IDDySTYYXJ1
+RX/u8dRPHXIEvs+ds++EY+2zK4ur5zYWTgRbqJE56h3Niv4uQf6aUAIXsZeQG4wcT2ynvpBhCm1
aigj3bA0WzNV1dTqkoqek8lSyOU6DLZT38MkZtIrPBXbluuTsHCfr0nav1WH/tbxyAAJDNnCqs9x
UgxdG4ic4ZGH4B7Pdzh0GKML4t6FDomchO2dt8Vhf8Cb4SRubh5SIFHk2guppOa+G4e4Ps5+50OK
qMi7DQ4xcuh/1dAN27Q120a7NBLY6K6pmCB8ol7GPo5zHllMFv67C/J4EFJKngo0rjX1B6ivfB+t
VivTtC2DOnAgNddhyImwk1iGBotl5JY5jtVNsNtRBzsE5V4cIhI8olgmo03r6T4MaUTnkiQdKMkq
CLeHHqlV8n5p4LkLYc/UXZfO8p6qdEtDAZ/d/vWnFzMqvnUyWeN4Hn6KaEffizYZhxlZBVRAViOo
pIbudUEoaaK/0MrzMfrY+4iosq4X3UtG6nruVV1lLv6WrCDUOooc+l9bEOpqEoRNaZBpksughHM+
9SeT8FADgu2OUboCkoCUudzul0scRVSVc7RM/YmovIg50ov4GqmYI4sxzFlR0+2ceLn59JAXwmI0
uq4og1LGszLVNLikhHE5jPo9ahvDGuu6aSpjq14ZJYZuTXYzsXNTJa1NJafKd1t5/XznZLxavrOI
KrKdt6w2oj5vSn1m3FI+sp4K/afqtjYa054vrATSLJ5XpJ/Gqaox0n6iwfXlihm8kQ21WRj/nWbz
lCqxxtxU34KeQuzEuKlvDUEZtjrWng17mkJmgdce4ehnpMvMUe0lBRdpZBxZUwsNuR9UzJQZjc0w
RVSiRy/e5BWVL6e6pqACWKKi2CUethXFMQ1tYa0MNfFyd8emo+UaEjUFBqlNDd9269Bx8ReMXex2
mhJUjVYi/Chof3vY88iJi4P/SS7MF/9QV6Wl65xOUKg3qNm5Rvk2GXE/M4oZcfF3Zol7/HTjxJsJ
6g3RPrH/BOljW7dZSA7Rdu/H3icS0xkdnauaZpqqORprTYITtrVnB6fk3is8X/KEoSodBjQnaTI3
pbjQAmWWWW63KaRjpYRE6qxrEdviDMmas07bUCWzyaLWoaE+ioLHcZlD0Pw2q1izK6RqumqYuqaN
LJtWK/n8etOkxJEWQf2l4/sLqvBAPkFRmVORZxuq/PT0UVDqLRLBR2aJOC+A+awyJ+l+whtMFQh2
CHYIdgh2CPa3FuwJuOoW5jkOEzV3cWRK2RbUB6ou4ZySSgM5xaTniA8iLnRHpmUPUUpUaT7LV2J0
ARMFYRr5VBiiOjHo+qH34WyaPqJLl4WXuAL5wSMOEUXAye4gXWmg/W5XtBTapl0nE8d9YPvtyVJp
GuzpaoJTxNI0Y1htQCtMVx7UxyFeBqEbPUOL7tl6pHuPz9A8rKS5KV4EnCgra0nwU/Ix2G69uLxG
e/R8f5q0y9fmL5fbWgKqWpQKQe1hS7ykQ5UdllXHLDsQyGqCsFNTdZATH6culzNCtl2scVTiiKSU
99LGlmG/5AixKRlFYVBLKkEkC7XuNdDMw4tFELbE/Mpjc2iWk29vq6hiFW67SLBvxgZzOEa5WMU4
LO3LpUZJJojeizahYonfxNt7JRKc7Z+3FYucsBIoQk2oqAvXZWcT9OcDRrHU64EEox3xDGwCNgGb
gE3AJj/BJr/Kg3fi219W/1/WY7KsKp27rXF9DXo4bP6M46/J9oAEzV97hKr8B8O4FLQ2HvJzKz3h
OKXLFVGP+suTythSRMsVTGjLHrcuqI5/NxJGAiOBkcBIYCQwklOMpPN0KhZY2eGTsBL95YFmyHcn
JexeMvaT7UFDX+ib9X1bG7nNHBPw7sS4+d3SU7/KejjnuGgVfMxLrW/L3AJWsXOPv+Dv8dc9IbTy
V0rpYYQoSk52A+I/oWi/2wVhHCGVX1kNk1PQRyrZD7HjPqGNQ5deaqdTnYtXc7X8ZIhqkImedX3z
/PfwWvOa9pa91txyQJXQ1M6eqj1f5ZwVznfhfBfOd9/9+e67hAXyQ2kADQAaADQAaADQAKABQAOA
BgANABoANABoANAAoAFAA4AGAA0AGgA0AGgA0ACgAUADgAYADQAaADQAaADQAKABQAOABgANABp+
PGj4QZMmYBMADQAaADQAaADQAKABdhpgpwF2GgA0AGgA0ACgAUADgAYADQAaADQAaADQAKDhdwAN
MIWf5BvR721CXWcfFWyb29b81wfrjXIHFnTNRudo5DlafAex+WrIlID6i12PECYfWeoNUfrhxQNg
4i+HUEbdrjv5fOx4+QmrOTpKX3Y87XUIn0X+5S73O3yi/MgrErp+r9w68VeHXgL/XmZKAI8AHgE8
vqf7GDp/ctcTXkRDJ4md8AvCP/oBf79r0lrEoD6yTatyByi7ebxKpNiNAVcL/5vUvlPGp8x66zwt
cNI+O5SyipyRpXSXkzBypVd/Z9PMlN2m5PvYfZ4BX5X//1BLAwQUAAIACAAUrzhLGfYN5eMIAACM
rQAANwAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1wcml2YXRlLXN0ZGVy
ci50eHRVVAkAA4iMyFmIjMhZdXgLAAEE9QEAAAQUAAAA7V1fc6JIEH/PUz4Cj1q1qeK/6FuiSZ11
dWtqk713hDHhFsEDTDYv99lvAMEBZgZQiLrbW7UPwZ6epqe7p39tzzif3T2h4A0Fk4ltRubSDNHU
9zxkRY7vPSLPdryXqeuHSLgRJFUcKaouG7ImSZp89d1z/t2i+exuVhk5mVhULg+Bv566DvIizO+6
xFM0jKs5T56EhX24JOn4WhkGa9PxhkKFaS2rAcFJVBV5eEXh4Xhv/g+02KDAjBndevZzYHqhmbB9
dtYoGAxJNfgb5M3uviHMJ4ympmch10U2jTOdMpasc35sFfmcF3twAjwTIYsVa7HC5GpgL6m8w9dt
ZPvv3oMfJPqnCf1f5dlgKAzEn6PVaqVphq4qkjhMNfKARfODD2xpyEURyugzhe1t6NnPbZJKyfmU
ImGdgNiIhlwVv5qe7aJZMlk92e7v3OBCLNfzKwqQYOL/kqqoBjZYXRU2qZ9etWP16G822ChMT8hX
/ovg+e9CxJujTurpNgiwV+UzcQZgkpUfrHcjUq3k41JjZZhTulx3pvUDi/SETYGnTduxZ1X6els+
zkSpNphJks+BCRekr04mwc5p/fUmprQpJL5X5PK0tSwUhliUG8FKlSng+cJYi05IBklRG+kxw5yV
7YQbM7Je79/ySLh/G0URxWHB3eK4wnq5JOYQDiQMrrFuVH2sKJomjvVqaOQoutbTtETPrNBX2Uu6
cjZD7N/ZiDl6c7bYovauRmpWHuE1Z/ldrFzSi5KRIv4niStlNI5H8txwURrezapI6kg+ocYUa8V9
7zAyg+jv1B2nWIgXRGyuNflPgMwIscZWciDVkMYyc+2W6MXxiOHz4lIcmu/8hdY4NOBxJLfqbEfl
HV2YiWZgz8rNhB2gF2Rkahae9+IQf2AJpvHy4dmELB/G6/XuRK95cCYjsyKLwj5JFfZxM7E1QxRN
TZWX+kqVEntrbmLpdkQ8SMQs2RF1l/m+eQlMG31FyEZ2o91FknFQQ++U5wfsOgWRdwuXr/DeOgpj
VYky1vLXaycqquzdcd1p8pyvKitb6LqZFdSL1AsvtU2WxVrldygkNpUPKy5EUxQPRZU1xsvSsgBK
HcSIGxaHmKSkyD2o2X0eeeI0UYwwsEzXXWIphvy4jSejzlKM1mNdNY6BmYwANqVZROFtcqKrsooY
HkGhWQS3Sz+ocZ4VtvSFl8XK89sCSlohghIlHsYvs8u0b1cRCgrxdrqzwCyWtgx1hIdVKjaKNlJV
5npzKz9F1mvzY4mS5/NdUCnNo4/15vOkZZRu0QHDoh8czwlf/4jXGb8ZM5WaQ0HsEgpiHNQH2K0L
7HYOSGSsi+K5IhHSL5sGlyyuH5zdAfwB+HNwTpA432L5D1ZOWna5wduncE3BDGXK5MX2f2YUc89G
P+N5f6CPRzN6nQjXX4RtYl8TQRkbihGr/Iuw3rqRc+9FeHcXbiRZ1jRJG41l1sQJ2ytKpbYkUTHv
olEUZE4pdjJXxptxHlp56ng4RfNM9zb7tAj9GiSvx2C3RKYMumG/Tr+C2RlAyHI/syQUne3cewz8
lwCnoXt/p6b4ZVsgoWSBOI9AuVvjpD1JBdh8k9XoiOOsbAEH8mXqkQ/uUgNiB9kyuyaY95Y2hrFB
mWxaJuJNxgyGPW1Je7BMfY8G6mwDlWlzlLIJamLcMC24lJ33ts77M5oKIqcHs8bAD29QY/kQ4Nei
LNBCGAw2GIWE/O0pyPw+CPyAisvjOIH/3mNzAGXD+uJHHwWM9qWIcyktnF0MAUQNiBoQNSBqQNSA
qLtA1JesGqgGQDWgsaTnqAGoW0DdAuoWULeAusXxdQtuIUIXJb1lIWKsG90WIlrmrFC3gLoF1C2g
bgF1C6hbADgHcA7QFKApQFOApgBNLw6aJnE4hTY4fw/9oPTwT/RRef6CouJfmIh4YPnb3VkFcmff
bGOjse3mH6TfBzxsvdxNiqmCi8yg8nQnW+FZ8eWgiQDAOIBxAOMAxgGMAxg/MzB+1NlkHmClHlOm
aeC4g9Zs1jVneSv0nOSxSltz1rkygHXOmWI8ph0viLB4yjxyPhMkWZFUDbuhaGjqSK4Fsbb9Fb0T
bPMAzBty/9MJ45BQlbtgpO+BE5Fjn2IH5wZC4tT1savU6vA1zdpYx6W7t8xPKe8c776VuhDbcfMI
QnvcZCFTyjpH21E1cbGUlOtcJAkr2Dbzp4S0lSfVvW/ZMVpqsr0z5CvIdQP6TtGRA3TWJHSqu0Dg
No/Pvc2jwRaUwoSmexDc/AE3fzS5+eP3q9TBXSdw1wncdQJ3nUBR9XOLqk2Lo8cVX9ti/4NLsS2K
BlC1hartie6S9A++a4T4tJNDWdAd1aA7arZXOlw4curuqDaYHDqpoJMKOqmgkwouJ4G+IoDAAIGP
g8C9f43dQdEHGpcAAp9/49KBYLWzzqfO0KnNw3HsHwHrpQ2pypqPRKr0HMhTpeWjwQrAZUVZm0HI
qok0wmWzY1XRBqDNaEvK/fGtXnt9erm95PStetBsB8120GwHHUfQcZRXN6E7CbqTfp/fJYo460bH
PwUSPKe5dLEz1MWjnLBkKFRJ8FS3th3XavCfb0iIuKvuN9qi2jfgUEXm+iFtRLUci8GqSPND5OEn
W1QbKfouX9SFGg4rWu1ZVvlhksOus0rzMfvt5VZvON9Exn5lFva0jk4F1n2dWTvxZf7uaKOvNXtT
eg0Md+xs6nnTn+k9r2JjgpFqMoyEppI8lEf2kosDBoDfEIVc/bfK1X/lBPrXyX8hj4M8DvI4yOMg
j4M8DvI4yONa5HENPqA1HY7FzznmaGgnPuYIpxThlCK0aMIpxR5OKXbSNAHdktAt2es1b+fXNQmX
t0E/GfSTXfjlbdDQCQ4IDggNnVAEPElDJzR/QiESvlDu+AvlX/ndjmnaLfANI39D/eCgi2KYdd1M
1PTCF5dymwcpCFkNSJ4SNejRrgbNLYiPDNFoV9oejXTxxFMz1dFOq+f4BieUqSOT/MTF6dE/G+m4
72+ReCvT7AqWMzeiyzO5z44HHb1a32xOpbr/AVBLAwQUAAIACAAVrzhLfz35qacJAABptQAALwAc
AHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1zdGRlcnIudHh0VVQJAAOJjMhZ
iYzIWXV4CwABBPUBAAAEFAAAAO1dzXOjyA6/55Q/oWsvm1QlVRgwxr4l9qTWta+es5uZvWNoJ+xg
8AJOdi7vb38CDOajacBA/DGaqjm46Q+1WlJLP4Qynz2+UPedupMJ9XxtaZne21dXsz1N903Hvvpm
m/9s6Xz2ONPgqebRqWPbNHzGHkHuyTX8H8jCSJIVURWHwlgRivPAaBtatjQ3ltXTtN+d73Sxoa4W
dHuwjdSgr+aauje3V/NL3Imzofbs8U8K83j+VLN1alnUYM3M7hnS0fV8N2vNtG8JY5CesHRqOR41
nlxnPbVMavshM2/SvBRH4ulvNTWfURCbZ2obpv0abjUrKIPBUOQLnM6cJcev7JyCqvLpiXh+OCXM
MyvS0M3xy9J5Hf/PMl/KHk0mm0g2E3sVWqgn04XuN8K/o9VqNRyqiiQPhNtWY8tFyuGYynAyztg3
zTYsGv9OCPFgq1/fqEuJBv8HsiSrQ1VUVbKjONjJEyzjuD9Ay6hF/WSOmEl7/fnqJPrI7Ml5yqC4
0HRzm2aWDAp0yzXAuy2Hi3XCGVBWRU4402yqZ2ezgdPWbJKc4h2xnQ/i89aoonq6dV2wKMlKnAHQ
ZeW4692IiCvJuOgqM5bMkdFxPWr6dyDpBUSBXr388R/TD3qlWyeTV+ov3C+x+xDPMLdXDiwQ22hY
qWR4cSESNsEvsjItSn69/pUAsYbpfefs1DCNWZHklPzpgUEuDGQd6P+qhFAahEJYpgYxJcka0HGR
NjmTibuzPc56E/Q0GF0cOzvLy1bXqecBKfdEj86TwHpecJCml3HShiMlmDCZCli30Xz97ct7chGl
7I8kRLYr0fjAPJZtLjSdKR0mN9fAG1kZS9Iw8A6LNxqH0ZXKPgz5XGbBC1d5V/quCv3re2qN3vQ9
kKi9tqc5K46CO6dE9QPmZvQxGCnAv4GkiqMxjGxpCbhavMit3s2hDuSReESGS/qKe8kDz1z/r0ib
p0DEK60duOku1XxaNrbgwcrqYCweHJiVicySvpp2qv/crnNz5EdxnYtIMhra1D2FqR+wzDRgWnDD
7KWSfJj+W2JR0+ZUEgWyd+zJ3tiFJ6wKgjaUxaWykgfhKdc/WIa/mf0dM6RwNXzbvLqaQf9LqUGN
WlfCQARLRD8Y7afneza8uDpz2HVnvTb97AF+mJY1Ddv5B6fHYle1skR7oXphR5pSpj96fg8Z36jw
sHCgLEbx4uA8x3i+ZmxEmYNKbIfO79yMXDAuzzwa6nCD3OiaZS2ByFu+wYbFmKtkzfRYkdU2+FmJ
DZ2yxCCzm6TTVZ5FJWrA6LNwH5aOW6ExKxDvhR2b69OzQjmupCwRwyQHm9l56A8rn7oZkx8xJTTT
1wfYt5RaFYA2aTiS5dLz5gJ22anX2o8lDdvnO0uSW0cZK/XXidCvbqOKEol+Mm1wNn8Lzhl2VupD
IY7ZK47ZFdLPiRYx5usi5juFEGSsCEIXElNb+7neR7exy+UgwBiFfWoU1sovCBVwsfwbmBNBNvdw
hZJrRrCQ7xlubP8z7jG3DfpvsO53+uNZ898m5PqObEP5mhBprEpqwPI7st5avvnF9uGGJ/cDURwO
B8PRWCxbOJz2igE05yjK+l6sHhmaox47mgvjtcAXLbSaNrhptmY9xE+zMV8NB7ZN0BbSFMdsoNfR
W6idAHhl6qfliGJPO7efXefVBVd0r+9MNz8vC+kYMtM5sUCJWoPjHroD5fOGp9HRjLO8BBw4bykf
+QFeJEDlRjY/XZ1g94E1puSuYc7fz12zj4SZBNbgU5M4mLVGzlVger110cozuVIfqtQ67lMIt9lW
qnZUBzfPWDwkqmsQ8zcgBiKJEpQg2T0j7P7iuo7LDLoDAwC/94E3Rly31chGH+hEc5zhVHCDNjak
+u1zWfhbdnl4b1vfcD7sJ8eNMBx8q3pqEfbB8WmrC/1Yr3JbpE/gW+BjvwU+EBE59ObBt8D4Fri/
t8CIhpSiIefMGkRyEMmpTekpcgAxJ8ScEHNCzAkxJw7mxAWRFGGgNASRxoraLYjU0Bk9ZcypNraE
mfwXjzkdDTfqzZNA4Ojn/nygF0ASM3AwA+fSMCcEVs4aWEFYAWEFhBUQVkBYgQMrhAY2imbAxfYc
N9f4O/1RaIcIJvsLOqUadGe7+wAofWVvtoHQGEb9B9FLmqetnahJ1gewqOYWWne0Zdqym8PkHQRS
EEhBIAWBFMzAaZeB00thHIQuMHnnooGUVoUceGADs6YDiwPtqlKUT11RA6HQnxMfFPtWFIYoDCgr
CsEQHs0IDoQsXmL7MJ+RgSgN5KEkiiNFBdtQrzJEW440KhDBOtmykg7dS8GnwGDtVaWAn5UrSaKt
rOY6Bxn1rBLqXa864hx15QpyZLnuSVqIUqI7GirqHYk65ZqvkttRD0PDSPJhMQI0BQbul+tfrqKo
MbhOlmZ4FMRyPiCkAzsZFt0D60+24L0nLXtqo6GTiWa8B6hseH1Ng8g4TYgiivJdvoGsKNwGcMYu
1R3X8A6gor62Njze5hqaiBVXN9lXRUda2Vl23rEqJ2HtI6x9hLWPzqn20c8Hq2K1J6z2hNWesNoT
Vns6sNrTcTK/+i0ohdWeELD9vFyzbFh3cDGk1NNOvjzENLIaaWSzPdOxIhKmkWEaGaaRYRoZVkTC
pCpMqsKkKqyIhBWRzjwf65NgCozRManqID/kwNi+s6yszoJ5gxf2lv9Nyl5SpIpT82PBYn+OvS/2
5QfPBTyA/+cWsycZoUnEKySYBL4qd55v9hY880fLWT6ZFv1zl9JRJ5ieteVek6h6xpIC7t9u7DWd
qpciSMfPPMTcQcwdPIfcQcxVwlwlzFXCv9PWX+aOzzk3diST6UJjlKHKWCQdc4LCpASWejCMADaC
n++U+NxTd2rdH83TcZgkc/WQNaIIJkPYyfybUtSGli09erJAlanhTMVCzkWZbyY503WGk7e5DM83
V4Lz0jPQK/B1uv9ur+rNaeXCTQCqc2F36sVsb4yviElNI156XhebPa33rC8BDFfhZYR9Cg5EfmQv
zjI66eiko5N++U76JXvOl+P4ogOHDhw6cOjAoQOHDhw6cOjA1XHgajxgJUmOhc/5zFEdHvkzR/xK
Eb9SxK8Uz/wrxc8ox4YfDOIHg0eqqXZ6aYBYKQ2znTDbCVP7UNhR2BF0QtAJQScEnS7rreEl761N
SmZmXs93NpUP0mFe2JrC/0Y7/K/erO3rmHQ7NRdChZBX/QwIdTRShEMg1OYHWYqxxqIUVXaxovn7
7N1K1mqdWjf872q/R9xWR9JwNgdzREJP8ZRPUdPOik8d6U8X0/wfUEsDBBQAAgAIABWvOEsllLaK
MQUAACsqAABXABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1q
cy1yZWN1cnNpb24tY3Jvc3MtZnJhbWUtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOJjMhZiYzIWXV4
CwABBPUBAAAEFAAAAO1aS3PiOBC+zyk/wUeo2lT5CQ43YiY1HHZILZm5C1sEzRiZtZ0wc9nfvm0Z
G9l62ElIJZslVTlg1A919/ep22I+u17i9BGnkwnOcrSKSba5SxHNUJiThH76RsnfD3g+u54h+BZl
OEgoxew7uYRxaVzAv+WaY8cd2b7tmVcjU9QD0hSePOCWrGwloY/JT7zY4RQVy6Y04oTuyBang+Gn
+UfcSST4eotpROh9ECcZbnpnWZ6t32Uo1XKTJtsgJpjm4o4t0/f1/jAV0fM9KeU7fRhsEaFDQxLS
DlUDPn+uYzfCm+wwnV3/hUFnlgeIhjiOcSRLnHwlS/NZ31nfG+vjSGQy2ZXYrkmG0coNSWH5wPw1
Xq/XnuePHNcyhy+SVUMy0fAbU6aR3SAaxbj6XDuSwVbvNjjFBoJ/y3Vc3/Nt3zcOHhc7uQEzSfob
WArHOK91VEE68s9dUvOZdKXmW4nHwqPBkA+WCwQ0BMnOLTNjJ4kMkN3IrSPzNFW3yW4H2UbUqLP4
h0GTvZHrbHR5HTykKTBybUkjAEvWSbo9SJRRqeVYDgbRSipZpusahT/BpSWUgi6aEYlm4nou+WFx
mgiCsmj+01UBjsUqQFWDlSe1DVi44PE+maQH4CfbXbEykixJaFPL8iEMcZaBK5dGWAbTAHtZEUWS
NdoabzwqFNaqIpLtUB5uPj/WpygHfscsiaOGW8FNqs0x3uIAZAwuIDbu6MpxvKKfEo9jTaA7keax
OKvoU+hDTgU233x9sHE2Xg1sRUUdocZH1h4XhK/AXRFcHkVM0oQ/y1w74yvtUQHFv2iJnyYrlju2
3zBiTrjW7hvmjTT/XsIxACfuce9ZJUwxyrFKVuifXd+6spW5W+F7QjnxeTMVf+ItQBwk+Kei1LNH
nXfXQygIesEzUz96PrrDfQAPgiJ9YM2oZinI157km5qceWZ2bNM4DjjGkTdZrfmmiTzXXo3WrsXq
rX+JSfrG5ueqFxJOmW+7+xRF+CvGEY56nS6WDaSG95Lnzzh1uMGP4WCx+gHBKXnnEk4X40LsaoWV
J+2ZBe0LWlaOqp663QmrQupyyMFm4wQVVQvw6IiMZtAW1ypIpeJIQUBBJ7JMoqhIiLFYVvCYzwzL
dizXA0yYvgf0flDH62psDlR8xXtOLRBOt8jnXyQr8Cn6zT2ZTPYpyXnZZYE2LSsBjdyqAvPELBmD
EMXxCnYx1J8VYDOQVZuC5oLTV2ZDWmaCR0tjcX0C1LS6oOWLndPCN9luSd6klj2J44A911Pmy+12
ckXbiwbahS876qjcqu5dWnvPunmrgrlUSAV1zWIlKkuhGr1aHN4QSrJNXyBKvekTxCchUGal2aNd
jVz/Je+LVXiWVY+ASAkApF5fKNYs0ukqSTugsiYF1Csov7/GrxUVrhWRdEHFZg7z9XSd47TRZQWH
aq06qGc3OLkmb/JmrbGkvtPo4hjpdYnKEzA1jaJiaIWPj9jI1QXy3/S/eQb1OjZLzvlSFB9Uk3Kq
m5/v2t71XVvfRMoNtkhfo0p2xWW7+gNLo+4le3+Ti4OPc+mg1sjYBTU6k9arlWe/MtF3Y9NOw33f
6bzhqPS+cnnsF6evllV9zwkeVKbnfd+Vvq8XaCznHY0oWyP0mG3JVxnDzuPfefw7j3//1/HvQx/j
+tn21Q/5tvksT3bScU/5BaEwYVMUsyoTiVpefMq7aPHXNq1LE+bFEZvO2PdGrYsH4bd3sMj0lUDU
/oavqXqLfq8wez4/nAwtO2OYinrbKX8Q9/RwyPPyL1BLAwQUAAIACAAVrzhLMZfGpcUFAAA8KgAA
TwAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdpdGgtanMtcmVjdXJz
aW9uLWNyb3NzLWZyYW1lLXN0ZGVyci50eHRVVAkAA4mMyFmJjMhZdXgLAAEE9QEAAAQUAAAA7VpL
c9pIEL7nxE+YW6AqqdITZG62iGup2g3e4OyehTSA1mKklYQdX/Lbt/VkpHkIjOJls06Vq8LQr+n+
uqd7hvnsZonjRxxPp2GEyezmC/57j5PUdoiLgwB7774SH1bms5uZkzorJ8EiSvQRDd7ND/K8kt4O
CcFu6ofkDhPPJxs7CBMM1KqhTHRjrFmaqaqmxmo6cE6nLlfKbRzu7MDHJM20t2QqliW3JxfhvdyS
gr/ThuHO8ckIcRzZIWpISVIMXRuxht3HDkmc0jJnFcbpn366DfcQliBYOe6DRHtOTgloB7AXQAy9
FVd5hON1GO+ueTb8hndh/AzkN7ABCPUyDWORveLteb53VyoB8kcnpZ01J7TsUiO9xDp2OOJt3SeP
4QNewHacjPaaeBTnvb/D8bArbGBoZSHXrMXqLwBJ6YSn2G9s5NYnfrKFsIgdEUqMu/VjKe/WIV6A
q8/1NhPw/f0Wxxg58KcaumGZlmZZKCqSM4NRY4/lei3goBwNlW+T9XptmtZYN1RllPEe8u0+rPPX
95ap00AAo6aieddGQpvzWOTwIPdSFJzpExaRC1L4BtQVSVdmYCJyYTuD+GLn5C4ONzFOkkO8Lw9e
sj3dwn8hcSCSOMBpLb8qcFx0cSkl33J2wywNR3QkDSjnIynwSnfkynrxGhwdY6P22mmi7sIoAig6
BNUR/oBI+IRSmY4uq+19HMP5VmuSMJRHRMlReKXmkx4uRbgapXT5+69QOJkzZYPTRfwpAcYAymgl
YU7WISioOgbQJGBnFaF8CT6htR9g9H7wHoGxnp88yAvOjDWZwp+btQcMIy+g37tAqKs5CMVFdtbA
eka4oI/36TQuz/lwF2WUHockJE0py73rQj0BUz4it4gnAn1JFkg/oTsmxZyMM4G1KHBd5KTu9tNj
3RZRxVFXiuJYZ3zWiog2l7cpVA6j4QB8Y4yvdN00lavxiOl+JI7uTHYz97OoW2Iay77y3VJ+fL5T
On5YvmeIOmQ77VltAjEXpX7m3EY+ZpwK/FN1S5tcAeeZlUCaxYuW9n6CqhoT7V90uO6uM4cLxSRZ
b/VHkc02GLGh+9OOWSrG0PWKeJl5yrDUK+3F/ZcIMiu88Yl4NhDgpc0lbS4KZJxYUw8WUh9AjZ05
LTthDqhETzD11RWVLqe6pqDDmIkOxS6PsKUojmloq/HaUPMoHx/YYreN7rH5uXIIczR8jTax4+HP
GHvYO+pIUDWoRPiJs355femJBxd1GZDnAjXsAc9wgAZs889Q9jpaMNKrMUOE7m5z3ArWXQbpWGkc
wqxo+SjN0ksuX1ha+V2FzTAISgMvko6XBQQtllWyzmdI1XTVMHVNm4wtSNSjJlL7XI+goVteDY3k
tRl02rzICgqc3T8K2qO9LUNmg7jO/bqgLkhxsdZvqoS7nd+6bHjyg8DO1+XF8ny9nXnZtqKRWcyX
HTgqtiq7y2zv+YjrP5vLJEorOfFp5lIZxRV7jDdOSiWelmZzczU2rHMul0SJyYMBk1ocJHOtHgho
FjFzV8Zifu1nOVvl5IVfWTbOb04jk22mnGuv1ymOG41S4ZS8uRmc1RWkkrjx+60GCa4Gmq5iURO2
gMK1BFRde142LGb31hilYoD8N+1vHiZHnX/FRfwvGfgATcJxiCrBXJOldYTHwT46QXOv8OoIJrCy
xz1eZ/98Ozk6kHyFraIvEcV7K9QM+YElEXcRjxKvxXtZ54bkgbXz3bHvq4zo2AfPUy41LsvdHFGp
84A/42/plz0hUFVaaVruECX59BOS4Bkl+yiCZiVBKl36PyAwCT2B5gAGDe8ZbR04G9Senphf++34
/x61V3pFfhsn38bJt3HybZz8OdoC+Qzcw0uI4Ddlbb1Q9aNKDP0eka8eMK5PLHMsZW584RMY04kT
5NBiyywfcVRJYn63CPoVS5gr0t8/NkXvnOcVztfnZRVu6ZnAIHS0nuLHhD2GgP/FP1BLAwQUAAIA
CAAVrzhLCFQRFJ4FAAAWKgAASwAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvbXBs
ZXRlLXdpdGgtanMtcmVjdXJzaW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADiozIWYqMyFl1eAsA
AQT1AQAABBQAAADtWklz4kYUvvvkn6AjVGWqtILMzRbjClXJ4ARPchZSYzojWqQlm5lLfntea6Ol
XoSBmSETu4oqI97W/d73lm7NpncLRF8QnUzSLSLTu9/R388oy4OQRChJUHz1kWB4MpveTcM8XIYZ
UlEa74zrq9leXlzRBykhKMpxSh4QiTF5CpI0Q0BtuebYcUe2b3uW5dmipj3nZBJJpdzTdBMkGJGc
ae/INH1fb08hIj7ekpK/14bBJsRkaEg2skfUgJNkuo49FA17pCHJwsqycJnS/E+cr9NncEuSLMPo
k0Z7Qc4J6DrwLAGhVh/j+AHRVUo3t6D+Jcz5xczIHRgPbl7kKUVXg3gplbGtBMhWIiHH5CX9hObA
FTKyWxJzTI94g+hgeLX47RecMz7eAsVu6f0BK6yX1l2PcldSjXH3mML+q3nXIYkTVH9vlpmBqY9r
RJERwsdyHdf3fNv3jW2JJObzlt3V80bAXrkxMD+PV6uV5/kjx7XMIePdg+MxbcCG40UetjZMUFPT
XHXDost5aBidMwpO3BMRl3NS7g2oKxFSwSVTbWE34ORiZ+SBpk8UZdne3yeFF5cAIpaUBCFKMGbr
5zxOd+Q+pUU640XJFnMP/6b0C7gQJShv4rZOQ9KwklJqfpWYKTwaDHkXupB0h9qIq2BWKDsLGiHB
j9wGja8T9ZButxCDITEa1/5kkHRn5DodfVYHz5RCFWo0aRiqFFxxlLvS8JUlQBEvpbtaeVFC9U+f
vxyrx1+QIaaiqv44P8EYdVactmKUEc754jmZ0KqKppsto4wlJClpS1k8RxEkADDlnRGVfjBAX8Yc
gDO+HzG98YgJbETFONuGebR+/9I0HVw2c8wymzVIZYVetbiiCeCwZwyuYW/c0Y3jeJ55MxoKvYVm
o3tB6hX7rOpFhLbtXDj1za+PU07HV8Mpi6g9SvmdtcfgcxVk2ebyKCo4TfizzJUzvmGcOhjOO+zn
8Yrlju3vuGNOtNKuO2PdzB8lHAMw4olvEntGDYqgd1TxCuOG61s3ttJ3S/SEibrFPrZR+hVtIDUI
7XJX2+W1vIoEPecz02HpeW8O9wUsCJj7QJtRj57grx2MZ01y5jOzY5vGfh409nmziDXfNEPPtZej
lWsV8XZ4iJXlqNU5tr/XbZRQZT5un2gYow8IxSg+qLpYNiQ1tJM8P6LqcHNygYP58i/YnDLvvIPq
YlyLrbZAedZGXpBeN/WqeOo3J6oDqc8gB5mtCiqK1g+jIr3mXEKk1Q/ggcCgSAsyT4Yxc4gxX9Tw
mE0Ny3Ys1wNMmL4H6b0Sx8tqj0Jx/AHtOLFNYtKxvP+MM4ZP0W7uyWSyo7h1NlGMp9qstJ9Jg1O9
ZAyi6iRnqK8VoDOQRZsizQXnj8zucB/o0NIibipAk1bnpDwHOy98080Gd44bdjhJguK5PmWerrc3
V3StaKFd+LEnjsql6o4eu2vWjWo1zKVMKqhriJWoLJka9GpxeI8JztaHAlFqzSGb+CoEyrS0e7Sb
keufciqlwrMsegRESgAgtfpaQTOnwiGbCJUVZlCvoXzhZ52tVkTSBbHFVPP17SpHtNVlBVW01h3U
0Q1OrvGbvFlrkYDOcJkAGPpyTEPYCRSpJaDqNo7Z0MoOsZGRqwPkv2l/uwYdVDbLnPMzCz6IJuVU
x2VuqcnaPCLjEK+WYDIwZXkEEXjyjM54Dv7jreRgR8oVdpK+RpTsRtB29QVLI+4ibjO+Fe9l1Q3N
NWrv7eWxXuu79exVfOjZzHcclS7Ll6+5kz7Wqz/MnfG3uPd9G//exr+38e9t/Ptfl3H9zHoxRb5r
ZpanW93LHIr3y3RiWj9gAvM4CZMiJsW0Lg/V1xnCX7EUVuyR7Ix9b9S5phBebAQi01fCVvuCZFv0
JvyyRMXzWVVHOnrGMEMdrKd821C90/8CUEsDBBQAAgAIABWvOEuwzSVUygUAACMqAABDABwAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24tc3Rk
ZXJyLnR4dFVUCQADiozIWYqMyFl1eAsAAQT1AQAABBQAAADtWklz2kgUvvvET+hboCqp0goyN1vE
NVTNBE9wZs5CakBj0dJIwsSX/PZ5rQ1JvQgMTkjGqXJVaN7Wb/n6vW6mk9s5jp9wPB6HESaT28/4
3y1OUtshLg4C7F19IT6sTCe3Eyd1Fk6CRZToA+pdTV9PnlfQ2yEh2E39kNxj4vlkZQdhgoFaNZSR
bgw1SzNV1dRYTXvO8djlSrmLw40d+JikVHtLpmJZcnsyEd7LLcn5O23obxyfDBDHkR2i+jVJiqFr
A9awh9ghiVNY5izCOP3bT9fhFsISBAvHfZRoz8hrArIAisk937vH8TKMNzdA/uSkdeVTcgvKICzz
NIzxVd9bcGVEhQCeZg65T57CRzwDLoeS3RCvxvTgb3DcH1z9gTdh/Ax8dQsEu5P7D3ZYbq21n1xH
fYl1fGXKbPEPBLUwYxf7DUfd+cRP1lBXYkeHkv3e+bGUd+0QL8Dl58pzCez+YY1jjBz4Uw3dsExL
sywU5cVE66Sxo2K9ErBXjvrK19FyuTRNa6gbqjKgvPv6eAirevO9eeo0YsCoKWmu2pnW5jw0M8+Z
WCf6hM2QGcl9A+py1CwgNBG5sJ3DfLFTch+HqxgnyT7el5desj3dwX+hcCCSOMBpJb88UbjZxaWU
fMvZDbPUH9QjaQD8DqSJV7gjU3YWrwHUD43Ka8eJug+jCFLRIaiK8HtEwh1KZTq6rLa3cQznUaVJ
wlCAe8GRe6Xiyw8XwbGQh6uBuPM/fwfgZFB9hdNZ/DEBxgBgtJQwJcsQFJQnPGgSsLOKULYEn9DS
DzB613uHwFjPTx7lgDNhTa7ln0uPc4aRF9BvXUmoq1kSikF20sh1Sjir92fjcVw0auEmopQehyQk
TSnzresCnoApH5CbxxOBvoQG0k/qHY5ijoZUYCUKXBc5qbv++FS1MTVw1JUcHKuKp72kaHNZn1mr
YdTvgW+M4bWum6ZyPRww7avE0Z3FbmZ+FrW7TCN4rnq3lNev95qOV6t3mlH7aq97VhtBzEWlT53b
qEfKqcA/Vbe00TVwnogE0iqetbSfJ6iqMdJ+oMN1d0kdLhST0N7qr7yabTBiVe9PO2afGENzLOJl
5h/DUq+1F/dfopRZ4JVPxLOHIF/aXNLmIs+MIzF1b2HtA6ixqdPoCbPPSrSDKa1C1Dqc6pqC9mMh
2oNdFmFLURzT0BbDpaFmUT48sPluG91j83PpEOZo+BKtYsfDnzD2sHfQkaBqgER4x1m/vL70yIOr
NrxntVAb9oCn30M9tvlnKM86WjDSyzFDlN3d5rhlWncZpGOlcQizouUTN0svuSxhaeW3DDbDIIAG
XiQdjwYEzeZlsU4nSNV01TB1TRsNLSjUgyZS+1SPoL5bXOUM5NgMOm1eZAUAZ58/C9qjvS3LzAZx
VfsVoM5IfhF23lIJNxu/ddmw84PAztblYHm63s66bFvRqCzmy448yrcqu3ts71k2oZUlxWUSlZWc
+DhzaxXFFXuIN44qJZ6WZnNzPTSsUy6XRIXJSwOmtDiZzLW6J6CZxcxdGZvzS5/WbFmTF35l2Ti/
OY0M3Uwx194sUxw3GqXcKVlz0zupK0glceP3Ww0SXA40XWBREbYShWsJqLrxPDos0uttjFJxgvyc
9jcPk4POv/wi/jeafJBNwnGoBsFck6U4wuNgH4mguVd4OIIJrGzxGa+zf72dHBxIvsIW6EtE8d72
NEN+YEnEXcSjxPfivaxzQ/Ig2vmuee6rjOjQB9VjLjUuy90cUanziD/hr+nnLSGAKq0yLXaIkmz6
CUnwjJJtFEGzkiC1Dv3vEZiEdqA5gEHDe0ZrB84G9UxP2C8N9UufmP/vUftOr8hv4+TbOPk2Tr6N
k79GWyCfgY98CWlIAhyPuF/4BGZn4gRZvFnsOyAN6qKFz77sDxFbTx2ZjH356CPLHLYu6JnfGQKR
YglrRfp7xabojfO8wNn6tEDhlp4RDEIH68l//He8O/he/Q9QSwMEFAACAAgAFa84S6BjyazmBgAA
5VYAAEEAHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jb21wbGV0ZS13b3JrZXJzLXBy
aXZhdGUtc3RkZXJyLnR4dFVUCQADiozIWYqMyFl1eAsAAQT1AQAABBQAAADtXEtz4jgQvueUn+Aj
VO1U2cYmDrfETLLU7g7ZSWb3bLAg3gGblU2YXPa3r4xfsvWwjA1DEqUqB4z6oe7+Wp8kF5Px7SOA
LwCORsEG+OPbr+DfLQgj2/HnYLUC7sU330NPJuPbsRM5MycErJHKJ+XyYlLoc9PxduD7YB55gf8A
fNfzl/YqCAEarRnq1cAY6pZuapqpk5YKydFoTtVyB4O1vfKAH8XWKzpVy+L7s1fhHu5JIl/rQ2/t
eH5foQSyRlUP06QaA71POvYEHT90Us+cWQCjv73oOdiitKxWM2f+nWN9PxxTUE1gJwXRc2dU4xsA
FwFc39B8YLvseu5DKoiGvzgRHoCJf4smjErjMQoguHj883cvisXxp4xZU0x5/kvwHUyRn0487MZ3
MaEnbw1gry4fyNvMzYpv7BkGHIN3HkTxZ8s+O767Atnn3PUQTfHpGUCgOOhfMwaGZVq6ZSmbBElx
zkt+p89zBYVxpaf+uFosFqZpDQeGpvZj2QIcT0EONs99jJxSoAkz2ZiLaoqrkqIl0WVmW8aExOXU
T2KDzCUISeESskJYLVS62on/AIMlBGFY5LtVeWENYB43JUIJE9Lh8zZyg51/F8B9O8NVEZOhyP9H
POv18eAaAxTcpEXdIS0BfEXZBysQ5SWfdTBqRVJHcr6leFjnIOrXfW6xpgjdG+sEyGhtGBo5kJup
egg2G1S+jq/kVfGL4gc7JeLZqPPa3kKIFrDcEkcgXQNSiSQquRx39UjSJdhSUYcYk+Pr67xdiTK6
4rhUaPHAKb54jkYwXUWD9SYe6VKGBH5Zy+N2PkcNALnySZknwVSQvTCOohcqmj7QDHOgG9faYGip
scJcleuFGyeaP39+yUkHmo2K/jTTAoaTdLMcbvFCz5rcngRgAFJ6lyg2xvB6MDBN9XrYJ7gFJ9C1
SDP3cWZxEYK2dQU2Sz0+2DAbRwNbXFEF1PDI6lco5yzcxcHFUVRUi7oYXF3HkjwYTivi3WRFM670
nxixwXzBnXcYs5m/EjjayIkl4K6Dpa0GBIg7smSJ7YZhadc6M3czsPR8Nl0+lCj9AdaoNRA0u2qN
0xKneC84O2Ys0J4LO9gHpNqO04fUKNnWE+Vrh7ZneXPGO7OhG0qxH1SKvrmvNUtVHdPQZ8OFoe3r
TbzEkuWoxBzLnzMuRKwy3zZL6LjgCwAucIVWF22ImhrYUZ4fsOpg++Q9Dqazf1Bwkr7zCa0uyiVJ
tYmRTYl87oSrCmjPSD05MquPWjsOexNFnQz7S/5mlBzPOZcgx/K38TYhwGgLtEw6bpwQZfqYwWMy
zqtHVS0TtfdUHa6rvBVy3S9gh6nNGxNP5PMPL4zxSfqNPRmNdtArnTPst6fcdlPsSe22WVJ68/Qk
p89fK5BNm1YvjKZr1wKlcQlXN/e2MFry1p631amfnIN1C99gvfYqxw07b7Wy98/5LbO9XXz2VLRX
vSihnfiypo6SqfKOHqtzFjits6lCLKhzBjNRmQjl6OXi8M7zvfBZFIhUb0SC2AiBNCtljnY9NKw2
p1IsPNOqh0BkXVUIHQ+VwkvDzlF4GMXqFBJHfiRwF17ceLLGQokKRkUoLCgWT/fXN4sIwBLLstNq
zRjUwQQn4uSNTtZKQ5BNZ7ZCYMB7DFU7Er9x3XgjGh9MAyWqxo5WXrl6XnkFR+JcDWUZ8Eh6xa9x
+SFlzN0Y1nGpk+binyZBXgkhRq/S8A989GQLOjy/bjx9usFKi+Ooot1/6Qa/PXPUHTz389pDci7g
au+wDo5Aza1brWHRXf1bCXWTi8MPfxl4igs9yes/Jq+XXJ3G1Vsy8sY8v1seTiDsZFwd3x4uQXSu
pJpHlGlzKI1PT5zvQfQVzAPovgGhJpuIM59Km8XinWwlJJ0+AzotCew7JrDLrOMwT8ipI2jTXNb1
4SWzu1FtHCLGr6NCEzv3DZ08ZBqiTtarF5lGTQcplhxGp2iQVsrJ+Yuz2oK7AP4GXuvlu3O1rSft
B4j00/umJYFvMo5uoFXtCgKsRQ2IelJbKyKu1tfTcUPVKYgbA1d4JqJeioe8FcbfT3UxaMX92bTO
sjMnaE0tXhho5h6Fqd0fyjsqc8BeeEov+lr6xnmb4egrjPglpKmq/ZP4czBLPnlJChUZvWJEANns
rRcRdU1SLaiyqzFdHrKfLIUN0tMw9DIcMhwyHDIcPzscB9+TtgulvGWVt6zyjci3+kbkO7hl7fqV
QtZtprzyk1d+8g06eQEp36CT3E5yO/kGnXyDTnI7ye0kt5PcTnI7ye0kt5Pc7mzO7T44twujYBPn
s/iZFkMzjMrvrmS/1IoNQiylPGjtvM7A/gf/JinWqxKGRTibWr88yRf/A1BLAwQUAAIACAAWrzhL
fxLCkk8GAADyUwAAOQAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdv
cmtlcnMtc3RkZXJyLnR4dFVUCQADi4zIWYuMyFl1eAsAAQT1AQAABBQAAADtXE1zokgYvs/Jn9C3
0apJFZ+K3oyZZK3aWrNjZu8IrWGD4AJJdi7z2/cFBBrpbkAxMbM9VXMQ3++vfrqbOL+5nvmeh63I
8b0Hf4mDFxxMJv4OezfX3/A/zziMZqZnYdfF9qc5ndo2I3Nlhrj47h57tuNtZq4f4uZcCTlTC9um
GorvngNPgO5mr5FFia5Qj5TH9wuoZU0aqdpQMRRdlnWlqqngnEwsqpTbwN/OXAd7Uaz9QKZkGHx7
0ogdb0nKX2tDf2s63gBRAlkjqk9IkjRVGdCS4Xgv/hNe7HBgxoKmnv0QmF5opvl3tjjoDzpPM9sl
n2PIrROAJjbvo+nZLs4+5y6FoPLhEQcYmfBf1lTN0A3FMNAurYTYu1tQ4wc/IMvYxVEuI6tJagdR
KTnfUiyuPOoPUF/6d7Rer3XdGGqQwAE3XHuXE2WdRAaKZajlkWkn6t7f7SDBpofyLH5Bnv+KIp6O
Oqtnz0EAFZ1r4jAAydoPtnuONCo5X1p49orKmabr2rSewKQllAL+tPzzdyeKqcink8kGR4vgawiM
rhM+ZhLm3toHBdmMAE0M9qoilDyCT2jtuBh97n1GYKzthE8cT23HvqmaTNSfFQ+ECiMtoT/rilCV
kyJktUFmSa4DCBdk608mwX4G+NtdTGlTSHyvLGX5bFk4DMGUK2Sl+USgL4wT6YRIVlRZ01VFG8vq
0JBigbkoCN3OjKzHry/5IARvJPgn6wbWTGlQ6vh4THFXPaKHUb8HsdGGY1XVdWk8rE5GTqBrm11P
4syapJWlpKt+N6Tz9zuh42z9HldU0e1kZJUR5JzV+nFwS/2YV4tqKKMxcJ44CbhdvDjQ3k1SZW2k
vGPAVWsdB5wpBmIWRH+l3TwDIzaYWOpr0FOAzQizeCsISjPkscJM/QpvHI9gn5dTcSxaYtTLoTYu
uEgrIx8npwCmBvP4LJiqEEJ8AL5ZnMJ4vSt6BL060WM+38nhrikaKmAuKkZvUm+GJJm6pqyGa01O
aq55maWxJx4kZlLSU1movu82gWnjPzC2sd1ogZKHMBfxK+X5EQsXAf+TXlis/obgpKPrChYo1BtU
PKtQVij2ecsTXNRP2QhbaiB94aV1XKXMKq5Wz95ZWm9QnWF/WSnqmshwtltVWsZgyeZkhYExGmiZ
NO04IWixzNpjfpNXjzIC0KMq/KXlnmVEy4igvmW67goMHvBnM+ic0XLDGHCz2qJsXS4lbpoKZmXm
YzQfigsv3Up32yr+dutE5TZ+dVx3ljznj6fT9ZLeUzvr0IpSZ1W+rKmj1FXe6cWhz7wdWtZSVCZW
W/GJ25lLdBRVbJNotGolmpYyuBkPNeOUMx1WY1YyfSL8qLRlXaw7QR3UGPYYNItguvKDmg5cO/EE
ySYExTNi/aZAh5h9v6+driMclKBJakYCJ3onoYKo3L4NEE6JBGcbGnJYUKUD+9S24w0gfHzBKDqM
Ha28cvEPHDP9MwGVlryM9rh1PLD/t7hEQRhzG0OMTqrT3P6ncVSPhwEGS7T+xx48eca1E6r96W9j
9+kKD0YcRxTtLFzR+OOZI+5o3y/rpJotMelBwDrd72ZrFuRpreI22+GPEu4CDEzPFng+oAALMtXz
pidI73S5wpijy3h7zlsGMprKkn3IeRawLEC6AOkCpP8PQHoBNpMz/UtF0zyETPOhRL8/8b3D0Tds
+YEtmE5l6npjwdoY/SJ7CIGjLwRHC+T6CyPXTTahmOfcVAqamxvmsBMiThVRS1B9yG+pgo7dBjUK
asbT3VksYb9ZkRJAiz7hHyhIToR6X1AKe1CYXEsRl2EjaaS8U9w+voLOM99pVs8ft6buv3lBN1nE
W2eH3N124DrNkk6DcDluHWGJKIdLKIdW1nY9Dc9WDmx4eleHNY6h6f49Hq4G8ksSWxHvYe2vUo8S
z3/do1Zcu5JqfpurS9LgmMI6JgQnnlSf9mJOi9y2yFubKItwiHCIcIhwiHBcWjiOvns9LZTi5lbc
3L7Tze0xt6/vdCIubm67vbkV14jiGlG8jidexxOXmuJ1PAHqBKgToE6AOgHqPiqoOxmcvcVPDghQ
J0CdAHUC1AlQJ/7G4iJAXRj5uzifxU+jaLKmHfzWSfajjwQRwJMy0db8scLJTyHO9w1+yKEZFWP3
2ntv8sV/UEsDBBQAAgAIABavOEuCqxF0qwYAANFSAABOABwAc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tY29vcmRpbmF0aW9uLWFjcm9zcy1kYXRhYmFzZXMtcHJpdmF0ZS1zdGRlcnIudHh0
VVQJAAOLjMhZi4zIWXV4CwABBPUBAAAEFAAAAO1czXOiShC/55Q/gaNWvVTxLXpLdFObw1utTfbd
EcbIWx1cwLh7eX/7G0BwcD4YBCNabNUehO6enu7+dc/0THiZPI19CIETeT58819B8AGC0ci1I3tu
h+Dwbgag68H38coPwd2LKFdC7rLo/Q2Ak6fv4NcWhNHYhg5YrU6hFtNaepAUXR5ouqlaqqEohnr3
A3pIGpIwIThHI4cq5Tnw1+OVB2CE5N0fyZQti69Pao/TNUn5S3XorW0P9iVCaKmoHiZJ1jW1f0eR
4cEP/yeYbkBgx4IeofsW2DC0U395axD0+rgZGI6jSKZTxpo1Lo9tIp8zsWcvKIacE1uREHLXc+dU
2eFyG7n+Dj77QY6kZyTfD/6gcAErEIGMOJs1FWhUSs5biirEo15f6sm/B4vFwjAsU0eR0OfaaWlD
dwUmyWDlZPvfedSESK+3JQiAZKP/iq7pFoo6U5c2Kdjuqoma+ZsN8qwNpdx9f0nQ30kRb4wyrcfb
IEDQyEfiMCCShR+s9xypVXK+NOIYMZG668l2fiKVXlEoANrc/yvzl6aU+Mv13Ak5VHks11CGFb6Z
JvkYiHCKY3U0Cvag9debmNKlkPiwKOV16zggDJEqD5KT+kFC44WxA7wQT5KyMTBjgbko1ws3duQs
v3zkmfAwG02T5X6H1A6pFKR2cPsEuMVlnLsqxAAk9e6RbXRzqGmGIQ9NciXCMXQp0ozEzqyVBrF0
awpslnx+sGFjnA1scUQdoIZbVh0gn7NwFxsXR1HCKaN/irzQBsOYkwfD6RF7M15R9IF6QYtpzoI7
7zCyg+ifFI5jpMQ7wNayJduNANgRYPESWw7dUoYq03dz8O5BjP0Flq10hLYXf4M1Sg2ID5dGjlZr
md9EmBgWQlYeJuwEPcUzk1h6PqiD/UAajGP3odGkbPuJ/LXzomWenPHMrKmydNgTSoe8mcSaJcu2
oatzc6ErSbyJh1hajrAHiZpHcUStMj8274Htgm8AuMAVqi6KipIa2FGen1B1sL1ygoPp/F9knDTv
PKDqIt33iZkRlMnEDj8RqrfRNHh0XYJ179kZ6/0+dPIYO8RnQXtdkQXUmsI05FiBSJ1HUWQWgWUK
aUAulF5SNIGrEpNymhokLSMbZcmVYGDkE1oI2G7sEGn6muHqZSIpqqboBgKTbBmoLuzF4bIKk0Mi
voEdJjbPaDyWL7+9MAY2qXch1HaBF+G8rzFMuekM5Z8ZyzAVvST1HHu1mqNZ9PlFBo05pkUbIz+O
m4/MAjdtCBwtBeK8dOT5eArTJlqj8M1yRhlq8dxCPOP7LyfjrEdyEj6m8gzGgFK6efoelwla1Iq9
Bo4fMEdAECkQFAQcXorgYFbNfHjUs2OYmeNrh+6MEilYRd3v1CrGsWjdNGmhW6dq+eu1FxVL8c5b
rcbJc/4So54l62tdWmCP51AokcTLkuSbGorX7D+2GK+7kdVGKhOrPnKImaUsZcpLHrd4PXvQC5ei
1YuqjYgRK5Ut2ijFHdHQ1K06JyesIkiLHqKMUeBD1fqeQYMyydwPSoC28OL6mOWN9m2zjqyCJTDK
niOezD5HPi4iEBT2NON9tGb7lYs1sRhBkSLka2wqNHfmjr/rgl1LFww/HxB1Lz3RHSUujijaObKq
n6shx1GkTtY8uZa3K3t1vcxL9zJPjcETe6Civcyue/jZ3cPWLWsu1cvsWpJdS7JrSXYtyTq9ma67
0nVXuu5K111psrtymE3E8Rt96VggQWPa8xUCQ1mOyQmPAoWqCRrq0XXj1gP6+QGkiB0g16l/sQad
4/y7KaGNdc+oBuRmNRoH2XBBuyaZltUARE+25c2e6vfyb2cmF++TXVO361K819JlS3KdXVgnNXRp
rWUW4K9UH0vNUMeEoj2vevcDz7l1rWs9UQtccBPeLly2rhc/E3X1qUHM31shDbKhhYF5nVp3cche
wCYoLtm0JjTEfvSYk/sHJE0Pc9FLcrd6Q48mXfTWnqAWApf7BBS97P0/QYtUuicoYJfqVwnPbSaB
q4pcS17BPcbzX/asc03Sb9tfDJyS0ARuu7bgVnK9WBWAdxMDMKEugpWydEDHUr1cens3is+fMK7/
wnIFxLf51O0sKcERGoqN32bP9T6lft7MweB156d27Uvbe5p6EymYfwLb3Xno7jy09tzhFnIGgTgM
IsS35jRT0XXxb+Ydf2nvIHpt/5mD5PnLPmccjSMPzVO+zXfVyhf8Ekb+hvc5pqa+OFiNGr/0nOiH
TXtgGWapDwaWbFWz5mBgylelKNONFV/8D1BLAwQUAAIACAAWrzhLoRkCmZYGAACoUwAARgAcAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi1hY3Jvc3MtZGF0YWJhc2Vz
LXN0ZGVyci50eHRVVAkAA4uMyFmLjMhZdXgLAAEE9QEAAAQUAAAA7Vzdb6M4EH/vU/4Ev20ibSW+
Q/PWJltdpNOlt23vnQSn4UpMDmh7fbm//QYIxATbQCFN0mWlagXxfHhmfjP22Ml0cnOP/Vfsj0a2
FVpzK8BjjxC8CB2P3GFiO+Rp7HoBRpdI1qShqhmKqeiyrCsXj8T55wVPJzeTAuVotGByufW99dh1
MAmBX2+Pp2SaF1ORPjEL++OaJPSlOvTXlkMGqMC0lFWf4iRpqjK4YPBwyKv3jGcb7FsRo2tiP/gW
CayY7YOzxn5/IDZD55YTcIu3wWRy8xMDnyAcW2SBXRfbLM7skZFmvxw/vgs9geFvHR8k8WlXFrFd
nD5nLgxA5MMK+xhZ8CdrqmbqpmKaaJNE/olpA0xuQYznvwPGsIvDjEfqih16HrwMjcyRgk8ZGhde
9QeoL/07XC6Xum4aGsBnIHTedsqxsFYsA1A1tMwy9VjdeZsNhJtFUObF74h4bygUySjTevzi+5BP
MkkCAhiy9Pz1liKxSkaXwMCeMykTd91Yi2dQ6R5CAV/c//m7E0aj6Lej0RMOZ/6PAAhdJ1ilHKZk
6YGANEODJA55URCKX8ETWjouRt963xAoazvBs2CmtmNPiipT8beI0nGBkOXQ/8qCUJXjIOTBINUk
kwEDZ3QiGo38bUby1ptopM0Y4pE8l/uXxQIHAahyiRaJPxHICyJHOgFdoSR9aEQMM1Zguo0VLlY/
XrMytJuNqkrSoEN8h/gO8b8s4qNlEm9y8RKKwjDq98A2mnGlqrouXRnFlajA0KVg12M781ZyhaV7
W3g3pcPjnZJxMLxHEbVDO21ZZQg+50E/Mm4OjxGlBP9k1VSGV0DZMBMIUTzbk96OU2VtqBzR4Opi
GRmcywZs5od/JWgegxJPmFrcl+xWfWyFmEdb2LFqpnylfHibyQuZOX5yCDV+SqpUjn0q4eIiiYya
OXWnIfUAYsaR0aIKs4tK9OaEqyyj0ulUVSS028ijXbKLPWxKkqVrytxYanLs5eqOTWZLvYjVZBik
UBoeN0++ZeM/MLaxXakkyApkIvzGeH96u82ahYtqt8RYmM3/BlclqesSChTqDQp2LoyMzbx7BGS/
QDK7tu0C6TbO7nifbyeSzXhnrZz2mixVUGtGEgDwYMGcR55liocyhVQs5ap3kXXByyUmFfTFimM5
mSVNsAUCTk5hhYBlRw5Bs/sU5dMJkhVV1nRVUYaGCQgX16Q7nhI1LYL6C8t156DwQJzUQeaY5VlO
Zhy3HwU5apYIOjJzg7OkkWXiGUl6nq1CJcVnGUJoHBfeif2XDRPU/2yIOH6zbCHcBf2MCgQErB//
3/uOvNjeKIiDhwpZQ1G0ElZ44flRb/MZv4s46YrB5QS4qcrGgHJYCUN39UxPI4Yf/9xc3Djs7xhR
RtXh7aasJgaq1jeDFfZNqou3XjthvmS+Oa47jt+LFybNLNlc69JCuD+HXCkrfFiSuBNDic519i0m
6qWkNYxJxKtj4sH11KVKGJNtFWvUql0sKfltyJWhmU1Ou3iVkBUGhVrGwAFT6x5nDKSEueeXIGbp
REUyTQCnt8reswqViRhbjmgy22R3vQyxn9vSJEaJtyG9ozaeOEFx6xAnWP0WmQrmzt1md52rc+lc
0ccKVd3LTnR7iUvAinX2D4uwjzfRhOlaoMiHs2bDrl2Tmn4ux+td/7HrP3b9x67/eJz+Y9dG7NqI
XRvxc9uITXoiXVej62p0XY2uq1GyKggFfmOvt3JDcLo1K0sW2cC9QGFqAqKubTva8sPjK0YhP0DO
U/98MTnEQW9bTFvrWjENKMxqLIpiowO2GhIrq2ECb17Kmyz1v8PwdWZy9P7UZ3eZWj3j/STac2lP
xbkO1s/8TkfbjZXtIu+6VPBpmbBOw+cszd3OBHcr6OuDTVW8CgcNUtGVA+o8te6+R8Zf6txHXcqS
7U08prBz2acUNnDbFnPUu0xf9SJVE+4V72BV0OKcrmklnB7JS4DtG9eb3zrulm/Q2s2uxpZl3ABr
0cb1L5O155UK19Ja8sLXv93mndqF7NNLjg0i4CAobht6R8qtH0exKP0289eB0sZBgH/4u79ncmv2
c68oH+kI6gzK0DmcktWM6vYO1bpb5d35a3f+2p2/fur5axdJXSS1dpJPZc3Cr82phqzxV/TCX63L
s15b73Mcv59uC8WenO3yupqc5Cfgzl75nF9gx7FhnvrTH9DXUeO3lBZDUzdKTTI0JbPe5IZDQxJ+
laT4g3EnNfqIJqvp3/8BUEsDBBQAAgAIABavOEs2T1BVcQYAADE7AABNABwAc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tY29vcmRpbmF0aW9uLXdpdGhpbi1kYXRhYmFzZS1wcml2YXRlLXN0
ZGVyci50eHRVVAkAA4yMyFmMjMhZdXgLAAEE9QEAAAQUAAAA7VtJc5tIFL775J/AUaoaV4FYhHyz
pcijmprIFTtzR9CSmSDQALLiy/z2PFY16g0EiuUlVTkI3tZv+V6/bjOb3D6g8BmF19eOFVsLK0Lj
wPeRHbuBf498x/VXYy+IkHQlKZo8VDVjYA50RdEHF999978tmk1uJwTn9bVNlTINg/XYc5Efg7zL
A5myaV7MePakIpzjLcn4hTb01pbr9yVCqFBUD5Mka+qgf0GR4frPwQ8036DQSgTd+M5jaPmRlYp9
dNco7PX5bvgMyxmEJdggf3L7DYGcKB5bvo08Dzk0yXTKxLIPJ48dwoDj+KkbgibMFjuJMiHk1NKd
BVV29LSNnWDnT4Mwzb76hBSa/4lnvb7Uk38Ol8ulrpuGpipyHxzZghUIprD8IHyBWkYeilFBX4R8
X6WPQVn1VErOW4qFIgOhTPvcJHmyfMdDk1SZmCz/XZZ0BHY9PqEQSRb8VzRVMwESDE3aZEh40UzU
fbDZQFpbvlRm1x+SH+ykmKdDZPV4G4aAW6UmDgOQLINwnXNkXin5snJjZGIWrlvL/gEmPUAq8Lzp
uM6EpBfXS7sUpeZgYUmpAwjnONpcX4c57ATrTULpUEgCvyrlYWvbKIrAlCvJzpwpgb4o8aIb4W1I
1odGIrAU5bjRxortpy/PZa/Zr0ZVZblfKbcEGVmLS1ETKyCpdwm+0YyRquq6PDLI5sNxtLDSdBaK
4JL3ZnZVbKZ8+mLDdJys2JKM2pca7tnBEGLOqrvEuXgVpZwy/FPkpTocJZy8MpwfsHcTFUUbDl7R
Y6q95K47iq0w/icrxzEYsUJYAxfsMENkxYjFS+wyNVMZDY7eGrJivkAr18foZ9UQ/o3WAA3AgT8l
uVrtbbpIE92EyirThA3QcxyZ6sHz3hzsB1gwTsIH2qRi4oB47dz4qQRnHJnVgSztxwBpj5tprpmy
bOnaYGEsNSXNt/oplrUj7EFq5kEeUbvM980qtBz0FSEHObW6izIAUEM7yvMjug42HqV1MF/8C87J
cOcKuot02SdWRlCmC9v/hKrexvPwxnEI1jyy96z3eeqUObbPz4r1miLXMGvuZynHSkTqOqoiiwwU
GaQiudJ6SdFEXQlcypljSVoGqhTgSjAw8ISWApaTBESaPxR1NZtIykBVNB2KSTZ16Au5OFxWZXEg
4ivaYWIBCMUsX366UVLYpN2VVNuFbozzPiRlyoUzwJ97lmMaRknq2ZbnLWAVfX6TAZ1jWrYx8HHc
fWZWuGkq8GqpEJeto8TjuZ+dm3RavgVmiKoWxxbiGT9+JRlnP1KS8GuqRDBGKWXD07ekTdCytt5r
ZAchUwOUSIWgImD/sk4d3DdzH5717BxmYnzr1L2nZArWUfNJrWEe1+2bBi1123StYL1242or3rme
N06f87cY7TzZ3mphgz1cQ6VFEi8F4Js5ine+e+gx3ulG0RupTKz+yCFmtrKMqWx53OY1dX03eqrb
vajW1HFio7ZF01KdiEaGZrY5LGc1QVr2EG2MUj5Uqy8ZNIAkiyAUFNrSTfpjgRvnN2YdeAUDMMrM
kSwmx8ibZYzCykwzzrO1mFeOHidiTtzoo1GFBHRaCw+KQYQxJeFBolAtAVXQN5IjIvj5jKSYnSBv
0/5qw+NMaCsUs4azOxTne4dTCGQUe4Z8fyYlADnNPMnB+gfVcVw0o3GQt4jyyJBpaIZ8eLJFQrxt
fkn4flZSO5B0hQethyOKdvk70PhtkyOuzdq7G4B+E+95dS+2xBTjrMr+6OBYtOtT2HxPeCNU/DbP
Y9+kq+vshLsL2LHL5O+6wdLCxJOs7nysPq9rhvQsUDBApDTEbHDIyb1u7lpNZ11hVWy8RJvQFXPL
9/vVkw/5abqnY6eWQIEApO4aW8KAm2amUs4Lni1vi6ZB+Bd6qW90HYy5q296TR/gZwyilTQy8Aj9
7NKtM5qw56HWJ5l3tAopR+4oeRttvRjMicOtHW9B7tgLfNTJiec7Wkqbw9suhtrXOjx+ZYBveHZ9
WmSvjYftUl+Ij12IZ0LlBz3Db9QgjjrxP7qrdXxJUKcNfajLgffSpd7KzHS+ty4t+yxxLfJ5hft5
hdsQnT8O8n7CVQdwxccfLO2Jb/RUQ9E05rK53/pVRa+tlwVKn8/ySj/QI4+M+nqyD+e4HyeQH381
psb/5jbYVO0dmrohdN7QlM1mbhgODZmIWK798ogXvwBQSwMEFAACAAgAFq84S5kEub4VAQAAtQMA
AD8AHABzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1pbi10YXNrcy1wcml2YXRl
LXN0ZGVyci50eHRVVAkAA4yMyFmMjMhZdXgLAAEE9QEAAAQUAAAArZLLboMwEEX3rPIJXsKiEg9D
HXYFhMSqVUs/wMWjxiqMiSGR+vc1oY+0QKJUWXhha+6ZO9dTZMkT6D3oOBa85y+8g1QhQtVLhQ+A
QuJrWqsOyA3xqHsb0Mhnfuh5oW89o9zuoMiSbKKM42qWkmvVpLUE7A1v9YfpMmYVp/wcEOL/Tkb9
WQ92wyU6ZAI9i7KPSC4NfMeaYUjcqze4b0HzAXSHotQcO37AlrIBbTvHMagWMEsewXC6PuVYQV2D
mCPPVw7Ors5bjkidGCyX2nRa1m44ihq+7t8RdaZluQENhJvj0YCykPmMkXbcrGG63LRR+n00PTz8
bECpfo3+SR8/bOUQm0brIAhDdx051yUtCqfpX1b9AVBLAwQUAAIACAAWrzhLQ2akai8BAAA2BAAA
NwAcAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLWluLXRhc2tzLXN0ZGVyci50
eHRVVAkAA4yMyFmMjMhZdXgLAAEE9QEAAAQUAAAArZPLboMwEEX3rPgEL0FqJfN+LAFVYpWqST/A
wUODSsbUkD7+vkYVSRsgDVKQvGA0987xtZ1nyRrkO8g4Fg1gxjq2ZS1oz1i9HSDPkqESx6OSYRKD
fgZlWXpe6LuWR02iTyl/O6cCEYquEqgZe1ahSSYEO4a8huF/1YBkvaIl92SzAwmEqWW5jhv6dhhS
ovx5hS/aMqtH0TTACUMihvIdQfFBuksz/qNOD1ICdsdJFwSqpRRyf1LgUfUnWTugppZff1IzeZ87
JE+glG2XMiygroFrBt9OgvbtCSte1f7XnVC59HRUfRYtnSBSdHMUoxkqd/0KkmV+8xHziq/O4G9y
77zAscPjnVAmD6xQ5l8/mH3hFPxGTB1cD04MXb0h148cx/No5Ju3dZoVjvNe1v0NUEsDBBQAAgAI
ABavOEu8L3eMgQQAAOgYAAA/ABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gt
b24tYWJvcnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOMjMhZjIzIWXV4CwABBPUBAAAEFAAAAO1Y
y5KjNhTde+VP0NKuSlfxNmbXjbsrrkrGnbgnexmErQwWDtDtmU2+fS5gsEAS2B3PY5Gu6gXyfene
c44Ey8XDmqRvJPW85EDYAud4gzMy+sjoP69kuXioVzxPWJpM0UT7PIuiyLZdx9JtbYrGMk8+sp8w
RoKcJmw02WPKpkjisMMsjEn9vDqQFBceGbpDLzuSEoThX7dMy3UM19UQxA8p246uC/WcHA4kRJih
pF7+BbHkiPK+HENV+69pSljeZOpxAJMoSfdnD9Z4tTprzLTpaHn5pFT9DjfSMgrzBxx8gt2t8wR2
XeTW4E83XWM2l+R++JNAkCz3MQtIHJNQWYVgCX0fj9Z//EbzwppP63lbkq/SxwwCxDTb1ZGWLErA
Kzw9gvuty1FPKKThqtOd28BWt2ZGAykI8oQDCP4FMpKY5E2Msjz4+TzFl6Teutyy59f3cNoqOT24
5TLZrQjtWN+e0FyOb0boqitnSpdQU3CwGteFOANULkR7bvhBnGREcJR1898hBJh6iQAVButKmhxg
uOKZ5nnpiXLJ/lBYhhKThLWjrF+DgGQZlHKHgqqZCPJlRRdpBkPUZqYFUzRszZ45RcAmVEizA86D
3eNb4QQt53djmlqlZg3dClVQbY6X0SrSGHpjOXPTtG1t7lylyf+fnj/09Lz+7NMiszz7fvTh8P07
ZgZR777hgE7zvyo6+lDElrykmGW4wqXgcMYsCFNKcE5UviXJ7jh6W64+N5Sz25AtZZz7sj0KiQdl
b8mnc+/vWci5v9A9SSfT0e9kD9IgXE662XoalPQkeKIpSOAtYGK7wCz+DqEQ6BWvTJfJ87kc7gEq
8IvxQTbuMoaONN814swrs2loKGhKQmfdLLHmahq2LWPjRJZe4u1yiFXHEbdQltnBkfSU+XjYpjgk
HwgJSXjR6aIbIGrkKFl/x6lz3l/Fg9Xmb2hOpTt3cLqg8VTYmWApWJwQ0EDlDLNWEZauXRB9xSrk
qPA0XE5QA2moIJO03yzE0AI9BjqjZpXEViEqtUYKDgpZkE0Sh8VA0Gpd02O5QLph6pYNnNBcG+T9
FI6P1dochPhAjlzYRpj6XB4/06zgp1g3t+J5xxTevjjfdcG2XlUCGXlWNebKKaFJgON4A7uY9p8V
kNOXoU0hc/7tkdnylqXg2dIybk6ARlZXzI8piMNt6Zvs9zRvS8uRxrFfrvdL5n/PO6gV3SpabBd+
HMBRtdUeigt77nvfqmkudVJRvcdYycrKqWFvLw+fKKPZ7lIiSqu5pIlXMVCWpX1HmzuW++7LVg+f
ZegRGCkhgLTqscJmld5vknSAKhEtqF5T+ee7+HW6wl1FJLegYjOn9+v7KCdp65bln9Ba36DefcHJ
e+Ymv6y1TEj9EXBIYxrDDlCklUCq+zAsXlrh8Y2gvDt1BRQrXv5aDAg6rnzz6dxgk0OLJ+bMtR1h
oyczsQOUwWwYjkt4igovRy2nhsUXoG5+zVVuUmD/cwUvv4jTDr3HXzakXF+ehtPJM3O0y/OUgcLe
vii/zYjffZVhvgJQSwMEFAACAAgAF684SyCkS5CtBAAA2RkAADcAHABzdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1zdGRlcnIudHh0VVQJAAONjMhZjYzIWXV4CwAB
BPUBAAAEFAAAAM1YSXPiRhS++8RP6NtAVVylHcHNFuMKVangBE/ujdRAx6JFWrKdueS3z5OERIte
BANTGao4qPX25XtPPZ89Lgl/J3w6JXmBVynNty8csxzHBc3Y3RdG/3kj89njDMNbnJMoY4xU79Qc
6B4N4G971tj1Aid0fGsSWLIc4GZw8kZOeFWUlL1nr2SxJxyXZA8sEZhe6I7w4ehufvQkockTZWDX
r5glKWWbvwjPgTTaYrbpVyi6aBYlO2tbjnc33GHKRkjhiVncTXyXnHgmLAFNUZrl5MRY23fM7sdK
KU8820UpJaxQBSAMzfZUIpLvt6Tm77VBn4QeUUOxdj3X6YQ32xM2e/yTgMy8iDCLSZqSRJU4NWVV
cUAnJHE63dexbZNcpfWJciAfWv+O1+u174eB69nW6CpefUgyQ31Vwgy827KUSfPcGpKDqy9bwgnC
8Lc91wv90AlDdLC49OQJ1GT8K1QJSUnRymiCdMz/S9bWk5LS8FZhsXQ0HInB8qAARsDZ63Kl7CaR
gWILvDYyl4l6zvZ7yDZmqM3iL4hlH6gw6eizOnrjHDqi1WRgAJJ1xncHjjoqLV+Vg2GyUsNhRfuI
41cwaQmlQO6Wf/xGi5JKPJ1ON6RY8M/NvGkkzNk6AwUNxoAmDbusCFVH8ITWNCXo0+ATAmMTmr+a
4XsmmyzUX1wCisSoSuh/fUXo2lUR6tqgsaTVAYQLEXKmU37Anmy3LykTBUnGulKWb3FM8hxMuUdx
nU/0Xo8oRPPOVPfHQSmwFQWh2+Mi3n5+b4FUwB/XqrGr7fgSHnXOVdAp9DAaDiA2XjBxXb9cJ2RE
NgS6t9n9Ks46BJdG0a36PbR+fL8LOn5Yv5cVdex2MbLOuJw5mtYvg9vpx5LTgp/ths54ApxXIoGx
ixcn2m+TVNsbO/9jwN14bRzyEDNe6Fbhnu2LE1wQ0xrd2cC80J44373N6kpmRTaUCfRzds7kOOUy
Lhd1ZVyIqUcLhQdQE5VBKyfMsSrRBy22LaKKcOo6FjoupugIdlWGQ8vCvuesgrVnV1k+P7GKfbP7
3AREGg1f9huOE/I7IQlJzhoJtgNIRD4U5z/f7nnh4BI+H6peWKz+hlTV0HUPAwoN5N1corzp5i9J
X7C6jnXV3W9O3JR1n0EusTpDWBYtJasnMobPNZlWAxANTkoMGmhQZRInZULQYtk063yGbMe1Pd91
nHEQQqOaR8uzzogLI4KGMU7TFRg86r2iiFSZ1QBcdPsq6HCrVIiV2SFue78F1AWrP8Vv2yrZbkeL
bht/0DSNqnMzWF6vt7cvT63odJb0sqeOaldNtx+nPpu+0JqWUjLp2spMfJm5QkcpxZ4TjYtaSaWl
u9xMAi+85qpO15iqMpBaS1HJSqsHGpoFf1hlvKfm17Ts2aYnf77ZfRIVYX4rFpnSmcN37cO6ILyz
KNVBqZabwVVbQWHIm3rf6pC0V+l9YKG8pddZAqoekqT8WITHd4KK06xrSvG823PJibzI9o134nZa
nR4byB2HfmBk7rygDJLGcFrVrYzh6nIW8E669wb9Vqj13nh/3hW9w19XpDqfH7J2omccWOfrqS+j
jXci8sWzNorfAFBLAwQUAAIACAAXrzhLVBfbXdAHAABRZQAANgAcAHN0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWVycm9yLXByaXZhdGUtc3RkZXJyLnR4dFVUCQADjYzIWY2MyFl1eAsAAQT1
AQAABBQAAADtHctuo0jwPqd8AkdHmkg8beyb4yRaa7Vja5LZO4Z2zAY3XsB5XPbbt2kebtwPIJCM
k3SkSAGqqqur69kNlfnV5S2IHkE0mYA4cVaBH2/uIgfGjpv4Ifz2C/r/7sH86vLKQU+dGMxCCAF+
xsZQLpQz9KuZ6sgwh7qtW+p4qNJ0EDZEd/bgCJcF6cPH8AEsdiByUrAp9AikO38LosH5t/lhJp7v
3fgQ8fWHA73Ah/d/gyhGoLONA+/rBySnKCZFT1ZTdfPbYOv48FxhzERMrpe5U5NYAuihkWZBGIMj
ZjVLF0/fZVK5icLtLPABTFgCsG0xP5iE93pOMvxaHviLUENqQOquaegV8YY7AK8ufwJEM05mDnRB
EACPtXBsSKxxCI5YxMlkl8m2XGS8rDd+hMAH6vNovV5blj00TE0974TLF0ko0C9MTIC7SVUZFNcl
IzGa6t0GREBx0K9mGqZt2bptKznH6Uxu0DBh9IK0BAQgKWkUQjqs/11Y6hMTUvCUwTF1a3BOCstE
CnCOMGunjAfrRTJI2YZmKZl2pJbhbodW24FKuYrfFRg+KYlojDquZ/soQhZRjiRAQCDrMNrmGJlU
Sjy8BgNvxXaHGPbScR8QS7dIFYDYd17R8MTiu6k1U4gsaf5XpwGGhjWAp4MFJ+UYCHBB2vtkEuWG
H253KaTHAAlhlcrt3nVBHCNWLhQ3E6bymMUHxY8rIdUaDVOCJSnPj3dO4m6uH0svRhi/oWaOozS3
1DfxJof9FmFAyuAMycYcjg3DSmM57Q4Fgq61NAvLmec+qTjQl7HZ6tsbGzHGmxlbqlEHUyMlq49S
h8+xu1S4pBVhTBX9aOraGI2FoQIp/+IIvZ9V0cyR/hslZrhr4bxRrhslvESyJneJgJMAURJayV9M
Wxvr3LVbgXsfEujz6lK8NoX8C2yRa0B4JDV6tNPLITgOekF6pmbu+cAOcYE4mKXLh0ZTilwWrdeT
n2xK50x6ZkNXlUOCqRz8JtY1W1Udy9RXw7WpYX1rrmKMvLF6XeRCVJT5tbuPHA/8AMADXqPoounI
qYEnxv1XRB0i8cZ2sFj9g4ST+Z0LFF2UMzqrpSDxxA6XyKr3ySKaeh6Fmq/skve8S7JNsbWAmcrx
FJE5jyrJQgPrGDKAWgm9NGnKrmpEKqiQaFiONyqcK4XA8ScsFXC8dEGUxW1hV/MrRdMNzbSQMam2
heJCTo6kVZkcIvEDPBFkS48mQrl+9uPUsGm+K6r2FPkJiXubmqnQnSH/s+QJpuUqKQPXCYIVmsV5
7U7FjKVtHP84618zK9isIUhrqQCXoaP0xwuYVeT91sq5T6izWtK3UPfE61eCCfKREkRsU6UH45jS
A3jBChzPYQPDy0qtn3ibiaHjzR4DN4y4/CCDqgBUCBweNrGaZTthkzbC13huROis6EuGXhHxN6/r
Wmp90yg77LgpxJDG1k+qgfvJD4IZvi9OSLpJsjvXteH4eA6VgEo9rHHVmaBE+4zHEhPthRSRlInE
i6YCYG7gy5DKACkMddlmddNYx+SmiRBbBTnWKNX6aTw07S576byQydIeKugxzIfJ9RkHBnmSVRjV
GNraT6Np4TdOryg7kgrhwBgVSjqZ3EdO1wmIKhXQLNfWorp5dfGRCNaNXUhVQMqzrjofwzxG43GC
hkJxI91QQpePQEmEq+6kikHd9SGSGXSCafG06rfZ2sRR8WbHZqTXlKeGH/nUUB5DCShim3Qq8bCn
zbaaHGBaO/DH3K1rkkRM30zo4kQEcVAMPW+6uX1aO554W6ImO8EwVOJxjNnzETUOW0XYRKLKDsPz
QB7zZuQcxS022TlcRuF9hFKHgwhJp05REWtBFmEFLuE4mDbI6KcsHF4NzYflb2SlOIPzZtbFot9A
JG0SdNYYR/k5822Pzvn5tE5jChjKANg5UrfkfFqjSieZmX+qdDns6fjg86S6MmU7/ZTtNx5byJxQ
5oTvlBN+iaOYr3fUcR1FYfSOBx04Ob1CMTK8cfwAeDmtfvbIZAH0sQqgvs8zPkGx9FHi1CmWbrJY
ksWSLJZksSSLJVksyWJJFksfsVgqwffQdfb3m+T62QW7zCdgTHyizHgjUxZWsrCShZUsrGRhdSqF
lazWZLUmqzVZrclq7RNWa6dc7nWh3rBSbMDFJ/sIqrNgGEVxOxG1L6HfXqgNivRucv8An369/T7I
O35ZJj/Fk5/iyU/x5Kd48lO8k3/h16X6A5qGkTX8YC6CsM9glfTWeVkBfH+ee4WjcfSh2XycrGnf
2/Szkt0T+++e2MOneXVtxmSzsD6ahZ1C66vxUFVf2/qq6TZUtxZZX2b7SvbWOv3eWo0PBTI7nEMP
PKekHsDL0kk2E+Xsu7LHKjNRjLFt2KkUvyvbfZD41zBBsVW50HTdsjRrNNZ5DbEw2TdotIXpNmux
xWahY3OtjGiThk0ZZF1DrRyqSSutDFTYRIsE4a11QSH9G40QhY9+qpROgOpkfPNP8NIIpnmvq5ZC
a9/fqlxqYWernhSC3dOKUszf9O7EO/XNkq9ZyNcsvs7HvjXVKgrVY/011WqLDYYWzKASq+5lC0a7
HfzqGbPZTupG0HXecOeD7Wa0zJ46N8Eh08twV1kZY2Rbw7odFgSk2q0W3BiNhioliHz0M+EeCP1f
C/oj09OgpyjPlg/+B1BLAwQUAAIACAAXrzhL4u+ZZWcIAACIZAAALgAcAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWVycm9yLXN0ZGVyci50eHRVVAkAA46MyFmOjMhZdXgLAAEE9QEAAAQU
AAAA7R3LbuM2EOgxJ38CsZeNgQTQ27JvjpOgRova3WR7ly06ViNLriQn2Uu/vUPKkvWgKGn9iJNy
gcVCNDkcznuG0uz49uYBBy84GAxsK7JmVohHvufheeT43sj1Q2yjayRrUk/VDMVUdFnWlYvvnvPP
Bo9vb25LawaDeWH9feCvRq6DvQggdQrQJNO8uFxZjtdFJaC1oC4zkCRNVboXDBiO9+I/48kaBxYB
NPTsx8DyQouCfXRWOLjsXowzZHDse8dzwuWvlme7jvf0Fw5CgsHS8p5wZi1BIbvQX2Pv9uYbBgTC
aGR5c+y62GahxJ75UeBlSDAYwEwbaJSSlxL03glg+qX01lssFrpuGqomS10On30OdygwztolYRNO
nlNEQkD3cYkDjCz4K2uqZuqmYppoizE5yT1s4wc/gOfYxVEKIznoTqgf/VQ6mDM5vzIwLg1ddrPE
0kCqu7Cy9sh0s4NQBjTI0FLKtAM19ddr4LbloZSLV8jzX1HE26MO69EmCEDN0504C2DKwg9W2xUx
VdJ1lAeX9oy5MmbXjTV/BpQeQBTwxcOfvzsRmZUdHQyecDQJ7kJY6IJlSCCMvYUPGySGE3aqWF7e
CNEheEILx8Xoa+crAmRtJ3zmnBRM020Z5Yz8zYmVLC1kMfTfOiFUZSqEVWqQYJLuARMnWbMxGARb
++Gv1mSmzZjie3koD5v5HIchoHKN5jE/0UtsfpETZh2HpPcMAjAFBaRbW9F8efeSeoeM/VElqZvT
eGLiqg5HzV9Gh9FlB2ijGX1V1XWpb3RLVpVD6Fpl1ymdq6xwyb8eSt9N6fj6ntnjaPpOJGqn7VnK
Kj3icypUnxA3p49kpQR/ZNVUen1Yuacl4GrxpLD7YZgqaz3lHQmuzhdcJw80C6KqYKompAywFWFe
IJYLKzVT7is/HQtWicwMPzleZv7Ya+I5iqu4wUUsGS1t6g7DzANsMyJEIx5mJ5Xo1YmWqUXNmlNV
kdAu2kY7Y0c5bEqSpWvKzFhoMuVyc8YyYsb8c0KQkmv4vn4KLBv/gbGN7UYuQVbAEuFXxvj5xZ4t
HVcmJ6K6MJn9DayKTdc1OCjU6ZboXJpJybx7BM3egDEb2nZp6VbOplW/twn7a9GaeLECVKkF8xx5
kIk+1CGkYinnvcugS1yuISkneS3PrbAsiYEtLaiwKSwRsGzCEDR5SLR8fItkRZU1XVWUnmGChvN9
0rQKiZYUQZdzy3VngHCXb9RhzxGLsxWWcXR4KcitZm2Rlczc5NRopJZ44sWFiYOqSqKfdRqS1ePS
GJ9/6TSO/0+n8OU3tRYVYvuMf9y9OWEUjr287MIPqHOFfDqIQjqakV1D00x+ZvWNOB0AFNB/eaAU
RasBhed+YNcjpStGJSTQxaZgDHCxjfRy2o6dWS2s1qlK+763Kk0Zkpvx7dtEr6VeNfWZBkuV9vFY
/mrlRHk3/Oq47oiO84Od/Si5P9a1zrV4hpx7LP1Y4wxiQvEKukWK8eoziV9kLqryjfzJ7dDNuEUm
2CbUaOUPWbvkU5u+AcZwjzJ3lXdliUHJPzL0gIl1p2IOmISZH9RozMIhjjcxAOcXuReokrFEjDSG
HGZr7IaLCAe5NCkmCk1tOnvlBBGHb+xsKzcFJ+WMOmORTiwIChMT2AocACkVweMLRhGX6xYRjNKo
4wHNPMsdJr/mDTBbmipEvNmtTtb8MY/L1WHWivKtF/h8iaXD2IORDa61Mse+1KozUxxQrCs+CLm4
JpYDbp+zHy4K/7B3XNUQqU5CslNdzzp0+WzrzIe1G7cppH0Ucu8CieHRCM8PRgCDZOtx09rzOznY
Cvv9QMqMNREKnVMKPoor97zHZrquxHUCqeIb860zD6tOZBV8Fxvs2JsG/lMA4cOOhFnDXoLCl4LY
y3LMQtGhNgjPh6w1VZkxE34TtWEtbHDWNtE3a49C8M18+WXv4HtYJwrJnJJkswOg/SLvYY2MnGXY
/aliYf9AJfvPE8eKeEzEYyIeE/GYuDVpd2vy/7tZuAsCPzjhvQKNMm/B2fn3luNiewvrMJUskaKI
FOWUKcpHcT3nmDCJFEWkKCJFESmKSFFEiiJSFJGivGuKkk7feHNr87SM7t7meB1bDrqS3rYyXmwU
6YxIZ0Q6I9IZkc7s/5GEyJFEjiRyJJEjiRzpZDnSOSdZLOhNE6/DYSG+zWn5bU5DDrVKY4/BhKOk
xmfJ2f3y9QPJxUm+eTp+beSEn1SJb9DEN2jiGzTxDZr4Bu10L8PShlB55qmqrFQyoSQS03hP2n4v
D3pl/ZhhOj7eqndhn62rbrZP3N/vOC2a+Kf6+faGWSi1TQ7HotFi4Zu0us5Zov/VIfpfnUM7pr4h
Sadoq/TZ7wlEc6jjNIdq/+l14zp/rCpjz8ZvBBRkllMrWg5IermhIjNAat9UTULFK7TauJFz50Xg
/tC1rCi6Luu9vlLVQ4mCPUJvJgq3WVcmNgp79mOKgTbpOxTPrOvBtJ3VpPtSPJXbdylm5jXKlmgy
1YGebphXKJ5UGL5ItQ6ENfSDWONgMwQ4EZ5/6Xy5GMU/gZjOHMpI5PqvEFyRogRpEwpWBW3ABaUj
O2zjpaSW8UIuxKlajPwNyHGhGHNVHEALDDIPzAloDSQ8OhY9TTeuigMlLCr4sPFg1vwZkwyfEvo3
wOEaopTMocABdomW/dIYSFr+gVWd8z1O8yZeLdWofeOuVPm5LbsOZCLYzbpKpuqd3mY5UUMw8eKL
ePHlTD81rqkHQKTVV36mHtCihNMCGUhi615/YXTyoW/uMfv4EJ2H520vnw9WL2oZ/O7dXyeHTRj5
a+Z7QdkfKmtA5f/PoJB9UBg7zqs9UzfqamQwSTJbCZTa6xlSe0Q/MSFaHu0/UEsDBBQAAgAIABev
OEu4gMCyTAYAAK83AABCABwAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJv
cGFnYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQJAAOOjMhZjozIWXV4CwABBPUBAAAEFAAAAO1b
S3PiOBC+c8pP8BGqdqr8BIcbgVDLYQdqktm7wCJ4Y2RWNmFy2d++7Sey9bAJZCa7IVU5YHe3Wt1f
vySYTe4eMH3BdDj0UIyWKMLjkBC8iv2QjIMwwp72RTNsfWDZfdM1HcNwzM534v+9x7PJ3YTjGQ5X
Nf4pDbfjwMckBkk3NWm663a6W+STnsYJbRTVZSTptmX2OgIZPnkJn/F8hylKBI2I90gRiVAq9tHf
YtrtdWaMGXxv6hM/2vyOiBf45OlPTKNEgw0iT5jhTVRgGcMdJpO7bxgUiOIxIiscBNgTqSSm/K/I
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
lQ00uwxyIFsreNUc4Tp8rfgayctK0k2TdbkFkkQjwgaIi4AY82VDuNnUsGzHcj3CMjPwSMGo1dG6
mMMRFV/hgVJLMmT3ki8/k6xgPG83A7UDTnJ67bLgrzLPkcS0kDnmwigZwwhstytyilHnz0OhCG2S
xBn2j0xmtWgLmi2McFtT2kQ9R9XPFr3St8kZXaylcwv3TB2/VkxxUWlF1JxqM5iEStU3vG/lr3UC
1J73GkYplu5AKMIIMAqOL8/hweIy99Gol2NYmuOvhu5CgBSq1NZfJy/E8bkF1a9s+vhyp/nyLny5
Dq2abZptmm2abZptmm2abZptmm2abZptmm2abZptmm2abZptmm2abZptmm2abZptmm2abZptmm2a
bZ+Mbf31ZKW7XZKzjWOHZLsNy+fqzrrrPHm91Z3tY6dnYBrAuJcdrUWVo1TDQ6ceUw0YNJ1fwkWy
7i+FsLRRq1rUNnQpW7OqibZze7OE1pzjxIuaskS7sI3Ad74bvL0R+D/SqRuKsMy1jAnILPThjUSG
5LVVijtov06KXrQmiwnsoBKYoNW2WF7nyPt1DjHTyhvWaG3adC/sopU477wZUmZc6384ePohE3/9
c+h9hl3YPT5g8MIMzKvmTfubAOBa59vxsP7mAwL3kvmAT5fEe0hbkjnek1GIdM8kD2cceP7JOAE3
3U2EzEAKCeWUOKt6B36tYPl8Vt/ETvYZ++b5+1Qj11wiqs94o/3E+ekCd/wLUEsDBBQAAgAIABuv
OEuWfo5ZhwUAANJDAAA1ABwAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXhjbHVz
aXZlLXN0ZGVyci50eHRVVAkAA5WMyFmVjMhZdXgLAAEE9QEAAAQUAAAA7VtLb+M2EL7n5J/A29rA
BtDbsm+JvUENFLW7zvYuS7StRqZcSUmaS3/7jiRLoiySkh9pgpYBgsDycGY4M99HKpiZTe+XOHrB
0Xgc7jGZ3n/Hfz3jOJk4xMVBgL2bH8SHJ7Pp/dRJnJUTY54kukW9m1mlzzvIT0JCsJv4IVlg4vlk
MwnCGIO0aihD3bA0WzNV1dSalqqV47HL1PIQhbtJ4GOSpNaPdCq2LfYnU+Gd70m+vtWH/s7xyQAx
Atmiqk9pUgxdG7CS4ZOX8AnP9zhyUkV3xHuMHBI7mdpHf4ej/oAOg0yzTHPXNPO3FAocefAjsMRf
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
VW3EVKWBRC1FJitR91tkoA+tEt6R82uac7bi5M/X1M+8IjR2xYSTH+b4wfu4zghvTFClU4qpp/+B
caEllJddi0snSbNkXwERx75i9ZSA9sh3vbNhRbp1BiHDb4Wovb1uqt7h7ytSrM+PdezMzsgzLrdT
XgVrbwTk69brpP8HUEsDBAoAAAAAALyuOEsAAAAAAAAAAAAAAAAPABwAc3RvcmFnZS93ZWJzcWwv
VVQJAAPki8hZJo3IWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC0rjhLgBgNpqcAAADSAAAALQAc
AHN0b3JhZ2Uvd2Vic3FsL2FsdGVyLXRvLWluZm8tdGFibGUtc3RkZXJyLnR4dFVUCQAD1IvIWdSL
yFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9Db
DHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7t
ySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hE
pD31NxQ/PAvLHMrFC1BLAwQUAAIACAC0rjhLgBgNpqcAAADSAAAANQAcAHN0b3JhZ2Uvd2Vic3Fs
L2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1zdGRlcnIudHh0VVQJAAPUi8hZ1IvIWXV4CwAB
BPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zat
hisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/
7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88
C8scysULUEsDBBQAAgAIALWuOEuAGA2mpwAAANIAAABGABwAc3RvcmFnZS93ZWJzcWwvY2hhbmdl
LXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtc3RkZXJyLnR4dFVUCQAD1YvI
WdWLyFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17
f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7
qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigD
y9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACAC1rjhL/yEv3bIAAABIAwAAKAAcAHN0b3JhZ2Uvd2Vi
c3FsL2NoYW5nZS12ZXJzaW9uLXN0ZGVyci50eHRVVAkAA9WLyFnVi8hZdXgLAAEE9QEAAAQUAAAA
7Y/NCsIwEITvPsUe24NGEC9BBNGeRAot6jlJVwiku2Gb+PP2VtFX8ORtBr4Z+KqmqRsNRzI2ICSG
lIWACTw5wR4pmQAmJ55ejcu5h2IOxAkMAYqwlBN14pB7HNTOJKOqc6vOaPc+qZazOHy1LQuqA3c5
jNgNbTeS1gz4nrzCzMVYLJaLEjRUd4cxeaZaVlf23Ro+D1p/ca0jyoWlryPShroTir88Csscykn1
N/ob/dzoCVBLAwQUAAIACAC1rjhLgBgNpqcAAADSAAAAMgAcAHN0b3JhZ2Uvd2Vic3FsL2Nsb3Nl
LWR1cmluZy1zdHJlc3MtdGVzdC1zdGRlcnIudHh0VVQJAAPWi8hZ1ovIWXV4CwABBPUBAAAEFAAA
ADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pC
wASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92
R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsD
BBQAAgAIALWuOEu9bEHFrQAAAKQBAAA0ABwAc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1h
ZnRlci1yZWxvYWQtc3RkZXJyLnR4dFVUCQAD1ovIWdaLyFl1eAsAAQT1AQAABBQAAADdj8sKwjAQ
Rfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf6E+4uxfOuXBN2zathhNZFxEyQy5CwASBvOCI
lG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NVpj+qHt0+ZHXkIh7fbcuC6sBDiS/shm54kc5e
8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jWCeXMMjYJaUNDhxLOj8oxx3pi/u7RE1BLAwQU
AAIACAC1rjhLgBgNpqcAAADSAAAAKQAcAHN0b3JhZ2Uvd2Vic3FsL2VtcHR5LXN0YXRlbWVudC1z
dGRlcnIudHh0VVQJAAPWi8hZ1ovIWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCC
aE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3EC
Q4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAY
k2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQAAgAIALauOEuAGA2mpwAAANIA
AAAqABwAc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy1zdGRlcnIudHh0VVQJAAPXi8hZ
14vIWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/
0NsMfDN12zathisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruo
Du3JJ3XhLA4/7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL
2ESkPfU3FD88C8scysULUEsDBBQAAgAIALauOEuAGA2mpwAAANIAAAAyABwAc3RvcmFnZS93ZWJz
cWwvZXhlY3V0ZS1zcWwtcm93c0FmZmVjdGVkLXN0ZGVyci50eHRVVAkAA9eLyFnXi8hZdXgLAAEE
9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2G
KxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/t
wILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwL
yxzKxQtQSwMEFAACAAgAtq44S4AYDaanAAAA0gAAAD8AHABzdG9yYWdlL3dlYnNxbC9leGVjdXRl
c3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LXN0ZGVyci50eHRVVAkAA9eLyFnXi8hZdXgL
AAEE9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3Xb
Nq2GKxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEs
Dj/twILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcU
PzwLyxzKxQtQSwMEFAACAAgAt644S4AYDaanAAAA0gAAAC4AHABzdG9yYWdlL3dlYnNxbC9oYXNo
LWNoYW5nZS13aXRoLXhoci1zdGRlcnIudHh0VVQJAAPZi8hZ2YvIWXV4CwABBPUBAAAEFAAAADXM
zQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASe
nOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/
pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQA
AgAIALeuOEu9bEHFrQAAAKQBAAA/ABwAc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2Vz
LWdhcmJhZ2UtY29sbGVjdGlvbi1zdGRlcnIudHh0VVQJAAPai8hZ2ovIWXV4CwABBPUBAAAEFAAA
AN2PywrCMBBF937FLNuFRhA3QQTRrEQKFdt1ko4QSGfCmPj4ex/oT7i7F865cE3bNq2GE1kXETJD
LkLABIG84IiUbQRbMk+v1pcyQjUH4gyWAEVY6onqOJYRL2pns1WmP6oe3T5kdeQiHt9ty4LqwEOJ
L+yGbniRzl7wo7zDzKdULZaLGjSYu8eUA1MjqyuHYQ3fBa1/uNYJ5cwyNglpQ0OHEs6PyjHHemL+
7tETUEsDBBQAAgAIALeuOEtdYBZxsAAAAHYCAABEABwAc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLXN0ZGVyci50eHRVVAkAA9qLyFnai8hZ
dXgLAAEE9QEAAAQUAAAA7Y/NCsIwEITvPsUe24NGEC9BBNGeRAot6jlJVwiku2Gb+PP2VtF38OBt
Br4Z+KqmqRsNRzI2ICSGlIWACTw5wR4pmQAmJ55ejcu5h2IOxAkMAYqwlBN14pB7HNTOJKOqc6vO
aPc+qZazOHy1LQuqA3c5jNgNbTeS1gz4nrzCzMVYLJaLEjRUd4cxeaZaVlf23Ro+D1p/ca0jyoWl
ryPShroTir88Csscykn1N/p5oydQSwMEFAACAAgAt644S4AYDaanAAAA0gAAAC8AHABzdG9yYWdl
L3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtc3RkZXJyLnR4dFVUCQAD2ovIWdqLyFl1eAsA
AQT1AQAABBQAAAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2
rYYrGRsQEkPKQsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwO
P+3AgurMfQ5vdkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/
PAvLHMrFC1BLAwQUAAIACAC4rjhLgBgNpqcAAADSAAAAKAAcAHN0b3JhZ2Uvd2Vic3FsL251bGwt
Y2FsbGJhY2tzLXN0ZGVyci50eHRVVAkAA9uLyFnbi8hZdXgLAAEE9QEAAAQUAAAANczNCsIwEATg
u0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiUTACT
Ey9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+J5+w
cjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgAuK44
S71sQcWtAAAApAEAAEgAHABzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAkAA9uLyFnbi8hZdXgLAAEE9QEAAAQU
AAAA3Y/LCsIwEEX3fsUs24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcR
MkMuQsAEgbzgiJRtBFsyT6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurA
Q4kv7IZueJHOXvCjvMPMp1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6
Yv7u0RNQSwMEFAACAAgAuK44S/8hL92yAAAASAMAADkAHABzdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLXN0ZGVyci50eHRVVAkAA9uLyFnbi8hZdXgLAAEE9QEA
AAQUAAAA7Y/NCsIwEITvPsUe24NGEC9BBNGeRAot6jlJVwiku2Gb+PP2VtFX8ORtBr4Z+KqmqRsN
RzI2ICSGlIWACTw5wR4pmQAmJ55ejcu5h2IOxAkMAYqwlBN14pB7HNTOJKOqc6vOaPc+qZazOHy1
LQuqA3c5jNgNbTeS1gz4nrzCzMVYLJaLEjRUd4cxeaZaVlf23Ro+D1p/ca0jyoWlryPShroTir88
Csscykn1N/ob/dzoCVBLAwQUAAIACAC4rjhLgBgNpqcAAADSAAAANQAcAHN0b3JhZ2Uvd2Vic3Fs
L29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1zdGRlcnIudHh0VVQJAAPci8hZ3IvIWXV4CwAB
BPUBAAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zat
hisZGxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/
7cCC6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88
C8scysULUEsDBBQAAgAIALiuOEuAGA2mpwAAANIAAAA0ABwAc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1leHBhbmQtcXVvdGEtc3RkZXJyLnR4dFVUCQAD3IvIWdyLyFl1eAsAAQT1AQAABBQA
AAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPK
QsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5v
dkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BL
AwQUAAIACAC4rjhLT5zjmAoBAAC4AgAAOQAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Ut
c2V0LWVtcHR5LXZlcnNpb24tc3RkZXJyLnR4dFVUCQAD3IvIWdyLyFl1eAsAAQT1AQAABBQAAADd
kU9LxDAQxe/7KeYkLahdXQQJIojbk0ih1d3jkqZTCaYzZZpU99vb1D+HFfbkyVvCvPd485u8LItS
wTPp2iF4BkEvFkcEZwcP3EKjva71gEC6wwFaFmCxL5agtQ53u+Ui27AL0yxbT9Is31bZFusH67OK
gxiMv3sWzB65CW6SvWH9HTpb4uNJtHlFOTd9n1xfXqSgoGZ28OVV6kCoVIMOPRZzlcQwTW1/xBWa
INbvP6fRCienR7LWMcsyTQ0xXeSHTHwQAiawZAQ7JK8d6OD5bNQmhA6SJRB70AQowpL+CZEZxepq
FVHk7wb7WLCQm5Ftc/t7F6V6lOk4XdEj3VGzQbHtPokQ/+NGH1BLAwQUAAIACAC5rjhLvWxBxa0A
AACkAQAARQAcAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUCQAD3YvIWd2LyFl1eAsAAQT1AQAABBQAAADdj8sKwjAQ
Rfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf6E+4uxfOuXBN2zathhNZFxEyQy5CwASBvOCI
lG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NVpj+qHt0+ZHXkIh7fbcuC6sBDiS/shm54kc5e
8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jWCeXMMjYJaUNDhxLOj8oxx3pi/u7RE1BLAwQU
AAIACAC5rjhLgBgNpqcAAADSAAAAOQAcAHN0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmct
bm9yZWFkLW5vd3JpdGUtc3RkZXJyLnR4dFVUCQAD3YvIWd2LyFl1eAsAAQT1AQAABBQAAAA1zM0K
wjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzg
iJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1
E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIA
CAC5rjhLXWAWcbAAAAB2AgAARwAcAHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1zdGRlcnIudHh0VVQJAAPei8hZ3ovIWXV4CwABBPUB
AAAEFAAAAO2PzQrCMBCE7z7FHtuDRhAvQQTRnkQKLeo5SVcIpLthm/jz9lbRd/DgbQa+Gfiqpqkb
DUcyNiAkhpSFgAk8OcEeKZkAJieeXo3LuYdiDsQJDAGKsJQTdeKQexzUziSjqnOrzmj3PqmWszh8
tS0LqgN3OYzYDW03ktYM+J68wszFWCyWixI0VHeHMXmmWlZX9t0aPg9af3GtI8qFpa8j0oa6E4q/
PArLHMpJ9Tf6eaMnUEsDBBQAAgAIALmuOEu9bEHFrQAAAKQBAABAABwAc3RvcmFnZS93ZWJzcWwv
cmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktc3RkZXJyLnR4dFVUCQAD3ovI
Wd6LyFl1eAsAAQT1AQAABBQAAADdj8sKwjAQRfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf
6E+4uxfOuXBN2zathhNZFxEyQy5CwASBvOCIlG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NV
pj+qHt0+ZHXkIh7fbcuC6sBDiS/shm54kc5e8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jW
CeXMMjYJaUNDhxLOj8oxx3pi/u7RE1BLAwQUAAIACAC5rjhLgBgNpqcAAADSAAAAKAAcAHN0b3Jh
Z2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLXN0ZGVyci50eHRVVAkAA96LyFnei8hZdXgLAAEE9QEA
AAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkb
EBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILq
zH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzK
xQtQSwMEFAACAAgAua44S71sQcWtAAAApAEAAEEAHABzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUCQAD3ovIWd6LyFl1eAsA
AQT1AQAABBQAAADdj8sKwjAQRfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf6E+4uxfOuXBN
2zathhNZFxEyQy5CwASBvOCIlG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NVpj+qHt0+ZHXk
Ih7fbcuC6sBDiS/shm54kc5e8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jWCeXMMjYJaUND
hxLOj8oxx3pi/u7RE1BLAwQUAAIACAC6rjhLgBgNpqcAAADSAAAAMgAcAHN0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1zdGRlcnIudHh0VVQJAAPfi8hZ34vIWXV4CwABBPUB
AAAEFAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZ
GxASQ8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC
6sx9Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8sc
ysULUEsDBBQAAgAIALquOEu9bEHFrQAAAKQBAABDABwAc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50
LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUCQAD34vIWd+LyFl1
eAsAAQT1AQAABBQAAADdj8sKwjAQRfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf6E+4uxfO
uXBN2zathhNZFxEyQy5CwASBvOCIlG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NVpj+qHt0+
ZHXkIh7fbcuC6sBDiS/shm54kc5e8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jWCeXMMjYJ
aUNDhxLOj8oxx3pi/u7RE1BLAwQUAAIACAC6rjhLgBgNpqcAAADSAAAAKgAcAHN0b3JhZ2Uvd2Vi
c3FsL3N1Y2Nlc3MtY2FsbGJhY2stc3RkZXJyLnR4dFVUCQAD4IvIWeCLyFl1eAsAAQT1AQAABBQA
AAA1zM0KwjAQBOC7T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPK
QsAEnpzgiJRMAJMTL2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5v
dkfbv6U1E34nn7ByMRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BL
AwQUAAIACAC6rjhLgBgNpqcAAADSAAAAQwAcAHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJh
Y2std2hlbi1wYWdlLWRlZmVycy1sb2FkaW5nLXN0ZGVyci50eHRVVAkAA+CLyFngi8hZdXgLAAEE
9QEAAAQUAAAANczNCsIwEATgu0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2G
KxkbEBJDykLABJ6c4IiUTACTEy9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/t
wILqzH0Ob3ZH27+lNRN+J5+wcjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwL
yxzKxQtQSwMEFAACAAgAu644S4AYDaanAAAA0gAAACkAHABzdG9yYWdlL3dlYnNxbC90ZXN0LWF1
dGhvcml6ZXItc3RkZXJyLnR4dFVUCQAD4YvIWeGLyFl1eAsAAQT1AQAABBQAAAA1zM0KwjAQBOC7
T7HH9qARipcggmhPIoWK9pykWwiku2GbVH17f9DbDHwzdds2rYYrGRsQEkPKQsAEnpzgiJRMAJMT
L2fjch6hWANxAkOAIizlQt045BEndTTJqLq7qA7tySd14SwOP+3AgurMfQ5vdkfbv6U1E34nn7By
MRbVpipBQ/1wGJNnamQ7s+938HvQ+s+1jigDy9hEpD31NxQ/PAvLHMrFC1BLAwQUAAIACAC7rjhL
gBgNpqcAAADSAAAAPgAcAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC1zdGRlcnIudHh0VVQJAAPhi8hZ4YvIWXV4CwABBPUBAAAEFAAAADXMzQrCMBAE
4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxASQ8pCwASenOCIlEwA
kxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9Dm92R9u/pTUTfief
sHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysULUEsDBBQAAgAIALuu
OEu9bEHFrQAAAKQBAAA9ABwAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUCQAD4ovIWeKLyFl1eAsAAQT1AQAABBQAAADdj8sKwjAQ
Rfd+xSzbhUYQN0EE0axEChXbdZKOEEhnwpj4+Hsf6E+4uxfOuXBN2zathhNZFxEyQy5CwASBvOCI
lG0EWzJPr9aXMkI1B+IMlgBFWOqJ6jiWES9qZ7NVpj+qHt0+ZHXkIh7fbcuC6sBDiS/shm54kc5e
8KO8w8ynVC2Wixo0mLvHlANTI6srh2EN3wWtf7jWCeXMMjYJaUNDhxLOj8oxx3pi/u7RE1BLAwQU
AAIACAC7rjhLvWxBxa0AAACkAQAAQwAcAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9y
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAkAA+KLyFnii8hZdXgLAAEE9QEA
AAQUAAAA3Y/LCsIwEEX3fsUs24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYT
WRcRMkMuQsAEgbzgiJRtBFsyT6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323L
gurAQ4kv7IZueJHOXvCjvMPMp1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/K
Mcd6Yv7u0RNQSwMEFAACAAgAvK44S4AYDaanAAAA0gAAADQAHABzdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1zdGRlcnIudHh0VVQJAAPji8hZ44vIWXV4CwABBPUBAAAE
FAAAADXMzQrCMBAE4LtPscf2oBGKlyCCaE8ihYr2nKRbCKS7YZtUfXt/0NsMfDN12zathisZGxAS
Q8pCwASenOCIlEwAkxMvZ+NyHqFYA3ECQ4AiLOVC3TjkESd1NMmouruoDu3JJ3XhLA4/7cCC6sx9
Dm92R9u/pTUTfiefsHIxFtWmKkFD/XAYk2dqZDuz73fwe9D6z7WOKAPL2ESkPfU3FD88C8scysUL
UEsDBBQAAgAIALyuOEuAGA2mpwAAANIAAAAvABwAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
cHJvdG90eXBlLXN0ZGVyci50eHRVVAkAA+OLyFnji8hZdXgLAAEE9QEAAAQUAAAANczNCsIwEATg
u0+xx/agEYqXIIJoTyKFivacpFsIpLthm1R9e3/Q2wx8M3XbNq2GKxkbEBJDykLABJ6c4IiUTACT
Ey9n43IeoVgDcQJDgCIs5ULdOOQRJ3U0yai6u6gO7ckndeEsDj/twILqzH0Ob3ZH27+lNRN+J5+w
cjEW1aYqQUP9cBiTZ2pkO7Pvd/B70PrPtY4oA8vYRKQ99TcUPzwLyxzKxQtQSwMEFAACAAgAvK44
S71sQcWtAAAApAEAAEUAHABzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAkAA+SLyFnki8hZdXgLAAEE9QEAAAQUAAAA
3Y/LCsIwEEX3fsUs24VGEDdBBNGsRAoV23WSjhBIZ8KY+Ph7H+hPuLsXzrlwTds2rYYTWRcRMkMu
QsAEgbzgiJRtBFsyT6/WlzJCNQfiDJYARVjqieo4lhEvamezVaY/qh7dPmR15CIe323LgurAQ4kv
7IZueJHOXvCjvMPMp1QtlosaNJi7x5QDUyOrK4dhDd8FrX+41gnlzDI2CWlDQ4cSzo/KMcd6Yv7u
0RNQSwMECgAAAAAA/a44SwAAAAAAAAAAAAAAAAcAHAB3ZWJydGMvVVQJAANejMhZJo3IWXV4CwAB
BPUBAAAEFAAAAFBLAwQKAAAAAAAGrzhLAAAAAAAAAAAAAAAAEwAcAHdlYnJ0Yy9kYXRhY2hhbm5l
bC9VVAkAA2uMyFkmjchZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAACvOEvmOyC+AAEAAL0DAAAj
ABwAd2VicnRjL2RhdGFjaGFubmVsL2Jhc2ljLXN0ZGVyci50eHRVVAkAA1+MyFlfjMhZdXgLAAEE
9QEAAAQUAAAA7ZI/T8NADMV3PoXHMBAlbfmXAQkETBUIAmJAKHLuTDkp3EVnR6HfHl9bWBibkRuf
3rPv9+TMUofrpkUm27Qj5cZUs5PysIKrlxuoScT5FbBgFGidRBQCCRXMi/QOsj3jbKRX1XMfoqTw
6flCw7XKTz/y0UVN3j4MNJCtJRJ+PhKTcKbGW3QdWR0JrB5AXZUMEJMD3kOEcicxVPBafG32FrPj
N7jvSb/jggfs1GDX4Dz0Maw0y3uDTd3L4qz428umh20lWZq9g/choQ/e5v8Yk2CM1EYxrHeh55LC
5bxMZ3ppbUK5RsHt98Fgl+5x/CAPCb75pW/AMdw9L5f5dLV8A1BLAwQUAAIACAD9rjhLNMTUOaoA
AAAYAQAAJwAcAHdlYnJ0Yy9kYXRhY2hhbm5lbC9iYXNpYy10Y3Atc3RkZXJyLnR4dFVUCQADXozI
WV6MyFl1eAsAAQT1AQAABBQAAACljr0KwkAQBvs8xVfGQon/mMJC0FY0goWIXHKrHMS7cLuieXs3
ok/glsPM7qaWatNeSsNkL+WTBlWVj2bDXo7VcY2CRJy/gcVEQekkGiFIyDHOuknSP3OupFHquQlR
uni+mGhcKD78cH9ZkLe7Bz3IFhLJ3PfEJJyquDGuJqsrwerA6KlOQOwMXEPE8IsYOU7Z63M3G03P
2Dak77jgYWoVbAvn0cRw05aTN1BLAwQUAAIACAAArzhLtnFGmHkAAADHAAAAJAAcAHdlYnJ0Yy9k
YXRhY2hhbm5lbC9iaW5hcnktc3RkZXJyLnR4dFVUCQADX4zIWV+MyFl1eAsAAQT1AQAABBQAAADT
SEnNSayMT0osTk2JTypP1UtOtjIyM9S0UnAKd1UITi0pycxLVyguSSwqUUjKLClKLElVKMm3UjA2
AAEuDQq1FyeXFABF84oL8otKQJpNLAyAmoOBwiEwYV27oNTi1JLgkqLUxFwNkNnFYKZCXn6JQlp+
aV6KHhcAUEsDBBQAAgAIAACvOEu2cUaYeQAAAMcAAABAABwAd2VicnRjL2RhdGFjaGFubmVsL2J1
ZmZlcmVkQW1vdW50TG93VGhyZXNob2xkLWRlZmF1bHQtc3RkZXJyLnR4dFVUCQADYIzIWWCMyFl1
eAsAAQT1AQAABBQAAADTSEnNSayMT0osTk2JTypP1UtOtjIyM9S0UnAKd1UITi0pycxLVyguSSwq
UUjKLClKLElVKMm3UjA2AAEuDQq1FyeXFABF84oL8otKQJpNLAyAmoOBwiEwYV27oNTi1JLgkqLU
xFwNkNnFYKZCXn6JQlp+aV6KHhcAUEsDBBQAAgAIAAGvOEs3WwtFjAAAAGYDAAAmABwAd2VicnRj
L2RhdGFjaGFubmVsL2NyZWF0aW9uLXN0ZGVyci50eHRVVAkAA2GMyFlhjMhZdXgLAAEE9QEAAAQU
AAAA7c4xC8IwEAXg3V9xY12KteKQTdGtuARxDJfk0ECblNxB8N+b/gXFrW99fI/XeBrxbSwyeWML
tc6p/bHbKjg/rqBJJMQnsGAWsEEyCoEkBf1uyaZZ+de8kM3imJhDigvu+u5Q9cl77WS+oKCWTDiB
w3EkD+VFEbhWpo5FnlMWA4Hhdh+Gdr3z1zu/8Q9QSwMEFAACAAgAAa84SzqRTCU+AAAAPwAAAC8A
HAB3ZWJydGMvZGF0YWNoYW5uZWwvZGF0YWNoYW5uZWwtZXZlbnQtc3RkZXJyLnR4dFVUCQADYYzI
WWGMyFl1eAsAAQT1AQAABBQAAADTSEnNSayMT0osTk2JTypP1UtOtjIyM9S0UnAKd1UITi0pycxL
VyguSSwqUUjKLClKLElVKMm3UjA2AAEuAFBLAwQUAAIACAABrzhLtnFGmHkAAADHAAAALAAcAHdl
YnJ0Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1nYy1zdGRlcnIudHh0VVQJAANhjMhZYYzIWXV4
CwABBPUBAAAEFAAAANNISc1JrIxPSixOTYlPKk/VS062MjIz1LRScAp3VQhOLSnJzEtXKC5JLCpR
SMosKUosSVUoybdSMDYAAS4NCrUXJ5cUAEXzigvyi0pAmk0sDICag4HCITBhXbug1OLUkuCSotTE
XA2Q2cVgpkJefolCWn5pXooeFwBQSwMEFAACAAgAAa84S7ZxRph5AAAAxwAAAC8AHAB3ZWJydGMv
ZGF0YWNoYW5uZWwvZGF0YWNoYW5uZWwtc3RhdHMtc3RkZXJyLnR4dFVUCQADYozIWWKMyFl1eAsA
AQT1AQAABBQAAADTSEnNSayMT0osTk2JTypP1UtOtjIyM9S0UnAKd1UITi0pycxLVyguSSwqUUjK
LClKLElVKMm3UjA2AAEuDQq1FyeXFABF84oL8otKQJpNLAyAmoOBwiEwYV27oNTi1JLgkqLUxFwN
kNnFYKZCXn6JQlp+aV6KHhcAUEsDBBQAAgAIAAGvOEs7V4ASQgAAAH4AAAAyABwAd2VicnRjL2Rh
dGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLXN0ZGVyci50eHRVVAkAA2KMyFlijMhZdXgL
AAEE9QEAAAQUAAAA00hJzUmsjE9KLE5NiU8qT9VLTrYyMjPUtFJwCndVCE4tKcnMS1coLkksKlFI
yiwpSixJVSjJt1IwNgABLg3KtAMAUEsDBBQAAgAIAAGvOEtkDulmfgAAABABAAArABwAd2VicnRj
L2RhdGFjaGFubmVsL211bHRpLWNoYW5uZWwtc3RkZXJyLnR4dFVUCQADYozIWWKMyFl1eAsAAQT1
AQAABBQAAADTSEnNSayMT0osTk2JTypP1UtOtjIyM9S0UnAKd1UITi0pycxLVyguSSwqUUjKLClK
LElVKMm3UjA2AAEuDQq1FyeXFABF84oL8otKQJpNLAyAmoOBwiEwYV27oNTi1JLgkqLUxFwNkNnF
YKZCXn6JQlp+aV6KHjkGGWM1CABQSwMEFAACAAgABq84SwsskroEAgAAq9QAADIAHAB3ZWJydGMv
ZGF0YWNoYW5uZWwvbXVsdGlwbGUtY29ubmVjdGlvbnMtc3RkZXJyLnR4dFVUCQADa4zIWWuMyFl1
eAsAAQT1AQAABBQAAADt2bFOG0EQBuA+TzGlKUCGAElcUCBBGxEjpUAROvs26CRzZ92ulfD22SNQ
UUKBko/ydGvz7T87O4hZmzbNw+2qyam9Xf1KB+v14uj0cG8R598vYplK6fq7yKUZS6y6MjYlRRkW
8XE+/XyYvXJ5Xpdtfdrn7TCWafGnL8d18bI+vn5+vH+2TH17tUu71C7LmJr7bymnkmf1xcum26S2
fmTk+k409aumF2Kc3oifwxiHT49yLOJm/vvxe+dHJz/i6zbVX6cb+mg29YX2Ibo+tuNwV9fmV8Pe
el+OP89f7svjPvzdktn02U/4fpjou749eHcM8dqX/7DsMRw2hw0DAwMDw31qqLcv9sW+2BfXh3jt
i7IXr3jF6083DAwMHdxc6mYTr3gxVKkqxcDA0PpUKQYGBgaG+9S+KHunV5WqUgwMDAwMDAwMs6Z4
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
ftFGHvP55WPBjGolFgs5uwZWk3S9CxMHUCeQA3IBGp7oaDYYTl3u+UUBKzeNDZyIzQfOZDqJ58GQ
718wPi4673k+d/25cz/wJiMvfCwS54XBOAgHo8AdDb2jovMtjdzQWhZbnvhRTPFppY74C0+kx8mU
jQdR4PjM952AzcvnazBxprO5F4/9URTPBl+VN+DVBz9P4uW//or/PtnE3r/m0d//dffvv/9rG2/f
Dj+4efLbH3dfoj/+e8H/nr/95H6eJl9uf/7zn7f/9P715e13b7/8/Ht8+/N3Pw/594Y/f/f97W8D
959vF4P8w/a/f/5/f/wy+Omf7ud//32xjD7869Pb5Evy+4fJ5qc3r7e/vP/293//8Zp/1uv7X7av
v/z8V+r++l26/fn9tz/+/q//m/zx/n76dvHbIvb/b/H+IFP5+//3/X/P/vhjkLPtf2///ccvX6Ze
+Ne//zVJ//3hh0///uO//3r753rKx/6B/fjtupyX9Jif7u/KMfnvfIo+/Hv97w//N/npzX//MvWC
nM/XffvDL4uYfxafq//2u9d//frnP4Nf/3x7//b72S//evPfs59+yJN//f1ff83euG/3Mr0tf//N
24U7439yRf/t4v/5vy3+/cNkwP74dvH2zzSZ/t2dz5Y/5NGH3+5mf9+v07/5uv/7wy+Df3/4bV63
P5fGmv9r8Arj9vZHsj+SEkeSBGeif2P7N1bHTZm48Wgez4fObDjlCxVxfRZxDebEwxkbj+auz71H
IqRwEVEJxAKf+d8iZ5FiHEdE7t567J/qa7UeL2qvB80ip7qesNavHj7gY3kdN/krf7BHYg+l7QZf
lbetvDWvXr584f3wOPLu68excSbd2FtnEkzjwcxxg2jGlcggdrhOGTizaD4dB95gOnTnx+l9w/HQ
98fByA/Hk+HAG7eW08mNvt636BUWJd+Cq5G/UVdaYAacWmMw+sqLhm9xfHouHYT9MZE4W0IH5vSM
7b9wgTS64PUhsABkOJFX+/4LnZTDbsloUePH5/DJptyuZ26kiEHThXoz/WOhja4rnR27phKhG4yn
82kvhG/39Se0EBTRUBE1SbNBbLPcREp5EkvDb0gKb55kZzRTQIWz1UJlhhLaEUbppuPJaB7MJ04c
DAMnmA8nzjgKxs7IH3mz2XA0Zv6oR+l++T39q7Mo3fv70dvlv4L47//6s/zMP/zfwvjv/0x+Tf77
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
pIE23gEAY3J5cHRvL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJz
LXN0ZGVyci50eHRVVAUAA0aJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABYrThLMDu4sUsA
AABoAAAAPAAYAAAAAAABAAAApIHa3gEAY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LWtleS1tYWxm
b3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQFAANIichZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAATa04SwAAAAAAAAAAAAAAAA8AGAAAAAAAAAAQAO1Bm98BAGNyeXB0by93b3JrZXJzL1VU
BQADMonIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAE2tOEsAAAAAAAAAAAAAAAAWABgAAAAA
AAAAEADtQeTfAQBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvVVQFAAMyichZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgACAAAATa04SyXg0wgsAAAALAAAADEAGAAAAAAAAQAAAKSBNOABAGNyeXB0by93b3Jr
ZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LXN0ZGVyci50eHRVVAUAAzKJyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAABMrThLAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UHL4AEAZGlzcGxh
eWxpc3RzL1VUBQADMInIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEytOEujV/3oUAAAAI4A
AAAyABgAAAAAAAEAAACkgRLhAQBkaXNwbGF5bGlzdHMvZXh0ZW50LWluY2x1ZGVzLXRyYW5zZm9y
bXMtc3RkZXJyLnR4dFVUBQADL4nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEytOEvylpXV
RwAAAEkAAAApABgAAAAAAAEAAACkgc7hAQBkaXNwbGF5bGlzdHMvbGF5ZXItZGlzcGF5LWxpc3Qt
c3RkZXJyLnR4dFVUBQADMInIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJOtOEsAAAAAAAAA
AAAAAAAIABgAAAAAAAAAEADtQXjiAQBlZGl0aW5nL1VUBQADtYnIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAJOtOEsAAAAAAAAAAAAAAAARABgAAAAAAAAAEADtQbriAQBlZGl0aW5nL2RlbGV0
aW5nL1VUBQADtYnIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJOtOEuQRUnDuwEAAPwSAAAo
ABgAAAAAAAEAAACkgQXjAQBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1lbW9qaS1zdGRlcnIudHh0
VVQFAAO1ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAcq04SwAAAAAAAAAAAAAAABMAGAAA
AAAAAAAQAO1BIuUBAGVkaXRpbmcvcGFzdGVib2FyZC9VVAUAA3eJyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABhrThLst5t6uoAAACFAQAAMAAYAAAAAAABAAAApIFv5QEAZWRpdGluZy9wYXN0
ZWJvYXJkL2NvcHktcmVzb2x2ZXMtdXJscy1zdGRlcnIudHh0VVQFAANVichZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAZq04S5kHjrXEAQAADA8AAEoAGAAAAAAAAQAAAKSBw+YBAGVkaXRpbmcv
cGFzdGVib2FyZC9kcmFnLWZpbGVzLXRvLWVkaXRhYmxlLWVsZW1lbnQtYXMtYXR0YWNobWVudC1z
dGRlcnIudHh0VVQFAANgichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAaa04S7fXsRngAQAA
zBYAADUAGAAAAAAAAQAAAKSBC+kBAGVkaXRpbmcvcGFzdGVib2FyZC9maWxlLWlucHV0LWZpbGVz
LWFjY2Vzcy1zdGRlcnIudHh0VVQFAANlichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAcq04
S8pLfm/kAAAAegEAACwAGAAAAAAAAQAAAKSBWusBAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1u
b3NjcmlwdC1zdGRlcnIudHh0VVQFAAN3ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAca04
S0NCFrblAAAAfgEAADIAGAAAAAAAAQAAAKSBpOwBAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1u
b3NjcmlwdC14aHRtbC1zdGRlcnIudHh0VVQFAAN2ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAUa84S95Uom1eCwAAkT8AAA0AGAAAAAAAAQAAAKSB9e0BAGVycm9yX2xvZy50eHRVVAUAA/qM
yFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADhrThLAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA
7UGa+QEAZmFzdC9VVAUAA0aKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABdrThLAAAAAAAA
AAAAAAAAEAAYAAAAAAAAABAA7UHZ+QEAZmFzdC9hdHRhY2htZW50L1VUBQADUonIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAF2tOEuqiBAMbgIAAEwiAAA1ABgAAAAAAAEAAACkgSP6AQBmYXN0
L2F0dGFjaG1lbnQvYXR0YWNobWVudC1sYWJlbC1oaWdobGlnaHQtc3RkZXJyLnR4dFVUBQADUonI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIGtOEsAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADt
QQD9AQBmYXN0L2NhbnZhcy9VVAUAA5KJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABlrThL
uv/6ZWwAAADsAAAAJgAYAAAAAAABAAAApIFG/QEAZmFzdC9jYW52YXMvMmQuY3VycmVudFBvaW50
LXN0ZGVyci50eHRVVAUAA12JyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACBrThLK1BahnwA
AAACAQAAJgAYAAAAAAABAAAApIES/gEAZmFzdC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVy
ci50eHRVVAUAA5KJyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADhrThLAAAAAAAAAAAAAAAA
CQAYAAAAAAAAABAA7UHu/gEAZmFzdC9jc3MvVVQFAANGishZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA4a04S4uOsESyAAAAzgEAADYAGAAAAAAAAQAAAKSBMf8BAGZhc3QvY3NzL3BlcnNwZWN0
aXZlLW9yaWdpbi1pbml0aWFsLWluaGVyaXQtc3RkZXJyLnR4dFVUBQADRorIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAIutOEsAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQVMAAgBmYXN0L2Rv
bS9VVAUAA6WJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABxrThL7aZLGIsBAADgCQAAJQAY
AAAAAAABAAAApIGWAAIAZmFzdC9kb20vRmlsZUxpc3QtaXRlcmF0b3Itc3RkZXJyLnR4dFVUBQAD
dYnIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHGtOEsXhLppcwEAAPAEAAA2ABgAAAAAAAEA
AACkgYACAgBmYXN0L2RvbS9GaWxlTGlzdC1pdGVyYXRvci11c2luZy1vcGVuLXBhbmVsLXN0ZGVy
ci50eHRVVAUAA3WJyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB4rThLAAAAAAAAAAAAAAAA
GgAYAAAAAAAAABAA7UFjBAIAZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci9VVAUAA4SJyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAB4rThLgBgNpqcAAADSAAAAPwAYAAAAAAABAAAApIG3BAIA
ZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci9kYXRhYmFzZS1jYWxsYmFjay1kZWxpdmVyeS1zdGRl
cnIudHh0VVQFAAOEichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAi604SwAAAAAAAAAAAAAA
ABAAGAAAAAAAAAAQAO1B1wUCAGZhc3QvZG9tL1dpbmRvdy9VVAUAA6WJyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACLrThLlOo7B38BAAB6BQAAOgAYAAAAAAABAAAApIEhBgIAZmFzdC9kb20v
V2luZG93L3dpbmRvdy1wb3N0bWVzc2FnZS1jbG9uZS1mcmFtZXMtc3RkZXJyLnR4dFVUBQADpYnI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAImtOEsAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADt
QRQIAgBmYXN0L2V2ZW50cy9VVAUAA6KJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACJrThL
Bf0AY44BAAAECgAAPQAYAAAAAAABAAAApIFaCAIAZmFzdC9ldmVudHMvZGF0YS10cmFuc2Zlci1m
aWxlcy1hdHRyaWJ1dGUtaWRlbnRpdHktc3RkZXJyLnR4dFVUBQADoonIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAICtOEsAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQV8KAgBmYXN0L2ZpbGVz
L1VUBQADkInIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAICtOEtvJSm+fQEAAFgFAAAlABgA
AAAAAAEAAACkgaQKAgBmYXN0L2ZpbGVzL3JlYWQtYmxvYi1hc3luYy1zdGRlcnIudHh0VVQFAAOQ
ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgK04S98xp1F6AQAAWAUAACUAGAAAAAAAAQAA
AKSBgAwCAGZhc3QvZmlsZXMvcmVhZC1maWxlLWFzeW5jLXN0ZGVyci50eHRVVAUAA5CJyFl1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAACArThLAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UFZDgIA
ZmFzdC9maWxlcy93b3JrZXJzL1VUBQADj4nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAH2t
OEsM+dv6ewEAAFgFAAA0ABgAAAAAAAEAAACkgaYOAgBmYXN0L2ZpbGVzL3dvcmtlcnMvd29ya2Vy
LXJlYWQtYmxvYi1hc3luYy1zdGRlcnIudHh0VVQFAAONichZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAfa04S/OxW+J6AQAAWAUAADMAGAAAAAAAAQAAAKSBjxACAGZhc3QvZmlsZXMvd29ya2Vy
cy93b3JrZXItcmVhZC1ibG9iLXN5bmMtc3RkZXJyLnR4dFVUBQADjYnIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAH2tOEvHXTB+dgEAAFgFAAA0ABgAAAAAAAEAAACkgXYSAgBmYXN0L2ZpbGVz
L3dvcmtlcnMvd29ya2VyLXJlYWQtZmlsZS1hc3luYy1zdGRlcnIudHh0VVQFAAOOichZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAgK04S4nR3sV6AQAAWAUAADMAGAAAAAAAAQAAAKSBWhQCAGZh
c3QvZmlsZXMvd29ya2Vycy93b3JrZXItcmVhZC1maWxlLXN5bmMtc3RkZXJyLnR4dFVUBQADj4nI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIKtOEsAAAAAAAAAAAAAAAALABgAAAAAAAAAEADt
QUEWAgBmYXN0L2Zvcm1zL1VUBQADk4nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIKtOEtC
ScnOTwEAAJYyAAAzABgAAAAAAAEAAACkgYYWAgBmYXN0L2Zvcm1zL1ZhbGlkaXR5U3RhdGUtcGF0
dGVybk1pc21hdGNoLXN0ZGVyci50eHRVVAUAA5OJyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AACErThLAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UFCGAIAZmFzdC9mb3Jtcy9maWxlL1VUBQAD
l4nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIGtOEv1bzqTFgMAAIxvAAAyABgAAAAAAAEA
AACkgYwYAgBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jaGFuZ2UtZXZlbnQtc3RkZXJyLnR4
dFVUBQADkYnIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIGtOEuhtmiqdQEAABIFAAArABgA
AAAAAAEAAACkgQ4cAgBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1yZXNldC1zdGRlcnIudHh0
VVQFAAOSichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAga04SxYenQd2AQAAEgUAADwAGAAA
AAAAAQAAAKSB6B0CAGZhc3QvZm9ybXMvZmlsZS9maWxlLWlucHV0LXJlc2V0LXVzaW5nLW9wZW4t
cGFuZWwtc3RkZXJyLnR4dFVUBQADkonIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIKtOEuW
5RKvdwEAABIFAAAvABgAAAAAAAEAAACkgdQfAgBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNldC1p
bi1jaGFuZ2Utc3RkZXJyLnR4dFVUBQADk4nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIKt
OEuT19VWcQEAABIFAABAABgAAAAAAAEAAACkgbQhAgBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNl
dC1pbi1jaGFuZ2UtdXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0VVQFAAOTichZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAg604S0wm0SSFAQAAkAUAAC8AGAAAAAAAAQAAAKSBnyMCAGZhc3Qv
Zm9ybXMvZmlsZS9pbnB1dC1maWxlLXJlLXJlbmRlci1zdGRlcnIudHh0VVQFAAOWichZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAg604S7HXLK5yAQAAEgUAACsAGAAAAAAAAQAAAKSBjSUCAGZh
c3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXZhbHVlLXN0ZGVyci50eHRVVAUAA5aJyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACDrThLIiuH7HcBAAASBQAAPAAYAAAAAAABAAAApIFkJwIAZmFz
dC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtdmFsdWUtdXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0
VVQFAAOWichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhK04SyN+IAOcAQAAJAoAADEAGAAA
AAAAAQAAAKSBUSkCAGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLXdyaXRlLWZpbGVzLXN0ZGVy
ci50eHRVVAUAA5eJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACDrThLmwzlXp4BAAAkCgAA
QgAYAAAAAAABAAAApIFYKwIAZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtd3JpdGUtZmlsZXMt
dXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0VVQFAAOWichZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAhK04S9gq7v2uAQAA/AoAADwAGAAAAAAAAQAAAKSBci0CAGZhc3QvZm9ybXMvZmlsZS9z
ZWxlY3RlZC1maWxlcy1mcm9tLWhpc3Rvcnktc3RhdGUtc3RkZXJyLnR4dFVUBQADl4nIWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAL2tOEsAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQZYvAgBm
YXN0L2ZyYW1lcy9VVAUAAwaKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9rThLgBgNpqcA
AADSAAAALwAYAAAAAAABAAAApIHcLwIAZmFzdC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1zdG9y
YWdlLXN0ZGVyci50eHRVVAUAAwaKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACNrThLAAAA
AAAAAAAAAAAADQAYAAAAAAAAABAA7UHsMAIAZmFzdC9oaXN0b3J5L1VUBQADqYnIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAI2tOEuAGA2mpwAAANIAAABAABgAAAAAAAEAAACkgTMxAgBmYXN0
L2hpc3RvcnkvcGFnZS1jYWNoZS13ZWJkYXRhYmFzZS1uby10cmFuc2FjdGlvbi1kYi1zdGRlcnIu
dHh0VVQFAAOpichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlK04SwAAAAAAAAAAAAAAAAwA
GAAAAAAAAAAQAO1BVDICAGZhc3QvaW1hZ2VzL1VUBQADuInIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAJStOEshj704MgAAADMAAAAsABgAAAAAAAEAAACkgZoyAgBmYXN0L2ltYWdlcy9wZGYt
YXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUBQADuInIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAKWtOEsAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQTIzAgBmYXN0L3RleHQvVVQFAAPV
ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApa04S496WmN5AQAAgwkAACMAGAAAAAAAAQAA
AKSBdjMCAGZhc3QvdGV4dC9lbW9qaS1nZW5kZXItMi1zdGRlcnIudHh0VVQFAAPVichZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAm604SwAAAAAAAAAAAAAAABcAGAAAAAAAAAAQAO1BTDUCAGZh
c3QvdGV4dC9mb250LWRpc3BsYXkvVVQFAAPGichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
m604Sz9dHeSjAAAA3wAAACcAGAAAAAAAAQAAAKSBnTUCAGZhc3QvdGV4dC9mb250LWRpc3BsYXkv
cGFyc2Utc3RkZXJyLnR4dFVUBQADxonIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALOtOEsA
AAAAAAAAAAAAAAANABgAAAAAAAAAEADtQaE2AgBmYXN0L3dvcmtlcnMvVVQFAAPxichZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAs604S96ipYiOAQAA0AUAADMAGAAAAAAAAQAAAKSB6DYCAGZh
c3Qvd29ya2Vycy93b3JrZXItY29weS1zaGFyZWQtYmxvYi11cmwtc3RkZXJyLnR4dFVUBQAD8YnI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKqtOEsAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADt
QeM4AgBmYXN0L3hzbC9VVAUAA9+JyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACmrThLTvsg
+IgAAADnAAAAJQAYAAAAAAABAAAApIEmOQIAZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3Rk
ZXJyLnR4dFVUBQAD2InIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKetOEv9oi5kjwAAAO4A
AAAnABgAAAAAAAEAAACkgQ06AgBmYXN0L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50
eHRVVAUAA9qJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACnrThLsrvGZ4cAAAA0AQAAJAAY
AAAAAAABAAAApIH9OgIAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQFAAPa
ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAqq04S8Lr9caMAAAAYAEAADQAGAAAAAAAAQAA
AKSB4jsCAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50
eHRVVAUAA9+JyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABorzhL+LQfc18BAABSAgAAEQAY
AAAAAAABAAAApIHcPAIAZnVsbF9yZXN1bHRzLmpzb25VVAUAAySNyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACprThLAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UGGPgIAaHR0cC9VVAUAA96J
yFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD1rThLAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA
7UHFPgIAaHR0cC90ZXN0cy9VVAUAA22KyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACqrThL
AAAAAAAAAAAAAAAALwAYAAAAAAAAABAA7UEKPwIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRp
b25hdHRhY2htZW50c2FuZGJveC9VVAUAA+CJyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAACq
rThLdSCEqj4AAAA+AAAAUQAYAAAAAAABAAAApIFzPwIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9z
aXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC1zdGRlcnIudHh0
VVQFAAPgichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAqa04S3UghKo+AAAAPgAAAGoAGAAA
AAAAAQAAAKSBPEACAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9uYXR0YWNobWVudHNhbmRi
b3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVyZXItYWx3YXlzLXN0ZGVy
ci50eHRVVAUAA96JyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAACprThLdSCEqj4AAAA+AAAA
awAYAAAAAAABAAAApIEeQQIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50
c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1kZWZhdWx0
LXN0ZGVyci50eHRVVAUAA96JyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAACprThLdSCEqj4A
AAA+AAAAaQAYAAAAAAABAAAApIEBQgIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRh
Y2htZW50c2FuZGJveC9yZWZlcmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1u
ZXZlci1zdGRlcnIudHh0VVQFAAPeichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAqq04S3Ug
hKo+AAAAPgAAAG8AGAAAAAAAAQAAAKSB4kICAGh0dHAvdGVzdHMvY29udGVudGRpc3Bvc2l0aW9u
YXR0YWNobWVudHNhbmRib3gvcmVmZXJlci1oZWFkZXItc3RyaXBwZWQtd2l0aC1tZXRhLXJlZmVy
ZXItbm8tcmVmZXJyZXItc3RkZXJyLnR4dFVUBQAD34nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AgAAAKqtOEt1IISqPgAAAD4AAAB+ABgAAAAAAAEAAACkgclDAgBodHRwL3Rlc3RzL2NvbnRlbnRk
aXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgt
bWV0YS1yZWZlcmVyLW5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlLXN0ZGVyci50eHRVVAUAA9+J
yFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAACqrThLdSCEqj4AAAA+AAAAagAYAAAAAAABAAAA
pIG/RAIAaHR0cC90ZXN0cy9jb250ZW50ZGlzcG9zaXRpb25hdHRhY2htZW50c2FuZGJveC9yZWZl
cmVyLWhlYWRlci1zdHJpcHBlZC13aXRoLW1ldGEtcmVmZXJlci1vcmlnaW4tc3RkZXJyLnR4dFVU
BQAD34nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAKqtOEt1IISqPgAAAD4AAABuABgAAAAA
AAEAAACkgaFFAgBodHRwL3Rlc3RzL2NvbnRlbnRkaXNwb3NpdGlvbmF0dGFjaG1lbnRzYW5kYm94
L3JlZmVyZXItaGVhZGVyLXN0cmlwcGVkLXdpdGgtbWV0YS1yZWZlcmVyLXVuc2FmZS11cmwtc3Rk
ZXJyLnR4dFVUBQAD34nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALCtOEsAAAAAAAAAAAAA
AAARABgAAAAAAAAAEADtQYdGAgBodHRwL3Rlc3RzL2xvY2FsL1VUBQAD7InIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAALCtOEsAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQdJGAgBodHRwL3Rl
c3RzL2xvY2FsL2Jsb2IvVVQFAAPsichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsK04S72b
4dR8AQAAdAUAADEAGAAAAAAAAQAAAKSBIkcCAGh0dHAvdGVzdHMvbG9jYWwvYmxvYi9zZW5kLWh5
YnJpZC1ibG9iLXN0ZGVyci50eHRVVAUAA+yJyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACw
rThLWak4qX4BAAB0BQAAQgAYAAAAAAABAAAApIEJSQIAaHR0cC90ZXN0cy9sb2NhbC9ibG9iL3Nl
bmQtaHlicmlkLWJsb2ItdXNpbmctb3Blbi1wYW5lbC1zdGRlcnIudHh0VVQFAAPsichZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAA6K04SwAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BA0sCAGh0
dHAvdGVzdHMvbWlzYy9VVAUAA1SKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9rThLezZg
gucAAABlAQAALQAYAAAAAAABAAAApIFNSwIAaHR0cC90ZXN0cy9taXNjL2NvcHktcmVzb2x2ZXMt
dXJscy1zdGRlcnIudHh0VVQFAAMFishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwq04S48c
pP+lAAAAIAMAAC4AGAAAAAAAAQAAAKSBm0wCAGh0dHAvdGVzdHMvbWlzYy9lbXB0eS1maWxlLWZv
cm1kYXRhLXN0ZGVyci50eHRVVAUAAwyKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADorThL
FTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIGoTQIAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWlt
cG9ydC1zdGRlcnIudHh0VVQFAANUishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9q04SwAA
AAAAAAAAAAAAABQAGAAAAAAAAAAQAO1Bhk4CAGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAANvishZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtq04SwAAAAAAAAAAAAAAAB4AGAAAAAAAAAAQAO1B
1E4CAGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL1VUBQAD94nIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALatOEsCZ7i7gwIAALQzAAA+ABgAAAAAAAEAAACkgSxPAgBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3Mtc3RkZXJyLnR4dFVUBQAD
94nIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANWtOEsAAAAAAAAAAAAAAAAqABgAAAAAAAAA
EADtQSdSAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAUAAzKK
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC5rThL+8/PB7YAAAD4AAAAQgAYAAAAAAABAAAA
pIGLUgIAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvYmxvY2stZmF2
aWNvbi1zdGRlcnIudHh0VVQFAAP9ichZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1a04S2Oq
rGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBvVMCAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAAzKKyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADVrThLY6qsbIIAAACoAAAAUgAYAAAAAAABAAAApIG5VAIAaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUt
c3JjLTItc3RkZXJyLnR4dFVUBQADMorIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM2tOEu9
bEHFrQAAAKQBAAA6ABgAAAAAAAEAAACkgcdVAgBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nyb3NzLW9y
aWdpbi13ZWJzcWwtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAMhishZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAza04S4AYDaanAAAA0gAAADIAGAAAAAAAAQAAAKSB6FYCAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY3Jvc3Mtb3JpZ2luLXdlYnNxbC1zdGRlcnIudHh0VVQFAAMiishZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA6K04S4AYDaanAAAA0gAAAD8AGAAAAAAAAQAAAKSB+1cCAGh0dHAvdGVz
dHMvc2VjdXJpdHkvc3RvcmFnZS1ibG9ja2luZy1sb29zZW5lZC13ZWJzcWwtc3RkZXJyLnR4dFVU
BQADVIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOmtOEuAGA2mpwAAANIAAABDABgAAAAA
AAEAAACkgRtZAgBodHRwL3Rlc3RzL3NlY3VyaXR5L3N0b3JhZ2UtYmxvY2tpbmctc3RyZW5ndGhl
bmVkLXdlYnNxbC1zdGRlcnIudHh0VVQFAANVishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
9q04S2BLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSBP1oCAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNz
LURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADb4rIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMGtOEsAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQU9b
AgBodHRwL3Rlc3RzL3N0b3JhZ2UvVVQFAAMJishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
wa04S4AYDaanAAAA0gAAAEUAGAAAAAAAAQAAAKSBnFsCAGh0dHAvdGVzdHMvc3RvcmFnZS9jYWxs
YmFja3MtYXJlLWNhbGxlZC1pbi1jb3JyZWN0LWNvbnRleHQtc3RkZXJyLnR4dFVUBQADCYrIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPWtOEsAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQcJc
AgBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L1VUBQADbYrIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPWtOEu9sWhzsQAAAAEBAABBABgAAAAAAAEAAACkgRZdAgBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L3Bvc3QtYmxvYi1jb250ZW50LXR5cGUtYXN5bmMtc3RkZXJyLnR4dFVUBQADbYrI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPWtOEu9sWhzsQAAAAEBAABAABgAAAAAAAEAAACk
gUJeAgBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Bvc3QtYmxvYi1jb250ZW50LXR5cGUtc3lu
Yy1zdGRlcnIudHh0VVQFAANtishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAN604S1sEWA6i
BQAATRAAAAoAGAAAAAAAAQAAAKSBbV8CAGh0dHBkLmNvbmZVVAUAAwqJyFl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAD2rThLAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UFTZQIAaW1wb3J0ZWQv
VVQFAANwishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9q04SwAAAAAAAAAAAAAAAA0AGAAA
AAAAAAAQAO1BlmUCAGltcG9ydGVkL3czYy9VVAUAA3CKyFl1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAOrjhLAAAAAAAAAAAAAAAAIAAYAAAAAAAAABAA7UHdZQIAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9VVAUAA5uKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABQrjhLAAAA
AAAAAAAAAAAAKgAYAAAAAAAAABAA7UE3ZgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9JbmRleGVkREIvVVQFAAMXi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9604S0ZoG9uZ
AAAAxQAAAEgAGAAAAAAAAQAAAKSBm2YCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkYmN1cnNvcl9pdGVyYXRpbmctc3RkZXJyLnR4dFVUBQADcYrIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAWuOEsd0Y8mowAAAE8CAABGABgAAAAAAAEAAACkgbZnAgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJmYWN0b3J5X29wZW4xMS1z
dGRlcnIudHh0VVQFAAOJishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACK44S0ZoG9uZAAAA
xQAAAEMAGAAAAAAAAQAAAKSB2WgCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5k
ZXhlZERCL2lkYmluZGV4X2NvdW50LXN0ZGVyci50eHRVVAUAA4+KyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAHrjhLRmgb25kAAADFAAAARAAYAAAAAAABAAAApIHvaQIAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRiaW5kZXhfY291bnQyLXN0ZGVyci50eHRV
VAUAA46KyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHrjhLRmgb25kAAADFAAAARAAYAAAA
AAABAAAApIEGawIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRi
aW5kZXhfY291bnQzLXN0ZGVyci50eHRVVAUAA46KyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAVrjhLRmgb25kAAADFAAAASQAYAAAAAAABAAAApIEdbAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRib2JqZWN0c3RvcmVfY291bnQtc3RkZXJyLnR4dFVUBQAD
qorIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABWuOEtGaBvbmQAAAMUAAABKABgAAAAAAAEA
AACkgTltAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmpl
Y3RzdG9yZV9jb3VudDItc3RkZXJyLnR4dFVUBQADqorIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABWuOEswPYU3nwAAAIoBAABKABgAAAAAAAEAAACkgVZuAgBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJvYmplY3RzdG9yZV9jb3VudDMtc3RkZXJyLnR4dFVU
BQADqorIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABiuOEtGaBvbmQAAAMUAAABLABgAAAAA
AAEAAACkgXlvAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGJv
YmplY3RzdG9yZV9kZWxldGU1LXN0ZGVyci50eHRVVAUAA6+KyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAhrjhLRmgb25kAAADFAAAATgAYAAAAAAABAAAApIGXcAIAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRidHJhbnNhY3Rpb24tb25jb21wbGV0ZS1zdGRl
cnIudHh0VVQFAAO9ishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAS644S7j6yKGpAAAAKAYA
AEsAGAAAAAAAAQAAAKSBuHECAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL3JlcXVlc3QtZXZlbnQtb3JkZXJpbmctc3RkZXJyLnR4dFVUBQADDYvIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAE2uOEswPYU3nwAAAIoBAABYABgAAAAAAAEAAACkgeZyAgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1jcmVhdGVfaW5f
dmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0VVQFAAMRi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAUK44S0ZoG9uZAAAAxQAAAEYAGAAAAAAAAQAAAKSBF3QCAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL3dyaXRlci1zdGFydmF0aW9uLXN0ZGVyci50eHRVVAUAAxeL
yFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD2rThLAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA
7UEwdQIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQFAANw
ishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAKa44SwAAAAAAAAAAAAAAADkAGAAAAAAAAAAQ
AO1Bl3UCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVy
YXRlS2V5L1VUBQADzYrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPatOEuPNBpwRAAAAKAJ
AABcABgAAAAAAAEAAACkgQp2AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNy
eXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4dFVU
BQADcIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPytOEtUAsmyNgAAAMACAABlABgAAAAA
AAEAAACkgeR2AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9n
ZW5lcmF0ZUtleS9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS53b3JrZXItc3RkZXJyLnR4dFVU
BQADe4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB2uOEvhgoboSQAAAGAMAABXABgAAAAA
AAEAAACkgbl3AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9n
ZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzLmh0dHBzLXN0ZGVyci50eHRVVAUAA7mKyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAmrjhLjzQacEQAAACgCQAAYAAYAAAAAAABAAAApIGTeAIAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVz
dF9mYWlsdXJlc19SU0EtT0FFUC5odHRwcy1zdGRlcnIudHh0VVQFAAPIishZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAKa44S1QCybI2AAAAwAIAAGkAGAAAAAAAAQAAAKSBcXkCAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFp
bHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUuaHR0cHMtc3RkZXJyLnR4dFVUBQADzYrIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAA6uOEsAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQUp6AgBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9VVAUAA5uKyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAAAQrjhLAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UGoegIAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvVVQFAAOgishZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgADq44S1oU3s5oAgAAwBwAAEsAGAAAAAAAAQAAAKSBDHsCAGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtYWN0dWFs
LnR4dFVUBQADm4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA6uOEuFWzbIDAIAAC0SAABJ
ABgAAAAAAAEAAACkgfl9AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LWRpZmYudHh0VVQFAAObishZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgADq44Sx/C0pQbAgAAfBoAAE0AGAAAAAAAAQAAAKSBiIACAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhw
ZWN0ZWQudHh0VVQFAAObishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADq44S5osEbm3CgAA
MGsAAFEAGAAAAAAAAQAAAKSBKoMCAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtcHJldHR5LWRpZmYuaHRtbFVUBQADnIrIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABCuOEvdgyTJ6wgAABzIAABNABgAAAAAAAEAAACkgWyO
AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVh
dGVFbGVtZW50TlMtYWN0dWFsLnR4dFVUBQADoIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ABCuOEszwlNNEQQAAJ87AABLABgAAAAAAAEAAACkgd6XAgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAUA
A6CKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQrjhLXewPiY8IAADkwwAATwAYAAAAAAAB
AAAApIF0nAIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1l
bnQtY3JlYXRlRWxlbWVudE5TLWV4cGVjdGVkLnR4dFVUBQADoIrIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIABCuOEscStfpkQ8AAE7hAABTABgAAAAAAAEAAACkgYylAgBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtcHJl
dHR5LWRpZmYuaHRtbFVUBQADoIrIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABCuOEsAAAAA
AAAAAAAAAAAmABgAAAAAAAAAEADtQaq1AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL1VUBQADn4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAyuOEsAAAAAAAAAAAAA
AAAqABgAAAAAAAAAEADtQQq2AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9VVAUAA5iKyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAUrjhLAAAAAAAAAAAAAAAA
LwAYAAAAAAAAABAA7UFutgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvY29ycy9VVAUAA6eKyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAMrjhLUI5rbAkCAAC9
DAAASQAYAAAAAAABAAAApIHXtgIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvY29ycy9jb3JzLW9yaWdpbi5hbnktc3RkZXJyLnR4dFVUBQADmIrIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABCuOEv4tQqb1gIAAJgSAABTABgAAAAAAAEAAACkgWO5AgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LXN0
YXR1cy5hbnktc3RkZXJyLnR4dFVUBQADn4rIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABGu
OEvPzLpInAEAAN4FAABMABgAAAAAAAEAAACkgca8AgBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcHJlZmxpZ2h0LmFueS1zdGRlcnIudHh0VVQFAAOh
ishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFK44S/cNiR3KAgAAvxMAAFUAGAAAAAAAAQAA
AKSB6L4CAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29y
cy1yZWRpcmVjdC1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAUAA6eKyFl1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAAQrjhLAAAAAAAAAAAAAAAALgAYAAAAAAAAABAA7UFBwgIAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL1VUBQADoIrIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABCuOEvNDyDfmwAAAMYAAABIABgAAAAAAAEAAACkganCAgBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvcGFyc2luZy1ub3NuaWZmLXN0
ZGVyci50eHRVVAUAA5+KyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQrjhLd6mn164AAADs
AgAAPwAYAAAAAAABAAAApIHGwwIAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9ub3NuaWZmL3NjcmlwdC1zdGRlcnIudHh0VVQFAAOgishZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAEK44S+vMrsuzAAAA+AIAAEMAGAAAAAAAAQAAAKSB7cQCAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9zdHlsZXNoZWV0LXN0ZGVyci50eHRVVAUAA6CK
yFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABQrjhLAAAAAAAAAAAAAAAACgAYAAAAAAAAABAA
7UEdxgIAaW5zcGVjdG9yL1VUBQADGIvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFCuOEsA
AAAAAAAAAAAAAAASABgAAAAAAAAAEADtQWHGAgBpbnNwZWN0b3IvcnVudGltZS9VVAUAAxiLyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQrjhLgBgNpqcAAADSAAAAMwAYAAAAAAABAAAApIGt
xgIAaW5zcGVjdG9yL3J1bnRpbWUvQ29tbWFuZExpbmVBUEktaW5zcGVjdC1zdGRlcnIudHh0VVQF
AAMYi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAB684SwAAAAAAAAAAAAAAAAMAGAAAAAAA
AAAQAO1BwccCAGpzL1VUBQADbozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKGuOEsAAAAA
AAAAAAAAAAAHABgAAAAAAAAAEADtQf7HAgBqcy9kb20vVVQFAAOui8hZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAYa44S4AYDaanAAAA0gAAADUAGAAAAAAAAQAAAKSBP8gCAGpzL2RvbS9jYWxs
YmFjay1mdW5jdGlvbi13aXRoLWhhbmRsZS1ldmVudC1zdGRlcnIudHh0VVQFAAM2i8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAoa44S4AYDaanAAAA0gAAADAAGAAAAAAAAQAAAKSBVckCAGpz
L2RvbS9leGNlcHRpb25zLXRocm93bi1pbi1jYWxsYmFja3Mtc3RkZXJyLnR4dFVUBQADrovIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAevOEsh/FDmVgEAAMgPAAAcABgAAAAAAAEAAACkgWbK
AgBqcy9yZWdleHAtdW5pY29kZS1zdGRlcnIudHh0VVQFAANujMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAgK44SwAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BEswCAHBsYXRmb3JtL1VUBQAD
cIvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAICuOEsAAAAAAAAAAAAAAAANABgAAAAAAAAA
EADtQVXMAgBwbGF0Zm9ybS9tYWMvVVQFAANwi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
gK44SwAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BnMwCAHBsYXRmb3JtL21hYy93ZWJydGMvVVQF
AANwi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgK44S7o41v8SAgAAEwcAAEQAGAAAAAAA
AQAAAKSB6swCAHBsYXRmb3JtL21hYy93ZWJydGMvY2FwdHVyZUNhbnZhcy13ZWJydGMtc29mdHdh
cmUtZW5jb2Rlci1zdGRlcnIudHh0VVQFAANwi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
ha44SwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1Bes8CAHBsdWdpbnMvVVQFAAN5i8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAha44S0P43r6vAAAA8QAAAC8AGAAAAAAAAQAAAKSBvM8CAHBs
dWdpbnMvbW91c2UtY2xpY2staWZyYW1lLXRvLXBsdWdpbi1zdGRlcnIudHh0VVQFAAN5i8hZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1604S4AXgERmAgAAohUAABoAGAAAAAAAAQAAAKSB1NAC
AHB5d2Vic29ja2V0LndzLmxvZy1lcnIudHh0VVQFAAM2ishZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAya04S/AiCnkJAQAAjwIAABoAGAAAAAAAAQAAAKSBjtMCAHB5d2Vic29ja2V0LndzLmxv
Zy1vdXQudHh0VVQFAAMZishZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAOK04SwAAAAAAAAAA
AAAAABsAGAAAAAAAAAAAAKSB69QCAHB5d2Vic29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQADDInI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADitOEsAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACk
gUDVAgBweXdlYnNvY2tldC53c3MubG9nLW91dC50eHRVVAUAAwyJyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABorzhLj8pSWnEpAADGrwAADAAYAAAAAAABAAAApIGV1QIAcmVzdWx0cy5odG1s
VVQFAAMkjchZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUK84SwAAAAAAAAAAAAAAAAgAGAAA
AAAAAAAQAO1BTP8CAHJldHJpZXMvVVQFAAP4jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
UK84SwAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1Bjv8CAHJldHJpZXMvaW1wb3J0ZWQvVVQFAAP4
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUK84SwAAAAAAAAAAAAAAABUAGAAAAAAAAAAQ
AO1B2f8CAHJldHJpZXMvaW1wb3J0ZWQvdzNjL1VUBQAD+IzIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAFCvOEsAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQSgAAwByZXRyaWVzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvVVQFAAP4jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAUK84SwAAAAAAAAAAAAAAACwAGAAAAAAAAAAQAO1BigADAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vVVQFAAP4jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAUa84SwAAAAAAAAAAAAAAADIAGAAAAAAAAAAQAO1B8AADAHJldHJpZXMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvVVQFAAP6jMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAUK84S2qqkqRdAgAA0BsAAFMAGAAAAAAAAQAAAKSBXAEDAHJldHJpZXMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVu
dC1hY3R1YWwudHh0VVQFAAP4jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUK84S99FkIzv
AQAAJBAAAFEAGAAAAAAAAQAAAKSBRgQDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudC1kaWZmLnR4dFVUBQAD+IzI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFCvOEsfwtKUGwIAAHwaAABVABgAAAAAAAEAAACk
gcAGAwByZXRyaWVzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0Rv
Y3VtZW50LWNyZWF0ZUVsZW1lbnQtZXhwZWN0ZWQudHh0VVQFAAP4jMhZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAUK84S1DYwj7KCgAABWQAAFkAGAAAAAAAAQAAAKSBagkDAHJldHJpZXMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxl
bWVudC1wcmV0dHktZGlmZi5odG1sVVQFAAP4jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
Ua84S92DJMnrCAAAHMgAAFUAGAAAAAAAAQAAAKSBxxQDAHJldHJpZXMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVudE5TLWFjdHVh
bC50eHRVVAUAA/qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABRrzhL4/KWjxcEAACvOwAA
UwAYAAAAAAABAAAApIFBHgMAcmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50TlMtZGlmZi50eHRVVAUAA/qMyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABRrzhLXewPiY8IAADkwwAAVwAYAAAAAAABAAAApIHlIgMA
cmV0cmllcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVu
dC1jcmVhdGVFbGVtZW50TlMtZXhwZWN0ZWQudHh0VVQFAAP6jMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAUa84S3+LTE+WDwAAVuEAAFsAGAAAAAAAAQAAAKSBBSwDAHJldHJpZXMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxlbWVu
dE5TLXByZXR0eS1kaWZmLmh0bWxVVAUAA/qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABo
rzhL8DRMkpmoCQCbdjIACgAYAAAAAAABAAAApIEwPAMAc3RhdHMuanNvblVUBQADJI3IWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAALeuOEsAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQQ3lDABz
dG9yYWdlL1VUBQAD2YvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAByvOEsAAAAAAAAAAAAA
AAASABgAAAAAAAAAEADtQU/lDABzdG9yYWdlL2luZGV4ZWRkYi9VVAUAA5eMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADarjhLHdGPJqMAAABPAgAAKQAYAAAAAAABAAAApIGb5QwAc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLXN0ZGVyci50eHRVVAUAAxyMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADarjhLHdGPJqMAAABPAgAAMQAYAAAAAAABAAAApIGh5gwAc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLXdvcmtlcnMtc3RkZXJyLnR4dFVUBQADG4zIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIANuuOEttTbKdrwAAAAEKAAAoABgAAAAAAAEAAACkga/nDABzdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1jb3VudC1zdGRlcnIudHh0VVQFAAMdjMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA4a44S9bDpg6kAAAAFAMAAC0AGAAAAAAAAQAAAKSBwOgMAHN0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LW11bHRpZW50cnktc3RkZXJyLnR4dFVUBQADJozIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAOKuOEtGaBvbmQAAAMUAAAAtABgAAAAAAAEAAACkgcvpDABzdG9yYWdl
L2luZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLXN0ZGVyci50eHRVVAUAAyeMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADmrjhLdSEreuYFAAAxMgAARQAYAAAAAAAAAAAApIHL6gwAc3RvcmFn
ZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVuLWluLXVwZ3JhZGVuZWVkZWQtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAAMwjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5q44SzVHOPT2BQAA3jUA
AD0AGAAAAAAAAAAAAKSBMPEMAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tb3Blbi1pbi11
cGdyYWRlbmVlZGVkLXN0ZGVyci50eHRVVAUAAzCMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADmrjhL3PKzsIMEAADeGAAAQQAYAAAAAAAAAAAApIGd9wwAc3RvcmFnZS9pbmRleGVkZGIvaW50
dmVyc2lvbi1vcGVuLXdpdGgtdmVyc2lvbi1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzCMyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADnrjhLbsJYnWoEAABVGAAAOQAYAAAAAAAAAAAApIGb/AwA
c3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1vcGVuLXdpdGgtdmVyc2lvbi1zdGRlcnIudHh0
VVQFAAMxjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5644S+0vYZMkBQAA9jsAAFEAGAAA
AAAAAAAAAKSBeAENAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcGVuZGluZy12ZXJzaW9u
LWNoYW5nZXMtYXNjZW5kaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADMYzIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAOeuOEubDYM2SQUAAA89AABJABgAAAAAAAAAAACkgScHDQBzdG9yYWdl
L2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlbmRpbmctdmVyc2lvbi1jaGFuZ2VzLWFzY2VuZGluZy1z
dGRlcnIudHh0VVQFAAMyjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5644S3iEvVkKBQAA
/y4AAFIAGAAAAAAAAAAAAKSB8wwNAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcGVuZGlu
Zy12ZXJzaW9uLWNoYW5nZXMtZGVzY2VuZGluZy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzKMyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADnrjhL7ZyHZBgFAAAbLAAASgAYAAAAAAAAAAAApIGJ
Eg0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdlcy1k
ZXNjZW5kaW5nLXN0ZGVyci50eHRVVAUAAzKMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADo
rjhLELLEZtkEAAA8KwAATAAYAAAAAAAAAAAApIElGA0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVy
c2lvbi1wZW5kaW5nLXZlcnNpb24tY2hhbmdlcy1zYW1lLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
M4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOiuOEtvFKq3GgUAACkwAABEABgAAAAAAAAA
AACkgYQdDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlbmRpbmctdmVyc2lvbi1jaGFu
Z2VzLXNhbWUtc3RkZXJyLnR4dFVUBQADM4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOiu
OEudAkmhVwQAAEcdAAA7ABgAAAAAAAAAAACkgRwjDQBzdG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJz
aW9uLXBlcnNpc3RlbmNlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADM4zIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOiuOEtUsL16FQQAAFQaAAAzABgAAAAAAAAAAACkgegnDQBzdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlcnNpc3RlbmNlLXN0ZGVyci50eHRVVAUAAzSMyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADorjhLrwPOZoUFAAAkLQAAPwAYAAAAAAAAAAAApIFqLA0Ac3Rv
cmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1yZXZlcnQtb24tYWJvcnQtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAM0jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6K44SwAYSFWTBQAAui4AADcA
GAAAAAAAAAAAAKSBaDINAHN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tcmV2ZXJ0LW9uLWFi
b3J0LXN0ZGVyci50eHRVVAUAAzSMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADprjhLvE8X
6hUEAAARGgAARQAYAAAAAAAAAAAApIFsOA0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi10
d28tb3BlbnMtbm8tdmVyc2lvbnMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAM1jMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA6a44S2h/A1U0BAAA3xsAAD0AGAAAAAAAAAAAAKSBAD0NAHN0b3Jh
Z2UvaW5kZXhlZGRiL2ludHZlcnNpb24tdHdvLW9wZW5zLW5vLXZlcnNpb25zLXN0ZGVyci50eHRV
VAUAAzWMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADprjhL5jRxy1sFAABiRwAAOAAYAAAA
AAAAAAAApIGrQQ0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi11cGdyYWRlcy1wcml2YXRl
LXN0ZGVyci50eHRVVAUAAzaMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADprjhLHDy8FosF
AABjSQAAMAAYAAAAAAAAAAAApIF4Rw0Ac3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi11cGdy
YWRlcy1zdGRlcnIudHh0VVQFAAM2jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6q44S5YV
UG5HAwAAqREAADEAGAAAAAAAAAAAAKSBbU0NAHN0b3JhZ2UvaW5kZXhlZGRiL2ludmFsaWQta2V5
cy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzeMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADq
rjhLPU1O1eIDAABsEwAAKQAYAAAAAAAAAAAApIEfUQ0Ac3RvcmFnZS9pbmRleGVkZGIvaW52YWxp
ZC1rZXlzLXN0ZGVyci50eHRVVAUAAzeMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqrjhL
oAeKpJEOAADWxwEAMgAYAAAAAAAAAAAApIFkVQ0Ac3RvcmFnZS9pbmRleGVkZGIva2V5LWdlbmVy
YXRvci1wcml2YXRlLXN0ZGVyci50eHRVVAUAAziMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADsrjhLgLRum/cOAAD7ywEAKgAYAAAAAAAAAAAApIFhZA0Ac3RvcmFnZS9pbmRleGVkZGIva2V5
LWdlbmVyYXRvci1zdGRlcnIudHh0VVQFAAM7jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
7K44S2+PP35bBQAAxToAAEAAGAAAAAAAAAAAAKSBvHMNAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS1z
b3J0LW9yZGVyLWFjcm9zcy10eXBlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzuMyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADsrjhLMxWuImUGAACMRQAAOAAYAAAAAAAAAAAApIGReQ0Ac3Rv
cmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItYWNyb3NzLXR5cGVzLXN0ZGVyci50eHRVVAUA
AzyMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsrjhLqgrja4gFAADRNAAAOAAYAAAAAAAA
AAAApIFogA0Ac3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0ZS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAAzyMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsrjhLHvu8nUIGAABa
PAAAMAAYAAAAAAAAAAAApIFihg0Ac3RvcmFnZS9pbmRleGVkZGIva2V5LXNvcnQtb3JkZXItZGF0
ZS1zdGRlcnIudHh0VVQFAAM8jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7a44S8sWxCBo
CAAADtsAADMAGAAAAAAAAAAAAKSBDo0NAHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADPozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO2u
OEtmI4FRQQYAAANBAAA0ABgAAAAAAAAAAACkgeOVDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlw
ZS1iaW5hcnktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAM+jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA7q44S0jTxJgPBgAAY0IAACwAGAAAAAAAAAAAAKSBkpwNAHN0b3JhZ2UvaW5kZXhlZGRi
L2tleS10eXBlLWJpbmFyeS1zdGRlcnIudHh0VVQFAAM/jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA7q44S2T27idhBAAAGBoAADYAGAAAAAAAAAAAAKSBB6MNAHN0b3JhZ2UvaW5kZXhlZGRi
L2tleS10eXBlLWluZmluaXR5LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADP4zIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAO6uOEuCdO6F4QQAAMMcAAAuABgAAAAAAAAAAACkgdinDQBzdG9yYWdl
L2luZGV4ZWRkYi9rZXktdHlwZS1pbmZpbml0eS1zdGRlcnIudHh0VVQFAANAjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA7q44S9lz/mx6BwAA+j0AADMAGAAAAAAAAAAAAKSBIa0NAHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleXBhdGgtYXJyYXlzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADQIzIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO+uOEt+bGfysgcAAM5AAAArABgAAAAAAAAAAACkgQi1
DQBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWFycmF5cy1zdGRlcnIudHh0VVQFAANBjMhZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8K44S8FbDbgZBAAAv2IAADMAGAAAAAAAAAAAAKSBH70N
AHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtYmFzaWNzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
Q4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPGuOEuIIlqHPAUAAPOmAAArABgAAAAAAAAA
AACkgaXBDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWJhc2ljcy1zdGRlcnIudHh0VVQFAANF
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8a44S5OKNEroBgAAGYAAADIAGAAAAAAAAAAA
AKSBRscNAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZWRnZXMtcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAANGjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8a44S8IULir4BQAAGDsAACoAGAAA
AAAAAAAAAKSBms4NAHN0b3JhZ2UvaW5kZXhlZGRiL2tleXBhdGgtZWRnZXMtc3RkZXJyLnR4dFVU
BQADRozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPKuOEvTgAWMWQUAADRDAAA2ABgAAAAA
AAAAAACkgfbUDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWZldGNoLWtleS1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA0eMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADyrjhL5pQKoU0GAADP
SQAALgAYAAAAAAAAAAAApIG/2g0Ac3RvcmFnZS9pbmRleGVkZGIva2V5cGF0aC1mZXRjaC1rZXkt
c3RkZXJyLnR4dFVUBQADR4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPKuOEtiTrUL8QcA
AMRoAABBABgAAAAAAAAAAACkgXThDQBzdG9yYWdlL2luZGV4ZWRkYi9rZXlwYXRoLWludHJpbnNp
Yy1wcm9wZXJ0aWVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADSIzIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAPKuOEs/MyTudwgAAK14AAA5ABgAAAAAAAAAAACkgeDpDQBzdG9yYWdlL2luZGV4
ZWRkYi9rZXlwYXRoLWludHJpbnNpYy1wcm9wZXJ0aWVzLXN0ZGVyci50eHRVVAUAA0iMyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADzrjhLGuoel/kAAAD5AgAALQAYAAAAAAAAAAAApIHK8g0A
c3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANJjMhZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9K44Sxcn/KYICQAAS4sAADoAGAAAAAAAAAAAAKSBKvQN
AHN0b3JhZ2UvaW5kZXhlZGRiL2xhenktaW5kZXgtcG9wdWxhdGlvbi1wcml2YXRlLXN0ZGVyci50
eHRVVAUAA0uMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD0rjhLJLR9NrUJAAA4kQAAMgAY
AAAAAAAAAAAApIGm/Q0Ac3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC1wb3B1bGF0aW9uLXN0
ZGVyci50eHRVVAUAA0yMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1rjhLYdtsTbQHAACY
ZAAANQAYAAAAAAAAAAAApIHHBw4Ac3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRleC10eXBlcy1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA02MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD1rjhL
RIbGNK8IAAABewAALQAYAAAAAAAAAAAApIHqDw4Ac3RvcmFnZS9pbmRleGVkZGIvbGF6eS1pbmRl
eC10eXBlcy1zdGRlcnIudHh0VVQFAANOjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9a44
S4YkB178AAAA+QIAADUAGAAAAAAAAAAAAKSBABkOAHN0b3JhZ2UvaW5kZXhlZGRiL2xlZ2FjeS1j
b25zdGFudHMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANOjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA9a44S9taZXrjBQAAZZkAADIAGAAAAAAAAAAAAKSBaxoOAHN0b3JhZ2UvaW5kZXhlZGRi
L2xpc3Qtb3JkZXJpbmctcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANOjMhZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA9q44S7jjqMGvBgAAV5oAACoAGAAAAAAAAAAAAKSBuiAOAHN0b3JhZ2UvaW5k
ZXhlZGRiL2xpc3Qtb3JkZXJpbmctc3RkZXJyLnR4dFVUBQADT4zIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAPauOEv87ihPjQYAAA9ZAAAtABgAAAAAAAAAAACkgc0nDgBzdG9yYWdlL2luZGV4
ZWRkYi9tZXRhZGF0YS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1CMyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAD2rjhLdESB0lgFAABLIQAAMgAYAAAAAAAAAAAApIHBLg4Ac3RvcmFnZS9pbmRl
eGVkZGIvbWV0YWRhdGEtcmFjZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1CMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAD2rjhLa8hi/kMGAAAlJgAAKgAYAAAAAAAAAAAApIGFNA4Ac3RvcmFn
ZS9pbmRleGVkZGIvbWV0YWRhdGEtcmFjZS1zdGRlcnIudHh0VVQFAANQjMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA9644S1tp5nVBBwAA+VsAACUAGAAAAAAAAAAAAKSBLDsOAHN0b3JhZ2Uv
aW5kZXhlZGRiL21ldGFkYXRhLXN0ZGVyci50eHRVVAUAA1GMyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAD3rjhLAAAAAAAAAAAAAAAAGQAYAAAAAAAAABAA7UHMQg4Ac3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL1VUBQADUYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALeuOEszITYWHAcA
APp0AAA3ABgAAAAAAAAAAACkgR9DDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYXV0b2luY3Jl
bWVudC1hYm9ydC1zdGRlcnIudHh0VVQFAAPZi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
t644S+N3/XdGBQAAeSAAADUAGAAAAAAAAAAAAKSBrEoOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9iYXNpYy1hZGQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPai8hZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAuK44S3JQxexSBQAAMyAAAC0AGAAAAAAAAAAAAKSBYVAOAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9iYXNpYy1hZGQtc3RkZXJyLnR4dFVUBQAD24vIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALiuOEtZDc3gHAUAAO0cAAA1ABgAAAAAAAAAAACkgRpWDgBzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vYmFzaWMtcHV0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD3IvIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALmuOEtxnRetJwUAAJ8dAAAtABgAAAAAAAAAAACkgaVbDgBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmFzaWMtcHV0LXN0ZGVyci50eHRVVAUAA92LyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC5rjhLq/tGTk4GAAC+MQAAOQAYAAAAAAAAAAAApIEzYQ4Ac3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2JpbmFyeS1rZXlzLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAPei8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuq44S9dTpGYYBwAAlzUAADEAGAAAAAAA
AAAAAKSB9GcOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9iaW5hcnkta2V5cy0xLXN0ZGVyci50
eHRVVAUAA9+LyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC8rjhL/ZeEfaMHAAAVSAAALwAY
AAAAAAAAAAAApIF3bw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2ItY3Vyc29yLXN0ZGVy
ci50eHRVVAUAA+SLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9rjhLyG2nI5oKAADcuwAA
LwAYAAAAAAAAAAAApIGDdw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxlLXN0
ZGVyci50eHRVVAUAA+aLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC9rjhLV9pHYyULAABb
vAAANwAYAAAAAAAAAAAApIGGgg4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Jsb2Itc2ltcGxl
LXdvcmtlcnMtc3RkZXJyLnR4dFVUBQAD5YvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCu
OEsBbzXyXAYAAKs3AAAyABgAAAAAAAAAAACkgRyODgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
YmxvYi1zdmctaW1hZ2Utc3RkZXJyLnR4dFVUBQAD54vIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAMCuOEs94vrFmgYAAAw2AABEABgAAAAAAAAAAACkgeSUDgBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vYmxvY2tlZC1vcGVuLWRiLXJlcXVlc3RzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD6IvI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMCuOEv5CUOHAwcAAPc2AAA8ABgAAAAAAAAAAACk
gfybDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vYmxvY2tlZC1vcGVuLWRiLXJlcXVlc3RzLXN0
ZGVyci50eHRVVAUAA+iLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBrjhLznM/NbQGAAD8
NAAAQQAYAAAAAAAAAAAApIF1ow4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZS1pbmRl
eC1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA+mLyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADBrjhLjSE6IrMGAACWMQAAOQAYAAAAAAAAAAAApIGkqg4Ac3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2NyZWF0ZS1pbmRleC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAPpi8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAwa44S6XrZjNrBgAAQkkAAEMAGAAAAAAAAAAAAKSByrEOAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jcmVhdGVvYmplY3RzdG9yZS1iYXNpYy1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA+qLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBrjhLv6fJJ6UGAADF
SgAAOwAYAAAAAAAAAAAApIGyuA4Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2NyZWF0ZW9iamVj
dHN0b3JlLWJhc2ljLXN0ZGVyci50eHRVVAUAA+qLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADCrjhLmteZtdQEAADOGwAARgAYAAAAAAAAAAAApIHMvw4Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2NyZWF0ZW9iamVjdHN0b3JlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD64vI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMKuOEtH1b5xgwQAAD8ZAAA+ABgAAAAAAAAAAACk
gSDFDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3JlYXRlb2JqZWN0c3RvcmUtZmFpbHVyZXMt
c3RkZXJyLnR4dFVUBQAD64vIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMKuOEs2WdSp8QYA
AIhwAAA0ABgAAAAAAAAAAACkgRvKDgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTEt
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPsi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwq44
S0ymFEh/BwAAqXsAACwAGAAAAAAAAAAAAKSBetEOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9j
dXJzb3ItMS1zdGRlcnIudHh0VVQFAAPsi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAw644
S2wRVvhiBwAAOJQAADQAGAAAAAAAAAAAAKSBX9kOAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9j
dXJzb3ItMi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA+2LyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADDrjhLS+TmYbIHAABLqgAALAAYAAAAAAAAAAAApIEv4Q4Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2N1cnNvci0yLXN0ZGVyci50eHRVVAUAA+6LyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADErjhL1gNmBcEGAACMZgAANAAYAAAAAAAAAAAApIFH6Q4Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2N1cnNvci0zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD74vIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMSuOEvUeJSrWwcAAPF5AAAsABgAAAAAAAAAAACkgXbwDgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTMtc3RkZXJyLnR4dFVUBQAD74vIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMSuOEsDOAAqlwYAAAhgAAA0ABgAAAAAAAAAAACkgTf4DgBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAPwi8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAxa44S2WVcwwqBwAArnAAACwAGAAAAAAAAAAAAKSBPP8OAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNC1zdGRlcnIudHh0VVQFAAPxi8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAxa44Sy89UumBBgAAEDUAADQAGAAAAAAAAAAAAKSBzAYPAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA/GL
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADFrjhL3Fp9SP8GAABNOgAALAAYAAAAAAAAAAAA
pIG7DQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci01LXN0ZGVyci50eHRVVAUAA/KL
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADFrjhL1l5KG4QGAABONQAANAAYAAAAAAAAAAAA
pIEgFQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1cnNvci02LXByaXZhdGUtc3RkZXJyLnR4
dFVUBQAD8ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMauOEvznqPg6wYAAHs5AAAsABgA
AAAAAAAAAACkgRIcDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTYtc3RkZXJyLnR4
dFVUBQAD84vIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMauOEt33A1iJwYAAE8uAAA0ABgA
AAAAAAAAAACkgWMjDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vY3Vyc29yLTctcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAPzi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxq44S6VGhUSfBgAA
IzEAACwAGAAAAAAAAAAAAKSB+CkPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItNy1z
dGRlcnIudHh0VVQFAAP0i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxq44S8w/X2o/BgAA
rS0AADQAGAAAAAAAAAAAAKSB/TAPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9jdXJzb3ItOC1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA/SLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADGrjhL
tH8m3HcGAADNMAAALAAYAAAAAAAAAAAApIGqNw8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2N1
cnNvci04LXN0ZGVyci50eHRVVAUAA/SLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADHrjhL
u2fs0sAGAACVRwAANgAYAAAAAAAAAAAApIGHPg8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2Rh
dGUtYmFzaWMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP1i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAx644S2TWZKWjBgAArUkAAC4AGAAAAAAAAAAAAKSBt0UPAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9kYXRlLWJhc2ljLXN0ZGVyci50eHRVVAUAA/aLyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADHrjhL+m7XiroFAADwMAAAPAAYAAAAAAAAAAAApIHCTA8Ac3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTEtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAP2i8hZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyK44S/aUL/TSBQAADzIAADQAGAAAAAAAAAAAAKSB8lIP
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS0xLXN0ZGVyci50eHRVVAUA
A/eLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADIrjhLMCBjN1QGAADINAAAPAAYAAAAAAAA
AAAApIEyWQ8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTItcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAP3i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyK44S7PUv4uG
BgAAsjQAADQAGAAAAAAAAAAAAKSB/F8PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVk
YXRhYmFzZS0yLXN0ZGVyci50eHRVVAUAA/iLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADI
rjhLHj0iRe0AAAD3AgAATgAYAAAAAAAAAAAApIHwZg8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2RlbGV0ZWRhdGFiYXNlLW51bGwtbmFtZS1leGNlcHRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AAP4i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyK44S+l2TzNOAQAAnQMAAEgAGAAAAAAA
AAAAAKSBZWgPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0
LWV2ZW50LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD+IvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAMmuOEvY8/jEiwEAAEIEAABAABgAAAAAAAAAAACkgTVqDwBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1zdGRlcnIudHh0VVQFAAP5i8hZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAya44S2A29DJWAAAAmQAAAEIAGAAAAAAAAAAAAKSBOmwP
AHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVkYXRhYmFzZS1yZXF1ZXN0LXByaXZhdGUt
c3RkZXJyLnR4dFVUBQAD+YvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMmuOEudOJCzEAEA
ACEDAAA6ABgAAAAAAAAAAACkgQxtDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0
YWJhc2UtcmVxdWVzdC1zdGRlcnIudHh0VVQFAAP5i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAya44SwgjJuWtBwAAvT0AADkAGAAAAAAAAAAAAKSBkG4PAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi9kZWxldGVpbmRleC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD+ovIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAMmuOEuttZz20AgAAKpEAAAxABgAAAAAAAAAAACkgbB2DwBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMS1zdGRlcnIudHh0VVQFAAP6i8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAyq44S+64zptXCAAA1loAADkAGAAAAAAAAAAAAKSB638PAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0yLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQAD+4vIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMquOEukCBuvmgkAAD9nAAAxABgAAAAA
AAAAAACkgbWIDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlaW5kZXgtMi1zdGRlcnIu
dHh0VVQFAAP8i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAyq44S16XVobcBQAAtCcAADkA
GAAAAAAAAAAAAKSBupIPAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVpbmRleC0zLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQAD/IvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMuuOEse
YW3NWAYAACkrAAAxABgAAAAAAAAAAACkgQmZDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVs
ZXRlaW5kZXgtMy1zdGRlcnIudHh0VVQFAAP9i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
y644S7CnKW4PBgAAdTEAADkAGAAAAAAAAAAAAKSBzJ8PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9kZWxldGVpbmRleC00LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD/YvIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMuuOEsoQbfXMwgAAFl0AAA/ABgAAAAAAAAAAACkgU6mDwBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlb2JqZWN0c3RvcmUtMS1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A/6LyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADLrjhLbiSzTx8IAAARewAANwAYAAAAAAAA
AAAApIH6rg8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZW9iamVjdHN0b3JlLTEtc3Rk
ZXJyLnR4dFVUBQAD/ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMyuOEuxM3/x8gMAAKcV
AAA4ABgAAAAAAAAAAACkgYq3DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZG91YmxlLWFib3J0
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD/4vIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMyu
OEulrFzfCAQAALsTAAAwABgAAAAAAAAAAACkge67DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
ZG91YmxlLWFib3J0LXN0ZGVyci50eHRVVAUAA/+LyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADMrjhLw2/VxHMDAADPEwAANwAYAAAAAAAAAAAApIFgwA8Ac3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2RvdWJsZS1vcGVuLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD/4vIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAMyuOEsd6zETsgMAAG8XAAAvABgAAAAAAAAAAACkgUTEDwBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vZG91YmxlLW9wZW4tc3RkZXJyLnR4dFVUBQADAIzIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAM2uOEtj+85QxAQAAHUmAAA+ABgAAAAAAAAAAACkgV/IDwBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vZ2MtY2xvc2VzLWRhdGFiYXNlLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADAYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM2uOEudi3Pg4QQAAJYmAAA2ABgAAAAA
AAAAAACkgZvNDwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZ2MtY2xvc2VzLWRhdGFiYXNlLXN0
ZGVyci50eHRVVAUAAwKMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADNrjhLEGv2I6QGAAAg
OwAAPgAYAAAAAAAAAAAApIHs0g8Ac3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2dldC1pbmRleC1m
YWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwKMyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADNrjhLppaCxPkGAAAsOgAANgAYAAAAAAAAAAAApIEI2g8Ac3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2dldC1pbmRleC1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAMCjMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAzq44S3Mc8IKQDAAAHz0CADgAGAAAAAAAAAAAAKSBceEPAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9nZXQta2V5cmFuZ2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMEjMhZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAz644S4eM6cRwDAAAyFoCADAAGAAAAAAAAAAAAKSB
c+4PAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9nZXQta2V5cmFuZ2Utc3RkZXJyLnR4dFVUBQAD
BYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM+uOEvUT+9U8gUAAIwlAAA2ABgAAAAAAAAA
AACkgU37DwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaGFuZGxlLXVzZXItZGVsZXRlLXN0ZGVy
ci50eHRVVAUAAwaMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADQrjhLPgWUgTkSAABH+QIA
TAAYAAAAAAAAAAAApIGvARAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmN1cnNvci1jb250
aW51ZS1wcmltYXJ5LWtleS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADCIzIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIANKuOEs8rVlXERQAAMJjAwBEABgAAAAAAAAAAACkgW4UEABzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRiY3Vyc29yLWNvbnRpbnVlLXByaW1hcnkta2V5LTEtc3RkZXJy
LnR4dFVUBQADC4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANKuOEtI62l22wYAAPJEAABS
ABgAAAAAAAAAAACkgf0oEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiZGF0YWJhc2UtZGVs
ZXRlb2JqZWN0c3RvcmUtZmFpbHVyZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMLjMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA0q44S7Ylt8ZqBgAAnDoAAEoAGAAAAAAAAAAAAKSBZDAQAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJkYXRhYmFzZS1kZWxldGVvYmplY3RzdG9yZS1mYWls
dXJlcy1zdGRlcnIudHh0VVQFAAMMjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA0q44S+7L
FJXdBAAAehsAAEwAGAAAAAAAAAAAAKSBUjcQAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJk
YXRhYmFzZS10cmFuc2FjdGlvbi1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAwyMyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADTrjhLJklGdegEAAAtGwAARAAYAAAAAAAAAAAApIG1
PBAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmRhdGFiYXNlLXRyYW5zYWN0aW9uLWZhaWx1
cmVzLXN0ZGVyci50eHRVVAUAAw2MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADTrjhLZ+d2
gYYHAACvXAAAPQAYAAAAAAAAAAAApIEbQhAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmlu
ZGV4LWdldGFsbC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADDYzIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIANOuOEuKVG10lAgAAKV0AAA1ABgAAAAAAAAAAACkgRhKEABzdG9yYWdlL2luZGV4
ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtZ2V0YWxsLTEtc3RkZXJyLnR4dFVUBQADDozIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIANSuOEvXAjAvtQcAANtdAABBABgAAAAAAAAAAACkgRtTEABzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtZ2V0YWxsa2V5cy0xLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADD4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANSuOEsNFTP/aAgAAOZ0AAA5
ABgAAAAAAAAAAACkgUtbEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRiaW5kZXgtZ2V0YWxs
a2V5cy0xLXN0ZGVyci50eHRVVAUAAxCMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADUrjhL
OQXj8SMGAABwPQAARQAYAAAAAAAAAAAApIEmZBAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lk
YmluZGV4LXByb3BlcnRpZXMtYmFzaWMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMQjMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA1K44SyWp6CweBgAA3j4AAD0AGAAAAAAAAAAAAKSByGoQAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJpbmRleC1wcm9wZXJ0aWVzLWJhc2ljLXN0ZGVyci50
eHRVVAUAAxCMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADWrjhLGprF6uIVAAAcpgYAQQAY
AAAAAAAAAAAApIFdcRAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYmtleS1hcnJheS1lcXVh
bGl0eS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAxOMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADXrjhLcP02PVUUAACv3gcAOQAYAAAAAAAAAAAApIG6hxAAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2lkYmtleS1hcnJheS1lcXVhbGl0eS1zdGRlcnIudHh0VVQFAAMVjMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA1644S+ql6PMCCAAAI4IAAEIAGAAAAAAAAAAAAKSBgpwQAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jbGVhci0xLXByaXZhdGUtc3RkZXJyLnR4
dFVUBQADFozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANiuOEsPfhKirgcAAL6CAAA6ABgA
AAAAAAAAAACkgQClEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xl
YXItMS1zdGRlcnIudHh0VVQFAAMXjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2K44S7Ij
0776CAAATK4AAEIAGAAAAAAAAAAAAKSBIq0QAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJv
YmplY3RzdG9yZS1jbGVhci0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADF4zIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIANiuOEtGNc/7uQgAAIOxAAA6ABgAAAAAAAAAAACkgZi2EABzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtY2xlYXItMi1zdGRlcnIudHh0VVQFAAMY
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2a44Sx3P3fQLCAAAycgAAEIAGAAAAAAAAAAA
AKSBxb8QAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC0xLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADGYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANmuOEsA
X2dtbAkAAEFSAQA6ABgAAAAAAAAAAACkgUzIEABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRi
b2JqZWN0c3RvcmUtY291bnQtMS1zdGRlcnIudHh0VVQFAAMajMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA2a44S7LFxaJABgAAmjMAAEkAGAAAAAAAAAAAAKSBLNIQAHN0b3JhZ2UvaW5kZXhl
ZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1jb3VudC1mYWlsdXJlcy1wcml2YXRlLXN0ZGVyci50
eHRVVAUAAxqMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADZrjhLjr7JKU8GAABxMwAAQQAY
AAAAAAAAAAAApIHv2BAAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWNv
dW50LWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAAxqMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADarjhLuTD2dTwNAACE3QEAQwAYAAAAAAAAAAAApIG53xAAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL2lkYm9iamVjdHN0b3JlLWRlbGV0ZS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADG4zIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANuuOEvX1n/TPRIAAKCDAwA7ABgAAAAAAAAAAACkgXLt
EABzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZGVsZXRlLTEtc3RkZXJy
LnR4dFVUBQADHYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANuuOEv4/bca3wYAACE6AABD
ABgAAAAAAAAAAACkgSQAEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUt
ZGVsZXRlLTItcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMdjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA2644SwYgPHXgBgAAsDkAADsAGAAAAAAAAAAAAKSBgAcRAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtMi1zdGRlcnIudHh0VVQFAAMejMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA2644S8Dd4UmGBgAAoj0AAEoAGAAAAAAAAAAAAKSB1Q4RAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJvYmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAMejMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2644S4Sj
Bja7BgAAyTwAAEIAGAAAAAAAAAAAAKSB3xURAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJv
YmplY3RzdG9yZS1kZWxldGUtZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADHozIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIANyuOEt4yhmcRQYAAJgzAABHABgAAAAAAAAAAACkgRYdEQBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0LWZhaWx1cmVzLXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADH4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANyuOEvYOWXXTgYAAG8z
AAA/ABgAAAAAAAAAAACkgdwjEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3Rv
cmUtZ2V0LWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAAx+MyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADcrjhLocGVglQGAADjSAAAQwAYAAAAAAAAAAAApIGjKhEAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldGFsbC0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADIIzI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN2uOEuKX0fasQYAAOxOAAA7ABgAAAAAAAAAAACk
gXQxEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0YWxsLTEtc3Rk
ZXJyLnR4dFVUBQADIYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAN2uOEt7VtGLegYAAChM
AABHABgAAAAAAAAAAACkgZo4EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3Rv
cmUtZ2V0YWxsa2V5cy0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADIYzIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAN2uOEsCqbzdegYAAFxPAAA/ABgAAAAAAAAAAACkgZU/EQBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtZ2V0YWxsa2V5cy0xLXN0ZGVyci50eHRVVAUA
AyKMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADdrjhLtMjXeE0GAADORAAAQwAYAAAAAAAA
AAAApIGIRhEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9iamVjdHN0b3JlLWdldGtleS0x
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADIozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOCu
OEtUnDZ2iwYAABJIAAA7ABgAAAAAAAAAAACkgVJNEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
aWRib2JqZWN0c3RvcmUtZ2V0a2V5LTEtc3RkZXJyLnR4dFVUBQADI4zIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOCuOEuNVODxtgYAAFxBAABRABgAAAAAAAAAAACkgVJUEQBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaWRib2JqZWN0c3RvcmUtcHV0LWFuZC1jbGVhci1mYWlsdXJlcy1wcml2
YXRlLXN0ZGVyci50eHRVVAUAAyOMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADgrjhLFQiC
x7oGAADQPAAASQAYAAAAAAAAAAAApIGTWxEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYm9i
amVjdHN0b3JlLXB1dC1hbmQtY2xlYXItZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADJIzIWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAOCuOEtr1khyyAMAAKYSAABPABgAAAAAAAAAAACkgdBiEQBz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaWRidHJhbnNhY3Rpb24tb2JqZWN0c3RvcmUtZmFpbHVy
ZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAMkjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
4a44S7XYN68+BAAABxUAAEcAGAAAAAAAAAAAAKSBIWcRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZS1mYWlsdXJlcy1zdGRlcnIudHh0VVQFAAMljMhZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4a44SzpPfqdSBQAALioAAEkAGAAAAAAAAAAAAKSB
4GsRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pZGJ0cmFuc2FjdGlvbi1vYmplY3RzdG9yZXMt
MS1wcml2YXRlLXN0ZGVyci50eHRVVAUAAyWMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADh
rjhLmElrRBkFAADlJwAAQQAYAAAAAAAAAAAApIG1cREAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L2lkYnRyYW5zYWN0aW9uLW9iamVjdHN0b3Jlcy0xLXN0ZGVyci50eHRVVAUAAyaMyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADhrjhLgAQzXi0BAADkBAAARQAYAAAAAAAAAAAApIFJdxEAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL2lkYnZlcnNpb25jaGFuZ2VldmVudC1jb25zdHJ1Y3Rvci1z
dGRlcnIudHh0VVQFAAMmjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4q44S6FWzBjgCgAA
eYoBADMAGAAAAAAAAAAAAKSB9XgRAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC0xLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADJ4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOKuOEvo
K5sgyAoAAM6nAQArABgAAAAAAAAAAACkgUKEEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtMS1zdGRlcnIudHh0VVQFAAMojMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4644S78r
jqQiDgAAVKQBADMAGAAAAAAAAAAAAKSBb48RAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRl
eC0yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADKYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AOSuOEvq7xe9sg8AAK21AQArABgAAAAAAAAAAACkgf6dEQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vaW5kZXgtMi1zdGRlcnIudHh0VVQFAAMrjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
5K44S2B9PCFfBwAAa1YAADMAGAAAAAAAAAAAAKSBFa4RAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9pbmRleC0zLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADK4zIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAOSuOEsbb16KDggAACZkAAArABgAAAAAAAAAAACkgeG1EQBzdG9yYWdlL2luZGV4ZWRk
Yi9tb2Rlcm4vaW5kZXgtMy1zdGRlcnIudHh0VVQFAAMsjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA5K44SwIGX8onCAAA0pwAADMAGAAAAAAAAAAAAKSBVL4RAHN0b3JhZ2UvaW5kZXhlZGRi
L21vZGVybi9pbmRleC00LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADLIzIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAOWuOEsMP+rDrgkAACPNAAArABgAAAAAAAAAAACkgejGEQBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNC1zdGRlcnIudHh0VVQFAAMtjMhZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgA5a44S01UD/lKBgAALycAADMAGAAAAAAAAAAAAKSB+9ARAHN0b3JhZ2UvaW5k
ZXhlZGRiL21vZGVybi9pbmRleC01LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADLYzIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAOWuOEvRDH+mZwYAAGclAAArABgAAAAAAAAAAACkgbLXEQBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtNS1zdGRlcnIudHh0VVQFAAMujMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA5q44S7nkk9FiCAAAS1EBADoAGAAAAAAAAAAAAKSBft4RAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMS1wcml2YXRlLXN0ZGVyci50eHRVVAUA
Ay+MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADmrjhLXHyS+CEMAABMtgEAMgAYAAAAAAAA
AAAApIFU5xEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0xLXN0ZGVyci50
eHRVVAUAAzCMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADnrjhLwHH/1VYJAACLdAEAOgAY
AAAAAAAAAAAApIHh8xEAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LWN1cnNvci0yLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADMozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOiuOEuh
HltZewsAALrQAQAyABgAAAAAAAAAAACkgav9EQBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtY3Vyc29yLTItc3RkZXJyLnR4dFVUBQADNIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AOmuOEuITeDg/xAAAPFwAgA6ABgAAAAAAAAAAACkgZIJEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vaW5kZXgtY3Vyc29yLTMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAM1jMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA6q44S63o/73zFQAAVDADADIAGAAAAAAAAAAAAKSBBRsSAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9pbmRleC1jdXJzb3ItMy1zdGRlcnIudHh0VVQFAAM3jMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA6q44S//C9IhbBgAASikAAEEAGAAAAAAAAAAAAKSBZDESAHN0
b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291bnQtYmFzaWMtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAAM4jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6q44S72oIifuBgAAoCkA
ADkAGAAAAAAAAAAAAKSBOjgSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9pbmRleC1nZXQtY291
bnQtYmFzaWMtc3RkZXJyLnR4dFVUBQADOIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOqu
OEtD0mmG9QYAAGQ5AABEABgAAAAAAAAAAACkgZs/EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
aW5kZXgtZ2V0LWNvdW50LWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADOIzIWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAOuuOEs12xIt3AcAAGE8AAA8ABgAAAAAAAAAAACkgQ5HEgBz
dG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5kZXgtZ2V0LWNvdW50LWZhaWx1cmVzLXN0ZGVyci50
eHRVVAUAAzmMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADrrjhLLdnCNmcHAACwSQAAOgAY
AAAAAAAAAAAApIFgTxIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LXJlbmFtZS0xLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADOYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOuuOEuc
5u2o3gcAAANOAAAyABgAAAAAAAAAAACkgTtXEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vaW5k
ZXgtcmVuYW1lLTEtc3RkZXJyLnR4dFVUBQADOozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AOuuOEsRr9LzDQUAABQpAAA5ABgAAAAAAAAAAACkgYVfEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4va2V5cGF0aC1iYXNpYy1wcml2YXRlLXN0ZGVyci50eHRVVAUAAzqMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADsrjhLrsoZ0gsFAAAvJwAAMQAYAAAAAAAAAAAApIEFZRIAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2tleXBhdGgtYmFzaWMtc3RkZXJyLnR4dFVUBQADO4zIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAOyuOEvLZJImSAUAAEUkAAAqABgAAAAAAAAAAACkgXtqEgBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vbGVhay0xLXN0ZGVyci50eHRVVAUAAzyMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADtrjhLdUw3u/8IAADqGAIAVQAYAAAAAAAAAAAApIEncBIAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL21lbW9yeS1pbmRleC1ub3QtZGVsZXRlZC13aXRoLW9iamVjdHN0
b3JlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADPYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AO2uOEsql6aqwgkAANUlAgBNABgAAAAAAAAAAACkgbV5EgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rl
cm4vbWVtb3J5LWluZGV4LW5vdC1kZWxldGVkLXdpdGgtb2JqZWN0c3RvcmUtc3RkZXJyLnR4dFVU
BQADPozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO2uOEvzFxWoHggAADpxAABXABgAAAAA
AAAAAACkgf6DEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vbXVsdGlwbGUtb2JqZWN0c3RvcmUt
aW5kZXgtY3Vyc29yLWNvbGxpc2lvbi1wcml2YXRlLXN0ZGVyci50eHRVVAUAAz6MyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADurjhLhXjxDsAIAAB2gwAATwAYAAAAAAAAAAAApIGtjBIAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL211bHRpcGxlLW9iamVjdHN0b3JlLWluZGV4LWN1cnNvci1j
b2xsaXNpb24tc3RkZXJyLnR4dFVUBQADP4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO6u
OEsNMig0LwYAAMovAABCABgAAAAAAAAAAACkgfaVEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
bmV3LWRhdGFiYXNlLWFmdGVyLXVzZXItZGVsZXRlLXN0ZGVyci50eHRVVAUAA0CMyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADurjhLg/M9SPUFAAChMgAAQgAYAAAAAAAAAAAApIGhnBIAc3Rv
cmFnZS9pbmRleGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLWF0dHJpYnV0ZXMtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAANAjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7644S5cIN6AEBgAAbjEA
ADoAGAAAAAAAAAAAAKSBEqMSAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vYmplY3RzdG9yZS1h
dHRyaWJ1dGVzLXN0ZGVyci50eHRVVAUAA0GMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADv
rjhLVpUkQTAJAADcnwAATwAYAAAAAAAAAAAApIGKqRIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L29iamVjdHN0b3JlLWN1cnNvci1hZHZhbmNlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADQYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO+uOEsiovpEMAkAACupAABHABgAAAAA
AAAAAACkgUOzEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWFk
dmFuY2UtZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADQozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAO+uOEvC5TczFQkAAOijAABQABgAAAAAAAAAAACkgfS8EgBzdG9yYWdlL2luZGV4ZWRkYi9t
b2Rlcm4vb2JqZWN0c3RvcmUtY3Vyc29yLWNvbnRpbnVlLWZhaWx1cmVzLXByaXZhdGUtc3RkZXJy
LnR4dFVUBQADQozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPCuOEvFq6icYwkAAN2tAABI
ABgAAAAAAAAAAACkgZPGEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtY3Vy
c29yLWNvbnRpbnVlLWZhaWx1cmVzLXN0ZGVyci50eHRVVAUAA0OMyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADwrjhLtZWTMY8GAAApPwAAQAAYAAAAAAAAAAAApIF40BIAc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL29iamVjdHN0b3JlLXJlbmFtZS0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
Q4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPCuOEviBl7ulQYAAIo/AAA4ABgAAAAAAAAA
AACkgYHXEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb2JqZWN0c3RvcmUtcmVuYW1lLTEtc3Rk
ZXJyLnR4dFVUBQADRIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPCuOEsOgMf98gYAAII8
AAA/ABgAAAAAAAAAAACkgYjeEgBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmN1cnNvci1m
YWlsdXJlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0SMyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADxrjhLaLdP12MHAAByPQAANwAYAAAAAAAAAAAApIHz5RIAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL29wZW5jdXJzb3ItZmFpbHVyZXMtc3RkZXJyLnR4dFVUBQADRYzIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAPGuOEuSZXtWuAIAALQKAABGABgAAAAAAAAAAACkgcftEgBzdG9yYWdl
L2luZGV4ZWRkYi9tb2Rlcm4vb3BlbmRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAANFjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8a44S/+eho4HAwAAVQwA
AD4AGAAAAAAAAAAAAKSB//ASAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9vcGVuZGF0YWJhc2Ut
cmVxdWVzdC1ldmVudC1zdGRlcnIudHh0VVQFAANFjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA8a44Sy50qTtzAQAAEQUAAEAAGAAAAAAAAAAAAKSBfvQSAHN0b3JhZ2UvaW5kZXhlZGRiL21v
ZGVybi9vcGVuZGF0YWJhc2UtcmVxdWVzdC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0WMyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADxrjhLbnAM3D0BAACkBgAAOAAYAAAAAAAAAAAApIFr9hIA
c3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1yZXF1ZXN0LXN0ZGVyci50eHRV
VAUAA0aMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADxrjhLH4WagBsEAADdJAAAVAAYAAAA
AAAAAAAApIEa+BIAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS1zdWNjZXNz
LWFmdGVyLXZlcnNpb25jaGFuZ2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANGjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA8a44S54RxvlXBAAAXCYAAEwAGAAAAAAAAAAAAKSBw/wSAHN0b3Jh
Z2UvaW5kZXhlZGRiL21vZGVybi9vcGVuZGF0YWJhc2Utc3VjY2Vzcy1hZnRlci12ZXJzaW9uY2hh
bmdlLXN0ZGVyci50eHRVVAUAA0aMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADyrjhLF1sK
SJoEAAByMQAAQQAYAAAAAAAAAAAApIGgARMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL29wZW5k
YXRhYmFzZS12ZXJzaW9ucy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0eMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADyrjhL2uYyXJsEAAAyLAAAOQAYAAAAAAAAAAAApIG1BhMAc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL29wZW5kYXRhYmFzZS12ZXJzaW9ucy1zdGRlcnIudHh0VVQFAANHjMhZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8q44S0AoeswPBQAAXB8AAD4AGAAAAAAAAAAAAKSB
wwsTAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXF1ZXN0LXJlYWR5c3RhdGUtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAANIjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8q44Syz6MsWNBQAA
9iEAADYAGAAAAAAAAAAAAKSBShETAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9yZXF1ZXN0LXJl
YWR5c3RhdGUtc3RkZXJyLnR4dFVUBQADSIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPKu
OEt1Qn0jtAUAAFYgAABQABgAAAAAAAAAAACkgUcXEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
c2luZ2xlLWVudHJ5LWluZGV4LWludmFsaWQta2V5LWNyYXNoLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADSIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPOuOEtvin+PEAYAAPchAABIABgAAAAA
AAAAAACkgYUdEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vc2luZ2xlLWVudHJ5LWluZGV4LWlu
dmFsaWQta2V5LWNyYXNoLXN0ZGVyci50eHRVVAUAA0mMyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADzrjhLgIERAYAGAAAVOAAAQwAYAAAAAAAAAAAApIEXJBMAc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0xLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADSYzI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPOuOEtMtLCTLQcAAFZKAABDABgAAAAAAAAAAACk
gRQrEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTItcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAANJjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA8644S81Z
bgMOBwAADksAAEMAGAAAAAAAAAAAAKSBvjITAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFu
c2FjdGlvbi1zY2hlZHVsZXItMy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA0qMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADzrjhLF8KXpb8GAABWQQAAOwAYAAAAAAAAAAAApIFJOhMAc3RvcmFn
ZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci0zLXN0ZGVyci50eHRVVAUA
A0qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD0rjhL8pxwaLQGAAD4dQAAQwAYAAAAAAAA
AAAApIF9QRMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3RyYW5zYWN0aW9uLXNjaGVkdWxlci00
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADS4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPSu
OEswzDXqBwcAAD5+AAA7ABgAAAAAAAAAAACkga5IEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4v
dHJhbnNhY3Rpb24tc2NoZWR1bGVyLTQtc3RkZXJyLnR4dFVUBQADTIzIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAPSuOEteNm4UTQcAAE1VAABDABgAAAAAAAAAAACkgSpQEwBzdG9yYWdlL2lu
ZGV4ZWRkYi9tb2Rlcm4vdHJhbnNhY3Rpb24tc2NoZWR1bGVyLTUtcHJpdmF0ZS1zdGRlcnIudHh0
VVQFAANMjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9a44Szc3uZSnBgAAYUkAAEMAGAAA
AAAAAAAAAKSB9FcTAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbi1zY2hlZHVs
ZXItNi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA02MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAD1rjhL0cWaWn8FAAC9MgAASwAYAAAAAAAAAAAApIEYXxMAc3RvcmFnZS9pbmRleGVkZGIvbW9k
ZXJuL3RyYW5zYWN0aW9ucy1zdG9wLW9uLW5hdmlnYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQF
AANOjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9a44S6WBMq8pBwAAYHYAAEMAGAAAAAAA
AAAAAKSBHGUTAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi90cmFuc2FjdGlvbnMtc3RvcC1vbi1u
YXZpZ2F0aW9uLXN0ZGVyci50eHRVVAUAA06MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD2
rjhLme6hNfMEAABJNQAASwAYAAAAAAAAAAAApIHCbBMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJu
L3ZlcnNpb25jaGFuZ2UtYWJvcnQtdGhlbi1yZW9wZW4tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANP
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9q44SwqJaEKPBQAA3D4AAEMAGAAAAAAAAAAA
AKSBOnITAHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hhbmdlLWFib3J0LXRoZW4t
cmVvcGVuLXN0ZGVyci50eHRVVAUAA0+MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD2rjhL
bEB0UD4FAACHKwAAPwAYAAAAAAAAAAAApIFGeBMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3Zl
cnNpb25jaGFuZ2UtZXZlbnQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANQjMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA9q44S6seIGBeBQAANCwAADcAGAAAAAAAAAAAAKSB/X0TAHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi92ZXJzaW9uY2hhbmdlLWV2ZW50LXN0ZGVyci50eHRVVAUAA1CMyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD3rjhL174Y8acFAACvJwAAMQAYAAAAAAAAAAAApIHM
gxMAc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL3dvcmtlci1nZXRhbGwtc3RkZXJyLnR4dFVUBQAD
UYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPeuOEuJ5vkkCwEAALsDAAA0ABgAAAAAAAAA
AACkgd6JEwBzdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vd29ya2Vycy1kaXNhYmxlZC1zdGRlcnIu
dHh0VVQFAANRjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA9644S7q4VHl7BwAAc3QAADQA
GAAAAAAAAAAAAKSBV4sTAHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA1GMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD3rjhLuI+dsh8I
AAB6gQAALAAYAAAAAAAAAAAApIFAkxMAc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29y
LXN0ZGVyci50eHRVVAUAA1KMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD3rjhLL2LLzG8E
AACIFwAARAAYAAAAAAAAAAAApIHFmxMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0LWxvb2t1cHMt
aW4tdmVyc2lvbmNoYW5nZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1KMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAD4rjhLYcvnfncEAACHGAAAPAAYAAAAAAAAAAAApIGyoBMAc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0LWxvb2t1cHMtaW4tdmVyc2lvbmNoYW5nZS1zdGRlcnIudHh0VVQFAANT
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+K44SzLImkdcAwAA2g8AAEMAGAAAAAAAAAAA
AKSBn6UTAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdFN0b3JlLXJlcXVpcmVkLWFyZ3VtZW50cy1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA1OMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD4rjhL
n6/4V8IDAAB4EQAAOwAYAAAAAAAAAAAApIF4qRMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0U3Rv
cmUtcmVxdWlyZWQtYXJndW1lbnRzLXN0ZGVyci50eHRVVAUAA1OMyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAD4rjhLRUciWUIIAAB+egAAPgAYAAAAAAAAAAAApIGvrRMAc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1SM
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD5rjhLmvaFGFwIAACDewAANgAYAAAAAAAAAAAA
pIFpthMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC1zdGRlcnIu
dHh0VVQFAANVjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA+a44S+tSmIYJCgAAHpcAADcA
GAAAAAAAAAAAAKSBNb8TAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1wcml2
YXRlLXN0ZGVyci50eHRVVAUAA1WMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD6rjhL/Dmo
xfQKAADRnAAALwAYAAAAAAAAAAAApIGvyRMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YmFzaWNzLXN0ZGVyci50eHRVVAUAA1iMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD6rjhL
NADh8noLAADhngAANwAYAAAAAAAAAAAApIEM1RMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtYmFzaWNzLXdvcmtlcnMtc3RkZXJyLnR4dFVUBQADV4zIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAPquOEt2oKXslgcAAAc/AAA2ABgAAAAAAAAAAACkgffgEwBzdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1jbGVhci1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1iMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAD7rjhLci9r4NUHAADIQAAALgAYAAAAAAAAAAAApIH96BMAc3RvcmFn
ZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItc3RkZXJyLnR4dFVUBQADWYzIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAPuuOEt/mX6RawsAAGG0AQA2ABgAAAAAAAAAAACkgTrxEwBzdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jb3VudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA1qM
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAD8rjhLh4DXoKsOAACqEgMALgAYAAAAAAAAAAAA
pIEV/RMAc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY291bnQtc3RkZXJyLnR4dFVUBQAD
W4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAKvOEvi5F14TxEAAOBBBwA3ABgAAAAAAAAA
AACkgSgMFABzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jdXJzb3ItcHJpdmF0ZS1zdGRl
cnIudHh0VVQFAANjjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABa84S9DDOr59FQAA1/QI
AC8AGAAAAAAAAAAAAKSB6B0UAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWN1cnNvci1z
dGRlcnIudHh0VVQFAANpjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABa84S9zNnPWgBwAA
sE0AAEIAGAAAAAAAAAAAAKSBzjMUAHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92
ZW9iamVjdHN0b3JlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADaYzIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAWvOEuZ1bhV6AcAAGpQAAA6ABgAAAAAAAAAAACkgeo7FABzdG9yYWdlL2luZGV4
ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS1zdGRlcnIudHh0VVQFAANqjMhZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABa84S69NAbK3CAAA5gkBADAAGAAAAAAAAAAAAKSBRkQU
AHN0b3JhZ2UvaW5kZXhlZGRiL29kZC1zdHJpbmdzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADaozI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAavOEsTP5UqTgQAAN4zAAA2ABgAAAAAAAAAAACk
gWdNFABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWJhZC12ZXJzaW9ucy1wcml2YXRlLXN0ZGVyci50
eHRVVAUAA2uMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHrzhLyCPv4gEEAACuIgAALgAY
AAAAAAAAAAAApIElUhQAc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1iYWQtdmVyc2lvbnMtc3RkZXJy
LnR4dFVUBQADbYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAevOEuw6vYf5AQAAKojAAAw
ABgAAAAAAAAAAACkgY5WFABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci1wcml2YXRlLXN0
ZGVyci50eHRVVAUAA22MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHrzhLxOF7kaUFAAB+
KAAAKAAYAAAAAAAAAAAApIHcWxQAc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3Itc3RkZXJy
LnR4dFVUBQADbYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAevOEsbr2jyYAYAAH09AAA8
ABgAAAAAAAAAAACkgeNhFABzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWR1cmluZy10cmFuc2FjdGlv
bi1wcml2YXRlLXN0ZGVyci50eHRVVAUAA22MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAH
rzhLt7sTGlQGAAAFQQAANAAYAAAAAAAAAAAApIG5aBQAc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1k
dXJpbmctdHJhbnNhY3Rpb24tc3RkZXJyLnR4dFVUBQADbozIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAAevOEvyDURIGQUAADw5AAAyABgAAAAAAAAAAACkgXtvFABzdG9yYWdlL2luZGV4ZWRk
Yi9vcGVuLW9yZGVyaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADbozIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAAevOEu5/Ff0IgUAAB06AAAqABgAAAAAAAAAAACkgQB1FABzdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLW9yZGVyaW5nLXN0ZGVyci50eHRVVAUAA26MyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAIrzhLfoczqfUDAABFIgAALwAYAAAAAAAAAAAApIGGehQAc3RvcmFnZS9pbmRl
eGVkZGIvb3Blbi10d2ljZS13b3JrZXJzLXN0ZGVyci50eHRVVAUAA2+MyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAIrzhL1xqbD4UJAAB0nAAAMwAYAAAAAAAAAAAApIHkfhQAc3RvcmFnZS9p
bmRleGVkZGIvb3BlbmN1cnNvci1rZXktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAANvjMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgACK84S4khqOj7CQAAU78AACsAGAAAAAAAAAAAAKSB1ogUAHN0
b3JhZ2UvaW5kZXhlZGRiL29wZW5jdXJzb3Ita2V5LXN0ZGVyci50eHRVVAUAA2+MyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAIrzhLuooCjgoLAADrHgEANwAYAAAAAAAAAAAApIE2kxQAc3Rv
cmFnZS9pbmRleGVkZGIvb3B0aW9uYWwtYXJndW1lbnRzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQAD
cIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAmvOEvD21SLkQwAAJ1pAQAvABgAAAAAAAAA
AACkgbGeFABzdG9yYWdlL2luZGV4ZWRkYi9vcHRpb25hbC1hcmd1bWVudHMtc3RkZXJyLnR4dFVU
BQADcYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAmvOEsafjJw6QYAAMs+AAA1ABgAAAAA
AAAAAACkgaurFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADcozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAqvOEvFW+I6YgcAAGBB
AAAtABgAAAAAAAAAAACkgQOzFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLWFjdGl2aXR5LXN0
ZGVyci50eHRVVAUAA3SMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKrzhL+jdrkswHAAB8
RQAANQAYAAAAAAAAAAAApIHMuhQAc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy1hY3Rpdml0eS13
b3JrZXJzLXN0ZGVyci50eHRVVAUAA3OMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKrzhL
33NxmwkFAAD5JQAAQwAYAAAAAAAAAAAApIEHwxQAc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12
ZXJzaW9uLWNoYW5nZS1vbi1leGl0LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADdIzIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAuvOEvls6tI6AQAAKAfAAA7ABgAAAAAAAAAAACkgY3IFABzdG9y
YWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLW9uLWV4aXQtc3RkZXJyLnR4dFVU
BQADdYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAuvOEugp5TplAQAAGwfAABBABgAAAAA
AAAAAACkgerNFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5nLXZlcnNpb24tY2hhbmdlLXN0dWNr
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADdYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAuv
OEs4DGvA1QQAAFwkAAA5ABgAAAAAAAAAAACkgfnSFABzdG9yYWdlL2luZGV4ZWRkYi9wZW5kaW5n
LXZlcnNpb24tY2hhbmdlLXN0dWNrLXN0ZGVyci50eHRVVAUAA3aMyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAALrzhLVH5Dg7YEAABJIgAAVgAYAAAAAAAAAAAApIFB2BQAc3RvcmFnZS9pbmRl
eGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS1w
cml2YXRlLXN0ZGVyci50eHRVVAUAA3WMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAALrzhL
Y+rB4/wEAADjJAAATgAYAAAAAAAAAAAApIGH3RQAc3RvcmFnZS9pbmRleGVkZGIvcGVuZGluZy12
ZXJzaW9uLWNoYW5nZS1zdHVjay13b3Jrcy13aXRoLXRlcm1pbmF0ZS1zdGRlcnIudHh0VVQFAAN2
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAC684S5tiVCVvBgAAyGcAADAAGAAAAAAAAAAA
AKSBC+MUAHN0b3JhZ2UvaW5kZXhlZGRiL3BlcnNpc3RlbmNlLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADdozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAyvOEt5og5VXgYAAFVnAAAoABgAAAAA
AAAAAACkgeTpFABzdG9yYWdlL2luZGV4ZWRkYi9wZXJzaXN0ZW5jZS1zdGRlcnIudHh0VVQFAAN3
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADK84S5IhMKK5CAAA2XYAADsAGAAAAAAAAAAA
AKSBpPAUAHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLWJ1Z2ZpeC0xMDgwNzEtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAN3jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADK84Szk0m1hyCQAA
4YIAADMAGAAAAAAAAAAAAKSB0vkUAHN0b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLWJ1Z2ZpeC0x
MDgwNzEtc3RkZXJyLnR4dFVUBQADd4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA2vOEux
drJqoh8AABlECAA6ABgAAAAAAAAAAACkgbEDFQBzdG9yYWdlL2luZGV4ZWRkYi9wcmVmZXRjaC1p
bnZhbGlkYXRpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN5jMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgADq84S0D2GuKXJQAANqAJADIAGAAAAAAAAAAAAKSBxyMVAHN0b3JhZ2UvaW5kZXhl
ZGRiL3ByZWZldGNoLWludmFsaWRhdGlvbi1zdGRlcnIudHh0VVQFAAN7jMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgADq84S8oI4DWwBwAAMGUAADIAGAAAAAAAAAAAAKSBykkVAHN0b3JhZ2Uv
aW5kZXhlZGRiL3ByZWZldGNoLXJhY2UtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN7jMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgADq84Sx3jD4LpBwAAmmsAACoAGAAAAAAAAAAAAKSB5lEVAHN0
b3JhZ2UvaW5kZXhlZGRiL3ByZWZldGNoLXJhY2Utc3RkZXJyLnR4dFVUBQADe4zIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAA6vOEuNTN8aWQYAANNDAABGABgAAAAAAAAAAACkgTNaFQBzdG9y
YWdlL2luZGV4ZWRkYi9wcmltYXJ5LWtleS11bmlxdWUtdG8tb2JqZWN0c3RvcmUtcHJpdmF0ZS1z
dGRlcnIudHh0VVQFAAN8jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADq84S/4NTSGLBgAA
MlAAAD4AGAAAAAAAAAAAAKSBDGEVAHN0b3JhZ2UvaW5kZXhlZGRiL3ByaW1hcnkta2V5LXVuaXF1
ZS10by1vYmplY3RzdG9yZS1zdGRlcnIudHh0VVQFAAN8jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgADq84S7Y+PE6IBQAAOyQAADQAGAAAAAAAAAAAAKSBD2gVAHN0b3JhZ2UvaW5kZXhlZGRi
L3F1ZXVlZC1jb21tYW5kcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA3yMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAOrzhLKvu/4yEGAABVJgAALAAYAAAAAAAAAAAApIEFbhUAc3RvcmFnZS9p
bmRleGVkZGIvcXVldWVkLWNvbW1hbmRzLXN0ZGVyci50eHRVVAUAA3yMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAOrzhL4bAoWt0FAABaIwAALQAYAAAAAAAAAAAApIGMdBUAc3RvcmFnZS9p
bmRleGVkZGIvcmVhZG9ubHktcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN8jMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAD684S9sOtHtMAwAAjQ8AADgAGAAAAAAAAAAAAKSB0HoVAHN0b3JhZ2Uv
aW5kZXhlZGRiL3JlYWRvbmx5LXByb3BlcnRpZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN9jMhZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAD684SxUH/N3JAwAAwxEAADAAGAAAAAAAAAAAAKSB
jn4VAHN0b3JhZ2UvaW5kZXhlZGRiL3JlYWRvbmx5LXByb3BlcnRpZXMtc3RkZXJyLnR4dFVUBQAD
fYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA+vOEs4NoUfcAYAABEmAAAlABgAAAAAAAAA
AACkgcGCFQBzdG9yYWdlL2luZGV4ZWRkYi9yZWFkb25seS1zdGRlcnIudHh0VVQFAAN9jMhZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAD684S8xCfyfLBgAA0C8AADsAGAAAAAAAAAAAAKSBkIkV
AHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtY29udGludWUtYWJvcnQtcHJpdmF0ZS1zdGRlcnIu
dHh0VVQFAAN9jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAD684Szx7IlvfBgAAYS4AADMA
GAAAAAAAAAAAAKSB0JAVAHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtY29udGludWUtYWJvcnQt
c3RkZXJyLnR4dFVUBQADfozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA+vOEtz6IxsZwYA
AMBEAAA+ABgAAAAAAAAAAACkgRyYFQBzdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXBy
b3BhZ2F0aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADfozIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAA+vOEvSdQHvcQYAAKNDAAA2ABgAAAAAAAAAAACkgfueFQBzdG9yYWdlL2luZGV4ZWRk
Yi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLXN0ZGVyci50eHRVVAUAA36MyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAQrzhLxMBO11MGAAAQLQAAOQAYAAAAAAAAAAAApIHcpRUAc3RvcmFn
ZS9pbmRleGVkZGIvcmVxdWVzdC1yZXN1bHQtY2FjaGUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAN/
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEK84S2gXc3+tBgAAFS4AADEAGAAAAAAAAAAA
AKSBoqwVAHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtcmVzdWx0LWNhY2hlLXN0ZGVyci50eHRV
VAUAA3+MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQrzhLsSkrOtoEAAAIIgAAOAAYAAAA
AAAAAAAApIG6sxUAc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fYmxvY2tlZC1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA3+MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAQrzhL/6iYvkUF
AACTJAAAMAAYAAAAAAAAAAAApIEGuRUAc3RvcmFnZS9pbmRleGVkZGIvc2V0X3ZlcnNpb25fYmxv
Y2tlZC1zdGRlcnIudHh0VVQFAAN/jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEK84S3vh
T8PCBAAABCoAAE4AGAAAAAAAAAAAAKSBtb4VAHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNpb24t
YmxvY2tlZC1ieS12ZXJzaW9uY2hhbmdlLWNsb3NlLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADf4zI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABCvOEt2D11iiAQAAMkqAABGABgAAAAAAAAAAACk
gf/DFQBzdG9yYWdlL2luZGV4ZWRkYi9zZXR2ZXJzaW9uLWJsb2NrZWQtYnktdmVyc2lvbmNoYW5n
ZS1jbG9zZS1zdGRlcnIudHh0VVQFAAOAjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEK84
S7Wz3FasBAAA7icAADsAGAAAAAAAAAAAAKSBB8kVAHN0b3JhZ2UvaW5kZXhlZGRiL3NldHZlcnNp
b24tbm90LWJsb2NrZWQtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOAjMhZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAEK84S8+BlMbSBAAAvycAADMAGAAAAAAAAAAAAKSBKM4VAHN0b3JhZ2UvaW5k
ZXhlZGRiL3NldHZlcnNpb24tbm90LWJsb2NrZWQtc3RkZXJyLnR4dFVUBQADgIzIWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIABGvOEtRoljieBAAAC7MBAA1ABgAAAAAAAAAAACkgWfTFQBzdG9y
YWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADgozI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABOvOEsE1xFB+Q8AAP/VBAAtABgAAAAAAAAAAACk
gU7kFQBzdG9yYWdlL2luZGV4ZWRkYi9zdHJ1Y3R1cmVkLWNsb25lLXN0ZGVyci50eHRVVAUAA4WM
yFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATrzhLotQfJywGAABpKAAALgAYAAAAAAAAAAAA
pIGu9BUAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtc3RkZXJyLnR4dFVUBQAD
hYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABOvOEtblxhSxgwAAN7zAAA8ABgAAAAAAAAA
AACkgUL7FQBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hY3RpdmUtZmxhZy1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA4aMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATrzhLD5/cSGEP
AAAfHQEANAAYAAAAAAAAAAAApIF+CBYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWN0
aXZlLWZsYWctc3RkZXJyLnR4dFVUBQADhozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABSv
OEvrulWWAgYAAFg+AAA8ABgAAAAAAAAAAACkgU0YFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hZnRlci1jbG9zZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4eMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAUrzhL7zrwYwgGAAD7PQAANAAYAAAAAAAAAAAApIHFHhYAc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2Utc3RkZXJyLnR4dFVUBQADh4zIWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABSvOEuqDmsVcwcAACl1AABGABgAAAAAAAAAAACkgTslFgBz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtcHJpdmF0
ZS1zdGRlcnIudHh0VVQFAAOHjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFK84S/uV2i+R
BwAAg4MAAD4AGAAAAAAAAAAAAKSBLi0WAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFu
ZC1vYmplY3RzdG9yZS1jYWxscy1zdGRlcnIudHh0VVQFAAOIjMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAFK84Sxn2DeXjCAAAjK0AADcAGAAAAAAAAAAAAKSBNzUWAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4iMyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAVrzhLfz35qacJAABptQAALwAYAAAAAAAAAAAApIGLPhYAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLXN0ZGVyci50eHRVVAUAA4mMyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAVrzhLJZS2ijEFAAArKgAAVwAYAAAAAAAAAAAApIGbSBYA
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUtd2l0aC1qcy1yZWN1cnNpb24t
Y3Jvc3MtZnJhbWUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOJjMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAFa84SzGXxqXFBQAAPCoAAE8AGAAAAAAAAAAAAKSBXU4WAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdpdGgtanMtcmVjdXJzaW9uLWNyb3NzLWZyYW1lLXN0
ZGVyci50eHRVVAUAA4mMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAVrzhLCFQRFJ4FAAAW
KgAASwAYAAAAAAAAAAAApIGrVBYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxl
dGUtd2l0aC1qcy1yZWN1cnNpb24tcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOKjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAFa84S7DNJVTKBQAAIyoAAEMAGAAAAAAAAAAAAKSBzloWAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvbXBsZXRlLXdpdGgtanMtcmVjdXJzaW9uLXN0ZGVy
ci50eHRVVAUAA4qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAVrzhLoGPJrOYGAADlVgAA
QQAYAAAAAAAAAAAApIEVYRYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY29tcGxldGUt
d29ya2Vycy1wcml2YXRlLXN0ZGVyci50eHRVVAUAA4qMyFl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAWrzhLfxLCkk8GAADyUwAAOQAYAAAAAAAAAAAApIF2aBYAc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tY29tcGxldGUtd29ya2Vycy1zdGRlcnIudHh0VVQFAAOLjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAFq84S4KrEXSrBgAA0VIAAE4AGAAAAAAAAAAAAKSBOG8WAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi1hY3Jvc3MtZGF0YWJhc2VzLXBy
aXZhdGUtc3RkZXJyLnR4dFVUBQADi4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABavOEuh
GQKZlgYAAKhTAABGABgAAAAAAAAAAACkgWt2FgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1jb29yZGluYXRpb24tYWNyb3NzLWRhdGFiYXNlcy1zdGRlcnIudHh0VVQFAAOLjMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAFq84SzZPUFVxBgAAMTsAAE0AGAAAAAAAAAAAAKSBgX0WAHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNvb3JkaW5hdGlvbi13aXRoaW4tZGF0YWJhc2Ut
cHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOMjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFq84
S5kEub4VAQAAtQMAAD8AGAAAAAAAAAAAAKSBeYQWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWNyYXNoLWluLXRhc2tzLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADjIzIWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABavOEtDZqRqLwEAADYEAAA3ABgAAAAAAAAAAACkgQeGFgBzdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1pbi10YXNrcy1zdGRlcnIudHh0VVQFAAOMjMhZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFq84S7wvd4yBBAAA6BgAAD8AGAAAAAAAAAAAAKSB
p4cWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LXByaXZhdGUt
c3RkZXJyLnR4dFVUBQADjIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABevOEsgpEuQrQQA
ANkZAAA3ABgAAAAAAAAAAACkgaGMFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFz
aC1vbi1hYm9ydC1zdGRlcnIudHh0VVQFAAONjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
F684S1QX213QBwAAUWUAADYAGAAAAAAAAAAAAKSBv5EWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWVycm9yLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADjYzIWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIABevOEvi75llZwgAAIhkAAAuABgAAAAAAAAAAACkgf+ZFgBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1lcnJvci1zdGRlcnIudHh0VVQFAAOOjMhZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAF684S7iAwLJMBgAArzcAAEIAGAAAAAAAAAAAAKSBzqIWAHN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLXByaXZhdGUtc3RkZXJyLnR4dFVU
BQADjozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABevOEuDGO1xSQYAAOc2AAA6ABgAAAAA
AAAAAACkgZapFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlv
bi1zdGRlcnIudHh0VVQFAAOOjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAF684S1pxjpOt
BQAAdjIAADkAGAAAAAAAAAAAAKSBU7AWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLW9y
ZGVyaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADjozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABivOEuprRF22QUAABMyAAAxABgAAAAAAAAAAACkgXO2FgBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1vcmRlcmluZy1zdGRlcnIudHh0VVQFAAOPjMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAGK84S5g2NMRkBgAAODgAADwAGAAAAAAAAAAAAKSBt7wWAHN0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLW92ZXJsYXBwaW5nLXByaXZhdGUtc3RkZXJyLnR4dFVUBQADj4zIWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABivOEtVEKraogYAAOZUAAA0ABgAAAAAAAAAAACkgZHD
FgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1vdmVybGFwcGluZy1zdGRlcnIudHh0VVQF
AAOPjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGK84S+5lQ1VpBgAA+jUAADoAGAAAAAAA
AAAAAKSBocoWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS1wcml2YXRl
LXN0ZGVyci50eHRVVAUAA4+MyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYrzhLpry8gAUH
AADUPAAAMgAYAAAAAAAAAAAApIF+0RYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVh
ZC1vbmx5LXN0ZGVyci50eHRVVAUAA5CMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYrzhL
2vdXpVgGAAC+SgAARAAYAAAAAAAAAAAApIHv2BYAc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tcmVhZHdyaXRlLWV4Y2x1c2l2ZS1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5CMyFl1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAYrzhLWIbf1F0GAACCSQAAPAAYAAAAAAAAAAAApIHF3xYAc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZHdyaXRlLWV4Y2x1c2l2ZS1zdGRlcnIudHh0
VVQFAAOQjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGK84S/7hDSHLBgAAxzQAADkAGAAA
AAAAAAAAAKSBmOYWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJvbGxiYWNrLXByaXZh
dGUtc3RkZXJyLnR4dFVUBQADkIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABmvOEud473z
LwcAAOE2AAAxABgAAAAAAAAAAACkgdbtFgBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1y
b2xsYmFjay1zdGRlcnIudHh0VVQFAAORjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGa84
S5HMX4BHBgAAI0wAAEEAGAAAAAAAAAAAAKSBcPUWAHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLXNjb3BlLXNlcXVlbmNpbmctcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAORjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAGa84S3h1hRIcBgAA0EQAADkAGAAAAAAAAAAAAKSBMvwWAHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXNjb3BlLXNlcXVlbmNpbmctc3RkZXJyLnR4dFVUBQAD
kYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABmvOEuVA6+GGgMAAFkOAABEABgAAAAAAAAA
AACkgcECFwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVk
LXByaXZhdGUtc3RkZXJyLnR4dFVUBQADkYzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABmv
OEtfsIzRmgMAAP8QAAA8ABgAAAAAAAAAAACkgVkGFwBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLXN0ZGVyci50eHRVVAUAA5GMyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAZrzhLdOQ9vdgEAABmIgAAPgAYAAAAAAAAAAAApIFpChcAc3RvcmFnZS9p
bmRleGVkZGIvdW5ibG9ja2VkLXZlcnNpb24tY2hhbmdlcy1wcml2YXRlLXN0ZGVyci50eHRVVAUA
A5KMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAZrzhL+QFL7dsEAACwIgAANgAYAAAAAAAA
AAAApIG5DxcAc3RvcmFnZS9pbmRleGVkZGIvdW5ibG9ja2VkLXZlcnNpb24tY2hhbmdlcy1zdGRl
cnIudHh0VVQFAAOSjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGa84S6v7er8xAQAAgQQA
AC0AGAAAAAAAAAAAAKSBBBUXAHN0b3JhZ2UvaW5kZXhlZGRiL3VucHJlZml4LXByaXZhdGUtc3Rk
ZXJyLnR4dFVUBQADkozIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABqvOEulR9zbogQAAKYZ
AAA0ABgAAAAAAAAAAACkgZwWFwBzdG9yYWdlL2luZGV4ZWRkYi92YWx1ZS11bmRlZmluZWQtcHJp
dmF0ZS1zdGRlcnIudHh0VVQFAAOTjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGq84S4Xb
6Aq5BQAAuh8AACwAGAAAAAAAAAAAAKSBrBsXAHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlLXVuZGVm
aW5lZC1zdGRlcnIudHh0VVQFAAOTjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGq84S3h2
vYuKBQAAdTUAADUAGAAAAAAAAAAAAKSByyEXAHN0b3JhZ2UvaW5kZXhlZGRiL3ZhbHVlcy1vZGQt
dHlwZXMtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOTjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAGq84S2rr2f9IBgAA/jwAAC0AGAAAAAAAAAAAAKSBxCcXAHN0b3JhZ2UvaW5kZXhlZGRiL3Zh
bHVlcy1vZGQtdHlwZXMtc3RkZXJyLnR4dFVUBQADk4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABqvOEtOCnwo7QUAAMovAAA5ABgAAAAAAAAAAACkgXMuFwBzdG9yYWdlL2luZGV4ZWRkYi92
ZXJzaW9uLWNoYW5nZS1hYm9ydC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5SMyFl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAarzhLJ0/cH8AFAADoLwAAMQAYAAAAAAAAAAAApIHTNBcAc3RvcmFn
ZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtYWJvcnQtc3RkZXJyLnR4dFVUBQADlIzIWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABqvOEtqyh5ECgMAAKgaAAA/ABgAAAAAAAAAAACkgf46FwBz
dG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1ldmVudC1iYXNpYy1wcml2YXRlLXN0ZGVy
ci50eHRVVAUAA5SMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAarzhLwMIgtAQEAABqKQAA
NwAYAAAAAAAAAAAApIGBPhcAc3RvcmFnZS9pbmRleGVkZGIvdmVyc2lvbi1jaGFuZ2UtZXZlbnQt
YmFzaWMtc3RkZXJyLnR4dFVUBQADlIzIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABqvOEtf
eOMe5wUAAH8zAAA5ABgAAAAAAAAAAACkgfZCFwBzdG9yYWdlL2luZGV4ZWRkYi92ZXJzaW9uLWNo
YW5nZS1ldmVudC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5SMyFl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAbrzhLgDybNDoFAAD1KgAAMQAYAAAAAAAAAAAApIFQSRcAc3RvcmFnZS9pbmRleGVk
ZGIvdmVyc2lvbi1jaGFuZ2UtZXZlbnQtc3RkZXJyLnR4dFVUBQADlYzIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIABuvOEvI5rHQggUAAFRBAAA9ABgAAAAAAAAAAACkgfVOFwBzdG9yYWdlL2lu
ZGV4ZWRkYi92ZXJzaW9uLWNoYW5nZS1leGNsdXNpdmUtcHJpdmF0ZS1zdGRlcnIudHh0VVQFAAOV
jMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAG684S5Z+jlmHBQAA0kMAADUAGAAAAAAAAAAA
AKSB7lQXAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb24tY2hhbmdlLWV4Y2x1c2l2ZS1zdGRlcnIu
dHh0VVQFAAOVjMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAG684S5iognXPAwAARxUAAEkA
GAAAAAAAAAAAAKSB5FoXAHN0b3JhZ2UvaW5kZXhlZGRiL3ZlcnNpb25jaGFuZ2VyZXF1ZXN0LWFj
dGl2ZWRvbW9iamVjdC1wcml2YXRlLXN0ZGVyci50eHRVVAUAA5aMyFl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAcrzhLylaeivwDAAAfFQAAQQAYAAAAAAAAAAAApIE2XxcAc3RvcmFnZS9pbmRl
eGVkZGIvdmVyc2lvbmNoYW5nZXJlcXVlc3QtYWN0aXZlZG9tb2JqZWN0LXN0ZGVyci50eHRVVAUA
A5eMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcrzhLeeZbRYsEAACiGAAALAAYAAAAAAAA
AAAApIGtYxcAc3RvcmFnZS9pbmRleGVkZGIvd2FzbS1leGNlcHRpb25zLXN0ZGVyci50eHRVVAUA
A5eMyFl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC8rjhLAAAAAAAAAAAAAAAADwAYAAAAAAAA
ABAA7UGeaBcAc3RvcmFnZS93ZWJzcWwvVVQFAAPki8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAtK44S4AYDaanAAAA0gAAAC0AGAAAAAAAAQAAAKSB52gXAHN0b3JhZ2Uvd2Vic3FsL2FsdGVy
LXRvLWluZm8tdGFibGUtc3RkZXJyLnR4dFVUBQAD1IvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALSuOEuAGA2mpwAAANIAAAA1ABgAAAAAAAEAAACkgfVpFwBzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Utc3RkZXJyLnR4dFVUBQAD1IvIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALWuOEuAGA2mpwAAANIAAABGABgAAAAAAAEAAACkgQtrFwBzdG9yYWdlL3dl
YnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1zdGRlcnIu
dHh0VVQFAAPVi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAta44S/8hL92yAAAASAMAACgA
GAAAAAAAAQAAAKSBMmwXAHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLXN0ZGVyci50eHRV
VAUAA9WLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1rjhLgBgNpqcAAADSAAAAMgAYAAAA
AAABAAAApIFGbRcAc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LXN0ZGVy
ci50eHRVVAUAA9aLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1rjhLvWxBxa0AAACkAQAA
NAAYAAAAAAABAAAApIFZbhcAc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxv
YWQtc3RkZXJyLnR4dFVUBQAD1ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALWuOEuAGA2m
pwAAANIAAAApABgAAAAAAAEAAACkgXRvFwBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQt
c3RkZXJyLnR4dFVUBQAD1ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALauOEuAGA2mpwAA
ANIAAAAqABgAAAAAAAEAAACkgX5wFwBzdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLXN0
ZGVyci50eHRVVAUAA9eLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC2rjhLgBgNpqcAAADS
AAAAMgAYAAAAAAABAAAApIGJcRcAc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtcm93c0FmZmVj
dGVkLXN0ZGVyci50eHRVVAUAA9eLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC2rjhLgBgN
pqcAAADSAAAAPwAYAAAAAAABAAAApIGcchcAc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2Nl
cHRzLW9ubHktb25lLXN0YXRlbWVudC1zdGRlcnIudHh0VVQFAAPXi8hZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAt644S4AYDaanAAAA0gAAAC4AGAAAAAAAAQAAAKSBvHMXAHN0b3JhZ2Uvd2Vi
c3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLXN0ZGVyci50eHRVVAUAA9mLyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC3rjhLvWxBxa0AAACkAQAAPwAYAAAAAAABAAAApIHLdBcAc3RvcmFnZS93
ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1zdGRlcnIudHh0VVQF
AAPai8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAt644S11gFnGwAAAAdgIAAEQAGAAAAAAA
AQAAAKSB8XUXAHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJl
bnQtaGFuZGxlcy1zdGRlcnIudHh0VVQFAAPai8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
t644S4AYDaanAAAA0gAAAC8AGAAAAAAAAQAAAKSBH3cXAHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxl
LXRyYW5zYWN0aW9ucy1zdGRlcnIudHh0VVQFAAPai8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAuK44S4AYDaanAAAA0gAAACgAGAAAAAAAAQAAAKSBL3gXAHN0b3JhZ2Uvd2Vic3FsL251bGwt
Y2FsbGJhY2tzLXN0ZGVyci50eHRVVAUAA9uLyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4
rjhLvWxBxa0AAACkAQAASAAYAAAAAAABAAAApIE4eRcAc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRh
YmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAAPbi8hZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuK44S/8hL92yAAAASAMAADkAGAAAAAAAAQAAAKSB
Z3oXAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stc3RkZXJy
LnR4dFVUBQAD24vIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALiuOEuAGA2mpwAAANIAAAA1
ABgAAAAAAAEAAACkgYx7FwBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNp
b24tc3RkZXJyLnR4dFVUBQAD3IvIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALiuOEuAGA2m
pwAAANIAAAA0ABgAAAAAAAEAAACkgaJ8FwBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWV4
cGFuZC1xdW90YS1zdGRlcnIudHh0VVQFAAPci8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
uK44S0+c45gKAQAAuAIAADkAGAAAAAAAAQAAAKSBt30XAHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0
YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tc3RkZXJyLnR4dFVUBQAD3IvIWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALmuOEu9bEHFrQAAAKQBAABFABgAAAAAAAEAAACkgTR/FwBzdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLXN0ZGVyci50
eHRVVAUAA92LyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC5rjhLgBgNpqcAAADSAAAAOQAY
AAAAAAABAAAApIFggBcAc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93
cml0ZS1zdGRlcnIudHh0VVQFAAPdi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAua44S11g
FnGwAAAAdgIAAEcAGAAAAAAAAQAAAKSBeoEXAHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRl
LXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1zdGRlcnIudHh0VVQFAAPei8hZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAua44S71sQcWtAAAApAEAAEAAGAAAAAAAAQAAAKSBq4IXAHN0
b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LXN0ZGVy
ci50eHRVVAUAA96LyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC5rjhLgBgNpqcAAADSAAAA
KAAYAAAAAAABAAAApIHSgxcAc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMtc3RkZXJyLnR4
dFVUBQAD3ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALmuOEu9bEHFrQAAAKQBAABBABgA
AAAAAAEAAACkgduEFwBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUBQAD3ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ALquOEuAGA2mpwAAANIAAAAyABgAAAAAAAEAAACkgQOGFwBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2stc3RkZXJyLnR4dFVUBQAD34vIWXV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIALquOEu9bEHFrQAAAKQBAABDABgAAAAAAAEAAACkgRaHFwBzdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1zdGRlcnIudHh0VVQFAAPf
i8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuq44S4AYDaanAAAA0gAAACoAGAAAAAAAAQAA
AKSBQIgXAHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stc3RkZXJyLnR4dFVUBQAD4IvI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALquOEuAGA2mpwAAANIAAABDABgAAAAAAAEAAACk
gUuJFwBzdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLXdoZW4tcGFnZS1kZWZlcnMtbG9h
ZGluZy1zdGRlcnIudHh0VVQFAAPgi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAu644S4AY
DaanAAAA0gAAACkAGAAAAAAAAQAAAKSBb4oXAHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXpl
ci1zdGRlcnIudHh0VVQFAAPhi8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAu644S4AYDaan
AAAA0gAAAD4AGAAAAAAAAQAAAKSBeYsXAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWV4Y2VwdGlvbi1jcmFzaC1zdGRlcnIudHh0VVQFAAPhi8hZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAu644S71sQcWtAAAApAEAAD0AGAAAAAAAAQAAAKSBmIwXAHN0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLXN0ZGVyci50eHRVVAUAA+KLyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC7rjhLvWxBxa0AAACkAQAAQwAYAAAAAAABAAAApIG8
jRcAc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtc3RkZXJyLnR4dFVUBQAD4ovIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALyuOEuAGA2m
pwAAANIAAAA0ABgAAAAAAAEAAACkgeaOFwBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJv
ci1jYWxsYmFjay1zdGRlcnIudHh0VVQFAAPji8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
vK44S4AYDaanAAAA0gAAAC8AGAAAAAAAAQAAAKSB+48XAHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLXByb3RvdHlwZS1zdGRlcnIudHh0VVQFAAPji8hZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAvK44S71sQcWtAAAApAEAAEUAGAAAAAAAAQAAAKSBC5EXAHN0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtc3RkZXJyLnR4dFVUBQAD5IvI
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAP2uOEsAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADt
QTeSFwB3ZWJydGMvVVQFAANejMhZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAABq84SwAAAAAA
AAAAAAAAABMAGAAAAAAAAAAQAO1BeJIXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9VVAUAA2uMyFl1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAArzhL5jsgvgABAAC9AwAAIwAYAAAAAAABAAAApIHFkhcA
d2VicnRjL2RhdGFjaGFubmVsL2Jhc2ljLXN0ZGVyci50eHRVVAUAA1+MyFl1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAD9rjhLNMTUOaoAAAAYAQAAJwAYAAAAAAABAAAApIEilBcAd2VicnRjL2Rh
dGFjaGFubmVsL2Jhc2ljLXRjcC1zdGRlcnIudHh0VVQFAANejMhZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAAK84S7ZxRph5AAAAxwAAACQAGAAAAAAAAQAAAKSBLZUXAHdlYnJ0Yy9kYXRhY2hh
bm5lbC9iaW5hcnktc3RkZXJyLnR4dFVUBQADX4zIWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AACvOEu2cUaYeQAAAMcAAABAABgAAAAAAAEAAACkgQSWFwB3ZWJydGMvZGF0YWNoYW5uZWwvYnVm
ZmVyZWRBbW91bnRMb3dUaHJlc2hvbGQtZGVmYXVsdC1zdGRlcnIudHh0VVQFAANgjMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAAa84SzdbC0WMAAAAZgMAACYAGAAAAAAAAQAAAKSB95YXAHdl
YnJ0Yy9kYXRhY2hhbm5lbC9jcmVhdGlvbi1zdGRlcnIudHh0VVQFAANhjMhZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAAa84SzqRTCU+AAAAPwAAAC8AGAAAAAAAAQAAAKSB45cXAHdlYnJ0Yy9k
YXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1ldmVudC1zdGRlcnIudHh0VVQFAANhjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAa84S7ZxRph5AAAAxwAAACwAGAAAAAAAAQAAAKSBipgXAHdlYnJ0
Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1nYy1zdGRlcnIudHh0VVQFAANhjMhZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAAa84S7ZxRph5AAAAxwAAAC8AGAAAAAAAAQAAAKSBaZkXAHdlYnJ0
Yy9kYXRhY2hhbm5lbC9kYXRhY2hhbm5lbC1zdGF0cy1zdGRlcnIudHh0VVQFAANijMhZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAAa84SztXgBJCAAAAfgAAADIAGAAAAAAAAQAAAKSBS5oXAHdl
YnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1zdGRlcnIudHh0VVQFAANijMhZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAa84S2QO6WZ+AAAAEAEAACsAGAAAAAAAAQAAAKSB
+ZoXAHdlYnJ0Yy9kYXRhY2hhbm5lbC9tdWx0aS1jaGFubmVsLXN0ZGVyci50eHRVVAUAA2KMyFl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAGrzhLCyySugQCAACr1AAAMgAYAAAAAAABAAAApIHc
mxcAd2VicnRjL2RhdGFjaGFubmVsL211bHRpcGxlLWNvbm5lY3Rpb25zLXN0ZGVyci50eHRVVAUA
A2uMyFl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABXrzhLtrJ+X1zSAwBvBl4AGQAYAAAAAAAB
AAAApIFMnhcAd3B0d2tfcHJvY2Vzc19sb2cub3V0LnR4dFVUBQADBo3IWXV4CwABBPUBAAAEFAAA
AFBLBQYAAAAAdwJ3Ak8vAQD7cBsAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321785</attachid>
            <date>2017-09-25 19:31:19 -0700</date>
            <delta_ts>2017-09-25 19:41:02 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>162600</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDY3KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAg
ICBhc3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30K
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpIG9mIGlu
c3RhbmNlcykKKyAgICAgICAgdmFsaWRhdGUoaSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3RvID0geworICAgIGdldCB4
KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCitsZXQgYWx0ZXJuYXRlUHJv
dG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAgZ2V0IHgoKSB7CisgICAg
ICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5f
eDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29u
c3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7CisgICAgICAgIH0KKyAgICB9
OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgcCkgeworICAg
IGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgYXJyID0g
W107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkKKyAgICBhcnIucHVzaChm
b28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBh
IG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitmb3IgKGxldCBhIG9mIGFy
cikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFs
aWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEu
X19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwg
bnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUzIEBACitsZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlKCkgewor
ICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25z
dHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5
cGUueSA9IHk7CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisKKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgcG9seVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5zdGFuY2UoKTsKK1N0cmlu
Zy5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitTeW1ib2wucHJvdG90
eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBbCisgICAg
ImZvbyIsCisgICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAgICBTeW1ib2woImJhciIp
LAorXTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVu
Y3Rpb24gdmFsaWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIwKTsKKyAgICBhc3NlcnQo
cy55ID09PSB5KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3BlcnR5ID09PSB1bmRlZmlu
ZWQpOworICAgIGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7
CisgICAgYXNzZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxp
ZGF0ZShzKTsKKyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0luc3RhbmNlLl9fcHJvdG9f
XyA9IHt6OjQwMCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAg
IGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9
CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVj
dC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACitmdW5jdGlvbiBmb28oKSB7Cisg
ICAgZnVuY3Rpb24gYmFyKCkgeworICAgICAgICB0aGlzLnggPSA0MjsKKyAgICB9CisgICAgYmFy
LnByb3RvdHlwZSA9IDUwOworICAgIHJldHVybiBuZXcgYmFyKCk7Cit9CisKK2Z1bmN0aW9uIGFz
c2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOwor
fQorCitsZXQgaXRlbXMgPSBbCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisg
ICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCitdOworCitmdW5jdGlvbiB2YWxpZGF0
ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhlcmUgPT09IHVuZGVmaW5lZCk7CisgICAg
YXNzZXJ0KGl0ZW0ueCA9PT0gNDIpOworICAgIGFzc2VydChpdGVtLl9fcHJvdG9fXyA9PT0gT2Jq
ZWN0LnByb3RvdHlwZSk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpCisgICAgICAgIHZhbGlkYXRlKGl0ZW0pOworfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjIyNDY3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiAr
MjI3LDcgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9N
ZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRl
Y29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5
Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBi
eXRlY29kZS9PcGNvZGUuY3BwCkBAIC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuY3BwCiBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Q
cm9ncmFtQ29kZUJsb2NrLmNwcAogYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuY3BwCiBieXRlY29kZS9QdXRCeUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
LmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjQ2NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4
MDFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21w
aWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzkyMzNDMkIxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8q
IEpJVE1hdGhJQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTc5MkNCMzRBMUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRF
RUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVF
IC8qIEdldFB1dEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3OTY1QzIxNzFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3Rl
cnNCeUdyYXBoQ29sb3JpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5NjVDMjE1MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVy
c0J5R3JhcGhDb2xvcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTc5NkRBQTJCMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlD
Q0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3
MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpJVE1hdGhJQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFD
NEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmln
aW5NYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5N
YXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0
NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1
Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc5NUYwOTlDMUUwMzYwMDUwMEJCRTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGls
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMw
NTlFRSAvKiBHZXRQdXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdl
dFB1dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5
NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlH
cmFwaENvbG9yaW5nLmNwcDsgcGF0aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzcz
NDQsOCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2Nr
LmggKi8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9u
LmNwcCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRp
b24uaCAqLywKKwkJCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwICovLAorCQkJCTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlk
RmxhZ3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuaCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5j
cHAgKi8sCkBAIC04NTI5LDYgKzg1MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZF
RCAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0
MUI0RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2
OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8q
IEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRF
X05BTUVTCiAKIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFt
ZSB7ICJQcml2YXRlU3ltYm9sLiR2bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9Owor
U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7
ICJQcml2YXRlU3ltYm9sLl9fcHJvdG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9
OwogCiB9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1F
UwogCiBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVO
YW1lOworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWU7CiB9CiAKICNkZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19F
TlRSWShuYW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1l
LmltcGwoKSwgJm1fIyNuYW1lKTsKQEAgLTIzMCw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElO
SVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0
ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihT
eW1ib2xzOjpkb2xsYXJWTVByaXZhdGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCY+KFN5bWJvbHM6OnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAg
ICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRF
X1RPX1BVQkxJQ19FTlRSWSkKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJT
X0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpA
QCAtMjM4LDYgKzI0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lE
RU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElD
X1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2Rv
bGxhclZNUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1
YmxpY1RvUHJpdmF0ZU1hcC5hZGQobV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVBy
aXZhdGVOYW1lKTsKKyAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUuaW1wbCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQ
cm90byk7CisgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVy
cy0+dW5kZXJzY29yZVByb3RvLmltcGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OwogICAgIH0KIAogICAgIGNvbnN0IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0
IElkZW50aWZpZXImKSBjb25zdDsKQEAgLTI1MCw2ICsyNTQsNyBAQCBwdWJsaWM6CiAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFS
RV9CVUlMVElOX1NZTUJPTF9BQ0NFU1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRv
bGxhclZNUHVibGljTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9kb2xsYXJWTVByaXZhdGVOYW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1
bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVu
dGlmaWVyOwpAQCAtMjU4LDYgKzI2Myw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklW
QVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZ
TUJPTFMpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBI
YXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVu
dGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1
YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNN
YXA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1
ZGUgIlN1cGVyU2FtcGxlci5oIgogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5j
bHVkZSAiTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1l
c3BhY2UgQWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBm
YWxzZTsKIH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0Fj
Y2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUo
dHlwZSkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4oV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0
TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJlKTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNv
bmRpdGlvblNldDsKQEAgLTc5LDcgKzgyLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IEFjY2Vzc0Nhc2U6OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9OwogCi0g
ICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwg
b3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1
cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikpOwogfQogCiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKApAQCAtOTYsNyAr
OTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5l
d1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwg
bmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpKTsKIH0KIAogQWNjZXNzQ2FzZTo6
fkFjY2Vzc0Nhc2UoKQpAQCAtMTM1LDcgKzEzOCw5IEBAIFZlY3RvcjxXYXRjaHBvaW50U2V0Kiwg
Mj4gQWNjZXNzQ2FzZTo6Y28KICAgICBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IHJlc3VsdDsK
IAogICAgIGlmICgoc3RydWN0dXJlKCkgJiYgc3RydWN0dXJlKCktPm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkKLSAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3Bl
cnR5V2F0Y2hwb2ludCgpKQorICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJv
cGVydHlXYXRjaHBvaW50KCkKKyAgICAgICAgLy8gT09QUzogYWRkIGEgdGVzdCBmb3IgdGhpcwor
ICAgICAgICB8fCAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbiAmJiBtX3Byb3RvdHlwZUFjY2Vzc0No
YWluLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQuYXBw
ZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRTZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAg
ICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkKQEAgLTE1MSw2ICsxNTYsOSBAQCBib29sIEFjY2Vzc0Nh
c2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlM
ZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CkBAIC0yMTAsNiArMjE4LDEzIEBAIGJvb2wg
QWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXND
YXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VP
YmplY3QoKTsKICAgICB9CiAgICAgZGVmYXVsdDoKKyAgICAgICAgLy8gT09QUzogbWFrZSBzdXJl
IHRoaXMgaXMgZXhhY3RseSB3aGF0IHdlIHdhbnQKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIGlmICghb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gKm1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW47Cisg
ICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkgfHwgIW90
aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTIxOSwyMiArMjM0LDI2IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25z
dCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJcbiIsIG1f
dHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQucHJpbnQo
Y29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQotICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUo
KSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNlIGlmICht
X3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9p
bnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1f
b2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQp
OwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIG91dC5wcmludChjb21tYSwgInByb3RvdHlwZSBh
Y2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAgb3V0LnByaW50KGNv
bW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBv
aW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJl
KQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1
bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1h
KTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjIsMTIgQEAgYm9vbCBBY2Nl
c3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAm
JiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAg
ICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNl
dC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vz
c29yKCkpIHsKQEAgLTI3Myw2ICsyOTgsMTEgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVU
cmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1f
c3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVy
ZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsK
ICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJl
bnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArNDAyLDY0IEBAIHZv
aWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDog
ewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJv
eHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0Nl
bGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUo
KSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAg
Ly9kYXRhTG9nTG4oIkdlbmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAg
Ly9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAg
ICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAg
ICAgIGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWlu
KCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKClbaV07CisgICAgICAgICAgICAgICAgYm9v
bCBhdEVuZCA9IGkgKyAxID09IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkuc2l6ZSgp
OworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChh
dEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zm
c2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02
NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsgLy8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBzdG9y
ZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJvdG90eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAgICAg
ICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5
UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlz
SW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2
NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhi
YXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0
LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3Ry
dWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpz
dHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsK
KyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVP
ZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5s
b2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZz
ZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5k
KAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAg
ICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkp
LAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC01MDQsMTMgKzU3MiwxNyBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBi
YXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQ
UjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAg
IGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihh
bHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOwotICAgICAgICAg
ICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIGlmIChtX3By
b3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2Ny
YXRjaEdQUjsgLy8gdmlhIGdlbmVyYXRlV2l0aEd1YXJkISBPT1BTOiB0aGlzIGlzIHVnbHkuCisg
ICAgICAgICAgICAvL2ppdC5wcmludCgiRG9pbmcgcG9seSBwcm90byBsb2FkIVxuIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkg
eworICAgICAgICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAg
ICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsK
KyAgICAgICAgfQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJS
ZWc7CiAgICAgICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9
IEN1c3RvbUFjY2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBt
X3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAt
MjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRl
ICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vz
c0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTE4Niw5ICsxODcsMjMgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNjZXNzQ2Fz
ZSgpOwogCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiAhIW1fcHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgfQorCiBwcm90ZWN0ZWQ6Ci0gICAg
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOwotICAgIEFj
Y2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKKyAgICBBY2Nlc3NDYXNlKFZN
JiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPik7CisgICAgQWNjZXNzQ2FzZShBY2Nlc3NDYXNlJiYpID0gZGVmYXVs
dDsKKyAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmIG90aGVyKQorICAgICAgICA6IG1f
dHlwZShvdGhlci5tX3R5cGUpCisgICAgICAgICwgbV9zdGF0ZShvdGhlci5tX3N0YXRlKQorICAg
ICAgICAsIG1fb2Zmc2V0KG90aGVyLm1fb2Zmc2V0KQorICAgICAgICAsIG1fc3RydWN0dXJlKG90
aGVyLm1fc3RydWN0dXJlKQorICAgICAgICAsIG1fY29uZGl0aW9uU2V0KG90aGVyLm1fY29uZGl0
aW9uU2V0KQorICAgICAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ob3RoZXIubV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi0+Y2xvbmUoKSkKKyAgICB7IH0KKwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJh
dG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkg
eyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0yMjcsNiArMjQyLDggQEAgcHJpdmF0ZToK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5Myw3ICs1OTMsNyBA
QCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICBp
bnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29wTGVuZ3RoIC0gMl0udS5vcGVyYW5kOwog
CiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0
aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxp
emVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LmdldCgpLCB0aGlz
LCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjQ2
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9
IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1
ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1
cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2Uu
Y3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0Miwx
NyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29u
c3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6Okdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vz
c0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5
cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9jdXN0b21TbG90QmFzZS5zZXRNYXlC
ZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmpl
Y3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+
IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
YyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAgICBzdGQ6Om9wdGlv
bmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDE4ICs2MywxOSBAQCBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQs
IGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICBy
ZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0
b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVz
dWx0KTsKIH0KIAorLy8gT09QUzogZG8gc29tZXRoaW5nIGhlcmUuIFdobyBjYWxscyB0aGlzPwog
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBj
dXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VS
VCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3Vz
dG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RC
YXNlLCBudWxscHRyKSk7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLnNldHRlciA9IGN1
c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxNCArNDYs
MTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbWl0RE9NSklUR2V0dGVyKEFjY2Vzc0dlbmVyYXRp
b25TdGF0ZSYsIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0dGVyKiwgR1BSUmVnIGJhc2VGb3JHZXRH
UFIpOwogCisgICAgLy8gT09QUzogY29uc2lkZXIgd2hhdCB0aGlzIGN0b3IgaXMgZm9yCiAgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCiAg
ICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNs
b3RCYXNlID0gbnVsbHB0ciwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5v
dGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jID0gbnVsbHB0ciwKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0g
bnVsbHB0ciwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVs
bG9wdCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwog
CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKICAgICAg
ICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYyA9IG51bGxwdHIsCkBAIC02Nyw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lk
KiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVl
OyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCos
IEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUq
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNo
cG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1
bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVj
dHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9u
U3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1
cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xh
c3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNl
U3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9y
IHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVj
dHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50
cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAy
MjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFj
ZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQor
ICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2
bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2Fz
ZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyAr
MzgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5h
bWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50
KiBtb2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNl
KHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1
bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkK
IHsKICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1l
c3BhY2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisj
aW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0
b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVy
ZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIGJvb2wgaXNQb2x5UHJv
dG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpOworICAgICAg
ICAvL2lmIChleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZSkg
eworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAg
ICAvLyAgICBkYXRhTG9nTG4oIkV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoZXhlY3V0YWJsZSks
ICIgaGFzIGJlZW4gY29uc3RydWN0ZWQgbW9yZSB0aGFuIG9uY2UuIFByb3RvdHlwZSBzdHJ1Y3R1
cmU6ICIsIFJhd1BvaW50ZXIocHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pKSk7CisgICAgICAgIC8v
ICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZHVtcChXVEY6OmRhdGFGaWxlKCkpOworICAg
ICAgICAvLyAgICBkYXRhTG9nTG4oIlxuLS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgIC8v
fQorCisgICAgICAgIGlmIChleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0
cnVjdHVyZSAmJiBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAg
ICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+cmFyZURhdGEoKS0+cG9seVByb3RvU3RydWN0dXJlKHZtKSkgeworICAgICAgICAgICAg
ICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAg
ICAgICAgICAgICAvL2RhdGFMb2dMbigiYWxyZWFkeSBoYXZlIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUo
KSkpOworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKS0+c291cmNlKCkudmlldygpKTsKKyAgICAgICAgICAgICAgICAvL3N0cnVjdHVyZS0+ZHVt
cChXVEY6OmRhdGFGaWxlKCkpOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgICAgIE1hcmtl
ZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSkpOworCisgICAgICAgICAgICAg
ICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisgICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICBtX2lubGluZUNhcGFj
aXR5ID0gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2FsbCBpbnRvIGEg
ZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMgcG9seSBwcm90
bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVudGFsbHkgZ2V0
IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJl
RGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAg
ICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICAg
ICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworCisgICAgICAgIGlm
IChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZl
cnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUoKSkpIHsKKyAgICAgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdy
aXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gaW5mZXJy
ZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+bV9jb25z
dHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisgICAgICAgIH0KKyAgICAgICAgLy9pZiAo
aXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0t
LS0tLS0iKTsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCJHb2luZyBwb2x5IHByb3RvIGZvciBl
eGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOwor
ICAgICAgICAvLyAgICBkYXRhTG9nTG4oY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpLT5zb3Vy
Y2UoKS52aWV3KCkpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIldoaWNoIGhhcyBleGVjdXRh
YmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOworICAgICAg
ICAvL30KKworICAgICAgICBleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0
cnVjdHVyZS5zZXQodm0sIGV4ZWN1dGFibGUsIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKSk7Cisg
ICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhh
dCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAv
LyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUg
cmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BT
OiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFz
c2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBh
Y2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgewor
ICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9u
U2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICAvLyBPT1BTOiBu
ZWVkIHRvIG1ha2UgdGhpcyBBUEkgbW9yZSBjbGVhci4KKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0
eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChw
cm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmlu
Z3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5
TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwor
CisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsK
LSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1
cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4K
LSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElu
bGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAg
ICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4g
aGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
LSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2Nh
dG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
Ci0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFs
bG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
LQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29u
c3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7
CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQg
cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUp
Ci0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0
KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAg
c2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1l
QXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5
bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQ
cm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0
aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVW
ZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJv
cGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVy
dHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0g
cHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAg
ICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2
ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJu
IGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1f
YWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVy
YXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biBnZW5lcmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3Bl
cnR5Q29uZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgK
ICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNh
c2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlD
b25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2Jq
ZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsK
ICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYyLDExIEBAIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJv
eHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBPT1BTOiBXZSBuZWVk
IHNvbWUgc3RvcnkgaGVyZSBvZiBhbiBpbnRlcmxlYXZpbmcuCisgICAgICAgICAgICByZXR1cm4g
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3Vw
KGdsb2JhbE9iamVjdCk7CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzksNyArMzM5LDcgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3Vs
dCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vzc0ludGVybmFsOjp2
ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZWdlbmVyYXRlIHdpdGggbV9saXN0OiAiLCBsaXN0
RHVtcChtX2xpc3QpLCAiXG4iKTsKICAgICAKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3Rh
dGUodm0pOworICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSwgY29kZUJsb2NrLT5n
bG9iYWxPYmplY3QoKSk7CiAKICAgICBzdGF0ZS5hY2Nlc3MgPSB0aGlzOwogICAgIHN0YXRlLnN0
dWJJbmZvID0gJnN0dWJJbmZvOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1BvbHltb3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsMTQgKzE3MSwxNiBAQCBwcml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vzc0dl
bmVyYXRpb25TdGF0ZSB7Ci0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAgICBB
Y2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogICAgICAgICA6IG1fdm0odm0pIAorICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9i
amVjdCkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0aW9u
SGFuZGxpbmcoZmFsc2UpCiAgICAgICAgICwgbV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lmRXhj
ZXB0aW9uKGZhbHNlKQogICAgICAgICAsIG1fY2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFsc2Up
CiAgICAgewogICAgIH0KICAgICBWTSYgbV92bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9i
YWxPYmplY3Q7CiAgICAgQ0NhbGxIZWxwZXJzKiBqaXQgeyBudWxscHRyIH07CiAgICAgU2NyYXRj
aFJlZ2lzdGVyQWxsb2NhdG9yKiBhbGxvY2F0b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2Nh
dG9yOjpQcmVzZXJ2ZWRTdGF0ZSBwcmVzZXJ2ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRp
b24uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDE0
IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBp
cyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAg
ICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3
b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4K
KyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1
aWQoKSk7CiAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKICAg
ICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQpAQCAtMTMy
LDYgKzE0MCwxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIGl0J3MgYSBkaWN0aW9uYXJ5
LlxuIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KKworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHBy
b3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdl
IHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBP
UEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRBdHRyaWJ1dGVzOwogICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJy
ZW50bHkodWlkKCksIGN1cnJlbnRBdHRyaWJ1dGVzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNl
c1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9
ICpiYXNlLT52bSgpOworCisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8g
bnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKwor
ICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gcmVzdWx0KG5ldyBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKKworICAg
IHdoaWxlICh0cnVlKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+
c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nl
c0FyZUNhY2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZt
LCBhc09iamVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICByZXN1bHQtPm1fY2hh
aW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7
CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNj
ZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29s
LiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhp
bmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdy
ZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90byB8PSAh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVu
dCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYg
KCFmb3VuZCAmJiAhIXRhcmdldCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitib29sIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJv
cGVydHlXYXRjaHBvaW50KCkgY29uc3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJl
IDogbV9jaGFpbikgeworICAgICAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitib29sIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0
IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFp
biA9PSBvdGhlci5tX2NoYWluOworfQorCit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpkdW1w
KFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQb2x5UHJvdG90eXBl
QWNjZXNzQ2hhaW4iKTsKKyAgICBvdXQucHJpbnQoIjogW1xuIik7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KCJcdCIpOworICAg
ICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICAgICAgb3V0LnByaW50KCJcbiIpOworICAg
IH0KKyAgICBvdXQucHJpbnQoIl0iKTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0No
YWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Owor
Y2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisK
K2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1
YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0g
ZGVmYXVsdDsKKworICAgIC8vIFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBib29sJiB1c2VzUG9seVByb3RvKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5p
cXVlPFByb3RvdHlwZUFjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3QgVmVj
dG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAg
IHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAgIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0OworICAgIGJvb2wgb3Bl
cmF0b3IhPShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCisgICAgYm9vbCBuZWVk
SW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUHJvdG90
eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9j
aGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdzIHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0
aGlzIHNob3VsZCBiZSByZW1vdmVkLgorfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFj
Y2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vz
c0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9u
YWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNT
RVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwot
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2
aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flBy
b3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAg
ICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQog
ICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2
b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQp
OworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9w
ZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlh
UHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9Ob2Rlc0NvZGVnZW4uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4
NDgsNiArMzg0OCw5IEBAIFJlZ2lzdGVySUQqIENsYXNzRXhwck5vZGU6OmVtaXRCeXRlY29kZSgK
IAogICAgICAgICBnZW5lcmF0b3IuZW1pdERpcmVjdFB1dEJ5SWQoY29uc3RydWN0b3IuZ2V0KCks
IGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBzdXBlcmNsYXNzLmdl
dCgpLCBQcm9wZXJ0eU5vZGU6OlVua25vd24pOwogICAgICAgICBnZW5lcmF0b3IuZW1pdExhYmVs
KHN1cGVyY2xhc3NJc051bGxMYWJlbC5nZXQoKSk7CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBt
YWtlcyBpdCBzbyB0aGF0IGFueSBkZXJpdmVkIGNsYXNzIHByb3RvdHlwZSBvYmplY3Qgd2lsbCBh
bHdheXMgZ2V0IGEgbmV3IHN0cnVjdHVyZQorICAgICAgICAvLyBpZiBtdWx0aXBseSBjb25zdHJ1
Y3RlZCBiZWNhdXNlIHdlIGRvbid0IGNhY2hlIHByb3RvdHlwZSB0cmFuc2l0aW9ucy4KICAgICAg
ICAgZ2VuZXJhdG9yLmVtaXREaXJlY3RQdXRCeUlkKHByb3RvdHlwZS5nZXQoKSwgZ2VuZXJhdG9y
LnByb3BlcnR5TmFtZXMoKS51bmRlcnNjb3JlUHJvdG8sIHByb3RvUGFyZW50LmdldCgpLCBQcm9w
ZXJ0eU5vZGU6OlVua25vd24pOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzMzLDYgKzM3MzMsOCBAQCBOb2RlKiBCeXRlQ29kZVBhcnNlcjo6bG9hZCgKICAg
ICAgICAgICAgICAgICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUgdmFyaWFudC5zdHJ1Y3R1cmVT
ZXQoKSBhZ3JlZSBvbiB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBiZQogICAgICAgICAgICAgICAg
IC8vIGhpbGFyaW91c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBOb3RlIHRoYXQgd2UgYXJlIHJl
bHlpbmcgb24gc3RydWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAgICAgICAgICAgLy8gYXQgbGVh
c3Qgb25lIGVsZW1lbnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1ZSBoZXJlIGJlY2F1c2Ugb2Yg
aG93IEdldEJ5SWRTdGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgorCisgICAgICAgICAgICAgICAg
Ly8gT09QUzogdGhpcyBuZWVkcyBhdHRlbnRpb24KICAgICAgICAgICAgICAgICBKU09iamVjdCog
cHJvdG90eXBlID0gdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKVswXS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCk7CiAgICAgICAgICAgICAgICAgYm9vbCBhbGxBZ3JlZSA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHZhcmlhbnQuc3RydWN0dXJlU2V0KCkuc2l6
ZSgpOyArK2kpIHsKQEAgLTQzMDgsNiArNDMxMCw4IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgfQogCiAgICAgICAgIGNhc2Ugb3BfY3JlYXRlX3Ro
aXM6IHsKKyAgICAgICAgICAgIC8vIE9PUFM6IHRoaW5rIHRocm91Z2ggdGhpcyBjb2RlLgorCiAg
ICAgICAgICAgICBpbnQgY2FsbGVlT3BlcmFuZCA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQ7CiAgICAgICAgICAgICBOb2RlKiBjYWxsZWUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGNh
bGxlZU9wZXJhbmQpKTsKIApAQCAtNDMzMCwxMiArNDMzNCwxNCBAQCBib29sIEJ5dGVDb2RlUGFy
c2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAg
ICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+
cmFyZURhdGEoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0
aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBU
aGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAg
ICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVy
ZShzdHJ1Y3R1cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6
ZShyYXJlRGF0YSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBv
aW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwg
bGl2ZSB1cCB0byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRv
R3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dy
YXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJl
KSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0dyYXBoLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJv
b2wgR3JhcGg6OmNhbkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlw
ZSogYXJyYXlQcm90b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdp
bi5zZW1hbnRpYyktPmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsK
ICAgICB2YWx1ZS5tX3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBz
dHJ1Y3R1cmUpIHsKLSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpID09IGFycmF5UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSA9PSBhcnJheVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0
aW9uYXJ5KCkKICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0u
cHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAg
ICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0g
SlNGdW5jdGlvblR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0
aW9uKj4oY29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4g
Y29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpT
T2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwganND
YXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2
bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpTVmFsdWUg
cHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzODYsNyArNDM4
NiwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
IHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJv
LCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRy
ZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3Io
KSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFk
ZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVy
ZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJh
bmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisKKyAgICAg
ICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRlciBoZXJlLiBGaWxlIGEgYnVnIG1heWJl
PworICAgICAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkFkZHJlc3Moc3RydWN0dXJlR1BS
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgIHNs
b3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hJZkludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIp
KSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRyLCBh
bGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUiwg
c2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6
QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVE
YXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVz
dWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZv
ck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJS
ZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVn
IHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BS
UmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFuIG9i
amVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1f
aml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE2
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNyb0Fz
c2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBl
cmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpF
cXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxs
Ojp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUpKTsK
LSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2Ny
YXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQ
YXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUo
Km1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7CisgICAg
Ly9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcp
OworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywg
U3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5v
dFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNS
ZWcpKTsKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdyb25nIGlmIHdlIGFsbG93IG91dCBvZiBsaW5l
IG9mZnNldHMgZm9yIHBvbHkgcHJvdG8uCisgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoc2Ny
YXRjaDNSZWcsIHNjcmF0Y2gzUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkJh
c2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQs
IEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBu
b3RQb2x5UHJvdG8ubGluaygmbV9qaXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNj
cmF0Y2hSZWcpOworCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0
LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJl
Zyk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJl
Z3Moc2NyYXRjaFJlZykpLmxpbmtUbyhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM4OSwx
MiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNw
ZWN1bGF0ZUNlbGxPcGVyYW5kIHByb3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAg
ICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDIodGhpcyk7CisgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAg
ICAgCiAgICAgICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAg
ICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNj
cmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9
IHNjcmF0Y2gzLmdwcigpOwogICAgICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAg
aXNDZWxsID0gbV9qaXQuYnJhbmNoSWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAg
ICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAg
LTMzOTQsNyArMzQwNCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9m
KE4KICAgICAgICAgCiAgICAgICAgIGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAg
ICAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBl
UmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0
Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0
KTsKIApAQCAtMzQwNywxMyArMzQxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
SW5zdGFuY2VPZihOCiAgICAgCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0
aGlzKTsKICAgICAKICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJS
ZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVn
ID0gc2NyYXRjaC5ncHIoKTsKICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIo
KTsKKyAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBz
Y3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qo
bm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNj
cmF0Y2gzUmVnKTsKIAogICAgIGJsZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUp
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgbm9uU3BlY3VsYXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29s
IGludmVydCA9IGZhbHNlKTsKICAgICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSos
IGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZG
b3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BS
UmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcg
cHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gy
UmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lv
biAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg4ODcsMTAgKzg4ODcsMTIgQEAgcHJpdmF0ZToKICAgICAg
ICAgCiAgICAgICAgIExCYXNpY0Jsb2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwog
ICAgICAgICBMQmFzaWNCbG9jayBsb29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJh
c2ljQmxvY2sgbG9hZFByb3RvdHlwZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBM
QmFzaWNCbG9jayBsb2FkUG9seVByb3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJh
c2ljQmxvY2sgY29tcGFyZVByb3RvdHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExC
YXNpY0Jsb2NrIG5vdFlldEluc3RhbmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJh
c2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2lj
QmxvY2sgbG9hZFByb3RvdHlwZURpcmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExC
YXNpY0Jsb2NrIGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAg
ICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAg
ICAKICAgICAgICAgTFZhbHVlIGNvbmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQx
KCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpCkBAIC04OTA4LDE2ICs4OTEwLDI4IEBAIHByaXZh
dGU6CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3Io
Y2VsbCk7CiAgICAgICAgIG1fb3V0Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291
dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBw
ZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBt
X291dC5waGkoSW50NjQsIG9yaWdpbmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1f
b3V0LmxvYWQ4WmVyb0V4dDMyKHZhbHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwog
ICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBt
X291dC5jb25zdEludDMyKFByb3h5T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShs
b2FkUHJvdG90eXBlRGlyZWN0KSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAg
ICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0lu
c3RhbmNlU2xvdykpOwogCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJl
Y3QsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlw
ZUJpdHMsIGxvYWRQb2x5UHJvdG8pOwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0
cnVjdHVyZSh2YWx1ZSk7Ci0gICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQu
bG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAg
ICBMVmFsdWUgcHJvdG90eXBlQml0cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMu
U3RydWN0dXJlX3Byb3RvdHlwZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3Rv
eXBlID0gbV9vdXQuYW5jaG9yKHByb3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2go
aXNJbnQzMihwcm90b3R5cGVCaXRzKSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29t
cGFyZVByb3RvdHlwZSkpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8s
IGNvbXBhcmVQcm90b3R5cGUpOworICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQo
cHJvdG90eXBlQml0cywgbV9vdXQuY29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1
ZUZyb21CbG9jayBwb2x5UHJvdG8gPSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5s
b2FkNjQobV9vdXQuYmFzZUluZGV4KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2
YWx1ZSwgaW5kZXgsIFNjYWxlRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2Uo
KSkpKTsKKyAgICAgICAgbV9vdXQuanVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBt
X291dC5hcHBlbmRUbyhjb21wYXJlUHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAg
IExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lw
ZSwgcG9seVByb3RvKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9
IG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgK
ICAgICAgICAgICAgIG1fb3V0LmVxdWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIy
MjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2Vv
ZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3Qg
aW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVy
d2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQg
b2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0o
KSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUo
KnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBT
dHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzU3RvcmVk
UHJvdG90eXBlID0gYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHpl
cm9FeHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdU
MiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSks
IHJlZ1Q0KTsKKyAgICBoYXNTdG9yZWRQcm90b3R5cGUubGluayh0aGlzKTsKKyAgICBtb3ZlKHJl
Z1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdU
MiwgcmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlz
KTsKIApAQCAtNzcwLDYgKzc3NSw4IEBAIHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKElu
c3RydWN0aW8KICAgICBSZWdpc3RlcklEIGNhY2hlZEZ1bmN0aW9uUmVnID0gcmVnVDQ7CiAgICAg
UmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDM7CiAKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdy
b25nIHcvIHBvbHkgcHJvdG8hCisKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGNhbGxlZSwg
Y2FsbGVlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2g4KE5vdEVxdWFsLCBBZGRyZXNzKGNh
bGxlZVJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihKU0Z1
bmN0aW9uVHlwZSkpKTsKICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbGVlUmVnLCBKU0Z1bmN0aW9u
OjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YVJlZyk7CkBAIC03NzgsNiArNzg1LDEwIEBA
IHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKEluc3RydWN0aW8KICAgICBsb2FkUHRyKEFk
ZHJlc3MocmFyZURhdGFSZWcsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVy
ZSgpKSwgc3RydWN0dXJlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2hUZXN0UHRyKFplcm8s
IGFsbG9jYXRvclJlZykpOwogCisgICAgLy8gT09QUywgd2UgY2FuIGRvIGJldHRlciBoZXJlIQor
ICAgIGxvYWQ2NChBZGRyZXNzKHN0cnVjdHVyZVJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZz
ZXQoKSksIHNjcmF0Y2hSZWcpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaElmSW50MzIoSlNWYWx1
ZVJlZ3Moc2NyYXRjaFJlZykpKTsKKwogICAgIGxvYWRQdHIoY2FjaGVkRnVuY3Rpb24sIGNhY2hl
ZEZ1bmN0aW9uUmVnKTsKICAgICBKdW1wIGhhc1NlZW5NdWx0aXBsZUNhbGxlZXMgPSBicmFuY2hQ
dHIoRXF1YWwsIGNhY2hlZEZ1bmN0aW9uUmVnLCBUcnVzdGVkSW1tUHRyKEpTQ2VsbDo6c2Vlbk11
bHRpcGxlQ2FsbGVlT2JqZWN0cygpKSk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoUHRyKE5vdEVx
dWFsLCBjYWxsZWVSZWcsIGNhY2hlZEZ1bmN0aW9uUmVnKSk7CkBAIC04MDAsNiArODExLDcgQEAg
dm9pZCBKSVQ6OmVtaXRTbG93X29wX2NyZWF0ZV90aGlzKEluc3RydQogICAgIGxpbmtTbG93Q2Fz
ZShpdGVyKTsgLy8gZG9lc24ndCBoYXZlIGFuIGFsbG9jYXRpb24gcHJvZmlsZQogICAgIGxpbmtT
bG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKG5vIGFsbG9jYXRvcikKICAgICBs
aW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkIChhbGxvY2F0b3IgZW1wdHkp
CisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCwgc3RydWN0dXJl
IGhhcyBwb2x5IHByb3RvCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBjYWNoZWQgZnVuY3Rp
b24gZGlkbid0IG1hdGNoCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMs
IGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2NyZWF0ZV90aGlzKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYg
KzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRP
ZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsMzcgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3Ry
dWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1
cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2Vu
Y2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAg
ICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0g
Z2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2
bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAg
ICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAg
ICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAg
IGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGlu
dmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAo
IXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQgaW5zdGVhZCBmb3IgZmFzdGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIGlm
IChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBn
ZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RC
YXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRP
ZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAg
ICAgICAgIC8vIE9PUFM6IGFyZSB0aGVzZSBleHByZXNzaW9uIGVxdWl2YWxlbnQ/CisgICAgICAg
ICAgICAvL29mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlv
blNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgb2Zmc2V0ID0g
c2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAg
ICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdldHRlciA9IG51bGxwdHI7CkBAIC0yOTMs
MTMgKzMwOSwxNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAv
LyBPT1BTOiBuZWVkIHRlc3QgZm9yIHRoaXMhCisgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNl
dCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0gZWxzZSBpZiAo
IWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICAg
ICAgLy8gT09QUzogY29uc2lkZXIgdGhpcyBjYXNlLgogICAgICAgICAgICAgbmV3Q2FzZSA9IElu
dHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hl
ZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vu
c2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6
Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6
IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
bG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90
eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
QWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90Lmlz
Q2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2Nr
LCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVBy
b3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0Nh
Y2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAg
ICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6
IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03NjYsMTAgKzc2Niw5IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9w
dXRfYnlfaWQKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3Qu
Y2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s2XS51LnN0cnVjdHVy
ZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEocGNb
OF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVD
aGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiog
Y2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxs
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNoYWluKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCgKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgY2hhaW4pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxv
Y2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3Bw
CShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkgQEAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3Rh
dGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0
byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpOwogfQogCiBz
dGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2Jq
ZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02MTAsNyArNjA5
LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAg
ICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVjdCkpCisgICAg
ICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNP
YmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAg
ICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAg
fQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVj
U3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJl
cih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xl
c0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAgICAgICAg
ICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAg
ICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTgx
Niw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAg
ICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRh
KCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFp
bnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0
YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09i
amVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBh
cnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250
aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxl
bmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkK
KyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0
aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChsZW5n
dGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpl
eGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwogICAgICAg
ICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc0LDcgKzExNzMsNyBA
QCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VMWSghaGFzQW55
QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2UtPnN0cnVjdHVy
ZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlmIChMSUtFTFko
IWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpTVmFsdWUgdmFs
dWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAgIGlmICh2YWx1
ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRB
cmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3
IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0
dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3Ry
dWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShhc09i
amVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkpKSkg
ewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51
bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwog
CkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVh
dGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwg
b2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2Yg
dGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxk
LgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwg
bGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5k
ZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0x
MjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRl
CiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5j
bG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAg
IEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0
KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1
bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3Rh
dGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1l
bnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUs
IG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVk
c1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0x
NDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQog
ICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0
LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0g
ICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgp
KSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lv
biAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0wo
c2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBw
Y1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0
b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0
KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBv
bHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZt
LCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRp
b25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IK
ICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRh
YmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52aXNp
dFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3VubGlu
a2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5nbGV0
b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jb25zdHJ1Y3RS
ZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0
aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOSBAQCBwdWJsaWM6CiAKICAgICBJbmZlcnJl
ZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24u
Z2V0KCk7IH0KIAorICAgIC8vIE9PUFM6IGFkZCBtZXRob2RzIGZvciB0aGlzLgorICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlOwor
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKICAgICBGdW5jdGlv
bkV4ZWN1dGFibGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewog
fQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBK
U0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1
Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVh
c29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UmFyZURhdGEuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZv
aWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQg
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNv
bnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxp
emVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5j
dGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMg
QEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUq
IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9y
KCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVl
KCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAg
ICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2Fs
bGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rp
b24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShy
ZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgyLDcgKzg4Miw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6
OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNh
c2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0g
ICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+
PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNh
bEdsb2JhbE9iamVjdCgpOwpAQCAtOTE3LDcgKzkxNyw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRD
b3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMg
aG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0
aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdl
LT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAg
ICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhp
bmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNDgsNyArMTA0OCw3IEBA
IGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2Ug
aGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJv
dW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hp
ZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFn
ZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAg
ICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0
YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1
dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAg
aWYgKFVOTElLRUxZKCF2KSkgewpAQCAtMTA4OSw3ICsxMDg5LDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZv
ciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBk
b24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiBy
ZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAg
IHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBp
ZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVu
ZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3Vv
dXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9
IHYpKSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90
b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAo
Z2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVz
LmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDggKzYxLDggQEAgaW5saW5lIGJv
b2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9w
ZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGlu
c3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8
fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7
CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRG
dW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUs
NyBAQCBpbmxpbmUgU3RydWN0dXJlKiBnZXRCb3VuZEZ1bmN0aW9uU3RydWN0CiAgICAgLy8gaXNu
J3QgYW55IGdvb2QgcGxhY2UgdG8gcHV0IHRoZSBzdHJ1Y3R1cmUgb24gSW50ZXJuYWwgRnVuY3Rp
b25zLgogICAgIGlmICh0YXJnZXRKU0Z1bmN0aW9uKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gdGFyZ2V0SlNGdW5jdGlvbi0+cmFyZURhdGEodm0pLT5nZXRCb3VuZEZ1bmN0aW9u
U3RydWN0dXJlKCk7CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUgJiYg
c3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBwcm90b3R5cGUgJiYgc3RydWN0dXJlLT5n
bG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gc3RydWN0
dXJlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFs
dWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAg
dm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlm
IChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkp
IHsKICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgp
KSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVy
KGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmlu
dCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAg
ICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0
KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGlu
Q29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVy
ZUlEKCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5z
dHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAg
IG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEy
NiwyMiBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0
dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5
cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAg
ICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90
b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgp
OworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxp
emVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAg
ICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNP
YmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMs
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQot
ICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAg
IEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMp
OwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3Jl
YXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVE
YXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2
bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29t
cGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAg
Ly8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApA
QCAtMTQ5LDExICsxNTUsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFs
aXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZt
LCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFw
cm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90
eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAg
IG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFs
T2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJu
IG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM0MSw2ICszNDQsMTggQEAgRW5jb2RlZEpTVmFs
dWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhyb3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVy
IHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlciIpKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGlu
ZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKFZNJiB2bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1
ZSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9
IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBlVmFsdWUpOworICAgIGlmICgh
cHJvdG90eXBlKQorICAgICAgICByZXR1cm47CisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVE
YXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSk7CisgICAg
aWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAgICAgcmFyZURh
dGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgIGlmIChJbmZlcnJlZFZhbHVl
KiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0s
IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkpCisg
ICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3Rvciwg
IlNldHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5jdGlvbiIpOworfQorCiBib29sIEpTRnVu
Y3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4
ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMzcxLDcgKzM4Niw2IEBAIGJvb2wgSlNGdW5jdGlv
bjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAgICAgICAgIG9mZnNldCA9IHRoaXNPYmpl
Y3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhdHRy
aWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwogICAg
ICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0
aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zmc2V0KTsKICAgICB9CiAKQEAgLTQ1Miw2
ICs0NjYsNyBAQCBib29sIEpTRnVuY3Rpb246OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTCiAgICAg
ICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNP
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZ2V0U2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2Jq
ZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xl
YXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAg
IGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCB2YWx1ZSwgdGhpc09iamVjdCk7CiAg
ICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OnB1dCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICB9CkBAIC01MTgsNiAr
NTMzLDggQEAgYm9vbCBKU0Z1bmN0aW9uOjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iagogICAgICAg
ICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+
bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJT
dG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpZiAo
ZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICAgICAgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZO
ZWVkZWQodm0sIGRlc2NyaXB0b3IudmFsdWUoKSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3Bl
LnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KG9iamVj
dCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJl
dHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rp
b24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29u
c3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRf
UFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAg
ICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVy
ZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90
b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3Ry
dWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAo
Z2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpA
QCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxl
CiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25P
YnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9i
amVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIy
MjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNs
b3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1
Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlm
IChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYg
UmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0
aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hh
aW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0
aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90
LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ip
KTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09i
amVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JB
R0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5
cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhv
bGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
KSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlD
YXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTEx
MSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1
dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0
aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRN
YXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpu
b25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwg
b2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKICAg
ICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0
dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRl
ZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRv
QXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0s
IHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwog
fQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0m
IHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNK
U1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0x
MzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9B
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShW
TSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3Ry
dWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5
VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29u
dmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVk
QXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JW
YWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1
b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAg
cmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsx
NDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAog
ICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVO
TElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJs
ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAg
ICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5z
dXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJu
IENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRp
Z3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9V
TkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0
b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19U
WVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAg
ICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAg
ICAKICAgICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxOCBAQCB2b2lkIEpTT2JqZWN0Ojpz
ZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQog
ICAgICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkp
OwogICAgIAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQ
cm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNl
dFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVy
ZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIC8v
ZGF0YUxvZ0xuKCJ0cmFuc2l0aW9uaW5nIGZyb20gX19wcm90b19fIHNldCwgZnJvbSBwb2x5IHBy
b3RvOiAiLCAhc3RydWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwg
c3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdT
dHJ1Y3R1cmUpOworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2
bSktPnBvbHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFzdHJ1Y3R1cmUo
dm0pLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHRoaXMpKQog
ICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlw
ZSh0aGlzKSkgewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJh
ZFRpbWUodm0pOworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFC
YWRUaW1lKHZtKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1
NSw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8v
IE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUg
b24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0g
ICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmpl
Y3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVk
UHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpT
VmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcg
KzI3MzEsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAg
ICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVB
cnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQg
dGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5Lgog
ICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVu
Z3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlz
LCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODgzLDcgQEAgYm9v
bCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJu
IHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAg
ICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0
b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgo
MCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2
bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3Rv
cisrOwpAQCAtMzU1OCw3ICszNTYzLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFi
bGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAg
IHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQo
aW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0
KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlw
ZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwo
KSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhp
cykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3
YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVj
dCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyAr
MTI5OCw3IEBAIGlubGluZSBKU09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5s
aW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0
dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQw
MCw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVj
dHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xv
dCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9l
c24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAg
ICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6
OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0
aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRl
cm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1J
bnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVj
dCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0
UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmpl
Y3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAg
ICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0
UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5
cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAg
ICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAg
ICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZt
LCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsK
QEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGlu
ZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5l
KHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0
dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkp
OwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+
KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0
eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlO
YW1lRW51bWVyYXRvci5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYg
KCFpbmRleGVkTGVuZ3RoCiAgICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNo
ZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hl
ZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAg
ICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsK
IAogICAgIHVpbnQzMl90IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDkg
KzEzNiwxMSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKTsKIAogICAgIGVudW1lcmF0
b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRl
eGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFt
ZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0
dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0
cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVj
dHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7Cisg
ICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJl
KSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1
cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAg
IH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBA
IGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0
dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0
LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9i
YWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1Nl
dDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVj
dC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0NjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3Qq
IHByb3RvdHlwZShjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAg
ICAgICAgLy8gT09QUy4gbWFrZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFj
Y2Vzc2VzIHRoaXMuCiAgICAgICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAg
ICAgICAgcmV0dXJuIGdldChnbG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9
CkBAIC0xMDEsMTMgKzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJl
LmdldENvbmN1cnJlbnRseSgpOwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBl
Q29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LSAgICAKICAgICBKU09iamVjdCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAg
IHsKICAgICAgICAgcmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0Myw2ICsxNDMsMTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZQogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJv
eHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAg
ICAgLy8gT09QUzogdGhpcyBkZWZpbml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0
dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxs
KCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU0LDE3ICs1NCwzOSBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpT
T2JqZWN0CiAgICAgLy8gdXNlZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8s
IGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0
ZDo6bWFrZV90dXBsZShwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2Jh
bE9iamVjdCk7CisgICAgUkVMRUFTRV9BU1NFUlQoISFwcm90b3R5cGUpOyAvLyBXZSB1c2UgbnVs
bHB0ciBpbnNpZGUgdGhlIEhhc2hNYXAgZm9yIHByb3RvdHlwZSB0byBtZWFuIHBvbHkgcHJvdG8s
IHNvIHVzZXIncyBvZiB0aGlzIEFQSSBtdXN0IHByb3ZpZGUgbm9uLW51bGwgcHJvdG90eXBlcy4K
KworICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUg
PyBudWxscHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxP
YmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQo
a2V5KSkgeworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAg
ICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAg
ICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0
cnVjdHVyZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisKICAg
ICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisKKyAgICAvLyBP
T1BTOiBmaWd1cmUgb3V0IHdoYXQgdG8gZG8gaGVyZS4gVGhpcyBmZWVscyBsaWtlIHRoZSB3cm9u
ZyBwbGFjZSB0byBkbyB0aGlzLgorICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7Cisg
ICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+cmFyZURhdGEoKTsKKyAgICAgICAgQVNTRVJUKHJhcmVEYXRhLT5uZWVkc1BvbHlQcm90
b1N0cnVjdHVyZSh2bSkpOworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgK
KyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworICAgICAgICByYXJlRGF0YS0+c2V0UG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUp
OworICAgIH0KKworICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAg
ICB9CiAgICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUp
KTsKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsMjAgKzk1LDIxIEBAIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkg
ZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3Nl
cyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBp
bmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFz
ZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJ
bmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPnN0cnVj
dHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHByb3Rv
dHlwZSkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5k
ZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0
QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlw
ZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFs
c2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpT
RmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVj
dDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBh
Y2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpj
bGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewog
ICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2Fw
YWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1
Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpT
RmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFw
LmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2Jq
ZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBl
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9
IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJl
Rm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCos
IFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAg
ICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVy
bnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBj
cmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUs
IGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25l
ZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29u
c3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9v
bCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpT
T2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVj
dC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQs
IGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJl
TWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2Jq
ZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVj
dHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwg
U3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgp
KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAg
ICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+
c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMt
Pm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJ
bmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBt
X29mZnNldChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyOCBAQCB2b2lkIFN0cnVjdHVy
ZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2Vs
bCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENs
YXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworCisgICAgLy9kYXRhTG9nTG4oIk1ha2luZyBwb2x5IHByb3RvIHN0
cnVjdHVyZTogIiwgUmF3UG9pbnRlcihyZXN1bHQpKTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9m
TGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOyAvLyBPT1BTOiBtYXli
ZSB0aGlzIHNob3VsZCBhbHdheXMgc3RhcnQgYXMgemVybz8KKyAgICByZXN1bHQtPmFkZFByb3Bl
cnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5idWls
dGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBEb250RW51bSwKKyAgICAg
ICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0g
b2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgLy8gT09QUzogbGV0cyBtYWtlIGEg
ZGlmZmVyZW50IGN0b3IgZm9yIHRoaXMgdmFyaWFudCBvZiBwb2x5IHByb3RvLCBzaW5jZSBPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSAKKyAgICAgICAgICAgIC8vIGFscmVhZHkga25vd3Mgd2hlbiBp
dCdzIG1ha2luZyBhIHBvbHkgcHJvdG8gdmFyaWFudC4KKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIlNl
dHRpbmcgbV9wcm90b3R5cGUgdG86ICIsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAg
cmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7Cisg
ICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAg
IH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1
Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3Ry
dWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7
CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDIwLDMwIEBA
IFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRk
UHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQs
IGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjph
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKEpTT2JqZWN0KiBiYXNl
KSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykg
ewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisg
ICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IExl
dCdzIGp1c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7
CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IGJhc2U7IDspIHsKKyAgICAgICAg
aWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAotICAgICAgICBKU1ZhbHVlIHBy
b3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBKU1ZhbHVlIHBy
b3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJv
dG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAg
ICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOworICAgICAg
ICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKICAgICB9CiB9CiAKLWJvb2wgU3RydWN0
dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25zdAorYm9vbCBTdHJ1
Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNl
KSBjb25zdAogeworICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOworCiAg
ICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBl
KCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7
CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI2LDcgKzQ1
Miw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAg
U3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBp
ZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0
dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAg
ICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAg
ICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDM2LDE1ICs0NjIs
MTYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVy
biBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29u
c3QKK2Jvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCogYmFzZSkg
Y29uc3QKIHsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7
IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBKU09iamVjdCogbWV0aG9kPworICAgIHJldHVybiBh
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKGJhc2UpCiAgICAgICAg
IHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7CiB9CiAKLU5vblByb3BlcnR5
VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBj
b25zdAorTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbihKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBpZiAobmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoYmFzZSkpIC8vIE9P
UFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBtZXRob2QKICAgICAgICAgcmV0dXJuIE5v
blByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIAog
ICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwpA
QCAtNTU1LDYgKzU4Miw3IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVU
cmEKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0
aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCisgICAgLy8gT09QUzogdGhpcyBuZWVkcyB0
ZXN0aW5nIQogICAgIHRyYW5zaXRpb24tPm1fcHJvdG90eXBlLnNldCh2bSwgdHJhbnNpdGlvbiwg
cHJvdG90eXBlKTsKIAogICAgIFByb3BlcnR5VGFibGUqIHRhYmxlID0gc3RydWN0dXJlLT5jb3B5
UHJvcGVydHlUYWJsZUZvclBpbm5pbmcodm0pOwpAQCAtMTA2NywxMSArMTA5NSw2IEBAIHZvaWQg
U3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9u
V2F0Y2hwb2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsK
IH0KIAotSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNv
ZGVCbG9jaykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9j
ay0+Z2xvYmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihK
U0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhp
c09iamVjdCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMDksNyArMTEzMiw3IEBA
IGJvb2wgU3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2ds
b2JhbE9iamVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5n
ZXQoKSkpCi0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYg
KCFoYXNTdG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVh
cDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAog
Ym9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEy
MSwyMCArMTE0NCwyMiBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3Im
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1h
eUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorYm9v
bCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBiYXNlKQogeworICAgIFJFTEVBU0Vf
QVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2Ug
dGhpcyBhIEpTT2JqZWN0KiBtZXRob2QuCisKICAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5h
bWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpOworICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcyhiYXNlKTsKICAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9
IHRoaXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gYmFzZTsgOykgeworICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOwog
ICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0
dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CiAgICAgICAg
IAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdldCh2
bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRP
ZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAKQEAgLTExNzIs
NiArMTE5Nyw3IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKICAg
ICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CiAgICAg
ICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsKICAgICAgICAg
ICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgICAgICAvLyBPT1BTOgog
ICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwog
ICAgICAgICB9CiAKQEAgLTExODEsMTMgKzEyMDcsNiBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0
cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1
Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICBy
ZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAg
ICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAg
ICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxp
emF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0
KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0lu
Zm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzEyMjEsOSBAQCB2b2lkIFN0cnVj
dHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAi
LCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJv
dG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisg
ICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgp
KTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0
LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkp
KTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsgUG9s
eVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8q
LCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsK
KyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFz
c0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3IEBAIHByb3RlY3Rl
ZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgQVNT
RVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkg
fHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNP
YmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3RvdHlwZS5pc0ludDMyKCkp
OwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5
Q2VsbFRhZykKQEAgLTE2Nyw3ICsxNjksNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cnVjdHVy
ZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShT
dHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQ
cm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJv
cGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJl
KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3Rv
dHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNp
dGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0
aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRv
VW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4
LDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiAhdHlwZUluZm8oKS5n
ZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgpOwogICAgIH0KLSAg
ICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI0
Miw0NCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdI
aXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAg
ICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09iamVjdCopIGNvbnN0OworICAgIGJvb2wg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAg
ICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OwotICAgIE5vblByb3Bl
cnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7Cisg
ICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09iamVjdCopIGNvbnN0OworICAgIE5vblBy
b3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKEpTT2JqZWN0
KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBj
b25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhp
cyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3Ry
dWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBp
cyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9p
ZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7
IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAK
LSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBl
LmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAg
SlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICAvLyBPT1BTLiBtYXliZSBkZWJ1
ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAg
IH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0
dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9y
ZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVk
UHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBz
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpT
T2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0
b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9y
TG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3Vw
KEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAo
Q29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZN
JiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBl
Q2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAo
SlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWlu
KiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNv
bnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09i
amVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwq
LCBTbG90VmlzaXRvciYpOwogICAgIAogICAgIC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1h
cmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5k
ZWQgYW1vdW50CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBtYXJrSWZD
aGVhcChTbG90VmlzaXRvciYpOwogICAgICAgICAKICAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3Rv
dHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JU
X1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9w
ZXJ0eU5hbWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJ
bnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lLCBKU09iamVjdCopOwogICAgIAogICAg
IGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFyZURh
dGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVyZVJh
cmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURh
dGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1f
cHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0
YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0
YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiBy
YXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25z
dAogICAgIHsKQEAgLTUzMywxMiArNTY2LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNo
aW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdh
dGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0p
Ci0gICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0
dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQot
ICAgICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZO
ZWNlc3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0
CiAgICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTkwLDEw
ICs2MTcsNiBAQCBwdWJsaWM6CiAKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSk7CiAgICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVj
dHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxsb2Nh
dGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxsb2Nh
dGlvbnNPZihTdHJ1Y3R1cmUqKTsKLSAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBj
b25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCop
IGNvbnN0OwogICAgIHZvaWQgZHVtcEJyaWVmKFByaW50U3RyZWFtJiwgY29uc3QgQ1N0cmluZyYp
IGNvbnN0OwpAQCAtNzIwLDggKzc0Myw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBudW1i
ZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAg
fQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNh
Y2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwg
U3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlz
VmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hh
aW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhl
IHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
cGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIs
MTIgKzc1NCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVj
dHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0
YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkp
OwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZp
b3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0
YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUq
LCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0
ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw0
ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAg
fQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2Jq
ZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgIHNpemVf
dCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsg
Y3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChj
dXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6ZV90IGkgPSAwOworICAgIGZvciAo
SlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3Ry
dWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICB2ZWN0
b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkpOworICAgIAorICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7
CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpT
QwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFp
bi5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsK
IAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBo
ZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgSlNPYmplY3Qq
IGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFp
bih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkpOwogICAgICAgICBjaGFpbi0+
ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIgKzYyLDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQotICAgIHsKLSAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAg
IGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJl
bnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0
b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICArK3NpemU7Ci0KLSAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9
IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwot
Ci0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7Ci0g
ICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwotICAgICAgICBtX3ZlY3Rv
ciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRP
ZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02
MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAog
aW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFs
dWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQxIEBAIGlubGluZSBKU09iamVj
dCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJl
OjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJU
KGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RvcmVkUHJv
dG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitBTFdBWVNfSU5MSU5FIEpT
VmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkg
Y29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMp
OyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisg
ICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3By
b3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1f
cHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qo
b2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQ
cm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxF
QVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFz
c2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9y
ZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJl
Y3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxXQVlT
X0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNv
bnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90byA9
IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8tPnN0
cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFByb3Bl
cnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDE1ICsxOTYsMzIgQEAgaW5s
aW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxzZTsK
IH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUlt
cGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYgKHN0
cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0dXJu
IGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0dXJl
LT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2Jq
ZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAog
eworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBpZiAoaXNP
YmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0eXBl
SW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOwor
ICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwg
dGhpcyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSk7
Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CitpbmxpbmUgSlNW
YWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+
c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVidWcgYXNzZXJ0PworICAgIGlmIChpc09i
amVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFzT2JqZWN0KGJhc2UpKTsK
KyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3Qs
IHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1
cChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CkBAIC0xODIsMjcgKzIyOSwyOCBAQCBpbmxpbmUgSlNW
YWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvCiAgICAgcmV0dXJuIHByb3RvdHlwZUZvckxv
b2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogfQogCi1pbmxpbmUgU3RydWN0dXJl
Q2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZt
KSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgZGVidWc/CiAgICAgLy8gV2UgY2FjaGUgb3VyIHBy
b3RvdHlwZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1Zh
bGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsK
LSAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNo
YWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5
cGUpLT5zdHJ1Y3R1cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2Fj
aGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1f
Y2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRl
KHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkp
OwogICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAot
aW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0
ZSogZXhlYykgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5
cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJl
dHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpOworICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFs
aWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFBy
b3RvdHlwZUNoYWluKSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVD
aGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVD
aGFpbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBw
cm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVh
ZCgpOwogICAgIHdoaWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkp
IHsKICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hl
ZFN0cnVjdHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEgKzI2MSw2IEBAIGlubGluZSBib29sIFN0cnVj
dHVyZTo6aXNWYWxpZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYm
ICEqY2FjaGVkU3RydWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBj
YWNoZWRQcm90b3R5cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVw
bGFjZVByb3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFo
YXNSYXJlRGF0YSgpKSkKQEAgLTQwMCw3ICs0NDMsNyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQg
U3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMp
OwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQ
cm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFBy
b3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3Bl
cnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
Y3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNp
bmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJl
ZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUu
aCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0
cmluZy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBT
dHJ1Y3R1cmVSYXJlRGF0YTo6dmlzaXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1fcHJldmlvdXMpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1f
b2JqZWN0VG9TdHJpbmdWYWx1ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9j
YWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3Nyw1MyBAQCBpbmxpbmUgdm9pZCBT
dHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNs
ZWFyKCk7CiB9CiAKK0pTVmFsdWUgU3RydWN0dXJlUmFyZURhdGE6OmluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpCit7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmdldCgpOworfQorCitib29sIFN0cnVjdHVyZVJhcmVE
YXRhOjpuZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZl
cnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0
cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChJ
bmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJl
ZFZhbHVlKj4odm0sIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkpCisg
ICAgICAgIHJldHVybiBpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsK
KyAgICBBU1NFUlQoaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmFzQ2Vs
bCgpLT5pbmhlcml0cyh2bSwgU3RydWN0dXJlOjppbmZvKCkpKTsKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK1N0cnVjdHVyZSogU3RydWN0dXJlUmFyZURhdGE6OnBvbHlQcm90b1N0cnVjdHVyZShW
TSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1
Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsK
KyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4o
dm0sIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSk7Cit9CisKK2Jvb2wg
U3RydWN0dXJlUmFyZURhdGE6OmlzUG9seVByb3RvKFZNJiB2bSkKK3sKKyAgICByZXR1cm4gbmVl
ZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pIHx8ICEhcG9seVByb3RvU3RydWN0dXJlKHZtKTsKK30K
KworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCkKK3sK
KyAgICByZXR1cm4gIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpOwor
fQorCitJbmZlcnJlZFZhbHVlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25z
dHJ1Y3RvcihWTSYgdm0pCit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1faW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKKyAgICBJbmZlcnJlZFZhbHVlKiByZXN1bHQgPSBJ
bmZlcnJlZFZhbHVlOjpjcmVhdGUodm0pOworICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgcmVzdWx0KTsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCit2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBtX2luZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7Cit9CisKIC8vIC0t
LS0tLS0tLS0tLS0gTWV0aG9kcyBmb3IgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBl
ciB3YXRjaHBvaW50IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFw
dGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Ok9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVX
YXRjaHBvaW50KGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJh
cmVEYXRhKiBzdHJ1Y3R1cmVSYXJlRGF0YSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5m
ZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVj
dHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpA
QCAtNjIsNiArNjMsMjIgQEAgcHVibGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciog
Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVk
UHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwog
CisgICAgLy8gV2UgYXJlIGEgdGhlIHN0cnVjdHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3Jl
IGluZmVycmluZyB3aGF0IG91ciBmdW5jdGlvbiBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3Rv
dHlwZSdzIHN0cnVjdHVyZSBpcyB1cy4KKyAgICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURh
dGEgZm9yIHRoZSBTdHJ1Y3R1cmUgb2YgYW4gb2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJv
dG90eXBlIiBmaWVsZAorICAgIC8vIG9mIGEgY29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3Rv
dHlwZSIgZmllbGQsIHdlIHdhbnQgdG8gaW5mZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0
cnVjdG9yLgorICAgIC8vIElmIHdlIGRvLCB0aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9s
eVByb3RvU3RydWN0dXJlIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhCisg
ICAgLy8gSlNGdW5jdGlvbi4gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhl
biB0aGlzIGZpZWxkIGVpdGhlciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZQorICAgIC8vIHRo
YXQgaXMgaW52YWxpZGF0ZWQuIElmIHdlIGV2ZXIgY29uc3RydWN0IGFuIG9iamVjdCB3aG8ncyBf
X3Byb3RvX18gcG9pbnRzIHRvIHRoaXMgcHJvdG90eXBlLCB0aGVuCisgICAgLy8gd2UgbW92ZSBt
X2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSB0byB0aGUgU3RydWN0dXJl
IG9mIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmUgY3JlYXRlZAorICAgIC8vIHRoYXQgaGFzIHBv
bHkgcHJvdG8uCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihW
TSYpOworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJl
KCk7CisgICAgYm9vbCBuZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYpOworICAgIGJvb2wgbmVl
ZHNJbmZlcnJlZENvbnN0cnVjdG9yKCk7CisgICAgdm9pZCBzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUo
Vk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBTdHJ1Y3R1cmUqIHBvbHlQcm90b1N0cnVjdHVyZShWTSYp
OyAvLyBNYXkgYmUgbnVsbHB0ciBpZiBub3QgcG9seSBwcm90byBvciBwb2x5IHByb3RvIHN0cnVj
dHVyZSBoYXMgeWV0IHRvIGJlIGluc3RhbnRpYXRlZC4KKyAgICBib29sIGlzUG9seVByb3RvKFZN
Jik7CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArOTMs
NyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAg
ICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3Jp
dGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yOworICAgIFdyaXRlQmFycmllcjxVbmtub3duPiBtX2luZmVycmVkQ29uc3RydWN0
b3JPclBvbHlQcm90b1N0cnVjdHVyZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVy
dHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zm
c2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+
IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRj
aHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQo
KSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lk
IHNldFN0YXJ0aW5nVmFsdWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5j
b2RlKHZhbHVlKTsgfQogICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5p
c051bWJlcigpOyB9CisgICAgYm9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJ
bnQzMigpOyB9CiAgICAgYm9vbCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2Jq
ZWN0KCk7IH0KICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgp
OyB9CiAgICAgYm9vbCBpc0dldHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0
dGVyU2V0dGVyKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3Jh
cHBlckNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XcmFwcGVyQ2FjaGUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQs
NyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBKCiAKIHRlbXBsYXRl
PHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5lIEpTQzo6SlNPYmplY3QqIGdldERPTVByb3Rv
dHlwZShKU0M6OlZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKIHsKKyAg
ICAvLyBPT1BTOiBsb29rIGludG8gdGhpcwogICAgIHJldHVybiBKU0M6OmpzQ2FzdDxKU0M6OkpT
T2JqZWN0Kj4oYXNPYmplY3QoZ2V0RE9NU3RydWN0dXJlPFdyYXBwZXJDbGFzcz4odm0sIGdsb2Jh
bE9iamVjdCktPnN0b3JlZFByb3RvdHlwZSgpKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321787</attachid>
            <date>2017-09-25 19:41:02 -0700</date>
            <delta_ts>2017-09-26 16:50:48 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>162225</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDY3KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAg
ICBhc3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30K
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpIG9mIGlu
c3RhbmNlcykKKyAgICAgICAgdmFsaWRhdGUoaSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3RvID0geworICAgIGdldCB4
KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCitsZXQgYWx0ZXJuYXRlUHJv
dG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAgZ2V0IHgoKSB7CisgICAg
ICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5f
eDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29u
c3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7CisgICAgICAgIH0KKyAgICB9
OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgcCkgeworICAg
IGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgYXJyID0g
W107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkKKyAgICBhcnIucHVzaChm
b28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBh
IG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitmb3IgKGxldCBhIG9mIGFy
cikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFs
aWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEu
X19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwg
bnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDUzIEBACitsZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlKCkgewor
ICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25z
dHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5
cGUueSA9IHk7CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisKKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgcG9seVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5zdGFuY2UoKTsKK1N0cmlu
Zy5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitTeW1ib2wucHJvdG90
eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBbCisgICAg
ImZvbyIsCisgICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAgICBTeW1ib2woImJhciIp
LAorXTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVu
Y3Rpb24gdmFsaWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIwKTsKKyAgICBhc3NlcnQo
cy55ID09PSB5KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3BlcnR5ID09PSB1bmRlZmlu
ZWQpOworICAgIGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7
CisgICAgYXNzZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5wcm90b3R5cGUuaGFzT3du
UHJvcGVydHkpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxp
ZGF0ZShzKTsKKyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0luc3RhbmNlLl9fcHJvdG9f
XyA9IHt6OjQwMCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAg
IGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9
CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVj
dC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACitmdW5jdGlvbiBmb28oKSB7Cisg
ICAgZnVuY3Rpb24gYmFyKCkgeworICAgICAgICB0aGlzLnggPSA0MjsKKyAgICB9CisgICAgYmFy
LnByb3RvdHlwZSA9IDUwOworICAgIHJldHVybiBuZXcgYmFyKCk7Cit9CisKK2Z1bmN0aW9uIGFz
c2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOwor
fQorCitsZXQgaXRlbXMgPSBbCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisg
ICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCitdOworCitmdW5jdGlvbiB2YWxpZGF0
ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhlcmUgPT09IHVuZGVmaW5lZCk7CisgICAg
YXNzZXJ0KGl0ZW0ueCA9PT0gNDIpOworICAgIGFzc2VydChpdGVtLl9fcHJvdG9fXyA9PT0gT2Jq
ZWN0LnByb3RvdHlwZSk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpCisgICAgICAgIHZhbGlkYXRlKGl0ZW0pOworfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjIyNDY3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsNiAr
MjI3LDcgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9N
ZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCitieXRl
Y29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5
Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCiBi
eXRlY29kZS9PcGNvZGUuY3BwCkBAIC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuY3BwCiBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Q
cm9ncmFtQ29kZUJsb2NrLmNwcAogYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCitieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuY3BwCiBieXRlY29kZS9QdXRCeUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3RhdHVz
LmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjQ2NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCQk3OTE5Qjc4
MDFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21w
aWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzkyMzNDMkIxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8q
IEpJVE1hdGhJQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTc5MkNCMzRBMUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRF
RUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVF
IC8qIEdldFB1dEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3OTY1QzIxNzFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3Rl
cnNCeUdyYXBoQ29sb3JpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5NjVDMjE1MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVy
c0J5R3JhcGhDb2xvcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTc5NkRBQTJCMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlD
Q0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC0zNDk5LDYgKzM1MDAsOCBAQAogCQk3OTIzM0MyOTFEMzQ3
MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpJVE1hdGhJQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFD
NEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmln
aW5NYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5N
YXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0
NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1
Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc5NUYwOTlDMUUwMzYwMDUwMEJCRTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGls
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMw
NTlFRSAvKiBHZXRQdXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdl
dFB1dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5
NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlH
cmFwaENvbG9yaW5nLmNwcDsgcGF0aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzQxLDYgKzcz
NDQsOCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2Nr
LmggKi8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9u
LmNwcCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRp
b24uaCAqLywKKwkJCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwICovLAorCQkJCTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlk
RmxhZ3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuaCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5j
cHAgKi8sCkBAIC04NTI5LDYgKzg1MzQsNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZF
RCAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0
MUI0RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2
OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8q
IEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1l
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRF
X05BTUVTCiAKIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFt
ZSB7ICJQcml2YXRlU3ltYm9sLiR2bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9Owor
U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7
ICJQcml2YXRlU3ltYm9sLl9fcHJvdG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9
OwogCiB9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1F
UwogCiBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVO
YW1lOworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWU7CiB9CiAKICNkZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19F
TlRSWShuYW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1l
LmltcGwoKSwgJm1fIyNuYW1lKTsKQEAgLTIzMCw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElO
SVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50
aWZpZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0
ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihT
eW1ib2xzOjpkb2xsYXJWTVByaXZhdGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9s
SW1wbCY+KFN5bWJvbHM6OnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAg
ICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRF
X1RPX1BVQkxJQ19FTlRSWSkKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJT
X0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpA
QCAtMjM4LDYgKzI0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lE
RU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElD
X1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2Rv
bGxhclZNUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1
YmxpY1RvUHJpdmF0ZU1hcC5hZGQobV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVBy
aXZhdGVOYW1lKTsKKyAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUuaW1wbCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQ
cm90byk7CisgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVy
cy0+dW5kZXJzY29yZVByb3RvLmltcGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OwogICAgIH0KIAogICAgIGNvbnN0IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0
IElkZW50aWZpZXImKSBjb25zdDsKQEAgLTI1MCw2ICsyNTQsNyBAQCBwdWJsaWM6CiAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFS
RV9CVUlMVElOX1NZTUJPTF9BQ0NFU1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRv
bGxhclZNUHVibGljTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9kb2xsYXJWTVByaXZhdGVOYW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1
bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVu
dGlmaWVyOwpAQCAtMjU4LDYgKzI2Myw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklW
QVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZ
TUJPTFMpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlND
OjpJZGVudGlmaWVyIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBI
YXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVu
dGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1
YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNN
YXA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDE1ICs0OSwxOCBAQAogI2luY2x1
ZGUgIlN1cGVyU2FtcGxlci5oIgogI2luY2x1ZGUgIlRodW5rR2VuZXJhdG9ycy5oIgogCisjaW5j
bHVkZSAiTWFjcm9Bc3NlbWJsZXJQcmludGVyLmgiCisKIG5hbWVzcGFjZSBKU0MgewogCiBuYW1l
c3BhY2UgQWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBm
YWxzZTsKIH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0Fj
Y2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUo
dHlwZSkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4oV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0
TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJlKTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNv
bmRpdGlvblNldDsKQEAgLTc5LDcgKzgyLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IEFjY2Vzc0Nhc2U6OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9OwogCi0g
ICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwg
b3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1
cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikpOwogfQogCiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKApAQCAtOTYsNyAr
OTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5l
d1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwg
bmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpKTsKIH0KIAogQWNjZXNzQ2FzZTo6
fkFjY2Vzc0Nhc2UoKQpAQCAtMTM1LDcgKzEzOCw5IEBAIFZlY3RvcjxXYXRjaHBvaW50U2V0Kiwg
Mj4gQWNjZXNzQ2FzZTo6Y28KICAgICBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IHJlc3VsdDsK
IAogICAgIGlmICgoc3RydWN0dXJlKCkgJiYgc3RydWN0dXJlKCktPm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkKLSAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3Bl
cnR5V2F0Y2hwb2ludCgpKQorICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJv
cGVydHlXYXRjaHBvaW50KCkKKyAgICAgICAgLy8gT09QUzogYWRkIGEgdGVzdCBmb3IgdGhpcwor
ICAgICAgICB8fCAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbiAmJiBtX3Byb3RvdHlwZUFjY2Vzc0No
YWluLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQuYXBw
ZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRTZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAg
ICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkKQEAgLTE1MSw2ICsxNTYsOSBAQCBib29sIEFjY2Vzc0Nh
c2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlM
ZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CkBAIC0yMTAsNiArMjE4LDEzIEBAIGJvb2wg
QWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXND
YXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VP
YmplY3QoKTsKICAgICB9CiAgICAgZGVmYXVsdDoKKyAgICAgICAgLy8gT09QUzogbWFrZSBzdXJl
IHRoaXMgaXMgZXhhY3RseSB3aGF0IHdlIHdhbnQKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIGlmICghb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gKm1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW47Cisg
ICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkgfHwgIW90
aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTIxOSwyMiArMjM0LDI2IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25z
dCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJcbiIsIG1f
dHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQucHJpbnQo
Y29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQotICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUo
KSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNlIGlmICht
X3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9p
bnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1f
b2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQp
OwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIG91dC5wcmludChjb21tYSwgInByb3RvdHlwZSBh
Y2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKyAgICBlbHNlIHsKKyAg
ICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAgb3V0LnByaW50KGNv
bW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBv
aW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJl
KQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1
bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1h
KTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjIsMTIgQEAgYm9vbCBBY2Nl
c3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAm
JiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAg
ICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNl
dC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vz
c29yKCkpIHsKQEAgLTI3Myw2ICsyOTgsMTEgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVU
cmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1f
c3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVy
ZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsK
ICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJl
bnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArNDAyLDY0IEBAIHZv
aWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDog
ewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBw
ZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJv
eHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0Nl
bGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUo
KSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAg
Ly9kYXRhTG9nTG4oIkdlbmVyYXRpbmcgcG9seSBwcm90byBsb2FkISIpOworICAgICAgICAgICAg
Ly9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gYWNjZXNzIGNoZWNrXG4iKTsKKyAgICAgICAg
ICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAg
ICAgIGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWlu
KCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKClbaV07CisgICAgICAgICAgICAgICAgYm9v
bCBhdEVuZCA9IGkgKyAxID09IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkuc2l6ZSgp
OworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChh
dEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zm
c2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02
NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsgLy8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBzdG9y
ZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJvdG90eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAgICAg
ICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5
UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlz
SW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2
NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhi
YXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0
LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3Ry
dWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpz
dHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsK
KyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVP
ZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5s
b2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZz
ZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5k
KAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAg
ICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkp
LAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9IH07CkBAIC01MDQsMTMgKzU3MiwxNyBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBi
YXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQ
UjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAg
IGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihh
bHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOwotICAgICAgICAg
ICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIGlmIChtX3By
b3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2Ny
YXRjaEdQUjsgLy8gdmlhIGdlbmVyYXRlV2l0aEd1YXJkISBPT1BTOiB0aGlzIGlzIHVnbHkuCisg
ICAgICAgICAgICAvL2ppdC5wcmludCgiRG9pbmcgcG9seSBwcm90byBsb2FkIVxuIik7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkg
eworICAgICAgICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAg
ICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsK
KyAgICAgICAgfQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJS
ZWc7CiAgICAgICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9
IEN1c3RvbUFjY2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBt
X3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAt
MjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRl
ICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vz
c0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlND
IHsKQEAgLTE4Niw5ICsxODcsMjMgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNjZXNzQ2Fz
ZSgpOwogCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJl
dHVybiAhIW1fcHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgfQorCiBwcm90ZWN0ZWQ6Ci0gICAg
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOwotICAgIEFj
Y2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKKyAgICBBY2Nlc3NDYXNlKFZN
JiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPik7CisgICAgQWNjZXNzQ2FzZShBY2Nlc3NDYXNlJiYpID0gZGVmYXVs
dDsKKyAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmIG90aGVyKQorICAgICAgICA6IG1f
dHlwZShvdGhlci5tX3R5cGUpCisgICAgICAgICwgbV9zdGF0ZShvdGhlci5tX3N0YXRlKQorICAg
ICAgICAsIG1fb2Zmc2V0KG90aGVyLm1fb2Zmc2V0KQorICAgICAgICAsIG1fc3RydWN0dXJlKG90
aGVyLm1fc3RydWN0dXJlKQorICAgICAgICAsIG1fY29uZGl0aW9uU2V0KG90aGVyLm1fY29uZGl0
aW9uU2V0KQorICAgICAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4ob3RoZXIubV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi0+Y2xvbmUoKSkKKyAgICB7IH0KKwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJh
dG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkg
eyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0yMjcsNiArMjQyLDggQEAgcHJpdmF0ZToK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5Myw3ICs1OTMsNyBA
QCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICBp
bnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29wTGVuZ3RoIC0gMl0udS5vcGVyYW5kOwog
CiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0
aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxp
emVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LmdldCgpLCB0aGlz
LCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjQ2
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9
IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1
ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1
cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2Uu
Y3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0Miwx
NyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29u
c3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6Okdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vz
c0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5
cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9jdXN0b21TbG90QmFzZS5zZXRNYXlC
ZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmpl
Y3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+
IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
YyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAgICBzdGQ6Om9wdGlv
bmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDE4ICs2MywxOSBAQCBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQs
IGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICBy
ZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0
b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVz
dWx0KTsKIH0KIAorLy8gT09QUzogZG8gc29tZXRoaW5nIGhlcmUuIFdobyBjYWxscyB0aGlzPwog
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBj
dXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VS
VCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3Vz
dG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RC
YXNlLCBudWxscHRyKSk7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLnNldHRlciA9IGN1
c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxNCArNDYs
MTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbWl0RE9NSklUR2V0dGVyKEFjY2Vzc0dlbmVyYXRp
b25TdGF0ZSYsIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0dGVyKiwgR1BSUmVnIGJhc2VGb3JHZXRH
UFIpOwogCisgICAgLy8gT09QUzogY29uc2lkZXIgd2hhdCB0aGlzIGN0b3IgaXMgZm9yCiAgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCiAg
ICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNs
b3RCYXNlID0gbnVsbHB0ciwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5v
dGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jID0gbnVsbHB0ciwKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0g
bnVsbHB0ciwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVs
bG9wdCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwog
CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKICAgICAg
ICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYyA9IG51bGxwdHIsCkBAIC02Nyw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lk
KiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVl
OyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCos
IEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUq
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNo
cG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1
bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVj
dHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9u
U3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1
cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xh
c3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNl
U3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9y
IHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVj
dHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50
cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAy
MjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFj
ZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQor
ICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2
bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2Fz
ZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyAr
MzgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5h
bWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50
KiBtb2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNl
KHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1
bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkK
IHsKICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1l
c3BhY2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisj
aW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0
b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVy
ZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIGJvb2wgaXNQb2x5UHJv
dG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpOworICAgICAg
ICAvL2lmIChleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0cnVjdHVyZSkg
eworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLSIpOworICAgICAg
ICAvLyAgICBkYXRhTG9nTG4oIkV4ZWN1dGFibGU6ICIsIFJhd1BvaW50ZXIoZXhlY3V0YWJsZSks
ICIgaGFzIGJlZW4gY29uc3RydWN0ZWQgbW9yZSB0aGFuIG9uY2UuIFByb3RvdHlwZSBzdHJ1Y3R1
cmU6ICIsIFJhd1BvaW50ZXIocHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pKSk7CisgICAgICAgIC8v
ICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZHVtcChXVEY6OmRhdGFGaWxlKCkpOworICAg
ICAgICAvLyAgICBkYXRhTG9nTG4oIlxuLS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgIC8v
fQorCisgICAgICAgIGlmIChleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0
cnVjdHVyZSAmJiBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAg
ICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+cmFyZURhdGEoKS0+cG9seVByb3RvU3RydWN0dXJlKHZtKSkgeworICAgICAgICAgICAg
ICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKyAgICAg
ICAgICAgICAgICAvL2RhdGFMb2dMbigiYWxyZWFkeSBoYXZlIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciBleGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUo
KSkpOworICAgICAgICAgICAgICAgIC8vZGF0YUxvZ0xuKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKS0+c291cmNlKCkudmlldygpKTsKKyAgICAgICAgICAgICAgICAvL3N0cnVjdHVyZS0+ZHVt
cChXVEY6OmRhdGFGaWxlKCkpOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgICAgIE1hcmtl
ZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSkpOworCisgICAgICAgICAgICAg
ICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisgICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICBtX2lubGluZUNhcGFj
aXR5ID0gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gT09QUzogUHJvYmFibHkgY2FsbCBpbnRvIGEg
ZGlmZmVyZW50IHByb3RvdHlwZU1hcCBmdW5jdGlvbiBoZXJlIHRoYXQgbWFrZXMgcG9seSBwcm90
bywgdGhhdCB3YXksCisgICAgICAgIC8vIG5vIG9uZSBlbHNlIGNhbiBhY2NpZGVudGFsbHkgZ2V0
IGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuCisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJl
RGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pOworICAg
ICAgICBpZiAocmFyZURhdGEtPm5lZWRzSW5mZXJyZWRDb25zdHJ1Y3RvcigpKQorICAgICAgICAg
ICAgcmFyZURhdGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworCisgICAgICAgIGlm
IChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZl
cnJlZFZhbHVlKj4odm0sIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9T
dHJ1Y3R1cmUoKSkpIHsKKyAgICAgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdy
aXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gaW5mZXJy
ZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+bV9jb25z
dHJ1Y3RSZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmU7CisgICAgICAgIH0KKyAgICAgICAgLy9pZiAo
aXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0t
LS0tLS0iKTsKKyAgICAgICAgLy8gICAgZGF0YUxvZ0xuKCJHb2luZyBwb2x5IHByb3RvIGZvciBl
eGVjdXRhYmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOwor
ICAgICAgICAvLyAgICBkYXRhTG9nTG4oY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpLT5zb3Vy
Y2UoKS52aWV3KCkpOworICAgICAgICAvLyAgICBkYXRhTG9nTG4oIldoaWNoIGhhcyBleGVjdXRh
YmxlOiAiLCBSYXdQb2ludGVyKGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKSkpOworICAgICAg
ICAvL30KKworICAgICAgICBleGVjdXRhYmxlLT5tX2NvbnN0cnVjdFJlc3VsdFByb3RvdHlwZVN0
cnVjdHVyZS5zZXQodm0sIGV4ZWN1dGFibGUsIHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKSk7Cisg
ICAgICAgIC8vIE9PUFM6IHdlIGtub3cgaGVyZSBpZiB3ZSdyZSBkb2luZyBzb21ldGhpbmcgdGhh
dCdzIHBvbHkgcHJvdG8uIFdlIHNob3VsZCBwcm9iYWJseSBjb252ZXkgdGhhdAorICAgICAgICAv
LyBpbmZvcm1hdGlvbiBoZXJlIGFuZCBhbHNvIGNvbnZleSBpZiB3ZSBrbm93IHRoYXQgd2UndmUg
cmVzZXJ2ZWQgYW4gaW5saW5lIHNwYWNlIGZvciB0aGUgcHJvdG8uCisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICAvLyBPT1BT
OiBsZXRzIGNvbW11bmljYXRlIHRoaXMgdG8gc3RydWN0dXJlIGNyZWF0ZS4gSXQncyBqdXN0IGFz
c2VydGluZyBpdCBnZXRzIGFuIGlubGluZSBzbG90LgorICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBh
Y2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgewor
ICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9u
U2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICAvLyBPT1BTOiBu
ZWVkIHRvIG1ha2UgdGhpcyBBUEkgbW9yZSBjbGVhci4KKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0
eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChw
cm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmlu
Z3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5
TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwor
CisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsK
KworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsK
LSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1
cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4K
LSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElu
bGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAg
ICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4g
aGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0
LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsK
LSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2Nh
dG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
Ci0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFs
bG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJp
ZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAg
ICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpt
YXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
LQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlu
bGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29u
c3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7
CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQg
cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUp
Ci0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0
KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAg
c2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1l
QXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5
bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQ
cm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0
aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVW
ZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJv
cGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVy
dHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0g
cHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAg
ICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2
ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJu
IGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1f
YWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVy
YXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biBnZW5lcmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3Bl
cnR5Q29uZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgK
ICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNh
c2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlD
b25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2Jq
ZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsK
ICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYyLDExIEBAIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJv
eHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBPT1BTOiBXZSBuZWVk
IHNvbWUgc3RvcnkgaGVyZSBvZiBhbiBpbnRlcmxlYXZpbmcuCisgICAgICAgICAgICByZXR1cm4g
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAg
ICAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3Vw
KGdsb2JhbE9iamVjdCk7CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzksNyArMzM5LDcgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3Vs
dCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vzc0ludGVybmFsOjp2
ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZWdlbmVyYXRlIHdpdGggbV9saXN0OiAiLCBsaXN0
RHVtcChtX2xpc3QpLCAiXG4iKTsKICAgICAKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3Rh
dGUodm0pOworICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSwgY29kZUJsb2NrLT5n
bG9iYWxPYmplY3QoKSk7CiAKICAgICBzdGF0ZS5hY2Nlc3MgPSB0aGlzOwogICAgIHN0YXRlLnN0
dWJJbmZvID0gJnN0dWJJbmZvOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1BvbHltb3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsMTQgKzE3MSwxNiBAQCBwcml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vzc0dl
bmVyYXRpb25TdGF0ZSB7Ci0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAgICBB
Y2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQogICAgICAgICA6IG1fdm0odm0pIAorICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9i
amVjdCkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0aW9u
SGFuZGxpbmcoZmFsc2UpCiAgICAgICAgICwgbV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lmRXhj
ZXB0aW9uKGZhbHNlKQogICAgICAgICAsIG1fY2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFsc2Up
CiAgICAgewogICAgIH0KICAgICBWTSYgbV92bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9i
YWxPYmplY3Q7CiAgICAgQ0NhbGxIZWxwZXJzKiBqaXQgeyBudWxscHRyIH07CiAgICAgU2NyYXRj
aFJlZ2lzdGVyQWxsb2NhdG9yKiBhbGxvY2F0b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2Nh
dG9yOjpQcmVzZXJ2ZWRTdGF0ZSBwcmVzZXJ2ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRp
b24uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDE0
IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBp
cyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAg
ICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3
b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4K
KyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1
aWQoKSk7CiAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKICAg
ICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQpAQCAtMTMy
LDYgKzE0MCwxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIGl0J3MgYSBkaWN0aW9uYXJ5
LlxuIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KKworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHBy
b3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdl
IHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBP
UEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRBdHRyaWJ1dGVzOwogICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJy
ZW50bHkodWlkKCksIGN1cnJlbnRBdHRyaWJ1dGVzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNl
c1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9
ICpiYXNlLT52bSgpOworCisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8g
bnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKwor
ICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gcmVzdWx0KG5ldyBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKKworICAg
IHdoaWxlICh0cnVlKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+
c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nl
c0FyZUNhY2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZt
LCBhc09iamVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICByZXN1bHQtPm1fY2hh
aW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7
CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNj
ZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29s
LiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhp
bmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdy
ZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90byB8PSAh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVu
dCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYg
KCFmb3VuZCAmJiAhIXRhcmdldCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitib29sIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJv
cGVydHlXYXRjaHBvaW50KCkgY29uc3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJl
IDogbV9jaGFpbikgeworICAgICAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitib29sIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0
IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFp
biA9PSBvdGhlci5tX2NoYWluOworfQorCit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpkdW1w
KFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQb2x5UHJvdG90eXBl
QWNjZXNzQ2hhaW4iKTsKKyAgICBvdXQucHJpbnQoIjogW1xuIik7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KCJcdCIpOworICAg
ICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICAgICAgb3V0LnByaW50KCJcbiIpOworICAg
IH0KKyAgICBvdXQucHJpbnQoIl0iKTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0No
YWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Owor
Y2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisK
K2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1
YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0g
ZGVmYXVsdDsKKworICAgIC8vIFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBib29sJiB1c2VzUG9seVByb3RvKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5p
cXVlPFByb3RvdHlwZUFjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3QgVmVj
dG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAg
IHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAgIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0OworICAgIGJvb2wgb3Bl
cmF0b3IhPShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCisgICAgYm9vbCBuZWVk
SW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUHJvdG90
eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9j
aGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdzIHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0
aGlzIHNob3VsZCBiZSByZW1vdmVkLgorfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFj
Y2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vz
c0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9u
YWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNT
RVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwot
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2
aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flBy
b3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlw
ZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAg
ICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQog
ICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2
b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQp
OworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9w
ZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlh
UHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9Ob2Rlc0NvZGVnZW4uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4
NDgsNiArMzg0OCw5IEBAIFJlZ2lzdGVySUQqIENsYXNzRXhwck5vZGU6OmVtaXRCeXRlY29kZSgK
IAogICAgICAgICBnZW5lcmF0b3IuZW1pdERpcmVjdFB1dEJ5SWQoY29uc3RydWN0b3IuZ2V0KCks
IGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBzdXBlcmNsYXNzLmdl
dCgpLCBQcm9wZXJ0eU5vZGU6OlVua25vd24pOwogICAgICAgICBnZW5lcmF0b3IuZW1pdExhYmVs
KHN1cGVyY2xhc3NJc051bGxMYWJlbC5nZXQoKSk7CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBt
YWtlcyBpdCBzbyB0aGF0IGFueSBkZXJpdmVkIGNsYXNzIHByb3RvdHlwZSBvYmplY3Qgd2lsbCBh
bHdheXMgZ2V0IGEgbmV3IHN0cnVjdHVyZQorICAgICAgICAvLyBpZiBtdWx0aXBseSBjb25zdHJ1
Y3RlZCBiZWNhdXNlIHdlIGRvbid0IGNhY2hlIHByb3RvdHlwZSB0cmFuc2l0aW9ucy4KICAgICAg
ICAgZ2VuZXJhdG9yLmVtaXREaXJlY3RQdXRCeUlkKHByb3RvdHlwZS5nZXQoKSwgZ2VuZXJhdG9y
LnByb3BlcnR5TmFtZXMoKS51bmRlcnNjb3JlUHJvdG8sIHByb3RvUGFyZW50LmdldCgpLCBQcm9w
ZXJ0eU5vZGU6OlVua25vd24pOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzMzLDYgKzM3MzMsOCBAQCBOb2RlKiBCeXRlQ29kZVBhcnNlcjo6bG9hZCgKICAg
ICAgICAgICAgICAgICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUgdmFyaWFudC5zdHJ1Y3R1cmVT
ZXQoKSBhZ3JlZSBvbiB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBiZQogICAgICAgICAgICAgICAg
IC8vIGhpbGFyaW91c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBOb3RlIHRoYXQgd2UgYXJlIHJl
bHlpbmcgb24gc3RydWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAgICAgICAgICAgLy8gYXQgbGVh
c3Qgb25lIGVsZW1lbnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1ZSBoZXJlIGJlY2F1c2Ugb2Yg
aG93IEdldEJ5SWRTdGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgorCisgICAgICAgICAgICAgICAg
Ly8gT09QUzogdGhpcyBuZWVkcyBhdHRlbnRpb24KICAgICAgICAgICAgICAgICBKU09iamVjdCog
cHJvdG90eXBlID0gdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKVswXS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCk7CiAgICAgICAgICAgICAgICAgYm9vbCBhbGxBZ3JlZSA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHZhcmlhbnQuc3RydWN0dXJlU2V0KCkuc2l6
ZSgpOyArK2kpIHsKQEAgLTQzMDgsNiArNDMxMCw4IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgfQogCiAgICAgICAgIGNhc2Ugb3BfY3JlYXRlX3Ro
aXM6IHsKKyAgICAgICAgICAgIC8vIE9PUFM6IHRoaW5rIHRocm91Z2ggdGhpcyBjb2RlLgorCiAg
ICAgICAgICAgICBpbnQgY2FsbGVlT3BlcmFuZCA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQ7CiAgICAgICAgICAgICBOb2RlKiBjYWxsZWUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGNh
bGxlZU9wZXJhbmQpKTsKIApAQCAtNDMzMCwxMiArNDMzNCwxNCBAQCBib29sIEJ5dGVDb2RlUGFy
c2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAg
ICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+
cmFyZURhdGEoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0
aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBU
aGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAg
ICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVy
ZShzdHJ1Y3R1cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6
ZShyYXJlRGF0YSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBv
aW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwg
bGl2ZSB1cCB0byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRv
R3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dy
YXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJl
KSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0dyYXBoLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJv
b2wgR3JhcGg6OmNhbkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlw
ZSogYXJyYXlQcm90b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdp
bi5zZW1hbnRpYyktPmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsK
ICAgICB2YWx1ZS5tX3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBz
dHJ1Y3R1cmUpIHsKLSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpID09IGFycmF5UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSA9PSBhcnJheVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0
aW9uYXJ5KCkKICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0u
cHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAg
ICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0g
SlNGdW5jdGlvblR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0
aW9uKj4oY29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4g
Y29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpT
T2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwganND
YXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2
bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpTVmFsdWUg
cHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzODYsNyArNDM4
NiwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
IHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJv
LCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRy
ZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3Io
KSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFk
ZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVy
ZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJh
bmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisKKyAgICAg
ICAgLy8gT09QUzogd2UgY2FuIGRvIGEgbG90IGJldHRlciBoZXJlLiBGaWxlIGEgYnVnIG1heWJl
PworICAgICAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkFkZHJlc3Moc3RydWN0dXJlR1BS
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgIHNs
b3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hJZkludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIp
KSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRyLCBh
bGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUiwg
c2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6
QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVE
YXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVz
dWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZv
ck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJS
ZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVn
IHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BS
UmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFuIG9i
amVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1f
aml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE2
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNyb0Fz
c2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBl
cmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpF
cXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxs
Ojp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUpKTsK
LSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2Ny
YXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQ
YXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUo
Km1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7CisgICAg
Ly9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcp
OworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywg
U3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5v
dFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNS
ZWcpKTsKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdyb25nIGlmIHdlIGFsbG93IG91dCBvZiBsaW5l
IG9mZnNldHMgZm9yIHBvbHkgcHJvdG8uCisgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoc2Ny
YXRjaDNSZWcsIHNjcmF0Y2gzUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkJh
c2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQs
IEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBu
b3RQb2x5UHJvdG8ubGluaygmbV9qaXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNj
cmF0Y2hSZWcpOworCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0
LmJyYW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJl
Zyk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJl
Z3Moc2NyYXRjaFJlZykpLmxpbmtUbyhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM4OSwx
MiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNw
ZWN1bGF0ZUNlbGxPcGVyYW5kIHByb3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAg
ICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDIodGhpcyk7CisgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAg
ICAgCiAgICAgICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAg
ICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNj
cmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9
IHNjcmF0Y2gzLmdwcigpOwogICAgICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAg
aXNDZWxsID0gbV9qaXQuYnJhbmNoSWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAg
ICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAg
LTMzOTQsNyArMzQwNCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9m
KE4KICAgICAgICAgCiAgICAgICAgIGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAg
ICAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBl
UmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0
Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0
KTsKIApAQCAtMzQwNywxMyArMzQxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
SW5zdGFuY2VPZihOCiAgICAgCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0
aGlzKTsKICAgICAKICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJS
ZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVn
ID0gc2NyYXRjaC5ncHIoKTsKICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIo
KTsKKyAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBz
Y3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qo
bm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNj
cmF0Y2gzUmVnKTsKIAogICAgIGJsZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUp
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgbm9uU3BlY3VsYXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29s
IGludmVydCA9IGZhbHNlKTsKICAgICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSos
IGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZG
b3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BS
UmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcg
cHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gy
UmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lv
biAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg4ODcsMTAgKzg4ODcsMTIgQEAgcHJpdmF0ZToKICAgICAg
ICAgCiAgICAgICAgIExCYXNpY0Jsb2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwog
ICAgICAgICBMQmFzaWNCbG9jayBsb29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJh
c2ljQmxvY2sgbG9hZFByb3RvdHlwZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBM
QmFzaWNCbG9jayBsb2FkUG9seVByb3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJh
c2ljQmxvY2sgY29tcGFyZVByb3RvdHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExC
YXNpY0Jsb2NrIG5vdFlldEluc3RhbmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJh
c2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2lj
QmxvY2sgbG9hZFByb3RvdHlwZURpcmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExC
YXNpY0Jsb2NrIGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAg
ICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAg
ICAKICAgICAgICAgTFZhbHVlIGNvbmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQx
KCkudXNlS2luZCgpID09IFVudHlwZWRVc2UpCkBAIC04OTA4LDE2ICs4OTEwLDI4IEBAIHByaXZh
dGU6CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3Io
Y2VsbCk7CiAgICAgICAgIG1fb3V0Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291
dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBw
ZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBt
X291dC5waGkoSW50NjQsIG9yaWdpbmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1f
b3V0LmxvYWQ4WmVyb0V4dDMyKHZhbHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwog
ICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBt
X291dC5jb25zdEludDMyKFByb3h5T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShs
b2FkUHJvdG90eXBlRGlyZWN0KSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAg
ICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0lu
c3RhbmNlU2xvdykpOwogCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJl
Y3QsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlw
ZUJpdHMsIGxvYWRQb2x5UHJvdG8pOwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0
cnVjdHVyZSh2YWx1ZSk7Ci0gICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQu
bG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAg
ICBMVmFsdWUgcHJvdG90eXBlQml0cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMu
U3RydWN0dXJlX3Byb3RvdHlwZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3Rv
eXBlID0gbV9vdXQuYW5jaG9yKHByb3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2go
aXNJbnQzMihwcm90b3R5cGVCaXRzKSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29t
cGFyZVByb3RvdHlwZSkpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8s
IGNvbXBhcmVQcm90b3R5cGUpOworICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQo
cHJvdG90eXBlQml0cywgbV9vdXQuY29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1
ZUZyb21CbG9jayBwb2x5UHJvdG8gPSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5s
b2FkNjQobV9vdXQuYmFzZUluZGV4KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2
YWx1ZSwgaW5kZXgsIFNjYWxlRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2Uo
KSkpKTsKKyAgICAgICAgbV9vdXQuanVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBt
X291dC5hcHBlbmRUbyhjb21wYXJlUHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAg
IExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lw
ZSwgcG9seVByb3RvKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9
IG1fb3V0LmFuY2hvcihtX291dC5ib29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgK
ICAgICAgICAgICAgIG1fb3V0LmVxdWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIy
MjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2Vv
ZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3Qg
aW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVy
d2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQg
b2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0o
KSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUo
KnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBT
dHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzU3RvcmVk
UHJvdG90eXBlID0gYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHpl
cm9FeHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdU
MiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSks
IHJlZ1Q0KTsKKyAgICBoYXNTdG9yZWRQcm90b3R5cGUubGluayh0aGlzKTsKKyAgICBtb3ZlKHJl
Z1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdU
MiwgcmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlz
KTsKIApAQCAtNzcwLDYgKzc3NSw4IEBAIHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKElu
c3RydWN0aW8KICAgICBSZWdpc3RlcklEIGNhY2hlZEZ1bmN0aW9uUmVnID0gcmVnVDQ7CiAgICAg
UmVnaXN0ZXJJRCBzY3JhdGNoUmVnID0gcmVnVDM7CiAKKyAgICAvLyBPT1BTOiB0aGlzIGlzIHdy
b25nIHcvIHBvbHkgcHJvdG8hCisKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGNhbGxlZSwg
Y2FsbGVlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2g4KE5vdEVxdWFsLCBBZGRyZXNzKGNh
bGxlZVJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihKU0Z1
bmN0aW9uVHlwZSkpKTsKICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbGVlUmVnLCBKU0Z1bmN0aW9u
OjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YVJlZyk7CkBAIC03NzgsNiArNzg1LDEwIEBA
IHZvaWQgSklUOjplbWl0X29wX2NyZWF0ZV90aGlzKEluc3RydWN0aW8KICAgICBsb2FkUHRyKEFk
ZHJlc3MocmFyZURhdGFSZWcsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVy
ZSgpKSwgc3RydWN0dXJlUmVnKTsKICAgICBhZGRTbG93Q2FzZShicmFuY2hUZXN0UHRyKFplcm8s
IGFsbG9jYXRvclJlZykpOwogCisgICAgLy8gT09QUywgd2UgY2FuIGRvIGJldHRlciBoZXJlIQor
ICAgIGxvYWQ2NChBZGRyZXNzKHN0cnVjdHVyZVJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZz
ZXQoKSksIHNjcmF0Y2hSZWcpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaElmSW50MzIoSlNWYWx1
ZVJlZ3Moc2NyYXRjaFJlZykpKTsKKwogICAgIGxvYWRQdHIoY2FjaGVkRnVuY3Rpb24sIGNhY2hl
ZEZ1bmN0aW9uUmVnKTsKICAgICBKdW1wIGhhc1NlZW5NdWx0aXBsZUNhbGxlZXMgPSBicmFuY2hQ
dHIoRXF1YWwsIGNhY2hlZEZ1bmN0aW9uUmVnLCBUcnVzdGVkSW1tUHRyKEpTQ2VsbDo6c2Vlbk11
bHRpcGxlQ2FsbGVlT2JqZWN0cygpKSk7CiAgICAgYWRkU2xvd0Nhc2UoYnJhbmNoUHRyKE5vdEVx
dWFsLCBjYWxsZWVSZWcsIGNhY2hlZEZ1bmN0aW9uUmVnKSk7CkBAIC04MDAsNiArODExLDcgQEAg
dm9pZCBKSVQ6OmVtaXRTbG93X29wX2NyZWF0ZV90aGlzKEluc3RydQogICAgIGxpbmtTbG93Q2Fz
ZShpdGVyKTsgLy8gZG9lc24ndCBoYXZlIGFuIGFsbG9jYXRpb24gcHJvZmlsZQogICAgIGxpbmtT
bG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKG5vIGFsbG9jYXRvcikKICAgICBs
aW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkIChhbGxvY2F0b3IgZW1wdHkp
CisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCwgc3RydWN0dXJl
IGhhcyBwb2x5IHByb3RvCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBjYWNoZWQgZnVuY3Rp
b24gZGlkbid0IG1hdGNoCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhDYWxsKHRoaXMs
IGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2NyZWF0ZV90aGlzKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYg
KzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRP
ZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsMzcgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3Ry
dWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1
cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2Vu
Y2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAg
ICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0g
Z2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2
bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAg
ICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAg
ICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAg
IGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGlu
dmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAo
IXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQgaW5zdGVhZCBmb3IgZmFzdGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIGlm
IChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBn
ZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwor
ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RC
YXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRP
ZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAg
ICAgICAgIC8vIE9PUFM6IGFyZSB0aGVzZSBleHByZXNzaW9uIGVxdWl2YWxlbnQ/CisgICAgICAg
ICAgICAvL29mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlv
blNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgb2Zmc2V0ID0g
c2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAg
ICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdldHRlciA9IG51bGxwdHI7CkBAIC0yOTMs
MTMgKzMwOSwxNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAv
LyBPT1BTOiBuZWVkIHRlc3QgZm9yIHRoaXMhCisgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNl
dCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0gZWxzZSBpZiAo
IWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICAg
ICAgLy8gT09QUzogY29uc2lkZXIgdGhpcyBjYXNlLgogICAgICAgICAgICAgbmV3Q2FzZSA9IElu
dHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hl
ZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vu
c2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6
Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6
IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
bG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90
eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAg
QWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90Lmlz
Q2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2Nr
LCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVBy
b3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0Nh
Y2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAg
ICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6
IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAg
ICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03NjYsMTAgKzc2Niw5IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9w
dXRfYnlfaWQKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3Qu
Y2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s2XS51LnN0cnVjdHVy
ZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEocGNb
OF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVD
aGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiog
Y2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxs
KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNoYWluKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCgKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgY2hhaW4pOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxv
Y2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3Bw
CShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkgQEAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3Rh
dGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0
byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpOwogfQogCiBz
dGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2Jq
ZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02MTAsNyArNjA5
LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAg
ICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVjdCkpCisgICAg
ICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNP
YmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAg
ICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAg
fQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVj
U3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJl
cih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xl
c0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAgICAgICAg
ICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkK
ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAg
ICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTgx
Niw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAg
ICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRh
KCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFp
bnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0
YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09i
amVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBh
cnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250
aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxl
bmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkK
KyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0
aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChsZW5n
dGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpl
eGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwogICAgICAg
ICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc0LDcgKzExNzMsNyBA
QCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VMWSghaGFzQW55
QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2UtPnN0cnVjdHVy
ZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlmIChMSUtFTFko
IWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpTVmFsdWUgdmFs
dWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAgIGlmICh2YWx1
ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRB
cmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3
IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0
dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3Ry
dWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShhc09i
amVjdChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoYXNPYmplY3Qoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkpKSkg
ewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51
bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwog
CkBAIC04MSw3ICs4MSw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVh
dGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwg
b2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2Yg
dGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxk
LgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwg
bGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5k
ZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0x
MjUsMTQgKzEyNSwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRl
CiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5j
bG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAg
IEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0
KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1
bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3Rh
dGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1l
bnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUs
IG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVk
c1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0x
NDUsNyArMTQ1LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQog
ICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0
LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0g
ICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgp
KSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lv
biAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0wo
c2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBw
Y1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0
b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0
KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBv
bHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZt
LCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRp
b25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IK
ICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRh
YmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52aXNp
dFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3VubGlu
a2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5nbGV0
b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jb25zdHJ1Y3RS
ZXN1bHRQcm90b3R5cGVTdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0
aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3Myw2ICsxNzMsOSBAQCBwdWJsaWM6CiAKICAgICBJbmZlcnJl
ZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24u
Z2V0KCk7IH0KIAorICAgIC8vIE9PUFM6IGFkZCBtZXRob2RzIGZvciB0aGlzLgorICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fY29uc3RydWN0UmVzdWx0UHJvdG90eXBlU3RydWN0dXJlOwor
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKICAgICBGdW5jdGlv
bkV4ZWN1dGFibGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewog
fQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBK
U0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1
Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVh
c29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UmFyZURhdGEuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZv
aWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQg
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNv
bnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxp
emVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5j
dGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMg
QEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUq
IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9y
KCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVl
KCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAg
ICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2Fs
bGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rp
b24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShy
ZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgyLDcgKzg4Miw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6
OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNh
c2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0g
ICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+
PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAog
ICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNh
bEdsb2JhbE9iamVjdCgpOwpAQCAtOTE3LDcgKzkxNyw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRD
b3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMg
aG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0
aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdl
LT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAg
ICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhp
bmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNDgsNyArMTA0OCw3IEBA
IGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2Ug
aGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJv
dW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hp
ZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFn
ZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAg
ICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0
YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1
dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAg
aWYgKFVOTElLRUxZKCF2KSkgewpAQCAtMTA4OSw3ICsxMDg5LDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZv
ciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBk
b24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiBy
ZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAg
IHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBp
ZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVu
ZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3Vv
dXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9
IHYpKSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90
b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAo
Z2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVz
LmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDggKzYxLDggQEAgaW5saW5lIGJv
b2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9w
ZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGlu
c3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8
fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7
CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRG
dW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUs
NyBAQCBpbmxpbmUgU3RydWN0dXJlKiBnZXRCb3VuZEZ1bmN0aW9uU3RydWN0CiAgICAgLy8gaXNu
J3QgYW55IGdvb2QgcGxhY2UgdG8gcHV0IHRoZSBzdHJ1Y3R1cmUgb24gSW50ZXJuYWwgRnVuY3Rp
b25zLgogICAgIGlmICh0YXJnZXRKU0Z1bmN0aW9uKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gdGFyZ2V0SlNGdW5jdGlvbi0+cmFyZURhdGEodm0pLT5nZXRCb3VuZEZ1bmN0aW9u
U3RydWN0dXJlKCk7CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUgJiYg
c3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBwcm90b3R5cGUgJiYgc3RydWN0dXJlLT5n
bG9iYWxPYmplY3QoKSA9PSBnbG9iYWxPYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gc3RydWN0
dXJlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFs
dWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAg
dm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlm
IChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkp
IHsKICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgp
KSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVy
KGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmlu
dCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAg
ICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0
KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGlu
Q29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVy
ZUlEKCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5z
dHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAg
IG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEy
NiwyMiBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0
dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5
cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAg
ICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90
b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgp
OworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxp
emVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAg
ICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNP
YmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMs
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQot
ICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAg
IEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMp
OwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3Jl
YXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVE
YXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2
bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29t
cGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAg
Ly8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApA
QCAtMTQ5LDExICsxNTUsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFs
aXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZt
LCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFw
cm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90
eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAg
IG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFs
T2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJu
IG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM0MSw2ICszNDQsMTggQEAgRW5jb2RlZEpTVmFs
dWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhyb3dUeXBlRXJyb3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVy
IHVzZWQgdG8gcmV0cmlldmUgc3RyaWN0IGNhbGxlciIpKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGlu
ZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKFZNJiB2bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1
ZSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9
IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBlVmFsdWUpOworICAgIGlmICgh
cHJvdG90eXBlKQorICAgICAgICByZXR1cm47CisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVE
YXRhID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSk7CisgICAg
aWYgKHJhcmVEYXRhLT5uZWVkc0luZmVycmVkQ29uc3RydWN0b3IoKSkKKyAgICAgICAgcmFyZURh
dGEtPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgIGlmIChJbmZlcnJlZFZhbHVl
KiBpbmZlcnJlZENvbnN0cnVjdG9yID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0s
IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkpCisg
ICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3Rvciwg
IlNldHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5jdGlvbiIpOworfQorCiBib29sIEpTRnVu
Y3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4
ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMzcxLDcgKzM4Niw2IEBAIGJvb2wgSlNGdW5jdGlv
bjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAgICAgICAgIG9mZnNldCA9IHRoaXNPYmpl
Y3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhdHRy
aWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwogICAg
ICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0
aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zmc2V0KTsKICAgICB9CiAKQEAgLTQ1Miw2
ICs0NjYsNyBAQCBib29sIEpTRnVuY3Rpb246OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTCiAgICAg
ICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNP
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZ2V0U2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2Jq
ZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xl
YXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAg
IGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCB2YWx1ZSwgdGhpc09iamVjdCk7CiAg
ICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OnB1dCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICB9CkBAIC01MTgsNiAr
NTMzLDggQEAgYm9vbCBKU0Z1bmN0aW9uOjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iagogICAgICAg
ICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+
bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJT
dG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpZiAo
ZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICAgICAgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZO
ZWVkZWQodm0sIGRlc2NyaXB0b3IudmFsdWUoKSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3Bl
LnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KG9iamVj
dCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJl
dHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rp
b24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29u
c3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRf
UFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAg
ICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVy
ZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90
b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3Ry
dWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAo
Z2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpA
QCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxl
CiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25P
YnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9i
amVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIy
MjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNs
b3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1
Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlm
IChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYg
UmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0
aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hh
aW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUsIHRoaXMpIHx8IG9iaiA9PSB0
aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90
LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3Ip
KTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09i
amVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JB
R0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5
cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhv
bGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
KSk7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykp
OwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlD
YXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTEx
MSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1
dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0
aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRN
YXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpu
b25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwg
b2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKICAg
ICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0
dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRl
ZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRv
QXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0s
IHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24odGhpcykpOwog
fQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0m
IHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbih0aGlzKSk7CiB9CiAKIENvbnRpZ3VvdXNK
U1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0x
MzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9B
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShW
TSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3Ry
dWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKHRoaXMpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5
VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29u
dmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVk
QXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbih0aGlzKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JW
YWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1
b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRo
aXMpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAg
cmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsx
NDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAog
ICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVO
TElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZyh0aGlzKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJs
ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAg
ICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5z
dXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpKQogICAgICAgICAgICAgcmV0dXJu
IENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRp
Z3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9V
TkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZyh0aGlzKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0
b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcodGhpcykpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19U
WVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKTsKICAg
ICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAg
ICAKICAgICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxOCBAQCB2b2lkIEpTT2JqZWN0Ojpz
ZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQog
ICAgICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkp
OwogICAgIAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQ
cm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNl
dFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVy
ZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIC8v
ZGF0YUxvZ0xuKCJ0cmFuc2l0aW9uaW5nIGZyb20gX19wcm90b19fIHNldCwgZnJvbSBwb2x5IHBy
b3RvOiAiLCAhc3RydWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwg
c3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdT
dHJ1Y3R1cmUpOworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2
bSktPnBvbHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFzdHJ1Y3R1cmUo
dm0pLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHRoaXMpKQog
ICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlw
ZSh0aGlzKSkgewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJh
ZFRpbWUodm0pOworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFC
YWRUaW1lKHZtKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1
NSw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8v
IE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUg
b24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0g
ICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmpl
Y3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVk
UHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpT
VmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcg
KzI3MzEsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAg
ICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVB
cnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAoc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcodGhpcykpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQg
dGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5Lgog
ICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVu
Z3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlz
LCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODgzLDcgQEAgYm9v
bCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJu
IHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAg
ICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKHRoaXMpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0
b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgo
MCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2
bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3Rv
cisrOwpAQCAtMzU1OCw3ICszNTYzLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFi
bGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAg
IHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNyArODY2LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQo
aW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0
KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlw
ZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwo
KSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhp
cykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3
YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVj
dCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyAr
MTI5OCw3IEBAIGlubGluZSBKU09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5s
aW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0
dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQw
MCw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVj
dHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xv
dCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9l
c24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAg
ICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6
OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0
aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRl
cm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1J
bnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVj
dCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0
UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmpl
Y3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAg
ICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0
UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5
cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAg
ICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAg
ICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZt
LCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsK
QEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGlu
ZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5l
KHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0
dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSwgdGhpc09iamVjdCkp
OwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+
KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0
eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlO
YW1lRW51bWVyYXRvci5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYg
KCFpbmRleGVkTGVuZ3RoCiAgICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNo
ZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hl
ZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAg
ICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsK
IAogICAgIHVpbnQzMl90IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDkg
KzEzNiwxMSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKTsKIAogICAgIGVudW1lcmF0
b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRl
eGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFt
ZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0
dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0
cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVj
dHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7Cisg
ICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJl
KSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1
cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAg
IH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBA
IGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0
dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0
LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9i
YWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1Nl
dDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVj
dC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0NjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3Qq
IHByb3RvdHlwZShjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAg
ICAgICAgLy8gT09QUy4gbWFrZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFj
Y2Vzc2VzIHRoaXMuCiAgICAgICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAg
ICAgICAgcmV0dXJuIGdldChnbG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9
CkBAIC0xMDEsMTMgKzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJl
LmdldENvbmN1cnJlbnRseSgpOwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBl
Q29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LSAgICAKICAgICBKU09iamVjdCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAg
IHsKICAgICAgICAgcmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0Myw2ICsxNDMsMTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZQogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJv
eHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAg
ICAgLy8gT09QUzogdGhpcyBkZWZpbml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0
dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxs
KCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU0LDE3ICs1NCwzOSBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpT
T2JqZWN0CiAgICAgLy8gdXNlZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8s
IGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0
ZDo6bWFrZV90dXBsZShwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2Jh
bE9iamVjdCk7CisgICAgUkVMRUFTRV9BU1NFUlQoISFwcm90b3R5cGUpOyAvLyBXZSB1c2UgbnVs
bHB0ciBpbnNpZGUgdGhlIEhhc2hNYXAgZm9yIHByb3RvdHlwZSB0byBtZWFuIHBvbHkgcHJvdG8s
IHNvIHVzZXIncyBvZiB0aGlzIEFQSSBtdXN0IHByb3ZpZGUgbm9uLW51bGwgcHJvdG90eXBlcy4K
KworICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUg
PyBudWxscHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxP
YmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQo
a2V5KSkgeworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAg
ICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAg
ICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0
cnVjdHVyZTsKICAgICB9CiAKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisKICAg
ICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisKKyAgICAvLyBP
T1BTOiBmaWd1cmUgb3V0IHdoYXQgdG8gZG8gaGVyZS4gVGhpcyBmZWVscyBsaWtlIHRoZSB3cm9u
ZyBwbGFjZSB0byBkbyB0aGlzLgorICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7Cisg
ICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+cmFyZURhdGEoKTsKKyAgICAgICAgQVNTRVJUKHJhcmVEYXRhLT5uZWVkc1BvbHlQcm90
b1N0cnVjdHVyZSh2bSkpOworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgK
KyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworICAgICAgICByYXJlRGF0YS0+c2V0UG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUp
OworICAgIH0KKworICAgIGlmICghc3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAg
ICB9CiAgICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUp
KTsKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQpAQCAtNzMsMjAgKzk1LDIxIEBAIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkg
ZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3Nl
cyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBp
bmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFz
ZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJ
bmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPnN0cnVj
dHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKHByb3Rv
dHlwZSkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5k
ZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0
QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1
Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlw
ZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFs
c2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpT
RmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVj
dDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBh
Y2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpj
bGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewog
ICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2Fw
YWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1
Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpT
RmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFw
LmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1By
b3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2Jq
ZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBl
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9
IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJl
Rm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCos
IFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAg
ICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVy
bnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBj
cmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUs
IGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25l
ZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29u
c3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9v
bCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpT
T2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVj
dC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQs
IGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJl
TWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2Jq
ZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVj
dHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwg
U3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgp
KQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAg
ICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+
c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMt
Pm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJ
bmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBt
X29mZnNldChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyMyBAQCB2b2lkIFN0cnVjdHVy
ZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2Vs
bCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENs
YXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSBy
ZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhv
dXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVz
KCkudW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwgRG9udEVudW0sCisgICAgICAgIFsmXSAo
Y29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQ
cm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9m
TGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0
KG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3Vs
dCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQo
bmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwog
dm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZl
Y3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQ
cm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgp
KTsKQEAgLTM5OCwyNiArNDE1LDMwIEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0
eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wg
U3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkg
Y29uc3QKK2Jvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0
dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJl
KCkgPT0gdGhpcyk7IC8vIE9PUFM6IExldCdzIGp1c3QgcHV0IHRoaXMgb24gSlNPYmplY3Q/Cisg
ICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVu
dCA9IGJhc2U7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlw
ZSgpOworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURp
cmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSktPnN0cnVjdHVyZSgpOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
ICAgICB9CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
Vk0mIHZtKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIEFTU0VSVChiYXNlLT5zdHJ1
Y3R1cmUodm0pID09IHRoaXMpOworCiAgICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlz
LT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChw
cm90b3R5cGUpOwpAQCAtNDI2LDcgKzQ0Nyw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RG
b3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5z
dHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5p
bmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3Jl
ZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90
b3R5cGUpOwpAQCAtNDM2LDE1ICs0NTcsMTYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJ
bmRleGluZyhKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgUkVMRUFTRV9BU1NFUlQoYmFz
ZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBKU09iamVj
dCogbWV0aG9kPworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKGJhc2UpCiAgICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRU
aW1lKCk7CiB9CiAKLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAorTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVj
dHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbihKU09iamVjdCogYmFzZSkgY29u
c3QKIHsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICBpZiAobmVlZHNTbG93
UHV0SW5kZXhpbmcoYmFzZSkpIC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBt
ZXRob2QKICAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93
UHV0QXJyYXlTdG9yYWdlOwogICAgIAogICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246
OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwpAQCAtNTU1LDYgKzU3Nyw3IEBAIFN0cnVjdHVyZSogU3Ry
dWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmEKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7
CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCisg
ICAgLy8gT09QUzogdGhpcyBuZWVkcyB0ZXN0aW5nIQogICAgIHRyYW5zaXRpb24tPm1fcHJvdG90
eXBlLnNldCh2bSwgdHJhbnNpdGlvbiwgcHJvdG90eXBlKTsKIAogICAgIFByb3BlcnR5VGFibGUq
IHRhYmxlID0gc3RydWN0dXJlLT5jb3B5UHJvcGVydHlUYWJsZUZvclBpbm5pbmcodm0pOwpAQCAt
MTA2NywxMSArMTA5MCw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNT
dHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1
Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlw
ZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0
cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxs
KTsKQEAgLTExMDksNyArMTEyNyw3IEBAIGJvb2wgU3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0Mo
KQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQK
ICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1
cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAgICYmICghc3RvcmVkUHJvdG90
eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFoYXNTdG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVk
UHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJv
dG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMSwyMCArMTEzOSwyMiBAQCBib29sIFN0cnVjdHVyZTo6
bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3Ry
dWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lKQorYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0
KiBiYXNlKQogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhp
cyk7IC8vIE9PUFM6IG1heWJlIG1ha2UgdGhpcyBhIEpTT2JqZWN0KiBtZXRob2QuCisKICAgICBp
ZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgICAgICByZXR1cm4gYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhiYXNlKTsKICAgICAKLSAgICBm
b3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBmb3IgKEpTT2JqZWN0KiBj
dXJyZW50ID0gYmFzZTsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHBy
b3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwot
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5
TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAg
ICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICAKQEAgLTExNzIsNiArMTE5Miw3IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4g
U3RydWN0dXJlOjp0b1N0cnVjdHUKICAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1
cmVTaGFwZTo6Y3JlYXRlKCk7CiAgICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hh
cGUuY29weVJlZigpKTsKICAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7
CisgICAgICAgICAgICAvLyBPT1BTOgogICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpOwogICAgICAgICB9CiAKQEAgLTExODEsMTMgKzEyMDIsNiBA
QCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgcmV0dXJuIGJh
c2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3Ry
dWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+
aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+
c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkg
PT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVy
ZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2lu
dGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAy
LDcgKzEyMTYsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAg
ICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgp
KSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICgh
aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zm
c2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQo
KS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9w
cm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQo
KSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJl
dmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVk
ZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAg
IGVudW0gUG9seVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9s
eVByb3RvVGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAt
MTM4LDcgKzE0MCw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJU
KG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8
fCBtX3Byb3RvdHlwZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxNjksNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGlu
Z1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlk
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdT
dHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQ
cm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJh
bnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsK
LSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVU
cmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRp
YyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBK
U1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVy
ZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFt
ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0
cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwog
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihW
TSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIHJldHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3Bl
cnR5QWJzZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5
V2F0Y2hwb2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNh
Y2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI0Miw0NCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAh
IShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29y
cyk7CiAgICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklW
QVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyhKU09i
amVjdCopIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwg
SlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIGNvbnN0OwotICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZyhKU09i
amVjdCopIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQo
KTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1
cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8v
IG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBi
dW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xv
YmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFBy
b3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgp
LmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAg
ICAgICAvLyBPT1BTLiBtYXliZSBkZWJ1ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAgcmV0dXJu
IG1fcHJvdG90eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9P
ZmZzZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsK
KyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25z
dDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0Kikg
Y29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNP
YmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBj
b25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0Owog
ICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpT
VmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgSlNW
YWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3RydWN0dXJl
Q2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBT
dHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNW
YWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UpIGNv
bnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5
cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3RhdGljIHZv
aWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgIAogICAgIC8vIEEg
U3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9u
bHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzQsMTIgKzI5NCwyNSBAQCBw
dWJsaWM6CiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwogICAgICAgICAKICAg
ICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0
eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUlu
dGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIEpTX0VYUE9SVF9QUklWQVRF
IGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1l
LCBKU09iamVjdCopOwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsK
ICAgICAgICAgcmV0dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwog
ICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgewor
ICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9
CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsK
KyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0
YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1
Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiArNTY2LDYgQEAgcHVi
bGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9
CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nh
cnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSog
c3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNo
aW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wg
aGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVy
cmVkVHlwZVRhYmxlOwpAQCAtNTkwLDEwICs2MTcsNiBAQCBwdWJsaWM6CiAKICAgICBSZWY8U3Ry
dWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSk7CiAgICAgCi0gICAgLy8gRGV0
ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUg
Y291bGQgYmUgdXNlZCBmb3IgYWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgot
ICAgIGJvb2wgY2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKLSAgICAKICAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJp
bnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwogICAgIHZvaWQgZHVtcEJyaWVmKFByaW50
U3RyZWFtJiwgY29uc3QgQ1N0cmluZyYpIGNvbnN0OwpAQCAtNzIwLDggKzc0Myw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwg
bV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBi
b29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNo
YWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVD
aGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAg
IC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQ
cm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc1NCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
dHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9
CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3Ry
dWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENv
bnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAg
IGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIy
NDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2
aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKKworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBj
dXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAg
c3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6
bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAg
c2l6ZV90IGkgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50
OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0
KGN1cnJlbnQpKQorICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSkpOworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92
ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiog
Y3JlYXRlKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJl
Q2hhaW4qIGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+
KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUu
Z2V0KCkpOwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIs
MjIgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAK
IHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBo
ZWFkKQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBz
aXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsg
Y3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8g
MCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0g
ICAgICAgICAgICArK3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAg
Zm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVu
dC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3Rv
cmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNl
dCh2bSwgdGhpcywgY3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JG
ZW5jZSgpOwotICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0
cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVk
UHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAg
ICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIg
KzcwLDQxIEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5s
aW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09i
amVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3Qp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgp
OwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmpl
Y3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAo
aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsK
KyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICBy
ZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09i
amVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9i
amVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09
IHRoaXMpOyAvLyBPT1BTIGRlYnVnIGFzc2VydCAKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVl
IHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChw
cm90by5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2Jq
ZWN0KHByb3RvKTsKK30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7Cisg
ICAgaWYgKEpTT2JqZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQor
ICAgICAgICByZXR1cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOwor
fQorCiBBTFdBWVNfSU5MSU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpA
QCAtMTY2LDE1ICsxOTYsMzIgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlU
cmFucwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3Rv
dHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
Y29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlz
T2JqZWN0KCkpOworCisgICAgaWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3Ry
aW5nVHlwZSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7
CisKKyAgICBBU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBl
KTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBp
bmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKICAgICBpZiAoaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90
eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAg
ICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0
dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmlt
aXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8o
KS50eXBlKCkgPT0gU3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5n
UHJvdG90eXBlKCk7CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1
cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7IC8vIE9PUFMgZGVi
dWcgYXNzZXJ0PworICAgIGlmIChpc09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJv
dG90eXBlKGFzT2JqZWN0KGJhc2UpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJp
bWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1
Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CkBAIC0xODIs
MjcgKzIyOSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvCiAg
ICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
OwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4o
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0cnVj
dHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9B
U1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsgLy8gT09QUzogbWF5YmUgZGVidWc/
CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBjYW4g
c2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5
cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVG
b3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5z
ZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwo
KSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSkpOworICAgIGlmICghaXNW
YWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCksIGJhc2UpKSB7
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9i
amVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlz
LCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyBudWxscHRy
IDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRQcm90
b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVD
aGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0
KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihl
eGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UpOwogfQogCi1pbmxp
bmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
U3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAoraW5saW5lIGJvb2wg
U3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CiAg
ICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsK
KyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3Qs
IGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUgPSBj
YWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxlICgqY2FjaGVkU3RydWN0dXJl
ICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3RvdHlw
ZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEgKzI2
MSw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE8KICAgICByZXR1
cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0dXJlOwogfQogCi1pbmxpbmUg
Ym9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiog
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVDaGFpbik7Ci19Ci0KIGlubGlu
ZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkKQEAgLTQwMCw3ICs0NDMsNyBA
QCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJl
bW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNl
dFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJ
TkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxl
KiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0
aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogCiAj
aW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5oIgor
I2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
QEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6dmlzaXRDaGlsZHJlbihK
UwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJldmlvdXMpOwogICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKTsKKyAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQ
cm90b1N0cnVjdHVyZSk7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJl
UmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYg
KzE3Nyw1MyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAg
bV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0pTVmFsdWUgU3RydWN0dXJlUmFy
ZURhdGE6OmluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSgpCit7CisgICAg
cmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLmdldCgpOwor
fQorCitib29sIFN0cnVjdHVyZVJhcmVEYXRhOjpuZWVkc1BvbHlQcm90b1N0cnVjdHVyZShWTSYg
dm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1
cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAg
ICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIGlmIChJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9y
ID0ganNEeW5hbWljQ2FzdDxJbmZlcnJlZFZhbHVlKj4odm0sIGluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZSkpCisgICAgICAgIHJldHVybiBpbmZlcnJlZENvbnN0cnVjdG9y
LT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICBBU1NFUlQoaW5mZXJyZWRDb25zdHJ1Y3Rvck9y
UG9seVByb3RvU3RydWN0dXJlLmFzQ2VsbCgpLT5pbmhlcml0cyh2bSwgU3RydWN0dXJlOjppbmZv
KCkpKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cnVjdHVyZSogU3RydWN0dXJlUmFyZURh
dGE6OnBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0pCit7CisgICAgSlNWYWx1ZSBpbmZlcnJlZENv
bnN0cnVjdG9yT3JQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0aGlzLT5pbmZlcnJlZENvbnN0cnVjdG9y
T3JQb2x5UHJvdG9TdHJ1Y3R1cmUoKTsKKyAgICBpZiAoIWluZmVycmVkQ29uc3RydWN0b3JPclBv
bHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGpz
RHluYW1pY0Nhc3Q8U3RydWN0dXJlKj4odm0sIGluZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90
b1N0cnVjdHVyZSk7Cit9CisKK2Jvb2wgU3RydWN0dXJlUmFyZURhdGE6OmlzUG9seVByb3RvKFZN
JiB2bSkKK3sKKyAgICByZXR1cm4gbmVlZHNQb2x5UHJvdG9TdHJ1Y3R1cmUodm0pIHx8ICEhcG9s
eVByb3RvU3RydWN0dXJlKHZtKTsKK30KKworYm9vbCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bmVlZHNJ
bmZlcnJlZENvbnN0cnVjdG9yKCkKK3sKKyAgICByZXR1cm4gIWluZmVycmVkQ29uc3RydWN0b3JP
clBvbHlQcm90b1N0cnVjdHVyZSgpOworfQorCitJbmZlcnJlZFZhbHVlKiBTdHJ1Y3R1cmVSYXJl
RGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0pCit7CisgICAgUkVMRUFTRV9B
U1NFUlQoIW1faW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKTsKKyAgICBJ
bmZlcnJlZFZhbHVlKiByZXN1bHQgPSBJbmZlcnJlZFZhbHVlOjpjcmVhdGUodm0pOworICAgIG1f
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgcmVz
dWx0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpz
ZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAg
ICBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IHN0cnVjdHVyZSk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0aG9kcyBmb3IgT2JqZWN0LnBy
b3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNsYXNzZXMgLS0tLS0tLS0tLS0t
LS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Ok9iamVjdFRv
U3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1cmVSYXJlRGF0YSkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
aAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVydHlOYW1l
RW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5nQWRhcHRp
dmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMjIgQEAgcHVibGljOgogICAgIEpT
UHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNv
bnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYsIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJlIGEgdGhlIHN0cnVjdHVyZSBv
ZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0IG91ciBmdW5jdGlvbiBpcywg
c3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVyZSBpcyB1cy4KKyAgICAvLyBX
ZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1Y3R1cmUgb2YgYW4gb2JqZWN0
IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAorICAgIC8vIG9mIGEgY29uc3Ry
dWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdlIHdhbnQgdG8gaW5mZXIgaWYg
d2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8vIElmIHdlIGRvLCB0aGVuIG1f
aW5mZXJyZWRDb25zdHJ1Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlIHBvaW50cyB0byBhbiBJbmZl
cnJlZFZhbHVlIGluZmVycmluZyBhCisgICAgLy8gSlNGdW5jdGlvbi4gSWYgd2Ugbm90aWNlIHRo
YXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIGZpZWxkIGVpdGhlciBwb2ludHMgdG8gYW4g
SW5mZXJyZWRWYWx1ZQorICAgIC8vIHRoYXQgaXMgaW52YWxpZGF0ZWQuIElmIHdlIGV2ZXIgY29u
c3RydWN0IGFuIG9iamVjdCB3aG8ncyBfX3Byb3RvX18gcG9pbnRzIHRvIHRoaXMgcHJvdG90eXBl
LCB0aGVuCisgICAgLy8gd2UgbW92ZSBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0
cnVjdHVyZSB0byB0aGUgU3RydWN0dXJlIG9mIHRoZSBvYmplY3QgdGhhdCBzaG91bGQgYmUgY3Jl
YXRlZAorICAgIC8vIHRoYXQgaGFzIHBvbHkgcHJvdG8uCisgICAgSW5mZXJyZWRWYWx1ZSogZW5z
dXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIEpTVmFsdWUgaW5mZXJyZWRDb25zdHJ1
Y3Rvck9yUG9seVByb3RvU3RydWN0dXJlKCk7CisgICAgYm9vbCBuZWVkc1BvbHlQcm90b1N0cnVj
dHVyZShWTSYpOworICAgIGJvb2wgbmVlZHNJbmZlcnJlZENvbnN0cnVjdG9yKCk7CisgICAgdm9p
ZCBzZXRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1cmUqKTsKKyAgICBTdHJ1Y3R1cmUq
IHBvbHlQcm90b1N0cnVjdHVyZShWTSYpOyAvLyBNYXkgYmUgbnVsbHB0ciBpZiBub3QgcG9seSBw
cm90byBvciBwb2x5IHByb3RvIHN0cnVjdHVyZSBoYXMgeWV0IHRvIGJlIGluc3RhbnRpYXRlZC4K
KyAgICBib29sIGlzUG9seVByb3RvKFZNJik7CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwog
CiBwcml2YXRlOgpAQCAtNzYsNiArOTMsNyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVj
dFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRv
cj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAgIFdyaXRlQmFycmllcjxVbmtu
b3duPiBtX2luZmVycmVkQ29uc3RydWN0b3JPclBvbHlQcm90b1N0cnVjdHVyZTsKICAgICAKICAg
ICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0Piwg
V1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2lu
dFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJp
ZXIuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFsdWUoSlNWYWx1ZSB2YWx1ZSkg
eyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQogICAgIGJvb2wgaXNOdW1iZXIo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9CisgICAgYm9vbCBpc0ludDMyKCkg
Y29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAgYm9vbCBpc09iamVjdCgpIGNv
bnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBib29sIGlzTnVsbCgpIGNvbnN0
IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBpc0dldHRlclNldHRlcigpIGNv
bnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyQ2FjaGUuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xh
c3M+IGlubGluZSBKCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5lIEpT
Qzo6SlNPYmplY3QqIGdldERPTVByb3RvdHlwZShKU0M6OlZNJiB2bSwgSlNET01HbG9iYWxPYmpl
Y3QmIGdsb2JhbE9iamVjdCkKIHsKKyAgICAvLyBPT1BTOiBsb29rIGludG8gdGhpcwogICAgIHJl
dHVybiBKU0M6OmpzQ2FzdDxKU0M6OkpTT2JqZWN0Kj4oYXNPYmplY3QoZ2V0RE9NU3RydWN0dXJl
PFdyYXBwZXJDbGFzcz4odm0sIGdsb2JhbE9iamVjdCktPnN0b3JlZFByb3RvdHlwZSgpKSk7CiB9
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321897</attachid>
            <date>2017-09-26 16:50:48 -0700</date>
            <delta_ts>2017-09-26 17:39:35 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>160546</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDY3KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBh
c3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2VzLmxlbmd0aDsgKytpKQorICAgICAgICB2
YWxpZGF0ZShpbnN0YW5jZXNbaV0pOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1zZXQtcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tc2V0LXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLXNldC1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiYmFkIik7Cit9CisKK2xldCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsK
KyAgICBnZXQgeSgpIHsgcmV0dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICB9Cit9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3Rv
dHlwZSwgIngiLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30p
OworCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9y
KCkgeworICAgICAgICAgICAgdGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICBy
ZXR1cm4gbmV3IEM7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQo
by54ID09PSBwKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9v
KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
CisgICAgICAgIHZhbGlkYXRlKGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAg
ICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDA7ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEs
IG51bGwpOworICAgIH0KK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9f
XyA9IGFsdGVybmF0ZVByb3RvMjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkg
eworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOwor
ICAgICAgICBhc3NlcnQoYS55ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJl
c3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
cHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAor
bGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5j
dGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3Io
KSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5
OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBv
bHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90
eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3By
b3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAor
ICAgIFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisK
K2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZh
bGlkYXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0g
eSk7CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAg
ICBhc3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFz
c2VydChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5
KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7
CisgICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0
MDAsIHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDog
SlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0
aW9uIGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5
cGUgPSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0
IGl0ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygp
LAorICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkg
eworICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChp
dGVtLnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90
b3R5cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3Ig
KGxldCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNyw3IEBA
IGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0aG9kT2ZH
ZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nh
c2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0ZWNvZGUv
T3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNv
ZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNvZGUvUHJv
dG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAog
Ynl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMTA2MSw2ICsxMDYxLDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5
QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJC
MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRo
SUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQx
M0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1
NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQ
dXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFw
aENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBo
Q29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURG
MjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMzQ5OSw2ICszNTAwLDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRN
YXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAw
RDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5
NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5
QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyog
R2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkx
RCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xv
cmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jp
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM0MSw2ICs3MzQ0LDggQEAK
IAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAog
CQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8s
CiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8s
CisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNw
cCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8s
CiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApA
QCAtODUyOSw2ICs4NTM0LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50
bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RC
MDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyog
SW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3
RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0
ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjQ2
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwog
CiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJp
dmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0
ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAv
LyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0
ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4
dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFt
ZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCks
ICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpF
X0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElk
ZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6
ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihT
eW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlND
X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJM
SUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BS
T1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2
ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklW
QVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVBy
aXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1By
aXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFt
ZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOwor
ICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVy
c2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9
CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlm
aWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05f
UFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJ
Tl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1
YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9s
bGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsK
QEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQog
ICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6
OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJl
cEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1By
aXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNSArNDksMTggQEAKICNpbmNsdWRlICJTdXBl
clNhbXBsZXIuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKIAorI2luY2x1ZGUgIk1h
Y3JvQXNzZW1ibGVyUHJpbnRlci5oIgorCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEFj
Y2Vzc0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9
CiAKLUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNl
OjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAg
ICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVs
bCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25T
ZXQ7CkBAIC03OSw3ICs4Miw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3ND
YXNlOjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpKTsKIH0KIAogc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKQEAgLTk2LDcgKzk5LDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBudWxscHRyKSk7CiB9CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3ND
YXNlKCkKQEAgLTEzNSw3ICsxMzgsOSBAQCBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vz
c0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiByZXN1bHQ7CiAKICAgICBp
ZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBv
aW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNo
cG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0
Y2hwb2ludCgpCisgICAgICAgIC8vIE9PUFM6IGFkZCBhIHRlc3QgZm9yIHRoaXMKKyAgICAgICAg
fHwgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gJiYgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+bmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCh2bS5l
bnN1cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRlbnQpKTsKIAogICAgIGlmIChh
ZGRpdGlvbmFsU2V0KCkpCkBAIC0xNTEsNiArMTU2LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpndWFy
ZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgog
ICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxOCwxMyBAQCBib29sIEFjY2Vzc0Nh
c2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJldHVybiB0aGlzQ2FzZS5tb2R1
bGVOYW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCk7
CiAgICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0aGlzIGlz
IGV4YWN0bHkgd2hhdCB3ZSB3YW50CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICBpZiAoIW90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICptX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluID09ICpvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICB9
CisKICAgICAgICAgaWYgKCFndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFy
ZGVkQnlTdHJ1Y3R1cmVDaGVjaygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0y
MTksMjIgKzIzNCwyNiBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNz
CiAKIHZvaWQgQWNjZXNzQ2FzZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAg
IG91dC5wcmludChtX3R5cGUsICI6KCIpOworICAgIG91dC5wcmludCgiXG4iLCBtX3R5cGUsICI6
KCIpOwogCiAgICAgQ29tbWFQcmludGVyIGNvbW1hOwogCiAgICAgb3V0LnByaW50KGNvbW1hLCBt
X3N0YXRlKTsKIAotICAgIGlmIChtX3R5cGUgPT0gVHJhbnNpdGlvbikKLSAgICAgICAgb3V0LnBy
aW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+
ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7Ci0gICAgZWxzZSBpZiAobV9zdHJ1Y3R1
cmUpCi0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1w
KG1fc3RydWN0dXJlLmdldCgpKSk7Ci0KICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkp
CiAgICAgICAgIG91dC5wcmludChjb21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBp
ZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
Y29uZGl0aW9ucyA9ICIsIG1fY29uZGl0aW9uU2V0KTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluKQorICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNo
YWluID0gIiwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAgZWxzZSB7CisgICAgICAgIGlm
IChtX3R5cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0
cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVt
cChuZXdTdHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAg
ICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3Ry
dWN0dXJlLmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAg
b3V0LnByaW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjYyLDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6
dmlzaXRXZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6
OmlzTWFya2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAg
ICBpZiAoIUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3Rp
bGxMaXZlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7
CkBAIC0yNzMsNiArMjk4LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlv
bnMoU2wKICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVy
ZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nl
c3NDaGFpbi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJ
ZkNoZWFwKHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2Fz
ZSBUcmFuc2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9z
dHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwMiw2NCBAQCB2b2lkIEFjY2Vz
c0Nhc2U6OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAg
ICAgaWYgKHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAg
ICAgICAgICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkp
KTsKLQotICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VH
UFIsIEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJl
KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1
Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAg
ICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIC8vZGF0YUxv
Z0xuKCJHZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAgICAgIC8vaml0LnBy
aW50KCJEb2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAgICAgICAgICBHUFJS
ZWcgYmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAgICAgICBqaXQu
bW92ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUo
KTsgKytpKSB7CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRFbmQg
PSBpICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsKKyAgICAg
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5i
cmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5v
dEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJh
c2VGb3JBY2Nlc3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmICFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0
aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVO
dWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJl
LT5wcm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFz
T2JqZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVj
dHVyZS0+aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3Rv
dHlwZS4gV2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zm
c2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9m
ZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFj
Y2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIp
OworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2
NChDQ2FsbEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBm
YWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgK
LSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
SURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAg
ICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVu
ZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0Nh
bGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkp
LAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVy
ZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBz
Y3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNTA0LDEzICs1NzIsMTcgQEAgdm9pZCBB
Y2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZvckdl
dEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAg
ICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQubW92
ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRl
QmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJhc2VG
b3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJh
c2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbikgeworICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7
IC8vIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCEgT09QUzogdGhpcyBpcyB1Z2x5LgorICAgICAgICAg
ICAgLy9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gbG9hZCFcbiIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAg
ICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBlbHNlCisg
ICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAg
IH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAg
ICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21B
Y2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9
IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5
LDcgQEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5o
IgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0x
ODYsOSArMTg3LDIzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAor
ICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nh
c2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNl
KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nl
c3NDaGFpbj4pOworICAgIEFjY2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAg
QWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3Ro
ZXIubV90eXBlKQorICAgICAgICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBt
X29mZnNldChvdGhlci5tX29mZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0
cnVjdHVyZSkKKyAgICAgICAgLCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkK
KyAgICAgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKG90aGVyLm1fcHJvdG90eXBlQWNjZXNz
Q2hhaW4tPmNsb25lKCkpCisgICAgeyB9CisKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29u
c3QgQWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0
ZSA9IFByaW1vcmRpYWw7IH0KIApAQCAtMjI3LDYgKzI0Miw4IEBAIHByaXZhdGU6CiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNyArNTkzLDcgQEAgYm9vbCBD
b2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAgaW50IGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBwY1tvcExlbmd0aCAtIDJdLnUub3BlcmFuZDsKIAogICAgICAg
ICAgICAgaW5zdHJ1Y3Rpb25zW2kgKyBvcExlbmd0aCAtIDFdID0gb2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU7Ci0gICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZSh2
bSwKKyAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplUHJvZmls
ZSh2bSwKICAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC5nZXQoKSwgdGhpcywgbV9nbG9i
YWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpLCBpbmZlcnJlZElubGluZUNhcGFjaXR5KTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNv
bXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5h
dChsaXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworCisg
ICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAog
ICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAg
ICAgICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFt
ZXNwYWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wg
dmVyYm9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAg
OiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJh
c2UsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90
eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZt
LCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKLSAg
ICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRy
aWJ1dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9t
R2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRpb25hbDxET01B
dHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0eXBl
KSB7CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02MywxOCArNjMsMTkgQEAgc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJl
c3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21T
bG90QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiBy
ZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9t
U2xvdEJhc2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5t
X2RvbUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNz
b3IuZ2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9
CiAKKy8vIE9PUFM6IGRvIHNvbWV0aGluZyBoZXJlLiBXaG8gY2FsbHMgdGhpcz8KIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsCiAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmIGNvbmRpdGlvblNldCwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0
dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9
PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFj
Y2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RC
YXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3Vs
dChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgbnVs
bHB0cikpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0
ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAko
cmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRl
clNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTQgKzQ2LDEyIEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgZW1pdERPTUpJVEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUm
LCBjb25zdCBET01KSVQ6OkdldHRlclNldHRlciosIEdQUlJlZyBiYXNlRm9yR2V0R1BSKTsKIAor
ICAgIC8vIE9PUFM6IGNvbnNpZGVyIHdoYXQgdGhpcyBjdG9yIGlzIGZvcgogICAgIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9
IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4g
PSBzdGQ6Om51bGxvcHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
YyA9IG51bGxwdHIsCisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIs
IHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCiAgICAgICAgIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmMgPSBudWxscHRyLApAQCAtNjcsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9t
QWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBw
cml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
LCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShj
b25zdCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFs
bG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYsOCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIElu
dGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVy
ZUZyb21CYXNlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBv
d25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewog
ICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygp
ICE9IGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFz
c2VzIG9mIGJ1aWx0aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAg
ICAgZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dl
dHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsK
IAogSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShW
TSYgdm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIElu
dHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJh
c2Uodm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIG51bGxwdHIpCiB7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVy
LCBpbnRyaW5zaWNGdW5jdGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShy
ZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxl
TmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAK
IG5hbWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1l
c3BhY2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VP
YmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxl
RW52aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3du
ZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNw
YWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQoKSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAg
bV9tb2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0
aW9uUHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUg
IkpTRnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2ln
bmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQorewor
ICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAg
IEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKworICAgIC8vIE9PUFM6IGxldHMgbWFrZSBt
X2FsbG9jYXRvciBmYWxzZSBmb3IgcG9seSBwcm90byBhcyBhIHdheSB0byBnbyB0byB0aGUgc2xv
dyBwYXRoLgorCisgICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIGlmIChjb25zdHJ1
Y3RvcikgeworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb25zdHJ1
Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisKKyAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmpl
Y3RUeXBlKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gc3RydWN0dXJl
LT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0
b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25T
aXplKGlubGluZUNhcGFjaXR5KSk7CisKKyAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2Nh
dG9yOworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsK
KyAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIEluZmVycmVkVmFsdWUqIGluZmVycmVk
Q29uc3RydWN0b3IgPSBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZt
KS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgICAgIGJvb2wgcGFyZW50UHJv
dG90eXBlSXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgaWYgKEpTT2JqZWN0KiBwcm90b3R5
cGVPZlByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBlLT5n
ZXRQcm90b3R5cGVEaXJlY3QoKSkpIHsKKyAgICAgICAgICAgIHBhcmVudFByb3RvdHlwZUlzUG9s
eVByb3RvID0gcHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRh
KCkKKyAgICAgICAgICAgICAgICAmJiBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZt
KS0+cmFyZURhdGEoKS0+aW5mZXJyZWRDb25zdHJ1Y3RvcigpCisgICAgICAgICAgICAgICAgJiYg
cHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPmluZmVycmVk
Q29uc3RydWN0b3IoKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgIH0KKworICAgICAg
ICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0
aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7CisK
KyAgICAgICAgaXNQb2x5UHJvdG8gPSAoaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFs
aWRhdGVkKCkgfHwgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8pICYmIGV4ZWN1dGFibGUtPnNp
bmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgIH0KKworICAgIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8v
IFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAg
ICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3Vu
dCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkp
IHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5
IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUg
cmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1
bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkp
IHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBz
byBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0
IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5
ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKwor
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
aWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkK
KyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytpbmxp
bmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBh
Y2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9j
YXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkp
OworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRv
ckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBp
bmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxv
Y2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0g
YWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAg
IGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1
cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBp
c1BvbHlQcm90byk7CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVz
IHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6
OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgIEFT
U0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIGNvbnN0cnVj
dG9yLT5qc0V4ZWN1dGFibGUoKS0+c2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1
Y3R1cmUpOworICAgIH0KKworICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIG1fc3Ry
dWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9
IGlubGluZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6
cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUp
Cit7CisgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmpl
Y3RQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAw
OworICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlO
YW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsK
KyAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVy
ZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0g
cHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAg
ICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFt
ZVZlY3RvcltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUg
dXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAg
ICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworCisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNv
dW50OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZv
aWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2Vs
bCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNT
RVJUKCFtX3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0K
LSAgICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgp
KSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3Rh
dGljIGFuYWx5c2lzLgotICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3Nz
aWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBp
ZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBv
YmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3Qg
ZGlkbid0Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0
aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAg
ICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5l
Q2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAg
ICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFs
bG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8g
YSBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9
IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQot
Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0g
ICAgICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBv
ciBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5s
aW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5
ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAg
ICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2Fw
YWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAg
c2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5s
aW5lQ2FwYWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNl
bGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAg
Ly8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0
aGUgc2l6ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6
ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6
ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSAr
PSBzbG9wOwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwot
Ci0gICAgICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVj
dHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3Jl
U3RvcmVGZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAg
ICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGlu
ZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZVBy
b2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVy
LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBK
U0Z1bmN0aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUoKQogICAgIHsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAK
LSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmpl
Y3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBl
LT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4g
MDsKLQotICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJh
eSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1i
b2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3Ry
dWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVB
cnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6
OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJy
YXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpT
VmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9y
W2ldKTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1
YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAg
ICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAg
ICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQot
ICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVs
dFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtl
ZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVh
c2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9z
dHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjQ2
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uOjphYnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0
LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsK
ICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7
CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAg
dm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTEgQEAgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFM
b2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8v
IE9PUFM6IFdlIG5lZWQgc29tZSBzdG9yeSBoZXJlIG9mIGFuIGludGVybGVhdmluZy4KKyAgICAg
ICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAg
ICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90
b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJl
dmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9y
cGhpY0FjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw3ICszMzksNyBAQCBBY2Nlc3NH
ZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNj
ZXNzSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBt
X2xpc3Q6ICIsIGxpc3REdW1wKG1fbGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVy
YXRpb25TdGF0ZSBzdGF0ZSh2bSk7CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZt
LCBjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7
CiAgICAgc3RhdGUuc3R1YkluZm8gPSAmc3R1YkluZm87CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIy
NDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSwxNCArMTcxLDE2IEBAIHByaXZhdGU6CiB9OwogCiBz
dHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUo
Vk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxP
YmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNh
bGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3Jl
UmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNp
dGVJbmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFs
T2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIg
fTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNo
UmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVy
U3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25k
aXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwNyw2ICsxMDcsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNz
dQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTog
SSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0
aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91
bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFu
ZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0
Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxp
ZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZl
cmJvc2UpCkBAIC0xMzIsNiArMTQwLDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3Rp
bGxWYWxpZEFzc3UKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJbnZhbGlkIGJlY2F1c2UgaXQn
cyBhIGRpY3Rpb25hcnkuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
fQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAg
ICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBj
YW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFz
ZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAg
ICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgY3VycmVudEF0
dHJpYnV0ZXM7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1
cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSwgY3VycmVudEF0dHJpYnV0ZXMpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNs
dWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTQ2VsbCogY3VycmVudCA9IGJhc2U7
CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBKU09iamVjdCogdGFyZ2V0ID0gc2xv
dC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworCisgICAgYm9vbCBmb3Vu
ZCA9IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlx
dWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1bHQobmV3IFByb3RvdHlwZUFjY2Vzc0No
YWluKCkpOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmICghc3RydWN0dXJlLT5w
cm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgewor
ICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAgICAgICAgICBp
ZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25h
cnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQorCisgICAgICAg
IHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQoc3RydWN0dXJlKTsKKworICAgICAgICBpZiAoY3VycmVu
dCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYg
d2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkg
cHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bwor
ICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9u
IGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2Vz
UG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFs
T2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAg
ICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46
Om5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJ
bXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9w
ZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAg
IHJldHVybiBtX2NoYWluID09IG90aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNj
ZXNzQ2hhaW46OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQo
IlBvbHlQcm90b3R5cGVBY2Nlc3NDaGFpbiIpOworICAgIG91dC5wcmludCgiOiBbXG4iKTsKKyAg
ICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgeworICAgICAgICBvdXQucHJp
bnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQucHJp
bnQoIlxuIik7CisgICAgfQorICAgIG91dC5wcmludCgiXSIpOworfQorCit9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
dG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNz
IFN0cnVjdHVyZTsKKworY2xhc3MgUHJvdG90eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3RvdHlwZUFjY2Vz
c0NoYWluKTsKKworcHVibGljOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKFByb3RvdHlwZUFj
Y2Vzc0NoYWluJikgPSBkZWZhdWx0OworCisgICAgLy8gUmV0dXJucyBudWxscHRyIHdoZW4gaW52
YWxpZC4KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBj
cmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQ
cm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pOworICAgIHN0ZDo6dW5pcXVl
X3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHN0ZDo6bWFrZV91bmlxdWU8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9CisK
KyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9j
aGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29uc3Q7
CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9CisK
KyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKworICAgIFZlY3RvcjxT
dHJ1Y3R1cmUqPiBtX2NoYWluOyAvLyBJbmNsdWRlcyBiYXNlJ3Mgc3RydWN0dXJlIGZvciBub3cs
IGJ1dCBwZXJoYXBzIHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQuCit9OworCit9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE3ICszMCwx
OCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorUHJveHlhYmxlQWNjZXNzQ2FzZTo6
UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKKyAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwg
b3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAg
ICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNv
bmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwg
c3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFp
bikKIHsKICAgICBBU1NFUlQodHlwZSA9PSBMb2FkIHx8IHR5cGUgPT0gTWlzcyB8fCB0eXBlID09
IEdldEdldHRlcik7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcg
UHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIs
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBQcm94eWFibGVB
Y2Nlc3NDYXNlOjp+UHJveHlhYmxlQWNjZXNzQ2FzZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDEzICszMywxMyBAQCBuYW1lc3BhY2UgSlND
IHsKIAogY2xhc3MgUHJveHlhYmxlQWNjZXNzQ2FzZSA6IHB1YmxpYyBBY2Nlc3NDYXNlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIEFjY2Vzc0Nhc2UgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gQWNj
ZXNzQ2FzZTsKIAogICAgIGJvb2wgdmlhUHJveHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBt
X3ZpYVByb3h5OyB9CiAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fYWRkaXRpb25hbFNldC5nZXQoKTsgfQogCiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQ
cm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0cik7Cisg
ICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCA9IG51bGxwdHIsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gPSBudWxs
cHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVByaW50ZXImKSBj
b25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBj
b25zdCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIH5Qcm94eWFibGVB
Y2Nlc3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwg
SlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCk7CisgICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiBwcml2YXRlOgog
ICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzg0OCw2ICszODQ4LDkgQEAgUmVnaXN0ZXJJRCogQ2xhc3NFeHByTm9kZTo6
ZW1pdEJ5dGVjb2RlKAogCiAgICAgICAgIGdlbmVyYXRvci5lbWl0RGlyZWN0UHV0QnlJZChjb25z
dHJ1Y3Rvci5nZXQoKSwgZ2VuZXJhdG9yLnByb3BlcnR5TmFtZXMoKS51bmRlcnNjb3JlUHJvdG8s
IHN1cGVyY2xhc3MuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7CiAgICAgICAgIGdlbmVy
YXRvci5lbWl0TGFiZWwoc3VwZXJjbGFzc0lzTnVsbExhYmVsLmdldCgpKTsKKworICAgICAgICAv
LyBPT1BTOiB0aGlzIG1ha2VzIGl0IHNvIHRoYXQgYW55IGRlcml2ZWQgY2xhc3MgcHJvdG90eXBl
IG9iamVjdCB3aWxsIGFsd2F5cyBnZXQgYSBuZXcgc3RydWN0dXJlCisgICAgICAgIC8vIGlmIG11
bHRpcGx5IGNvbnN0cnVjdGVkIGJlY2F1c2Ugd2UgZG9uJ3QgY2FjaGUgcHJvdG90eXBlIHRyYW5z
aXRpb25zLgogICAgICAgICBnZW5lcmF0b3IuZW1pdERpcmVjdFB1dEJ5SWQocHJvdG90eXBlLmdl
dCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVuZGVyc2NvcmVQcm90bywgcHJvdG9QYXJl
bnQuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7CiAgICAgfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MzMsNiArMzczMyw4IEBAIE5vZGUqIEJ5dGVDb2RlUGFy
c2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJp
YW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0IHdvdWxkIGJlCiAg
ICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUg
dGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcKICAgICAgICAgICAg
ICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhl
cmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVzIHdvcmsuCisKKyAg
ICAgICAgICAgICAgICAvLyBPT1BTOiB0aGlzIG5lZWRzIGF0dGVudGlvbgogICAgICAgICAgICAg
ICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1
Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMwOCw2ICs0MzEwLDggQEAgYm9vbCBCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICB9CiAKICAgICAgICAgY2Fz
ZSBvcF9jcmVhdGVfdGhpczogeworICAgICAgICAgICAgLy8gT09QUzogdGhpbmsgdGhyb3VnaCB0
aGlzIGNvZGUuCisKICAgICAgICAgICAgIGludCBjYWxsZWVPcGVyYW5kID0gY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9IGdldChWaXJ0
dWFsUmVnaXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkBAIC00MzMwLDEyICs0MzM0LDE0IEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChm
dW5jdGlvbikgewogICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0
YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkp
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFy
ZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50Lgot
ICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJl
Z2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBh
bHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNh
bGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVj
dHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlF
bWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4Nyw3
ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAogICAg
IEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2RlLT5j
aGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29sIGFs
bEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdpc3Rl
cmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAmPSBz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAmJiAhc3Ry
dWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nZXRDb25j
dXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpID09IGlu
dmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDExIEBAIEpT
Q2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29uc3RydWN0
b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVEYXRhID0g
anNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNh
cGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0g
ICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+b2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUo
KTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90
b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cHJvdG90eXBlRm9y
Q29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQog
CiAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDM4Niw3ICs0Mzg2LDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSog
bm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9B
c3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklU
Q29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9m
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZz
ZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihK
SVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0
T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9m
ZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNsb3dQYXRoLmFw
cGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JH
UFIpKTsKKworICAgICAgICAvLyBPT1BTOiB3ZSBjYW4gZG8gYSBsb3QgYmV0dGVyIGhlcmUuIEZp
bGUgYSBidWcgbWF5YmU/CisgICAgICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QWRkcmVz
cyhzdHJ1Y3R1cmVHUFIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoR1BS
KTsKKyAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaElmSW50MzIoSlNWYWx1ZVJl
Z3Moc2NyYXRjaEdQUikpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRH
UFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDAp
LCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRy
KEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJl
RGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxG
b3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90
b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZh
bHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNj
cmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90
b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1
ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0z
MjQ5LDggKzMyNDksMTYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZG
bwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3Nl
bWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFj
cm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3Jh
dGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5
T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBz
Y3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0
TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0
Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2Ny
YXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0
KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaDNSZWcp
OworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVl
UmVncyhzY3JhdGNoM1JlZykpOworICAgIC8vIE9PUFM6IHRoaXMgaXMgd3JvbmcgaWYgd2UgYWxs
b3cgb3V0IG9mIGxpbmUgb2Zmc2V0cyBmb3IgcG9seSBwcm90by4KKyAgICBtX2ppdC56ZXJvRXh0
ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChK
SVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxl
cjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRj
aDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShz
Y3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0lu
c3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJl
ZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElm
Q2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0z
MzgxLDEwICszMzg5LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9m
KE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNo
aWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQ
UlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gz
KHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlw
ZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAg
ICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVn
IHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJl
Z3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5
bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDA0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsK
ICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVl
UmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29t
cGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2Ny
YXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRv
bmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE3LDE1IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRj
aCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9y
YXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdw
cigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BS
UmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9
IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigp
OwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBw
cm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFu
Y2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBz
Y3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2Ny
YXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3
NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0
RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVT
dHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21w
aWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJv
dG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVn
KTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFs
dWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBH
UFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxl
SW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2Rl
Kik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9C
My5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4NywxMCArODg4NywxMiBAQCBw
cml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygp
OworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygp
OworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2so
KTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygp
OwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwot
ICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2so
KTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Js
b2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAo
bV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5MDgsMTYgKzg5
MTAsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9
IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAg
Ci0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAg
ICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExW
YWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExW
YWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5
cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5v
dEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAg
ICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3Rh
bmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVs
eShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9h
ZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRU
byhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1
Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90
b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5
cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVj
dHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAg
IG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90
byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8o
bG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9
IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7
CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAg
ICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0
QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9m
SW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUp
OworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3Rh
bmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQs
IGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0lu
c3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAg
bV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwg
cHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1p
dF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUg
b2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4h
CiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUg
dGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2Fk
U3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVz
cyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0
TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFk
ZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAg
YXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJl
Z1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQo
QmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5s
aW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMp
OworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQ
dHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlu
a1RvKGxvb3AsIHRoaXMpOwogCkBAIC03NzAsNiArNzc1LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3Bf
Y3JlYXRlX3RoaXMoSW5zdHJ1Y3RpbwogICAgIFJlZ2lzdGVySUQgY2FjaGVkRnVuY3Rpb25SZWcg
PSByZWdUNDsKICAgICBSZWdpc3RlcklEIHNjcmF0Y2hSZWcgPSByZWdUMzsKIAorICAgIC8vIE9P
UFM6IHRoaXMgaXMgd3Jvbmcgdy8gcG9seSBwcm90byEKKwogICAgIGVtaXRHZXRWaXJ0dWFsUmVn
aXN0ZXIoY2FsbGVlLCBjYWxsZWVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDgoTm90RXF1
YWwsIEFkZHJlc3MoY2FsbGVlUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1
c3RlZEltbTMyKEpTRnVuY3Rpb25UeXBlKSkpOwogICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsZWVS
ZWcsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhUmVnKTsKQEAgLTc3
OCw2ICs3ODUsMTAgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1Y3Rpbwog
ICAgIGxvYWRQdHIoQWRkcmVzcyhyYXJlRGF0YVJlZywgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0
T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9m
ZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVSZWcpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5j
aFRlc3RQdHIoWmVybywgYWxsb2NhdG9yUmVnKSk7CiAKKyAgICAvLyBPT1BTLCB3ZSBjYW4gZG8g
YmV0dGVyIGhlcmUhCisgICAgbG9hZDY0KEFkZHJlc3Moc3RydWN0dXJlUmVnLCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaFJlZyk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNo
SWZJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkpOworCiAgICAgbG9hZFB0cihjYWNoZWRG
dW5jdGlvbiwgY2FjaGVkRnVuY3Rpb25SZWcpOwogICAgIEp1bXAgaGFzU2Vlbk11bHRpcGxlQ2Fs
bGVlcyA9IGJyYW5jaFB0cihFcXVhbCwgY2FjaGVkRnVuY3Rpb25SZWcsIFRydXN0ZWRJbW1QdHIo
SlNDZWxsOjpzZWVuTXVsdGlwbGVDYWxsZWVPYmplY3RzKCkpKTsKICAgICBhZGRTbG93Q2FzZShi
cmFuY2hQdHIoTm90RXF1YWwsIGNhbGxlZVJlZywgY2FjaGVkRnVuY3Rpb25SZWcpKTsKQEAgLTgw
MCw2ICs4MTEsNyBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfY3JlYXRlX3RoaXMoSW5zdHJ1CiAg
ICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBkb2Vzbid0IGhhdmUgYW4gYWxsb2NhdGlvbiBwcm9m
aWxlCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCAobm8gYWxs
b2NhdG9yKQogICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKGFs
bG9jYXRvciBlbXB0eSkKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFp
bGVkLCBzdHJ1Y3R1cmUgaGFzIHBvbHkgcHJvdG8KICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8v
IGNhY2hlZCBmdW5jdGlvbiBkaWRuJ3QgbWF0Y2gKIAogICAgIEpJVFNsb3dQYXRoQ2FsbCBzbG93
UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93X3BhdGhfY3JlYXRlX3RoaXMp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hl
R2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQg
OiBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBz
bG90LnNsb3RCYXNlKCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1NywzNyBAQCBzdGF0
aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRl
bkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNl
dCgpICYmIHN0cnVjdHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZv
clByb3BlcnR5QWJzZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hl
OwogCi0gICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBj
b25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1l
LmltcGwoKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJh
c2UoKSwKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFs
aWQoKSkKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8p
OworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAg
ICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVz
ZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMu
CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAg
ICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNv
bmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlO
YW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlI
aXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFt
ZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29u
ZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9u
Q2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNl
dCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9m
ZnNldCgpOworICAgICAgICAgICAgLy8gT09QUzogYXJlIHRoZXNlIGV4cHJlc3Npb24gZXF1aXZh
bGVudD8KKyAgICAgICAgICAgIC8vb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zm
c2V0IDogY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAg
ICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hl
ZE9mZnNldCgpOwogICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVs
bHB0cjsKQEAgLTI5MywxMyArMzA5LDE1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlD
YWNoZUdldEJ5SUQKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNj
ZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsK
KyAgICAgICAgICAgIC8vIE9PUFM6IG5lZWQgdGVzdCBmb3IgdGhpcyEKKyAgICAgICAgICAgIG5l
d0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xv
dC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAg
ICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVy
ZSkpCisgICAgICAgICAgICAvLyBPT1BTOiBjb25zaWRlciB0aGlzIGNhc2UuCiAgICAgICAgICAg
ICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBnZXR0ZXIp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUo
KSB8fCBzbG90LmlzVW5zZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFi
bGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nl
c3NDYXNlOjpNaXNzIDogQWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53
YXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwg
V1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICBBY2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAg
ICAgaWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzQsNyBAQCBzdGF0
aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxv
YWRUYXJnZXRGcm9tUHJveHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNl
dCgpLCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVs
bHB0ciwKICAgICAgICAgICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xv
dC5zbG90QmFzZSgpIDogbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRl
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc2NiwxMCArNzY2LDkgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5v
cGVyYW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBj
WzZdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIShwY1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNP
YmplY3QoYmFzZUNlbGwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hh
aW4pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4u
c2V0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFp
bik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5z
ZXQodm0sIGNvZGVCbG9jaywgY2hhaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQ
dXRCeUlkRmxhZ3M+KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJ
ZEZsYWdzIHwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90
eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1
MjIsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5l
IGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVj
dCkKIHsKLSAgICBhdXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9i
amVjdCk7CiB9CiAKIHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNP
YmplY3QqIHRoaXNPYmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkK
QEAgLTYxMCw3ICs2MDksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0
YXRlCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlz
T2JqZWN0KSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVy
YWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICB9CkBAIC02MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVl
IGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUs
IGpzRG91YmxlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
ICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRo
aXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkp
CisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsK
ICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgfQpAQCAtODE2LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29u
dGlndW91cygpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgp
ICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAg
ICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0
ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHku
cHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0g
YnV0dGVyZmx5LmNvbnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWlu
c0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMs
IHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRv
JiBzdG9yYWdlID0gKnRoaXNPYmplY3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAg
ICAgICAgaWYgKGxlbmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNI
b2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5k
YXRhKCk7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTEx
NzQsNyArMTE3Myw3IEBAIHN0YXRpYyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMK
IHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAo
TElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNv
dXJjZS0+c3RydWN0dXJlKCktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7Cisg
ICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkp
ICYmICFob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAg
ICAgICAgaWYgKHZhbHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bG9uZWRBcmd1bWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDEwICs0OSw5IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVh
dGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBp
ZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlm
IChVTkxJS0VMWShzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
KSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwg
bnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7
Ci0KICAgICB9IGVsc2UgewogICAgICAgICBJbmRleGluZ0hlYWRlciBpbmRleGluZ0hlYWRlcjsK
ICAgICAgICAgaW5kZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxlbmd0aCk7CkBA
IC04MSw3ICs4MCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUK
ICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2Jq
ZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhl
IGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgog
ICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVu
Z3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhp
bmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVz
dWx0KSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdU
eXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBAQCBD
bG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBB
U1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1
Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3Ry
dWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5u
ZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBD
bG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShF
eGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUg
bW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVG
cmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQo
IXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcocmVzdWx0KSB8fCBzaG91bGRVc2VTbG93UHV0
KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1l
bnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAg
ICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5q
c1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5p
bmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRl
eGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4IEBAIFNMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNb
M10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9y
LT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChl
eGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5
UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwg
ZXhlYykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9u
YWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAg
ICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJs
ZTo6dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNvZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRX
ZWFrbHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtl
ZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9u
RnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUG9seVBy
b3RvU3RydWN0dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFi
bGU6OmZyb21HbG9iYWxDb2RlKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAx
My0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwOS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMTcyLDYgKzE3Miw5IEBAIHB1YmxpYzoKICAgICBERUNMQVJF
X0lORk87CiAKICAgICBJbmZlcnJlZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJu
IG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICAvLyBDYWNoZWQgcG9seSBwcm90byBz
dHJ1Y3R1cmUgZm9yIHRoZSByZXN1bHQgb2YgY29uc3RydWN0aW5nIHRoaXMgZXhlY3V0YWJsZS4K
KyAgICBTdHJ1Y3R1cmUqIGNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY2Fj
aGVkUG9seVByb3RvU3RydWN0dXJlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDYWNoZWRQb2x5UHJv
dG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkgeyBtX2NhY2hlZFBvbHlQ
cm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7IH0KIAogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgRXhlY3V0YWJsZUJhc2U7CkBAIC0xODksNiArMTkyLDcgQEAgcHJpdmF0
ZToKICAgICBXcml0ZUJhcnJpZXI8RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29u
c3RydWN0OwogICAgIFJlZlB0cjxUeXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAg
ICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0
YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVE
YXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQ
cm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHks
IGNvbnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBj
aGFyKiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcg
Kzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwog
Ci0gICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5j
dGlvbiogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxl
SW5pdGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwo
KTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRl
cm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEy
ICs5NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0
cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQog
ewotCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29u
c3RydWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+
anNDYWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSk7CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ug
d2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJn
ZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwog
ICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSog
SlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6
CiAgICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMu
dm0oKTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYg
KGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhl
Yy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5
OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBj
b250YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAg
Ly8gdXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAo
KHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRo
aXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykp
IAogICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1
dChpbmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsx
MDQ4LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAg
ICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRo
aW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhy
b3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJy
YXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50
OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1
ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpT
QXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8g
Y2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0
aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFu
ZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4K
ICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0
aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7Cisg
ICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4
OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+
Y29udGlndW91c0RvdWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElL
RUxZKHYgIT0gdikpIHsKQEAgLTE0MzYsNyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVy
YXRvclByb3RvY29sRmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQor
ICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90
eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUlubGluZXMuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEsOCBAQCBp
bmxpbmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRl
eGVkIHByb3BlcnRpZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAg
ICAgLy8gaW5zdGVhZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlm
IChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisg
ICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSwgb3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRG
dW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNCb3VuZEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1
LDYgKzEzNSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1Y3QKICAg
ICAvLyBpc24ndCBhbnkgZ29vZCBwbGFjZSB0byBwdXQgdGhlIHN0cnVjdHVyZSBvbiBJbnRlcm5h
bCBGdW5jdGlvbnMuCiAgICAgaWYgKHRhcmdldEpTRnVuY3Rpb24pIHsKICAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB0YXJnZXRKU0Z1bmN0aW9uLT5yYXJlRGF0YSh2bSktPmdldEJvdW5k
RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgLy8gT09QUzoKICAgICAgICAgaWYgKHN0cnVj
dHVyZSAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IHByb3RvdHlwZSAmJiBzdHJ1
Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09IGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIHJldHVy
biBzdHJ1Y3R1cmU7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3
NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAg
IGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6
aW5mbygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIo
YXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJh
d1BvaW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAg
b3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAg
ICAgICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUs
IGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50
KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQo
IiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAj
aWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+
c3RydWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXND
ZWxsKCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkK
ICAgICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEy
NiwxNiArMTI2LDIyIEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEK
ICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246
OnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0KHZtKS0+b2JqZWN0UHJv
dG90eXBlKCk7Cit9CisKIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW5k
SW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IGlubGluZUNhcGFjaXR5
KQogewogICAgIEFTU0VSVCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsK
LSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBn
ZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90
b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2
bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVE
YXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFs
T2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAKICAgICAvLyBB
IERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byByZWFkIHRoZSByYXJlIGRh
dGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJvcGVybHkgYWxs
b2NhdGVkCkBAIC0xNDksMTEgKzE1NSw4IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246
OmluaXRpYWxpemUKIHsKICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAg
ICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmpl
Y3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhl
Yyk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZt
LCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAg
ICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzQxLDYgKzM0NCwxNiBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0aHJvd1R5cGVFcnJvcihleGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlv
bi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAorc3RhdGlj
IHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVlIHByb3Rv
dHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICAvLyBPT1BTOiBpcyB0
aGlzIHJlYWxseSBuZWVlZGVkPyBPciBjYW4gd2UganVzdCBnZXQgYXdheSB3aXRoIGRvaW5nIHRo
aXMgd2hlbgorICAgIC8vIGluaXRpYWxpemluZyB0aGUgcHJvZmlsZT8KKyAgICBKU09iamVjdCog
cHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1ZSk7
CisgICAgaWYgKCFwcm90b3R5cGUpCisgICAgICAgIHJldHVybjsKKyAgICBwcm90b3R5cGUtPnN0
cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rv
cih2bSktPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgLnByb3RvdHlwZSBp
bnNpZGUgSlNGdW5jdGlvbiIpOworfQorCiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5
U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwpAQCAtMzcxLDcgKzM4NCw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90
KEpTT2IKICAgICAgICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAg
IEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xv
dC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qo
b2Zmc2V0KSwgb2Zmc2V0KTsKICAgICB9CiAKQEAgLTQ1Miw2ICs0NjQsNyBAQCBib29sIEpTRnVu
Y3Rpb246OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhv
ZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5
TmFtZSwgZ2V0U2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAg
ICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlw
ZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1
ZUlmTmVlZGVkKHZtLCB2YWx1ZSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2Uo
KTsKICAgICAgICAgcmV0dXJuIEJhc2U6OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5h
bWUsIHZhbHVlLCBzbG90KTsKICAgICB9CkBAIC01MTgsNiArNTMxLDggQEAgYm9vbCBKU0Z1bmN0
aW9uOjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iagogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RU
YWJsZSh2bSktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5h
bWUsIHNsb3QpOwogICAgICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAg
ICAgIHRoaXNPYmplY3QtPm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJv
cGVydHkgb2YgYSBmdW5jdGlvbiIpOworICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQor
ICAgICAgICAgICAgaW5mZXJDb25zdHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIGRlc2NyaXB0b3Iu
dmFsdWUoKSwgdGhpc09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAg
cmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1l
LCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhl
Y1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBm
b3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1
Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0
YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3
ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBp
ZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xv
YmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkg
IT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29s
IEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFs
T2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcg
Kzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHBy
b3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNl
dCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAgICAg
ICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAg
ICBBU1NFUlQodGhpcy0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9w
ZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVy
cm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9u
bHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1
LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VS
VChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBl
IG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFo
YXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3Bl
cnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcg
KzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAg
ICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2
bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHku
Z2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1
cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiAgICAgbnVrZVN0cnVjdHVy
ZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAg
c2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0x
MjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVk
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2
bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAg
ICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6
Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNv
bnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3Rv
cmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQ29udGln
dW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZNJiB2bSkK
QEAgLTEzMTcsNyArMTMxNyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3Vi
bGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJyYXlTdG9y
YWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZt
LCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAg
IHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRD
b250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJh
bnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3Vv
dXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3Vz
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uo
dm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIHZvaWQgSlNPYmpl
Y3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0x
NDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMy
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAg
ICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNDc0
LDcgKzE0NzQsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91YmxlCiAg
ICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBp
ZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAg
IHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcg
KzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAg
CiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVY
SU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAo
VU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICBy
ZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAs
MjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQog
ICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
IEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVk
c1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0Fy
cmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAg
IEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAg
IEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0
SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9J
TkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkp
OwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBB
TExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7CiAg
ICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjMzLDE0ICsxNjMzLDE4IEBAIHZvaWQgSlNPYmpl
Y3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0
KCkpCiAgICAgICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3QocHJvdG90
eXBlKSk7CiAgICAgCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNo
YW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7Ci0g
ICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICghbmV3U3Ry
dWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisg
ICAgLy9kYXRhTG9nTG4oInRyYW5zaXRpb25pbmcgZnJvbSBfX3Byb3RvX18gc2V0LCBmcm9tIHBv
bHkgcHJvdG86ICIsICFzdHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAg
aWYgKHN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAgICAgICBzZXRTdHJ1Y3R1cmUodm0s
IG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1dERpcmVjdCh2bSwgc3RydWN0
dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7CisKKyAgICBpZiAoIWFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJu
OwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhpcykpIHsKLSAg
ICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKKyAg
ICAgICAgc3RydWN0dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xOTUxLDcgKzE5NTUsOCBAQCBKU1ZhbHVl
IEpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtlIHN1cmUgdGhh
dCB3aGF0ZXZlciBkZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9iamVjdCdzIHBy
b3RvdHlwZSBjaGFpbiBhcmUKICAgICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRoaXMtPnN0cnVj
dHVyZSgpLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRp
cmVDaGFpbih2bSk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogb2JqZWN0ID0gdGhpczsgb2Jq
ZWN0OyBvYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVj
dChvYmplY3QpKQorICAgICAgICBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0V2F0Y2hpbmdJ
bnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlOwog
ICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMxLDcgQEAgYm9v
bCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAgcmV0dXJu
IHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAg
ICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZt
LCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsK
ICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRB
cnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZt
LCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAg
ICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpA
QCAtMjg3OCw3ICsyODgzLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JC
ZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3Ro
V2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmli
dXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAg
ICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAg
ICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIEFycmF5U3RvcmFn
ZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxl
bmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV92ZWN0b3JbaV0u
c2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251bVZhbHVlc0lu
VmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NjMsNyBAQCB1aW50MzJfdCBKU09iamVjdDo6Z2V0RW51
bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAoc3RydWN0dXJl
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUtPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxB
TktfSU5ERVhJTkdfVFlQRVM6CkBAIC0zNjY4LDQgKzM2NzMsNTYgQEAgSlNWYWx1ZSBKU09iamVj
dDo6Z2V0TWV0aG9kKEV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBtZXRob2Q7CiB9CiAKK2Jvb2wg
SlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBj
b25zdAoreworICAgIFZNJiB2bSA9ICp0aGlzLT52bSgpOworICAgIGZvciAoY29uc3QgSlNPYmpl
Y3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1cmUo
dm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQ
cm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVj
dChwcm90b3R5cGUpOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6cHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3sK
KyAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1cm4gYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgIAorICAgIGZvciAo
SlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUu
aXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBj
dXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICAgICAgCisgICAgICAgIHVuc2lnbmVk
IGF0dHJpYnV0ZXM7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAg
aWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUmVhZE9ubHkgfCBBY2Nlc3Nvcikp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7Cit9CisKK05vblBy
b3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAgICAgIHJl
dHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsK
KyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3Rv
cmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcg
QEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0
eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAj
aW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpAQCAtNzMzLDYgKzczNCwxMiBAQCBwdWJs
aWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgaXNFeHRlbnNpYmxlKEpTT2Jq
ZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1NlYWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0
cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAgIGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7
IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2bSk7IH0KKworICAgIGJvb2wgYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VY
UE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwg
UHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Cisg
ICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxl
SW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04
NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAg
ICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlz
KSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChn
ZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFBy
b3RvdHlwZSgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVE
aXJlY3QoKSkpOyAvLyBPT1BTIGZpbmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAg
QVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5m
byh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTMwNSw3IEBAIGlubGluZSBKU09iamVjdDo6SlNP
YmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3Rv
dHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsK
IH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNT
dGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwNyw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09i
amVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1
cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0
LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUs
IHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhp
cyBjb2RlIGxvb2tzIHdyb25nPyBXaHkgZG9lc24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUg
ZnVuY3Rpb24gaG9vaz8KKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElu
bGluZXMuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBB
TFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFko
c3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1
bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNs
b3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUg
PSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAg
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBA
QCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5j
bGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5
cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFs
TWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdl
dFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlw
ZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5M
SU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmpl
Y3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAg
IEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRl
cmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2Jq
ZWN0LT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkp
OwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+
KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0
eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChS
ZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlO
YW1lRW51bWVyYXRvci5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYg
KCFpbmRleGVkTGVuZ3RoCiAgICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNo
ZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hl
ZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAg
ICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsK
IAogICAgIHVpbnQzMl90IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDkg
KzEzNiwxMSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKTsKIAogICAgIGVudW1lcmF0
b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRl
eGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFt
ZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0
dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0
cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVj
dHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7Cisg
ICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJl
KSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1
cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAg
IH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBA
IGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0
dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0
LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9i
YWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1Nl
dDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVj
dC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0NjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3Qq
IHByb3RvdHlwZShjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAg
ICAgICAgLy8gT09QUy4gbWFrZSBzdXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFj
Y2Vzc2VzIHRoaXMuCiAgICAgICAgIEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAg
ICAgICAgcmV0dXJuIGdldChnbG9iYWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9
CkBAIC0xMDEsMTMgKzEwMiw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJl
LmdldENvbmN1cnJlbnRseSgpOwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBl
Q29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0K
LSAgICAKICAgICBKU09iamVjdCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAg
IHsKICAgICAgICAgcmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0Myw2ICsxNDMsMTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZQogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJv
eHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAg
ICAgLy8gT09QUzogdGhpcyBkZWZpbml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0
dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxs
KCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU0LDE4ICs1NCwzNCBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpT
T2JqZWN0CiAgICAgLy8gdXNlZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8s
IGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0
ZDo6bWFrZV90dXBsZShwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2Jh
bE9iamVjdCk7CisgICAgUkVMRUFTRV9BU1NFUlQoISFwcm90b3R5cGUpOyAvLyBXZSB1c2UgbnVs
bHB0ciBpbnNpZGUgdGhlIEhhc2hNYXAgZm9yIHByb3RvdHlwZSB0byBtZWFuIHBvbHkgcHJvdG8s
IHNvIHVzZXIncyBvZiB0aGlzIEFQSSBtdXN0IHByb3ZpZGUgbm9uLW51bGwgcHJvdG90eXBlcy4K
KworICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUg
PyBudWxscHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxP
YmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQo
a2V5KSkgeworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAg
ICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAg
ICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0
cnVjdHVyZTsKICAgICB9CiAKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmpl
Y3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBp
bmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICBpZiAobWFrZVBvbHlQcm90
b1N0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAg
ICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAg
ICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZv
LCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAgbV9zdHJ1Y3R1cmVz
LnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKKwogICAgIHJldHVybiBzdHJ1
Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4OSwyMSBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGlubGlu
ZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBpbnRlcm5h
bCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFjaXR5IG9m
IDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUtPmluZGV4
aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMo
aW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdU
eXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1No
YXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRl
RW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5
cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOwor
ICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
YmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlu
ZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1
cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4g
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmpl
Y3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0
eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUlu
Zm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhp
bmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZv
aWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxl
KG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2Jq
ZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwg
aW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCAr
NDYsMTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBT
dHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BS
SVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBv
bHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1
cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVj
dFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90
eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0
KikgY29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6
Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5k
ZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVh
dGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtH
Q01hcDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1h
a2UgdGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpT
T2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0
cnVjdHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01h
cDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xv
YmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsK
IH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNw
cAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6
U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0
dXJlU3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9p
bmxpbmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZt
LCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2
bSwgdGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8o
cHJldmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJ
c1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwy
MyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nh
c3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1
Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYg
dHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhp
bmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3Vs
dCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0lu
Zm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgdW5zaWduZWQgb2xkT3V0
T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0
LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlO
YW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwgRG9udEVu
dW0sCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RP
ZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3Rv
dHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1
bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9y
TWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0
dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0
cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDE1LDE0IEBAIFN0cnVjdHVyZSogU3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0
aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9m
ZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3IgKGNv
bnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJlbnQt
Pm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFBy
b3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3Rv
dHlwZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NFUlQoYmFzZS0+c3RydWN0dXJl
KHZtKSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlz
LT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChw
cm90b3R5cGUpOwpAQCAtNDI2LDcgKzQzMSw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RG
b3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5z
dHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5p
bmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3Jl
ZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90
b3R5cGUpOwpAQCAtNDM2LDIwICs0NDEsNiBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAgfHwgZ2xvYmFsT2JqZWN0KCkt
PmlzSGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVy
ZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Ci17Ci0gICAgaWYgKG5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRp
b246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAKLSAgICByZXR1cm4gTm9uUHJv
cGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKLX0KLQogU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9w
ZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gYWRk
UHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgKQEAgLTU1NSw2ICs1NDYsNyBA
QCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhCiAgICAgRGVmZXJHQyBk
ZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNyZWF0ZSh2bSwg
c3RydWN0dXJlKTsKIAorICAgIC8vIE9PUFM6IHRoaXMgbmVlZHMgdGVzdGluZyEKICAgICB0cmFu
c2l0aW9uLT5tX3Byb3RvdHlwZS5zZXQodm0sIHRyYW5zaXRpb24sIHByb3RvdHlwZSk7CiAKICAg
ICBQcm9wZXJ0eVRhYmxlKiB0YWJsZSA9IHN0cnVjdHVyZS0+Y29weVByb3BlcnR5VGFibGVGb3JQ
aW5uaW5nKHZtKTsKQEAgLTEwNjcsMTEgKzEwNTksNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJh
bnNpdGlvbkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmly
ZUFsbCgqdm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3Ry
dWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
KTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8
U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0xMTA5LDcgKzEwOTYsNyBAQCBib29sIFN0cnVjdHVyZTo6
aXNDaGVhcER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVh
cDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAm
JiAoIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5
KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90
eXBlKCkgfHwgIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3Vy
cmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjpt
YXJrSWZDaGVhcChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjEsMzAgKzExMDgsNiBAQCBi
b29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8o
Vk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAgIGlmIChwYXJzZUluZGV4
KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Ci0gICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFz
Q2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAgdW5zaWduZWQgYXR0cmli
dXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBw
cm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwotICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNl
dChvZmZzZXQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAotICAgICAgICBpZiAo
YXR0cmlidXRlcyAmIChSZWFkT25seSB8IEFjY2Vzc29yKSkKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQogUmVmPFN0
cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSkK
IHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpj
cmVhdGUoKTsKQEAgLTExNzIsNiArMTEzNSw3IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0
dXJlOjp0b1N0cnVjdHUKICAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFw
ZTo6Y3JlYXRlKCk7CiAgICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29w
eVJlZigpKTsKICAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAg
ICAgICAgICAvLyBPT1BTOgogICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpOwogICAgICAgICB9CiAKQEAgLTExODEsMTMgKzExNDUsNiBAQCBSZWY8
U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAgICAgcmV0dXJuIGJhc2VTaGFw
ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJl
KiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5l
Q2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVk
UHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3Ro
ZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVyKHRo
aXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzEx
NTksOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAg
ICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAg
ICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3Rv
cmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIs
IHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0Nl
bGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5
cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlND
ZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0g
UG9seVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8m
LCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3Rv
VGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcg
KzE0MCw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJv
dG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NF
UlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3By
b3RvdHlwZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxNjksNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1
cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0
eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlv
bihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0
aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1
Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVl
IHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0
cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5z
aWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVy
ZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVy
cmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0
cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJl
dHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJz
ZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJs
ZSgpCkBAIC0yNDAsMjYgKzI0Miw0MCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRl
eGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAg
ICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hh
aW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAgICAKLSAgICBib29sIG5lZWRz
U2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVj
dC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2Fs
bGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAog
ICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUg
aW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhp
cywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0
b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBl
LmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkp
OworICAgICAgICAvLyBPT1BTLiBtYXliZSBkZWJ1ZyBhc3NlcnRpb24gaGVyZT8KKyAgICAgICAg
cmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5
UHJvdG9PZmZzZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0
b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50
MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3Qq
KSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2Jq
ZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29u
c3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmpl
Y3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNv
bnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0Owog
ICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0g
ICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3Ry
dWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsK
LSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7Cisg
ICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJh
c2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBw
cm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgIAogICAg
IC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdv
dWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzIsMTQgKzI4OCwy
NCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgc3RydWN0dXJl
IGlzIG5vdyBtYXJrZWQuCiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwotICAg
ICAgICAKLSAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhp
cyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVD
aGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwogICAgIAogICAgIGJv
b2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFyZURhdGEo
bV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEo
KSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJl
dmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSog
ZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgp
KQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJl
RGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAog
ICAgIHsKQEAgLTUzMywxMiArNTU5LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNoaW5n
SW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNo
aW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0g
ICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJl
OyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAg
ICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNl
c3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAg
ICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTkwLDEwICs2
MTAsNiBAQCBwdWJsaWM6CiAKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hh
cGUoSlNWYWx1ZSk7CiAgICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVjdHVy
ZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxsb2NhdGlv
bnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxsb2NhdGlv
bnNPZihTdHJ1Y3R1cmUqKTsKLSAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25z
dDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNv
bnN0OwogICAgIHZvaWQgZHVtcEJyaWVmKFByaW50U3RyZWFtJiwgY29uc3QgQ1N0cmluZyYpIGNv
bnN0OwpAQCAtNzIwLDggKzczNiw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBudW1iZXJP
ZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQog
Ci0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hl
ZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3Ry
dWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlzVmFs
aWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4s
IEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0
cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGlu
KGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIg
Kzc0Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVy
ZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSog
cmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwot
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3Vz
T3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWls
c0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBj
b25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5j
eSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
Q2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw0ICs1
NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAgfQog
fQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0
KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgIHNpemVfdCBz
aXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3Vy
cmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJy
ZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6ZV90IGkgPSAwOworICAgIGZvciAoSlNP
YmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICB2ZWN0b3Jb
aSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkpOworICAgIAorICAgIHZt
LmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Cisg
ICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5o
CShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAg
ICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAot
ICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFk
KQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgSlNPYmplY3QqIGhl
YWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gbmV3IChOb3ROdWxs
LCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2
bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkpOwogICAgICAgICBjaGFpbi0+Zmlu
aXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIgKzYyLDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQotICAgIHsKLSAgICAgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZv
ciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3Jl
ZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICArK3NpemU7Ci0KLSAgICAg
ICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0
ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwotCi0g
ICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBo
ZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxs
KCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUo
KSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7Ci0gICAg
ICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwotICAgICAgICBtX3ZlY3RvciA9
IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZz
ZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2
ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5s
aW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7
CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUg
dmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQxIEBAIGlubGluZSBKU09iamVjdCog
U3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpz
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhh
c1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90
eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFs
dWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29u
c3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOwor
ICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3Rv
dHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7
CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigp
OworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5M
SU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09i
amVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0
dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBy
ZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9iamVj
dC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9
CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0
cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVj
dCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJu
IHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlTX0lO
TElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKQEAgLTE2NiwxNSArMTk2
LDMyIEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNpdGl2ZWx5VHJhbnMKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXBQ
cmltaXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVy
ZSogc3RydWN0dXJlKQoreworICAgIEFTU0VSVCghc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKwor
ICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpCisgICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworCisgICAgQVNTRVJU
KHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSk7CisgICAgcmV0dXJu
IGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7CisKK30KKwogaW5saW5lIEpTVmFsdWUg
U3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAg
ICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAg
ICBpZiAodHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGds
b2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90
b3R5cGUoKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9i
YWxPYmplY3QsIHRoaXMpOworfQogCi0gICAgQVNTRVJUKHR5cGVJbmZvKCkudHlwZSgpID09IFN0
cmluZ1R5cGUpOwotICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOwor
aW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNT
RVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChpc09iamVjdCgpKQorICAg
ICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFzT2JqZWN0KGJhc2UpKTsKKyAgICByZXR1cm4g
cHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQog
CiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUq
IGV4ZWMpIGNvbnN0CkBAIC0xODIsMjcgKzIyOSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUZvckxvCiAgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVj
dHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNv
bnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsK
ICAgICAvLyBXZSBjYWNoZSBvdXIgcHJvdG90eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBz
aGFyZSBpdC4KLSAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlw
ZUNoYWluLmdldCgpKSkgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckxvb2t1cChnbG9iYWxPYmplY3QpOwotICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNl
dCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgp
ID8gMCA6IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1Zh
bGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsK
KyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2Jq
ZWN0LCBiYXNlKTsKKyAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMs
IFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIg
OiBhc09iamVjdChwcm90b3R5cGUpKSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3Rv
dHlwZUNoYWluLmdldCgpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6
cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNo
YWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3Qq
IGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4
ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGlu
ZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBT
dHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
Q2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAg
ICBpZiAoIWNhY2hlZFByb3RvdHlwZUNoYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwor
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwg
YmFzZSk7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNh
Y2hlZFByb3RvdHlwZUNoYWluLT5oZWFkKCk7CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUg
JiYgIXByb3RvdHlwZS5pc051bGwoKSkgewogICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBl
KS0+c3RydWN0dXJlKCkgIT0gY2FjaGVkU3RydWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjYx
LDYgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVy
biBwcm90b3R5cGUuaXNOdWxsKCkgJiYgISpjYWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBi
b29sIFN0cnVjdHVyZTo6aXNWYWxpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBj
YWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIGNhY2hlZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5l
IHZvaWQgU3RydWN0dXJlOjpkaWRSZXBsYWNlUHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0
KQogewogICAgIGlmIChMSUtFTFkoIWhhc1JhcmVEYXRhKCkpKQpAQCAtNDAwLDcgKzQ0Myw3IEBA
IGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVt
b3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0
UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElO
RSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUq
IHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRo
aXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNp
bmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisj
aW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpA
QCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpT
CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRv
ci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvcik7CiB9CiAK
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3Bl
cnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3NywxMyBAQCBpbmxpbmUgdm9p
ZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVl
LmNsZWFyKCk7CiB9CiAKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJ
bmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBpZiAoIW1faW5mZXJyZWRDb25zdHJ1
Y3RvcikKKyAgICAgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSW5mZXJy
ZWRWYWx1ZTo6Y3JlYXRlKHZtKSk7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5n
ZXQoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBl
LnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBP
YmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24m
IGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVj
dHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywxNSBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJv
dG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRo
YXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRo
ZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2gg
bWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4g
SWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZl
IGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJl
ZENvbnN0cnVjdG9yIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhIEpTRnVu
Y3Rpb24uCisgICAgLy8gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0
aGlzIHdpbGwgYmVjb21lIGludmFsaWRhdGVkLgorICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUlu
ZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICAvLyBNYXkgYmUgbnVsbHB0ci4KKyAgICBJbmZl
cnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yKCkgeyByZXR1cm4gbV9pbmZlcnJlZENvbnN0
cnVjdG9yLmdldCgpOyB9CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpA
QCAtNzYsNiArODYsNyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
cHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFs
dWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAgIFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBt
X2luZmVycmVkQ29uc3RydWN0b3I7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5
T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4sIFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNl
dD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQ
cm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hw
b2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9pbnRTZXRzOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjQ2NykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkg
eyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBz
ZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29k
ZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNO
dW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50
MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVj
dCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsg
fQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRl
clNldHRlcigpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBw
ZXJDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlckNhY2hlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcg
QEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBpbmxpbmUgSgogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBKU0M6OkpTT2JqZWN0KiBnZXRET01Qcm90b3R5
cGUoSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CisgICAg
Ly8gT09QUzogbG9vayBpbnRvIHRoaXMKICAgICByZXR1cm4gSlNDOjpqc0Nhc3Q8SlNDOjpKU09i
amVjdCo+KGFzT2JqZWN0KGdldERPTVN0cnVjdHVyZTxXcmFwcGVyQ2xhc3M+KHZtLCBnbG9iYWxP
YmplY3QpLT5zdG9yZWRQcm90b3R5cGUoKSkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321908</attachid>
            <date>2017-09-26 17:39:35 -0700</date>
            <delta_ts>2017-09-26 20:44:53 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>160616</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDY3KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBh
c3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2VzLmxlbmd0aDsgKytpKQorICAgICAgICB2
YWxpZGF0ZShpbnN0YW5jZXNbaV0pOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1zZXQtcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tc2V0LXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLXNldC1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiYmFkIik7Cit9CisKK2xldCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsK
KyAgICBnZXQgeSgpIHsgcmV0dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICB9Cit9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3Rv
dHlwZSwgIngiLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30p
OworCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9y
KCkgeworICAgICAgICAgICAgdGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICBy
ZXR1cm4gbmV3IEM7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQo
by54ID09PSBwKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9v
KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
CisgICAgICAgIHZhbGlkYXRlKGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAg
ICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDA7ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEs
IG51bGwpOworICAgIH0KK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9f
XyA9IGFsdGVybmF0ZVByb3RvMjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkg
eworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOwor
ICAgICAgICBhc3NlcnQoYS55ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgewor
ICAgICAgICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90
eXBlLmZpZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAg
IGNsYXNzIEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAg
ICBzdXBlcigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9Owor
ICAgIHJldHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAg
YmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0
MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiBhc3Nl
cnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30K
KworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsK
KyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0g
NDIpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5j
ZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
cHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0
IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7
IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5Owor
ICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQ
cm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAg
IFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlk
YXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7
CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2Vy
dChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsK
K30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7Cisg
ICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAs
IHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBz
IG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9u
IGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUg
PSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgewor
ICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0
ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAor
ICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgewor
ICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVt
LnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5
cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNyw3IEBAIGJ5
dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0aG9kT2ZHZXR0
aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2Uu
Y3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5j
cHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0ZWNvZGUvT3Bj
b2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNw
cAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVC
bG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNvZGUvUHJvdG90
eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAogYnl0
ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTA2MSw2ICsxMDYxLDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5QzAw
NUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJCMUQz
NDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTJD
QjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQxM0FG
MyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1NkEx
Qjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJ
bmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Nzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENv
bG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29s
b3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURGMjRB
IC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMzQ5OSw2ICszNTAwLDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0
IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRNYXRo
SUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAwRDEz
QUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5NzIw
MEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5QzFF
MDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0
UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkxRCAv
KiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmlu
Zy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jpbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM0MSw2ICs3MzQ0LDggQEAKIAkJ
CQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJ
CTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8sCiAJ
CQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8sCisJ
CQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAq
LywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4u
aCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNwcCAq
LywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8sCiAJ
CQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApAQCAt
ODUyOSw2ICs4NTM0LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50bENv
bGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RCMDBG
QzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyogSW50
bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDc1
MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBp
biBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRp
bWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjQ2NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBT
eW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJpdmF0
ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5
bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAvLyBu
YW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI0NjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNf
RUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0ZXJu
IFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4dGVy
biBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1l
OwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFtZSkg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCksICZt
XyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9O
X1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JV
SUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50
aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9s
bGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5h
bWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1i
b2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZP
UkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNf
RU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BF
UlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2ICsy
NDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklWQVRF
X0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVByaXZh
dGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1ByaXZh
dGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFtZSk7
CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOworICAg
ICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2Nv
cmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9CiAK
ICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVy
JikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05fUFJJ
VkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9T
WU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1Ymxp
Y05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpTQzo6
SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKQEAg
LTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQogICAg
IGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJlcEhh
c2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1ByaXZh
dGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNSArNDksMTggQEAKICNpbmNsdWRlICJTdXBlclNh
bXBsZXIuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKIAorI2luY2x1ZGUgIk1hY3Jv
QXNzZW1ibGVyUHJpbnRlci5oIgorCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEFjY2Vz
c0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAK
LUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAg
LCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7
CkBAIC03OSw3ICs4Miw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNl
OjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpKTsKIH0KIAogc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKQEAgLTk2LDcgKzk5LDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5l
dyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBudWxscHRyKSk7CiB9CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3NDYXNl
KCkKQEAgLTEzNSw3ICsxMzgsOSBAQCBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vzc0Nh
c2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiByZXN1bHQ7CiAKICAgICBpZiAo
KHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpCisgICAgICAgIC8vIE9PUFM6IGFkZCBhIHRlc3QgZm9yIHRoaXMKKyAgICAgICAgfHwg
KG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gJiYgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+bmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCh2bS5lbnN1
cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRlbnQpKTsKIAogICAgIGlmIChhZGRp
dGlvbmFsU2V0KCkpCkBAIC0xNTEsNiArMTU2LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpndWFyZGVk
QnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAg
IGNhc2UgU3RyaW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxOCwxMyBAQCBib29sIEFjY2Vzc0Nhc2U6
OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJldHVybiB0aGlzQ2FzZS5tb2R1bGVO
YW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCk7CiAg
ICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0aGlzIGlzIGV4
YWN0bHkgd2hhdCB3ZSB3YW50CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7
CisgICAgICAgICAgICBpZiAoIW90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICptX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluID09ICpvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICB9CisK
ICAgICAgICAgaWYgKCFndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFyZGVk
QnlTdHJ1Y3R1cmVDaGVjaygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yMTks
MjIgKzIzNCwyNiBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAK
IHZvaWQgQWNjZXNzQ2FzZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91
dC5wcmludChtX3R5cGUsICI6KCIpOworICAgIG91dC5wcmludCgiXG4iLCBtX3R5cGUsICI6KCIp
OwogCiAgICAgQ29tbWFQcmludGVyIGNvbW1hOwogCiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3N0
YXRlKTsKIAotICAgIGlmIChtX3R5cGUgPT0gVHJhbnNpdGlvbikKLSAgICAgICAgb3V0LnByaW50
KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIs
IHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7Ci0gICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUp
Ci0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1f
c3RydWN0dXJlLmdldCgpKSk7Ci0KICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAg
ICAgICAgIG91dC5wcmludChjb21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAo
IW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiY29u
ZGl0aW9ucyA9ICIsIG1fY29uZGl0aW9uU2V0KTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluKQorICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWlu
ID0gIiwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAgZWxzZSB7CisgICAgICAgIGlmICht
X3R5cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVj
dHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChu
ZXdTdHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAg
ICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0
dXJlLmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0
LnByaW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjYyLDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlz
aXRXZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6Omlz
TWFya2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlm
IChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBp
ZiAoIUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxM
aXZlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBA
IC0yNzMsNiArMjk4LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMo
U2wKICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+
bWFya0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikg
eworICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3ND
aGFpbi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNo
ZWFwKHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBU
cmFuc2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1
Y3R1cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwMiw2NCBAQCB2b2lkIEFjY2Vzc0Nh
c2U6OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAg
aWYgKHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJh
c2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsK
LQotICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIs
IEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAot
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1
cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xu
KCJHZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAgICAgIC8vaml0LnByaW50
KCJEb2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAgICAgICAgICBHUFJSZWcg
YmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAgICAgICBqaXQubW92
ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsg
KytpKSB7CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluLT5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRFbmQgPSBp
ICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsKKyAgICAgICAg
ICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFu
Y2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VG
b3JBY2Nlc3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmICFzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZl
VG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxs
KSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2Jq
ZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVy
ZS0+aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlw
ZS4gV2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNl
dChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vz
c0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChD
Q2FsbEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZv
cndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAg
ICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNTA0LDEzICs1NzIsMTcgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZvckdldEdQ
UiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAg
IGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgK
LSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFz
ZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJhc2VGb3JB
Y2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VG
b3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nl
c3NDaGFpbikgeworICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7IC8v
IHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCEgT09QUzogdGhpcyBpcyB1Z2x5LgorICAgICAgICAgICAg
Ly9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gbG9hZCFcbiIpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgICAg
IGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0K
IAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAg
ICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nl
c3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1
c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgog
I2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYs
OSArMTg3LDIzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAg
IGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3By
b3RvdHlwZUFjY2Vzc0NoYWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJl
KiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNv
bnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4pOworICAgIEFjY2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNj
ZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIu
bV90eXBlKQorICAgICAgICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29m
ZnNldChvdGhlci5tX29mZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVj
dHVyZSkKKyAgICAgICAgLCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAg
ICAgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmNsb25lKCkpCisgICAgeyB9CisKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29uc3Qg
QWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0ZSA9
IFByaW1vcmRpYWw7IH0KIApAQCAtMjI3LDYgKzI0Miw4IEBAIHByaXZhdGU6CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNyArNTkzLDcgQEAgYm9vbCBDb2Rl
QmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAgaW50IGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPSBwY1tvcExlbmd0aCAtIDJdLnUub3BlcmFuZDsKIAogICAgICAgICAg
ICAgaW5zdHJ1Y3Rpb25zW2kgKyBvcExlbmd0aCAtIDFdID0gb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU7Ci0gICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZSh2bSwK
KyAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplUHJvZmlsZSh2
bSwKICAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC5nZXQoKSwgdGhpcywgbV9nbG9iYWxP
YmplY3QtPm9iamVjdFByb3RvdHlwZSgpLCBpbmZlcnJlZElubGluZUNhcGFjaXR5KTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChs
aXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworCisgICAg
ICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAg
ICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNw
YWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVy
Ym9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBC
YXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2Us
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hh
aW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBv
d25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKLSAgICBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1
dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2lu
dFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0
dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRpb25hbDxET01BdHRy
aWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7
CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02MywxOCArNjMsMTkgQEAgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3Vs
dChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90
QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1
bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xv
dEJhc2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5tX2Rv
bUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iu
Z2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CiAK
Ky8vIE9PUFM6IGRvIHNvbWV0aGluZyBoZXJlLiBXaG8gY2FsbHMgdGhpcz8KIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsCiAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVy
LAogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBT
ZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vz
c29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4g
cmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNl
KSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgbnVsbHB0
cikpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTQgKzQ2LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZW1pdERPTUpJVEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmLCBj
b25zdCBET01KSVQ6OkdldHRlclNldHRlciosIEdQUlJlZyBiYXNlRm9yR2V0R1BSKTsKIAorICAg
IC8vIE9PUFM6IGNvbnNpZGVyIHdoYXQgdGhpcyBjdG9yIGlzIGZvcgogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51
bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBz
dGQ6Om51bGxvcHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9
IG51bGxwdHIsCisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0
ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIHN0ZDo6
dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCiAgICAgICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMg
PSBudWxscHRyLApAQCAtNjcsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNj
ZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2
YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09i
amVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBK
U0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25z
dCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9j
YXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBj
b3B5KQpAQCAtNDYsOCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVy
bmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZy
b21CYXNlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAg
IEFTU0VSVCghbV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9
IGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAg
Ly8gRklYTUU6IEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2Vz
IG9mIGJ1aWx0aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAg
ZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAog
SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYg
dm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIEpT
RnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJp
bnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJhc2Uo
dm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIG51bGxwdHIpCiB7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVyLCBp
bnRyaW5zaWNGdW5jdGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5h
bWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52
aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIs
IE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNl
TG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQo
KSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9t
b2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVk
IGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAg
IEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFT
U0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5
IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3Jl
YXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4K
KyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3Cisg
ICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIGlmIChjb25zdHJ1Y3RvcikgeworICAg
ICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb25zdHJ1Y3Rvci0+anNFeGVj
dXRhYmxlKCk7CisKKyAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZXhlY3V0YWJs
ZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBlKTsKKyAg
ICAgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgIG1fc3RydWN0dXJl
LnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBtX2lubGluZUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKKyAgICAgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IHBy
b3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pLT5lbnN1cmVJbmZlcnJl
ZENvbnN0cnVjdG9yKHZtKTsKKyAgICAgICAgYm9vbCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90
byA9IGZhbHNlOworICAgICAgICBpZiAoSlNPYmplY3QqIHByb3RvdHlwZU9mUHJvdG90eXBlID0g
anNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGUtPmdldFByb3RvdHlwZURpcmVj
dCgpKSkgeworICAgICAgICAgICAgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSBwcm90b3R5
cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKQorICAgICAgICAgICAg
ICAgICYmIHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5p
bmZlcnJlZENvbnN0cnVjdG9yKCkKKyAgICAgICAgICAgICAgICAmJiBwcm90b3R5cGVPZlByb3Rv
dHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKS0+aW5mZXJyZWRDb25zdHJ1Y3RvcigpLT5o
YXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGluZmVycmVkQ29uc3Ry
dWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29u
c3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKworICAgICAgICBpc1BvbHlQ
cm90byA9IChpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSB8fCBwYXJl
bnRQcm90b3R5cGVJc1BvbHlQcm90bykgJiYgZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24o
KS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVj
dDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0
aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUp
OworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAg
Ly8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFs
eXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVy
IGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAg
ICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxp
bmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAg
Ly8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRo
ZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9i
amVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNh
cGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNp
dHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5s
aW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0K
KworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAg
ICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2Fw
YWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0Zp
bmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxs
b2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25T
aXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBh
dmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAg
ICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkg
LyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkg
Kz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKwor
ICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwg
aXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNl
KCk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmpzRXhlY3V0YWJs
ZSgpLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAg
IG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9hbGxvY2F0b3Ig
PSBhbGxvY2F0b3I7CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUp
OworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0m
IHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90
eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAw
OworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0
eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2
YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0
UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJh
dGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0
b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVy
dHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVW
ZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+
Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0
aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0
IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlv
bio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50
OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4g
IW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1
bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFt
X2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NF
UlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmlu
ayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJv
dG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0g
ICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0
aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVy
IGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2Ug
aWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5l
Q2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUg
d2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAg
ICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5s
aW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlu
bGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAg
ICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsK
LSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxP
YmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxs
b2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25T
aXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGlu
ZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxv
Y2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUo
KSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAg
ICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVD
YXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
OwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5
cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90
aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNy
ZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9j
YXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3Ry
dWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAg
IH0KKyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRy
KTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9y
ID0gMDsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVy
ZS5jbGVhcigpOwogICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJU
KGlzTnVsbCgpKTsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAg
ICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3Qq
IHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5n
bG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsK
LQotICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBw
cm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xz
LCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0
dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJh
eSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlBy
b3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXku
ZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFs
dWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ld
KTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxs
eSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAg
ICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAg
ICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFBy
b3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFs
bG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2ll
ciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1
Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjQ2NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
OjphYnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5z
dHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAg
ICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7Cisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0s
IG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTIgQEAgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2co
Ikl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAg
ICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7Cisg
ICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnBy
b3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAko
cmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBAIEFjY2Vz
c0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNB
Y2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRo
IG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2Vu
ZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUo
dm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhp
czsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAy
MjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nl
c3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToKIH07CiAK
IHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0
ZShWTSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2Jh
bE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9y
Q2FsbEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3Rv
cmVSZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxs
U2l0ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9i
YWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0
ciB9OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0
Y2hSZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0
ZXJTdGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNv
bmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRB
c3N1CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3Zl
IHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNo
b3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMg
YW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5n
ZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZh
bGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6
dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNT
dGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBp
dCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdl
IGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBi
YXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZwor
ICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50
QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVj
dHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2lu
Y2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3Qm
IHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxsKiBjdXJyZW50ID0gYmFz
ZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBz
bG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisKKyAgICBib29sIGZv
dW5kID0gZmFsc2U7CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUHJvdG90eXBlQWNjZXNz
Q2hhaW4oKSk7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
PnByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7
CisgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlv
bmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAg
ICAgcmVzdWx0LT5tX2NoYWluLmFwcGVuZChzdHJ1Y3R1cmUpOworCisgICAgICAgIGlmIChjdXJy
ZW50ID09IHRhcmdldCkgeworICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBp
ZiB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9s
eSBwcm90byBwcm90b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3Rv
CisgICAgICAgIC8vIHRoaW5nIGluIHRoZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQg
b24gaXQsIHRoZW4gd2UncmUgbm90CisgICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVz
ZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwor
ICAgIH0KKworICAgIGlmICghZm91bmQgJiYgISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFp
bjo6bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6
b3BlcmF0b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fY2hhaW4gPT0gb3RoZXIubV9jaGFpbjsKK30KKwordm9pZCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91dC5wcmlu
dCgiUG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgb3V0LnByaW50KCI6IFtcbiIpOwor
ICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAgIG91dC5w
cmludCgiXHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAgIG91dC5w
cmludCgiXG4iKTsKKyAgICB9CisgICAgb3V0LnByaW50KCJdIik7Cit9CisKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBK
U0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90OworY2xh
c3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvdG90eXBlQWNj
ZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90eXBl
QWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hlbiBp
bnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+
IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0
IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjbG9uZSgpCisgICAgeworICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3VuaXF1ZTxQcm90b3R5cGVBY2Nlc3NDaGFpbj4oKnRoaXMpOworICAgIH0K
KworICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBt
X2NoYWluOyB9CisKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAg
ICBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25z
dDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVy
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0K
KworICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0OworCitwcml2
YXRlOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAgVmVjdG9y
PFN0cnVjdHVyZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5v
dywgYnV0IHBlcmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KK307CisKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMw
LDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFi
bGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNl
OjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAor
ICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZt
LCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQog
ICAgICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0No
YWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUg
PT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5l
dyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25l
ciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0
aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJs
ZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFj
Y2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBK
U0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2Ugewog
cHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBB
Y2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsK
KyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0ID0gbnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51
bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYp
IGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgp
IGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJs
ZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0m
LCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6
CiAgICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zODQ4LDYgKzM4NDgsOSBAQCBSZWdpc3RlcklEKiBDbGFzc0V4cHJOb2Rl
OjplbWl0Qnl0ZWNvZGUoCiAKICAgICAgICAgZ2VuZXJhdG9yLmVtaXREaXJlY3RQdXRCeUlkKGNv
bnN0cnVjdG9yLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVuZGVyc2NvcmVQcm90
bywgc3VwZXJjbGFzcy5nZXQoKSwgUHJvcGVydHlOb2RlOjpVbmtub3duKTsKICAgICAgICAgZ2Vu
ZXJhdG9yLmVtaXRMYWJlbChzdXBlcmNsYXNzSXNOdWxsTGFiZWwuZ2V0KCkpOworCisgICAgICAg
IC8vIE9PUFM6IHRoaXMgbWFrZXMgaXQgc28gdGhhdCBhbnkgZGVyaXZlZCBjbGFzcyBwcm90b3R5
cGUgb2JqZWN0IHdpbGwgYWx3YXlzIGdldCBhIG5ldyBzdHJ1Y3R1cmUKKyAgICAgICAgLy8gaWYg
bXVsdGlwbHkgY29uc3RydWN0ZWQgYmVjYXVzZSB3ZSBkb24ndCBjYWNoZSBwcm90b3R5cGUgdHJh
bnNpdGlvbnMuCiAgICAgICAgIGdlbmVyYXRvci5lbWl0RGlyZWN0UHV0QnlJZChwcm90b3R5cGUu
Z2V0KCksIGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBwcm90b1Bh
cmVudC5nZXQoKSwgUHJvcGVydHlOb2RlOjpVbmtub3duKTsKICAgICB9CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lv
biAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzczMyw2ICszNzMzLDggQEAgTm9kZSogQnl0ZUNvZGVQ
YXJzZXI6OmxvYWQoCiAgICAgICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZh
cmlhbnQuc3RydWN0dXJlU2V0KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUK
ICAgICAgICAgICAgICAgICAvLyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90
ZSB0aGF0IHdlIGFyZSByZWx5aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAg
ICAgICAgIC8vIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUg
aGVyZSBiZWNhdXNlIG9mIGhvdyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKwor
ICAgICAgICAgICAgICAgIC8vIE9PUFM6IHRoaXMgbmVlZHMgYXR0ZW50aW9uCiAgICAgICAgICAg
ICAgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0
cnVlOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0
cnVjdHVyZVNldCgpLnNpemUoKTsgKytpKSB7CkBAIC00MzA4LDYgKzQzMTAsOCBAQCBib29sIEJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAgICAgICBj
YXNlIG9wX2NyZWF0ZV90aGlzOiB7CisgICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdo
IHRoaXMgY29kZS4KKwogICAgICAgICAgICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAgICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZp
cnR1YWxSZWdpc3RlcihjYWxsZWVPcGVyYW5kKSk7CiAKQEAgLTQzMzAsMTIgKzQzMzQsMTQgQEAg
Ym9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYg
KGZ1bmN0aW9uKSB7CiAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVE
YXRhID0gZnVuY3Rpb24tPnJhcmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0
cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUo
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShy
YXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQu
Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgu
cmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9m
aWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUg
Y2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3Ry
dWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFk
eUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg3
LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAg
ICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUt
PmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wg
YWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lz
dGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9
IHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFz
dHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENv
bmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0g
aW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJh
dGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTEgQEAg
SlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1
Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEg
PSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5l
Q2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
LSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVy
ZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhl
Yywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVBy
b3RvT2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5wcm90b3R5cGVG
b3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Mzg2LDcgKzQzODYsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3Jv
QXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJ
VENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRP
Zk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zm
c2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIo
SklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNl
dE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpv
ZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5h
cHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9y
R1BSKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRy
LCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQ
Uiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxl
cjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJh
cmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICsz
MjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5v
UmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBH
UFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BS
UmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywg
R1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFu
IG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAs
IG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5
LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNy
b0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1w
IHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVy
OjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlND
ZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUp
KTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywg
c2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJs
ZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENl
bGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1
cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7Cisg
ICAgLy9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0
cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hS
ZWcpOworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1Jl
ZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRv
IG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRj
aDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRj
aDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hS
ZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNl
dE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5r
KCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3Jv
QXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSku
bGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJh
bmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAg
ICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BS
UmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0
Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3Jh
dGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7
CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5i
cmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJl
ZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAg
ICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0
YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcs
IHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwg
dmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gz
UmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEz
ICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAg
ICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAg
IEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcg
PSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigp
OwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBz
Y3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0
Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywg
cHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAg
ICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAy
MjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25T
cGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2Up
OwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBm
YWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwg
R1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJl
c3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9m
Rm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQ
UlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3Jh
dGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBj
b21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODg4NywxMCArODg4NywxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJh
c2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Js
b2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJv
dG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQ
b2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJl
UHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0
SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51
YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90
eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVs
dEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2Nr
IGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFs
dWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0g
VW50eXBlZFVzZSkKQEAgLTg5MDgsMTYgKzg5MTAsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFs
dWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAg
bV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3As
IGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2Fk
UHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwg
b3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0
MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJy
YW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIo
UHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJl
Y3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxs
eShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAK
LSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFu
Y2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQ
cm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsK
LSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJl
LCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5
cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90
eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNo
b3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlw
ZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7
CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlw
ZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBt
X291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQ
cm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNl
SW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2Nh
bGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBt
X291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNv
bXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQ
cm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwog
ICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1f
b3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9v
dXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2
LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAK
ICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRo
aXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3
ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYg
bm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIs
IHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVP
ZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJl
Z1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90
eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFu
Y2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIo
cmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNF
aWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhh
c1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAg
ICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAg
ZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkBAIC04MDAsNiAr
ODA1LDcgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX2NyZWF0ZV90aGlzKEluc3RydQogICAgIGxp
bmtTbG93Q2FzZShpdGVyKTsgLy8gZG9lc24ndCBoYXZlIGFuIGFsbG9jYXRpb24gcHJvZmlsZQog
ICAgIGxpbmtTbG93Q2FzZShpdGVyKTsgLy8gYWxsb2NhdGlvbiBmYWlsZWQgKG5vIGFsbG9jYXRv
cikKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7IC8vIGFsbG9jYXRpb24gZmFpbGVkIChhbGxvY2F0
b3IgZW1wdHkpCisgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBhbGxvY2F0aW9uIGZhaWxlZCwg
c3RydWN0dXJlIGhhcyBwb2x5IHByb3RvCiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIpOyAvLyBjYWNo
ZWQgZnVuY3Rpb24gZGlkbid0IG1hdGNoCiAKICAgICBKSVRTbG93UGF0aENhbGwgc2xvd1BhdGhD
YWxsKHRoaXMsIGN1cnJlbnRJbnN0cnVjdGlvbiwgc2xvd19wYXRoX2NyZWF0ZV90aGlzKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5
SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xv
dC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5z
bG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsMzUgQEAgc3RhdGljIElu
bGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0
aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAm
JiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9w
ZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAot
ICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAg
ICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBs
KCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCks
Ci0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkp
CisgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgIHBy
b3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAg
ICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAv
LyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAg
ICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQgaW5zdGVhZCBmb3IgZmFzdGVyIGFjY2Vzc2VzLgorICAg
ICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKworICAgICAgICAg
ICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRp
b25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAg
ICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5p
bXBsKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNv
bmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAor
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBz
bG90LnNsb3RCYXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1w
bCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hl
OworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/
IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQo
KTsKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6
IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBn
ZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTUgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBQ
cm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBv
aW50U2V0KCkpOworICAgICAgICAgICAgLy8gT09QUzogbmVlZCB0ZXN0IGZvciB0aGlzIQorICAg
ICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJs
b2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJv
bVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFp
bikpOwogICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRlciAm
JiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdldHRl
ciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIC8vIE9PUFM6IGNvbnNpZGVyIHRoaXMgY2FzZS4K
ICAgICAgICAgICAgIG5ld0Nhc2UgPSBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUo
dm0sIGNvZGVCbG9jaywgc2xvdC5jYWNoZWRPZmZzZXQoKSwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIGdldHRlcik7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNo
ZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNVbnNldCgpKSB7CiAgICAgICAgICAgICAgICAgbmV3Q2Fz
ZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmlzVW5z
ZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3MgOiBBY2Nlc3NDYXNlOjpMb2FkLAotICAgICAgICAgICAg
ICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVBy
b3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hw
b2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAg
ICAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpKQpAQCAtMzE2LDcgKzMz
Miw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwKICAgICAgICAgICAgICAgICAgICAgc2xvdC53
YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0
dGVyKCkgOiBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3Vz
dG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyLAotICAgICAgICAgICAgICAgICAgICBk
b21BdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUsIFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzY2LDEwICs3NjYsOSBAQCBMTElOVF9T
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAgICAgICAgICAgICAgICAgICAgICAg
ICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJZElzRGly
ZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFp
biA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFp
bihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1
Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVj
dHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0
YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNb
OF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9v
bCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0
YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09i
amVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICByZXR1cm4g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pOwor
ICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRl
JiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwgdWludDY0
X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0
Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9L
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
c3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAg
IGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sg
PSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5s
aW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9pbmVyLmFw
cGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVsc2Ugewog
ICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAg
ICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdl
bmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1
YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1
dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRh
dGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2Jq
ZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+
IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBh
dXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAgICAgICAg
aWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwg
bGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVu
Z3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgz
NSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAg
ICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFycmF5U3Rv
cmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgoKSkKICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChz
dG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
T2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBzdG9yYWdl
LnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5n
dGgpOwpAQCAtMTE3NCw3ICsxMTczLDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNT
dGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
IAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlw
ZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRl
eGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291cmNlKSkp
IHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7
CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1aWNrbHko
aSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIyNDY3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1
bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVy
Zmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
KSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0
dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAg
ICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZl
Y3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVyIGluZGV4
aW5nSGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgodmVjdG9y
TGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhl
IGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAg
ICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3
ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwg
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwg
Y2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUo
dm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJ
bmRleGluZyhyZXN1bHQpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCAr
MTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9
IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFy
Z3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCgh
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFj
aGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJn
dW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRl
V2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAg
ICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwg
c2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwor
ICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZyhyZXN1bHQpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBD
bG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0
aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVu
dFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xv
d1B1dEluZGV4aW5nKHJlc3VsdCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVy
ZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3Bw
CShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2Fw
YWNpdHkgPSBwY1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
Y29uc3RydWN0b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1
Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3Ry
dWN0aW9uKHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEt
aW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29u
c3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdl
dChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4
ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rp
b25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3Ry
dWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+
bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9j
YWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0
aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5
LCAyMDEwLCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzIsNiArMTcyLDkgQEAgcHVibGljOgog
ICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9u
KCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8vIENhY2hlZCBw
b2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3RpbmcgdGhpcyBl
eGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkgeyBy
ZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENh
Y2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKSB7IG1f
Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsgfQogCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTE4OSw2ICsxOTIs
NyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxGdW5jdGlvbkNvZGVCbG9jaz4gbV9jb2Rl
QmxvY2tGb3JDb25zdHJ1Y3Q7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJuU3RhdGVtZW50
VHlwZVNldDsKICAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9zaW5nbGV0b25GdW5j
dGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBvbHlQcm90b1N0cnVj
dHVyZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjQ2
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6On5GdW5j
dGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCit2b2lkIEZ1
bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0gICAgbV9vYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHBy
b3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmNs
ZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29ya2luZyBjb3B5
KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNvbnN0IGNoYXIq
IHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNh
cGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFj
aXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRlcm5hbEZ1bmN0aW9uOjpjYWxj
dWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVj
dHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCwgU3RydWN0dXJlKiBi
YXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQoIW5ld1RhcmdldCB8fCBuZXdU
YXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3VGFyZ2V0ICYmIG5ld1Rhcmdl
dCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChiYXNlQ2xhc3MtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUgYW4gSW50ZXJuYWxGdW5j
dGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3RydWN0LgogICAgIEpTRnVu
Y3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIG5l
d1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4Miw3ICs4ODIsNyBA
QCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBlCiAgICAgY2FzZSBBcnJh
eVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsKICAgICAgICAgVk0m
IHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9J
TkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQor
ICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKQogICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTkxNyw3ICs5MTcsNyBAQCBi
b29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAgCiAgICAgLy8gSWYg
dGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBpbiBhbiBhYm5vcm1hbCBz
dGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGluIEFycmF5UHJvdG90eXBl
LgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAoKHN0b3JhZ2UtPmhhc0hv
bGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAogICAgICAgICB8fCBzaG91
bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0xMDQ4LDcgKzEwNDgsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhp
bmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFy
dCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAg
ICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUg
YmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVu
Z3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAg
ICAgICBKU1ZhbHVlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXMoKVtpICsgY291bnRdLmdldCgp
OwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghdikpIHsKQEAgLTEwODksNyArMTA4OSw3
IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8g
V2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3Mg
YXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2gg
c2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3Rv
cmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAg
ICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIGRvdWJsZSB2ID0g
YnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKClbaSArIGNvdW50XTsKICAgICAgICAgICAgICAg
ICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpAQCAtMTQzNiw3ICsxNDM2LDcgQEAgYm9vbCBKU0Fy
cmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUtPm1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBp
ZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJv
dG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+
YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw4
ICs2MSw4IEBAIGlubGluZSBib29sIEpTQXJyYXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdhdGNocG9p
bnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBvbiBBcnJheS5wcm90b3R5cGUgYW5kIE9iamVjdC5w
cm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9mIHdhbGtpbmcgdGhlIHByb3RvdHlwZSBjaGFpbi4g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTU5MgotICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pCi0gICAgICAgIHx8
IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhlckFycmF5KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzUsNiArMTM1LDcgQEAgaW5saW5lIFN0cnVjdHVyZSogZ2V0Qm91bmRGdW5jdGlv
blN0cnVjdAogICAgIC8vIGlzbid0IGFueSBnb29kIHBsYWNlIHRvIHB1dCB0aGUgc3RydWN0dXJl
IG9uIEludGVybmFsIEZ1bmN0aW9ucy4KICAgICBpZiAodGFyZ2V0SlNGdW5jdGlvbikgewogICAg
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRhcmdldEpTRnVuY3Rpb24tPnJhcmVEYXRhKHZt
KS0+Z2V0Qm91bmRGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICAvLyBPT1BTOgogICAgICAg
ICBpZiAoc3RydWN0dXJlICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gcHJvdG90
eXBlICYmIHN0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCkgPT0gZ2xvYmFsT2JqZWN0KQogICAgICAg
ICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3Ry
dWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09m
KEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwg
UmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0
ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0g
ICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQp
LCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQo
KnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAg
IG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAg
ICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIs
IGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVy
ZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYg
KGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6
YWxsb2NhdGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVjdCog
SlNGdW5jdGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjKQoreworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSk7CisgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICBy
ZXR1cm4gYXNPYmplY3QocHJvdG90eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0p
LT5vYmplY3RQcm90b3R5cGUoKTsKK30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6
YWxsb2NhdGVBbmRJbml0aWFsaXplUmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAg
ICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmpl
Y3RQcm90b3R5cGUoKTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29u
c3RydWN0aW9uKHZtLCBleGVjKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1
bmN0aW9uUmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsK
IAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQg
dGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBw
cm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0YSog
SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1p
Y0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmpl
Y3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxP
YmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0
aW9uKHZtLCBleGVjKTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHks
IHRoaXMpOwogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNDEsNiArMzQ0
LDE2IEBAIEVuY29kZWRKU1ZhbHVlIEpTRnVuY3Rpb246OmNhbGxlckdldHRlcigKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93VHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBBU0NJSUxpdGVy
YWwoIkZ1bmN0aW9uLmNhbGxlciB1c2VkIHRvIHJldHJpZXZlIHN0cmljdCBjYWxsZXIiKSkpOwog
fQogCitzdGF0aWMgdm9pZCBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZChWTSYgdm0sIEpT
VmFsdWUgcHJvdG90eXBlVmFsdWUsIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAgIC8v
IE9PUFM6IGlzIHRoaXMgcmVhbGx5IG5lZWVkZWQ/IE9yIGNhbiB3ZSBqdXN0IGdldCBhd2F5IHdp
dGggZG9pbmcgdGhpcyB3aGVuCisgICAgLy8gaW5pdGlhbGl6aW5nIHRoZSBwcm9maWxlPworICAg
IEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3Rv
dHlwZVZhbHVlKTsKKyAgICBpZiAoIXByb3RvdHlwZSkKKyAgICAgICAgcmV0dXJuOworICAgIHBy
b3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pLT5lbnN1cmVJbmZlcnJl
ZENvbnN0cnVjdG9yKHZtKS0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyAu
cHJvdG90eXBlIGluc2lkZSBKU0Z1bmN0aW9uIik7Cit9CisKIGJvb2wgSlNGdW5jdGlvbjo6Z2V0
T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQogewogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0zNzEsNyArMzg0LDYgQEAgYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Q
cm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zmc2V0ID0gdGhpc09iamVjdC0+Z2V0RGly
ZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGF0dHJpYnV0ZXMpOwog
ICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAgICAgIH0KLQog
ICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXMsIHRoaXNPYmplY3Qt
PmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAgIH0KIApAQCAtNDUyLDYgKzQ2NCw3IEBA
IGJvb2wgSlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1MKICAgICAgICAgdGhpc09i
amVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhl
YywgcHJvcGVydHlOYW1lLCBnZXRTbG90KTsKICAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fcmFy
ZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3JhcmVEYXRhLT5jbGVhcigiU3RvcmUg
dG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24iKTsKKyAgICAgICAgaW5mZXJDb25z
dHJ1Y3RvclZhbHVlSWZOZWVkZWQodm0sIHZhbHVlLCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2Nv
cGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwogICAgIH0KQEAgLTUxOCw2ICs1MzEsOCBAQCBi
b29sIEpTRnVuY3Rpb246OmRlZmluZU93blByb3BlcnR5KEpTT2JqCiAgICAgICAgIHRoaXNPYmpl
Y3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMs
IHByb3BlcnR5TmFtZSwgc2xvdCk7CiAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRh
KQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9yYXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHBy
b3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9uIik7CisgICAgICAgIGlmIChkZXNjcmlwdG9y
LnZhbHVlKCkpCisgICAgICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwg
ZGVzY3JpcHRvci52YWx1ZSgpLCB0aGlzT2JqZWN0KTsKICAgICAgICAgc2NvcGUucmVsZWFzZSgp
OwogICAgICAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3duUHJvcGVydHkob2JqZWN0LCBleGVjLCBw
cm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHRocm93RXhjZXB0aW9uKTsKICAgICB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE0OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0
aW9uTmFtZShFeGVjU3RhdGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUg
X19wcm90b19fIGZvciB0aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRv
IGJlIGNvbnN0cnVjdGVkLgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24o
Vk0mLCBFeGVjU3RhdGUqKTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpT
RnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rp
b24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFu
ZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5
cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3
Myw5IEBAIGJvb2wgSlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAg
aWYgKCFnbG9iYWxPYmplY3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUo
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQ
cm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03NzAsNyArNzcwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3Rh
dGUqIAogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSkt
PmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRP
ZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBSZWFkT25seSkg
ewotICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1h
eUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOworICAg
ICAgICAgICAgICAgIEFTU0VSVCh0aGlzLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOwogICAgICAgICAgICAgICAgIHJl
dHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0
ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICAgICAgfQogCkBAIC0x
MDE1LDcgKzEwMTUsNyBAQCBCdXR0ZXJmbHkqIEpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhl
CiAgICAgQVNTRVJUKGxlbmd0aCA8PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKTsKICAgICBJ
bmRleGluZ1R5cGUgb2xkVHlwZSA9IGluZGV4aW5nVHlwZSgpOwogICAgIEFTU0VSVF9VTlVTRUQo
b2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5cGUpKTsKLSAgICBBU1NFUlQoIXN0
cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICBBU1NFUlQoIW5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5z
aWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsK
QEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5
U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdl
QnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBt
X2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBu
ZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJl
ID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xk
U3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0s
IG9sZFN0cnVjdHVyZSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKICAgICBu
dWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVy
Zmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRv
QXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJy
YXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNEb3VibGVz
IEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0RvdWJsZShWTSYgdm0pCkBAIC0xMjY0LDcgKzEyNjQs
NyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FyCiAKIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAg
ICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRJbnQz
MlRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwog
fQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3Vv
dXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6
Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91Ymxl
VG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJh
eVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRp
b24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJh
bnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252
ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVy
dENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0Fy
cmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAog
dm9pZCBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZEZvclZhbHVlKFZNJiB2bSwgSlNWYWx1ZSB2
YWx1ZSkKQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6
ZW5zdXJlSW50MzIKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmco
KSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFs
dWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIodm0sIDApOwogICAgICAg
ICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1
cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMo
KTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAgICAK
QEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJl
Q29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExf
QkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3Vs
ZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisg
ICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7
CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQ29udGlndW91cyh2bSwgMCk7CiAgICAgICAg
IApAQCAtMTU0MCwyMiArMTU0MCwyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVB
cnJheVN0b3JhCiAgICAgICAgIAogICAgIGNhc2UgQUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBF
UzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBB
U1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBB
U1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydFVu
ZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJf
SU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
KTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0
dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBB
TExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxk
QmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAg
ICAgICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAK
ICAgICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQo
IWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzMsMTQgKzE2MzMsMTcgQEAg
dm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIGlmIChwcm90b3R5
cGUuaXNPYmplY3QoKSkKICAgICAgICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZShhc09i
amVjdChwcm90b3R5cGUpKTsKICAgICAKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJv
dG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7Ci0gICAgCi0gICAg
aWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsK
KyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3Rv
dHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7CisgICAgICAgIHNl
dFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcHV0RGly
ZWN0KHZtLCBzdHJ1Y3R1cmUodm0pLT5wb2x5UHJvdG9PZmZzZXQoKSwgcHJvdG90eXBlKTsKKwor
ICAgIGlmICghYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQog
ICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlw
ZSh0aGlzKSkgewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJh
ZFRpbWUodm0pOworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFC
YWRUaW1lKHZtKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1
NCw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8v
IE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUg
b24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0g
ICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmpl
Y3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVk
UHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpT
VmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcg
KzI3MzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAg
ICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVB
cnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkgewogICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0
byB0aGUgU2xvd1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVB
cnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEp
KTsKICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBz
aG91bGRUaHJvdyk7CkBAIC0yODc4LDcgKzI4ODIsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJl
Y3RJbmRleFNsb3dPckJleW9uCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlv
bmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGks
IHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsK
ICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhp
bmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAgICAg
ICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwg
Z2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9yYWdl
LT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAgICAgIHN0b3JhZ2Ut
Pm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKQEAgLTM1NTgsNyArMzU2Miw3IEBAIHVpbnQzMl90IEpT
T2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwotICAg
IGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYg
KHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQogICAg
ICAgICByZXR1cm4gMDsKICAgICBzd2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsKICAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKQEAgLTM2NjgsNCArMzY3Miw1NiBAQCBK
U1ZhbHVlIEpTT2JqZWN0OjpnZXRNZXRob2QoRXhlY1N0YXRlKiBlCiAgICAgcmV0dXJuIG1ldGhv
ZDsKIH0KIAorYm9vbCBKU09iamVjdDo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpIGNvbnN0Cit7CisgICAgVk0mIHZtID0gKnRoaXMtPnZtKCk7CisgICAgZm9y
IChjb25zdCBKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgaWYgKGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlz
TnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3Vy
cmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0Ojpw
cm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKQoreworICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCisgICAgICAg
IHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Cisg
ICAgCisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAg
aWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgICAgICAKKyAg
ICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKKyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0
ZXMpOworICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIAorICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChSZWFkT25s
eSB8IEFjY2Vzc29yKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSBjb25zdAoreworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUo
KTsKK30KKworTm9uUHJvcGVydHlUcmFuc2l0aW9uIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmco
KSkKKyAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0
QXJyYXlTdG9yYWdlOworICAgIAorICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFs
bG9jYXRlQXJyYXlTdG9yYWdlOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIlB1dERpcmVjdEluZGV4TW9kZS5oIgogI2luY2x1
ZGUgIlB1dFByb3BlcnR5U2xvdC5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgorI2luY2x1ZGUg
IlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSAi
SlNTdHJpbmcuaCIKICNpbmNsdWRlICJTcGFyc2VBcnJheVZhbHVlTWFwLmgiCkBAIC03MzMsNiAr
NzM0LDEyIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc0V4
dGVuc2libGUoSlNPYmplY3QqLCBFeGVjU3RhdGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2
bSkgeyByZXR1cm4gc3RydWN0dXJlKHZtKS0+aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zy
b3plbihWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQorCisg
ICAgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29u
c3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2Vw
dFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhp
bmcoKSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbigpIGNvbnN0OworCiBwcml2YXRlOgogICAgIEFMV0FZU19JTkxJTkUgYm9v
bCBpc0V4dGVuc2libGVJbXBsKCkgeyByZXR1cm4gaXNTdHJ1Y3R1cmVFeHRlbnNpYmxlKCk7IH0K
IHB1YmxpYzoKQEAgLTg2Niw3ICs4NzMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5m
bygpKSk7Ci0gICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBI
ZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAg
ICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8ICFzdHJ1Y3R1cmUo
KS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFw
KGdldFByb3RvdHlwZURpcmVjdCgpKSk7IC8vIE9PUFMgZmluZCBhIHdheSB0byBtYWtlIHRoaXMg
d29yawogICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBB
U1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5l
IEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09i
amVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJl
KCktPnN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJv
dG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBl
KFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDggQEAgQUxXQVlTX0lO
TElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHN0cnVjdHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAg
ICAgIGlmIChvYmplY3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUs
IHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
SlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAg
ICAvLyBPT1BTOiBUaGlzIGNvZGUgbG9va3Mgd3Jvbmc/IFdoeSBkb2Vzbid0IGl0IGNhbGwgdGhl
IGdldFByb3RvdHlwZSBmdW5jdGlvbiBob29rPworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90
eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNP
YmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2
LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAg
ICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90
b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgp
ID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAg
ICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4
ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAt
MTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgK
ICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VM
WShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVm
YXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5
U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90
eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlw
ZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3
IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAg
ICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFt
ZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBB
U1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJu
YWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwg
QVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVy
biB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJl
KHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBz
dHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51
bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigp
ID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVy
biBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9
IDA7CkBAIC0xMzYsOSArMTM2LDExIEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iq
IHByb3BlcnQKICAgICBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpOwog
CiAgICAgZW51bWVyYXRvciA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBz
dHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgsIG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1v
dmUocHJvcGVydHlOYW1lcykpOwotICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNo
YWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4
ZWRMZW5ndGggJiYgc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkK
LSAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBl
bnVtZXJhdG9yKTsKKyAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgYmFzZS0+c3RydWN0dXJlKHZt
KSA9PSBzdHJ1Y3R1cmUpIHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90eXBl
Q2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOworICAgICAg
ICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKKyAgICAg
ICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51
bWVyYXRvcik7CisgICAgfQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgog
ICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAh
PSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURp
cmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMs
OSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlm
ICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZhYmxlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQ
cm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHJldmlz
aW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0
cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw3IEBAIHB1YmxpYzoKICAgICAK
ICAgICBKU09iamVjdCogcHJvdG90eXBlKGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWwpIGNv
bnN0CiAgICAgeworICAgICAgICAvLyBPT1BTLiBtYWtlIHN1cmUgaXQncyBvbmx5IEpTR2xvYmFs
T2JqZWN0IHRoYXQgYWNjZXNzZXMgdGhpcy4KICAgICAgICAgQVNTRVJUKCFpc0NvbXBpbGF0aW9u
VGhyZWFkKCkpOwogICAgICAgICByZXR1cm4gZ2V0KGdsb2JhbCktPnN0b3JlZFByb3RvdHlwZU9i
amVjdCgpOwogICAgIH0KQEAgLTEwMSwxMyArMTAyLDYgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0
cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1
cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRs
eSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYgKzE0MywxMSBAQCBzaXplX3Qgbm9ybWFsaXpl
UHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lCiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgaWYgKHN0
cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVD
aGFpbjsKKworICAgICAgICAvLyBPT1BTOiB0aGlzIGRlZmluaXRlbHkgbmVlZHMgc29tZSBtb3Jl
IHRob3VnaHQKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1Zh
bHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAg
ICBpZiAodi5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjph
ZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1p
bmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBp
bmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSog
UHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNv
bnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAg
IGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNs
YXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7
IC8vIFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1l
YW4gcG9seSBwcm90bywgc28gdXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVs
bCBwcm90b3R5cGVzLgorCisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQ
cm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFz
c0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9z
dHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJl
KSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAg
fSBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwogICAg
ICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShwcm90b3R5
cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAg
ICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZv
LCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIGlm
IChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6Y3JlYXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJl
OjpjcmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJ
bmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAg
ICBtX3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOworCiAg
ICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVjdHVyZSog
UHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8g
bm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBh
bmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxp
bmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0
cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCkt
PmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRl
eGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVy
dGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBl
ICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAotICAg
IHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFz
ZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4
aW5nVHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5j
bGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSogUHJv
dG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBl
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQog
ewotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0Zp
bmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmV0
dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFs
T2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6
OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3RydWN0
dXJlKTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVj
dCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShz
dGQ6Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5m
bygpLCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90
dXBsZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9i
YWxPYmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpTX0VY
UE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0cnVj
dHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBj
bGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNP
YmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQcm90
b3R5cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0
ZS4KIAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBT
dHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
OwogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAg
ICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFw
PHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9i
YWxPYmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0dXJl
TWFwID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xh
c3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVNYXAg
bV9zdHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcg
QEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxs
KHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5
KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwg
bV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAs
IG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAg
LCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25X
YXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCkBA
IC0yOTUsNiArMjk1LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkK
ICAgICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJl
KCk7CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4
aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0
cnVjdHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlw
ZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1
bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHko
KTsKKyAgICByZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZSgpLCBEb250RW51bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNM
b2NrZXImLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZz
ZXQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2Fw
YWNpdHkobmV3TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICBy
ZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAg
ICAgICAgICAgIHJlc3VsdC0+c2V0TGFzdE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAg
fSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVj
dHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1
Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsK
ICAgICBBU1NFUlQoc3RydWN0dXJlcy5pc0VtcHR5KCkpOwpAQCAtMzk4LDI2ICs0MTUsMTQgQEAg
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQ
cm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwg
YXR0cmlidXRlcywgb2Zmc2V0KTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hh
aW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6Omhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAog
ewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAg
ICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0g
YXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChi
YXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHBy
b3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlw
ZS5pc09iamVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVj
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MjYsNyArNDMxLDcgQEAgYm9vbCBTdHJ1Y3R1
cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVy
ZSA9ICpvYmplY3QtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVy
dGllcyhvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90
eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBl
LmlzT2JqZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9
IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MzYsMjAgKzQ0MSw2IEBAIGJvb2wgU3RydWN0dXJl
Ojpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wg
U3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBn
bG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5z
aXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QK
LXsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblBy
b3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAg
IHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQot
CiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdT
dHJ1Y3R1cmUgPSBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAt
NTUyLDYgKzU0Myw4IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4K
IAogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJU
KHByb3RvdHlwZS5pc09iamVjdCgpIHx8IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZl
ckdDIGRlZmVyR0Modm0uaGVhcCk7CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRl
KHZtLCBzdHJ1Y3R1cmUpOwogCkBAIC0xMDY3LDExICsxMDYwLDYgQEAgdm9pZCBTdHJ1Y3R1cmU6
OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50
U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBj
b25zdAotewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxP
YmplY3QoKSk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2Vs
bCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0g
anNDYXN0PFN0cnVjdHVyZSo+KGNlbGwpOwpAQCAtMTEwOSw3ICsxMDk3LDcgQEAgYm9vbCBTdHJ1
Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1NzMzNAogICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0
IHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAg
ICAgICAgJiYgKCFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1
cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOworICAgICAgICAmJiAoIWhhc1N0b3Jl
ZFByb3RvdHlwZSgpIHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtl
ZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCiBib29sIFN0cnVj
dHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0xMTIxLDMwICsxMTA5
LDYgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVy
biB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFy
c2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBj
dXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3Rv
dHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVk
IGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdl
dCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFs
aWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAg
ICAgaWYgKGF0dHJpYnV0ZXMgJiAoUmVhZE9ubHkgfCBBY2Nlc3NvcikpCi0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0K
IFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUg
dmFsdWUpCiB7CiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBiYXNlU2hhcGUgPSBTdHJ1Y3R1cmVT
aGFwZTo6Y3JlYXRlKCk7CkBAIC0xMTY4LDI2ICsxMTMyLDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwo
KTsKIAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkgewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKLSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwot
ICAgICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1
clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAg
ICAgICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKIAotICAg
ICAgICBjdXJTdHJ1Y3R1cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpOworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAg
ICAgICBKU09iamVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0
KQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVy
ZVNoYXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNv
cHlSZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAg
IGN1clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90
b3R5cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNo
YXBlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1
cmUqIG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxp
bmVDYXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9y
ZWRQcm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBv
dGhlci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIo
dGhpcyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDIsNyAr
MTE2NCw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAK
ICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsK
ICAgICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6
IiwgcG9seVByb3RvT2Zmc2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlz
Q2VsbCgpKQogICAgICAgICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3Rv
dHlwZS5nZXQoKS5hc0NlbGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBK
U0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBC
YXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51
bSBQb2x5UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5m
byYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJv
dG9UYWcsIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBU
eXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0xMzgs
NyArMTQwLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9w
cm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFT
U0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1f
cHJvdG90eXBlLmlzSW50MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE2OSw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3Ry
dWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3Bl
cnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0
aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5z
aXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0
cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFs
dWUgcHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBh
dHRyaWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0
dXJlKiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVm
ZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAg
c3RhdGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwg
U3RydWN0dXJlKik7CkBAIC0yMDgsNyArMjEwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
cmV0dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlB
YnNlbmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRj
aHBvaW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVh
YmxlKCkKQEAgLTI0MCwyNiArMjQyLDM5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGlu
ZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsK
ICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2Jq
ZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBj
YWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFs
CiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJs
ZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0
aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFz
U3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5
cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgp
IGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUo
KSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVy
dHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlw
ZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNv
bnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVj
dChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBl
U3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVk
UHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVT
dHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3Rh
dGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVj
dCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayopIGNv
bnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0
ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0
KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hh
aW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1
Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNv
bnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3Im
KTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJrIGR1cmluZyBHQyBp
ZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVkIGFtb3VudApAQCAt
MjcyLDE0ICsyODcsMjQgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0
aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZp
c2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4g
aW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJv
b2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsK
ICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVy
biBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBT
dHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFy
ZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0
dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICgh
aGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAg
ICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91
c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU1OCw2IEBAIHB1YmxpYzoKICAgICAgICAg
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hh
aW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRo
aXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1
Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJv
cGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlw
ZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsK
QEAgLTU5MCwxMCArNjA5LDYgQEAgcHVibGljOgogCiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0
b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwogICAgIAotICAgIC8vIERldGVybWluZXMgaWYgdGhl
IHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRoaXMgb25lIGNvdWxkIGJlIHVzZWQg
Zm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVyIG9uZS4KLSAgICBib29sIGNhblVz
ZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7Ci0gICAgCiAgICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJikgY29uc3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVt
cENvbnRleHQqKSBjb25zdDsKICAgICB2b2lkIGR1bXBCcmllZihQcmludFN0cmVhbSYsIGNvbnN0
IENTdHJpbmcmKSBjb25zdDsKQEAgLTcyMCw4ICs3MzUsNyBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNp
dHkpOwogICAgIH0KIAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAgYm9vbCBpc1ZhbGlkKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Cisg
ICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFBy
b3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAgICAvLyBZb3UgaGF2ZSB0
byBob2xkIHRoZSBzdHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAgICBKU19FWFBPUlRfUFJJ
VkFURSB2b2lkIHBpbihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwgUHJvcGVydHlUYWJsZSop
OwpAQCAtNzMyLDEyICs3NDYsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBj
ZWxsLT5zdHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0
dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNS
YXJlRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRh
Kj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9w
ZXJ0eVRhYmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zm
c2V0Q29uc2lzdGVuY3koKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTUsNCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFpbjo6dmlzaXRDaGlsZHJlbihK
U0NlbAogICAgIH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBKU09iamVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisK
KyAgICBzaXplX3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKworICAgIHNpemVfdCBpID0gMDsK
KyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1
cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAg
ICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pKTsK
KyAgICAKKyAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAgIG1fdmVjdG9yID0gV1RGTW92
ZSh2ZWN0b3IpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRoaXMpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBA
QCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlz
SW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIFN0
cnVjdHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0s
IEpTT2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNoYWluPih2bS5oZWFwKSkgU3Ry
dWN0dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0dXJlLmdldCgpKTsKICAgICAg
ICAgY2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAgLTYyLDIyICs2Miw3IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiBwcm90ZWN0ZWQ6Ci0g
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKLSAgICB7Ci0g
ICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgc2l6ZV90IHNpemUgPSAw
OwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJl
bnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChj
dXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgKytz
aXplOwotCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltd
PiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNp
emUgKyAxKTsKLQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJl
KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3Rv
dHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgp
KS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1
cnJlbnQpOwotICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKLSAgICAg
ICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQorICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0
ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmpl
Y3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsK
ICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYgKHZhbHVlLmlz
TnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDEyICs3MCw0MSBAQCBpbmxp
bmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxF
QVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9
IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKIH0KIAorQUxXQVlT
X0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0
KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUo
KSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVy
biBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQo
KS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdl
dCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30K
KworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmpl
Y3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChv
YmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTVmFsdWUg
cHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgaWYgKHBy
b3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmpl
Y3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAg
ICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisg
ICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQoVk0mIHZtLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkBA
IC0xNjYsMTUgKzE5NiwzMiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRy
YW5zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgcHJvdG90
eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBj
b25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBBU1NFUlQoIXN0cnVjdHVyZS0+aXNP
YmplY3QoKSk7CisKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJp
bmdUeXBlKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsK
KworICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUp
OworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworCit9CisKIGlu
bGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJv
dG90eXBlKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gbV9wcm90b3R5
cGUuZ2V0KCk7Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpCi0gICAg
ICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworICAgICAgICByZXR1
cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1p
dGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKK30KIAotICAgIEFTU0VSVCh0eXBlSW5mbygp
LnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQ
cm90b3R5cGUoKTsKK2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3Vw
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKK3sKKyAg
ICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaXNP
YmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7
CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0
LCB0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29r
dXAoRXhlY1N0YXRlKiBleGVjKSBjb25zdApAQCAtMTgyLDI3ICsyMjksMjggQEAgaW5saW5lIEpT
VmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMbwogICAgIHJldHVybiBwcm90b3R5cGVGb3JM
b29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVy
ZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpw
cm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2
bSkgPT0gdGhpcyk7CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBzbyBvdXIg
Y2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9j
YWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNoZWRQcm90
b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3Rv
dHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSkpOwor
ICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0
KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9v
a3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4u
c2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxs
KCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAgICByZXR1cm4g
bV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWlu
KiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK2lubGlu
ZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4
ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihl
eGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBwcm90
b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2Up
OwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAor
aW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2Up
IGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xv
YmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChn
bG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBjYWNoZWRT
dHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxlICgqY2Fj
aGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYgKGFzT2Jq
ZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0KCkpCkBA
IC0yMTMsMTEgKzI2MSw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2Jh
bE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0dXJlOwog
fQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlz
VmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVDaGFpbik7
Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFByb3BlcnR5
T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkKQEAgLTQw
MCw3ICs0NDMsNyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAg
ICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBT
dHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkK
K0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQ
cm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5
QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJl
RGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBv
aW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6dmlz
aXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJldmlvdXMp
OwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSk7
CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVkQ29uc3Ry
dWN0b3IpOwogfQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0cnVjdHVyZVJhcmVEYXRh
OjpjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAgLTE3NSw2ICsxNzcsMTMg
QEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQogICAgIG1fb2JqZWN0
VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitJbmZlcnJlZFZhbHVlKiBTdHJ1Y3R1cmVSYXJl
RGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0pCit7CisgICAgaWYgKCFtX2lu
ZmVycmVkQ29uc3RydWN0b3IpCisgICAgICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5zZXQodm0s
IHRoaXMsIEluZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSkpOworICAgIHJldHVybiBtX2luZmVycmVk
Q29uc3RydWN0b3IuZ2V0KCk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0aG9kcyBmb3IgT2Jq
ZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNsYXNzZXMgLS0tLS0t
LS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Ok9i
amVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1cmVSYXJlRGF0YSkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFy
ZURhdGEuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5n
QWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMTUgQEAgcHVibGljOgog
ICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYs
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJlIGEgdGhlIHN0cnVj
dHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0IG91ciBmdW5jdGlv
biBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVyZSBpcyB1cy4KKyAg
ICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1Y3R1cmUgb2YgYW4g
b2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAorICAgIC8vIG9mIGEg
Y29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdlIHdhbnQgdG8gaW5m
ZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8vIElmIHdlIGRvLCB0
aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3RvciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZSBpbmZl
cnJpbmcgYSBKU0Z1bmN0aW9uLgorICAgIC8vIElmIHdlIG5vdGljZSB0aGF0IHdlIGdvIHBvbHkg
cHJvdG8sIHRoZW4gdGhpcyB3aWxsIGJlY29tZSBpbnZhbGlkYXRlZC4KKyAgICBJbmZlcnJlZFZh
bHVlKiBlbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAgLy8gTWF5IGJlIG51bGxw
dHIuCisgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvcigpIHsgcmV0dXJuIG1f
aW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsgfQorCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsK
IAogcHJpdmF0ZToKQEAgLTc2LDYgKzg2LDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4gbV9vYmpl
Y3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJpZXI8SW5m
ZXJyZWRWYWx1ZT4gbV9pbmZlcnJlZENvbnN0cnVjdG9yOwogICAgIAogICAgIHR5cGVkZWYgSGFz
aE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhhc2g8
UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFByb3Bl
cnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
cm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lv
biAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsg
fQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBK
U1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0
dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVy
biBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4g
Z2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4g
Z2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XcmFwcGVyQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC05NCw2ICs5NCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFdyYXBwZXJDbGFzcz4gaW5saW5lIEoK
IAogdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBpbmxpbmUgSlNDOjpKU09iamVjdCog
Z2V0RE9NUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KQogeworICAgIC8vIE9PUFM6IGxvb2sgaW50byB0aGlzCiAgICAgcmV0dXJuIEpTQzo6anND
YXN0PEpTQzo6SlNPYmplY3QqPihhc09iamVjdChnZXRET01TdHJ1Y3R1cmU8V3JhcHBlckNsYXNz
Pih2bSwgZ2xvYmFsT2JqZWN0KS0+c3RvcmVkUHJvdG90eXBlKCkpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321934</attachid>
            <date>2017-09-26 20:44:53 -0700</date>
            <delta_ts>2017-09-26 23:35:30 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>160186</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDY3KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBh
c3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2VzLmxlbmd0aDsgKytpKQorICAgICAgICB2
YWxpZGF0ZShpbnN0YW5jZXNbaV0pOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1zZXQtcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tc2V0LXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLXNldC1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiYmFkIik7Cit9CisKK2xldCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsK
KyAgICBnZXQgeSgpIHsgcmV0dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICB9Cit9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3Rv
dHlwZSwgIngiLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30p
OworCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9y
KCkgeworICAgICAgICAgICAgdGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICBy
ZXR1cm4gbmV3IEM7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQo
by54ID09PSBwKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9v
KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
CisgICAgICAgIHZhbGlkYXRlKGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAg
ICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDA7ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEs
IG51bGwpOworICAgIH0KK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9f
XyA9IGFsdGVybmF0ZVByb3RvMjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkg
eworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOwor
ICAgICAgICBhc3NlcnQoYS55ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgewor
ICAgICAgICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90
eXBlLmZpZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAg
IGNsYXNzIEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAg
ICBzdXBlcigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9Owor
ICAgIHJldHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAg
YmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0
MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiBhc3Nl
cnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30K
KworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsK
KyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0g
NDIpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5j
ZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
cHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0
IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7
IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5Owor
ICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQ
cm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAg
IFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlk
YXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7
CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2Vy
dChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsK
K30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7Cisg
ICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAs
IHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBz
IG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9u
IGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUg
PSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgewor
ICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0
ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAor
ICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgewor
ICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVt
LnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5
cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNyw3IEBAIGJ5
dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0aG9kT2ZHZXR0
aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2Uu
Y3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5j
cHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0ZWNvZGUvT3Bj
b2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNw
cAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVC
bG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNvZGUvUHJvdG90
eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAogYnl0
ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMTA2MSw2ICsxMDYxLDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5QzAw
NUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJCMUQz
NDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTJD
QjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQxM0FG
MyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1NkEx
Qjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJ
bmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Nzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENv
bG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29s
b3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURGMjRB
IC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtMzQ5OSw2ICszNTAwLDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0
IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRNYXRo
SUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAwRDEz
QUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5NzIw
MEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5QzFF
MDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0
UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkxRCAv
KiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmlu
Zy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jpbmcu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM0MSw2ICs3MzQ0LDggQEAKIAkJ
CQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJ
CTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8sCiAJ
CQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8sCisJ
CQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAq
LywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4u
aCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNwcCAq
LywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8sCiAJ
CQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApAQCAt
ODUyOSw2ICs4NTM0LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50bENv
bGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RCMDBG
QzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyogSW50
bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDc1
MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBp
biBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRp
bWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjQ2NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBT
eW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJpdmF0
ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5
bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAvLyBu
YW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI0NjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNf
RUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0ZXJu
IFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4dGVy
biBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1l
OwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFtZSkg
bV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCksICZt
XyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9O
X1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JV
SUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50
aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9s
bGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5h
bWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1i
b2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZP
UkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNf
RU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BF
UlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2ICsy
NDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklWQVRF
X0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVByaXZh
dGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1ByaXZh
dGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFtZSk7
CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOworICAg
ICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2Nv
cmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9CiAK
ICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVy
JikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05fUFJJ
VkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9T
WU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1Ymxp
Y05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpTQzo6
SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKQEAg
LTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQogICAg
IGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJlcEhh
c2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1ByaXZh
dGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxNSArNDksMTggQEAKICNpbmNsdWRlICJTdXBlclNh
bXBsZXIuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKIAorI2luY2x1ZGUgIk1hY3Jv
QXNzZW1ibGVyUHJpbnRlci5oIgorCiBuYW1lc3BhY2UgSlNDIHsKIAogbmFtZXNwYWNlIEFjY2Vz
c0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAK
LUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAg
LCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7
CkBAIC03OSw3ICs4Miw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNl
OjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpKTsKIH0KIAogc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKQEAgLTk2LDcgKzk5LDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5l
dyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBudWxscHRyKSk7CiB9CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3NDYXNl
KCkKQEAgLTEzNSw3ICsxMzgsOSBAQCBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vzc0Nh
c2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiByZXN1bHQ7CiAKICAgICBpZiAo
KHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpCisgICAgICAgIC8vIE9PUFM6IGFkZCBhIHRlc3QgZm9yIHRoaXMKKyAgICAgICAgfHwg
KG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gJiYgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+bmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCh2bS5lbnN1
cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRlbnQpKTsKIAogICAgIGlmIChhZGRp
dGlvbmFsU2V0KCkpCkBAIC0xNTEsNiArMTU2LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpndWFyZGVk
QnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAg
IGNhc2UgU3RyaW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxOCwxMyBAQCBib29sIEFjY2Vzc0Nhc2U6
OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJldHVybiB0aGlzQ2FzZS5tb2R1bGVO
YW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCk7CiAg
ICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIE9PUFM6IG1ha2Ugc3VyZSB0aGlzIGlzIGV4
YWN0bHkgd2hhdCB3ZSB3YW50CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7
CisgICAgICAgICAgICBpZiAoIW90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICptX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluID09ICpvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICB9CisK
ICAgICAgICAgaWYgKCFndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFyZGVk
QnlTdHJ1Y3R1cmVDaGVjaygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yMTks
MjIgKzIzNCwyNiBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAK
IHZvaWQgQWNjZXNzQ2FzZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91
dC5wcmludChtX3R5cGUsICI6KCIpOworICAgIG91dC5wcmludCgiXG4iLCBtX3R5cGUsICI6KCIp
OwogCiAgICAgQ29tbWFQcmludGVyIGNvbW1hOwogCiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3N0
YXRlKTsKIAotICAgIGlmIChtX3R5cGUgPT0gVHJhbnNpdGlvbikKLSAgICAgICAgb3V0LnByaW50
KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIs
IHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7Ci0gICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUp
Ci0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1f
c3RydWN0dXJlLmdldCgpKSk7Ci0KICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAg
ICAgICAgIG91dC5wcmludChjb21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAo
IW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiY29u
ZGl0aW9ucyA9ICIsIG1fY29uZGl0aW9uU2V0KTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluKQorICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWlu
ID0gIiwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAgZWxzZSB7CisgICAgICAgIGlmICht
X3R5cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVj
dHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChu
ZXdTdHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAg
ICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0
dXJlLmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0
LnByaW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjYyLDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlz
aXRXZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6Omlz
TWFya2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlm
IChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBp
ZiAoIUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxM
aXZlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBA
IC0yNzMsNiArMjk4LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMo
U2wKICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+
bWFya0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikg
eworICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3ND
aGFpbi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNo
ZWFwKHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBU
cmFuc2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1
Y3R1cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwMiw2NCBAQCB2b2lkIEFjY2Vzc0Nh
c2U6OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAg
aWYgKHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJh
c2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsK
LQotICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIs
IEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAot
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1
cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAg
ICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xu
KCJHZW5lcmF0aW5nIHBvbHkgcHJvdG8gbG9hZCEiKTsKKyAgICAgICAgICAgIC8vaml0LnByaW50
KCJEb2luZyBwb2x5IHByb3RvIGFjY2VzcyBjaGVja1xuIik7CisgICAgICAgICAgICBHUFJSZWcg
YmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAgICAgICBqaXQubW92
ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsg
KytpKSB7CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluLT5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRFbmQgPSBp
ICsgMSA9PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsKKyAgICAgICAg
ICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFu
Y2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VG
b3JBY2Nlc3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBNaXNzICYmICFzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZl
VG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxs
KSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2Jq
ZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVy
ZS0+aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlw
ZS4gV2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNl
dChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vz
c0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChD
Q2FsbEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZv
cndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAg
ICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNTA0LDEzICs1NzIsMTcgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZvckdldEdQ
UiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAg
IGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgK
LSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFz
ZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAgIGJhc2VGb3JB
Y2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VG
b3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nl
c3NDaGFpbikgeworICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7IC8v
IHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCEgT09QUzogdGhpcyBpcyB1Z2x5LgorICAgICAgICAgICAg
Ly9qaXQucHJpbnQoIkRvaW5nIHBvbHkgcHJvdG8gbG9hZCFcbiIpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
ICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgICAg
IGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBlbHNlCisgICAg
ICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0K
IAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAg
ICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nl
c3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1
c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcg
QEAKIAogI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgog
I2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYs
OSArMTg3LDIzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAg
IGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3By
b3RvdHlwZUFjY2Vzc0NoYWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJl
KiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNv
bnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4pOworICAgIEFjY2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNj
ZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIu
bV90eXBlKQorICAgICAgICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29m
ZnNldChvdGhlci5tX29mZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVj
dHVyZSkKKyAgICAgICAgLCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAg
ICAgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmNsb25lKCkpCisgICAgeyB9CisKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29uc3Qg
QWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0ZSA9
IFByaW1vcmRpYWw7IH0KIApAQCAtMjI3LDYgKzI0Miw4IEBAIHByaXZhdGU6CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNyArNTkzLDcgQEAgYm9vbCBDb2Rl
QmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAgaW50IGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPSBwY1tvcExlbmd0aCAtIDJdLnUub3BlcmFuZDsKIAogICAgICAgICAg
ICAgaW5zdHJ1Y3Rpb25zW2kgKyBvcExlbmd0aCAtIDFdID0gb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU7Ci0gICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZSh2bSwK
KyAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplUHJvZmlsZSh2
bSwKICAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC5nZXQoKSwgdGhpcywgbV9nbG9iYWxP
YmplY3QtPm9iamVjdFByb3RvdHlwZSgpLCBpbmZlcnJlZElubGluZUNhcGFjaXR5KTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChs
aXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworCisgICAg
ICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAg
ICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNw
YWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVy
Ym9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBC
YXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2Us
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hh
aW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBv
d25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKLSAgICBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1
dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2lu
dFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0
dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRpb25hbDxET01BdHRy
aWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7
CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02MywxOCArNjMsMTkgQEAgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3Vs
dChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90
QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1
bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xv
dEJhc2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5tX2Rv
bUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iu
Z2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CiAK
Ky8vIE9PUFM6IGRvIHNvbWV0aGluZyBoZXJlLiBXaG8gY2FsbHMgdGhpcz8KIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsCiAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVy
LAogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBT
ZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vz
c29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4g
cmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNl
KSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChu
ZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgbnVsbHB0
cikpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTQgKzQ2LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZW1pdERPTUpJVEdldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmLCBj
b25zdCBET01KSVQ6OkdldHRlclNldHRlciosIEdQUlJlZyBiYXNlRm9yR2V0R1BSKTsKIAorICAg
IC8vIE9PUFM6IGNvbnNpZGVyIHdoYXQgdGhpcyBjdG9yIGlzIGZvcgogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAogICAgICAgICBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51
bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBz
dGQ6Om51bGxvcHQpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9
IG51bGxwdHIsCisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsIHN0
ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQsIHN0ZDo6
dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCiAgICAgICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMg
PSBudWxscHRyLApAQCAtNjcsNyArNjUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNj
ZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2
YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09i
amVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBK
U0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25z
dCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9j
YXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBj
b3B5KQpAQCAtNDYsOCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVy
bmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZy
b21CYXNlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAg
IEFTU0VSVCghbV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9
IGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAg
Ly8gRklYTUU6IEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2Vz
IG9mIGJ1aWx0aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAg
ZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAog
SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYg
dm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIEpT
RnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJp
bnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJhc2Uo
dm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIG51bGxwdHIpCiB7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVyLCBp
bnRyaW5zaWNGdW5jdGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5h
bWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52
aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIs
IE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNl
TG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQo
KSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9t
b2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVk
IGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAg
IEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFT
U0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5
IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3Jl
YXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4K
KyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3Cisg
ICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIGlmIChjb25zdHJ1Y3RvcikgeworICAg
ICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb25zdHJ1Y3Rvci0+anNFeGVj
dXRhYmxlKCk7CisKKyAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZXhlY3V0YWJs
ZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBlKTsKKyAg
ICAgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgIG1fc3RydWN0dXJl
LnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBtX2lubGluZUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKKyAgICAgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IHBy
b3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFyZURhdGEodm0pLT5lbnN1cmVJbmZlcnJl
ZENvbnN0cnVjdG9yKHZtKTsKKyAgICAgICAgYm9vbCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90
byA9IGZhbHNlOworICAgICAgICBpZiAoSlNPYmplY3QqIHByb3RvdHlwZU9mUHJvdG90eXBlID0g
anNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGUtPmdldFByb3RvdHlwZURpcmVj
dCgpKSkgeworICAgICAgICAgICAgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSBwcm90b3R5
cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFzUmFyZURhdGEoKQorICAgICAgICAgICAg
ICAgICYmIHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5p
bmZlcnJlZENvbnN0cnVjdG9yKCkKKyAgICAgICAgICAgICAgICAmJiBwcm90b3R5cGVPZlByb3Rv
dHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKS0+aW5mZXJyZWRDb25zdHJ1Y3RvcigpLT5o
YXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGluZmVycmVkQ29uc3Ry
dWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29u
c3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUiKTsKKworICAgICAgICBpc1BvbHlQ
cm90byA9IChpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSB8fCBwYXJl
bnRQcm90b3R5cGVJc1BvbHlQcm90bykgJiYgZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24o
KS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgIGlzUG9seVByb3RvID0gdHJ1ZTsgLy8g
T09QUzogbWFrZSB0aGlzIGFuIG9wdGlvbgorICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsg
dGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBl
KTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAg
IC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5h
bHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXpl
ciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAg
ICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5s
aW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAg
IC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0
aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBv
YmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVD
YXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVD
YXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFj
aXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9
CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNh
cGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNG
aW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFs
bG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9u
U2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkg
YXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAg
ICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUp
IC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5
ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
Z2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisK
KyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUs
IGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5j
ZSgpOworCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKS0+c2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAg
ICBtX2FsbG9jYXRvciA9IG51bGxwdHI7CisgICAgfSBlbHNlCisgICAgICAgIG1fYWxsb2NhdG9y
ID0gYWxsb2NhdG9yOworCisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJl
KTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVk
IE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZN
JiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3Rv
dHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVy
dHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJp
dmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdl
dFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVy
YXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVj
dG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3Bl
cnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1l
VmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUt
PmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5j
dGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhh
dCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rp
b24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3Vu
dDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJu
ICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCgh
bV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNT
RVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVj
dDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJp
bmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZl
cnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHBy
b3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewot
ICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5
IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUg
dGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBl
ciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpT
RmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNl
IGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGlu
ZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJl
IHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAg
ICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAg
ICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChp
bmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAg
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7
Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFs
bG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9u
U2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxp
bmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxs
b2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXpl
KCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAg
ICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5l
Q2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90
eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5v
dGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBj
cmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxv
Y2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0
cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAg
ICB9CisgICAgdm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVk
IGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0
cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRv
ciA9IDA7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1
cmUuY2xlYXIoKTsKICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VS
VChpc051bGwoKSk7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0g
ICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0
KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+
Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkg
cHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9s
cywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVj
dHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJy
YXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQ
cm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5
LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1Zh
bHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3Rvcltp
XSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFs
bHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAg
ICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQ
cm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRB
bGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNp
ZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3Ry
dWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbiBnZW5lcmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAg
ICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bjo6YWJzZW5jZSgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+
c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogewor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZt
LCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYyLDEyIEBAIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9n
KCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAg
aWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBG
SVhNRTogSW50ZWdyYXRlIHRoaXMgd2l0aCBQcm90b3R5cGVBY2Nlc3NDaGFpbjoKKyAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAg
ICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwor
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJ
KHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw3ICszMzksNyBAQCBBY2Nl
c3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGlj
QWNjZXNzSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0
aCBtX2xpc3Q6ICIsIGxpc3REdW1wKG1fbGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dl
bmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSk7CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRl
KHZtLCBjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRo
aXM7CiAgICAgc3RhdGUuc3R1YkluZm8gPSAmc3R1YkluZm87CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNj
ZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSwxNCArMTcxLDE2IEBAIHByaXZhdGU6CiB9Owog
CiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3Rh
dGUoVk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9i
YWxPYmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0Zv
ckNhbGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0
b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2Fs
bFNpdGVJbmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xv
YmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxw
dHIgfTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3Jh
dGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lz
dGVyU3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlD
b25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEwNyw2ICsxMDcsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlk
QXNzdQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYg
KCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92
ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBz
aG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BD
IGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICB9CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+
Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpCkBAIC0xMzIsNiArMTQwLDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246Omlz
U3RpbGxWYWxpZEFzc3UKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJbnZhbGlkIGJlY2F1c2Ug
aXQncyBhIGRpY3Rpb25hcnkuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgewor
ICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBX
ZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUg
YmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcK
KyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgY3VycmVu
dEF0dHJpYnV0ZXM7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1
Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSwgY3VycmVudEF0dHJpYnV0ZXMpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
MTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNp
bmNsdWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90
JiBzbG90LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTQ2VsbCogY3VycmVudCA9IGJh
c2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBKU09iamVjdCogdGFyZ2V0ID0g
c2xvdC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworCisgICAgYm9vbCBm
b3VuZCA9IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1bHQobmV3IFByb3RvdHlwZUFjY2Vz
c0NoYWluKCkpOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmICghc3RydWN0dXJl
LT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkg
eworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rp
b25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQoc3RydWN0dXJlKTsKKworICAgICAgICBpZiAoY3Vy
cmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8g
aWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBv
bHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90
bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0
IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1
c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAg
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xv
YmFsT2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
KyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hh
aW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5l
ZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46
Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAorewor
ICAgIHJldHVybiBtX2NoYWluID09IG90aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUHJvdG90eXBl
QWNjZXNzQ2hhaW46OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJp
bnQoIlBvbHlQcm90b3R5cGVBY2Nlc3NDaGFpbiIpOworICAgIG91dC5wcmludCgiOiBbXG4iKTsK
KyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgeworICAgICAgICBvdXQu
cHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQu
cHJpbnQoIlxuIik7CisgICAgfQorICAgIG91dC5wcmludCgiXSIpOworfQorCit9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNz
Q2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3Mg
SlNHbG9iYWxPYmplY3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2Ns
YXNzIFN0cnVjdHVyZTsKKworY2xhc3MgUHJvdG90eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3RvdHlwZUFj
Y2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKFByb3RvdHlw
ZUFjY2Vzc0NoYWluJikgPSBkZWZhdWx0OworCisgICAgLy8gUmV0dXJucyBudWxscHRyIHdoZW4g
aW52YWxpZC4KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWlu
PiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25z
dCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV91bmlxdWU8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9
CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4g
bV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisg
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29u
c3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhl
cikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9
CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdDsKKworcHJp
dmF0ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKworICAgIFZlY3Rv
cjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAvLyBJbmNsdWRlcyBiYXNlJ3Mgc3RydWN0dXJlIGZvciBu
b3csIGJ1dCBwZXJoYXBzIHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQuCit9OworCit9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE3ICsz
MCwxOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlh
YmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorUHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
YWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwK
KyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkK
ICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYg
dm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3ND
aGFpbikKIHsKICAgICBBU1NFUlQodHlwZSA9PSBMb2FkIHx8IHR5cGUgPT0gTWlzcyB8fCB0eXBl
ID09IEdldEdldHRlcik7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihu
ZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KSk7CisgICAgcmV0dXJuIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3du
ZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRp
dGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBQcm94eWFi
bGVBY2Nlc3NDYXNlOjp+UHJveHlhYmxlQWNjZXNzQ2FzZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHJldmlz
aW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDEzICszMywxMyBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogY2xhc3MgUHJveHlhYmxlQWNjZXNzQ2FzZSA6IHB1YmxpYyBBY2Nlc3NDYXNlIHsK
IHB1YmxpYzoKLSAgICB0eXBlZGVmIEFjY2Vzc0Nhc2UgQmFzZTsKKyAgICB1c2luZyBCYXNlID0g
QWNjZXNzQ2FzZTsKIAogICAgIGJvb2wgdmlhUHJveHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX3ZpYVByb3h5OyB9CiAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fYWRkaXRpb25hbFNldC5nZXQoKTsgfQogCiAgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2
aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0cik7
CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCA9IG51bGxwdHIsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gPSBu
dWxscHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVByaW50ZXIm
KSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUo
KSBjb25zdCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIH5Qcm94eWFi
bGVBY2Nlc3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZN
JiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCk7CisgICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCos
IEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiBwcml2YXRl
OgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzg0OCw2ICszODQ4LDkgQEAgUmVnaXN0ZXJJRCogQ2xhc3NFeHByTm9k
ZTo6ZW1pdEJ5dGVjb2RlKAogCiAgICAgICAgIGdlbmVyYXRvci5lbWl0RGlyZWN0UHV0QnlJZChj
b25zdHJ1Y3Rvci5nZXQoKSwgZ2VuZXJhdG9yLnByb3BlcnR5TmFtZXMoKS51bmRlcnNjb3JlUHJv
dG8sIHN1cGVyY2xhc3MuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7CiAgICAgICAgIGdl
bmVyYXRvci5lbWl0TGFiZWwoc3VwZXJjbGFzc0lzTnVsbExhYmVsLmdldCgpKTsKKworICAgICAg
ICAvLyBPT1BTOiB0aGlzIG1ha2VzIGl0IHNvIHRoYXQgYW55IGRlcml2ZWQgY2xhc3MgcHJvdG90
eXBlIG9iamVjdCB3aWxsIGFsd2F5cyBnZXQgYSBuZXcgc3RydWN0dXJlCisgICAgICAgIC8vIGlm
IG11bHRpcGx5IGNvbnN0cnVjdGVkIGJlY2F1c2Ugd2UgZG9uJ3QgY2FjaGUgcHJvdG90eXBlIHRy
YW5zaXRpb25zLgogICAgICAgICBnZW5lcmF0b3IuZW1pdERpcmVjdFB1dEJ5SWQocHJvdG90eXBl
LmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVuZGVyc2NvcmVQcm90bywgcHJvdG9Q
YXJlbnQuZ2V0KCksIFByb3BlcnR5Tm9kZTo6VW5rbm93bik7CiAgICAgfQogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3MzMsNiArMzczMyw4IEBAIE5vZGUqIEJ5dGVDb2Rl
UGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVzIGluIHRoZSB2
YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0IHdvdWxkIGJl
CiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRpZG4ndCkuIE5v
dGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcKICAgICAgICAg
ICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5cyBiZSB0cnVl
IGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVzIHdvcmsuCisK
KyAgICAgICAgICAgICAgICAvLyBPT1BTOiB0aGlzIG5lZWRzIGF0dGVudGlvbgogICAgICAgICAg
ICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5z
dHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMwOCw2ICs0MzEwLDggQEAgYm9vbCBC
eXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICB9CiAKICAgICAgICAg
Y2FzZSBvcF9jcmVhdGVfdGhpczogeworICAgICAgICAgICAgLy8gT09QUzogdGhpbmsgdGhyb3Vn
aCB0aGlzIGNvZGUuCisKICAgICAgICAgICAgIGludCBjYWxsZWVPcGVyYW5kID0gY3VycmVudElu
c3RydWN0aW9uWzJdLnUub3BlcmFuZDsKICAgICAgICAgICAgIE5vZGUqIGNhbGxlZSA9IGdldChW
aXJ0dWFsUmVnaXN0ZXIoY2FsbGVlT3BlcmFuZCkpOwogCkBAIC00MzMwLDEyICs0MzM0LDE0IEBA
IGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlm
IChmdW5jdGlvbikgewogICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJl
RGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJl
KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHko
cmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50
LgotICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBo
LnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJv
ZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0
cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVh
ZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4
Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAog
ICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2Rl
LT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29s
IGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdp
c3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAm
PSBzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiBzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAmJiAh
c3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nZXRD
b25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpID09
IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDExIEBA
IEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29uc3Ry
dWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVEYXRh
ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlubGlu
ZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7
Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+b2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1
cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQogCiAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDM4Niw3ICs0Mzg2LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNy
b0Fzc2VtYmxlcjo6WmVybywgcmFyZURhdGFHUFIpKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihK
SVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0
T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9m
ZnNldE9mQWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JHUFIpOwogICAgICAgICBtX2ppdC5sb2FkUHRy
KEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZz
ZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6
b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVyZUdQUik7CisKICAgICAgICAgc2xvd1BhdGgu
YXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIGFsbG9jYXRv
ckdQUikpOworCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0KHJlc3VsdEdQUiwgbnVsbHB0
ciwgYWxsb2NhdG9yR1BSLCBzdHJ1Y3R1cmVHUFIsIFRydXN0ZWRJbW1QdHIoMCksIHNjcmF0Y2hH
UFIsIHNsb3dQYXRoKTsKICAgICAgICAgCiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGls
ZXI6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCBy
YXJlRGF0YUdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMzcsNyAr
MzIzNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRCeVZhbEZvckMKICAgICBu
b1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNl
T2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywg
R1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZykKK3ZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQ
UlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcs
IEdQUlJlZyBzY3JhdGNoM1JlZykKIHsKICAgICAvLyBDaGVjayB0aGF0IHByb3RvdHlwZSBpcyBh
biBvYmplY3QuCiAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncygpLCAw
LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChwcm90b3R5cGVSZWcpKTsKQEAgLTMyNDksOCArMzI0
OSwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvCiAgICAgTWFj
cm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AoJm1faml0KTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCBwZXJmb3JtRGVmYXVsdEhhc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoOChNYWNyb0Fzc2VtYmxl
cjo6RXF1YWwsCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIEpT
Q2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoUHJveHlPYmplY3RUeXBl
KSk7Ci0gICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcs
IHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKLSAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBD
ZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmVtaXRMb2FkU3RydWN0
dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgc2NyYXRjaDJSZWcpOwor
ICAgIC8vbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBT
dHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNo
UmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNS
ZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0
byBub3RQb2x5UHJvdG8gPSBtX2ppdC5icmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHNjcmF0
Y2gzUmVnKSk7CisgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRjaDNSZWcsIHNjcmF0
Y2gzUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNo
UmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZz
ZXRPZklubGluZVN0b3JhZ2UoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBub3RQb2x5UHJvdG8ubGlu
aygmbV9qaXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworCiAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaFB0cihNYWNy
b0Fzc2VtYmxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7CiAjaWYgVVNFKEpT
VkFMVUU2NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykp
LmxpbmtUbyhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM4OCwxMiBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIHByb3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFy
eSBzY3JhdGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7Cisg
ICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIEdQ
UlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3Jh
dGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2Ny
YXRjaDIuZ3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigp
OwogICAgICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNDZWxsID0gbV9qaXQu
YnJhbmNoSWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBHUFJSZWcgdmFsdWVS
ZWcgPSB2YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMzOTQsNyArMzQwMyw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgCiAg
ICAgICAgIGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAgICAgICBjb21waWxlSW5z
dGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVn
LCBzY3JhdGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUs
IHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNo
M1JlZyk7CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIApAQCAtMzQwNywx
MyArMzQxNiwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAg
ICAgCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHNj
cmF0Y2gyKHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAKICAg
ICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcgcHJvdG90eXBlUmVn
ID0gcHJvdG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIo
KTsKICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJSZWcg
c2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcs
IHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKIAog
ICAgIGJsZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwogfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CSh3b3JraW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm9u
U3BlY3VsYXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNl
KTsKICAgICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0g
ZmFsc2UpOwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSos
IEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRS
ZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBH
UFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2Ny
YXRjaDNSZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSopOwogICAgIHZvaWQg
Y29tcGlsZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg4ODcsMTAgKzg4ODcsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIExC
YXNpY0Jsb2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNC
bG9jayBsb29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBy
b3RvdHlwZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2Fk
UG9seVByb3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29tcGFy
ZVByb3RvdHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdFll
dEluc3RhbmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgY29udGlu
dWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3Rv
dHlwZURpcmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGRlZmF1
bHRIYXNJbnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9j
ayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICAKICAgICAgICAgTFZh
bHVlIGNvbmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09
IFVudHlwZWRVc2UpCkBAIC04OTA4LDE2ICs4OTEwLDI4IEBAIHByaXZhdGU6CiAgICAgICAgIFZh
bHVlRnJvbUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2VsbCk7CiAgICAgICAg
IG1fb3V0Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb29w
LCBsb2FkUHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9h
ZFByb3RvdHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291dC5waGkoSW50NjQs
IG9yaWdpbmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0LmxvYWQ4WmVyb0V4
dDMyKHZhbHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAgICAgICBtX291dC5i
cmFuY2goCiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291dC5jb25zdEludDMy
KFByb3h5T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlRGly
ZWN0KSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAgICAgICAgIHVzdWFs
bHkobG9hZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwog
Ci0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3QsIG5vdFlldEluc3Rh
bmNlKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJpdHMsIGxvYWRQb2x5
UHJvdG8pOwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVjdHVyZSh2YWx1ZSk7
Ci0gICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9hZDY0KHN0cnVjdHVy
ZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAgICBMVmFsdWUgcHJvdG90
eXBlQml0cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3Rv
dHlwZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBlID0gbV9vdXQuYW5j
aG9yKHByb3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2goaXNJbnQzMihwcm90b3R5
cGVCaXRzKSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFyZVByb3RvdHlwZSkp
OworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNvbXBhcmVQcm90b3R5
cGUpOworICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJvdG90eXBlQml0cywg
bV9vdXQuY29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBwb2x5
UHJvdG8gPSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5sb2FkNjQobV9vdXQuYmFz
ZUluZGV4KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1ZSwgaW5kZXgsIFNj
YWxlRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkpKTsKKyAgICAgICAg
bV9vdXQuanVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhj
b21wYXJlUHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExWYWx1ZSBjdXJyZW50
UHJvdG90eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwgcG9seVByb3RvKTsK
ICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1fb3V0LmFuY2hvciht
X291dC5ib29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1f
b3V0LmVxdWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2
Niw4ICsxNjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgog
CiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0
aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYg
d2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlm
IG5vdCBnbyBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Qy
LCByZWdUMyk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBl
T2Zmc2V0KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCBy
ZWdUNCwgcmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZU9mZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzU3RvcmVkUHJvdG90eXBlID0gYnJh
bmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRy
KHJlZ1Q0LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVz
RWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBo
YXNTdG9yZWRQcm90b3R5cGUubGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAg
ICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAg
IGVtaXRKdW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQs
NiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlw
ZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hl
ZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNsb3RCYXNl
KCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1NywzNSBAQCBzdGF0aWMgSW5saW5lQ2Fj
aGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZl
VXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlT
dHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYmIHN0cnVj
dHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJz
ZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAg
ICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKLSAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAg
ICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8vIEl0J3Mg
aW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlm
ICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisgICAgICAgICAg
ICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAgICAgICAgICAg
aWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9
IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9u
U2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xv
dEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0Lmlz
VmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxp
ZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAg
ICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5j
YWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdldHRlciA9
IG51bGxwdHI7CkBAIC0yOTMsMTMgKzMwNywxNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24g
dHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJs
ZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQo
KSk7CisgICAgICAgICAgICAvLyBPT1BTOiBuZWVkIHRlc3QgZm9yIHRoaXMhCisgICAgICAgICAg
ICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHks
IHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVyICYmIEludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVyLCBzdHJ1
Y3R1cmUpKQorICAgICAgICAgICAgLy8gT09QUzogY29uc2lkZXIgdGhpcyBjYXNlLgogICAgICAg
ICAgICAgbmV3Q2FzZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29k
ZUJsb2NrLCBzbG90LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0
dGVyKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZh
bHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJv
eHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8g
QWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAg
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNs
b3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0
KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAg
ICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzMyLDcgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9p
bnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6
IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/
IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJp
YnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjYsMTAgKzc2Niw5IEBAIExMSU5UX1NMT1dfUEFU
SF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVd
LnUub3BlcmFuZCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwY1s2XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMs
IGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KGNoYWluKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNo
YWluLnNldCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
Y2hhaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hh
aW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nh
c3Q8UHV0QnlJZEZsYWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1
dEJ5SWRGbGFncyB8CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwx
MCArNTIyLDkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlu
bGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBv
YmplY3QpCiB7Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3Qt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0
dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCBvYmplY3QpOwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMs
IEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5n
dGgpCkBAIC02MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4
ZWNTdGF0ZQogICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwg
dGhpc09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBn
ZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7
CiAgICAgICAgICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNW
YWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0
YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENh
c2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAg
ICAgICAgICAgIH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVu
Z3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5
LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVu
Z3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQor
ICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29u
dGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpl
eGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgp
ICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgz
NCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAg
YXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7
CiAgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2Uu
aGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9y
KCkuZGF0YSgpOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBA
IC0xMTc0LDcgKzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBl
eGVjCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAg
aWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYm
ICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkg
eworICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlw
ZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAg
ICAgICAgICAgIGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OSwxMCArNDksOSBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6
Y3JlYXRlCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0g
ICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAg
ICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8
fCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHko
dm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBi
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVu
Z3RoOwotCiAgICAgfSBlbHNlIHsKICAgICAgICAgSW5kZXhpbmdIZWFkZXIgaW5kZXhpbmdIZWFk
ZXI7CiAgICAgICAgIGluZGV4aW5nSGVhZGVyLnNldFZlY3Rvckxlbmd0aCh2ZWN0b3JMZW5ndGgp
OwpAQCAtODEsNyArODAsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlCiAgICAgLy8gTkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFs
IG9iamVjdCBvZiBvZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9m
IHRoZSBjYWxsZWUuIFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3Vs
ZC4KICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUs
IGxlbmd0aCk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI1LDE0ICsxMjQsMTQgQEAgQ2xv
bmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNT
RVJUKG15RnJhbWUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0
dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJn
dW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRl
KiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7
CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlG
cmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0
NSw3ICsxNDQsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAg
ICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAg
ICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkp
KTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI0Miw2ICsyNDIsOCBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMp
CiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5s
aW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAg
ICAgICAgcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0
cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAv
I3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3Rv
ID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1
dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSgog
ICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3IpOwogICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAK
IEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFsQ29kZSgK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhl
Y3V0YWJsZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTE3Miw2ICsxNzIsOSBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgSW5mZXJy
ZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9u
LmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJlIGZvciB0aGUgcmVz
dWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3RydWN0dXJlKiBjYWNo
ZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVy
ZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZt
LCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1
dGFibGVCYXNlOwpAQCAtMTg5LDYgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVy
PEZ1bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBSZWZQdHI8
VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRlQmFycmllcjxJbmZl
cnJlZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkg
QEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1
bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVj
dEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBj
b25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUo
dm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAko
cmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
cHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJv
dG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsK
IAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1
cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJl
dmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3Ry
aW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVu
Y3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAg
IEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFT
U0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAg
QVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFy
Z2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVm
bGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFt
aWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgyLDcgKzg4Miw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShF
eGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRo
Q29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChj
b3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNF
X0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVj
dCgpOwpAQCAtOTE3LDcgKzkxNyw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJh
eVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMg
b3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBh
bGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygp
ICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkp
IAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3Bh
cnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNDgsNyArMTA0OCw3IEBAIGJvb2wgSlNBcnJh
eTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVj
ayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQg
d2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRo
ZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAg
ICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAg
ICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkg
PCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29u
dGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KCF2KSkgewpAQCAtMTA4OSw3ICsxMDg5LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0
aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZv
cmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFs
ZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNo
b3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVu
ZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAg
ICAgICAgICAgICAgICAgZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtp
ICsgY291bnRdOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0x
NDM2LDcgKzE0MzYsNyBAQCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmRO
CiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
ICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBl
RGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDggKzYxLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6
Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6
IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFy
cmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fs
a2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJy
YXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAJ
KHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91
bmRGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNSw2ICsxMzUsNyBAQCBpbmxpbmUg
U3RydWN0dXJlKiBnZXRCb3VuZEZ1bmN0aW9uU3RydWN0CiAgICAgLy8gaXNuJ3QgYW55IGdvb2Qg
cGxhY2UgdG8gcHV0IHRoZSBzdHJ1Y3R1cmUgb24gSW50ZXJuYWwgRnVuY3Rpb25zLgogICAgIGlm
ICh0YXJnZXRKU0Z1bmN0aW9uKSB7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGFy
Z2V0SlNGdW5jdGlvbi0+cmFyZURhdGEodm0pLT5nZXRCb3VuZEZ1bmN0aW9uU3RydWN0dXJlKCk7
CisgICAgICAgIC8vIE9PUFM6CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUgJiYgc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGUoKSA9PSBwcm90b3R5cGUgJiYgc3RydWN0dXJlLT5nbG9iYWxPYmplY3Qo
KSA9PSBnbG9iYWxPYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShy
ZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVl
OjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAg
ICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFz
Q2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNv
bnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQo
IiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRl
cihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3Ry
dWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0g
ICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAg
ICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgp
KTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgi
VHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURh
dGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1
Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90
eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisg
ICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShF
eGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1f
cmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3Rv
dHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0
aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90
b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0
aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAg
ICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFs
aXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlw
ZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhy
ZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0
byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsx
NTUsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAg
QVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09i
amVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0g
ICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAg
bV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5
cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEt
PmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwg
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEu
Z2V0KCk7CiB9CiAKQEAgLTM0MSw2ICszNDQsMTYgQEAgRW5jb2RlZEpTVmFsdWUgSlNGdW5jdGlv
bjo6Y2FsbGVyR2V0dGVyKAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJy
b3IoZXhlYywgc2NvcGUsIEFTQ0lJTGl0ZXJhbCgiRnVuY3Rpb24uY2FsbGVyIHVzZWQgdG8gcmV0
cmlldmUgc3RyaWN0IGNhbGxlciIpKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGluZmVyQ29uc3RydWN0
b3JWYWx1ZUlmTmVlZGVkKFZNJiB2bSwgSlNWYWx1ZSBwcm90b3R5cGVWYWx1ZSwgSlNGdW5jdGlv
biogY29uc3RydWN0b3IpCit7CisgICAgLy8gT09QUzogaXMgdGhpcyByZWFsbHkgbmVlZWRlZD8g
T3IgY2FuIHdlIGp1c3QgZ2V0IGF3YXkgd2l0aCBkb2luZyB0aGlzIHdoZW4KKyAgICAvLyBpbml0
aWFsaXppbmcgdGhlIHByb2ZpbGU/CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1p
Y0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBlVmFsdWUpOworICAgIGlmICghcHJvdG90eXBl
KQorICAgICAgICByZXR1cm47CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVS
YXJlRGF0YSh2bSktPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pLT5ub3RpZnlXcml0ZSh2
bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIC5wcm90b3R5cGUgaW5zaWRlIEpTRnVuY3Rpb24iKTsK
K30KKwogYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVj
dCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNs
b3QmIHNsb3QpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTM3MSw3ICszODQsNiBA
QCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iCiAgICAgICAgICAgICBv
ZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBBU1NFUlQoaXNWYWxpZE9mZnNl
dChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVj
dCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAg
ICAgfQogCkBAIC00NTIsNiArNDY0LDcgQEAgYm9vbCBKU0Z1bmN0aW9uOjpwdXQoSlNDZWxsKiBj
ZWxsLCBFeGVjUwogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blBy
b3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGdldFNsb3QpOwogICAg
ICAgICBpZiAodGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3Qt
Pm1fcmFyZURhdGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5j
dGlvbiIpOworICAgICAgICBpbmZlckNvbnN0cnVjdG9yVmFsdWVJZk5lZWRlZCh2bSwgdmFsdWUs
IHRoaXNPYmplY3QpOwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBC
YXNlOjpwdXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAg
ICAgfQpAQCAtNTE4LDYgKzUzMSw4IEBAIGJvb2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVy
dHkoSlNPYmoKICAgICAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUodm0pLT5nZXRPd25Qcm9w
ZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBzbG90KTsKICAgICAgICAg
aWYgKHRoaXNPYmplY3QtPm1fcmFyZURhdGEpCiAgICAgICAgICAgICB0aGlzT2JqZWN0LT5tX3Jh
cmVEYXRhLT5jbGVhcigiU3RvcmUgdG8gcHJvdG90eXBlIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24i
KTsKKyAgICAgICAgaWYgKGRlc2NyaXB0b3IudmFsdWUoKSkKKyAgICAgICAgICAgIGluZmVyQ29u
c3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCBkZXNjcmlwdG9yLnZhbHVlKCksIHRoaXNPYmplY3Qp
OwogICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAgICAgICAgIHJldHVybiBCYXNlOjpkZWZpbmVP
d25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgdGhyb3dF
eGNlcHRpb24pOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Z1bmN0aW9uLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1
YmxpYzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFt
ZSk7CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wgdmFsdWUg
aWYgdGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNPYmplY3Qq
IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpT
U2NvcGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U01hcC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFw
Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9i
YWxPYmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlm
IChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90
eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFw
UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0
QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5
cGVTZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
Y3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBib29sIEpTT2Jq
ZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0
ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAgICAgICAgICBp
ZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVj
dHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlO
YW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRoaXMtPnByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0g
dGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xv
dC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9y
KSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNP
YmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9S
QUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdU
eXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMo
b2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgQVNTRVJUKCFp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhp
cy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5ID0gc3RydWN0
dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0
ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9sZFN0cnVjdHVy
ZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVsbCgpKTsKICAg
ICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7Ci0g
ICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNp
dGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJmbHkodm0s
IG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3
U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2LDcgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJl
dHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRVbmRl
Y2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
KTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91Ymxl
KFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9B
cnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
KTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVj
dDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBA
QCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAg
cmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJs
ZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwog
fQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC0xMzY2LDcg
KzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91CiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0m
IHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBz
dHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJl
dHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVk
Rm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29u
dGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAo
aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAg
ICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAg
ICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUlu
aXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGln
dW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5k
ZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAg
ICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5n
U2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAg
IHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlh
bERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAgQ29udGlndW91
c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhp
bmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAg
aWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJl
dHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxD
b250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBB
TExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hv
dWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7
CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAg
ICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJU
KCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2
bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uo
dm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0Fy
cmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJ
TkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAg
ICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAg
ICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNv
bnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0
OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVEaXJl
Y3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICB2bS5wcm90
b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAotICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0
aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZSh2bSwg
bmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1Y3R1cmUodm0p
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVy
ZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZt
KSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwor
ICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQcm90
b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpZiAo
dm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVjdHVy
ZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVyZSh2
bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3JkaW5h
cnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVmYXVs
dCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4gYXJl
CiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRXYXRj
aGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOworICAg
IGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0gb2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAg
ICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVz
SWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9PSBQ
cmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5
SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5b25k
VmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2
YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAg
ICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7
CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAvLyBD
b252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFuZCBy
ZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1Zl
Y3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5k
ZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4Miw3
IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAgICAg
IHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2Uo
CiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNyZWF0
ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQ
dXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVh
dGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSAr
IDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFs
dWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1
OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBv
YmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2Jq
ZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVT
OgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChFeGVj
U3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBWTSYg
dm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0gdGhp
czsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisg
ICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7
CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAg
ICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVU
byhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNlSW5k
ZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50
ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFBy
b3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0
KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOworICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5nZXQo
dm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1ZhbGlk
T2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAgICAg
IGlmIChhdHRyaWJ1dGVzICYgKFJlYWRPbmx5IHwgQWNjZXNzb3IpKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiti
b29sIEpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBnbG9iYWxP
YmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOworfQorCitOb25Qcm9wZXJ0eVRyYW5zaXRpb24g
SlNPYmplY3Q6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAoreworICAg
IGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlU
cmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0dXJu
IE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiUHV0
RGlyZWN0SW5kZXhNb2RlLmgiCiAjaW5jbHVkZSAiUHV0UHJvcGVydHlTbG90LmgiCiAjaW5jbHVk
ZSAiU3RydWN0dXJlLmgiCisjaW5jbHVkZSAiU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgiCiAj
aW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIlNwYXJzZUFy
cmF5VmFsdWVNYXAuaCIKQEAgLTczMyw2ICs3MzQsMTIgQEAgcHVibGljOgogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBib29sIGlzRXh0ZW5zaWJsZShKU09iamVjdCosIEV4ZWNTdGF0ZSop
OwogICAgIGJvb2wgaXNTZWFsZWQoVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc1Nl
YWxlZCh2bSk7IH0KICAgICBib29sIGlzRnJvemVuKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJl
KHZtKS0+aXNGcm96ZW4odm0pOyB9CisKKyAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29s
IHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7Cisg
ICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJh
bnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisKIHByaXZh
dGU6CiAgICAgQUxXQVlTX0lOTElORSBib29sIGlzRXh0ZW5zaWJsZUltcGwoKSB7IHJldHVybiBp
c1N0cnVjdHVyZUV4dGVuc2libGUoKTsgfQogcHVibGljOgpAQCAtODY2LDcgKzg3Myw3IEBAIHBy
b3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAg
ICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFByb3Rv
dHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChn
ZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0
KCkuaXNOdWxsKCkgfHwgIXN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSB8fCBIZWFw
OjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsgLy8gT09Q
UyBmaW5kIGEgd2F5IHRvIG1ha2UgdGhpcyB3b3JrCiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUo
KS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBA
IC0xMjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3Ry
dWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25z
dAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0
dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1Zh
bHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0x
NDAwLDcgKzE0MDcsOCBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5
CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2Jq
ZWN0LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQ
cm9wZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIE9PUFM6IFRoaXMgY29kZSBsb29rcyB3cm9u
Zz8gV2h5IGRvZXNuJ3QgaXQgY2FsbCB0aGUgZ2V0UHJvdG90eXBlIGZ1bmN0aW9uIGhvb2s/Cisg
ICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2Jq
ZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29s
IEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8
IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhv
ZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90
b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBv
YmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBi
b29sIEpTT2JqZWN0OjpnZXROb25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhv
ZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJu
YWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5x
dWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3Qo
KTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFBy
b3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBmYWxzZSk7CkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0
OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFz
dFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmpl
Y3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hh
aW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0
aGlzT2JqZWN0LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1l
LCB2YWx1ZSwgMCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNj
b3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdy
aXRlRXJyb3IpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAko
cmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBp
bmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAog
ICAgICAgICAmJiAoZW51bWVyYXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51
bWVyYXRvcigpKQotICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigp
ID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0
b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihl
eGVjLCBiYXNlKSkKICAgICAgICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBu
dW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzID0gMDsKQEAgLTEzNiw5ICsxMzYsMTEgQEAgaW5saW5l
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIG5vcm1hbGl6ZVByb3RvdHlw
ZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSk7CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yOjpjcmVhdGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVy
U3RydWN0dXJlUHJvcGVydGllcywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVy
YXRvci0+c2V0Q2FjaGVkUHJvdG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hh
aW4oZXhlYykpOwotICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hl
UHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExl
bmd0aCAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgeworICAgICAgICBlbnVt
ZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVD
aGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVy
dHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAgICAgcmV0dXJuIGVu
dW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5j
cHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0Ojppc0l0
ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmpl
Y3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUo
KSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFBy
b3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxP
YmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFu
ZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJvdG90eXBl
QWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NT
dHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
YXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTgz
LDYgKzgzLDcgQEAgcHVibGljOgogICAgIAogICAgIEpTT2JqZWN0KiBwcm90b3R5cGUoY29uc3Qg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbCkgY29uc3QKICAgICB7CisgICAgICAgIC8vIE9PUFMuIG1h
a2Ugc3VyZSBpdCdzIG9ubHkgSlNHbG9iYWxPYmplY3QgdGhhdCBhY2Nlc3NlcyB0aGlzLgogICAg
ICAgICBBU1NFUlQoIWlzQ29tcGlsYXRpb25UaHJlYWQoKSk7CiAgICAgICAgIHJldHVybiBnZXQo
Z2xvYmFsKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgfQpAQCAtMTAxLDEzICsxMDIs
NiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHko
KTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNv
bnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJy
ZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9i
amVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmpl
Y3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVy
biBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNiAr
MTQzLDExIEBAIHNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUKICAgICB3
aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAg
ICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAgIC8vIE9PUFM6IHRoaXMg
ZGVmaW5pdGVseSBuZWVkcyBzb21lIG1vcmUgdGhvdWdodAorICAgICAgICBpZiAoIXN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3Rv
dHlwZUNoYWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9y
TG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgpKQogICAgICAgICAgICAg
cmV0dXJuIGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90
eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQs
MzQgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVz
ZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkpCitpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0
dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4
aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQ
b2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJF
TEVBU0VfQVNTRVJUKCEhcHJvdG90eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBI
YXNoTWFwIGZvciBwcm90b3R5cGUgdG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhp
cyBBUEkgbXVzdCBwcm92aWRlIG5vbi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9
IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAg
aWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShw
cm90b3R5cGUpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQ
cm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQog
CiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAg
ICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1
cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0
cnVjdHVyZT4oc3RydWN0dXJlKSk7CisKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03
MywyMCArODksMjEgQEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgog
ewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGlj
IGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3Ry
dWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBp
ZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisg
ICAgaWYgKHByb3RvdHlwZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGlu
ZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1
dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3Ry
dWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRl
RW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5
cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZh
bHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJl
Rm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6
OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29s
IG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0
dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBK
U0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmpl
Y3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsK
ICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNh
cGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3Ry
dWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBK
U0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1h
cC5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSog
ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUg
PSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVy
ZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
LCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwog
ICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1
cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSog
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBl
LCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNv
bnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJv
b2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBK
U09iamVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1
Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVk
LCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVy
ZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09i
amVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1
Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjQ2
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0s
IFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQo
KSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAg
ICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMt
PnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3Vz
LT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNz
SW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwg
bV9vZmZzZXQoaW52YWxpZE9mZnNldCkKQEAgLTI5NSw2ICsyOTUsMjMgQEAgdm9pZCBTdHJ1Y3R1
cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNl
bGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBD
bGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0g
cmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRo
b3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1l
cygpLnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCksIERvbnRFbnVtLAorICAgICAgICBbJl0g
KGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
UHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRPdXRP
ZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNl
dChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1
bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0
KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
IHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihW
ZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwg
UHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHko
KSk7CkBAIC0zOTgsMjYgKzQxNSwxNCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1
Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29s
IFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
IGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2
bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUqIGN1
cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAg
ICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUo
KTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAK
LWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25z
dAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFBy
b3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBl
KGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQy
Niw3ICs0MzEsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAg
ICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+c3RydWN0dXJlKHZtKTsKICAg
ICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHx8
IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBl
KCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUob2JqZWN0
KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQzNiwy
MCArNDQxLDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1l
KCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQ
dXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6
QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9w
ZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNl
dCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTIsNiArNTQzLDggQEAgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVl
IHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgcHJvdG90
eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2bS5oZWFwKTsKICAgICBTdHJ1
Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7CiAKQEAgLTEwNjcsMTEg
KzEwNjAsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RyCiAgICAg
ICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0dXJlRmly
ZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29r
dXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZv
ckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6
OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAg
ICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0x
MTA5LDcgKzEwOTcsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKCkKICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAg
ICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHko
bV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0b3JlZFByb3RvdHlwZU9iamVj
dCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgp
KSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIXN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYg
dmlzaXRvcikKQEAgLTExMjEsMzAgKzExMDksNiBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hl
YXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpw
cm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJv
cGVydHlOYW1lKQotewotICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAg
IHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Ci0g
ICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlm
IChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwot
ICAgICAgICAKLSAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMp
OwotICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQotICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgIAotICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChSZWFkT25seSB8
IEFjY2Vzc29yKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQogUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6
OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBSZWY8U3RydWN0dXJlU2hh
cGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKQEAgLTExNjgsMjYgKzEx
MzIsMjQgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dQogCiAgICAg
ICAgIGN1clNoYXBlLT5tYXJrQXNGaW5hbCgpOwogCi0gICAgICAgIGlmIChjdXJTdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICBhdXRvIG5ld1NoYXBl
ID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwotICAgICAgICAgICAgY3VyU2hhcGUtPnNldFBy
b3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUo
bmV3U2hhcGUpOwotICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZSgpOwotICAgICAgICB9CisgICAgICAgIGlmICghY3VyVmFsdWUuaXNPYmplY3QoKSkK
KyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiBvYmplY3Qg
PSBhc09iamVjdChjdXJWYWx1ZSk7CisgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGVPYmplY3Qg
PSBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KTsKKyAg
ICAgICAgaWYgKCFwcm90b3R5cGVPYmplY3QpCisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOworICAgICAgICBjdXJT
aGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsKKyAgICAgICAgY3VyU2hhcGUgPSBX
VEZNb3ZlKG5ld1NoYXBlKTsKKyAgICAgICAgY3VyVmFsdWUgPSBwcm90b3R5cGVPYmplY3Q7Cisg
ICAgICAgIGN1clN0cnVjdHVyZSA9IHByb3RvdHlwZU9iamVjdC0+c3RydWN0dXJlKCk7CiAgICAg
fQogICAgIAogICAgIHJldHVybiBiYXNlU2hhcGU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpjYW5V
c2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSogb3RoZXIpCi17Ci0gICAgcmV0dXJuIGlubGlu
ZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlubGluZUNhcGFjaXR5KCkKLSAgICAgICAgJiYgc3RvcmVk
UHJvdG90eXBlKCkgPT0gb3RoZXItPnN0b3JlZFByb3RvdHlwZSgpCi0gICAgICAgICYmIG9iamVj
dEluaXRpYWxpemF0aW9uQmxvYigpID09IG90aGVyLT5vYmplY3RJbml0aWFsaXphdGlvbkJsb2Io
KTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsK
ICAgICBvdXQucHJpbnQoUmF3UG9pbnRlcih0aGlzKSwgIjpbIiwgY2xhc3NJbmZvKCktPmNsYXNz
TmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3ICsxMTY0LDkgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgYwogICAgIAogICAgIG91dC5wcmludCgifSwgIiwgSW5kZXhpbmdU
eXBlRHVtcChpbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIGlmIChtX3Byb3RvdHlwZS5nZXQo
KS5pc0NlbGwoKSkKKyAgICBpZiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBvdXQu
cHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgZWxz
ZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCiAgICAgICAgIG91dC5wcmludCgiLCBQ
cm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdldCgpLmFzQ2VsbCgpKSk7CiAKICAgICBz
d2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5
IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJl
SXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9Owog
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1
ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdU
eXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpT
T2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5k
ZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAg
ICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewog
ICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChtX3Byb3Rv
dHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90
eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwg
bV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKICAgICB9CiAK
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcpCkBA
IC0xNjcsNyArMTY5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3Bl
cnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiwg
VW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZz
ZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0
eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwg
dW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBzdGF0aWMgU3RydWN0
dXJlKiByZW1vdmVQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5h
bWUsIFByb3BlcnR5T2Zmc2V0Jik7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVj
dHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUg
cHJvdG90eXBlKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0
aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGF0dHJpYnV0ZUNoYW5nZVRyYW5zaXRpb24oVk0mLCBT
dHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvQ2FjaGVhYmxlRGljdGlvbmFyeVRyYW5z
aXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBv
aW50RmlyZSogPSBudWxscHRyKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiB0b1VuY2FjaGVhYmxl
RGljdGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqKTsKQEAgLTIwOCw3ICsyMTAsNyBA
QCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gIXR5cGVJbmZvKCkuZ2V0T3duUHJvcGVy
dHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKTsKICAgICB9Ci0gICAgCisKICAgICBi
b29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IHByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKQpAQCAtMjQwLDI2ICsyNDIsMzkgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpICYg
TWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnMpOwogICAgIH0KICAgICAgICAgCi0gICAgSlNfRVhQT1JU
X1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkgY29uc3Q7Ci0gICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mKSBjb25z
dDsKLSAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OwotICAg
IE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkg
Y29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mLCBKU09iamVj
dCopIGNvbnN0OwogICAgICAgICAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkg
Y29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KIAogICAgIC8vIE5PVEU6IFRo
aXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0
cnVjdHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUg
aXMgcHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgogICAgIHZv
aWQgc2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkg
eyBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KLSAgICAgICAg
Ci0gICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlw
ZS5nZXQoKTsgfQorCisgICAgYm9vbCBoYXNTdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuICFtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCk7CisgICAgfQorICAg
IEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBl
LmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBjb25z
dAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3RvdHlwZSgpKTsK
KyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAg
SlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09i
amVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAg
U3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25z
dDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBT
dHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAgIEpTVmFsdWUg
cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90
eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5
cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3Rv
dHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFp
biogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5
cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAgIFN0
cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVj
U3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGls
ZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgIAogICAgIC8vIEEgU3RydWN0dXJlIGlz
IGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEgc21h
bGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzIsMTQgKzI4NywyNCBAQCBwdWJsaWM6CiAgICAg
CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgc3RydWN0dXJlIGlzIG5vdyBtYXJrZWQuCiAg
ICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwotICAgICAgICAKLSAgICAvLyBXaWxs
IGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/
Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0
b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBj
b25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURh
dGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNv
bnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdl
dCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0m
IHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxs
b2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAg
ICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiAr
NTU4LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVz
KHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3Ig
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJl
LT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0K
LQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1
cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTkwLDEwICs2MDksNiBAQCBwdWJsaWM6CiAK
ICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSk7CiAgICAg
Ci0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRo
YXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUg
b3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsK
LSAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJ
bkNvbnRleHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwogICAgIHZvaWQgZHVt
cEJyaWVmKFByaW50U3RyZWFtJiwgY29uc3QgQ1N0cmluZyYpIGNvbnN0OwpAQCAtNzIwLDggKzcz
NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNl
dChtX29mZnNldCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlk
KEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBj
b25zdDsKLSAgICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hl
ZFByb3RvdHlwZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBj
b25zdDsKIAogICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRv
IHRoZXNlLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9j
a2VyJiwgVk0mLCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc0Niw2IEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJl
SUQoKTsKICAgICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAot
ICAgIHsKLSAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7
Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBj
aGVja09mZnNldENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYp
IGNvbnN0OwogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAko
cmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVj
dHVyZUNoYWluOjp2aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVy
ZUNoYWluOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3Ig
KEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytz
aXplOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZl
Y3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSAr
IDEpOworCisgICAgc2l6ZV90IGkgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBo
ZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJv
dG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMs
IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkpOworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNl
KCk7CisgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJh
cnJpZXIodGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI0Njcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBC
YXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0
cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1
cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1
Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAg
ICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3Ry
dWN0dXJlQ2hhaW4+KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hh
aW5TdHJ1Y3R1cmUuZ2V0KCkpOwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhl
YWQpOwpAQCAtNjIsMjIgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3ko
SlNDZWxsKik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
U3RydWN0dXJlKiBoZWFkKQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwotICAgICAgICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJy
ZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgp
LmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3Ry
dWN0dXJlKCkpCi0gICAgICAgICAgICArK3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRy
PFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0g
MDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJy
ZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3Qo
Y3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZl
Y3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5o
ZWFwLm11dGF0b3JGZW5jZSgpOwotICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsK
LSAgICB9CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsK
IAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMu
aAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1
Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NF
UlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlw
ZS5nZXQoKTsKICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwpAQCAtNjksMTIgKzcwLDQxIEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQ
cm90b3QKIAogaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1
Y3R1cmUoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgp
KTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAg
aWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3Qt
PnN0cnVjdHVyZSgpOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNF
X0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNTdG9yZWRQ
cm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVB
U0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJldHVybiBvYmpl
Y3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1
Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25z
dAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7Cisg
ICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90
eXBlT2JqZWN0KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9iamVjdC0+Z2V0RGlyZWN0KHBvbHlQ
cm90b09mZnNldCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUg
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09i
amVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQ
cm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUo
KTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlTX0lOTElORSBQcm9wZXJ0eU9mZnNl
dCBTdHJ1Y3R1cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAg
ICAgdW5zaWduZWQgYXR0cmlidXRlczsKQEAgLTE2NiwxNSArMTk2LDMyIEBAIGlubGluZSBib29s
IFN0cnVjdHVyZTo6dHJhbnNpdGl2ZWx5VHJhbnMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0FM
V0FZU19JTkxJTkUgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZSogc3RydWN0dXJlKQorewor
ICAgIEFTU0VSVCghc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKworICAgIGlmIChzdHJ1Y3R1cmUt
PnR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpCisgICAgICAgIHJldHVybiBnbG9iYWxP
YmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworCisgICAgQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUlu
Zm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3lt
Ym9sUHJvdG90eXBlKCk7CisKK30KKwogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5
cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBS
RUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkp
Ci0gICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBpZiAodHlwZUluZm8oKS50
eXBlKCkgPT0gU3ltYm9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9s
UHJvdG90eXBlKCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1
cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwor
fQogCi0gICAgQVNTRVJUKHR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpOwotICAgIHJl
dHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworaW5saW5lIEpTVmFsdWUgU3Ry
dWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDZWxsKiBiYXNlKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVy
ZSgpID09IHRoaXMpOworICAgIGlmIChpc09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVk
UHJvdG90eXBlKGFzT2JqZWN0KGJhc2UpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3Vw
UHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CkBAIC0x
ODIsMjcgKzIyOSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxv
CiAgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hh
aW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0
cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBjYWNoZSBv
dXIgcHJvdG90eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBpZiAo
IWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkgewot
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmpl
Y3QpOwotICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0
dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KHBy
b3RvdHlwZSktPnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwg
bV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAgICAg
ICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpj
cmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90b3R5
cGUpKSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpOwog
fQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6
aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2Fj
aGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3Rv
dHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFByb3Rv
dHlwZUNoYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNoYWlu
LT5oZWFkKCk7CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5pc051
bGwoKSkgewogICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkgIT0g
Y2FjaGVkU3RydWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjYxLDYgQEAgaW5saW5lIGJvb2wg
U3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNOdWxs
KCkgJiYgISpjYWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNW
YWxpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFp
bikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGNhY2hlZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJlOjpk
aWRSZXBsYWNlUHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChMSUtF
TFkoIWhhc1JhcmVEYXRhKCkpKQpAQCAtNDAwLDcgKzQ0Myw3IEBAIGlubGluZSBQcm9wZXJ0eU9m
ZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwg
ZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYg
dm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6
c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1f
cHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJl
RGF0YS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBA
QAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2ZUlu
ZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJyZWRW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUg
IkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2
b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvcik7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Io
KSBjb25zdApAQCAtMTc1LDYgKzE3NywxMyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0lu
ZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9y
KFZNJiB2bSkKK3sKKyAgICBpZiAoIW1faW5mZXJyZWRDb25zdHJ1Y3RvcikKKyAgICAgICAgbV9p
bmZlcnJlZENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZt
KSk7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsKK30KKwogLy8gLS0t
LS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVy
IHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0
aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFy
ZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZl
cnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0
dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBA
IC02Miw2ICs2MywxNSBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBj
YWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAK
KyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUg
aW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90
eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0
YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90
b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90
eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3Ry
dWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yIHBvaW50
cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhIEpTRnVuY3Rpb24uCisgICAgLy8gSWYg
d2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIHdpbGwgYmVjb21lIGlu
dmFsaWRhdGVkLgorICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Io
Vk0mKTsKKyAgICAvLyBNYXkgYmUgbnVsbHB0ci4KKyAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJl
ZENvbnN0cnVjdG9yKCkgeyByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOyB9CisK
ICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArODYsNyBAQCBw
cml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3Jp
dGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJy
aWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yOworICAgIFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0
b3I7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0
Y2hwb2ludFNldD4sIFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRX
aXRoWmVyb0tleUhhc2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRN
YXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNl
bWVudFdhdGNocG9pbnRTZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpT
VmFsdWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBi
b29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJv
b2wgaXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wg
aXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBp
c051bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0
ZXJTZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHJl
dmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBl
ckNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDcgQEAgdGVtcGxhdGU8dHlwZW5h
bWUgV3JhcHBlckNsYXNzPiBpbmxpbmUgSgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xh
c3M+IGlubGluZSBKU0M6OkpTT2JqZWN0KiBnZXRET01Qcm90b3R5cGUoSlNDOjpWTSYgdm0sIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCiB7CisgICAgLy8gT09QUzogbG9vayBpbnRv
IHRoaXMKICAgICByZXR1cm4gSlNDOjpqc0Nhc3Q8SlNDOjpKU09iamVjdCo+KGFzT2JqZWN0KGdl
dERPTVN0cnVjdHVyZTxXcmFwcGVyQ2xhc3M+KHZtLCBnbG9iYWxPYmplY3QpLT5zdG9yZWRQcm90
b3R5cGUoKSkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321939</attachid>
            <date>2017-09-26 23:35:30 -0700</date>
            <delta_ts>2017-09-27 18:01:06 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>166338</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNDY3KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLW1pc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1taXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKK2Z1bmN0aW9uIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhp
cy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZv
bygpOiBgLCAkdm0udmFsdWUocmVzdWx0KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAg
IGxldCByZXN1bHQgPSBmb28oKTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5j
ZXMgPSBbCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CitdOworCitsZXQgcCA9IHVuZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBh
c3NlcnQoeC54ID09PSAyMCk7CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2VzLmxlbmd0aDsgKytpKQorICAgICAgICB2
YWxpZGF0ZShpbnN0YW5jZXNbaV0pOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1zZXQtcHJvdG90eXBlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tc2V0LXByb3RvdHlwZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLXNldC1wcm90b3R5cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiYmFkIik7Cit9CisKK2xldCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsK
KyAgICBnZXQgeSgpIHsgcmV0dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1
cm4gbnVsbDsKKyAgICB9Cit9OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3Rv
dHlwZSwgIngiLCB7CisgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30p
OworCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9y
KCkgeworICAgICAgICAgICAgdGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICBy
ZXR1cm4gbmV3IEM7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQo
by54ID09PSBwKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9v
KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
CisgICAgICAgIHZhbGlkYXRlKGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAg
ICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDA7ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEs
IG51bGwpOworICAgIH0KK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9f
XyA9IGFsdGVybmF0ZVByb3RvMjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkg
eworICAgIGZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOwor
ICAgICAgICBhc3NlcnQoYS55ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgewor
ICAgICAgICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90
eXBlLmZpZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAg
IGNsYXNzIEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAg
ICBzdXBlcigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9Owor
ICAgIHJldHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAg
YmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0
MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiBhc3Nl
cnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30K
KworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsK
KyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0g
NDIpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5j
ZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
cHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0
IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7
IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5Owor
ICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQ
cm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAg
IFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlk
YXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7
CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBh
c3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2Vy
dChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsK
K30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7Cisg
ICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAs
IHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBz
IG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9u
IGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUg
PSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgewor
ICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0
ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAor
ICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgewor
ICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVt
LnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5
cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVz
dHMvdHlwZVByb2ZpbGVyL2VzNi1jbGFzc2VzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlw
ZVByb2ZpbGVyL2VzNi1jbGFzc2VzLmpzCShyZXZpc2lvbiAyMjI0NjcpCisrKyBKU1Rlc3RzL3R5
cGVQcm9maWxlci9lczYtY2xhc3Nlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBA
QCBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdCiBhc3NlcnQodHlwZXMu
Z2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLnByb3RvLmZpZWxkcy5pbmRleE9mKCJtZXRob2RC
IikgIT09IC0xLCAic2hvdWxkIGhhdmUgbWV0aG9kQiIpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9y
RXhwcmVzc2lvbih3cmFwcGVyLCAiYW5pbWFsSW5zdGFuY2UgPSIpOwotYXNzZXJ0KHR5cGVzLmds
b2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lID09PSAiQW5pbWFsIiwgIlNob3VsZCBzaG93IGNv
bnN0cnVjdG9yIG5hbWUiKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBl
TmFtZSA9PT0gIkFuaW1hbCIsICJTaG91bGQgc2hvdyBjb25zdHJ1Y3RvciBuYW1lLCBidXQgd2Fz
OiAiICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUpOwogYXNzZXJ0KHR5cGVz
Lmdsb2JhbFR5cGVTZXQuc3RydWN0dXJlcy5sZW5ndGggPT09IDEsICJzaG91bGQgaGF2ZSBvbmUg
c3RydWN0dXJlIik7CiBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLmNv
bnN0cnVjdG9yTmFtZSA9PT0gIkFuaW1hbCIsICJTaG91bGQgYmUgQW5pbWFsIik7CiBhc3NlcnQo
dHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLnByb3RvLmZpZWxkcy5sZW5ndGggPT09
IDIsICJzaG91bGQgaGF2ZSB0d28gZmllbGRzIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJj
ZXMudHh0CShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNl
cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyNyw2ICsyMjcsNyBAQCBieXRlY29kZS9MYXp5T3Bl
cmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2Zp
bGUuY3BwCiBieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUv
TW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5jcHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9P
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKQEAgLTIz
NCw2ICsyMzUsNyBAQCBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKIGJ5dGVjb2RlL1By
ZWNpc2VKdW1wVGFyZ2V0cy5jcHAKIGJ5dGVjb2RlL1Byb2dyYW1Db2RlQmxvY2suY3BwCiBieXRl
Y29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKK2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWlu
LmNwcAogYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRG
bGFncy5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTEwNjEsNiArMTA2MSw3IEBACiAJCTc5MTlCNzgwMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0Nv
bXBpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5
MTlCNzdGMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTIzM0MyQjFEMzQ3MTU3MDBDNUE4MzQg
LyogSklUTWF0aElDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyQ0IzNEExQzRFRUQ1QzAw
RDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVP
cmlnaW5NYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NDU3NUNEMUY3
MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjQ2NTZBMUI5NTJGRjAwMDMwNTlF
RSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjVDMjE3MUU1RDc5
OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NUMyMTUxRTVENzk5
NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2REFBMkIxRTg5
Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5NkRBQTJBMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM0
OTksNiArMzUwMCw4IEBACiAJCTc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUTWF0aElDLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ3MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29k
ZU9yaWdpbk1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQQ1Rv
Q29kZU9yaWdpbk1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ4
MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJv
dG90eXBlQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk1RjA5OUMxRTAzNjAwNTAwQkJFMzdG
IC8qIEIzQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBC
M0NvbXBpbGUuY3BwOyBwYXRoID0gYjMvQjNDb21waWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2V0UHV0SW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3OTY1QzIxNDFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVS
ZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOyBwYXRoID0g
YjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTczNDEsNiArNzM0NCw4IEBACiAJCQkJMTRBRDkxMEExRENB
OTI5NDAwMTRGOUZFIC8qIFByb2dyYW1Db2RlQmxvY2suaCAqLywKIAkJCQkwRkQzRTQwNzFCNjE4
QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uY3BwICovLAogCQkJCTBGRDNFNDA4MUI2
MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAorCQkJCTc5NDU3NUNDMUY3
MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8sCisJCQkJNzk0NTc1
Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8sCiAJCQkJMEYx
NUNEMjAxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5jcHAgKi8sCiAJCQkJMEYxNUNE
MjExQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5oICovLAogCQkJCTBGOTMzMjk5MTRD
QTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCAqLywKQEAgLTg1MjksNiArODUzNCw3
IEBACiAJCQkJQTFCOUUyM0UxQjRFMEQ2NzAwQkM3RkVEIC8qIEludGxDb2xsYXRvclByb3RvdHlw
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE4MTkzRTQxQjRFMENEQjAwRkMxMDI5IC8qIEludGxD
b2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDZFMUI0REMx
NDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTc5
NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTE1ODdENzAxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1h
dENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3NTFCNERDMUM2MDBENjk4
NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTU4N0Q3MjFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0UHJvdG90
eXBlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAj
dW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogU3ltYm9sSW1wbDo6U3Rh
dGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuJHZtIiwg
U3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJ
bXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuX19wcm90b19f
IiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAKIH0gLy8gbmFtZXNwYWNlIFN5bWJv
bHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
dWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYs
NiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3Vu
ZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIGV4dGVybiBTeW1ib2xJbXBsOjpT
dGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7CitleHRlcm4gU3ltYm9sSW1wbDo6
U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKIH0KIAogI2RlZmlu
ZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5hbWUpIG1fcHJpdmF0ZVRvUHVi
bGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV8jI25hbWUpOwpAQCAt
MjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMp
CiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIiR2
bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlk
KHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OmRvbGxhclZNUHJpdmF0ZU5h
bWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKElkZW50aWZpZXI6
OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6dW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5f
RlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQogICAgICAg
ICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJ
QUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0yMzgsNiArMjQwLDggQEAgcHVibGlj
OgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dO
X1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9fUFJJVkFURV9FTlRSWSkKICAgICAg
ICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFyVk1Qcml2YXRlTmFtZS5pbXBsKCks
ICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChtX2Rv
bGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0ZU5hbWUpOworICAgICAgICBtX3By
aXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZS5pbXBsKCks
ICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvKTsKKyAgICAgICAgbV9wdWJsaWNU
b1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8uaW1wbCgp
LCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAgICAgfQogCiAgICAgY29uc3QgSWRl
bnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAt
MjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09S
KQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1QdWJsaWNOYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRv
bGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7
IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1l
KCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsgfQogCiBwcml2
YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZpZXI7CkBAIC0yNTgsNiArMjYzLDcg
QEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxM
X0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MUykKICAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9s
bGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV91bmRlcnNjb3Jl
UHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJp
bmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFt
ZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGljVG9Qcml2YXRlTWFwOwogICAgIEJ1
aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDksMTUgKzQ5LDE4IEBACiAjaW5jbHVkZSAiU3VwZXJTYW1wbGVyLmgiCiAjaW5j
bHVkZSAiVGh1bmtHZW5lcmF0b3JzLmgiCiAKKyNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlclByaW50
ZXIuaCIKKwogbmFtZXNwYWNlIEpTQyB7CiAKIG5hbWVzcGFjZSBBY2Nlc3NDYXNlSW50ZXJuYWwg
ewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1BY2Nlc3NDYXNlOjpB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYg
dm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90
b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9vZmZzZXQob2Zm
c2V0KQorICAgICwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbihXVEZNb3ZlKHByb3RvdHlwZUFjY2Vz
c0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBzdHJ1
Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0OwpAQCAtNzksNyArODIs
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBudWxscHRyKSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBBY2Nlc3NDYXNlOjpjcmVhdGUoCkBAIC05Niw3ICs5OSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjoKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQp
KTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNl
KHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgbnVsbHB0cikpOwogfQogCiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyAr
MTM4LDkgQEAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZl
Y3RvcjxXYXRjaHBvaW50U2V0KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAm
JiBzdHJ1Y3R1cmUoKS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8
fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAg
IHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAg
ICAvLyBPT1BTOiBhZGQgYSB0ZXN0IGZvciB0aGlzCisgICAgICAgIHx8IChtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0eVdh
dGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2ludFNl
dEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgpKQpA
QCAtMTUxLDYgKzE1Niw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hl
Y2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYg
KG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3
aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xl
bmd0aDoKQEAgLTIxMCw2ICsyMTgsMTMgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNv
bnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0
KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBkZWZh
dWx0OgorICAgICAgICAvLyBPT1BTOiBtYWtlIHN1cmUgdGhpcyBpcyBleGFjdGx5IHdoYXQgd2Ug
d2FudAorICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAg
aWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiAqbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9PSAq
b3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICgh
Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAhb3RoZXIuZ3VhcmRlZEJ5U3RydWN0dXJlQ2hl
Y2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjE5LDIyICsyMzQsMjYgQEAg
Ym9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogCiB2b2lkIEFjY2Vzc0Nh
c2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBvdXQucHJpbnQobV90eXBl
LCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwgbV90eXBlLCAiOigiKTsKIAogICAgIENvbW1h
UHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmludChjb21tYSwgbV9zdGF0ZSk7CiAKLSAgICBp
ZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVj
dHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChu
ZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQotICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQo
KSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQobV9vZmZzZXQpKQogICAgICAgICBvdXQucHJp
bnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNldCk7CiAgICAgaWYgKCFtX2NvbmRpdGlvblNl
dC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgImNvbmRpdGlvbnMgPSAiLCBt
X2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAg
ICAgb3V0LnByaW50KGNvbW1hLCAicHJvdG90eXBlIGFjY2VzcyBjaGFpbiA9ICIsIG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW4pOworICAgIGVsc2UgeworICAgICAgICBpZiAobV90eXBlID09IFRyYW5z
aXRpb24pCisgICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2lu
dGVyRHVtcChzdHJ1Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkp
KTsKKyAgICAgICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUpCisgICAgICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwor
ICAgIH0KKwogICAgIGR1bXBJbXBsKG91dCwgY29tbWEpOwogICAgIG91dC5wcmludCgiKSIpOwog
fQpAQCAtMjQzLDYgKzI2MiwxMiBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYgdm0p
IGNvbnN0CiB7CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0cnVj
dHVyZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbikgeworICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90
b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4oKSkgeworICAgICAgICAgICAgaWYgKCFIZWFwOjppc01h
cmtlZChzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fQorICAgIH0KICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmFyZVN0aWxsTGl2ZSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGlzQWNjZXNzb3IoKSkgewpAQCAtMjczLDYgKzI5OCwx
MSBAQCBib29sIEFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1f
c3RydWN0dXJlKQogICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZp
c2l0b3IpOwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9y
IChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkp
CisgICAgICAgICAgICByZXN1bHQgJj0gc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsK
KyAgICB9CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlvbjoKICAg
ICAgICAgaWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5wcmV2aW91
c0lEKCkpKQpAQCAtMzcyLDI2ICs0MDIsNjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdp
dGhHdWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQcm94eSgp
KSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0
LmJyYW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6
OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAgICAgICAg
IGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJn
ZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBl
bmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSks
Ci0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgIGlmIChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiR2VuZXJhdGluZyBw
b2x5IHByb3RvIGxvYWQhIik7CisgICAgICAgICAgICAvL2ppdC5wcmludCgiRG9pbmcgcG9seSBw
cm90byBhY2Nlc3MgY2hlY2tcbiIpOworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NH
UFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFzZUdQ
UiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4oKS5zaXplKCk7ICsraSkgeworICAgICAg
ICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+
Y2hhaW4oKVtpXTsKKyAgICAgICAgICAgICAgICBib29sIGF0RW5kID0gaSArIDEgPT0gbV9wcm90
b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4oKS5zaXplKCk7CisgICAgICAgICAgICAgICAgZmFsbFRo
cm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBK
U0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0dXJlKSk7CisgICAgICAgICAgICAgICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChtX3R5cGUgPT0gTWlzcyAmJiAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3Ry
dWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQp
KSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3Vn
aC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nl
c3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9v
a3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUp
KSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkp
OyAvLyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90
b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAg
ICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJl
bGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpF
cXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVO
dWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5k
KAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgaWYgKHZpYVByb3h5
KCkpIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAg
ICAgICAgIGppdC5icmFuY2g4KAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlU
eXBlKSkpOworCisgICAgICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAg
ICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGpp
dC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFu
Y2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VH
UFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFr
OwogICAgIH0gfTsKQEAgLTUwNCwxMyArNTcyLDE3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJh
dGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBiYXNlR1BSOwog
CiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBpZiAoIW1fY29uZGl0
aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUoCi0gICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksCi0gICAgICAg
ICAgICAgICAgc2NyYXRjaEdQUik7Ci0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2Ny
YXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0g
YmFzZUZvckdldEdQUjsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOyAvLyB2aWEgZ2VuZXJhdGVX
aXRoR3VhcmQhIE9PUFM6IHRoaXMgaXMgdWdseS4KKyAgICAgICAgICAgIC8vaml0LnByaW50KCJE
b2luZyBwb2x5IHByb3RvIGxvYWQhXG4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1v
dmUoCisgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRl
cm5hdGVCYXNlKCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNz
R1BSID0gc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJh
c2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BS
UmVnIGxvYWRlZFZhbHVlR1BSID0gSW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAh
PSBDdXN0b21WYWx1ZUdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYg
bV90eXBlICE9IEN1c3RvbVZhbHVlU2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNl
dHRlcikgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
QWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRl
ICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYv
Q29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTg2LDkgKzE4NywyNSBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5
UHJvdG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEhbV9wcm90b3R5cGVBY2Nlc3ND
aGFpbjsKKyAgICB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNl
JikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBB
Y2Nlc3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3Qg
QWNjZXNzQ2FzZSYgb3RoZXIpCisgICAgICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAg
ICAgLCBtX3N0YXRlKG90aGVyLm1fc3RhdGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9v
ZmZzZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAg
ICwgbV9jb25kaXRpb25TZXQob3RoZXIubV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBp
ZiAob3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgIG1fcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jbG9uZSgpOworICAg
IH0KKwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxl
dGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBA
IC0yMjcsNiArMjQ0LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9u
U2V0OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNDY3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU5Myw3ICs1OTMsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBTCiAgICAgICAgICAgICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBj
W29wTGVuZ3RoIC0gMl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSAr
IG9wTGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9i
amVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAg
IG1fZ2xvYmFsT2JqZWN0LmdldCgpLCB0aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90
eXBlKCksIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJ
ZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5
IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAg
IGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAg
ICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5
SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3Mu
dXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNs
b3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0
dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAK
LUdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nl
c3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRp
b25hbFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFk
ZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0s
IG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQ
cm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAg
ICAgbV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFz
ZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vz
c0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlv
bmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRv
bUF0dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5
cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoK
QEAgLTYzLDE4ICs2MywxOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0
dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1
bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0
cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0
ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAorLy8gT09QUzogZG8gc29tZXRo
aW5nIGhlcmUuIFdobyBjYWxscyB0aGlzPwogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdl
dHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwK
ICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1
c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
ZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBudWxscHRyKSk7CiAgICAgcmVzdWx0LT5t
X2N1c3RvbUFjY2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92
ZShyZXN1bHQpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRl
clNldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NiwxNCArNDYsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbWl0
RE9NSklUR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYsIGNvbnN0IERPTUpJVDo6R2V0dGVy
U2V0dGVyKiwgR1BSUmVnIGJhc2VGb3JHZXRHUFIpOwogCisgICAgLy8gT09QUzogY29uc2lkZXIg
d2hhdCB0aGlzIGN0b3IgaXMgZm9yCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJv
cGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wg
dmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9
IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwK
LSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwKLSAgICAgICAgc3Rk
OjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCk7CisgICAg
ICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9
IG51bGxwdHIsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKKyAgICAgICAg
SlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwgc3RkOjpvcHRpb25hbDxET01BdHRy
aWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlw
ZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1
cmUqLCBQcm9wZXJ0eU9mZnNldCwKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsCkBAIC02Nyw3
ICs2NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0
dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWlu
Pik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vz
c0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0Niwx
MSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90
eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVy
ZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoK
KyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAg
ICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAg
ICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiogaW50cmluc2lj
RnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNp
Y0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAg
ICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsK
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNl
T2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBtb2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZz
ZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9h
ZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkK
KyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0
LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBudWxscHRyKQogICAgICwg
bV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsKICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVj
dC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisK
KyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIK
KworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRp
YWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxs
KiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRv
cik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFj
aXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdvaW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBt
YWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAgICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRo
IGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICBib29sIGlzUG9seVByb3Rv
ID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKTsKKworICAgICAg
ICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBleGVjdXRhYmxlLT5jYWNoZWRQb2x5UHJvdG9T
dHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBl
SW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgbV9hbGxvY2F0
b3IgPSBudWxscHRyOworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGlu
ZUNhcGFjaXR5KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBJ
bmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUo
dm0pLT5lbnN1cmVSYXJlRGF0YSh2bSktPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOwor
ICAgICAgICBib29sIHBhcmVudFByb3RvdHlwZUlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
IGlmIChKU09iamVjdCogcHJvdG90eXBlT2ZQcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4odm0sIHByb3RvdHlwZS0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpKSB7CisgICAgICAgICAg
ICBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90byA9IHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1
Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgpCisgICAgICAgICAgICAgICAgJiYgcHJvdG90eXBlT2ZQ
cm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPmluZmVycmVkQ29uc3RydWN0b3Io
KQorICAgICAgICAgICAgICAgICYmIHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0p
LT5yYXJlRGF0YSgpLT5pbmZlcnJlZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgp
OworICAgICAgICB9CisKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUo
dm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSIpOworCisgICAgICAgIGlzUG9seVByb3RvID0gKGluZmVycmVkQ29u
c3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpIHx8IHBhcmVudFByb3RvdHlwZUlzUG9seVBy
b3RvKSAmJiBleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0
ZWQoKTsKKyAgICAgICAgaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAg
ICBpc1BvbHlQcm90byA9IHRydWU7CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUg
b2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwor
CisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8g
RW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXpl
ciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1
bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8g
RGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0g
dG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVj
dC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFj
aXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKwor
ICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNp
dHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFp
bGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBz
aXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBz
aXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0g
c2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgp
LT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwor
ICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBl
LT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5h
bWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRl
U3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJv
cGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlv
bk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0
b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0
RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9u
cyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFy
ZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+
KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50Owor
CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1f
c3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNp
Z25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2Fs
bG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQo
IW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0g
MDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0
aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90
eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAg
ICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhl
IHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUg
cmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1
bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2Vh
ayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAg
ICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZl
cnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAg
ICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmpl
Y3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBj
YXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0
b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAt
IGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVN
YXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVy
IHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0
ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRv
ciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0
dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0K
KyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsK
IAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0g
MDsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5j
bGVhcigpOwogICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlz
TnVsbCgpKTsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1
bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHBy
b3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9i
YWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQot
ICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9w
ZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQ
cml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwg
RW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3Bl
cnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0
YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUg
dmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsK
LQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBj
bGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAg
aWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3Bl
cnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9j
YXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBm
b3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1
cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNh
c2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjph
YnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93
bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTIgQEAgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0
J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAg
ICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBAIEFjY2Vzc0dl
bmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNBY2Nl
c3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1f
bGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2VuZXJh
dGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0s
IGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhpczsK
ICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0
cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShW
TSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9i
amVjdChnbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2Fs
bEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVS
ZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0
ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxP
YmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9
OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hS
ZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJT
dGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRp
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJ
IHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRo
aXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3Vs
ZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5k
IHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0K
KwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRD
b25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlk
T2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVy
Ym9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGls
bFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdz
IGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAg
ICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNh
biBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNl
LiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAg
ICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0
cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVy
ZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExNCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1
ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxsKiBjdXJyZW50ID0gYmFzZTsK
KyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90
LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisKKyAgICBib29sIGZvdW5k
ID0gZmFsc2U7CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUHJvdG90eXBlQWNjZXNzQ2hh
aW4oKSk7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnBy
b3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7Cisg
ICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFy
eVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAg
cmVzdWx0LT5tX2NoYWluLmFwcGVuZChzdHJ1Y3R1cmUpOworCisgICAgICAgIGlmIChjdXJyZW50
ID09IHRhcmdldCkgeworICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3
ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBw
cm90byBwcm90b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisg
ICAgICAgIC8vIHRoaW5nIGluIHRoZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24g
aXQsIHRoZW4gd2UncmUgbm90CisgICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQ
b2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAg
SlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxP
YmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAg
IH0KKworICAgIGlmICghZm91bmQgJiYgISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6b3Bl
cmF0b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fY2hhaW4gPT0gb3RoZXIubV9jaGFpbjsKK30KKwordm9pZCBQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91dC5wcmludCgi
UG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgb3V0LnByaW50KCI6IFtcbiIpOworICAg
IGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAgIG91dC5wcmlu
dCgiXHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAgIG91dC5wcmlu
dCgiXG4iKTsKKyAgICB9CisgICAgb3V0LnByaW50KCJdIik7Cit9CisKK30KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFp
bi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90
b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0ds
b2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90OworY2xhc3Mg
U3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvdG90eXBlQWNjZXNz
Q2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90eXBlQWNj
ZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hlbiBpbnZh
bGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IGNy
ZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFBy
b3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjbG9uZSgpCisgICAgeworICAgICAgICByZXR1cm4g
c3RkOjptYWtlX3VuaXF1ZTxQcm90b3R5cGVBY2Nlc3NDaGFpbj4oKnRoaXMpOworICAgIH0KKwor
ICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2No
YWluOyB9CisKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsK
KyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKwor
ICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0OworCitwcml2YXRl
OgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAgVmVjdG9yPFN0
cnVjdHVyZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5vdywg
YnV0IHBlcmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KK307CisKK30KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2Fz
ZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4
IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQ
cm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAg
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBv
d25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAg
ICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25T
ZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWlu
KQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0g
R2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQ
cm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNv
bmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9u
YWxTZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFj
Y2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24g
MjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVi
bGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nl
c3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
dmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVBy
b3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAg
ICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
ID0gbnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxw
dHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNv
bnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFj
Y2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBK
U0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAg
ICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zODQ4LDYgKzM4NDgsOSBAQCBSZWdpc3RlcklEKiBDbGFzc0V4cHJOb2RlOjpl
bWl0Qnl0ZWNvZGUoCiAKICAgICAgICAgZ2VuZXJhdG9yLmVtaXREaXJlY3RQdXRCeUlkKGNvbnN0
cnVjdG9yLmdldCgpLCBnZW5lcmF0b3IucHJvcGVydHlOYW1lcygpLnVuZGVyc2NvcmVQcm90bywg
c3VwZXJjbGFzcy5nZXQoKSwgUHJvcGVydHlOb2RlOjpVbmtub3duKTsKICAgICAgICAgZ2VuZXJh
dG9yLmVtaXRMYWJlbChzdXBlcmNsYXNzSXNOdWxsTGFiZWwuZ2V0KCkpOworCisgICAgICAgIC8v
IE9PUFM6IHRoaXMgbWFrZXMgaXQgc28gdGhhdCBhbnkgZGVyaXZlZCBjbGFzcyBwcm90b3R5cGUg
b2JqZWN0IHdpbGwgYWx3YXlzIGdldCBhIG5ldyBzdHJ1Y3R1cmUKKyAgICAgICAgLy8gaWYgbXVs
dGlwbHkgY29uc3RydWN0ZWQgYmVjYXVzZSB3ZSBkb24ndCBjYWNoZSBwcm90b3R5cGUgdHJhbnNp
dGlvbnMuCiAgICAgICAgIGdlbmVyYXRvci5lbWl0RGlyZWN0UHV0QnlJZChwcm90b3R5cGUuZ2V0
KCksIGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkudW5kZXJzY29yZVByb3RvLCBwcm90b1BhcmVu
dC5nZXQoKSwgUHJvcGVydHlOb2RlOjpVbmtub3duKTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAy
MjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzczMyw2ICszNzMzLDggQEAgTm9kZSogQnl0ZUNvZGVQYXJz
ZXI6OmxvYWQoCiAgICAgICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlh
bnQuc3RydWN0dXJlU2V0KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAg
ICAgICAgICAgICAgICAvLyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0
aGF0IHdlIGFyZSByZWx5aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAg
ICAgIC8vIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVy
ZSBiZWNhdXNlIG9mIGhvdyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAg
ICAgICAgICAgICAgIC8vIE9PUFM6IHRoaXMgbmVlZHMgYXR0ZW50aW9uCiAgICAgICAgICAgICAg
ICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVl
OwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVj
dHVyZVNldCgpLnNpemUoKTsgKytpKSB7CkBAIC00MzA4LDYgKzQzMTAsOCBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgIH0KIAogICAgICAgICBjYXNl
IG9wX2NyZWF0ZV90aGlzOiB7CisgICAgICAgICAgICAvLyBPT1BTOiB0aGluayB0aHJvdWdoIHRo
aXMgY29kZS4KKwogICAgICAgICAgICAgaW50IGNhbGxlZU9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kOwogICAgICAgICAgICAgTm9kZSogY2FsbGVlID0gZ2V0KFZpcnR1
YWxSZWdpc3RlcihjYWxsZWVPcGVyYW5kKSk7CiAKQEAgLTQzMzAsMTIgKzQzMzQsMTQgQEAgYm9v
bCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYgKGZ1
bmN0aW9uKSB7CiAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRh
ID0gZnVuY3Rpb24tPnJhcmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVj
dHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkg
ewotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJl
RGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0g
ICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVn
aXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFs
cmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxl
V2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2Fs
bGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVy
YW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0
dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVt
aXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcg
KzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAgICAg
QXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNo
aWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wgYWxs
R29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVy
ZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9IHN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFzdHJ1
Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENvbmN1
cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0gaW52
YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0
aW9ucy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTEgQEAgSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1Y3Rv
ci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEgPSBq
c0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2Fw
YWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAg
ICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgp
OworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywg
c3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3Rv
T2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5wcm90b3R5cGVGb3JD
b25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAK
ICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5h
bWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Mzg2LDcgKzQzODYsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNz
ZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENv
bXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0
T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklU
Q29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9m
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZz
ZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBl
bmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BS
KSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRyLCBh
bGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUiwg
c2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6
QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVE
YXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVz
dWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZv
ck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJS
ZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVn
IHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BS
UmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFuIG9i
amVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1f
aml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE1
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNyb0Fz
c2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBl
cmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpF
cXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxs
Ojp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUpKTsK
LSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2Ny
YXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQ
YXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUo
Km1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7CisgICAg
Ly9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcp
OworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywg
U3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5v
dFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNS
ZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNS
ZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcs
IHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9m
SW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZt
X2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNz
ZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxV
RTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlu
a1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQg
cHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNj
cmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVn
IHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hS
ZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNo
Mi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAg
ICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFu
Y2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9
IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAg
ICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5j
ZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNj
cmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFs
dWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVn
KTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICsz
NDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAK
ICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRj
aDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQ
UlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBw
cm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwog
ICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3Jh
dGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJv
dG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAg
Ymxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI0
NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdv
cmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVj
dWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwog
ICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxz
ZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BS
UmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3Vs
dFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJl
ZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNo
M1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21w
aWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODg4NywxMCArODg4NywxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2lj
QmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2Nr
IGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90
eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5
UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJv
dG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5z
dGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRp
b24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBl
RGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhh
c0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNv
bnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUg
Y29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50
eXBlZFVzZSkKQEAgLTg5MDgsMTYgKzg5MTAsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVG
cm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9v
dXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxv
YWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJv
dG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3Jp
Z2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIo
dmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5j
aCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJv
eHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3Qp
LCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShs
b2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAg
ICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2Up
OworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90
byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAg
ICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBt
X2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVC
aXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBl
KTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3Io
cHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJp
dHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisK
KyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7
CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291
dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90
byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5k
ZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVF
aWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291
dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBh
cmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90
b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAg
ICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0
LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQu
ZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDgg
KzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAg
ICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMg
aXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2
ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90
IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJl
Z1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZz
ZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0
LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBl
T2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFuY2hJ
Zk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIocmVn
VDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdo
dCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhhc1N0
b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAgICBK
dW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAgZW1p
dEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw2ICsy
NDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zm
c2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8IHNsb3Quc2xvdEJhc2UoKSAh
PSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFj
dGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9u
Q2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVj
dHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgJiYgc3RydWN0dXJl
LT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNl
KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAgICAgICAgICAg
IGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAgICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAotICAgICAgICAg
ICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAg
ICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nl
c3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBp
ZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZh
bGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCF1
c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgdXNlIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGluc3RlYWQgZm9yIGZhc3RlciBhY2Nlc3Nlcy4KKyAgICAgICAgICAgICAg
ICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBpZiAo
c2xvdC5pc1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2Vu
ZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAg
ICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFz
ZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxp
ZCgpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zm
c2V0IDogY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAg
ICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hl
ZE9mZnNldCgpOwogICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVs
bHB0cjsKQEAgLTI5MywxMyArMzA3LDE1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlD
YWNoZUdldEJ5SUQKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNj
ZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsK
KyAgICAgICAgICAgIC8vIE9PUFM6IG5lZWQgdGVzdCBmb3IgdGhpcyEKKyAgICAgICAgICAgIG5l
d0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xv
dC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAg
ICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVy
ZSkpCisgICAgICAgICAgICAvLyBPT1BTOiBjb25zaWRlciB0aGlzIGNhc2UuCiAgICAgICAgICAg
ICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBnZXR0ZXIp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUo
KSB8fCBzbG90LmlzVW5zZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFi
bGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nl
c3NDYXNlOjpNaXNzIDogQWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53
YXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwg
V1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICBBY2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAg
ICAgaWYgKHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzIsNyBAQCBzdGF0
aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxv
YWRUYXJnZXRGcm9tUHJveHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNl
dCgpLCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVs
bHB0ciwKICAgICAgICAgICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xv
dC5zbG90QmFzZSgpIDogbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRl
KTsKKyAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9u
IDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc2NiwxMCArNzY2LDkgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5v
cGVyYW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBj
WzZdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIShwY1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNP
YmplY3QoYmFzZUNlbGwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hh
aW4pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4u
c2V0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFp
bik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5z
ZXQodm0sIGNvZGVCbG9jaywgY2hhaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQ
dXRCeUlkRmxhZ3M+KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJ
ZEZsYWdzIHwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90
eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJh
eVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1
MjIsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5l
IGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVj
dCkKIHsKLSAgICBhdXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9i
amVjdCk7CiB9CiAKIHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNP
YmplY3QqIHRoaXNPYmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkK
QEAgLTYxMCw3ICs2MDksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0
YXRlCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAg
ICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlz
T2JqZWN0KSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVy
YWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICB9CkBAIC02MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVl
IGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUs
IGpzRG91YmxlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
ICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRo
aXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkp
CisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsK
ICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgfQpAQCAtODE2LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29u
dGlndW91cygpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgp
ICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAg
ICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0
ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHku
cHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0g
YnV0dGVyZmx5LmNvbnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWlu
c0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMs
IHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAg
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRv
JiBzdG9yYWdlID0gKnRoaXNPYmplY3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAg
ICAgICAgaWYgKGxlbmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNI
b2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5k
YXRhKCk7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTEx
NzQsNyArMTE3Myw3IEBAIHN0YXRpYyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMK
IHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAo
TElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNv
dXJjZS0+c3RydWN0dXJlKCktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7Cisg
ICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkp
ICYmICFob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAg
ICAgICAgaWYgKHZhbHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bG9uZWRBcmd1bWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDEwICs0OSw5IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVh
dGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBp
ZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlm
IChVTkxJS0VMWShzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
KSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwg
bnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7
Ci0KICAgICB9IGVsc2UgewogICAgICAgICBJbmRleGluZ0hlYWRlciBpbmRleGluZ0hlYWRlcjsK
ICAgICAgICAgaW5kZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxlbmd0aCk7CkBA
IC04MSw3ICs4MCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUK
ICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2Jq
ZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhl
IGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgog
ICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVu
Z3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhp
bmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkp
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBAQCBDbG9uZWRB
cmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQo
bXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUo
KSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJl
KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0
cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVu
dHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15
RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAg
ICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1l
LCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcg
KzE0NCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0
RGlyZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFT
U0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwor
ICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
blNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjQyLDYgKzI0Miw4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAg
ICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVD
YXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAg
ICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1
bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0
b3ItPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2Vj
LW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBj
b25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBl
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJs
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEs
NiArOTEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihKCiAgICAg
ICAgIGNvZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZpc2l0b3Iu
YXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogRnVu
Y3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21HbG9iYWxDb2RlKApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRh
YmxlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTcy
LDYgKzE3Miw5IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX0lORk87CiAKICAgICBJbmZlcnJlZFZh
bHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0
KCk7IH0KKyAgICAvLyBDYWNoZWQgcG9seSBwcm90byBzdHJ1Y3R1cmUgZm9yIHRoZSByZXN1bHQg
b2YgY29uc3RydWN0aW5nIHRoaXMgZXhlY3V0YWJsZS4KKyAgICBTdHJ1Y3R1cmUqIGNhY2hlZFBv
bHlQcm90b1N0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLmdl
dCgpOyB9CisgICAgdm9pZCBzZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkgeyBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRo
aXMsIHN0cnVjdHVyZSk7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0YWJs
ZUJhc2U7CkBAIC0xODksNiArMTkyLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8RnVu
Y3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxUeXBl
U2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVycmVk
VmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURh
dGEuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBG
dW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rp
b25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0
cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwg
Z2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qs
IHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9p
ZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAg
ICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAh
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNp
b24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5j
dGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxMyBAQCBjb25zdCBTdHJpbmcg
SW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlv
bjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBu
ZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAgICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNT
RVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0b3IoKSk7CiAgICAgQVNTRVJU
KG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxsZWUoKSk7CiAKKyAgICBBU1NF
UlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisKICAgICAvLyBuZXdUYXJnZXQg
bWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0
LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nh
c3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDIyMjQ2NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNT
dGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBBcnJheVdpdGhDb250
aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAgICAgaWYgKGNvdW50
ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJS
QVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7
CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3Rv
cmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xlcyBvciBpcyBvdGhl
cndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBnZW5lcmljIGFsZ29y
aXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYg
dGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgCisg
ICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8fCBoYXNTcGFyc2VN
YXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5cGUoKSkpIHsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsxMDQ4LDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZv
ciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBk
b24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiBy
ZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAg
IHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBp
ZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVu
ZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1
b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYp
KSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55
SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3
ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5
IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxk
IGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0g
b2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAg
ICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBj
b3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTE0MzYs
NyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAg
ICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0g
Z2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJl
Y3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIy
NDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjEsOCArNjEsOCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5G
YXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXku
cHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5n
IHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAkocmV2
aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNCb3VuZEZ1
bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDYgKzEzNSw3IEBAIGlubGluZSBTdHJ1
Y3R1cmUqIGdldEJvdW5kRnVuY3Rpb25TdHJ1Y3QKICAgICAvLyBpc24ndCBhbnkgZ29vZCBwbGFj
ZSB0byBwdXQgdGhlIHN0cnVjdHVyZSBvbiBJbnRlcm5hbCBGdW5jdGlvbnMuCiAgICAgaWYgKHRh
cmdldEpTRnVuY3Rpb24pIHsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0YXJnZXRK
U0Z1bmN0aW9uLT5yYXJlRGF0YSh2bSktPmdldEJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAg
ICAgICAgLy8gT09QUzoKICAgICAgICAgaWYgKHN0cnVjdHVyZSAmJiBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpID09IHByb3RvdHlwZSAmJiBzdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpID09
IGdsb2JhbE9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlz
aW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1
bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAg
b3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAg
IG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxs
KCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4
dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChT
dHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFz
Q2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1
cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAg
IG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwog
I2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVl
Iik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNiwxNiArMTI2LDIyIEBAIEZ1bmN0aW9u
UmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJlRGF0YS5n
ZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVjdGlv
bihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGdl
dChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOworICAgIGlmIChwcm90b3R5cGUu
aXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICBy
ZXR1cm4gZ2xvYmFsT2JqZWN0KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9u
UmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNT
dGF0ZSogZXhlYywgc2l6ZV90IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJl
RGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBl
ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMt
Pmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlw
ZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3Rv
dHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25S
YXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJh
cmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQg
bWF5IGJlIHRyeWluZyB0byByZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVu
c3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1NSw4
IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NF
UlQoISFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0
KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAg
ICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3Jh
cmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9
IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQo
KTsKIH0KIApAQCAtMzQxLDYgKzM0NCwxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpj
YWxsZXJHZXR0ZXIoCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd1R5cGVFcnJvcihl
eGVjLCBzY29wZSwgQVNDSUlMaXRlcmFsKCJGdW5jdGlvbi5jYWxsZXIgdXNlZCB0byByZXRyaWV2
ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAorc3RhdGljIHZvaWQgaW5mZXJDb25zdHJ1Y3RvclZh
bHVlSWZOZWVkZWQoVk0mIHZtLCBKU1ZhbHVlIHByb3RvdHlwZVZhbHVlLCBKU0Z1bmN0aW9uKiBj
b25zdHJ1Y3RvcikKK3sKKyAgICAvLyBPT1BTOiBpcyB0aGlzIHJlYWxseSBuZWVlZGVkPyBPciBj
YW4gd2UganVzdCBnZXQgYXdheSB3aXRoIGRvaW5nIHRoaXMgd2hlbgorICAgIC8vIGluaXRpYWxp
emluZyB0aGUgcHJvZmlsZT8KKyAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2Fz
dDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGVWYWx1ZSk7CisgICAgaWYgKCFwcm90b3R5cGUpCisg
ICAgICAgIHJldHVybjsKKyAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVE
YXRhKHZtKS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rvcih2bSktPm5vdGlmeVdyaXRlKHZtLCBj
b25zdHJ1Y3RvciwgIlNldHRpbmcgLnByb3RvdHlwZSBpbnNpZGUgSlNGdW5jdGlvbiIpOworfQor
CiBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBF
eGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYg
c2xvdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMzcxLDcgKzM4NCw2IEBAIGJv
b2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAgICAgICAgIG9mZnNl
dCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBh
dHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zmc2V0KTsKICAgICB9
CiAKQEAgLTQ1Miw2ICs0NjQsNyBAQCBib29sIEpTRnVuY3Rpb246OnB1dChKU0NlbGwqIGNlbGws
IEV4ZWNTCiAgICAgICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKHZtKS0+Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZ2V0U2xvdCk7CiAgICAgICAg
IGlmICh0aGlzT2JqZWN0LT5tX3JhcmVEYXRhKQogICAgICAgICAgICAgdGhpc09iamVjdC0+bV9y
YXJlRGF0YS0+Y2xlYXIoIlN0b3JlIHRvIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBhIGZ1bmN0aW9u
Iik7CisgICAgICAgIGluZmVyQ29uc3RydWN0b3JWYWx1ZUlmTmVlZGVkKHZtLCB2YWx1ZSwgdGhp
c09iamVjdCk7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6
OnB1dCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKICAgICB9
CkBAIC01MTgsNiArNTMxLDggQEAgYm9vbCBKU0Z1bmN0aW9uOjpkZWZpbmVPd25Qcm9wZXJ0eShK
U09iagogICAgICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSh2bSktPmdldE93blByb3BlcnR5
U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOwogICAgICAgICBpZiAo
dGhpc09iamVjdC0+bV9yYXJlRGF0YSkKICAgICAgICAgICAgIHRoaXNPYmplY3QtPm1fcmFyZURh
dGEtPmNsZWFyKCJTdG9yZSB0byBwcm90b3R5cGUgcHJvcGVydHkgb2YgYSBmdW5jdGlvbiIpOwor
ICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpKQorICAgICAgICAgICAgaW5mZXJDb25zdHJ1
Y3RvclZhbHVlSWZOZWVkZWQodm0sIGRlc2NyaXB0b3IudmFsdWUoKSwgdGhpc09iamVjdCk7CiAg
ICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blBy
b3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2Vw
dGlvbik7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsK
IAorICAgIC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0
aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJv
dG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29w
ZSosIFN0cnVjdHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNN
YXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFw
LmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6Omlz
SXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9i
amVjdC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUo
KSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90
b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2Jq
ZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmRO
b25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNl
dEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgp
ICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJ
KHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6
OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7
CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChh
dHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJl
KHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUp
IHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQodGhpcy0+cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlz
KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90Lmlz
U3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsK
ICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVj
dDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0Vf
VkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUo
KTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRU
eXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7
CisgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICBBU1NFUlQoIWluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5z
dHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUt
Pm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2Uq
IEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZs
eSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBs
ZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFy
cmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBT
dHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9u
KHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9u
UHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xk
U3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1
Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJu
IGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydFVuZGVjaWRl
ZFRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwog
fQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0m
IHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpj
b252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZNJiB2bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6Y29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1
cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9B
cnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAK
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uo
Vk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTEzNjYsNyArMTM2
Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVj
dHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJu
IGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JW
YWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1
b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAg
cmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlh
bEludDMyKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNDc0LDcgKzE0NzQsNyBAQCBDb250aWd1b3Vz
RG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91YmxlCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGlu
Z1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBp
ZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91
bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0
dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91
YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBDb250aWd1b3VzSlNW
YWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5
cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAo
VU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJu
IENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRp
Z3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9V
TkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAg
ICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAg
IAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7
CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVj
dHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19U
WVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAg
ICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAg
ICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVy
dENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBA
IC0xNjMzLDE0ICsxNjMzLDE3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChW
TSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHZtLnByb3RvdHlw
ZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3QocHJvdG90eXBlKSk7CiAgICAgCi0gICAgU3RydWN0
dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24o
dm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBuZXdT
dHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhh
c1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBw
cm90b3R5cGUpOworICAgICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAg
fSBlbHNlCisgICAgICAgIHB1dERpcmVjdCh2bSwgc3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zm
c2V0KCksIHByb3RvdHlwZSk7CisKKyAgICBpZiAoIWFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5w
cm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhpcykpIHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5n
bG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+
Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgCkBAIC0xOTUxLDcgKzE5NTQsOCBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRv
UHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZh
bHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9iamVjdCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAg
ICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRoaXMtPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5n
SW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9y
IChjb25zdCBKU09iamVjdCogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3Qt
PnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBv
YmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlOwogICAgIGlmIChoaW50ID09IFByZWZl
clN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRl
eEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0
b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVl
LCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0K
LSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAg
ICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIC8vIENvbnZl
cnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5
LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9y
TGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0
aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODgyLDcgQEAg
Ym9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0
dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAg
ICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJy
YXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2
bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpIHsKICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFy
cmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkp
OwogICAgICAgICAgICAgc3RvcmFnZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7
CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcg
KzM1NjIsNyBAQCB1aW50MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVj
dC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgb2JqZWN0KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3Qt
PmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkBA
IC0zNjY4LDQgKzM2NzIsNTYgQEAgSlNWYWx1ZSBKU09iamVjdDo6Z2V0TWV0aG9kKEV4ZWNTdGF0
ZSogZQogICAgIHJldHVybiBtZXRob2Q7CiB9CiAKK2Jvb2wgSlNPYmplY3Q6OmFueU9iamVjdElu
Q2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAoreworICAgIFZNJiB2bSA9
ICp0aGlzLT52bSgpOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7
KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAg
ICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0K
K30KKworYm9vbCBKU09iamVjdDo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZN
JiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3sKKyAgICBpZiAocGFyc2VJbmRleChw
cm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpOworICAgIAorICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSB0
aGlzOyA7KSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90
eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKKyAgICAgICAgCisgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAg
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwg
cHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZz
ZXQob2Zmc2V0KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgaWYg
KGF0dHJpYnV0ZXMgJiAoUmVhZE9ubHkgfCBBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wg
SlNPYmplY3Q6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVj
dCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09i
amVjdDo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYg
KG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5z
aXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9u
UHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJ
KHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJl
Y3RJbmRleE1vZGUuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJT
dHJ1Y3R1cmUuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNs
dWRlICJWTS5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlW
YWx1ZU1hcC5oIgpAQCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAg
ICAgYm9vbCBpc1NlYWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVk
KHZtKTsgfQogICAgIGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0p
LT5pc0Zyb3plbih2bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBi
b29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0
aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToK
ICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3Ry
dWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVj
dGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBB
U1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBl
RGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFBy
b3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5p
c051bGwoKSB8fCAhc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IEhlYXA6Omhl
YXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOyAvLyBPT1BTIGZp
bmQgYSB3YXkgdG8gbWFrZSB0aGlzIHdvcmsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5p
c09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEy
OTgsNyArMTMwNSw3IEBAIGlubGluZSBKU09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QK
IAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4g
c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUg
SlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAs
NyArMTQwNyw4IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAg
ICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3Qt
PnN0cnVjdHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3Bl
cnR5U2xvdCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgLy8gT09QUzogVGhpcyBjb2RlIGxvb2tzIHdyb25nPyBX
aHkgZG9lc24ndCBpdCBjYWxsIHRoZSBnZXRQcm90b3R5cGUgZnVuY3Rpb24gaG9vaz8KKyAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3Qp
OwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIy
NDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNP
YmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8o
KS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xv
dC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlw
ZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlw
ZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVj
dC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wg
SlNPYmplY3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFi
bGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1l
dGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5
KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7
CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwog
ICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90
eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZh
bHNlKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1
dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0
SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+
c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9w
ZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5wcm90b3R5cGVDaGFpbk1h
eUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOwogICAgICAgICBpZiAoIXRoaXNP
YmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUsIHZh
bHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUs
IHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVF
cnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCShyZXZp
c2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGlu
ZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVuZ3RoCiAgICAg
ICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0g
c3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51bWVyYXRvci0+
Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMs
IGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQzMl90IG51bWJl
clN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTM2LDkgKzEzNiwxMSBAQCBpbmxpbmUgSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgbm9ybWFsaXplUHJvdG90eXBlQ2hh
aW4oZXhlYywgc3RydWN0dXJlKTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJTdHJ1
Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJhdG9y
LT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihl
eGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3Ro
ICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKSB7CisgICAgICAgIGVudW1lcmF0
b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWlu
KGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIH0KICAgICByZXR1cm4gZW51bWVy
YXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAko
cmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRlcmF0
b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+
c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQor
ICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90
eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVj
dC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9u
T2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNTZXRQcm90b3R5cGVBZGRG
YXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAh
PSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVj
dHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtODMsNiAr
ODMsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgSlNPYmplY3QqIHByb3RvdHlwZShjb25zdCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsKSBjb25zdAogICAgIHsKKyAgICAgICAgLy8gT09QUy4gbWFrZSBz
dXJlIGl0J3Mgb25seSBKU0dsb2JhbE9iamVjdCB0aGF0IGFjY2Vzc2VzIHRoaXMuCiAgICAgICAg
IEFTU0VSVCghaXNDb21waWxhdGlvblRocmVhZCgpKTsKICAgICAgICAgcmV0dXJuIGdldChnbG9i
YWwpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICB9CkBAIC0xMDEsMTMgKzEwMiw2IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwog
ICAgIH0KICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QK
LSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRs
eSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0
KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCog
Y29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
Y29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Myw2ICsxNDMs
MTEgQEAgc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZQogICAgIHdoaWxl
ICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAgIHJl
dHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAgICAgLy8gT09QUzogdGhpcyBkZWZp
bml0ZWx5IG5lZWRzIHNvbWUgbW9yZSB0aG91Z2h0CisgICAgICAgIGlmICghc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBl
Q2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29r
dXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1
cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShy
ZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0IGNoYXIq
IG9wdGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1
ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0
b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJl
Z2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRvSlNDYWxs
cywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlu
bGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2wsIHVzZU9iamVjdFJl
c3RTcHJlYWQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIE9iamVjdCBS
ZXN0L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblBy
b2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBh
cnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2Zp
bGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAgdihib29sLCB1c2VB
cnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwg
dXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUg
YWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKVwK
KyAgICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3Jl
YXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBz
dHJ1Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIy
NDY3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQ
cm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxp
bmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZv
JiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRl
eGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJv
dG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0
IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25l
ZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1
dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNz
SW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7IC8v
IFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1lYW4g
cG9seSBwcm90bywgc28gdXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVsbCBw
cm90b3R5cGVzLgorCisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90
b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0lu
Zm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1
Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7
CisgICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwogICAgICAg
ICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUp
OwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAgICAg
IGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBj
bGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgVk0mIHZtID0g
Z2xvYmFsT2JqZWN0LT52bSgpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIGlmICht
YWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVD
YXBhY2l0eSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpj
cmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZv
LCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBt
X3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOworCiAgICAg
cmV0dXJuIHN0cnVjdHVyZTsKIH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVjdHVyZSogUHJv
dG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90
IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBhbmQg
YWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxpbmUg
Y2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0cnVj
dHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVk
UHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFueU9iamVjdElu
Q2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGll
cyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBlICYg
fkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAotICAgIHJl
dHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0
cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5n
VHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFz
c0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSogUHJvdG90
eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewot
ICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
SlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmV0dXJu
IGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2Jq
ZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRl
ZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3RydWN0dXJl
KTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVjdCwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6
Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygp
LCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBs
ZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxP
YmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpTX0VYUE9S
VF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBK
U19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90
eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwg
Ym9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9SVF9QUklW
QVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0cnVjdHVy
ZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBjbGVh
ckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmpl
Y3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQcm90b3R5
cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4K
IAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFz
c0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1
Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUs
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwog
CiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAv
LyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0
ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxP
YmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0dXJlTWFw
ID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJ
bmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVNYXAgbV9z
dHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAg
U3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxsKHZt
LCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5KHBy
ZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwgbV9w
cm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAsIG1f
cHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAgLCBt
X2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRj
aHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCkBAIC0y
OTUsNiArMjk1LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAg
ICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7
CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVj
dHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUlu
Zm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1bnNp
Z25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsK
KyAgICByZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFt
ZSgpLCBEb250RW51bSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2Nr
ZXImLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQp
IHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNp
dHkobmV3TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1
bHQtPm1fcHJvdG90eXBlLnNldCh2bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAg
ICAgICAgIHJlc3VsdC0+c2V0TGFzdE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7
CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVy
ZXNBbmRNYXBGb3JNYXRlcmlhbGl6YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1
cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAg
ICBBU1NFUlQoc3RydWN0dXJlcy5pc0VtcHR5KCkpOwpAQCAtMzk4LDI2ICs0MTUsMTQgQEAgU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9w
ZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0
cmlidXRlcywgb2Zmc2V0KTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewot
ICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBp
ZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVu
dC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNP
YmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChiYXNl
LT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKFZNJiB2bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5p
c09iamVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9
IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MjYsNyArNDMxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6
OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9
ICpvYmplY3QtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGll
cyhvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBl
ID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUuc3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlz
T2JqZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFz
T2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MzYsMjAgKzQ0MSw2IEBAIGJvb2wgU3RydWN0dXJlOjpo
b2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3Ry
dWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBnbG9i
YWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRp
b24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKLXsK
LSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblByb3Bl
cnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAgIHJl
dHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQotCiBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJp
YnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1
Y3R1cmUgPSBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAtNTUy
LDYgKzU0Myw4IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAog
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJUKHBy
b3RvdHlwZS5pc09iamVjdCgpIHx8IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZlckdD
IGRlZmVyR0Modm0uaGVhcCk7CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZt
LCBzdHJ1Y3R1cmUpOwogCkBAIC0xMDY3LDExICsxMDYwLDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRp
ZFRyYW5zaXRpb25Gcm9tVGhpc1N0cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0
LmZpcmVBbGwoKnZtKCksIFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1ZhbHVl
IFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBjb25z
dAotewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxPYmpl
Y3QoKSk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0ganND
YXN0PFN0cnVjdHVyZSo+KGNlbGwpOwpAQCAtMTEwOSw3ICsxMDk3LDcgQEAgYm9vbCBTdHJ1Y3R1
cmU6OmlzQ2hlYXBEdXJpbmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NzMzNAogICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8
IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAgICAg
ICAgJiYgKCFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJl
bnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOworICAgICAgICAmJiAoIWhhc1N0b3JlZFBy
b3RvdHlwZSgpIHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENv
bmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCiBib29sIFN0cnVjdHVy
ZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0xMTIxLDQwICsxMTA5LDE5
IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCi17Ci0gICAgaWYgKHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKLSAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3Vy
cmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5
cGUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7Ci0gICAgICAgIAotICAgICAgICB1bnNpZ25lZCBh
dHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQo
dm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7Ci0gICAgICAgIGlmICghSlNDOjppc1ZhbGlk
T2Zmc2V0KG9mZnNldCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCi0gICAgICAg
IGlmIChhdHRyaWJ1dGVzICYgKFJlYWRPbmx5IHwgQWNjZXNzb3IpKQotICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1S
ZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZh
bHVlKQorUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNW
YWx1ZSB2YWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIFJlZjxTdHJ1
Y3R1cmVTaGFwZT4gYmFzZVNoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAgIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gY3VyU2hhcGUgPSBiYXNlU2hhcGUucHRyKCk7CiAgICAgU3Ry
dWN0dXJlKiBjdXJTdHJ1Y3R1cmUgPSB0aGlzOwogICAgIEpTVmFsdWUgY3VyVmFsdWUgPSB2YWx1
ZTsKKyAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZTsKICAgICB3aGlsZSAoY3VyU3Ry
dWN0dXJlKSB7CisgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSB8PSAhY3VyU3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNoUHJv
cGVydHlDb25jdXJyZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFwRW50
cnkmIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVy
dHkoKmVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50cnku
a2V5KS5pc1ByaXZhdGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5hZGRQ
cm9wZXJ0eSgqZW50cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg
ICAgICAgIH0pOwogCkBAIC0xMTY4LDI2ICsxMTM1LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4g
U3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwoKTsK
IAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkg
ewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsK
LSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwotICAg
ICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1clZh
bHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAgICAg
ICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKIAotICAgICAg
ICBjdXJTdHJ1Y3R1cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgp
OworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAgICAg
ICBKU09iamVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVk
UHJvdG90eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0KQor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNo
YXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlS
ZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgIGN1
clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90b3R5
cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNoYXBl
OwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUq
IG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxpbmVD
YXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9yZWRQ
cm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhl
ci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1w
KFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIodGhp
cyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDIsNyArMTE2
Nyw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAKICAg
ICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAg
ICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNTdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6Iiwg
cG9seVByb3RvT2Zmc2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2Vs
bCgpKQogICAgICAgICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlw
ZS5nZXQoKS5hc0NlbGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkBA
IC0xMjg3LDcgKzEyNTQsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVF
bnVtCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmdldCgpKQog
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5m
bygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
Z2V0KCktPmlzRGljdGlvbmFyeSgpIHx8IHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3Zl
cnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
ICAgICBzdHJ1Y3R1cmUrKzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBA
QCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlz
SW1tb3J0YWw7CiAgICAgCisgICAgZW51bSBQb2x5UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUg
cHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlw
ZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4
aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAg
flN0cnVjdHVyZSgpOwogCkBAIC0xMzgsNyArMTQwLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAg
ICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5
cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlw
ZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1f
cHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIoKSk7CiAgICAgfQogCiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAt
MTY3LDcgKzE2OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0
eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVu
aXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlU
cmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVy
ZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1l
LCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1
cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHBy
b3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlv
bihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRyaWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3Ry
dWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0
aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2lu
dEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURp
Y3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKik7CkBAIC0yMDgsNyArMjEwLDcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5
U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9v
bCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBw
cm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkKQEAgLTI0MCwyNiArMjQyLDM5IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1h
eUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9Q
UklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
IGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7
Ci0gICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBO
b25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNv
bnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3Qq
KSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNv
bnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlz
IG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1
Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlz
IHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lk
IHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsg
bV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAot
ICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUu
Z2V0KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBK
U1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5n
ZXQoKTsKKyAgICB9CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QK
KyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7Cisg
ICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpT
VmFsdWUgc3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmpl
Y3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0
cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7
CisKICAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3Ry
dWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHBy
b3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlw
ZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBl
Rm9yTG9va3VwKENvZGVCbG9jayopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5
cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4q
IHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBl
Rm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1
Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0
YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBj
aGVhcCB0byBtYXJrIGR1cmluZyBHQyBpZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxs
IGFuZCBib3VuZGVkIGFtb3VudApAQCAtMjcyLDE0ICsyODcsMjQgQEAgcHVibGljOgogICAgIAog
ICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAg
IGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBq
dXN0IHRoZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwot
ICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29u
c3QKICAgICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRh
LmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25z
dAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQo
KSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2
bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9j
YXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAg
CiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU1
OCw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2
bSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGll
c0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0K
ICAgICBib29sIGhhc0luZmVycmVkVHlwZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJu
ICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU4OCwxMSArNjA3LDcgQEAgcHVibGljOgogICAg
ICAgICB3aWxsU3RvcmVWYWx1ZVNsb3codm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9w
dGltaXplLCBJbmZlcnJlZFR5cGVUYWJsZTo6T2xkUHJvcGVydHkpOwogICAgIH0KIAotICAgIFJl
ZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAv
LyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlz
IG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBv
bmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJl
ZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5
UHJvdG9TdHJ1Y3R1cmUpOwogICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0
OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29u
c3Q7CkBAIC03MjAsOCArNzM1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9m
U2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAK
LSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVk
UHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxp
ZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwg
SlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3Ry
dWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4o
Y29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiAr
NzQ2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJl
SUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBy
YXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0g
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNP
clJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxz
RnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNv
bnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5
KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVD
aGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlQ2hhaW4uY3BwCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1
LDIzIEBAIHZvaWQgU3RydWN0dXJlQ2hhaW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9
CiAKK3ZvaWQgU3RydWN0dXJlQ2hhaW46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3Qq
IGhlYWQpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNp
emUgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJy
ZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJl
bnQpKQorICAgICAgICArK3NpemU7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPltdPihzaXplICsgMSk7CisKKyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09i
amVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1
cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3Rvcltp
KytdLnNldCh2bSwgdGhpcywgY3VycmVudC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0u
aGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAg
ICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJ
KHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUNoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAg
IHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0g
ICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQp
CisgICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVh
ZCkKICAgICB7IAogICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZt
LCB2bS5zdHJ1Y3R1cmVDaGFpblN0cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5p
c2hDcmVhdGlvbih2bSwgaGVhZCk7CkBAIC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9y
IChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+
c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3Rk
OjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAg
ICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhl
YWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwo
KSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgp
KQotICAgICAgICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAg
ICAgCi0gICAgICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0g
V1RGTW92ZSh2ZWN0b3IpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
SlNPYmplY3QqIGhlYWQpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNl
dHNFeHRyYWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlSW5saW5lcy5oCShyZXZpc2lvbiAyMjI0NjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYg
KzYxLDcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxp
bmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsK
KyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2
YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBT
dHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0
b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFz
U3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5
cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1
ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25z
dAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7Cisg
ICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90
eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsK
KyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7
CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJ
TkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2Jq
ZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1
cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJl
dHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0
LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30K
KworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3Ry
dWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0
KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4g
cHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5M
SU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDE1ICsxOTYs
MzIgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVy
biBmYWxzZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFBy
aW1pdGl2ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisg
ICAgaWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAg
ICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQo
c3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4g
Z2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAg
ICBpZiAoaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAg
IGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xv
YmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3Rv
dHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2Jh
bE9iamVjdCwgdGhpcyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0gU3Ry
aW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7Citp
bmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NF
UlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkpCisgICAg
ICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJldHVybiBw
cm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7CiB9CiAK
IGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSog
ZXhlYykgY29uc3QKQEAgLTE4MiwyNyArMjI5LDI4IEBAIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVy
ZTo6cHJvdG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0
dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
IGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4o
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29u
c3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwog
ICAgIC8vIFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2FuIHNo
YXJlIGl0LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBl
Q2hhaW4uZ2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9y
TG9va3VwKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0
KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkg
PyAwIDogYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFs
aWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkgewor
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmpl
Y3QsIGJhc2UpOworICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywg
U3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6
IGFzT2JqZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90
eXBlQ2hhaW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpw
cm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hh
aW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
YmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhl
Yy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5saW5l
IGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29sIFN0
cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVD
aGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewogICAg
IGlmICghY2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7Cisg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBi
YXNlKTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gY2Fj
aGVkUHJvdG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAm
JiAhcHJvdG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5cGUp
LT5zdHJ1Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsyNjEs
NiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0dXJu
IHByb3RvdHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5lIGJv
b2wgU3RydWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNh
Y2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUg
dm9pZCBTdHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQp
CiB7CiAgICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC00MDAsNyArNDQzLDcgQEAg
aW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1v
dmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQ
cm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5F
IHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSog
dGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhp
cywgdGFibGUpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNDY3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2lu
Y2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNp
bmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBA
IC03MCw2ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3Iu
YXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yKTsKIH0KIAog
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDEzIEBAIGlubGluZSB2b2lk
IFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUu
Y2xlYXIoKTsKIH0KIAorSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUlu
ZmVycmVkQ29uc3RydWN0b3IoVk0mIHZtKQoreworICAgIGlmICghbV9pbmZlcnJlZENvbnN0cnVj
dG9yKQorICAgICAgICBtX2luZmVycmVkQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBJbmZlcnJl
ZFZhbHVlOjpjcmVhdGUodm0pKTsKKyAgICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdl
dCgpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUu
dG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9i
amVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0Fk
YXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYg
a2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlz
aW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDE1IEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAg
ICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90
b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhh
dCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhl
IFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBt
aWdodCBiZSB0aGUgInByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJ
ZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUg
YSBjb25zdGFudCBjb25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVk
Q29uc3RydWN0b3IgcG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEgSlNGdW5j
dGlvbi4KKyAgICAvLyBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRo
aXMgd2lsbCBiZWNvbWUgaW52YWxpZGF0ZWQuCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5m
ZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIC8vIE1heSBiZSBudWxscHRyLgorICAgIEluZmVy
cmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IoKSB7IHJldHVybiBtX2luZmVycmVkQ29uc3Ry
dWN0b3IuZ2V0KCk7IH0KKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBA
IC03Niw2ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9w
cmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1
ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1f
aW5mZXJyZWRDb25zdHJ1Y3RvcjsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlP
ZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0
PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFBy
b3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBv
aW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIy
MjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDExICs3MSwxMyBAQCB2b2lkIFR5cGVQcm9maWxlckxv
Zzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBlbnRyeS0+dmFs
dWU7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKICAgICAgICAgaWYg
KGlkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgp
KS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7IAorICAgICAgICAgICAgc3RydWN0dXJlID0g
SGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOwog
ICAgICAgICAgICAgYXV0byBpdGVyID0gc2VlblNoYXBlcy5maW5kKHN0cnVjdHVyZSk7CiAgICAg
ICAgICAgICBpZiAoaXRlciA9PSBzZWVuU2hhcGVzLmVuZCgpKSB7Ci0gICAgICAgICAgICAgICAg
c2hhcGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUpOwotICAgICAgICAgICAg
ICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgICAgIGJv
b2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CisgICAgICAgICAgICAgICAgc2hhcGUg
PSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUsIHNhd1BvbHlQcm90b1N0cnVjdHVy
ZSk7CisgICAgICAgICAgICAgICAgaWYgKCFzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAg
ICAgICAgICAgICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOwogICAgICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJ
KHJldmlzaW9uIDIyMjQ2NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRl
QmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUpIHsgbV92
YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVyKCkgY29u
c3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigpIGNvbnN0
IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJl
dHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBjb25zdCB7
IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdyYXBwZXJDYWNoZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHJldmlzaW9uIDIyMjQ2NykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlckNhY2hlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk0LDYgKzk0LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV3JhcHBlckNsYXNzPiBp
bmxpbmUgSgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBXcmFwcGVyQ2xhc3M+IGlubGluZSBKU0M6OkpT
T2JqZWN0KiBnZXRET01Qcm90b3R5cGUoSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCiB7CisgICAgLy8gT09QUzogbG9vayBpbnRvIHRoaXMKICAgICByZXR1cm4g
SlNDOjpqc0Nhc3Q8SlNDOjpKU09iamVjdCo+KGFzT2JqZWN0KGdldERPTVN0cnVjdHVyZTxXcmFw
cGVyQ2xhc3M+KHZtLCBnbG9iYWxPYmplY3QpLT5zdG9yZWRQcm90b3R5cGUoKSkpOwogfQogCklu
ZGV4OiBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIyMjQ2NykKKysrIFRv
b2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTYxOSw3
ICs2MTksNyBAQCBkZWYgcnVuRlRMTm9DSklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wCiBlbmQK
IAogZGVmIHJ1bkZUTE5vQ0pJVEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAg
ICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9
ZmFsc2UiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsg
b3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1uby1jaml0LWIzbzEi
LCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAiLS1mb3JjZVBvbHlQcm90
bz10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyAr
IG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZh
bGlkYXRlKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC02NDcsNyArNjQ3LDcgQEAg
ZGVmIHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVAogZW5kCiAKIGRlZiBydW5G
VExFYWdlcigqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRsLWVhZ2Vy
IiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdF
Ul9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNw
ZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJyaWdnc0Fs
bG9jYXRvcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBF
QUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVz
dFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyV2F0Y2hkb2coKm9wdGlv
bmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBAQCBkZWYgcnVuVHlwZVBy
b2ZpbGVyCiAKICAgICBydW4oImZ0bC1uby1jaml0LXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBl
UHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKQogICAgIHJ1
bigiZnRsLXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09Q
VElPTlMpKQorICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXItZm9yY2UtcG9seS1wcm90by1mdGwt
ZWFnZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUi
LCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkNvbnRyb2xG
bG93UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322048</attachid>
            <date>2017-09-27 18:01:06 -0700</date>
            <delta_ts>2017-09-27 19:49:06 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>179503</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNTc2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
c3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzUgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsK
KyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHByb3Rv
ID0gY3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHByb3RvOworCitmdW5jdGlvbiB2YWxpZGF0
ZSh4LCB2KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4LmN1c3RvbUdldHRl
cik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitwcm90by5mb28gPSAyNTsKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitS
ZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsKKyAgICB2YWxpZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJl
Y3RuZXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50
cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMz
IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7Cisg
ICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJu
IG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHggPSBuZXcgVWludDMyQXJyYXko
MTApOworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9fXyA9IG9iajsKKwor
ZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUo
Zm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBhc3NlcnQoZm9v
KHgpID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJvdG9fXyA9IHt9OworCithc3NlcnQoZm9v
KHgpID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBD
IHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9
OworICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcg
QzsKKyAgICAgICAgLy9wcmludChgUmVzdWx0IGZyb20gZm9vKCk6IGAsICR2bS52YWx1ZShyZXN1
bHQpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3VsdCA9IGZvbygpOwor
ICAgIHJlc3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFr
ZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3Rv
SW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdp
dGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90
b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAor
ICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xldCBwID0gdW5kZWZp
bmVkOworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydCh4LnggPT09IDIwKTsKKyAg
ICBhc3NlcnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7
Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgewor
ICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFs
dGVybmF0ZVByb3RvID0geworICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAg
ICB9Cit9OworCitsZXQgYWx0ZXJuYXRlUHJvdG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4g
MjI7IH0sCisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisK
K09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6
IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5feDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsK
KyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlz
Ll94ID0gNDI7CisgICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVu
Y3Rpb24gdmFsaWRhdGUobywgcCkgeworICAgIGFzc2VydChvLnggPT09IHApOworfQorbm9Jbmxp
bmUodmFsaWRhdGUpOworCitsZXQgYXJyID0gW107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMjU7ICsraSkKKyAgICBhcnIucHVzaChmb28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwg
NDIpOworfQorCitmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJu
YXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitm
b3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBh
cnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09
IDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWlu
aGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNp
bmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by11c2luZy1pbmhlcml0YW5jZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBA
CitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGdldCBiYXooKSB7IHJl
dHVybiB0aGlzLng7IH0KKyAgICB9CisgICAgQy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBu
ZXcgQzsKKyAgICByZXR1cm4gQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisg
ICAgZm9vKCk7CisKK2Z1bmN0aW9uIGJhcihwKSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgewor
ICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAg
ICB0aGlzLnggPSAyMjsKKyAgICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQor
Citmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBiYXIoZm9vKCkpOworCitsZXQgaW5z
dGFuY2VzID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8IDQwOyArK2kpCisgICAgaW5zdGFuY2Vz
LnB1c2goYmFyKGZvbygpKSk7CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShp
dGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9
PT0gMjIpOworICAgIGFzc2VydChpdGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGluc3RhbmNlcy5mb3JFYWNoKCh4KSA9PiB2YWxp
ZGF0ZSh4KSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACitsZXQgeSA9IDQyOworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b0luc3RhbmNlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xh
c3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAg
ICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IHk7CisgICAgICAgIHJldHVybiBuZXcgQzsK
KyAgICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7
CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcG9seVByb3RvSW5zdGFuY2UgPSBtYWtlUG9s
eVByb3RvSW5zdGFuY2UoKTsKK1N0cmluZy5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3Rv
SW5zdGFuY2U7CitTeW1ib2wucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNl
OworbGV0IHN0cmluZ3MgPSBbCisgICAgImZvbyIsCisgICAgU3ltYm9sKCJmb28iKSwKKyAgICAi
YmFyIiwKKyAgICBTeW1ib2woImJhciIpLAorXTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAg
ICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQor
bm9JbmxpbmUoYXNzZXJ0KTsKKworZnVuY3Rpb24gdmFsaWRhdGUocykgeworICAgIGFzc2VydChz
LnggPT09IDIwKTsKKyAgICBhc3NlcnQocy55ID09PSB5KTsKKyAgICBhc3NlcnQocy5ub25FeGlz
dGVudFByb3BlcnR5ID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Q
cm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7CisgICAgYXNzZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09
IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpOworfQorbm9JbmxpbmUodmFsaWRhdGUp
OworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Yg
c3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9CisKK3kgPSAyNzsKK3Bv
bHlQcm90b0luc3RhbmNlLl9fcHJvdG9fXyA9IHt6OjQwMCwgeTogeX07Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAg
ICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUt
aXMtbm90LWpzLW9iamVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5
cGUtaXMtbm90LWpzLW9iamVjdC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9w
cm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMy
IEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgZnVuY3Rpb24gYmFyKCkgeworICAgICAgICB0aGlz
LnggPSA0MjsKKyAgICB9CisgICAgYmFyLnByb3RvdHlwZSA9IDUwOworICAgIHJldHVybiBuZXcg
YmFyKCk7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitsZXQgaXRlbXMgPSBbCisgICAgZm9vKCksCisg
ICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCks
CitdOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhl
cmUgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gNDIpOworICAgIGFzc2Vy
dChpdGVtLl9fcHJvdG9fXyA9PT0gT2JqZWN0LnByb3RvdHlwZSk7Cit9CisKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpCisgICAg
ICAgIHZhbGlkYXRlKGl0ZW0pOworfQpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIvZXM2LWNs
YXNzZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvZXM2LWNsYXNzZXMu
anMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2VzNi1jbGFzc2Vz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBAIGFzc2VydCh0eXBlcy5nbG9iYWxU
eXBlU2V0LnN0cnVjdHVyZXNbMF0KIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LnN0cnVjdHVy
ZXNbMF0ucHJvdG8uZmllbGRzLmluZGV4T2YoIm1ldGhvZEIiKSAhPT0gLTEsICJzaG91bGQgaGF2
ZSBtZXRob2RCIik7CiAKIHR5cGVzID0gZmluZFR5cGVGb3JFeHByZXNzaW9uKHdyYXBwZXIsICJh
bmltYWxJbnN0YW5jZSA9Iik7Ci1hc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlw
ZU5hbWUgPT09ICJBbmltYWwiLCAiU2hvdWxkIHNob3cgY29uc3RydWN0b3IgbmFtZSIpOworYXNz
ZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lID09PSAiQW5pbWFsIiwgIlNo
b3VsZCBzaG93IGNvbnN0cnVjdG9yIG5hbWUsIGJ1dCB3YXM6ICIgKyB0eXBlcy5nbG9iYWxUeXBl
U2V0LmRpc3BsYXlUeXBlTmFtZSk7CiBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1
cmVzLmxlbmd0aCA9PT0gMSwgInNob3VsZCBoYXZlIG9uZSBzdHJ1Y3R1cmUiKTsKIGFzc2VydCh0
eXBlcy5nbG9iYWxUeXBlU2V0LnN0cnVjdHVyZXNbMF0uY29uc3RydWN0b3JOYW1lID09PSAiQW5p
bWFsIiwgIlNob3VsZCBiZSBBbmltYWwiKTsKIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LnN0
cnVjdHVyZXNbMF0ucHJvdG8uZmllbGRzLmxlbmd0aCA9PT0gMiwgInNob3VsZCBoYXZlIHR3byBm
aWVsZHMiKTsKSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMzYsNyArMzYsNyBAQCBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5
VHlwZU5hCiBhc3NlcnQodHlwZXMuaW5zdHJ1Y3Rpb25UeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9
PT0gIkMiLCAidmFyaWFibGUgJ3RoZUMnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQyci
KTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJhcmNoeVRl
c3QgPSBuZXcgQjsiKTsKLWFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlU
eXBlTmFtZSAnQSciKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlU
eXBlTmFtZSAnQSciICsgIiBidXQgd2FzOiAiICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5
VHlwZU5hbWUpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVzc2lvbih3cmFwcGVyLCAiaGll
cmFyY2h5VGVzdCA9IG5ldyBDOyIpOwogYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxh
eVR5cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxkIGhhdmUg
ZGlzcGxheVR5cGVOYW1lICdBJyIpOwpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZs
b3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cuanMJKHJl
dmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZhciBpID0gMDsg
aSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAgICAvLyBNYWtl
IHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2lnbm1lbnQgdG8g
eCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3aWxsIGJlIG1l
cmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0gMjA7CisgICAg
eCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rpb24oKSB7fTsK
ICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90eXBlOwpAQCAt
MjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9IG51bGw7CiBm
b3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93IC0gMTsg
aSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9IDIwOworICAg
IHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307
CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIy
Nyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0
aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNv
ZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0
ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJv
Z3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjSW50MzJPbmx5KQorICAgICAgICB7CisgICAgICAgIH0KKworI2lmIEVOQUJMRShK
SVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNsb3dDYWxs
KEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAgICAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdGF0aWNf
Y2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAg
IHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY2FsbERPTUdldHRlcigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0
PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7CisgICAg
ICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisgICAgICAgICAg
ICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1dKENDYWxsSGVscGVycyYgaml0LCBTbmlwcGV0UGFy
YW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRzID0gcGFy
YW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgR1BSUmVnIGRvbSA9IHBhcmFt
c1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGppdC5q
dW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKKworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICByZXR1cm4gc25pcHBldDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfTsKKworcHJpdmF0
ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CisKKyAgICBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2
bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCh0
aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgfQorfTsKKworc3RhdGljIGNvbnN0IERPTUpJVEdl
dHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRlIERPTUpJVEdldHRlckJhc2VKU09iamVj
dERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgY29uc3QgRE9N
SklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9ICZET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01K
SVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVyU2V0dGVyID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0dGVyKCksIG51bGxwdHIsIERPTUF0dHJpYnV0ZUFu
bm90YXRpb24geyBKU09iamVjdDo6aW5mbygpLCBkb21KSVQgfSk7CisgICAgcHV0RGlyZWN0Q3Vz
dG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tR2V0dGVy
IiksIGN1c3RvbUdldHRlclNldHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKTsKK30KKwogY29uc3QgQ2xhc3NJbmZvIEVs
ZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVsZW1lbnQpIH07CiBjb25zdCBDbGFzc0luZm8gTWFz
cXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0
ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXNxdWVyYWRlcikgfTsKIGNvbnN0IENs
YXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJSb290IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwg
bnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShSb290KSB9OwpAQCAtOTY1LDYgKzEwNDksNyBA
QCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9kZTo6c19pbmZvID0geyAiCiAjZW5kaWYKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlciIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0
dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckNvbXBsZXg6OnNfaW5mbyA9IHsg
IkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckNvbXBsZXgpIH07Citjb25zdCBDbGFzc0lu
Zm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkgfTsKICNpZiBFTkFCTEUoSklUKQogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9uT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRGdW5j
dGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsICZET01KSVRGdW5jdGlvbk9iamVj
dDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklURnVuY3Rp
b25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTA2Niw2ICsxMTUxLDcgQEAgc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0KEV4ZWNTdGF0ZSop
Owogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01K
SVRGdW5jdGlvbk9iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdChFeGVjU3Rh
dGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRl
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVCdWlsdGluKEV4ZWNTdGF0ZSopOwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmpl
Y3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5j
dGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSopOwpAQCAtMTM4Miw2ICsxNDY4
LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdl
dHRlckNvbXBsZXhPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmpl
Y3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEZ1bmN0aW9uT2Jq
ZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCwgMCk7CiAgICAgICAgIGFk
ZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdCIsIGZ1bmN0aW9u
Q3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdCwgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9u
KHZtLCAiY3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0
ZUJ1aWx0aW4iLCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4sIDIpOwogICAgICAgICBhZGRGdW5jdGlv
bih2bSwgImNyZWF0ZUdsb2JhbE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0LCAw
KTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJzZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSIsIGZ1
bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUsIDIpOwpAQCAtMjExNSw2ICsyMjAyLDE2IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmUKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKiBleGVjKQor
eworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2sodm0pOwor
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwganNOdWxsKCkpOwor
ICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogcmVzdWx0ID0gRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShyZXN1bHQpOworfQorCisKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25T
ZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJ
NzkxOUI3ODAxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8q
IEIzQ29tcGlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTc5MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1
QTgzNCAvKiBKSVRNYXRoSUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5N
YXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNC
MzQ4MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJB
NDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAw
MDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRl
UmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVS
ZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFB
MkExRTg5Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5OCw2ICszNDk5LDggQEAKIAkJNzkyMzND
MjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKSVRNYXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzky
Q0IzNDcxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2Rl
T3JpZ2luTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5
NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9C
M0NvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUy
RkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBHZXRQdXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0
MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lz
dGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3Rl
cnNCeUdyYXBoQ29sb3JpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM2
NSw2ICs3MzY4LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNv
ZGVCbG9jay5oICovLAogCQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNv
bmRpdGlvbi5jcHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5
Q29uZGl0aW9uLmggKi8sCisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmNwcCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJv
dG90eXBlQWNjZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyog
UHV0QnlJZEZsYWdzLmNwcCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0
QnlJZEZsYWdzLmggKi8sCiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRT
dGF0dXMuY3BwICovLApAQCAtODU1NCw2ICs4NTU5LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3
MDBCQzdGRUQgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTgxOTNFNDFCNEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGlt
ZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8q
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERD
MTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRD
b25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2
OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWls
dGluTmFtZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05f
UFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5f
UFJJVkFURV9OQU1FUwogCiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJp
dmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZh
dGUgfTsKK1N5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1By
aXZhdGUgfTsKIAogfSAvLyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BS
SVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZB
VEVfTkFNRVMKIAogZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Q
cml2YXRlTmFtZTsKK2V4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2Nv
cmVQcm90b1ByaXZhdGVOYW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19Q
VUJMSUNfRU5UUlkobmFtZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2
YXRlTmFtZS5pbXBsKCksICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgog
ICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZ
TUJPTChJTklUSUFMSVpFX0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFt
ZShJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJW
TVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJ
bXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJz
Y29yZVByb3RvUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0
PFN5bWJvbEltcGwmPihTeW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAg
IHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVf
UFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19F
TlRSWSkKQEAgLTIzOCw2ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJ
VkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9M
X1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5h
ZGQobV9kb2xsYXJWTVByaXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAg
ICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9s
bGFyVk1Qcml2YXRlTmFtZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3Vu
ZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRl
cnNjb3JlUHJvdG8pOworICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRl
bnRpZmllcnMtPnVuZGVyc2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lKTsKICAgICB9CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFt
ZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgog
ICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9M
KERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlm
aWVyJiBkb2xsYXJWTVB1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsg
fQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciYgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2Vt
cHR5SWRlbnRpZmllcjsKQEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01N
T05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJ
TFRJTl9TWU1CT0xTKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsK
ICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5
cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVy
KiwgSWRlbnRpZmllclJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNN
YXAgbV9wdWJsaWNUb1ByaXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRv
UHVibGljTWFwOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw5ICs1NSwxMCBAQCBu
YW1lc3BhY2UgQWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2Ug
PSBmYWxzZTsKIH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkK
K0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5
cGUodHlwZSkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNz
Q2hhaW4oV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9zdHJ1Y3R1cmUu
c2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJlKTsKICAgICBtX2NvbmRpdGlvblNldCA9
IGNvbmRpdGlvblNldDsKQEAgLTc5LDcgKzgwLDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9Owog
Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICBy
ZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25l
ciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikpOwogfQog
CiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKApAQCAtOTYs
NyArOTcsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQs
IG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNl
dCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpKTsKIH0KIAogQWNjZXNzQ2Fz
ZTo6fkFjY2Vzc0Nhc2UoKQpAQCAtMTM1LDcgKzEzNiw5IEBAIFZlY3RvcjxXYXRjaHBvaW50U2V0
KiwgMj4gQWNjZXNzQ2FzZTo6Y28KICAgICBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IHJlc3Vs
dDsKIAogICAgIGlmICgoc3RydWN0dXJlKCkgJiYgc3RydWN0dXJlKCktPm5lZWRJbXB1cmVQcm9w
ZXJ0eVdhdGNocG9pbnQoKSkKLSAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVBy
b3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJl
UHJvcGVydHlXYXRjaHBvaW50KCkKKyAgICAgICAgLy8gT09QUzogYWRkIGEgdGVzdCBmb3IgdGhp
cworICAgICAgICB8fCAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbiAmJiBtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQu
YXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRTZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwog
CiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkKQEAgLTE1MSw2ICsxNTQsOSBAQCBib29sIEFjY2Vz
c0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJy
YXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CkBAIC0yMTAsNiArMjE2LDE4IEBAIGJv
b2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRo
aXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3Bh
Y2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVmYXVsdDoKKyAgICAgICAgaWYgKG90aGVyLnR5cGUo
KSAhPSB0eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIGlmICghb3RoZXIubV9wcm90b3R5
cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNrIHdlIG5lZWQgc2luY2UgUHJvdG90eXBlQWNjZXNz
Q2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAgLy8gSWYgd2Ug
ZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBvbmx5IHRoZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xs
IGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAgICAgICAgIC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJh
c2Ugc3RydWN0dXJlLgorICAgICAgICAgICAgcmV0dXJuICptX3Byb3RvdHlwZUFjY2Vzc0NoYWlu
ID09ICpvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICB9CisKICAgICAgICAg
aWYgKCFndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFyZGVkQnlTdHJ1Y3R1
cmVDaGVjaygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yMTksMjIgKzIzNywy
NiBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAKIHZvaWQgQWNj
ZXNzQ2FzZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91dC5wcmludCht
X3R5cGUsICI6KCIpOworICAgIG91dC5wcmludCgiXG4iLCBtX3R5cGUsICI6KCIpOwogCiAgICAg
Q29tbWFQcmludGVyIGNvbW1hOwogCiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3N0YXRlKTsKIAot
ICAgIGlmIChtX3R5cGUgPT0gVHJhbnNpdGlvbikKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
c3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJE
dW1wKG5ld1N0cnVjdHVyZSgpKSk7Ci0gICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUpCi0gICAgICAg
IG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJl
LmdldCgpKSk7Ci0KICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAgICAgICAgIG91
dC5wcmludChjb21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAoIW1fY29uZGl0
aW9uU2V0LmlzRW1wdHkoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiY29uZGl0aW9ucyA9
ICIsIG1fY29uZGl0aW9uU2V0KTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQor
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWluID0gIiwgbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAgZWxzZSB7CisgICAgICAgIGlmIChtX3R5cGUgPT0g
VHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIs
IHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1
cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAgIG91dC5w
cmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgp
KSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnByaW50KCIp
Iik7CiB9CkBAIC0yNDMsNiArMjY1LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRXZWFrKFZN
JiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFya2VkKG1f
c3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAoIUhlYXA6
OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0yNzMsNiAr
MzAxLDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wKICAgICBp
ZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAg
ICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hh
aW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0
b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFuc2l0aW9u
OgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1cmUtPnBy
ZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwNSw2MiBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVy
YXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYgKHZpYVBy
b3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
Q2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQotICAgICAg
ICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6
OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNz
R1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRlLmJhc2VH
UFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4t
PmNoYWluKClbaV07CisgICAgICAgICAgICAgICAgYm9vbCBhdEVuZCA9IGkgKyAxID09IG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkuc2l6ZSgpOworICAgICAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgK
KyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwg
SlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAg
ICAgICBpZiAobV90eXBlID09IE1pc3MgJiYgIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0
cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0
KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNj
ZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYXNPYmplY3QocHJvdG90eXBl
KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgp
KTsgLy8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBzdG9yZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJv
dG90eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRS
ZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6
RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVl
TnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVu
ZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAg
ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94
eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5
VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRk
cmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBq
aXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJh
bmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNl
R1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVh
azsKICAgICB9IH07CkBAIC00MjgsNiArNDk3LDggQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0
ZUltcGwoQWNjZXNzR2VuZQogICAgIEFTU0VSVChtX2NvbmRpdGlvblNldC5zdHJ1Y3R1cmVzRW5z
dXJlVmFsaWRpdHlBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKTsKIAogICAgIGZv
ciAoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IG1fY29uZGl0aW9u
U2V0KSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsK
KwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbmRpdGlvbi5vYmplY3QoKS0+c3Ry
dWN0dXJlKCk7CiAKICAgICAgICAgaWYgKGNvbmRpdGlvbi5pc1dhdGNoYWJsZUFzc3VtaW5nSW1w
dXJlUHJvcGVydHlXYXRjaHBvaW50KCkpIHsKQEAgLTUwNCwxMyArNTc1LDE5IEBAIHZvaWQgQWNj
ZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRH
UFIgPSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAg
ICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUo
Ci0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJh
c2UoKSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7CisgICAgICAgIGlmIChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzbid0IHByZXR0eSwgYnV0
IHdlIGtub3cgd2UgZ290IGhlcmUgdmlhIGdlbmVyYXRlV2l0aEd1YXJkLAorICAgICAgICAgICAg
Ly8gYW5kIGl0IGxlZnQgdGhlIGJhc2VGb3JBY2Nlc3MgaW5zaWRlIHNjcmF0Y2hHUFIuIFdlIGNv
dWxkIHJlLWRlcml2ZSB0aGUgYmFzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBpdCdkIHJlcXVpcmUg
ZW1pdHRpbmcgdGhlIHNhbWUgY29kZSB0byBsb2FkIHRoZSBiYXNlIHR3aWNlLgogICAgICAgICAg
ICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAg
ICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAgICAg
ICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAgICAg
YmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfQog
CiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAg
IGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vz
c29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0gQ3Vz
dG9tQWNjZXNzb3JTZXR0ZXIpIHsKQEAgLTEwMTYsNyArMTA5Myw3IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgCiAgICAgY2FzZSBJbnRyaW5zaWNH
ZXR0ZXI6IHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQoKSkp
OwotICAgICAgICAKKwogICAgICAgICAvLyBXZSBuZWVkIHRvIGVuc3VyZSB0aGUgZ2V0dGVyIHZh
bHVlIGRvZXMgbm90IG1vdmUgZnJvbSB1bmRlciB1cy4gTm90ZSB0aGF0IEdldHRlclNldHRlcnMK
ICAgICAgICAgLy8gYXJlIGltbXV0YWJsZSBzbyB3ZSBqdXN0IG5lZWQgdG8gd2F0Y2ggdGhlIHBy
b3BlcnR5IG5vdCBhbnkgdmFsdWUgaW5zaWRlIGl0LgogICAgICAgICBTdHJ1Y3R1cmUqIGN1cnJT
dHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3ND
YXNlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1
ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUgPHd0
Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xODYsOSArMTg3LDI1IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1Bv
bHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nh
c2UmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOworICAg
IEFjY2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25z
dCBBY2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAg
ICAgICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5t
X29mZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAg
ICAgLCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAg
IGlmIChvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wcm90b3R5
cGVBY2Nlc3NDaGFpbiA9IG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNsb25lKCk7Cisg
ICAgfQorCiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRl
bGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAK
QEAgLTIyNyw2ICsyNDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fc3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRp
b25TZXQ7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0g
cGNbb3BMZW5ndGggLSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tp
ICsgb3BMZW5ndGggLSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAg
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAg
ICAgbV9nbG9iYWxPYmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90
b3R5cGUoKSwgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5
LDkgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAg
ICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAg
ICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0
QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vz
cy51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMo
c2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0K
IAotR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFj
Y2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRp
dGlvbmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZp
YVByb3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsK
ICAgICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RC
YXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0
aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4g
ZG9tQXR0cmlidXRlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVy
OgpAQCAtNjMsMTggKzYzLDE5IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJT
ZXR0ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6
dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21B
dHRyaWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdl
dHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCisvLyBPT1BTOiBkbyBzb21l
dGhpbmcgaGVyZS4gV2hvIGNhbGxzIHRoaXM/CiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LAogICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0g
Q3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAg
c3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5p
cXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UsIG51bGxwdHIpKTsKICAgICByZXN1bHQt
Pm1fY3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJldHVybiBXVEZN
b3ZlKHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDE0ICs0NiwxMiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGVt
aXRET01KSVRHZXR0ZXIoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiwgY29uc3QgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIqLCBHUFJSZWcgYmFzZUZvckdldEdQUik7CiAKKyAgICAvLyBPT1BTOiBjb25zaWRl
ciB3aGF0IHRoaXMgY3RvciBpcyBmb3IKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9v
bCB2aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
ID0gbnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRy
LAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAgICAgICBz
dGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAg
ICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
ID0gbnVsbHB0ciwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAorICAgICAg
ICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLCBzdGQ6Om9wdGlvbmFsPERPTUF0
dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFN0cnVj
dHVyZSosIFByb3BlcnR5T2Zmc2V0LAogICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwKQEAgLTY3
LDcgKzY1LDcgQEAgcHVibGljOgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29uc3QgeyBy
ZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQs
IFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNP
YmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+KTsKIAogICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSYpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJu
YWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJu
YWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2
LDExIEBAIHByaXZhdGU6CiBpbmxpbmUgU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2Nh
dGlvblByb2ZpbGU6OmNyZWF0ZUFsbG9jYXRpb25TdHJ1Y3R1cmVGcm9tQmFzZShWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQoIW1fc3RydWN0
dXJlIHx8IG1fc3RydWN0dXJlLmdldCgpLT5jbGFzc0luZm8oKSAhPSBiYXNlU3RydWN0dXJlLT5j
bGFzc0luZm8oKSk7CisgICAgQVNTRVJUKGJhc2VTdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcyBmb3Igc3ViY2xhc3NlcyBvZiBidWlsdGluIHR5cGVz
OgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgK
ICAgICBpZiAocHJvdG90eXBlID09IGJhc2VTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKQog
ICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNlU3RydWN0dXJlOwogICAgIGVsc2UKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0
dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIEludHJpbnNpY0dldHRlckFj
Y2Vzc0Nhc2U6OkludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBKU0Z1bmN0aW9uKiBpbnRyaW5z
aWNGdW5jdGlvbikKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCisgICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmlu
c2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBudWxscHRyKQogewog
ICAgIG1faW50cmluc2ljRnVuY3Rpb24uc2V0KHZtLCBvd25lciwgaW50cmluc2ljRnVuY3Rpb24p
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBj
YW5FbWl0SW50cmluc2ljR2V0dGVyKEpTRnVuY3Rpb24qLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lk
IGVtaXRJbnRyaW5zaWNHZXR0ZXIoQWNjZXNzR2VuZXJhdGlvblN0YXRlJik7CiAKKyAgICAvLyBG
SVhNRTogTWFrZSB0aGlzIHdvcmsgd2l0aCBwb2x5IHByb3RvOgorICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIEpTRnVuY3Rpb24q
IGludHJpbnNpY0Z1bmN0aW9uKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBj
bG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiBu
YW1lc3BhY2UgSlNDIHsKIAogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZTo6TW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEpTTW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KiBtb2R1bGVOYW1lc3BhY2VPYmplY3QsIEpTTW9kdWxlRW52aXJvbm1lbnQqIG1vZHVsZUVu
dmlyb25tZW50LCBTY29wZU9mZnNldCBzY29wZU9mZnNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVy
LCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCgpKQorICAgIDogQmFzZSh2bSwgb3duZXIsIE1vZHVsZU5hbWVzcGFj
ZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
KCksIG51bGxwdHIpCiAgICAgLCBtX3Njb3BlT2Zmc2V0KHNjb3BlT2Zmc2V0KQogewogICAgIG1f
bW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNldCh2bSwgb3duZXIsIG1vZHVsZU5hbWVzcGFjZU9iamVj
dCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDE1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJK
U0Z1bmN0aW9uSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsKKwordm9pZCBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZVByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25l
ZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAg
ICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBB
U1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgLy8gRklYTUU6IFdoZW4gZ29pbmcgcG9s
eSBwcm90bywgd2Ugc2hvdWxkIG1ha2UgYW4gYWxsb2NhdG9yIGFuZCB0ZWFjaAorICAgIC8vIGNy
ZWF0ZV90aGlzJyBmYXN0IHBhdGggaG93IHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3Qu
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNwor
ICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAg
ICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpzRXhl
Y3V0YWJsZSgpOworCisgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFi
bGUtPmNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpKSB7CisgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IEZpbmFsT2JqZWN0VHlwZSk7Cisg
ICAgICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxwdHI7CisgICAgICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgbV9pbmxpbmVDYXBhY2l0
eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBw
cm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKS0+ZW5zdXJlSW5mZXJy
ZWRDb25zdHJ1Y3Rvcih2bSk7CisgICAgICAgIGJvb2wgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJv
dG8gPSBmYWxzZTsKKyAgICAgICAgaWYgKEpTT2JqZWN0KiBwcm90b3R5cGVPZlByb3RvdHlwZSA9
IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgcHJvdG90eXBlLT5nZXRQcm90b3R5cGVEaXJl
Y3QoKSkpIHsKKyAgICAgICAgICAgIHBhcmVudFByb3RvdHlwZUlzUG9seVByb3RvID0gcHJvdG90
eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkKKyAgICAgICAgICAg
ICAgICAmJiBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKS0+
aW5mZXJyZWRDb25zdHJ1Y3RvcigpCisgICAgICAgICAgICAgICAgJiYgcHJvdG90eXBlT2ZQcm90
b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPmluZmVycmVkQ29uc3RydWN0b3IoKS0+
aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgIH0KKworICAgICAgICBpbmZlcnJlZENvbnN0
cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29uc3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNv
bnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIik7CisKKyAgICAgICAgaXNQb2x5
UHJvdG8gPSAoaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgfHwgcGFy
ZW50UHJvdG90eXBlSXNQb2x5UHJvdG8pICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9u
KCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICBpZiAoT3B0aW9uczo6Zm9yY2VQb2x5
UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gdHJ1ZTsKKyAgICB9CisKKyAgICB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAv
LyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgorICAg
ICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291
bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5
KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2Vs
eSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAgICAgICAgICAvLyBzZWUgdGhl
IHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBm
dW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgp
KSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywg
c28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAgICAgICAgICAgIC8vIG9iamVj
dCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9CisK
KyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAg
ICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0Lgor
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAg
IGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkp
CisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgICsraW5s
aW5lQ2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4oaW5saW5lQ2Fw
YWNpdHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0KKworICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8
PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNpemVfdCBhbGxv
Y2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5
KTsKKyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0
b3JGb3IoYWxsb2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEg
aW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KKyAgICBpZiAoYWxs
b2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAt
IGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOworICAgICAg
ICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBK
U0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0
dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwg
aXNQb2x5UHJvdG8pOworCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2Vl
cyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RG
OjpzdG9yZVN0b3JlRmVuY2UoKTsKKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICBB
U1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICBjb25zdHJ1
Y3Rvci0+anNFeGVjdXRhYmxlKCktPnNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSh2bSwgc3Ry
dWN0dXJlKTsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgIH0gZWxzZQorICAg
ICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKworICAgIG1fc3RydWN0dXJlLnNldCh2bSwg
b3duZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5
OworfQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2libGVEZWZhdWx0
UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7CisgICAgaWYgKHBy
b3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAgIFByb3BlcnR5
TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5n
c0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBwcm90b3R5cGUt
PnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlO
YW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6
OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJy
YXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBKU1ZhbHVlIHZh
bHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7CisK
KyAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1s
ZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBpZiAoanNEeW5h
bWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit9IC8v
IG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBp
c051bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpCi0gICAgewot
ICAgICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cnVjdHVy
ZSk7Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAg
ICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgot
ICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9w
ZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWluZmVycmVkSW5s
aW5lQ2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJl
LCBzbyBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Ci0gICAgICAg
ICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBo
YXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGVmYXVs
dCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVy
biBhIHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3Qu
Ci0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6
OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBp
bmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBBU1NF
UlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3Qu
Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0g
ICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVD
YXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChpbmxp
bmVDYXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5h
bE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90IGFsbG9jYXRp
b25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOwot
ICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0
b3JGb3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFrZSBhZHZhbnRh
Z2Ugb2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4K
LSAgICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxs
b2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmll
cjxVbmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwotICAgICAg
ICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNp
dHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIC8vIEVu
c3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBz
ZWUgaXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwot
Ci0gICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0cnVjdHVyZS5z
ZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5s
aW5lQ2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZVByb2ZpbGUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJv
dG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25z
dHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAgIHsK
QEAgLTExMyw3ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoKQogICAgIHsKLSAg
ICAgICAgbV9hbGxvY2F0b3IgPSAwOworICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxwdHI7CiAg
ICAgICAgIG1fc3RydWN0dXJlLmNsZWFyKCk7CiAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSAw
OwogICAgICAgICBBU1NFUlQoaXNOdWxsKCkpOwpAQCAtMTI2LDI3ICs3NCw3IEBAIHB1YmxpYzoK
IAogcHJpdmF0ZToKIAotICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQo
Vk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlw
ZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAg
ICAgICAgIHJldHVybiAwOwotCi0gICAgICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFBy
b3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6
U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAg
cHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0s
IHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5
TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBw
cm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewot
ICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9w
ZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0gICAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1v
biwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJy
aWRkZW4uCi0gICAgICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZh
bHVlKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsK
LQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQg
cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUp
OwogCiAgICAgTWFya2VkQWxsb2NhdG9yKiBtX2FsbG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8g
bWFrZSB0aGluZ3MgZWFzaWVyIGZvciBnZW5lcmF0ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDExICsyMDQs
MTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24gZ2VuZXJhdGVDb25kaXRpbwogICAgICAgICBi
cmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZTogeworICAg
ICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb246OmFic2VuY2UoCiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVj
dCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNl
T2ZTZXRFZmZlY3Q6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAg
ICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlT2ZTZXRFZmZlY3Qo
CiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgp
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMjU4LDYgKzI2
MiwxMiBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpCiAgICAgICAg
ICAgICAgICAgZGF0YUxvZygiSXQncyBhIHByb3h5LCBzbyBpbnZhbGlkLlxuIik7CiAgICAgICAg
ICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKICAgICAg
ICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgewor
ICAgICAgICAgICAgLy8gRklYTUU6IEludGVncmF0ZSB0aGlzIHdpdGggUHJvdG90eXBlQWNjZXNz
Q2hhaW46CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1
ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CiAgICAgICAg
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzks
NyArMzM5LDcgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhpY0FjY2VzcwogICAg
IGlmIChQb2x5bW9ycGhpY0FjY2Vzc0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICBkYXRhTG9n
KCJSZWdlbmVyYXRlIHdpdGggbV9saXN0OiAiLCBsaXN0RHVtcChtX2xpc3QpLCAiXG4iKTsKICAg
ICAKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0pOworICAgIEFjY2Vzc0dlbmVy
YXRpb25TdGF0ZSBzdGF0ZSh2bSwgY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7CiAKICAgICBz
dGF0ZS5hY2Nlc3MgPSB0aGlzOwogICAgIHN0YXRlLnN0dWJJbmZvID0gJnN0dWJJbmZvOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNj
ZXNzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsMTQgKzE3MSwxNiBA
QCBwcml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSB7Ci0gICAgQWNj
ZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICA6IG1fdm0odm0pIAor
ICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKICAgICAgICAgLCBtX2NhbGN1
bGF0ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0aW9uSGFuZGxpbmcoZmFsc2UpCiAgICAgICAg
ICwgbV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lmRXhjZXB0aW9uKGZhbHNlKQogICAgICAgICAs
IG1fY2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFsc2UpCiAgICAgewogICAgIH0KICAgICBWTSYg
bV92bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7CiAgICAgQ0NhbGxIZWxw
ZXJzKiBqaXQgeyBudWxscHRyIH07CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yKiBhbGxv
Y2F0b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpQcmVzZXJ2ZWRTdGF0ZSBwcmVz
ZXJ2ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRp
b246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
fQogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAg
ICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBj
YW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFz
ZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAg
ICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZz
ZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSk7CiAgICAgICAgIGlmIChjdXJy
ZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNv
bmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQpAQCAtMTMyLDYgKzE0MCwxNCBAQCBib29sIFByb3Bl
cnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgZGF0YUxvZygi
SW52YWxpZCBiZWNhdXNlIGl0J3MgYSBkaWN0aW9uYXJ5LlxuIik7CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9v
IGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAg
IC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3
aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAg
ICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAg
IHVuc2lnbmVkIGN1cnJlbnRBdHRyaWJ1dGVzOwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJy
ZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCksIGN1cnJlbnRBdHRy
aWJ1dGVzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVB
Y2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisK
K3N0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hh
aW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU0Nl
bGwqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgSlNP
YmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2Uo
KTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKworICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxz
ZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcmVzdWx0KG5l
dyBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKKworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZtKTsKKworICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKQorICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgp
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0
KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgp
KQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICBzdHJ1Y3R1
cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBhc09iamVjdChjdXJyZW50KSk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXN1bHQtPm1fY2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisK
KyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRy
dWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkg
aGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisg
ICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRo
ZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2Ug
aGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBw
cm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVudCk7CisgICAgICAgIGlmIChwcm90b3R5
cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3VuZCAmJiAhIXRhcmdldCkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29sIFBy
b3RvdHlwZUFjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29uc3QK
K3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgeworICAgICAgICBp
ZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBv
dGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFpbiA9PSBvdGhlci5tX2NoYWluOworfQor
Cit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
Cit7CisgICAgb3V0LnByaW50KCJQb2x5UHJvdG90eXBlQWNjZXNzQ2hhaW4iKTsKKyAgICBvdXQu
cHJpbnQoIjogW1xuIik7CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4p
IHsKKyAgICAgICAgb3V0LnByaW50KCJcdCIpOworICAgICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0
KTsKKyAgICAgICAgb3V0LnByaW50KCJcbiIpOworICAgIH0KKyAgICBvdXQucHJpbnQoIl0iKTsK
K30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFj
Y2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNl
IEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQ
cm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0No
YWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nl
c3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKworICAgIC8vIFJldHVy
bnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Q2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9seVByb3Rv
KTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFByb3RvdHlwZUFjY2Vzc0NoYWlu
PigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3QgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjb25zdDsKKworICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3ND
aGFpbiYgb3RoZXIpIGNvbnN0OworICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9
PSBvdGhlcik7CisgICAgfQorCisgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1
bHQ7CisKKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9jaGFpbjsgLy8gSW5jbHVkZXMgYmFzZSdz
IHN0cnVjdHVyZSBmb3Igbm93LCBidXQgcGVyaGFwcyB0aGlzIHNob3VsZCBiZSByZW1vdmVkLgor
fTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFj
Y2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFj
Y2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZt
LCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1By
b3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNv
bmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwg
c3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFp
bikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlh
UHJveHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsK
IH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNy
ZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3ND
YXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBl
ID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBv
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkp
OworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikp
KTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNj
ZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMs
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJs
aWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7Cisg
ICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7
IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwg
SlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCks
Ci0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFt
JiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1Ymxp
YzoKICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlh
YmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nh
c2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM3MzcsNiArMzczNywxMSBAQCBOb2RlKiBCeXRlQ29kZVBhcnNl
cjo6bG9hZCgKICAgICAgICAgICAgICAgICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUgdmFyaWFu
dC5zdHJ1Y3R1cmVTZXQoKSBhZ3JlZSBvbiB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBiZQogICAg
ICAgICAgICAgICAgIC8vIGhpbGFyaW91c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBOb3RlIHRo
YXQgd2UgYXJlIHJlbHlpbmcgb24gc3RydWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAgICAgICAg
ICAgLy8gYXQgbGVhc3Qgb25lIGVsZW1lbnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1ZSBoZXJl
IGJlY2F1c2Ugb2YgaG93IEdldEJ5SWRTdGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgorCisgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IHJpZ2h0IG5vdywgaWYgd2UgaGF2ZSBhbiBPUENTLCB3ZSBo
YXZlIG1vbm8gcHJvdG8uIEhvd2V2ZXIsIHRoaXMgd2lsbAorICAgICAgICAgICAgICAgIC8vIG5l
ZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlIG9uY2Ugd2UgaGF2ZSBhIGh5YnJpZCBkYXRh
IHN0cnVjdHVyZSBmb3IKKyAgICAgICAgICAgICAgICAvLyBwb2x5IHByb3RvOgorICAgICAgICAg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkK
ICAgICAgICAgICAgICAgICBKU09iamVjdCogcHJvdG90eXBlID0gdmFyaWFudC5zdHJ1Y3R1cmVT
ZXQoKVswXS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgICAgICAgICAgICAgYm9vbCBh
bGxBZ3JlZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8
IHZhcmlhbnQuc3RydWN0dXJlU2V0KCkuc2l6ZSgpOyArK2kpIHsKQEAgLTQzMzQsMTIgKzQzMzks
MTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAg
ICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEq
IHJhcmVEYXRhID0gZnVuY3Rpb24tPnJhcmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAg
aWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1
Y3R1cmUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURh
dGEpOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExh
emlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMg
cG9pbnQuCi0gICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxl
ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1f
Z3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJsZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0
IGhlcmU6CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJv
ZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0
cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVh
ZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4
Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAog
ICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2Rl
LT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29s
IGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdp
c3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAm
PSBzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiBzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAmJiAh
c3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nZXRD
b25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpID09
IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDExIEBA
IEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29uc3Ry
dWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVEYXRh
ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlubGlu
ZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7
Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+b2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1
cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQogCiAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDMwMCw3ICs0MzAwLDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNy
b0Fzc2VtYmxlcjo6WmVybywgcmFyZURhdGFHUFIpKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihK
SVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0
T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9m
ZnNldE9mQWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JHUFIpOwogICAgICAgICBtX2ppdC5sb2FkUHRy
KEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZz
ZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6
b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVyZUdQUik7CisKICAgICAgICAgc2xvd1BhdGgu
YXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIGFsbG9jYXRv
ckdQUikpOworCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0KHJlc3VsdEdQUiwgbnVsbHB0
ciwgYWxsb2NhdG9yR1BSLCBzdHJ1Y3R1cmVHUFIsIFRydXN0ZWRJbW1QdHIoMCksIHNjcmF0Y2hH
UFIsIHNsb3dQYXRoKTsKICAgICAgICAgCiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGls
ZXI6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCBy
YXJlRGF0YUdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMzcsNyAr
MzIzNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRCeVZhbEZvckMKICAgICBu
b1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNl
T2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywg
R1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZykKK3ZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQ
UlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcs
IEdQUlJlZyBzY3JhdGNoM1JlZykKIHsKICAgICAvLyBDaGVjayB0aGF0IHByb3RvdHlwZSBpcyBh
biBvYmplY3QuCiAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncygpLCAw
LCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChwcm90b3R5cGVSZWcpKTsKQEAgLTMyNDksOCArMzI0
OSwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvCiAgICAgTWFj
cm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AoJm1faml0KTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCBwZXJmb3JtRGVmYXVsdEhhc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoOChNYWNyb0Fzc2VtYmxl
cjo6RXF1YWwsCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIEpT
Q2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoUHJveHlPYmplY3RUeXBl
KSk7Ci0gICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcs
IHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKLSAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBD
ZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmVtaXRMb2FkU3RydWN0
dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgc2NyYXRjaDJSZWcpOwor
ICAgIC8vbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBT
dHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNo
UmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNS
ZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0
byBub3RQb2x5UHJvdG8gPSBtX2ppdC5icmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHNjcmF0
Y2gzUmVnKSk7CisgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRjaDNSZWcsIHNjcmF0
Y2gzUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNo
UmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZz
ZXRPZklubGluZVN0b3JhZ2UoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBub3RQb2x5UHJvdG8ubGlu
aygmbV9qaXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworCiAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaFB0cihNYWNy
b0Fzc2VtYmxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7CiAjaWYgVVNFKEpT
VkFMVUU2NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykp
LmxpbmtUbyhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM4OCwxMiBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIHByb3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFy
eSBzY3JhdGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7Cisg
ICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIEdQ
UlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3Jh
dGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2Ny
YXRjaDIuZ3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigp
OwogICAgICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNDZWxsID0gbV9qaXQu
YnJhbmNoSWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBHUFJSZWcgdmFsdWVS
ZWcgPSB2YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMzOTQsNyArMzQwMyw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgCiAg
ICAgICAgIGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAgICAgICBjb21waWxlSW5z
dGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVn
LCBzY3JhdGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUs
IHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNo
M1JlZyk7CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIApAQCAtMzQwNywx
MyArMzQxNiwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAg
ICAgCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHNj
cmF0Y2gyKHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAKICAg
ICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcgcHJvdG90eXBlUmVn
ID0gcHJvdG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIo
KTsKICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJSZWcg
c2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcs
IHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKIAog
ICAgIGJsZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwogfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CSh3b3JraW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm9u
U3BlY3VsYXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNl
KTsKICAgICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0g
ZmFsc2UpOwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSos
IEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRS
ZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBH
UFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2Ny
YXRjaDNSZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSopOwogICAgIHZvaWQg
Y29tcGlsZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg5NjksMTAgKzg5NjksMTIgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIExC
YXNpY0Jsb2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNC
bG9jayBsb29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBy
b3RvdHlwZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2Fk
UG9seVByb3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29tcGFy
ZVByb3RvdHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdFll
dEluc3RhbmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgY29udGlu
dWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3Rv
dHlwZURpcmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGRlZmF1
bHRIYXNJbnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9j
ayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICAKICAgICAgICAgTFZh
bHVlIGNvbmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09
IFVudHlwZWRVc2UpCkBAIC04OTkwLDE2ICs4OTkyLDI4IEBAIHByaXZhdGU6CiAgICAgICAgIFZh
bHVlRnJvbUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2VsbCk7CiAgICAgICAg
IG1fb3V0Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb29w
LCBsb2FkUHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9h
ZFByb3RvdHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291dC5waGkoSW50NjQs
IG9yaWdpbmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0LmxvYWQ4WmVyb0V4
dDMyKHZhbHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAgICAgICBtX291dC5i
cmFuY2goCiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291dC5jb25zdEludDMy
KFByb3h5T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlRGly
ZWN0KSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAgICAgICAgIHVzdWFs
bHkobG9hZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwog
Ci0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3QsIG5vdFlldEluc3Rh
bmNlKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJpdHMsIGxvYWRQb2x5
UHJvdG8pOwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVjdHVyZSh2YWx1ZSk7
Ci0gICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9hZDY0KHN0cnVjdHVy
ZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAgICBMVmFsdWUgcHJvdG90
eXBlQml0cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3Rv
dHlwZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBlID0gbV9vdXQuYW5j
aG9yKHByb3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2goaXNJbnQzMihwcm90b3R5
cGVCaXRzKSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFyZVByb3RvdHlwZSkp
OworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNvbXBhcmVQcm90b3R5
cGUpOworICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJvdG90eXBlQml0cywg
bV9vdXQuY29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBwb2x5
UHJvdG8gPSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5sb2FkNjQobV9vdXQuYmFz
ZUluZGV4KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1ZSwgaW5kZXgsIFNj
YWxlRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkpKTsKKyAgICAgICAg
bV9vdXQuanVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhj
b21wYXJlUHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExWYWx1ZSBjdXJyZW50
UHJvdG90eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwgcG9seVByb3RvKTsK
ICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1fb3V0LmFuY2hvciht
X291dC5ib29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1f
b3V0LmVxdWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2
Niw4ICsxNjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgog
CiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0
aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYg
d2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlm
IG5vdCBnbyBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Qy
LCByZWdUMyk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBl
T2Zmc2V0KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCBy
ZWdUNCwgcmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZU9mZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzU3RvcmVkUHJvdG90eXBlID0gYnJh
bmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRy
KHJlZ1Q0LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVz
RWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBo
YXNTdG9yZWRQcm90b3R5cGUubGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAg
ICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAg
IGVtaXRKdW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQs
NiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlw
ZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hl
ZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNsb3RCYXNl
KCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1NywzNSBAQCBzdGF0aWMgSW5saW5lQ2Fj
aGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZl
VXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlT
dHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYmIHN0cnVj
dHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJz
ZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAg
ICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0g
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKLSAgICAg
ICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAg
ICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8vIEl0J3Mg
aW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG9m
ZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90
QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3Rv
KSB7CisgICAgICAgICAgICAgICAgLy8gV2UgdXNlIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
IGluc3RlYWQgZm9yIGZhc3RlciBhY2Nlc3Nlcy4KKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNv
bmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5j
YWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdldHRlciA9
IG51bGxwdHI7CkBAIC0yOTMsMTMgKzMwNywxNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24g
dHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJs
ZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQo
KSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVyICYm
IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVy
LCBzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6
OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShw
cm90b3R5cGVBY2Nlc3NDaGFpbikpOworICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0RnJv
bVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0SW50
cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSAmJiAhcHJvdG90eXBlQWNjZXNzQ2hhaW4p
IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2l0aCBw
b2x5IHByb3RvLCBidXQgZm9yIG91ciBvd24gc2FuaXR5LCB3ZSBwcm9iYWJseQorICAgICAgICAg
ICAgLy8gd2FudCB0byBkbyBhIHBvaW50ZXIgY2hlY2sgb24gdGhlIGFjdHVhbCBnZXR0ZXIuIEEg
Z29vZCB0aW1lIHRvIG1ha2UgdGhpcyB3b3JrIHdvdWxkCisgICAgICAgICAgICAvLyBiZSB3aGVu
IHdlIGNhbiBpbmhlcml0IGZyb20gYnVpbHRpbiB0eXBlcyBpbiBwb2x5IHByb3RvIGZhc2hpb246
CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzE4CiAgICAgICAgICAgICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6
Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBnZXR0ZXIpOwotICAgICAgICBlbHNlIHsKKyAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5zZXQoKSkg
ewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUo
dm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDogQWNjZXNz
Q2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOworICAg
ICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFy
Z2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBBY2Nlc3ND
YXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFi
bGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24g
dHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksCiAg
ICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2FjaGVhYmxl
Q3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAgICAgICAg
ICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDogbnVsbHB0
ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAgICAgICAg
ICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTc2MCwxNiArNzYwLDE3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlf
aWQKICAgICAgICAgICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3Ry
dWN0dXJlLT5wcmV2aW91c0lEKCktPm91dE9mTGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5v
dXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0
ZWQoKSk7CiAKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAg
ICAgICAgICAgIGJvb2wgc2F3UG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAg
IGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlLCBz
YXdQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IEludmFsaWRQ
cm90b3R5cGVDaGFpbiAmJiAhc2F3UG9seVByb3RvKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlzT2JqZWN0KCkpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+cHJldmlvdXNJ
RCgpLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xv
dC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0
dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShw
Y1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlw
ZUNoYWluKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNl
bGwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVC
bG9jaywgY2hhaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+
KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNT
dGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBh
dXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAK
IHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNP
YmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2
MDksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAg
ICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhp
c09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAg
ICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICB9CkBAIC02MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4
ZWNTdGF0ZQogICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVt
YmVyKHZhbHVlKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhv
bGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAg
ICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAg
ICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAt
ODE2LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YK
ICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRh
dGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250
YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShk
YXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlz
T2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3Ro
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNv
bnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwg
bGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3Qp
KQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0g
KnRoaXNPYmplY3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxl
bmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
KmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAg
ICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTExNzQsNyArMTE3Myw3
IEBAIHN0YXRpYyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNB
bnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0
dXJlKCktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VM
WSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZh
bHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVu
dHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25l
ZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0
OSw5IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFko
c3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShz
dHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CiAgICAgICAg
IGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3Ry
dWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7Ci0KICAgICB9IGVs
c2UgewogICAgICAgICBJbmRleGluZ0hlYWRlciBpbmRleGluZ0hlYWRlcjsKICAgICAgICAgaW5k
ZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxlbmd0aCk7CkBAIC04MSw3ICs4MCw3
IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4g
U29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRo
aXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2Ug
ZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFy
Z3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBz
aG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsK
KyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENs
b25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQt
PnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFy
Z3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNT
dGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1
bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFt
ZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENs
b25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgo
ZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQ
dXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCgh
cmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xv
d1BhdGhzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4
IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBj
b25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPnByb3RvdHlw
ZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0
dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3Jl
YXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFz
T2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQCB2
b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNvZGVCbG9j
a0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQo
dGhpc09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRh
YmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21HbG9iYWxDb2RlKApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhl
Y3V0YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOSwgMjAxMCwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTcyLDYgKzE3Miw5IEBA
IHB1YmxpYzoKICAgICBERUNMQVJFX0lORk87CiAKICAgICBJbmZlcnJlZFZhbHVlKiBzaW5nbGV0
b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICAv
LyBDYWNoZWQgcG9seSBwcm90byBzdHJ1Y3R1cmUgZm9yIHRoZSByZXN1bHQgb2YgY29uc3RydWN0
aW5nIHRoaXMgZXhlY3V0YWJsZS4KKyAgICBTdHJ1Y3R1cmUqIGNhY2hlZFBvbHlQcm90b1N0cnVj
dHVyZSgpIHsgcmV0dXJuIG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLmdldCgpOyB9CisgICAg
dm9pZCBzZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkgeyBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVy
ZSk7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0YWJsZUJhc2U7CkBAIC0x
ODksNiArMTkyLDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8RnVuY3Rpb25Db2RlQmxv
Y2s+IG1fY29kZUJsb2NrRm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxUeXBlU2V0PiBtX3JldHVy
blN0YXRlbWVudFR5cGVTZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1fc2lu
Z2xldG9uRnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWNoZWRQb2x5
UHJvdG9TdHJ1Y3R1cmU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVE
YXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5
KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90
eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewot
ICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0
LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJh
cmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdv
cmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihj
b25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBp
bmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09i
amVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5j
dGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3Vi
Y2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0
cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJn
ZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAm
JiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNz
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIElu
dGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4K
ICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlv
bio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Mzgs
NyArNzM4LDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAg
IGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAg
ICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFS
U0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwg
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhp
Y2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC03NzMsNyAr
NzczLDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAog
ICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4g
YWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJh
eVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9y
YWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAg
ICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtOTA0LDcgKzkwNCw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhB
bnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3Jl
IHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3
YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91
bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQg
PSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAg
ICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3Vu
dF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtOTQ1LDcg
Kzk0NSw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAg
ICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0
aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRo
cm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFy
cmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3Vu
dDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIGRvdWJs
ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKClbaSArIGNvdW50XTsKICAgICAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpAQCAtMTI5Miw3ICsxMjkyLDcgQEAgYm9v
bCBKU0FycmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUt
Pm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFy
cmF5UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9i
amVjdC0+YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC02Miw4ICs2Miw4IEBAIGlubGluZSBib29sIEpTQXJyYXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdh
dGNocG9pbnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBvbiBBcnJheS5wcm90b3R5cGUgYW5kIE9i
amVjdC5wcm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9mIHdhbGtpbmcgdGhlIHByb3RvdHlwZSBj
aGFpbi4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTU5MgotICAg
IGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pCi0gICAg
ICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhlckFycmF5KSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVj
CiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihK
U09iamVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJh
d1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVy
Zmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAg
ICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwg
IikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpz
dHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
b3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBv
dXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAg
ICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBh
c0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJ
RDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChp
c1RydWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEyNiwxNiArMTI2LDIyIEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFs
bG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpT
RnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhl
YykKK3sKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0
dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0KHZtKS0+
b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFs
bG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVj
dCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAg
aWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5j
dGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAK
ICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byByZWFkIHRo
ZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJv
cGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1NSw4IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpT
RnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsKICAgICBW
TSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWND
YXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUp
KTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0
KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2Jq
ZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlv
bih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0
aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzcxLDcgKzM3NCw2
IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAgICAgICAg
IG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zm
c2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2Jq
ZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zmc2V0KTsK
ICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFtZSk7CiAKKyAg
ICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wgdmFsdWUgaWYgdGhpcyBK
U0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNPYmplY3QqIHByb3RvdHlw
ZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
Kik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBT
dHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjppc0l0ZXJh
dG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3Qt
Pm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCisg
ICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2Jz
ZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVTZXRGYXN0
QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAg
IGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBn
bG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJ
bmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9i
ai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAg
ICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmli
dXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkgewotICAgICAgICAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0s
IHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOworICAgICAgICAgICAgICAgIEFTU0VSVCh0
aGlzLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkg
fHwgb2JqID09IHRoaXMpOwogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywg
c2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5
V3JpdGVFcnJvcikpOwogICAgICAgICAgICAgfQogCkBAIC0xMDE1LDcgKzEwMTUsNyBAQCBCdXR0
ZXJmbHkqIEpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhlCiAgICAgQVNTRVJUKGxlbmd0aCA8
PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKTsKICAgICBJbmRleGluZ1R5cGUgb2xkVHlwZSA9
IGluZGV4aW5nVHlwZSgpOwogICAgIEFTU0VSVF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKG9sZFR5cGUpKTsKLSAgICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpKTsKKyAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAg
IEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0
eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBA
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZs
eSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBv
bGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51
bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3Rv
cmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9w
ZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgc3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0
dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1
cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYsNyArMTIw
Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkK
IHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1
cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBj
b252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0Ojpjb252ZXJ0SW50
MzJUb0RvdWJsZShWTSYgdm0pCkBAIC0xMjY0LDcgKzEyNjQsNyBAQCBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FyCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnRJbnQzMlRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydEludDMy
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBz
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzSlNWYWx1
ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3
ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZt
KQogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNv
bnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNU
b0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpA
QCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRp
Z3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlT
dG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
KTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogdm9pZCBKU09iamVjdDo6Y29udmVy
dFVuZGVjaWRlZEZvclZhbHVlKFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkKQEAgLTE0NDcsNyArMTQ0
Nyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlSW50MzIKICAgICAKICAg
ICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdf
VFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwg
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJ
S0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVy
biBjcmVhdGVJbml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3
IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBz
d2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQ
RVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3Ry
dWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VM
WShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAg
ICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDMsNyArMTUwMyw3IEBA
IENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0
Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6
Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAg
ICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVh
dGVJbml0aWFsQ29udGlndW91cyh2bSwgMCk7CiAgICAgICAgIApAQCAtMTU0MCwyMiArMTU0MCwy
MiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhCiAgICAgICAgIAog
ICAgIGNhc2UgQUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdl
KHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJy
YXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAg
IEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAg
IEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0
RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9DT05USUdV
T1VTX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFy
c2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhp
bmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAg
IHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAg
ICAgZGVmYXVsdDoKQEAgLTE2MzMsMTQgKzE2MzMsMTcgQEAgdm9pZCBKU09iamVjdDo6c2V0UHJv
dG90eXBlRGlyZWN0KFZNJiB2bQogICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAg
ICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZShhc09iamVjdChwcm90b3R5cGUpKTsKICAg
ICAKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1
Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7Ci0gICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBpZiAoc3Ry
dWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgU3RydWN0dXJlKiBu
ZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0
cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7CisgICAgICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3Ry
dWN0dXJlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUodm0p
LT5wb2x5UHJvdG9PZmZzZXQoKSwgcHJvdG90eXBlKTsKKworICAgIGlmICghYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm47CiAgICAg
CiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkgewotICAgICAgICBu
ZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOworICAgICAgICBz
dHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1NCw4IEBAIEpTVmFsdWUgSlNPYmpl
Y3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdoYXRl
dmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90eXBl
IGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJlKCkt
PnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWlu
KHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9i
amVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVj
dCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVybmFs
UHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAgaWYg
KGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MzAsNyBAQCBib29sIEpTT2Jq
ZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJ
bmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAg
ZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDAp
KTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAg
ICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xvd1B1dEFycmF5U3Rv
cmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAx
LCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHJldHVy
biBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7CkBAIC0yODc4
LDcgKzI4ODIsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJleW9uCiAg
ICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJy
YXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBt
b2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBp
ZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAo
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9y
YWdlID0gY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAs
IDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX3ZlY3RvcltpXS5zZXQodm0s
IHRoaXMsIHZhbHVlKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3Ir
KzsKQEAgLTM1NTgsNyArMzU2Miw3IEBAIHVpbnQzMl90IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKEUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwotICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQogICAgICAgICByZXR1cm4gMDsKICAgICBz
d2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRF
WElOR19UWVBFUzoKQEAgLTM2NjgsNCArMzY3Miw1NiBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRN
ZXRob2QoRXhlY1N0YXRlKiBlCiAgICAgcmV0dXJuIG1ldGhvZDsKIH0KIAorYm9vbCBKU09iamVj
dDo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7
CisgICAgVk0mIHZtID0gKnRoaXMtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3Vy
cmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIAorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlw
ZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3Rv
dHlwZSk7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0Ojpwcm90b3R5cGVDaGFpbk1heUludGVy
Y2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQoreworICAgIGlm
IChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgCisgICAgZm9yIChKU09iamVj
dCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJy
ZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwo
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQg
PSBhc09iamVjdChwcm90b3R5cGUpOworICAgICAgICAKKyAgICAgICAgdW5zaWduZWQgYXR0cmli
dXRlczsKKyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAgICAgICBpZiAoIUpT
Qzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IAorICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29sIEpTT2Jq
ZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFueU9iamVj
dEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBnbG9iYWxPYmplY3QoKS0+
aXNIYXZpbmdBQmFkVGltZSgpOworfQorCitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gSlNPYmplY3Q6
OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAoreworICAgIGlmIChuZWVk
c1Nsb3dQdXRJbmRleGluZygpKQorICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9u
OjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0dXJuIE5vblByb3Bl
cnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiUHV0RGlyZWN0SW5k
ZXhNb2RlLmgiCiAjaW5jbHVkZSAiUHV0UHJvcGVydHlTbG90LmgiCiAjaW5jbHVkZSAiU3RydWN0
dXJlLmgiCisjaW5jbHVkZSAiU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgiCiAjaW5jbHVkZSAi
Vk0uaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIlNwYXJzZUFycmF5VmFsdWVN
YXAuaCIKQEAgLTEzMSw3ICsxMzIsNyBAQCBwdWJsaWM6CiAgICAgLy8gSXQgaXMgdmFsaWQgdG8g
dXNlIHRob3VnaCB3aGVuIHlvdSBrbm93IHRoYXQgeW91IHdhbnQgdG8gZGlyZWN0bHkgZ2V0IGl0
CiAgICAgLy8gd2l0aG91dCBjb25zdWx0aW5nIHRoZSBtZXRob2QgdGFibGUuIFRoaXMgaXMgYWtp
biB0byBnZXR0aW5nIHRoZSBbW1Byb3RvdHlwZV1dCiAgICAgLy8gaW50ZXJuYWwgZmllbGQgZGly
ZWN0bHkgYXMgZGVzY3JpYmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uLgotICAgIEpTVmFsdWUgZ2V0
UHJvdG90eXBlRGlyZWN0KCkgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSBn
ZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdDsKIAogICAgIC8vIFRoaXMgc2V0cyB0aGUgcHJvdG90
eXBlIHdpdGhvdXQgY2hlY2tpbmcgZm9yIGN5Y2xlcyBhbmQgd2l0aG91dAogICAgIC8vIGRvaW5n
IGR5bmFtaWMgZGlzcGF0Y2ggb24gW1tTZXRQcm90b3R5cGVPZl1dIG9wZXJhdGlvbiBpbiB0aGUg
c3BlY2lmaWNhdGlvbi4KQEAgLTczMyw2ICs3MzQsMTIgQEAgcHVibGljOgogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBib29sIGlzRXh0ZW5zaWJsZShKU09iamVjdCosIEV4ZWNTdGF0ZSop
OwogICAgIGJvb2wgaXNTZWFsZWQoVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc1Nl
YWxlZCh2bSk7IH0KICAgICBib29sIGlzRnJvemVuKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJl
KHZtKS0+aXNGcm96ZW4odm0pOyB9CisKKyAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29s
IHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7Cisg
ICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJh
bnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisKIHByaXZh
dGU6CiAgICAgQUxXQVlTX0lOTElORSBib29sIGlzRXh0ZW5zaWJsZUltcGwoKSB7IHJldHVybiBp
c1N0cnVjdHVyZUV4dGVuc2libGUoKTsgfQogcHVibGljOgpAQCAtODY2LDcgKzg3Myw3IEBAIHBy
b3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAg
ICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFByb3Rv
dHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChn
ZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSB8fCBnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFw
OjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKICAgICAg
ICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNz
SW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTMwNSw3IEBAIGlubGluZSBKU09iamVjdDo6
SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFBy
b3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlz
KTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4
ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwNyw5IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBK
U09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1
Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAgICBpZiAob2Jq
ZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgLy8gRklYTUU6
IFRoaXMgZG9lc24ndCBsb29rIGxpa2UgaXQncyBmb2xsb3dpbmcgdGhlIHNwZWNpZmljYXRpb246
CisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI1
NzIKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJ
bmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5F
IGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5j
bGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5
cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFs
TWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdl
dFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlw
ZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5M
SU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNWYWx1
ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+
bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5p
bnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6
Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURp
cmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+
Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNP
YmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZv
cm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhp
c09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRv
KHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOwogICAgICAgICBp
ZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0
eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhl
Yywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3Bl
cnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRv
ci5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3
IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVu
Z3RoCiAgICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNo
YWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51
bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQz
Ml90IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTMzLDEyICsxMzMsMTUgQEAg
aW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogCiAgICAgQVNTRVJUKHBy
b3BlcnR5TmFtZXMuc2l6ZSgpIDwgVUlOVDMyX01BWCk7CiAKLSAgICBub3JtYWxpemVQcm90b3R5
cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpOworICAgIGJvb2wgc2F3UG9seVByb3RvOworICAgIGF1
dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlLCBzYXdQ
b2x5UHJvdG8pOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6
Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgsIG51bWJlclN0cnVjdHVyZVByb3Bl
cnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAgIGVudW1lcmF0b3ItPnNldENhY2hl
ZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKTsKLSAg
ICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVu
dW1lcmF0b3IoKSkKLSAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgYmFzZS0+
c3RydWN0dXJlKHZtKSA9PSBzdHJ1Y3R1cmUgJiYgcmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbikgeworICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwg
c3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3Ry
dWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsK
KyAgICB9CiAgICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYs
NyBAQCBib29sIEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0
cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9i
amVjdC0+anNTZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0g
Z2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wg
SlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxP
YmplY3QtPmlzU2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNTc2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0
cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1
cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRs
eSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDEzICsxMzYsMTkgQEAgYm9vbCBqc0lzRnVuY3Rp
b25UeXBlKEpTVmFsdWUgdikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3JtYWxp
emVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZt
ID0gY2FsbEZyYW1lLT52bSgpOwogICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVBy
b3RvID0gZmFsc2U7CiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQ
cm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKworICAg
ICAgICBzYXdQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNO
dWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNW
YWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7
CiBib29sIGpzSXNPYmplY3RUeXBlT3JOdWxsKENhbGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBq
c0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUpOwotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSosIFN0cnVjdHVyZSopOworc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSosIFN0cnVjdHVyZSosIGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFMV0FZU19J
TkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBK
U1N0cmluZyogczIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0
IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4
dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3
aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0
byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRv
SlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZv
IHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2wsIHVzZU9i
amVjdFJlc3RTcHJlYWQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIE9i
amVjdCBSZXN0L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2Nh
dGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5v
cm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9u
IHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAgdihib29s
LCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdl
IHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNl
LCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRl
ZC4iKVwKKyAgICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1
ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBw
cm90byBzdHJ1Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFw
OjphZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQog
Ci1pbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5
cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlw
ZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8s
IGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewot
ICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHks
IGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3RvdHlw
ZSk7IC8vIFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBlIHRv
IG1lYW4gcG9seSBwcm90bywgc28gdXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBub24t
bnVsbCBwcm90b3R5cGVzLgorCisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBv
bHlQcm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBj
bGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
bV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0
dXJlKSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAg
ICAgfSBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwog
ICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShwcm90
b3R5cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0g
ICAgICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJ
bmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgVk0m
IHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAg
IGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0
dXJlOjpjcmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5
cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0K
ICAgICBtX3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOwor
CiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkg
ZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3Nl
cyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBp
bmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFz
ZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJ
bmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJv
cGVydGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdU
eXBlICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAot
ICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
YmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlu
ZGV4aW5nVHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJl
LT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSog
UHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZv
clByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90
eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJl
KQogewotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
cmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0Zp
bmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3Ry
dWN0dXJlKTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1
cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9i
amVjdCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92
ZShzdGQ6Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6
aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFr
ZV90dXBsZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBn
bG9iYWxPYmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpT
X0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsK
KyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9y
UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9S
VF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0
cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9p
ZCBjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0Kiwg
SlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgdm9pZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQ
cm90b3R5cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3Rp
bWF0ZS4KIAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25z
dCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAg
ICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGlu
Z1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1
cmUpOwogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsK
ICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dD
TWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNH
bG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0
dXJlTWFwID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3Qg
Q2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVN
YXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3
LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlND
ZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFj
aXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAg
ICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAg
ICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAg
ICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRp
b25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQp
CkBAIC0yOTUsNiArMjk1LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2Vs
bCkKICAgICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0
dXJlKCk7CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIElu
ZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAg
IFN0cnVjdHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
dHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAg
ICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNp
dHkoKTsKKyAgICByZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAg
IHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZSgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKSwKKyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFz
dE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJv
dG90eXBlLnNldCh2bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJl
c3VsdC0+c2V0TGFzdE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBG
b3JNYXRlcmlhbGl6YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1
Y3R1cmUqJiBzdHJ1Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQo
c3RydWN0dXJlcy5pc0VtcHR5KCkpOwpAQCAtMzk4LDI2ICs0MTUsMTQgQEAgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5z
aXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywg
b2Zmc2V0KTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAo
Y29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVu
dC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJv
dG90eXBlKS0+c3RydWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1
cmUodm0pID09IHRoaXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKFZNJiB2bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRo
aXMtPnN0b3JlZFByb3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0
KHByb3RvdHlwZSk7CkBAIC00MjYsNyArNDMxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3Qt
PnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhvYmplY3Qt
PmluZGV4aW5nVHlwZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0
dXJlLnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3Rv
cmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHBy
b3RvdHlwZSk7CkBAIC00MzYsMjAgKzQ0MSw2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RG
b3J3YXJkVG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpu
ZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hh
aW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBnbG9iYWxPYmplY3Qo
KS0+aXNIYXZpbmdBQmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0
dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAo
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNp
dGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAgIHJldHVybiBOb25Q
cm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQotCiBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFBy
b3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBh
ZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAtNTUyLDYgKzU0Myw4
IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAogU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJUKHByb3RvdHlwZS5p
c09iamVjdCgpIHx8IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZlckdDIGRlZmVyR0Mo
dm0uaGVhcCk7CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1
cmUpOwogCkBAIC0xMDY3LDExICsxMDYwLDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRp
b25Gcm9tVGhpc1N0cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwo
KnZtKCksIFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1ZhbHVlIFN0cnVjdHVy
ZTo6cHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBjb25zdAotewotICAg
IHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19
Ci0KIHZvaWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0
b3ImIHZpc2l0b3IpCiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVj
dHVyZSo+KGNlbGwpOwpAQCAtMTEwOSw3ICsxMDk3LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hl
YXBEdXJpbmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NzMzNAogICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8IEhlYXA6Omlz
TWFya2VkQ29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAgICAgICAgJiYgKCFz
dG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSkpOworICAgICAgICAmJiAoIWhhc1N0b3JlZFByb3RvdHlwZSgp
IHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRs
eShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCiBib29sIFN0cnVjdHVyZTo6bWFya0lm
Q2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0xMTIxLDQwICsxMTA5LDE5IEBAIGJvb2wg
U3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYg
dm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCi17Ci0gICAgaWYgKHBhcnNlSW5kZXgocHJv
cGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKTsKLSAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRo
aXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90
b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxs
KCktPnN0cnVjdHVyZSh2bSk7Ci0gICAgICAgIAotICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVz
OwotICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7Ci0gICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCi0gICAgICAgIGlmIChhdHRy
aWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRl
OjpBY2Nlc3NvcikpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLVJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJl
Ojp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUpCitSZWY8U3RydWN0dXJlU2hhcGU+IFN0
cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlLCBib29sJiBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpCiB7CiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBiYXNlU2hhcGUgPSBTdHJ1
Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CiAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBjdXJTaGFw
ZSA9IGJhc2VTaGFwZS5wdHIoKTsKICAgICBTdHJ1Y3R1cmUqIGN1clN0cnVjdHVyZSA9IHRoaXM7
CiAgICAgSlNWYWx1ZSBjdXJWYWx1ZSA9IHZhbHVlOworICAgIHNhd1BvbHlQcm90b1N0cnVjdHVy
ZSA9IGZhbHNlOwogICAgIHdoaWxlIChjdXJTdHJ1Y3R1cmUpIHsKKyAgICAgICAgc2F3UG9seVBy
b3RvU3RydWN0dXJlIHw9ICFjdXJTdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOwogICAg
ICAgICBjdXJTdHJ1Y3R1cmUtPmZvckVhY2hQcm9wZXJ0eUNvbmN1cnJlbnRseSgKICAgICAgICAg
ICAgIFsmXSAoY29uc3QgUHJvcGVydHlNYXBFbnRyeSYgZW50cnkpIC0+IGJvb2wgewotICAgICAg
ICAgICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKKyAgICAgICAgICAg
ICAgICBpZiAoIVByb3BlcnR5TmFtZShlbnRyeS5rZXkpLmlzUHJpdmF0ZU5hbWUoKSkKKyAgICAg
ICAgICAgICAgICAgICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOwogICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfSk7CiAKQEAgLTExNjgsMjYgKzEx
MzUsMjQgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dQogCiAgICAg
ICAgIGN1clNoYXBlLT5tYXJrQXNGaW5hbCgpOwogCi0gICAgICAgIGlmIChjdXJTdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICBhdXRvIG5ld1NoYXBl
ID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwotICAgICAgICAgICAgY3VyU2hhcGUtPnNldFBy
b3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUo
bmV3U2hhcGUpOwotICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZSgpOwotICAgICAgICB9CisgICAgICAgIGlmICghY3VyVmFsdWUuaXNPYmplY3QoKSkK
KyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiBvYmplY3Qg
PSBhc09iamVjdChjdXJWYWx1ZSk7CisgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGVPYmplY3Qg
PSBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KTsKKyAg
ICAgICAgaWYgKCFwcm90b3R5cGVPYmplY3QpCisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOworICAgICAgICBjdXJT
aGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsKKyAgICAgICAgY3VyU2hhcGUgPSBX
VEZNb3ZlKG5ld1NoYXBlKTsKKyAgICAgICAgY3VyVmFsdWUgPSBwcm90b3R5cGVPYmplY3Q7Cisg
ICAgICAgIGN1clN0cnVjdHVyZSA9IHByb3RvdHlwZU9iamVjdC0+c3RydWN0dXJlKCk7CiAgICAg
fQogICAgIAogICAgIHJldHVybiBiYXNlU2hhcGU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpjYW5V
c2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSogb3RoZXIpCi17Ci0gICAgcmV0dXJuIGlubGlu
ZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlubGluZUNhcGFjaXR5KCkKLSAgICAgICAgJiYgc3RvcmVk
UHJvdG90eXBlKCkgPT0gb3RoZXItPnN0b3JlZFByb3RvdHlwZSgpCi0gICAgICAgICYmIG9iamVj
dEluaXRpYWxpemF0aW9uQmxvYigpID09IG90aGVyLT5vYmplY3RJbml0aWFsaXphdGlvbkJsb2Io
KTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsK
ICAgICBvdXQucHJpbnQoUmF3UG9pbnRlcih0aGlzKSwgIjpbIiwgY2xhc3NJbmZvKCktPmNsYXNz
TmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3ICsxMTY3LDkgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgYwogICAgIAogICAgIG91dC5wcmludCgifSwgIiwgSW5kZXhpbmdU
eXBlRHVtcChpbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIGlmIChtX3Byb3RvdHlwZS5nZXQo
KS5pc0NlbGwoKSkKKyAgICBpZiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBvdXQu
cHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgZWxz
ZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCiAgICAgICAgIG91dC5wcmludCgiLCBQ
cm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdldCgpLmFzQ2VsbCgpKSk7CiAKICAgICBz
d2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKQEAgLTEyODcsNyArMTI1NCw3IEBAIGJvb2wgU3Ry
dWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5TmFtZUVudW0KICAgICB3aGlsZSAodHJ1ZSkgewogICAg
ICAgICBpZiAoIXN0cnVjdHVyZS0+Z2V0KCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
aWYgKHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1l
cygpKQorICAgICAgICBpZiAoc3RydWN0dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkgfHwgc3Ry
dWN0dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHN0cnVjdHVyZSsrOwogICAgIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2Vs
bCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBv
bHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwg
Y29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1Rh
ZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsx
NDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2
bSk7CiAgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3Rv
dHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJU
KG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90
b3R5cGUuaXNJbnQzMigpKTsKICAgICB9CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcpCkBAIC0xNjcsNyArMTY5LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1
cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWdu
ZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJl
KFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlP
ZmZzZXQmKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiByZW1vdmVQcm9wZXJ0eVRyYW5zaXRpb24o
Vk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5T2Zmc2V0Jik7Ci0gICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlv
bihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKKyAgICBzdGF0aWMgU3RydWN0
dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBw
cm90b3R5cGUpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGF0dHJp
YnV0ZUNoYW5nZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2ln
bmVkIGF0dHJpYnV0ZXMpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IHRvQ2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBEZWZlcnJl
ZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogPSBudWxscHRyKTsKICAgICBzdGF0
aWMgU3RydWN0dXJlKiB0b1VuY2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1
Y3R1cmUqKTsKQEAgLTIwOCw3ICsyMTAsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1
cm4gIXR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2Vu
Y2UoKTsKICAgICB9Ci0gICAgCisKICAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUo
KQpAQCAtMjQwLDI2ICsyNDIsMzkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gISEoaW5kZXhp
bmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpICYgTWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnMpOwogICAg
IH0KICAgICAgICAgCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7Ci0gICAgYm9vbCBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoVk0mKSBjb25zdDsKLSAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Ns
b3dQdXRJbmRleGluZygpIGNvbnN0OwotICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoVk0mLCBKU09iamVjdCopIGNvbnN0OwogICAgICAgICAKICAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3Qu
Z2V0KCk7IH0KIAogICAgIC8vIE5PVEU6IFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxl
ZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVjdHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAg
ICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMgcHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGlu
IGEgYnVuY2ggb2YgcGxhY2VzLgogICAgIHZvaWQgc2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMs
IGdsb2JhbE9iamVjdCk7IH0KLSAgICAgICAgCi0gICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUo
KSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsgfQorCisgICAgYm9vbCBoYXNTdG9y
ZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICFtX3Byb3RvdHlwZS5n
ZXQoKS5pc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29u
c3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsK
KyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9m
ZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NF
UlQoIWhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdl
dCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3Qg
SlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNv
bnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1
Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90
b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVj
dHVyZSgpIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSop
IGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0Kikg
Y29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7
Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3Qq
KSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikg
Y29uc3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBK
U0NlbGwqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVy
ZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7
CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwog
ICAgIAogICAgIC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRv
aW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzIs
MTQgKzI4NywyNCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMg
c3RydWN0dXJlIGlzIG5vdyBtYXJrZWQuCiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRv
ciYpOwotICAgICAgICAKLSAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRl
cmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBw
cm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwogICAg
IAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlz
UmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVj
dHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFz
UmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0
YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVS
YXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNS
YXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJl
dHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQo
KSBjb25zdAogICAgIHsKQEAgLTUzMywxMiArNTU4LDYgQEAgcHVibGljOgogICAgICAgICBzdGFy
dFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBz
dGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihW
TSYgdm0pCi0gICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsg
c3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpKQotICAgICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygp
IGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAt
NTg4LDExICs2MDcsNyBAQCBwdWJsaWM6CiAgICAgICAgIHdpbGxTdG9yZVZhbHVlU2xvdyh2bSwg
cHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxkT3B0aW1pemUsIEluZmVycmVkVHlwZVRhYmxlOjpP
bGRQcm9wZXJ0eSk7CiAgICAgfQogCi0gICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVy
ZVNoYXBlKEpTVmFsdWUpOwotICAgIAotICAgIC8vIERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1
Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRoaXMgb25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9j
YXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVyIG9uZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9j
YXRpb25zT2YoU3RydWN0dXJlKik7CisgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVy
ZVNoYXBlKEpTVmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAgICAgCiAgICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFBy
aW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBjb25zdDsKQEAgLTcyMCw4ICs3MzUsNyBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQs
IG1faW5saW5lQ2FwYWNpdHkpOwogICAgIH0KIAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAg
Ym9vbCBpc1ZhbGlkKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVD
aGFpbikgY29uc3Q7CisgICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
Q2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAg
ICAvLyBZb3UgaGF2ZSB0byBob2xkIHRoZSBzdHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAg
ICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHBpbihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwg
UHJvcGVydHlUYWJsZSopOwpAQCAtNzMyLDEyICs3NDYsNiBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAg
fQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0
cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRD
b25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAg
ICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTUsNCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFpbjo6
dmlzaXRDaGlsZHJlbihKU0NlbAogICAgIH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSk7CisKKyAgICBzaXplX3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVjdCog
Y3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0p
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKworICAg
IHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6
Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKworICAg
IHNpemVfdCBpID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVu
dDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVj
dChjdXJyZW50KSkKKyAgICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50LT5z
dHJ1Y3R1cmUodm0pKTsKKyAgICAKKyAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAgIG1f
dmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRoaXMp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFn
cyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4q
IGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVjdHVy
ZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNoYWlu
Pih2bS5oZWFwKSkgU3RydWN0dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0dXJl
LmdldCgpKTsKICAgICAgICAgY2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAgLTYy
LDIyICs2Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSog
aGVhZCkKLSAgICB7Ci0gICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAg
c2l6ZV90IHNpemUgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/
IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQot
ICAgICAgICAgICAgKytzaXplOwotCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKLQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAgICAg
IGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJl
bnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0
b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsrXS5z
ZXQodm0sIHRoaXMsIGN1cnJlbnQpOwotICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRhdG9y
RmVuY2UoKTsKLSAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQorICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZhdGU6
CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAg
ICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDEy
ICs3MCw0MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlu
bGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29u
c3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNP
YmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUo
KTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2Jq
ZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVCht
X3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9
IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJl
Y3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBS
RUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgp
OworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQo
KSk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSog
U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVj
dCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJl
OjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVk
IGF0dHJpYnV0ZXM7CkBAIC0xNjYsMTUgKzE5NiwzMiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6
OnRyYW5zaXRpdmVseVRyYW5zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitBTFdBWVNfSU5MSU5F
IEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBBU1NFUlQo
IXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygp
LnR5cGUoKSA9PSBTdHJpbmdUeXBlKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJp
bmdQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgp
ID09IFN5bWJvbFR5cGUpOworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlw
ZSgpOworCit9CisKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3Vw
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NF
UlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAgICBy
ZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5
bWJvbFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgp
OworICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHByb3RvdHlw
ZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKK30KIAotICAgIEFT
U0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKLSAgICByZXR1cm4gZ2xvYmFs
T2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKK2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJv
dG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFz
ZSkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlz
KTsKKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZShh
c09iamVjdChiYXNlKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUlt
cGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpw
cm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKiBleGVjKSBjb25zdApAQCAtMTgyLDI3ICsyMjks
MjggQEAgaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMbwogICAgIHJldHVy
biBwcm90b3R5cGVGb3JMb29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKIH0KIAot
aW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFp
biogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGJh
c2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlw
ZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGds
b2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAg
ICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpj
cmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5z
dHJ1Y3R1cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJv
dG90eXBlQ2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVk
UHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBw
cm90b3R5cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAg
IH0KICAgICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5l
IFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhl
YykgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFp
bihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBw
cm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwor
ICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlw
ZUNoYWluKSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwg
SlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5
cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwog
ICAgIHdoaWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAg
ICAgICAgaWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVj
dHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEgKzI2MSw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6
aXNWYWxpZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2Fj
aGVkU3RydWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQ
cm90b3R5cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVBy
b3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJl
RGF0YSgpKSkKQEAgLTQwMCw3ICs0NDMsNyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0
dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQog
Ci1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0
eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5
VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFi
bGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRl
ICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogCiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3Bl
cnR5VmFsdWVXYXRjaHBvaW50QmFzZS5oIgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNp
bmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5o
IgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1
cmVSYXJlRGF0YTo6dmlzaXRDaGlsZHJlbihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmpl
Y3QtPm1fcHJldmlvdXMpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0
VG9TdHJpbmdWYWx1ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5t
X2luZmVycmVkQ29uc3RydWN0b3IpOwogfQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0
cnVjdHVyZVJhcmVEYXRhOjpjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAg
LTE3NSw2ICsxNzcsMTMgQEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2Jq
ZQogICAgIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS5jbGVhcigpOwogfQogCitJbmZlcnJlZFZhbHVl
KiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0pCit7
CisgICAgaWYgKCFtX2luZmVycmVkQ29uc3RydWN0b3IpCisgICAgICAgIG1faW5mZXJyZWRDb25z
dHJ1Y3Rvci5zZXQodm0sIHRoaXMsIEluZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSkpOworICAgIHJl
dHVybiBtX2luZmVycmVkQ29uc3RydWN0b3IuZ2V0KCk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0g
TWV0aG9kcyBmb3IgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50
IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0KIAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVy
ZVdhdGNocG9pbnQ6Ok9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1
Y3R1cmVSYXJlRGF0YSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNiArMzMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsK
IGNsYXNzIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNz
IE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMs
MTUgQEAgcHVibGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1l
RW51bWVyYXRvcihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2Ug
YXJlIGEgdGhlIHN0cnVjdHVyZSBvZiBhIHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3
aGF0IG91ciBmdW5jdGlvbiBpcywgc3VjaCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVj
dHVyZSBpcyB1cy4KKyAgICAvLyBXZSdyZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBT
dHJ1Y3R1cmUgb2YgYW4gb2JqZWN0IHdoaWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVs
ZAorICAgIC8vIG9mIGEgY29uc3RydWN0b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQs
IHdlIHdhbnQgdG8gaW5mZXIgaWYgd2UgaGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAg
IC8vIElmIHdlIGRvLCB0aGVuIG1faW5mZXJyZWRDb25zdHJ1Y3RvciBwb2ludHMgdG8gYW4gSW5m
ZXJyZWRWYWx1ZSBpbmZlcnJpbmcgYSBKU0Z1bmN0aW9uLgorICAgIC8vIElmIHdlIG5vdGljZSB0
aGF0IHdlIGdvIHBvbHkgcHJvdG8sIHRoZW4gdGhpcyB3aWxsIGJlY29tZSBpbnZhbGlkYXRlZC4K
KyAgICBJbmZlcnJlZFZhbHVlKiBlbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAg
Ly8gTWF5IGJlIG51bGxwdHIuCisgICAgSW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3Rv
cigpIHsgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsgfQorCiAgICAgREVDTEFS
RV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDYgKzg2LDcgQEAgcHJpdmF0ZToKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxK
U1N0cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBX
cml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9pbmZlcnJlZENvbnN0cnVjdG9yOwogICAgIAog
ICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+
LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlI
YXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBv
aW50U2V0czsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxl
ckxvZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlw
ZVByb2ZpbGVyTG9nLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsMTIg
KzcwLDE0IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmllcygKICAgICAg
ICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBzaGFwZTsgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUg
PSBlbnRyeS0+dmFsdWU7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsK
KyAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZTsKICAgICAgICAgaWYg
KGlkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgp
KS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7IAorICAgICAgICAgICAgc3RydWN0dXJlID0g
SGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOwog
ICAgICAgICAgICAgYXV0byBpdGVyID0gc2VlblNoYXBlcy5maW5kKHN0cnVjdHVyZSk7CiAgICAg
ICAgICAgICBpZiAoaXRlciA9PSBzZWVuU2hhcGVzLmVuZCgpKSB7Ci0gICAgICAgICAgICAgICAg
c2hhcGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUpOwotICAgICAgICAgICAg
ICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgICAgIHNo
YXBlID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlLCBzYXdQb2x5UHJvdG9TdHJ1
Y3R1cmUpOworICAgICAgICAgICAgICAgIGlmICghc2F3UG9seVByb3RvU3RydWN0dXJlKQorICAg
ICAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKICAgICAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CiAgICAg
ICAgIH0KQEAgLTg0LDggKzg2LDggQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dF
bnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0aW9u
OwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBpZiAo
bG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2dsb2Jh
bFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0cnVj
dHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUlu
Zm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAg
bG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBl
LmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICBs
b2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBX
VEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAg
ICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTQgQEAgVHlw
ZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9u
KFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFw
ZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlv
bihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hh
cGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsK
ICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1Y3R1
cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkpIHsK
ICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBlLnJl
bGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3Ry
dWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0
dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAg
ICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAgIENvbmN1cnJl
bnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNl
dC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBA
QCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVT
ZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRp
bWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQg
YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYs
IFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2b2lkIGludmFs
aWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcg
ZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0
NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShK
U1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAg
Ym9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBi
b29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29s
IGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wg
aXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0
dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRl
eDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI1NzYpCisrKyBUb29s
cy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyAr
NjE5LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAK
IGRlZiBydW5GVExOb0NKSVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAg
cnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZh
bHNlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9w
dGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwg
Ii0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89
dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBv
cHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxp
ZGF0ZSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRl
ZiBydW5ERkdFYWdlck5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRM
RWFnZXIoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIs
ICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJf
T1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVj
aWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxv
Y2F0b3I9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFH
RVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RT
cGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25h
bFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9m
aWxlcgogCiAgICAgcnVuKCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVBy
b2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4o
ImZ0bC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJ
T05TKSkKKyAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVh
Z2VyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwg
KihGVExfT1BUSU9OUyArIEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxv
d1Byb2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322053</attachid>
            <date>2017-09-27 18:47:48 -0700</date>
            <delta_ts>2017-09-27 19:49:06 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>187136</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNTc2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
c3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzUgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsK
KyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHByb3Rv
ID0gY3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHByb3RvOworCitmdW5jdGlvbiB2YWxpZGF0
ZSh4LCB2KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4LmN1c3RvbUdldHRl
cik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitwcm90by5mb28gPSAyNTsKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitS
ZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsKKyAgICB2YWxpZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJl
Y3RuZXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50
cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMz
IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7Cisg
ICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJu
IG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHggPSBuZXcgVWludDMyQXJyYXko
MTApOworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9fXyA9IG9iajsKKwor
ZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUo
Zm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBhc3NlcnQoZm9v
KHgpID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJvdG9fXyA9IHt9OworCithc3NlcnQoZm9v
KHgpID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBD
IHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9
OworICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcg
QzsKKyAgICAgICAgLy9wcmludChgUmVzdWx0IGZyb20gZm9vKCk6IGAsICR2bS52YWx1ZShyZXN1
bHQpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3VsdCA9IGZvbygpOwor
ICAgIHJlc3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFr
ZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3Rv
SW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdp
dGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90
b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAor
ICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xldCBwID0gdW5kZWZp
bmVkOworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydCh4LnggPT09IDIwKTsKKyAg
ICBhc3NlcnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7
Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQor
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4g
Zm9vKCk7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGlu
IG8gPT09IGIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSk7CisKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7CisK
K1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIGZhbHNlKTsKKworCitmdW5jdGlvbiB2YWxpZGF0
ZTIobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxp
ZGF0ZTIpOworCitSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbnVsbCk7Citmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7CisKK1JlZmxl
Y3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUyKG9iaiwgdHJ1ZSk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3RvID0geworICAgIGdldCB4
KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCitsZXQgYWx0ZXJuYXRlUHJv
dG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAgZ2V0IHgoKSB7CisgICAg
ICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmpl
Y3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5f
eDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29u
c3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7CisgICAgICAgIH0KKyAgICB9
OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgcCkgeworICAg
IGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgYXJyID0g
W107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkKKyAgICBhcnIucHVzaChm
b28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBh
IG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitmb3IgKGxldCBhIG9mIGFy
cikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFs
aWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEu
X19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwg
bnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xh
c3MgQyB7CisgICAgICAgIGdldCBiYXooKSB7IHJldHVybiB0aGlzLng7IH0KKyAgICB9CisgICAg
Qy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBuZXcgQzsKKyAgICByZXR1cm4gQzsKK30KKwor
Zm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgZm9vKCk7CisKK2Z1bmN0aW9uIGJhcihw
KSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLnggPSAyMjsKKyAgICAgICAgfQor
ICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsr
aSkKKyAgICBiYXIoZm9vKCkpOworCitsZXQgaW5zdGFuY2VzID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDQwOyArK2kpCisgICAgaW5zdGFuY2VzLnB1c2goYmFyKGZvbygpKSk7CisKK2Z1bmN0
aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCIpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ueCA9
PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmZp
ZWxkID09PSA0Mik7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAg
IGluc3RhbmNlcy5mb3JFYWNoKCh4KSA9PiB2YWxpZGF0ZSh4KSk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0
cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUz
IEBACitsZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlKCkgeworICAg
IGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1
Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUu
eSA9IHk7CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgcG9seVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5zdGFuY2UoKTsKK1N0cmluZy5w
cm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitTeW1ib2wucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBbCisgICAgImZv
byIsCisgICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAgICBTeW1ib2woImJhciIpLAor
XTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVuY3Rp
b24gdmFsaWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIwKTsKKyAgICBhc3NlcnQocy55
ID09PSB5KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3BlcnR5ID09PSB1bmRlZmluZWQp
OworICAgIGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7Cisg
ICAgYXNzZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0
ZShzKTsKKyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0luc3RhbmNlLl9fcHJvdG9fXyA9
IHt6OjQwMCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGZv
ciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9Cklu
ZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACitmdW5jdGlvbiBmb28oKSB7CisgICAg
ZnVuY3Rpb24gYmFyKCkgeworICAgICAgICB0aGlzLnggPSA0MjsKKyAgICB9CisgICAgYmFyLnBy
b3RvdHlwZSA9IDUwOworICAgIHJldHVybiBuZXcgYmFyKCk7Cit9CisKK2Z1bmN0aW9uIGFzc2Vy
dChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQor
CitsZXQgaXRlbXMgPSBbCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAg
Zm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCitdOworCitmdW5jdGlvbiB2YWxpZGF0ZShp
dGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhlcmUgPT09IHVuZGVmaW5lZCk7CisgICAgYXNz
ZXJ0KGl0ZW0ueCA9PT0gNDIpOworICAgIGFzc2VydChpdGVtLl9fcHJvdG9fXyA9PT0gT2JqZWN0
LnByb3RvdHlwZSk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAg
IGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpCisgICAgICAgIHZhbGlkYXRlKGl0ZW0pOworfQpJbmRl
eDogSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBp
ZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rp
b24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAg
IGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOwor
fQorCitmdW5jdGlvbiB0cnlHZXRCeUlkVGV4dChwcm9wZXJ0eU5hbWUpIHsgcmV0dXJuIGAoZnVu
Y3Rpb24gKGJhc2UpIHsgcmV0dXJuIEB0cnlHZXRCeUlkKGJhc2UsICcke3Byb3BlcnR5TmFtZX0n
KTsgfSlgOyB9CitsZXQgZ2V0Rm9vID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiZm9v
IikpOworbGV0IGdldEJhciA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImJhciIpKTsK
K2xldCBnZXROb25FeGlzdGVudEZpZWxkID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgi
bm9uRXhpc3RlbnRGaWVsZCIpKTsKKworbGV0IHggPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7Cit4
Ll9fcHJvdG9fXyA9IHsgZm9vOiA0MiwgZ2V0IGJhcigpIHsgcmV0dXJuIDIyOyB9IH07CitsZXQg
YmFyR2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih4Ll9fcHJvdG9fXywg
ImJhciIpLmdldDsKK2Fzc2VydCh0eXBlb2YgYmFyR2V0dGVyID09PSAiZnVuY3Rpb24iKTsKK2Fz
c2VydChiYXJHZXR0ZXIoKSA9PT0gMjIpOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAg
YXNzZXJ0KGdldEZvbyh4KSA9PT0gNDIpOworICAgIGFzc2VydChsb2FkR2V0dGVyRnJvbUdldHRl
clNldHRlcihnZXRCYXIoeCkpID09PSBiYXJHZXR0ZXIpOworICAgIGFzc2VydChnZXROb25FeGlz
dGVudEZpZWxkKHgpID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZhbGlkYXRlKHgpOworfQpJbmRl
eDogSlNUZXN0cy90eXBlUHJvZmlsZXIvZXM2LWNsYXNzZXMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy90eXBlUHJvZmlsZXIvZXM2LWNsYXNzZXMuanMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpT
VGVzdHMvdHlwZVByb2ZpbGVyL2VzNi1jbGFzc2VzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3
ICszMSw3IEBAIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LnN0cnVjdHVyZXNbMF0KIGFzc2Vy
dCh0eXBlcy5nbG9iYWxUeXBlU2V0LnN0cnVjdHVyZXNbMF0ucHJvdG8uZmllbGRzLmluZGV4T2Yo
Im1ldGhvZEIiKSAhPT0gLTEsICJzaG91bGQgaGF2ZSBtZXRob2RCIik7CiAKIHR5cGVzID0gZmlu
ZFR5cGVGb3JFeHByZXNzaW9uKHdyYXBwZXIsICJhbmltYWxJbnN0YW5jZSA9Iik7Ci1hc3NlcnQo
dHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBbmltYWwiLCAiU2hvdWxk
IHNob3cgY29uc3RydWN0b3IgbmFtZSIpOworYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlz
cGxheVR5cGVOYW1lID09PSAiQW5pbWFsIiwgIlNob3VsZCBzaG93IGNvbnN0cnVjdG9yIG5hbWUs
IGJ1dCB3YXM6ICIgKyB0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSk7CiBhc3Nl
cnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzLmxlbmd0aCA9PT0gMSwgInNob3VsZCBo
YXZlIG9uZSBzdHJ1Y3R1cmUiKTsKIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LnN0cnVjdHVy
ZXNbMF0uY29uc3RydWN0b3JOYW1lID09PSAiQW5pbWFsIiwgIlNob3VsZCBiZSBBbmltYWwiKTsK
IGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LnN0cnVjdHVyZXNbMF0ucHJvdG8uZmllbGRzLmxl
bmd0aCA9PT0gMiwgInNob3VsZCBoYXZlIHR3byBmaWVsZHMiKTsKSW5kZXg6IEpTVGVzdHMvdHlw
ZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2Zp
bGVyL2luaGVyaXRhbmNlLmpzCShyZXZpc2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9m
aWxlci9pbmhlcml0YW5jZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBhc3Nl
cnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hCiBhc3NlcnQodHlwZXMuaW5zdHJ1
Y3Rpb25UeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9PT0gIkMiLCAidmFyaWFibGUgJ3RoZUMnIHNo
b3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQyciKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4
cHJlc3Npb24od3JhcHBlciwgImhpZXJhcmNoeVRlc3QgPSBuZXcgQjsiKTsKLWFzc2VydCh0eXBl
cy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJh
cmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQSciKTsKK2Fzc2VydCh0eXBl
cy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJh
cmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQSciICsgIiBidXQgd2FzOiAi
ICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUpOwogCiB0eXBlcyA9IGZpbmRU
eXBlRm9yRXhwcmVzc2lvbih3cmFwcGVyLCAiaGllcmFyY2h5VGVzdCA9IG5ldyBDOyIpOwogYXNz
ZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lID09PSAiQSIsICJ2YXJpYWJs
ZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxkIGhhdmUgZGlzcGxheVR5cGVOYW1lICdBJyIpOwpJbmRl
eDogSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cuanMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMv
dHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2
YXIgb2xkUHJvdG87CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91
dE92ZXJmbG93OyBpKyspIHsKICAgICAvLyBNYWtlIHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlw
ZSBjaGFpbiBvbiBlYWNoIGFzc2lnbm1lbnQgdG8geCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFy
ZWQgcHJvdG90eXBlIGNoYWlucyB3aWxsIGJlIG1lcmdlZC4KICAgICB4ID0gbmV3IFByb3RvOwor
ICAgIHhbJ2ZpZWxkJyArIGldID0gMjA7CisgICAgeCA9IHgKICAgICBvbGRQcm90byA9IFByb3Rv
OwogICAgIFByb3RvID0gZnVuY3Rpb24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90
b19fID0gb2xkUHJvdG8ucHJvdG90eXBlOwpAQCAtMjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0
aW9uKCkge307CiBvbGRQcm90byA9IG51bGw7CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVj
dHVyZUNvdW50V2l0aG91dE92ZXJmbG93IC0gMTsgaSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsK
KyAgICB5WydmaWVsZCcgKyBpXSA9IDIwOworICAgIHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90
bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJv
dG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50
eHQJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIyNyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5k
VmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5j
cHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1
bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
Y3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYg
KzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lz
ZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2Rl
L1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3Bw
CiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdz
LmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3Bw
CShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBAQCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NP
YmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9i
amVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlv
biwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2Ns
YXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6IHB1YmxpYyBET01KSVROb2RlIHsKK3B1Ymxp
YzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKworICAg
IERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNlID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKwor
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUlu
Zm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBp
bmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhlYXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAg
ICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsK
KyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRyaWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0
ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAgICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0
ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0dGVyU2V0dGVyKAorICAgICAgICAgICAgICAg
IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3VzdG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQp
CisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0ZXIsCisjZWxzZQorICAgICAgICAgICAgICAg
IG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAgICAgICBTcGVjSW50MzJPbmx5KQorICAgICAg
ICB7CisgICAgICAgIH0KKworI2lmIEVOQUJMRShKSVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNsb3dDYWxsKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9p
bnRlcikKKyAgICAgICAgeworICAgICAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAg
ICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAg
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOwor
ICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShvYmplY3QtPmdldFByb3RvdHlwZURp
cmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9N
R2V0dGVyU25pcHBldD4gY2FsbERPTUdldHRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJl
ZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9N
R2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7CisgICAgICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xv
YmFsT2JqZWN0ID0gZmFsc2U7CisgICAgICAgICAgICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1d
KENDYWxsSGVscGVycyYgaml0LCBTbmlwcGV0UGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAg
ICAgICBKU1ZhbHVlUmVncyByZXN1bHRzID0gcGFyYW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAg
ICAgICAgICAgICAgR1BSUmVnIGRvbSA9IHBhcmFtc1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAg
ICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3Vs
dHMsIGRvbSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3Qo
KTsKKworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gc25pcHBldDsKKyAgICAg
ICAgfQorI2VuZGlmCisgICAgfTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJik7CisKKyAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgewor
ICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICBKU09iamVjdCogdGhpc09iamVj
dCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCh0aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAg
fQorfTsKKworc3RhdGljIGNvbnN0IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0
cmlidXRlIERPTUpJVEdldHRlckJhc2VKU09iamVjdERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7CisgICAgY29uc3QgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9
ICZET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVy
U2V0dGVyID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0
dGVyKCksIG51bGxwdHIsIERPTUF0dHJpYnV0ZUFubm90YXRpb24geyBKU09iamVjdDo6aW5mbygp
LCBkb21KSVQgfSk7CisgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6
OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tR2V0dGVyIiksIGN1c3RvbUdldHRlclNldHRlciwgUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vz
c29yKTsKK30KKwogY29uc3QgQ2xhc3NJbmZvIEVsZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQi
LCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVs
ZW1lbnQpIH07CiBjb25zdCBDbGFzc0luZm8gTWFzcXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1
ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShNYXNxdWVyYWRlcikgfTsKIGNvbnN0IENsYXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJS
b290IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJM
RShSb290KSB9OwpAQCAtOTY1LDYgKzEwNDksNyBAQCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9k
ZTo6c19pbmZvID0geyAiCiAjZW5kaWYKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNf
aW5mbyA9IHsgIkRPTUpJVEdldHRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERP
TUpJVEdldHRlckNvbXBsZXg6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFz
ZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdl
dHRlckNvbXBsZXgpIH07Citjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBu
dWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09i
amVjdCkgfTsKICNpZiBFTkFCTEUoSklUKQogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9u
T2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRGdW5jdGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8s
IG51bGxwdHIsICZET01KSVRGdW5jdGlvbk9iamVjdDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENS
RUFURV9NRVRIT0RfVEFCTEUoRE9NSklURnVuY3Rpb25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTA2
Niw2ICsxMTUxLDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwog
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRH
ZXR0ZXJDb21wbGV4T2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdChFeGVjU3RhdGUq
KTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9N
SklUQ2hlY2tTdWJDbGFzc09iamVjdChFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4
ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25D
cmVhdGVCdWlsdGluKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRl
KEV4ZWNTdGF0ZSopOwpAQCAtMTE3Nyw2ICsxMjYzLDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuYwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25XYWl0Rm9yUmVwb3J0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25IZWFwQ2FwYWNpdHkoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYXNoSGVhcEFjY2VzcyhFeGVj
U3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uTG9h
ZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKik7CiAKIHN0cnVjdCBTY3JpcHQgewog
ICAgIGVudW0gY2xhc3MgU3RyaWN0TW9kZSB7CkBAIC0xMzgyLDYgKzE0NjksNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9i
amVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdCwgMCk7CiAgICAg
ICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QiLCBmdW5jdGlv
bkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0s
ICJjcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRD
aGVja1N1YkNsYXNzT2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VK
U09iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlQnVpbHRpbiIsIGZ1
bmN0aW9uQ3JlYXRlQnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRl
R2xvYmFsT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QsIDApOwogICAgICAgICBh
ZGRGdW5jdGlvbih2bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwgZnVuY3Rpb25TZXRJbXB1
cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBAIC0xNDY2LDYgKzE1NTQsOCBAQCBwcm90ZWN0ZWQ6CiAK
ICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJoZWFwQ2FwYWNpdHkiLCBmdW5jdGlvbkhlYXBDYXBh
Y2l0eSwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZmxhc2hIZWFwQWNjZXNzIiwgZnVu
Y3Rpb25GbGFzaEhlYXBBY2Nlc3MsIDApOworCisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAibG9h
ZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIiLCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0
dGVyLCAxKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBhZGRGdW5jdGlvbihWTSYgdm0sIEpTT2Jq
ZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG5hbWUsIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCB1
bnNpZ25lZCBhcmd1bWVudHMpCkBAIC0yMTE1LDYgKzIyMDUsMTYgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVz
dWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7CisgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBqc051bGwoKSk7CisgICAgRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZSh2
bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisK
KwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEltcHVyZUdldHRlckRl
bGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAt
MjgzMiw2ICsyOTMyLDE3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25G
bGEKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0
ZXIoRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgUkVM
RUFTRV9BU1NFUlQoZXhlYy0+YXJndW1lbnRDb3VudCgpID49IDEpOworICAgIEdldHRlclNldHRl
ciogZ2V0dGVyU2V0dGVyID0ganNEeW5hbWljQ2FzdDxHZXR0ZXJTZXR0ZXIqPih2bSwgZXhlYy0+
YXJndW1lbnQoMCkpOworICAgIFJFTEVBU0VfQVNTRVJUKGdldHRlclNldHRlcik7CisgICAgSlNP
YmplY3QqIGdldHRlciA9IGdldHRlclNldHRlci0+Z2V0dGVyKCk7CisgICAgUkVMRUFTRV9BU1NF
UlQoZ2V0dGVyKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGdldHRlcik7Cit9CisKIHRl
bXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPCFzdGQ6
OmlzX2Z1bmRhbWVudGFsPFZhbHVlVHlwZT46OnZhbHVlPjo6dHlwZSBhZGRPcHRpb24oVk0mLCBK
U09iamVjdCosIElkZW50aWZpZXIsIFZhbHVlVHlwZSkgeyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5QzAwNUJFRUQ4IC8qIEIz
Q29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJCMUQzNDcxNTcwMEM1QTgz
NCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTJDQjM0QTFDNEVFRDVD
MDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29k
ZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk0NTc1Q0Qx
RjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1NkExQjk1MkZGMDAwMzA1
OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NUMyMTcxRTVE
Nzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY1QzIxNTFFNUQ3
OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTZEQUEyQjFF
ODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURGMjRBIC8qIENhbGxlZUJp
dHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
MzQ5OCw2ICszNDk5LDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJ
Qy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRNYXRoSUMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9D
b2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBD
VG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0Iz
NDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3NDaGFp
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5QzFFMDM2MDA1MDBCQkUz
N0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZvLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0
ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHBhdGgg
PSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM2NSw2ICs3MzY4LDggQEAKIAkJCQkxNEFEOTEwQTFE
Q0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTBGRDNFNDA3MUI2
MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8sCiAJCQkJMEZEM0U0MDgx
QjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8sCisJCQkJNzk0NTc1Q0Mx
RjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLywKKwkJCQk3OTQ1
NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLywKIAkJCQkw
RjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNwcCAqLywKIAkJCQkwRjE1
Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8sCiAJCQkJMEY5MzMyOTkx
NENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApAQCAtODU1NCw2ICs4NTU5
LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50bENvbGxhdG9yUHJvdG90
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RCMDBGQzEwMjkgLyogSW50
bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENkUxQjRE
QzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Nzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9y
bWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDc1MUI0REMxQzYwMEQ2
OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90
b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AK
ICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBTeW1ib2xJbXBsOjpT
dGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC4kdm0i
LCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbEltcGw6OlN0YXRpY1N5bWJv
bEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC5fX3Byb3Rv
X18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAvLyBuYW1lc3BhY2UgU3lt
Ym9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVp
bHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIw
Niw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAj
dW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0ZXJuIFN5bWJvbEltcGw6
OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4dGVybiBTeW1ib2xJbXBs
OjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogfQogCiAjZGVm
aW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFtZSkgbV9wcml2YXRlVG9Q
dWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCksICZtXyMjbmFtZSk7CkBA
IC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JVSUxUSU5fU1lNQk9M
UykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAi
JHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21V
aWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2YXRl
TmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoSWRlbnRpZmll
cjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjp1bmRlcnNj
b3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJ
Tl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAgICAg
ICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5J
VElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2ICsyNDAsOCBAQCBwdWJs
aWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05P
V05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKQogICAg
ICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVByaXZhdGVOYW1lLmltcGwo
KSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKG1f
ZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFtZSk7CisgICAgICAgIG1f
cHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lLmltcGwo
KSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOworICAgICAgICBtX3B1Ymxp
Y1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90by5pbXBs
KCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9CiAKICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CkBA
IC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNT
T1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1YmxpY05hbWUoKSBjb25z
dCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYg
ZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1Qcml2YXRlTmFt
ZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5h
bWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOyB9CiAKIHBy
aXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKQEAgLTI1OCw2ICsyNjMs
NyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dF
TExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQogICAgIGNvbnN0IEpTQzo6
SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9k
b2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX3VuZGVyc2Nv
cmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0
cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJlcEhhc2g+IEJ1aWx0aW5O
YW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1ByaXZhdGVNYXA7CiAgICAg
QnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NSwzMSArNTUsMzQgQEAgbmFtZXNwYWNlIEFjY2Vzc0Nhc2VJbnRlcm5hbCB7
CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUFjY2Vzc0Nhc2U6OkFj
Y2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZz
ZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1vdmUocHJvdG90eXBlQWNjZXNz
Q2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVj
dHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CiB9CiAKLXN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQp
CitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgSW5IaXQ6CiAg
ICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAg
ICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJlY3RBcmd1bWVudHNMZW5ndGg6CiAg
ICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBNb2R1bGVOYW1lc3BhY2VM
b2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXByb3RvdHlw
ZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCkBAIC05Niw3ICs5OSw3IEBAIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjoKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
fQogCi0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25T
ZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3ND
YXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgbnVsbHB0cikpOwogfQogCiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUs
NyArMTM4LDkgQEAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAg
IFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUo
KSAmJiBzdHJ1Y3R1cmUoKS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAg
ICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAg
ICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAg
ICAgICAvLyBPT1BTOiBhZGQgYSB0ZXN0IGZvciB0aGlzCisgICAgICAgIHx8IChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2lu
dFNldEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgp
KQpAQCAtMTUxLDYgKzE1Niw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJl
Q2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
aWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmlu
Z0xlbmd0aDoKQEAgLTIxMCw2ICsyMTgsMTggQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNl
KGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBk
ZWZhdWx0OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgaWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hl
Y2sgd2UgbmVlZCBzaW5jZSBQcm90b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBz
dHJ1Y3R1cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWlu
IG9ubHkgdGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAg
ICAgICAgICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAg
ICByZXR1cm4gKm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNo
ZWNrKCkgfHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI2IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2Fu
UmVwbGFjZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnBy
aW50KCJcbiIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAg
ICBvdXQucHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0
aW9uKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVt
cChzdHJ1Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAg
ICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0
dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1Zh
bGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0g
IiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisg
ICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIG91dC5wcmludChjb21tYSwg
InByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKyAg
ICBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAg
b3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkp
LCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYg
KG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0g
IiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1w
bChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjcsMTIg
QEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmICht
X3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAg
ICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNo
YWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFt
X2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg
IGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDMsMTEgQEAgYm9vbCBBY2Nlc3NDYXNl
Ojpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAg
cmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlmICht
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVzdWx0
ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dpdGNo
IChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01h
cmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiAr
NDA3LDYyIEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAg
ICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFs
bFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQo
KSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVG
b3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNo
R1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAg
IGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3Jh
dGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOwor
ICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFzZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bi0+Y2hhaW4oKS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4oKVtpXTsKKyAgICAgICAgICAg
ICAgICBib29sIGF0RW5kID0gaSArIDEgPT0gbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4o
KS5zaXplKCk7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0
KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAgICAgICAg
ICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09IE1pc3Mg
fHwgbV90eXBlID09IEluTWlzcykgJiYgIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVj
dHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSks
IGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2gu
YXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNz
R1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1
cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBq
aXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSks
IGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsg
Ly8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBzdG9yZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJvdG90
eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxh
dGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAg
ICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1
YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVs
bCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAg
ICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgp
KSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAg
ICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlw
ZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVz
cyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhz
Y3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNo
U3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BS
LCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAg
c3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsK
ICAgICB9IH07CkBAIC00MjgsNiArNDk5LDggQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUlt
cGwoQWNjZXNzR2VuZQogICAgIEFTU0VSVChtX2NvbmRpdGlvblNldC5zdHJ1Y3R1cmVzRW5zdXJl
VmFsaWRpdHlBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKTsKIAogICAgIGZvciAo
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IG1fY29uZGl0aW9uU2V0
KSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKwog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbmRpdGlvbi5vYmplY3QoKS0+c3RydWN0
dXJlKCk7CiAKICAgICAgICAgaWYgKGNvbmRpdGlvbi5pc1dhdGNoYWJsZUFzc3VtaW5nSW1wdXJl
UHJvcGVydHlXYXRjaHBvaW50KCkpIHsKQEAgLTUwNCwxMyArNTc3LDE5IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIg
PSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBp
ZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUoCi0g
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2Uo
KSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7CisgICAgICAgIGlmIChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzbid0IHByZXR0eSwgYnV0IHdl
IGtub3cgd2UgZ290IGhlcmUgdmlhIGdlbmVyYXRlV2l0aEd1YXJkLAorICAgICAgICAgICAgLy8g
YW5kIGl0IGxlZnQgdGhlIGJhc2VGb3JBY2Nlc3MgaW5zaWRlIHNjcmF0Y2hHUFIuIFdlIGNvdWxk
IHJlLWRlcml2ZSB0aGUgYmFzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBpdCdkIHJlcXVpcmUgZW1p
dHRpbmcgdGhlIHNhbWUgY29kZSB0byBsb2FkIHRoZSBiYXNlIHR3aWNlLgogICAgICAgICAgICAg
YmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAg
ICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAgICAgYmFz
ZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfQogCiAg
ICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIGlm
IChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29y
R2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
QWNjZXNzb3JTZXR0ZXIpIHsKQEAgLTEwMTYsNyArMTA5NSw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6
Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgCiAgICAgY2FzZSBJbnRyaW5zaWNHZXR0
ZXI6IHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQoKSkpOwot
ICAgICAgICAKKwogICAgICAgICAvLyBXZSBuZWVkIHRvIGVuc3VyZSB0aGUgZ2V0dGVyIHZhbHVl
IGRvZXMgbm90IG1vdmUgZnJvbSB1bmRlciB1cy4gTm90ZSB0aGF0IEdldHRlclNldHRlcnMKICAg
ICAgICAgLy8gYXJlIGltbXV0YWJsZSBzbyB3ZSBqdXN0IG5lZWQgdG8gd2F0Y2ggdGhlIHByb3Bl
cnR5IG5vdCBhbnkgdmFsdWUgaW5zaWRlIGl0LgogICAgICAgICBTdHJ1Y3R1cmUqIGN1cnJTdHJ1
Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNl
LmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9B
Y2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUg
IkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUgPHd0Zi9D
b21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xMjAsNyArMTIxLDcgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3Jl
YXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZh
bGlkT2Zmc2V0LAotICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qg
c2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5zaXRpb25zLgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQs
IFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJvdG8oKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAg
ICB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWZh
dWx0OworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9w
ZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nlc3NDYXNl
KEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2Fz
ZSYgb3RoZXIpCisgICAgICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAgLCBtX3N0
YXRlKG90aGVyLm1fc3RhdGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZzZXQpCisg
ICAgICAgICwgbV9zdHJ1Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwgbV9jb25k
aXRpb25TZXQob3RoZXIubV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAob3RoZXIu
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4gPSBvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0KKwogICAg
IEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAg
dm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0yMjcsNiAr
MjQ0LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVy
ZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisg
ICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU5Myw3ICs1OTMsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBTCiAgICAgICAgICAgICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29wTGVuZ3Ro
IC0gMl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3Ro
IC0gMV0gPSBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVjdEFsbG9j
YXRpb25Qcm9maWxlLT5pbml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUtPmluaXRpYWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1fZ2xvYmFs
T2JqZWN0LmdldCgpLCB0aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9H
ZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5
SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFj
Y2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAo
YWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMo
c2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQ
cm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3Rh
dGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRl
clNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUlu
dGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNl
dHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBv
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkK
K0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFj
Y2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBh
Y2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRk
aXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9jdXN0
b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAK
IAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNy
ZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1
c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0
dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwK
KyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0
ZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3ND
aGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDE4
ICs2MywxOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
KHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJv
eHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVBy
b3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwog
ICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAg
cmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAorLy8gT09QUzogZG8gc29tZXRoaW5nIGhlcmUu
IFdobyBjYWxscyB0aGlzPwogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKICAgICBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVl
U2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVl
X3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBm
YWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZt
LCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51
bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBudWxscHRyKSk7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFj
Y2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQp
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFj
Y2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NiwxNCArNDYsMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbWl0RE9NSklUR2V0
dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYsIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0dGVyKiwg
R1BSUmVnIGJhc2VGb3JHZXRHUFIpOwogCisgICAgLy8gT09QUzogY29uc2lkZXIgd2hhdCB0aGlz
IGN0b3IgaXMgZm9yCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVh
dGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosCiAgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkg
PSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIs
Ci0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAg
SlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwKLSAgICAgICAgc3RkOjpvcHRpb25h
bDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIGJvb2wg
dmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0ciwKKyAgICAgICAgSlNPYmplY3Qq
IGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5v
dGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiA9IG51bGxwdHIpOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9w
ZXJ0eU9mZnNldCwKICAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsCkBAIC02Nyw3ICs2NSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3Vz
dG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUq
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNo
cG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSk7CisgICAg
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKICAg
ICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2
YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
OjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1
Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0
cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkp
OworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3Jw
aGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHBy
b3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3Ry
dWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcg
KzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJ
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24p
Ci0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAgICBtX2ludHJp
bnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY2FuRW1pdEludHJp
bnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBlbWl0SW50cmlu
c2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisgICAgLy8gRklYTUU6IE1ha2Ug
dGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNG
dW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25z
dCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVO
YW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIEpT
QyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nh
c2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9kdWxl
TmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBtb2R1bGVFbnZpcm9ubWVudCwg
U2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFt
ZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZh
bGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBudWxscHRy
KQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsKICAgICBtX21vZHVsZU5hbWVz
cGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklu
bGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFt
X2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lu
bGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdvaW5nIHBvbHkgcHJvdG8sIHdl
IHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAgICAvLyBjcmVhdGVfdGhpcycg
ZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0LgorICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICBib29sIGlz
UG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIEZ1bmN0
aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKTsK
KworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBleGVjdXRhYmxlLT5jYWNoZWRQ
b2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0
dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAg
bV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBv
d25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1
cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5z
dHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSktPmVuc3VyZUluZmVycmVkQ29uc3RydWN0
b3Iodm0pOworICAgICAgICBib29sIHBhcmVudFByb3RvdHlwZUlzUG9seVByb3RvID0gZmFsc2U7
CisgICAgICAgIGlmIChKU09iamVjdCogcHJvdG90eXBlT2ZQcm90b3R5cGUgPSBqc0R5bmFtaWND
YXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZS0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpKSB7Cisg
ICAgICAgICAgICBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90byA9IHByb3RvdHlwZU9mUHJvdG90
eXBlLT5zdHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgpCisgICAgICAgICAgICAgICAgJiYgcHJv
dG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCktPmluZmVycmVkQ29u
c3RydWN0b3IoKQorICAgICAgICAgICAgICAgICYmIHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1
Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5pbmZlcnJlZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZh
bGlkYXRlZCgpOworICAgICAgICB9CisKKyAgICAgICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90
aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBp
biBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworCisgICAgICAgIGlzUG9seVByb3RvID0gKGlu
ZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlkYXRlZCgpIHx8IHBhcmVudFByb3RvdHlw
ZUlzUG9seVByb3RvKSAmJiBleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVu
SW52YWxpZGF0ZWQoKTsKKyAgICAgICAgaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkpCisg
ICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7CisgICAgfQorCisgICAgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNo
cmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90
b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAg
ICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRp
YyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRp
YWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgor
ICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1
bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAg
ICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFs
bG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxh
cmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlu
bGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5s
aW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5l
Q2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwor
ICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGluZUNhcGFjaXR5
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUg
PSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBh
Y2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgewor
ICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9u
U2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3Rv
KTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVj
dHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9y
ZUZlbmNlKCk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmpzRXhl
Y3V0YWJsZSgpLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7Cisg
ICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9hbGxv
Y2F0b3IgPSBhbGxvY2F0b3I7CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1
Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5z
aWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291
bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0g
cHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJl
dHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBw
cm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xz
LCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUo
KS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBF
bnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5h
bWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+
cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0
eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3Rv
dHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8v
IEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0
cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNG
dW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAr
K2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2Ug
SlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyBy
ZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90
eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNT
RVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAg
ICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRv
IHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2
bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5
KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBs
aWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8v
IHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGgg
aGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5
ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9
IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGll
cyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAot
ICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAg
ICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5s
aW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNh
cGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAg
aWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkK
LSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkg
PiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpT
RmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFy
a2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9j
YXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJh
IGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlm
IChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2Vs
bFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4p
OwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChp
bmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAg
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5w
cm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBp
ZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Bl
cmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBt
X2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25l
ciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5
OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBu
dWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyAr
NjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxs
b2NhdG9yID0gMDsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0
cnVjdHVyZS5jbGVhcigpOwogICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAg
QVNTRVJUKGlzTnVsbCgpKTsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6
CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90
eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1
cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVB
cnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRT
eW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+
c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5h
bWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURh
dGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1l
QXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAg
IEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVj
dG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUg
dXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAg
ICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAg
ICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAg
fQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVm
YXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1h
cmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdz
IGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uOjphYnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2Jq
ZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVh
azsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0
OiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAg
ICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQg
PSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAg
ICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJv
dG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTIgQEAgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRh
dGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJu
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAg
ICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAg
IC8vIEZJWE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAg
ICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMz
OQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlk
KCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1BvbHltb3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBA
IEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1v
cnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0
ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNj
ZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUg
c3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNz
ID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBo
aWNBY2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToK
IH07CiAKIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRp
b25TdGF0ZShWTSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBt
X2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0
ZXJzRm9yQ2FsbEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNU
b1Jlc3RvcmVSZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0
ZWRDYWxsU2l0ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAg
SlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsg
bnVsbHB0ciB9OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAg
IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2Vk
UmVnaXN0ZXJTdGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9w
ZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxs
VmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5
IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMs
IHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAv
LyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0
dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9mZnNldCAh
PSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRl
cm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlv
bjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVj
YXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRp
dmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZl
IHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3Jh
dGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBj
dXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9
IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRlcyk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5
cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDExNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIK
KworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0
eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxsKiBjdXJyZW50
ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIEpTT2JqZWN0KiB0YXJn
ZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisKKyAgICBi
b29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oKSk7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPnByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFy
eSgpKSB7CisgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVu
RGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoY3VycmVudCkpOworICAgICAgICB9CisK
KyAgICAgICAgcmVzdWx0LT5tX2NoYWluLmFwcGVuZChzdHJ1Y3R1cmUpOworCisgICAgICAgIGlm
IChjdXJyZW50ID09IHRhcmdldCkgeworICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBw
cm90byBpZiB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0
aGUgcG9seSBwcm90byBwcm90b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5
IHByb3RvCisgICAgICAgIC8vIHRoaW5nIGluIHRoZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNo
ZSBoaXQgb24gaXQsIHRoZW4gd2UncmUgbm90CisgICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAg
ICAgIHVzZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisK
KyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1
cChnbG9iYWxPYmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgp
KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5
cGUpOworICAgIH0KKworICAgIGlmICghZm91bmQgJiYgISF0YXJnZXQpCisgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9y
IChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3ND
aGFpbjo6b3BlcmF0b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fY2hhaW4gPT0gb3RoZXIubV9jaGFpbjsKK30KKwordm9pZCBQcm90
b3R5cGVBY2Nlc3NDaGFpbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91
dC5wcmludCgiUG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgb3V0LnByaW50KCI6IFtc
biIpOworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAg
IG91dC5wcmludCgiXHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAg
IG91dC5wcmludCgiXG4iKTsKKyAgICB9CisgICAgb3V0LnByaW50KCJdIik7Cit9CisKK30KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVB
Y2Nlc3NDaGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitj
bGFzcyBKU0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90
OworY2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvdG90
eXBlQWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJv
dG90eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIg
d2hlbiBpbnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNz
Q2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2Us
IGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjbG9uZSgpCisgICAgeworICAgICAg
ICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxQcm90b3R5cGVBY2Nlc3NDaGFpbj4oKnRoaXMpOwor
ICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJl
dHVybiBtX2NoYWluOyB9CisKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7
CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVy
KSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4m
IG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOwor
ICAgIH0KKworICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Owor
Citwcml2YXRlOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAg
VmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUg
Zm9yIG5vdywgYnV0IHBlcmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KK307CisKK30KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxl
QWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAs
MTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQ
cm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFj
Y2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nl
c3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0
dXJlLAorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVl
X3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBC
YXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVBy
b3h5KQogICAgICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQp
CitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFj
Y2Vzc0NoYWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8
IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1
cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZt
LCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHks
IGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFBy
b3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5
YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVz
cGFjZSBKU0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nh
c2UgewogcHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJh
c2UgPSBBY2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBi
b29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxs
cHRyKTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRp
dGlvbmFsU2V0ID0gbnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWlu
PiA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJp
bnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBj
bG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflBy
b3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nh
c2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlND
ZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHBy
aXZhdGU6CiAgICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzM3LDYgKzM3MzcsMTEgQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAg
ICAgICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJl
U2V0KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAg
ICAvLyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSBy
ZWx5aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxl
YXN0IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9m
IGhvdyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiByaWdodCBub3csIGlmIHdlIGhhdmUgYW4gT1BDUywgd2UgaGF2ZSBtb25vIHBy
b3RvLiBIb3dldmVyLCB0aGlzIHdpbGwKKyAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGJlIGNo
YW5nZWQgaW4gdGhlIGZ1dHVyZSBvbmNlIHdlIGhhdmUgYSBoeWJyaWQgZGF0YSBzdHJ1Y3R1cmUg
Zm9yCisgICAgICAgICAgICAgICAgLy8gcG9seSBwcm90bzoKKyAgICAgICAgICAgICAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CiAgICAgICAgICAg
ICAgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0
cnVlOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0
cnVjdHVyZVNldCgpLnNpemUoKTsgKytpKSB7CkBAIC00MzM0LDEyICs0MzM5LDE2IEBAIGJvb2wg
Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5j
dGlvbikgewogICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9
IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURh
dGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAg
ICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lz
dGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJl
YWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ug
c2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
U3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LmZyZWV6ZShyYXJlRGF0YSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53
YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBv
aW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMg
c3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBh
ZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3Ry
dWN0dXJlKSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4
IEBAIGJvb2wgR3JhcGg6OmNhbkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVBy
b3RvdHlwZSogYXJyYXlQcm90b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCkt
Pm9yaWdpbi5zZW1hbnRpYyktPmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0g
dHJ1ZTsKICAgICB2YWx1ZS5tX3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVj
dHVyZSBzdHJ1Y3R1cmUpIHsKLSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
aXNEaWN0aW9uYXJ5KCkKICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5
KG1fdm0ucHJvcGVydHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zm
c2V0CiAgICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBl
KCkgPT0gSlNGdW5jdGlvblR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxK
U0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7
CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICBy
ZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKCktPnN0cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAg
ICAgIEpTT2JqZWN0KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1
cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAg
ICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQo
KSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVj
dGlvbih2bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpT
VmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDAs
NyArNDMwMCw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6
Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6
OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9j
YXRvcigpKSwgYWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxl
cjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3Ry
dWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2pp
dC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKwog
ICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRv
ckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0
aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNz
KGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9k
ZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0
KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3Jh
dGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90
eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2Ny
YXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0Lgog
ICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJh
bmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5LDggKzMyNDksMTUgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVy
OjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURl
ZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAog
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJ
bmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1f
aml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVn
LCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRP
ZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQu
dm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0
LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAg
bV9qaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1
cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8gbm90UG9seVBy
b3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOwor
ICAgIG1faml0Lnplcm9FeHRlbmQzMlRvUHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7Cisg
ICAgbV9qaXQubG9hZDY0KEpJVENvbXBpbGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRj
aDNSZWcsIEpJVENvbXBpbGVyOjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVT
dG9yYWdlKCkpLCBzY3JhdGNoM1JlZyk7CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0KTsK
KyAgICBtX2ppdC5tb3ZlKHNjcmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3JvQXNz
ZW1ibGVyOjpKdW1wIGlzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6
OkVxdWFsLCBzY3JhdGNoUmVnLCBwcm90b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgbV9qaXQuYnJhbmNoSWZDZWxsKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8obG9v
cCwgJm1faml0KTsKQEAgLTMzODEsMTAgKzMzODgsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90b3R5
cGUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0
aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBHUFJU
ZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJvdG90
eXBlUmVnID0gcHJvdG90eXBlLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNj
cmF0Y2guZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigp
OworICAgICAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAgICAg
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElmQ2Vs
bCh2YWx1ZS5qc1ZhbHVlUmVncygpKTsKICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUu
anNWYWx1ZVJlZ3MoKS5wYXlsb2FkR1BSKCk7CkBAIC0zMzk0LDcgKzM0MDMsNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBpc0Nl
bGwubGluaygmbV9qaXQpOwogICAgICAgICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JP
YmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJS
ZWcpOworICAgICAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywg
cHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogICAg
ICAgICAKICAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTYsMTUg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAgIEdQ
UlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlz
KTsKKyAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVnIHZh
bHVlUmVnID0gdmFsdWUuZ3ByKCk7CiAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlw
ZS5ncHIoKTsKICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgR1BS
UmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gzUmVn
ID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgCi0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qo
bm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwor
ICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVS
ZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVzc2Vk
Qm9vbGVhblJlc3VsdChzY3JhdGNoUmVnLCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBj
b3B5KQpAQCAtNzU5LDcgKzc1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0aXZl
Tm9uUGVlcGhvbGVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgYm9v
bCBub25TcGVjdWxhdGl2ZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAg
ICAKLSAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFs
dWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBH
UFJSZWcgc2NyYXRjaDJSZWcpOworICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qo
Tm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0
Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKTsK
ICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0
YW5jZU9mQ3VzdG9tKE5vZGUqKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTY5
LDEwICs4OTY5LDEyIEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBp
c0NlbGxDYXNlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9vcCA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVCaXRz
ID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90byA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5cGUg
PSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5jZSA9
IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1f
b3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJlY3Qg
PSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5zdGFu
Y2VTbG93ID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0
aW9uID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25kaXRp
b247CiAgICAgICAgIGlmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNl
KQpAQCAtODk5MCwxNiArODk5MiwyOCBAQCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21CbG9j
ayBvcmlnaW5hbFZhbHVlID0gbV9vdXQuYW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5qdW1w
KGxvb3ApOwogICAgICAgICAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3Rv
dHlwZURpcmVjdCk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVC
aXRzKTsKICAgICAgICAgTFZhbHVlIHZhbHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5hbFZh
bHVlKTsKICAgICAgICAgTFZhbHVlIHR5cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1ZSwg
bV9oZWFwcy5KU0NlbGxfdHlwZUluZm9UeXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAg
ICAgICAgICAgbV9vdXQubm90RXF1YWwodHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9iamVj
dFR5cGUpKSwKLSAgICAgICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJhcmVs
eShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90
b3R5cGVCaXRzKSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAgICBt
X291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7CisgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsKICAg
ICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAgICBM
VmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMu
U3RydWN0dXJlX3Byb3RvdHlwZSk7CisKKyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMgPSBt
X291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworICAg
ICAgICBWYWx1ZUZyb21CbG9jayBkaXJlY3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90b3R5
cGVCaXRzKTsKKyAgICAgICAgbV9vdXQuYnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyksIHVu
c3VyZShsb2FkUG9seVByb3RvKSwgdW5zdXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAgICAg
ICBtX291dC5hcHBlbmRUbyhsb2FkUG9seVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAgICAg
ICAgTFZhbHVlIGluZGV4ID0gbV9vdXQuYml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNvbnN0
SW50NjQoVUlOVF9NQVgpKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0gbV9v
dXQuYW5jaG9yKAorICAgICAgICAgICAgbV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleChtX2hl
YXBzLnByb3BlcnRpZXMuYXRBbnlOdW1iZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0LCBK
U09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAo
Y29tcGFyZVByb3RvdHlwZSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVByb3Rv
dHlwZSwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9
IG1fb3V0LnBoaShJbnQ2NCwgZGlyZWN0UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAgIFZh
bHVlRnJvbUJsb2NrIGlzSW5zdGFuY2VSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVh
blRydWUpOwogICAgICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVhbChj
dXJyZW50UHJvdG90eXBlLCBwcm90b3R5cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDEz
IEBAIHZvaWQgSklUOjplbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8vIExv
YWQgdGhlIHByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBlcXVh
bCB0byByZWdUMSAtIFdJTiEKICAgICAvLyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhpdCBu
dWxsIC0gaWYgd2UgaGF2ZSB0aGVuIGRyb3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28gYWdh
aW4uCi0gICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMpOwot
ICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1QyLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwg
cmVnVDIpOworICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJlZ1Qz
KTsKKyAgICBsb2FkNjQoQWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQo
KSksIHJlZ1Q0KTsKKyAgICBhdXRvIGhhc1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90SW50
MzIoSlNWYWx1ZVJlZ3MocmVnVDQpKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwgcmVn
VDQpOworICAgIGxvYWQ2NChCYXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09i
amVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVkUHJv
dG90eXBlLmxpbmsodGhpcyk7CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJ
bnN0YW5jZSA9IGJyYW5jaFB0cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElm
SlNDZWxsKHJlZ1QyKS5saW5rVG8obG9vcCwgdGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBA
IHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsK
IAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VW
YWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZt
LCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJ
bmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNs
b3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlv
bnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVC
bG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAg
ICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBib29s
IHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWlu
ID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGJhc2VDZWxsLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8g
YWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBH
aXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIXVzZXNQb2x5
UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgaW5zdGVhZCBmb3IgZmFzdGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAgICAgIHByb3Rv
dHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIGlmIChzbG90Lmlz
VW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNv
bmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29k
ZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBj
b25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIG9m
ZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpA
QCAtMjkzLDEzICszMDcsMTcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0
QnlJRAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAg
ICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJl
KSkKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0s
IGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRh
cmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNj
ZXNzQ2hhaW4pKTsKKyAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBn
ZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRl
cihnZXR0ZXIsIHN0cnVjdHVyZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAg
ICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywg
YnV0IGZvciBvdXIgb3duIHNhbml0eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQg
dG8gZG8gYSBwb2ludGVyIGNoZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0
byBtYWtlIHRoaXMgd29yayB3b3VsZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5o
ZXJpdCBmcm9tIGJ1aWx0aW4gdHlwZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAg
ICAgICAgICAgbmV3Q2FzZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwg
Y29kZUJsb2NrLCBzbG90LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
Z2V0dGVyKTsKLSAgICAgICAgZWxzZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBp
ZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAg
ICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQs
Ci0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxv
YWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94
eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsK
ICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNz
VHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkp
CkBAIC0zMTYsNyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0
QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAg
ICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8g
c2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qu
aXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAg
ICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJp
YnV0ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQpAQCAtNTE3LDE1ICs1MzUsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICAKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgIE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAod2FzRm91bmQp
IHsKLSAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7Ci0gICAgICAgICAgICBj
b25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgK
LSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xv
dEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBi
YXNlKSB7IAorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUo
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsK
KyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgorICAg
ICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRlbnQu
aW1wbCgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAg
ICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIHByb3RvdHlwZUFjY2Vz
c0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICBpZiAoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNz
IHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAg
IH0KICAgICB9CiAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQogICAgICAgICByZXR1
cm4gR2l2ZVVwT25DYWNoZTsKQEAgLTUzMyw3ICs1NzEsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIExPR19JQygoSUNFdmVudDo6SW5BZGRBY2Nlc3NDYXNl
LCBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpZGVudCkpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgIHZtLCBj
b2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJbk1p
c3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgdm0s
IGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6Oklu
TWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJv
dG90eXBlQWNjZXNzQ2hhaW4pKTsKIAogICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgcmVzdWx0
ID0gc3R1YkluZm8uYWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNvZGVCbG9jaywgaWRlbnQsIFdURk1v
dmUobmV3Q2FzZSkpOwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjAs
MTYgKzc2MCwxNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAg
ICAgICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpICYmIHN0cnVjdHVy
ZS0+cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpID09IHN0cnVjdHVyZS0+b3V0T2ZM
aW5lQ2FwYWNpdHkoKSkgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5w
cmV2aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkp
OwogCi0gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVj
LCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFpbikgeworICAgICAgICAgICAgICAg
ICAgICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBhdXRv
IHJlc3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSwgc2F3UG9s
eVByb3RvKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBJbnZhbGlkUHJvdG90
eXBlQ2hhaW4gJiYgIXNhd1BvbHlQcm90bykgewogICAgICAgICAgICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pc09iamVjdCgpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIHBjWzRdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+
aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3QuY2Fj
aGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s2XS51LnN0cnVjdHVyZUlE
ID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEocGNbOF0u
dS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFp
bihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hh
aW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxsKSk7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNoYWluKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCgKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgY2hhaW4pOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxvY2ss
IGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
ICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
c3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3RhdGUm
IHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0byYg
dm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJl
KHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpOwogfQogCiBzdGF0
aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0
LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02MTAsNyArNjA5LDcg
QEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAg
ICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVjdCkpCisgICAgICAg
ICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAg
ICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpA
QCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3Rh
dGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJlcih2
YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tu
b3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAgICAgICAgICAg
ICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAg
ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAg
ICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTgxNiw3
ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAg
ICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRhKCk7
Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
T2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwg
ZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVj
dCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1
b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0
aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
c3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0aGlz
T2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChsZW5ndGgg
PiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlm
IChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVj
LCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwogICAgICAgICBz
dGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc0LDcgKzExNzMsNyBAQCBz
dGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VMWSghaGFzQW55QXJy
YXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2UtPnN0cnVjdHVyZSgp
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlmIChMSUtFTFkoIWhh
c0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUg
PSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAgIGlmICh2YWx1ZSkg
ewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1
bWVudHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksOSBA
QCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0gICAgaWYgKFVOTElLRUxZKHN0cnVj
dHVyZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAgICBpZiAoVU5MSUtFTFkoc3RydWN0
dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBzdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgewogICAgICAgICBidXR0
ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVy
ZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwotCiAgICAgfSBlbHNlIHsK
ICAgICAgICAgSW5kZXhpbmdIZWFkZXIgaW5kZXhpbmdIZWFkZXI7CiAgICAgICAgIGluZGV4aW5n
SGVhZGVyLnNldFZlY3Rvckxlbmd0aCh2ZWN0b3JMZW5ndGgpOwpAQCAtODEsNyArODAsNyBAQCBD
bG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgLy8gTkIuIFNvbWUg
Y2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFsIG9iamVjdCBvZiBvZiB0aGlzIG9i
amVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9mIHRoZSBjYWxsZWUuIFdlIGRvbid0
IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3VsZC4KICAgICBDbG9uZWRBcmd1bWVu
dHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkt
PmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUsIGxlbmd0aCk7Ci0gICAgQVNTRVJU
KCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAg
QVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApAQCAtMTI1LDE0ICsxMjQsMTQgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRB
cmd1bWVudHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNTRVJUKG15RnJhbWUtPmxleGljYWxH
bG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCkgPT0gcmVzdWx0LT5zdHJ1
Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3RhdGUq
IHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1lbnRz
KiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUsIG51
bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0NSw3ICsxNDQsNyBAQCBDbG9uZWRB
cmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgCiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMs
IGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3Ry
dWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3Vs
dC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3Ry
dWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRo
cy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsOCBAQCBT
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMpCiAgICAgICAgIHNpemVfdCBpbmxp
bmVDYXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpLT5vYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgcmVzdWx0ID0gY29uc3Ry
dWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0s
IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JD
b25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBodHRwOi8v
ZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZy
b21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3JBc09iamVj
dC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBG
dW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JD
b25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSog
RnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFsQ29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFi
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE3Miw2ICsxNzIsOSBAQCBwdWJs
aWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVu
Y3Rpb24oKSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9uLmdldCgpOyB9CisgICAgLy8gQ2Fj
aGVkIHBvbHkgcHJvdG8gc3RydWN0dXJlIGZvciB0aGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyB0
aGlzIGV4ZWN1dGFibGUuCisgICAgU3RydWN0dXJlKiBjYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUo
KSB7IHJldHVybiBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIHZvaWQg
c2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
IHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOyB9
CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1dGFibGVCYXNlOwpAQCAtMTg5LDYg
KzE5Miw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPEZ1bmN0aW9uQ29kZUJsb2NrPiBt
X2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBSZWZQdHI8VHlwZVNldD4gbV9yZXR1cm5TdGF0
ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX3NpbmdsZXRv
bkZ1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FjaGVkUG9seVByb3Rv
U3RydWN0dXJlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6
fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRp
YWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3Zv
aWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
c2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhp
cywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0
YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNTc2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5n
IGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3Qg
Y2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5l
Q2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246
OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNz
U3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1
cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBz
Y29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8
IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3
VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFz
U3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5h
bEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAg
SlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2
bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9
IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzM4LDcgKzcz
OCw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNl
IEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAg
ICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FS
UkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEds
b2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVjdCgpOwpAQCAtNzczLDcgKzc3Myw3
IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAv
LyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9y
bWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90
b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+
aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8
IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxz
ZTsKQEAgLTkwNCw3ICs5MDQsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5k
ZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBz
dGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAog
ICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhh
dmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xk
TGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAg
ICAgICAgICBKU1ZhbHVlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXMoKVtpICsgY291bnRdLmdl
dCgpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSghdikpIHsKQEAgLTk0NSw3ICs5NDUs
NyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8v
IFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdz
IGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdo
IHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0
b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0g
ICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9
IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAg
ICAgaWYgKFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTEyOTIsNyArMTI5Miw3IEBAIGJvb2wgSlNB
cnJheTo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
aWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVBy
b3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3Qt
PmFycmF5UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjIs
OCArNjIsOCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBv
aW50IGZvciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3Qu
cHJvdG90eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4u
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAo
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8
fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEz
ICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAg
ICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmpl
Y3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2lu
dGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAi
LCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAg
ICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7
CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0
dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5w
cmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnBy
aW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAg
fQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxs
KCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIs
IGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVl
KCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0
ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0
aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7
CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBh
c09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVj
dFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0
ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2
bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICgh
cHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3Rv
dHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rp
b24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25S
YXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGds
b2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAg
Ly8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFy
ZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5
IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTUsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0
aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0g
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7
Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+
b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0s
IGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7
CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM3MSw3ICszNzQsNiBAQCBi
b29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iCiAgICAgICAgICAgICBvZmZz
ZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBBU1NFUlQoaXNWYWxpZE9mZnNldChv
ZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwg
YXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAgICAg
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3RhdGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAgLy8g
UmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNGdW5j
dGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVkLgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVGb3JD
b25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUqKTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9S
VF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwog
ICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0
dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRvclBy
b3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5tYXBT
dHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAgIGlm
IChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFi
bGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFuZE5v
bk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFs
T2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NzAsNyArNzcwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5l
U2xvdyhFeGVjU3RhdGUqIAogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBvYmotPnN0
cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAg
aWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMg
JiBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9w
ZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQodGhpcy0+
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9i
aiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3Bl
LCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRl
RXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5
KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFY
X1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRl
eGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVy
dGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CisgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICBBU1NF
UlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBz
dHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5l
d0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3Ry
dWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkp
OwogICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlU
cmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRlcmZs
eSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJlKHZt
LCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjA2LDcgKzEyMDYsNyBA
QCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0g
ICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZt
KS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVy
dFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9E
b3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50
MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJy
YXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0pTVmFsdWVzIEpT
T2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZNJiB2bSkKQEAgLTEzMTcsNyArMTMx
Nyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0EKIAogQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsK
LSAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0p
LT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0
RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJh
eVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTEz
NjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3UK
IAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFn
ZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uo
dm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7Cisg
ICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRl
Y2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBA
QCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dp
dGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVT
OgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVj
dHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFko
aW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAg
ICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3Jl
YXRlSW5pdGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNDc0LDcgKzE0NzQsNyBAQCBD
b250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91YmxlCiAgICAgCiAgICAgc3dpdGNo
IChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgot
ICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAg
ICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJ
bml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBDb250
aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNoIChp
bmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAg
ICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2
bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhp
bmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAg
ICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5p
dGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBj
YXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhp
bmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSk7
CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBB
U1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNT
bG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3Rv
cmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NF
UlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJs
ZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19J
TkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkp
OwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1
cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGRl
ZmF1bHQ6CkBAIC0xNjMzLDE0ICsxNjMzLDE3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlw
ZURpcmVjdChWTSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHZt
LnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3QocHJvdG90eXBlKSk7CiAgICAgCi0g
ICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRy
YW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJl
KHZtLCBuZXdTdHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgaWYgKHN0cnVjdHVy
ZSh2bSktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3Ry
dWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1
cmUodm0pLCBwcm90b3R5cGUpOworICAgICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVy
ZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1dERpcmVjdCh2bSwgc3RydWN0dXJlKHZtKS0+cG9s
eVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7CisKKyAgICBpZiAoIWFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAg
IGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhpcykpIHsKLSAgICAgICAgbmV3U3Ry
dWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKKyAgICAgICAgc3RydWN0
dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAgICAgCkBAIC0xOTUxLDcgKzE5NTQsOCBAQCBKU1ZhbHVlIEpTT2JqZWN0Ojpv
cmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCB3aGF0ZXZlciBk
ZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9iamVjdCdzIHByb3RvdHlwZSBjaGFp
biBhcmUKICAgICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRoaXMtPnN0cnVjdHVyZSgpLT5zdGFy
dFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbih2bSk7
CisgICAgZm9yIChjb25zdCBKU09iamVjdCogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3Qg
PSBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQor
ICAgICAgICBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3Bl
cnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlOwogICAgIGlmIChoaW50
ID09IFByZWZlclN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMwLDcgQEAgYm9vbCBKU09iamVjdDo6
cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhC
ZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMs
IGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAg
ICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAg
IC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2Ug
YW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0
TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0
QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsy
ODgyLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAg
ICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3Rv
cmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwg
Y3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9
IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAw
LCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlz
LCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yKys7CkBA
IC0zNTU4LDcgKzM1NjIsNyBAQCB1aW50MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0
aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgc3dpdGNo
IChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdf
VFlQRVM6CkBAIC0zNjY4LDQgKzM2NzIsNTYgQEAgSlNWYWx1ZSBKU09iamVjdDo6Z2V0TWV0aG9k
KEV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBtZXRob2Q7CiB9CiAKK2Jvb2wgSlNPYmplY3Q6OmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAoreworICAg
IFZNJiB2bSA9ICp0aGlzLT52bSgpOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQg
PSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJl
Y3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUp
OworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3sKKyAgICBpZiAocGFy
c2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgIAorICAgIGZvciAoSlNPYmplY3QqIGN1
cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+
Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNP
YmplY3QocHJvdG90eXBlKTsKKyAgICAgICAgCisgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7
CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkt
PmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgaWYgKCFKU0M6Omlz
VmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAg
ICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAoreworICAgIHJldHVybiBhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2
aW5nQUJhZFRpbWUoKTsKK30KKworTm9uUHJvcGVydHlUcmFuc2l0aW9uIEpTT2JqZWN0OjpzdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAobmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkKKyAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxs
b2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIAorICAgIHJldHVybiBOb25Qcm9wZXJ0eVRy
YW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29y
a2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIlB1dERpcmVjdEluZGV4TW9k
ZS5oIgogI2luY2x1ZGUgIlB1dFByb3BlcnR5U2xvdC5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5o
IgorI2luY2x1ZGUgIlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oIgogI2luY2x1ZGUgIlZNLmgi
CiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJTcGFyc2VBcnJheVZhbHVlTWFwLmgi
CkBAIC0xMzEsNyArMTMyLDcgQEAgcHVibGljOgogICAgIC8vIEl0IGlzIHZhbGlkIHRvIHVzZSB0
aG91Z2ggd2hlbiB5b3Uga25vdyB0aGF0IHlvdSB3YW50IHRvIGRpcmVjdGx5IGdldCBpdAogICAg
IC8vIHdpdGhvdXQgY29uc3VsdGluZyB0aGUgbWV0aG9kIHRhYmxlLiBUaGlzIGlzIGFraW4gdG8g
Z2V0dGluZyB0aGUgW1tQcm90b3R5cGVdXQogICAgIC8vIGludGVybmFsIGZpZWxkIGRpcmVjdGx5
IGFzIGRlc2NyaWJlZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4KLSAgICBKU1ZhbHVlIGdldFByb3Rv
dHlwZURpcmVjdCgpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgZ2V0UHJv
dG90eXBlRGlyZWN0KCkgY29uc3Q7CiAKICAgICAvLyBUaGlzIHNldHMgdGhlIHByb3RvdHlwZSB3
aXRob3V0IGNoZWNraW5nIGZvciBjeWNsZXMgYW5kIHdpdGhvdXQKICAgICAvLyBkb2luZyBkeW5h
bWljIGRpc3BhdGNoIG9uIFtbU2V0UHJvdG90eXBlT2ZdXSBvcGVyYXRpb24gaW4gdGhlIHNwZWNp
ZmljYXRpb24uCkBAIC03MzMsNiArNzM0LDEyIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBzdGF0aWMgYm9vbCBpc0V4dGVuc2libGUoSlNPYmplY3QqLCBFeGVjU3RhdGUqKTsKICAg
ICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJlKHZtKS0+aXNTZWFsZWQo
dm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSkt
PmlzRnJvemVuKHZtKTsgfQorCisgICAgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIGJv
b2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworCiBwcml2YXRlOgog
ICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V4dGVuc2libGVJbXBsKCkgeyByZXR1cm4gaXNTdHJ1
Y3R1cmVFeHRlbnNpYmxlKCk7IH0KIHB1YmxpYzoKQEAgLTg2Niw3ICs4NzMsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFT
U0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVE
aXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJv
dG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkgfHwgZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVh
cCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CiAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8o
dm0pKTsKICAgICB9CkBAIC0xMjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2Jq
ZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5
cGVEaXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90
eXBlKCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9
CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3Rh
dGUqIGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmpl
Y3Q6OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJl
SURUYWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+
Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBz
bG90KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIEZJWE1FOiBUaGlz
IGRvZXNuJ3QgbG9vayBsaWtlIGl0J3MgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uOgorICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTcyCisg
ICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2Jq
ZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29s
IEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8
IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhv
ZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90
b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBv
YmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBi
b29sIEpTT2JqZWN0OjpnZXROb25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhv
ZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJu
YWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5x
dWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3Qo
KTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFBy
b3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBmYWxzZSk7CkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0
OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFz
dFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmpl
Y3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hh
aW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0
aGlzT2JqZWN0LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1l
LCB2YWx1ZSwgMCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNj
b3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdy
aXRlRXJyb3IpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBp
bmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAog
ICAgICAgICAmJiAoZW51bWVyYXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51
bWVyYXRvcigpKQotICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigp
ID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0
b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihl
eGVjLCBiYXNlKSkKICAgICAgICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBu
dW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzID0gMDsKQEAgLTEzMywxMiArMTMzLDE1IEBAIGlubGlu
ZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKIAogICAgIEFTU0VSVChwcm9wZXJ0
eU5hbWVzLnNpemUoKSA8IFVJTlQzMl9NQVgpOwogCi0gICAgbm9ybWFsaXplUHJvdG90eXBlQ2hh
aW4oZXhlYywgc3RydWN0dXJlKTsKKyAgICBib29sIHNhd1BvbHlQcm90bzsKKyAgICBhdXRvIHJl
c3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSwgc2F3UG9seVBy
b3RvKTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0
ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVz
LCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90
b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYg
KCFpbmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIGJhc2UtPnN0cnVj
dHVyZSh2bSkgPT0gc3RydWN0dXJlICYmIHJlc3VsdCAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4p
IHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90eXBlQ2hhaW4odm0sIHN0cnVj
dHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOworICAgICAgICBpZiAoc3RydWN0dXJl
LT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKKyAgICAgICAgICAgIHN0cnVjdHVy
ZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAg
fQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAg
Ym9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1
cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3Qt
PmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2Jh
bE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTU2V0
OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0
LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDEsMTMgKzEwMSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1f
c3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwogICAgIH0KICAgICAKLSAgICBKU09iamVjdCog
cHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQotICAgICAgICAgICAgcmV0dXJuIHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCogY29uc3RydWN0b3JDb25jdXJyZW50bHkoKSBj
b25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fY29uc3RydWN0b3IuZ2V0KCk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzNiwxMyArMTM2LDE5IEBAIGJvb2wganNJc0Z1bmN0aW9uVHlw
ZShKU1ZhbHVlIHYpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zaXplX3Qgbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQor
c2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCYgc2F3UG9seVByb3RvKQogewogICAgIFZNJiB2bSA9IGNh
bGxGcmFtZS0+dm0oKTsKICAgICBzaXplX3QgY291bnQgPSAwOworICAgIHNhd1BvbHlQcm90byA9
IGZhbHNlOwogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHko
KSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKKyAgICAgICAg
c2F3UG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworICAgICAg
ICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1
cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgp
KQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT3BlcmF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wZXJhdGlvbnMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICsz
NCw3IEBAIEpTVmFsdWUganNUeXBlU3RyaW5nRm9yVmFsdWUoQ2FsbEZyYW1lKiwKIEpTVmFsdWUg
anNUeXBlU3RyaW5nRm9yVmFsdWUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogYm9v
bCBqc0lzT2JqZWN0VHlwZU9yTnVsbChDYWxsRnJhbWUqLCBKU1ZhbHVlKTsKIGJvb2wganNJc0Z1
bmN0aW9uVHlwZShKU1ZhbHVlKTsKLXNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxs
RnJhbWUqLCBTdHJ1Y3R1cmUqKTsKK3NpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxs
RnJhbWUqLCBTdHJ1Y3R1cmUqLCBib29sJiBzYXdQb2x5UHJvdG8pOwogCiBBTFdBWVNfSU5MSU5F
IEpTU3RyaW5nKiBqc1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzMSwgSlNTdHJp
bmcqIHMyKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9u
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NzEsNyArNDcxLDggQEAgdHlwZWRlZiBjb25zdCBjaGFy
KiBvcHRpb25TdHJpbmc7CiAgICAgdihib29sLCB1c2VGYXN0VExTRm9yV2FzbUNvbnRleHQsIHRy
dWUsIE5vcm1hbCwgIklmIHRydWUgKGFuZCBmYXN0IFRMUyBpcyBlbmFibGVkKSwgd2Ugd2lsbCBz
dG9yZSBjb250ZXh0IGluIGZhc3QgVExTLiBJZiBmYWxzZSwgd2Ugd2lsbCBwaW4gaXQgdG8gYSBy
ZWdpc3Rlci4iKSBcCiAgICAgdihib29sLCB1c2VDYWxsSUNzRm9yV2ViQXNzZW1ibHlUb0pTQ2Fs
bHMsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIENhbGxMaW5rSW5mbyB0byBp
bmxpbmUgY2FjaGUgV2FzbSB0byBKUyBjYWxscy4iKSBcCiAgICAgdihib29sLCB1c2VPYmplY3RS
ZXN0U3ByZWFkLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIGVuYWJsZSBPYmplY3Qg
UmVzdC9TcHJlYWQgZmVhdHVyZS4iKSBcCi0gICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Q
cm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwg
YXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9m
aWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKQorICAgIHYoYm9vbCwgdXNl
QXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxs
IHVzZSBvdXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhl
IGFsbG9jYXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIilc
CisgICAgdihib29sLCBmb3JjZVBvbHlQcm90bywgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGNy
ZWF0ZV90aGlzIHdpbGwgYWx3YXlzIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkgcHJvdG8g
c3RydWN0dXJlLiIpCiAKIAogZW51bSBPcHRpb25FcXVpdmFsZW5jZSB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU0LDE4ICs1NCwzNCBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRk
UHJvdG90eXBlKEpTT2JqZWN0CiAgICAgLy8gdXNlZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5s
aW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5m
byYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5k
ZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFBy
b3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25z
dCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBh
dXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFz
c0luZm8sIGdsb2JhbE9iamVjdCk7CisgICAgUkVMRUFTRV9BU1NFUlQoISFwcm90b3R5cGUpOyAv
LyBXZSB1c2UgbnVsbHB0ciBpbnNpZGUgdGhlIEhhc2hNYXAgZm9yIHByb3RvdHlwZSB0byBtZWFu
IHBvbHkgcHJvdG8sIHNvIHVzZXIncyBvZiB0aGlzIEFQSSBtdXN0IHByb3ZpZGUgbm9uLW51bGwg
cHJvdG90eXBlcy4KKworICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5UHJv
dG9TdHJ1Y3R1cmUgPyBudWxscHRyIDogcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJ
bmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3Ry
dWN0dXJlcy5nZXQoa2V5KSkgeworICAgICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkg
eworICAgICAgICAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAg
ICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBl
KTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAg
ICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywg
Y2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIFZNJiB2bSA9
IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICBpZiAo
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmNyZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5m
bywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAg
bV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKKwogICAg
IHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4OSwyMSBAQCBTdHJ1Y3R1cmUqIFBy
b3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5v
dCBoYXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5k
IGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5l
IGNhcGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1
Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5h
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhl
ZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5hbnlPYmplY3RJ
bkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRp
ZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAm
IH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICBy
ZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VT
dHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGlu
Z1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3Rv
dHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsK
LSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVy
biBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9i
amVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVy
ZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9y
UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3Qs
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3Rk
OjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8o
KSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVw
bGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFs
T2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBP
UlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
SlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHks
IGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xl
YXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZv
aWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90
eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUu
CiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xh
c3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3Ry
dWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBw
cm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBl
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsK
IAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAg
Ly8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxz
dGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFs
T2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1h
cCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNz
SW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1f
c3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ3LDcgKzI0Nyw3IEBA
IFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2
bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShw
cmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1f
cHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBt
X3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwg
bV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0
Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQpAQCAt
Mjk1LDYgKzI5NSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAg
ICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgp
OwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25z
dCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGlu
Z1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1
Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJ
bmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgdW5z
aWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7
CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwg
dm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29yZVByb3RvUHJpdmF0ZU5h
bWUoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
CisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZz
ZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlw
ZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQt
PnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0
ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJl
KiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVj
dHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDE1LDE0IEBAIFN0cnVjdHVyZSogU3RydWN0
dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9u
VG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNl
dCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3IgKGNvbnN0
IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJlbnQtPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3Rv
dHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZt
KSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
dGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5z
dG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChwcm90
b3R5cGUpOwpAQCAtNDI2LDcgKzQzMSw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3
YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1
Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5pbmRl
eGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFBy
b3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5
cGUpOwpAQCAtNDM2LDIwICs0NDEsNiBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAgfHwgZ2xvYmFsT2JqZWN0KCktPmlz
SGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Ci17Ci0gICAgaWYgKG5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246
OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAKLSAgICByZXR1cm4gTm9uUHJvcGVy
dHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKLX0KLQogU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0
eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gYWRkUHJv
cGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgKQEAgLTU1Miw2ICs1NDMsOCBAQCBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlUcmFuCiAKIFN0cnVjdHVyZSogU3Ry
dWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTVmFsdWUgcHJvdG90eXBlKQogeworICAgIEFTU0VSVChwcm90b3R5cGUuaXNPYmpl
Y3QoKSB8fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAgICAgRGVmZXJHQyBkZWZlckdDKHZtLmhl
YXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNyZWF0ZSh2bSwgc3RydWN0dXJlKTsK
IApAQCAtMTA2NywxMSArMTA2MCw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJv
bVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5maXJlQWxsKCp2bSgp
LCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QKLXsKLSAgICByZXR1
cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwotfQotCiB2
b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2FzdDxTdHJ1Y3R1cmUq
PihjZWxsKTsKQEAgLTExMDksNyArMTA5Nyw3IEBAIGJvb2wgU3RydWN0dXJlOjppc0NoZWFwRHVy
aW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBIZWFwOjppc01hcmtl
ZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAgICYmICghc3RvcmVk
UHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJv
dG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFoYXNTdG9yZWRQcm90b3R5cGUoKSB8fCAh
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFw
KFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMSw0MCArMTEwOSwxOSBAQCBib29sIFN0cnVj
dHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJv
b2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5
TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCk7Ci0gICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7
KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBl
KCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFzQ2VsbCgpLT5z
dHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKLSAg
ICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5h
bWUsIGF0dHJpYnV0ZXMpOwotICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQp
KQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAotICAgICAgICBpZiAoYXR0cmlidXRl
cyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNj
ZXNzb3IpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotfQotCi1SZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9T
dHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlKQorUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1
cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3Ry
dWN0dXJlKQogewogICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gYmFzZVNoYXBlID0gU3RydWN0dXJl
U2hhcGU6OmNyZWF0ZSgpOwogICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gY3VyU2hhcGUgPSBi
YXNlU2hhcGUucHRyKCk7CiAgICAgU3RydWN0dXJlKiBjdXJTdHJ1Y3R1cmUgPSB0aGlzOwogICAg
IEpTVmFsdWUgY3VyVmFsdWUgPSB2YWx1ZTsKKyAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBm
YWxzZTsKICAgICB3aGlsZSAoY3VyU3RydWN0dXJlKSB7CisgICAgICAgIHNhd1BvbHlQcm90b1N0
cnVjdHVyZSB8PSAhY3VyU3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKICAgICAgICAg
Y3VyU3RydWN0dXJlLT5mb3JFYWNoUHJvcGVydHlDb25jdXJyZW50bHkoCiAgICAgICAgICAgICBb
Jl0gKGNvbnN0IFByb3BlcnR5TWFwRW50cnkmIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAg
ICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAg
aWYgKCFQcm9wZXJ0eU5hbWUoZW50cnkua2V5KS5pc1ByaXZhdGVOYW1lKCkpCisgICAgICAgICAg
ICAgICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOwogCkBAIC0xMTY4LDI2ICsxMTM1LDI0
IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBj
dXJTaGFwZS0+bWFya0FzRmluYWwoKTsKIAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0
cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKLSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhu
ZXdTaGFwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1No
YXBlKTsKLSAgICAgICAgICAgIGN1clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAg
ICAgICAgICBicmVhazsKIAotICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNP
YmplY3QoY3VyVmFsdWUpOworICAgICAgICBKU09iamVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2Jq
ZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAg
IGlmICghcHJvdG90eXBlT2JqZWN0KQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgYXV0
byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUt
PnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92
ZShuZXdTaGFwZSk7CisgICAgICAgIGN1clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAg
ICBjdXJTdHJ1Y3R1cmUgPSBwcm90b3R5cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAg
ICAKICAgICByZXR1cm4gYmFzZVNoYXBlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9y
QWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqIG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBh
Y2l0eSgpID09IG90aGVyLT5pbmxpbmVDYXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3Rv
dHlwZSgpID09IG90aGVyLT5zdG9yZWRQcm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0
aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhlci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19
Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAg
b3V0LnByaW50KFJhd1BvaW50ZXIodGhpcyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUs
ICIsIHsiKTsKQEAgLTEyMDIsNyArMTE2Nyw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGMKICAgICAKICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1
bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAgICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXND
ZWxsKCkpCisgICAgaWYgKCFoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgb3V0LnByaW50
KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zmc2V0KCkpOworICAgIGVsc2UgaWYg
KG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAgICBvdXQucHJpbnQoIiwgUHJvdG86
IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0NlbGwoKSkpOwogCiAgICAgc3dpdGNo
IChkaWN0aW9uYXJ5S2luZCgpKSB7CkBAIC0xMjg3LDcgKzEyNTQsNyBAQCBib29sIFN0cnVjdHVy
ZTo6Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAg
aWYgKCFzdHJ1Y3R1cmUtPmdldCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkK
KyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFyeSgpIHx8IHN0cnVjdHVy
ZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1cmUrKzsKICAgICB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNTc2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFz
ZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1
Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51bSBQb2x5UHJv
dG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0mLCBK
U0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0
IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJvdG9UYWcsIFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYs
IGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0xMzgsNyArMTQwLDcg
QEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwog
ICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUu
aXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3By
b3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBl
LmlzSW50MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENy
ZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE2OSw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29u
Y3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1
Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwg
U3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0m
LCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVjdHVyZSog
Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90
eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRyaWJ1dGVD
aGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiB0b0Nh
Y2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRTdHJ1
Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGljIFN0
cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJl
Kik7CkBAIC0yMDgsNyArMjEwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuICF0
eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCk7
CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkKQEAg
LTI0MCwyNiArMjQyLDM5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlw
ZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAg
ICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgp
OyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVy
aW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8g
b2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1
bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9i
YWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVkUHJv
dG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCku
aXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0Cisg
ICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAg
ICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVydHlPZmZzZXQg
cG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFo
YXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKS5h
c0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2Jq
ZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBK
U09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKSBjb25z
dDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCopIGNvbnN0
OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayopIGNvbnN0OwotICAg
IFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KikgY29u
c3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNvbnN0
OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxs
KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFp
biogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICAK
ICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJrIGR1cmluZyBHQyBpZiBkb2luZyBz
byB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVkIGFtb3VudApAQCAtMjcyLDE0ICsy
ODcsMjQgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHN0cnVj
dHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImKTsK
LSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJjZXB0
IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKICAgICAKICAg
ICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVE
YXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVS
YXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVE
YXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPiht
X3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURh
dGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFyZURh
dGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1cm4g
cmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkgY29u
c3QKICAgICB7CkBAIC01MzMsMTIgKzU1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhcnRXYXRj
aGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0mIHZt
KQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0cnVj
dHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkK
LSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lm
TmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlwZXMoKSBjb25z
dAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU4OCwx
MSArNjA3LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3RvcmVWYWx1ZVNsb3codm0sIHByb3Bl
cnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZlcnJlZFR5cGVUYWJsZTo6T2xkUHJv
cGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFw
ZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0dXJl
cyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0aW9u
cwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0aW9u
c09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVTaGFw
ZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIAogICAgIHZvaWQg
ZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQcmludFN0
cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC03MjAsOCArNzM1LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lu
bGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJvb2wg
aXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4p
IGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWlu
KiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAgLy8g
WW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFByb3Bl
cnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzQ2LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJu
IGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0KIAot
ICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBB
U1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1
cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lz
dGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAgYm9v
bCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJlQ2hhaW46OnZpc2l0
Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hhaW46OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJl
bnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7CisKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtl
X3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7CisKKyAgICBzaXpl
X3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1
cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3Vy
cmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudC0+c3RydWN0
dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAgICBtX3ZlY3Rv
ciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlzKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTQy
LDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBT
dHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVh
dGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBTdHJ1Y3R1cmVDaGFp
biogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmVDaGFpbj4odm0u
aGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0cnVjdHVyZS5nZXQo
KSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7CkBAIC02MiwyMiAr
NjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogcHJv
dGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQp
Ci0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAgIHNpemVf
dCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJy
ZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDog
YXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAg
ICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAgICBmb3Ig
KFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2krK10uc2V0KHZt
LCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAubXV0YXRvckZlbmNl
KCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAgIH0KKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0
dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJv
dG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90
b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlm
ICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAs
NDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUg
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7
CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9
CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25z
dCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+
c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAg
ICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90
b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3By
b3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9m
ZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJv
dG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFT
RV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAg
ICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOwor
ICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0
dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVj
dHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNv
bnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChv
YmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBu
dWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0
KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRy
aWJ1dGVzOwpAQCAtMTY2LDE1ICsxOTYsMzIgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFu
c2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1Zh
bHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1
Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBl
KCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJv
dG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBT
eW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsK
KworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhh
c1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBpZiAoaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJu
IG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xU
eXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAg
ICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JM
b29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7Cit9CiAKLSAgICBBU1NFUlQo
dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVj
dC0+c3RyaW5nUHJvdG90eXBlKCk7CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlw
ZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNv
bnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7Cisg
ICAgaWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmpl
Y3QoYmFzZSkpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGds
b2JhbE9iamVjdCwgdGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90
eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKQEAgLTE4MiwyNyArMjI5LDI4IEBA
IGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGlu
ZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0
cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5z
dHJ1Y3R1cmUodm0pID09IHRoaXMpOwogICAgIC8vIFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hh
aW4gc28gb3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxP
YmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1f
Y2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRl
KHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0
dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlw
ZUNoYWluLmdldCgpLCBiYXNlKSkgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOworICAgICAgICBtX2NhY2hlZFByb3Rv
dHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90
eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAg
ICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1
Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNv
bnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90
eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICBy
ZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBiYXNlKTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFp
bikgY29uc3QKK2lubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdAogewogICAgIGlmICghY2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9y
TG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVG
b3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiogY2FjaGVkU3RydWN0dXJlID0gY2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3
aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAg
IGlmIChhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUt
PmdldCgpKQpAQCAtMjEzLDExICsyNjEsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFs
aWQoSlNHbG9iYWxPCiAgICAgcmV0dXJuIHByb3RvdHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0
cnVjdHVyZTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAotewotICAg
IHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90
eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0
eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAgICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEo
KSkpCkBAIC00MDAsNyArNDQzLDcgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6
cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0KIAotaW5s
aW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJs
ZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxl
KFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRhYmxlVW5z
YWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFy
ZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU3Ry
dWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZh
bHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgiCiAjaW5jbHVk
ZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFy
ZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5t
X3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3Ry
aW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pbmZl
cnJlZENvbnN0cnVjdG9yKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1
cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0CkBAIC0xNzUs
NiArMTc3LDEzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVhck9iamUKICAg
ICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSW5mZXJyZWRWYWx1ZSogU3Ry
dWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mIHZtKQoreworICAg
IGlmICghbV9pbmZlcnJlZENvbnN0cnVjdG9yKQorICAgICAgICBtX2luZmVycmVkQ29uc3RydWN0
b3Iuc2V0KHZtLCB0aGlzLCBJbmZlcnJlZFZhbHVlOjpjcmVhdGUodm0pKTsKKyAgICByZXR1cm4g
bV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOworfQorCiAvLyAtLS0tLS0tLS0tLS0tIE1ldGhv
ZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hwb2ludCBjbGFz
c2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRj
aHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludChjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSogc3RydWN0dXJl
UmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFsdWU7CiBjbGFz
cyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBjbGFzcyBPYmpl
Y3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYgKzYzLDE1IEBA
IHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFt
ZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1l
cmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8vIFdlIGFyZSBh
IHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJpbmcgd2hhdCBv
dXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBzdHJ1Y3R1cmUg
aXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0aGUgU3RydWN0
dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0aGUgInByb3RvdHlwZSIgZmllbGQKKyAg
ICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZpZWxkLCB3ZSB3
YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFudCBjb25zdHJ1Y3Rvci4KKyAgICAvLyBJ
ZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0b3IgcG9pbnRzIHRvIGFuIEluZmVycmVk
VmFsdWUgaW5mZXJyaW5nIGEgSlNGdW5jdGlvbi4KKyAgICAvLyBJZiB3ZSBub3RpY2UgdGhhdCB3
ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgd2lsbCBiZWNvbWUgaW52YWxpZGF0ZWQuCisgICAg
SW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOworICAgIC8vIE1h
eSBiZSBudWxscHRyLgorICAgIEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IoKSB7
IHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3IuZ2V0KCk7IH0KKwogICAgIERFQ0xBUkVfRVhQ
T1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03Niw2ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJp
bmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3I7CisgICAgV3JpdGVC
YXJyaWVyPEluZmVycmVkVmFsdWU+IG1faW5mZXJyZWRDb25zdHJ1Y3RvcjsKICAgICAKICAgICB0
eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RG
OjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRy
YWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNl
dHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9m
aWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDEyICs3MCwx
NCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZW50
cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisgICAg
ICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlmIChpZCkg
ewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0
cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6
OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsKICAgICAg
ICAgICAgIGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwogICAgICAgICAg
ICAgaWYgKGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBl
ID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBz
ZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgICAgICBzaGFwZSA9
IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVByb3RvU3RydWN0dXJl
KTsKKyAgICAgICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAg
ICAgICAgICAgICAgc2VlblNoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CiAgICAgICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVlOwogICAgICAgICB9
CkBAIC04NCw4ICs4Niw4IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmll
cygKICAgICAgICAgVHlwZUxvY2F0aW9uKiBsb2NhdGlvbiA9IGVudHJ5LT5sb2NhdGlvbjsKICAg
ICAgICAgbG9jYXRpb24tPm1fbGFzdFNlZW5UeXBlID0gdHlwZTsKICAgICAgICAgaWYgKGxvY2F0
aW9uLT5tX2dsb2JhbFR5cGVTZXQpCi0gICAgICAgICAgICBsb2NhdGlvbi0+bV9nbG9iYWxUeXBl
U2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigpLCBzdHJ1Y3R1cmUp
OwotICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1h
dGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGxvY2F0
aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5
UmVmKCksIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAgICAgICAgbG9jYXRp
b24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgV1RGTW92
ZShzaGFwZSksIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgICAgICBl
bnRyeSsrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVT
ZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVT
ZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9UeXBlU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDE0IEBAIFR5cGVTZXQ6
OlR5cGVTZXQoKQogewogfQogCi12b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50
aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQordm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24oUnVu
dGltZVR5cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBlLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7CiAgICAg
bV9zZWVuVHlwZXMgPSBtX3NlZW5UeXBlcyB8IHR5cGU7CiAKICAgICBpZiAoc3RydWN0dXJlICYm
IHBhc3NlZE5ld1NoYXBlICYmICFydW50aW1lVHlwZUlzUHJpbWl0aXZlKHR5cGUpKSB7CiAgICAg
ICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gbmV3U2hhcGUgPSBwYXNzZWROZXdTaGFwZS5yZWxlYXNl
Tm9uTnVsbCgpOwotICAgICAgICBpZiAoIW1fc3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVy
ZSkpIHsKLSAgICAgICAgICAgIHsKKyAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVjdHVyZSB8
fCAhbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgeworICAgICAgICAgICAgaWYg
KCFzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKICAgICAgICAgICAgICAgICBDb25jdXJyZW50SlNM
b2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmVTZXQuYWRk
KHN0cnVjdHVyZSk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlU2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9UeXBlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDcgKzg1LDcgQEAgY2xh
c3MgVHlwZVNldCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bgogcHVibGljOgogICAgIHN0YXRp
YyBSZWY8VHlwZVNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBUeXBlU2V0KTsg
fQogICAgIFR5cGVTZXQoKTsKLSAgICB2b2lkIGFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlw
ZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGFkZFR5
cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmLCBTdHJ1
Y3R1cmUqLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAgICAgdm9pZCBpbnZhbGlkYXRl
Q2FjaGUoKTsKICAgICBTdHJpbmcgZHVtcFR5cGVzKCkgY29uc3Q7CiAgICAgU3RyaW5nIGRpc3Bs
YXlOYW1lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0
ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
cml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFsdWUoSlNWYWx1
ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQogICAgIGJvb2wg
aXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9CisgICAgYm9vbCBp
c0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAgYm9vbCBpc09i
amVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBib29sIGlzTnVs
bCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBpc0dldHRlclNl
dHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0KSW5kZXg6IFRv
b2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkocmV2aXNpb24gMjIyNTc2KQorKysgVG9vbHMvU2Ny
aXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAtNjE5LDcgKzYxOSw3
IEBAIGRlZiBydW5GVExOb0NKSVQoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3AKIGVuZAogCiBkZWYg
cnVuRlRMTm9DSklUQjNPMSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigi
ZnRsLW5vLWNqaXQtYjNvMSIsICItLXVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZz1mYWxzZSIs
ICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25h
bFRlc3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLW5vLWNqaXQtYjNvMSIsICItLXVz
ZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZz1mYWxzZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUi
LCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0aW9u
YWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCiBkZWYgcnVuRlRMTm9DSklUVmFsaWRhdGUo
Km9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTY0Nyw3ICs2NDcsNyBAQCBkZWYgcnVu
REZHRWFnZXJOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2Vy
KCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1h
aXJGb3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElP
TlMgKyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKSkKKyAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9y
PXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09Q
VElPTlMgKyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lm
aWNPcHRpb25zKSkKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXJXYXRjaGRvZygqb3B0aW9uYWxUZXN0
U3BlY2lmaWNPcHRpb25zKQpAQCAtODY0LDYgKzg2NCw3IEBAIGRlZiBydW5UeXBlUHJvZmlsZXIK
IAogICAgIHJ1bigiZnRsLW5vLWNqaXQtdHlwZS1wcm9maWxlciIsICItLXVzZVR5cGVQcm9maWxl
cj10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUykpCiAgICAgcnVuKCJmdGwt
dHlwZS1wcm9maWxlciIsICItLXVzZVR5cGVQcm9maWxlcj10cnVlIiwgKihGVExfT1BUSU9OUykp
CisgICAgcnVuKCJmdGwtdHlwZS1wcm9maWxlci1mb3JjZS1wb2x5LXByb3RvLWZ0bC1lYWdlciIs
ICItLXVzZVR5cGVQcm9maWxlcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRM
X09QVElPTlMgKyBFQUdFUl9PUFRJT05TKSkKIGVuZAogCiBkZWYgcnVuQ29udHJvbEZsb3dQcm9m
aWxlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322057</attachid>
            <date>2017-09-27 19:49:06 -0700</date>
            <delta_ts>2017-09-27 19:54:57 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>197970</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRoLXJldHVybi5qcwko
cmV2aXNpb24gMjIyNTc2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAg
ICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAogXTsKIAotdGVzdHMu
Zm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgewot
ICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3
IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAgICAgICAgaWYgKHRl
c3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHRlc3RzLmZv
ckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7
CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewotICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1cm5JdCkgeworICAg
ICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAgICAgICAgICAgIHRo
cm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMv
c3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzUgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsK
KyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHByb3Rv
ID0gY3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHByb3RvOworCitmdW5jdGlvbiB2YWxpZGF0
ZSh4LCB2KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4LmN1c3RvbUdldHRl
cik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitwcm90by5mb28gPSAyNTsKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitS
ZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsKKyAgICB2YWxpZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJl
Y3RuZXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50
cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMz
IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7Cisg
ICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJu
IG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHggPSBuZXcgVWludDMyQXJyYXko
MTApOworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9fXyA9IG9iajsKKwor
ZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUo
Zm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBhc3NlcnQoZm9v
KHgpID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJvdG9fXyA9IHt9OworCithc3NlcnQoZm9v
KHgpID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNz
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBD
IHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9
OworICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcg
QzsKKyAgICAgICAgLy9wcmludChgUmVzdWx0IGZyb20gZm9vKCk6IGAsICR2bS52YWx1ZShyZXN1
bHQpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3VsdCA9IGZvbygpOwor
ICAgIHJlc3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFr
ZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3Rv
SW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdp
dGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90
b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAor
ICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xldCBwID0gdW5kZWZp
bmVkOworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydCh4LnggPT09IDIwKTsKKyAg
ICBhc3NlcnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7
Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQor
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4g
Zm9vKCk7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGlu
IG8gPT09IGIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSk7CisKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7CisK
K1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIGZhbHNlKTsKKworCitmdW5jdGlvbiB2YWxpZGF0
ZTIobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxp
ZGF0ZTIpOworCitSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbnVsbCk7Citmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7CisKK1JlZmxl
Y3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUyKG9iaiwgdHJ1ZSk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDQ4IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3Rv
T2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07Cisg
ICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsg
KytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7
CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgc3Rh
cnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBs
ZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSBudWxs
OworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5
LmNhbGwob2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3Rv
T2JqZWN0KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9iYWwgPSB4OyB9
IH07CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093blByb3BlcnR5
KCJwIikpOworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwgPSBudWxsOwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtl
UG9seVByb3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydChvYmou
aGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7Cit9CitpZiAo
ZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7CisgICAg
Z2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRlcm5h
dGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgpIHsK
KyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5
KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0
aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAg
ICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAgfQor
ICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBwKSB7
CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xldCBh
cnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFyci5w
dXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAo
bGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0IGEg
b2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30KK2ZvciAobGV0
IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAg
ICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7Cisg
ICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0
ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5kZXg6
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVz
dHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjgg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9u
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBj
bGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsK
KyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGdsb2Jh
bDsKKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBp
dGVtcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAgaXRlbXMucHVz
aChtYWtlUG9seVByb3RvT2JqZWN0KCkpOworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkp
IHsKKyAgICB4LnAgPSBpOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9y
bVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAgICBhc3NlcnQo
Y2FsbGVkID09PSB0cnVlKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAgfQorfQorCitp
dGVtcy5mb3JFYWNoKG8gPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YobywgbnVsbCk7
Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tp
XTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8ucCA9PT0gaSk7
CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IGZhbHNlKTsKKyAgICB9Cit9CisKK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAg
ICAgICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90eXBl
LmZpZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0IGkg
PSAwOyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAgIGNs
YXNzIEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBz
dXBlcigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9OworICAg
IHJldHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFy
KGZvbygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsg
KytpKQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiBhc3NlcnQo
YikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKwor
ZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsKKyAg
ICBhc3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0gNDIp
OworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5jZXMu
Zm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJp
bWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0
aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0
aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkg
PSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBm
b28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRo
aXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAg
ICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyAr
K2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90
b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9f
cHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5
bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0
aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRl
KHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7Cisg
ICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3Nl
cnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChz
Lmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30K
K25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAg
fQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6
IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9m
IHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJh
cigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1
MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAg
IGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1z
ID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAg
IGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLngg
PT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUp
OworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBp
dGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMv
c3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3Rz
L3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMzYgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsg
fTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rp
b24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlOYW1lKSB7IHJldHVybiBgKGZ1bmN0aW9uIChiYXNl
KSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNlLCAnJHtwcm9wZXJ0eU5hbWV9Jyk7IH0pYDsgfQor
bGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImZvbyIpKTsKK2xldCBn
ZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJiYXIiKSk7CitsZXQgZ2V0Tm9u
RXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoIm5vbkV4aXN0ZW50
RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworeC5fX3Byb3RvX18g
PSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJldHVybiAyMjsgfSB9OworbGV0IGJhckdldHRlciA9
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeC5fX3Byb3RvX18sICJiYXIiKS5nZXQ7
Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9PT0gImZ1bmN0aW9uIik7Cithc3NlcnQoYmFyR2V0
dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydChnZXRG
b28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQobG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoZ2V0
QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAgICBhc3NlcnQoZ2V0Tm9uRXhpc3RlbnRGaWVsZCh4
KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0ZSh4KTsKK30KSW5kZXg6IEpTVGVzdHMv
dHlwZVByb2ZpbGVyL2VzNi1jbGFzc2VzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVBy
b2ZpbGVyL2VzNi1jbGFzc2VzLmpzCShyZXZpc2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQ
cm9maWxlci9lczYtY2xhc3Nlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQCBh
c3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdCiBhc3NlcnQodHlwZXMuZ2xv
YmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLnByb3RvLmZpZWxkcy5pbmRleE9mKCJtZXRob2RCIikg
IT09IC0xLCAic2hvdWxkIGhhdmUgbWV0aG9kQiIpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhw
cmVzc2lvbih3cmFwcGVyLCAiYW5pbWFsSW5zdGFuY2UgPSIpOwotYXNzZXJ0KHR5cGVzLmdsb2Jh
bFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lID09PSAiQW5pbWFsIiwgIlNob3VsZCBzaG93IGNvbnN0
cnVjdG9yIG5hbWUiKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkFuaW1hbCIsICJTaG91bGQgc2hvdyBjb25zdHJ1Y3RvciBuYW1lLCBidXQgd2FzOiAi
ICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUpOwogYXNzZXJ0KHR5cGVzLmds
b2JhbFR5cGVTZXQuc3RydWN0dXJlcy5sZW5ndGggPT09IDEsICJzaG91bGQgaGF2ZSBvbmUgc3Ry
dWN0dXJlIik7CiBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLmNvbnN0
cnVjdG9yTmFtZSA9PT0gIkFuaW1hbCIsICJTaG91bGQgYmUgQW5pbWFsIik7CiBhc3NlcnQodHlw
ZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLnByb3RvLmZpZWxkcy5sZW5ndGggPT09IDIs
ICJzaG91bGQgaGF2ZSB0d28gZmllbGRzIik7CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxlci9p
bmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0
YW5jZS5qcwkocmV2aXNpb24gMjIyNTc2KQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvaW5oZXJp
dGFuY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgYXNzZXJ0KHR5cGVzLmds
b2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYQogYXNzZXJ0KHR5cGVzLmluc3RydWN0aW9uVHlwZVNl
dC5kaXNwbGF5VHlwZU5hbWUgPT09ICJDIiwgInZhcmlhYmxlICd0aGVDJyBzaG91bGQgaGF2ZSBk
aXNwbGF5VHlwZU5hbWUgJ0MnIik7CiAKIHR5cGVzID0gZmluZFR5cGVGb3JFeHByZXNzaW9uKHdy
YXBwZXIsICJoaWVyYXJjaHlUZXN0ID0gbmV3IEI7Iik7Ci1hc3NlcnQodHlwZXMuZ2xvYmFsVHlw
ZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBz
aG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIik7Cithc3NlcnQodHlwZXMuZ2xvYmFsVHlw
ZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBz
aG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIiArICIgYnV0IHdhczogIiArIHR5cGVzLmds
b2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJl
c3Npb24od3JhcHBlciwgImhpZXJhcmNoeVRlc3QgPSBuZXcgQzsiKTsKIGFzc2VydCh0eXBlcy5n
bG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNo
eVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQSciKTsKSW5kZXg6IEpTVGVzdHMv
dHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2Zp
bGVyL292ZXJmbG93LmpzCShyZXZpc2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxl
ci9vdmVyZmxvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDggQEAgdmFyIG9sZFByb3Rv
OwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdzsg
aSsrKSB7CiAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCBhIG5ldyBwcm90b3R5cGUgY2hhaW4gb24g
ZWFjaCBhc3NpZ25tZW50IHRvIHggYmVjYXVzZSBvYmplY3RzIHdpdGggc2hhcmVkIHByb3RvdHlw
ZSBjaGFpbnMgd2lsbCBiZSBtZXJnZWQuCiAgICAgeCA9IG5ldyBQcm90bzsKKyAgICB4WydmaWVs
ZCcgKyBpXSA9IDIwOworICAgIHggPSB4CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90
byA9IGZ1bmN0aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFBy
b3RvLnByb3RvdHlwZTsKQEAgLTIwLDYgKzIyLDggQEAgUHJvdG8gPSBmdW5jdGlvbigpIHt9Owog
b2xkUHJvdG8gPSBudWxsOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdp
dGhvdXRPdmVyZmxvdyAtIDE7IGkrKykgewogICAgIHkgPSBuZXcgUHJvdG87CisgICAgeVsnZmll
bGQnICsgaV0gPSAyMDsKKyAgICB5ID0geQogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJv
dG8gPSBmdW5jdGlvbigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQ
cm90by5wcm90b3R5cGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lv
biAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTIyNyw2ICsyMjcsNyBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmls
ZS5jcHAKIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29k
ZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNv
ZGVCbG9jay5jcHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKQEAgLTIzNCw2ICsyMzUsNyBAQCBi
eXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0
cy5jcHAKIGJ5dGVjb2RlL1Byb2dyYW1Db2RlQmxvY2suY3BwCiBieXRlY29kZS9Qcm9wZXJ0eUNv
bmRpdGlvbi5jcHAKK2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAogYnl0ZWNvZGUv
UHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKIGJ5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTk1Myw2ICs5NTMsOTAgQEAgdm9pZCBET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0OjpmaW5p
c2hDcgogICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50
aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZnVuYyIpLCAwLCBzYWZlRnVuY3Rpb24sIE5vSW50cmlu
c2ljLCAmRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdFNpZ25hdHVyZSwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkpOwogfQogCitjbGFzcyBET01KSVRH
ZXR0ZXJCYXNlSlNPYmplY3QgOiBwdWJsaWMgRE9NSklUTm9kZSB7CitwdWJsaWM6CisgICAgRE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAg
ICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIHsKKyAgICB9CisKKyAgICBERUNMQVJFX0lO
Rk87CisgICAgdXNpbmcgQmFzZSA9IERPTUpJVE5vZGU7CisgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBzdGF0aWMg
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTQzo6SlNU
eXBlKExhc3RKU0NPYmplY3RUeXBlICsgMSksIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAg
ICB9CisKKyAgICBzdGF0aWMgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICB7CisgICAgICAgIERPTUpJVEdldHRlckJhc2VK
U09iamVjdCogZ2V0dGVyID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0Pih2bS5oZWFwLCBzaXplb2YoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSkp
IERPTUpJVEdldHRlckJhc2VKU09iamVjdCh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgZ2V0dGVy
LT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBnZXR0ZXI7CisgICAgfQorCisg
ICAgY2xhc3MgRE9NSklUQXR0cmlidXRlIDogcHVibGljIERPTUpJVDo6R2V0dGVyU2V0dGVyIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIGNvbnN0ZXhwciBET01KSVRBdHRyaWJ1dGUoKQorICAgICAg
ICAgICAgOiBET01KSVQ6OkdldHRlclNldHRlcigKKyAgICAgICAgICAgICAgICBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3Q6OmN1c3RvbUdldHRlciwKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICAg
ICAgICAgICZjYWxsRE9NR2V0dGVyLAorI2Vsc2UKKyAgICAgICAgICAgICAgICBudWxscHRyLAor
I2VuZGlmCisgICAgICAgICAgICAgICAgU3BlY0ludDMyT25seSkKKyAgICAgICAgeworICAgICAg
ICB9CisKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBzbG93Q2FsbChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBKU09iamVj
dCogb2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihwb2ludGVyKTsKKyAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7Cisg
ICAgICAgIH0KKworICAgICAgICBzdGF0aWMgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBw
ZXQ+IGNhbGxET01HZXR0ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBSZWY8RE9NSklUOjpD
YWxsRE9NR2V0dGVyU25pcHBldD4gc25pcHBldCA9IERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBw
ZXQ6OmNyZWF0ZSgpOworICAgICAgICAgICAgc25pcHBldC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9
IGZhbHNlOworICAgICAgICAgICAgc25pcHBldC0+c2V0R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBl
cnMmIGppdCwgU25pcHBldFBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1
ZVJlZ3MgcmVzdWx0cyA9IHBhcmFtc1swXS5qc1ZhbHVlUmVncygpOworICAgICAgICAgICAgICAg
IEdQUlJlZyBkb20gPSBwYXJhbXNbMV0uZ3ByKCk7CisgICAgICAgICAgICAgICAgcGFyYW1zLmFk
ZFNsb3dQYXRoQ2FsbChqaXQuanVtcCgpLCBqaXQsIHNsb3dDYWxsLCByZXN1bHRzLCBkb20pOwor
ICAgICAgICAgICAgICAgIHJldHVybiBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KCk7CisKKyAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIHNuaXBwZXQ7CisgICAgICAgIH0KKyNlbmRp
ZgorICAgIH07CisKK3ByaXZhdGU6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworCisg
ICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBqc0R5bmFt
aWNDYXN0PEpTT2JqZWN0Kj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQodGhpc09iamVjdCk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhpc09iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgIH0KK307CisKK3N0
YXRpYyBjb25zdCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisKK3ZvaWQgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0pOworICAgIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0RE9NSklUOworICAgIGF1dG8qIGN1c3RvbUdldHRlclNldHRlciA9IERP
TUF0dHJpYnV0ZUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBudWxs
cHRyLCBET01BdHRyaWJ1dGVBbm5vdGF0aW9uIHsgSlNPYmplY3Q6OmluZm8oKSwgZG9tSklUIH0p
OworICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5n
KCZ2bSwgImN1c3RvbUdldHRlciIpLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nvcik7Cit9CisK
IGNvbnN0IENsYXNzSW5mbyBFbGVtZW50OjpzX2luZm8gPSB7ICJFbGVtZW50IiwgJkJhc2U6OnNf
aW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShFbGVtZW50KSB9Owog
Y29uc3QgQ2xhc3NJbmZvIE1hc3F1ZXJhZGVyOjpzX2luZm8gPSB7ICJNYXNxdWVyYWRlciIsICZC
YXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFzcXVl
cmFkZXIpIH07CiBjb25zdCBDbGFzc0luZm8gUm9vdDo6c19pbmZvID0geyAiUm9vdCIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsK
QEAgLTk2NSw2ICsxMDQ5LDcgQEAgY29uc3QgQ2xhc3NJbmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9
IHsgIgogI2VuZGlmCiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyOjpzX2luZm8gPSB7ICJE
T01KSVRHZXR0ZXIiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVU
SE9EX1RBQkxFKERPTUpJVEdldHRlcikgfTsKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXJD
b21wbGV4OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJDb21wbGV4IiwgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJDb21wbGV4
KSB9OworY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6c19pbmZvID0g
eyAiRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAj
aWYgRU5BQkxFKEpJVCkKIGNvbnN0IENsYXNzSW5mbyBET01KSVRGdW5jdGlvbk9iamVjdDo6c19p
bmZvID0geyAiRE9NSklURnVuY3Rpb25PYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCAm
RE9NSklURnVuY3Rpb25PYmplY3Q6OmNoZWNrU3ViQ2xhc3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9E
X1RBQkxFKERPTUpJVEZ1bmN0aW9uT2JqZWN0KSB9OwogI2Vsc2UKQEAgLTEwNjYsNiArMTE1MSw3
IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxl
eE9iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uQ3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3Vi
Q2xhc3NPYmplY3QoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqKTsK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRp
bihFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uQ3JlYXRlR2xvYmFsT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUq
KTsKQEAgLTExNzcsNiArMTI2Myw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uV2Fp
dEZvclJlcG9ydChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uSGVhcENhcGFjaXR5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25GbGFzaEhlYXBBY2Nlc3MoRXhlY1N0YXRlKik7Citz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9t
R2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSopOwogCiBzdHJ1Y3QgU2NyaXB0IHsKICAgICBlbnVtIGNs
YXNzIFN0cmljdE1vZGUgewpAQCAtMTM4Miw2ICsxNDY5LDcgQEAgcHJvdGVjdGVkOgogICAgICAg
ICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QiLCBmdW5j
dGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5j
dGlvbih2bSwgImNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01K
SVRGdW5jdGlvbk9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9N
SklUQ2hlY2tTdWJDbGFzc09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFz
c09iamVjdCwgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QsIDAp
OwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUJ1aWx0aW4iLCBmdW5jdGlvbkNyZWF0
ZUJ1aWx0aW4sIDIpOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUdsb2JhbE9iamVj
dCIsIGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24o
dm0sICJzZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSIsIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVs
ZWdhdGUsIDIpOwpAQCAtMTQ2Niw2ICsxNTU0LDggQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIGFk
ZEZ1bmN0aW9uKHZtLCAiaGVhcENhcGFjaXR5IiwgZnVuY3Rpb25IZWFwQ2FwYWNpdHksIDApOwog
ICAgICAgICBhZGRGdW5jdGlvbih2bSwgImZsYXNoSGVhcEFjY2VzcyIsIGZ1bmN0aW9uRmxhc2hI
ZWFwQWNjZXNzLCAwKTsKKworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImxvYWRHZXR0ZXJGcm9t
R2V0dGVyU2V0dGVyIiwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlciwgMSk7CiAg
ICAgfQogICAgIAogICAgIHZvaWQgYWRkRnVuY3Rpb24oVk0mIHZtLCBKU09iamVjdCogb2JqZWN0
LCBjb25zdCBjaGFyKiBuYW1lLCBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgdW5zaWduZWQgYXJn
dW1lbnRzKQpAQCAtMjExNSw2ICsyMjA1LDE2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZnVuY3Rpb25DcmUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3QoRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CisgICAgSlNMb2NrSG9sZGVyIGxvY2sodm0pOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSwganNOdWxsKCkpOworICAgIERPTUpJVEdldHRlckJhc2VKU09iamVj
dCogcmVzdWx0ID0gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVy
ZSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworfQorCisKIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVj
U3RhdGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTI4MzIsNiArMjkz
MiwxNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRmxhCiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAorRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKEV4ZWNTdGF0
ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIFJFTEVBU0VfQVNTRVJU
KGV4ZWMtPmFyZ3VtZW50Q291bnQoKSA+PSAxKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIGdldHRlclNl
dHRlciA9IGpzRHluYW1pY0Nhc3Q8R2V0dGVyU2V0dGVyKj4odm0sIGV4ZWMtPmFyZ3VtZW50KDAp
KTsKKyAgICBSRUxFQVNFX0FTU0VSVChnZXR0ZXJTZXR0ZXIpOworICAgIEpTT2JqZWN0KiBnZXR0
ZXIgPSBnZXR0ZXJTZXR0ZXItPmdldHRlcigpOworICAgIFJFTEVBU0VfQVNTRVJUKGdldHRlcik7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShnZXR0ZXIpOworfQorCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBWYWx1ZVR5cGU+CiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhc3RkOjppc19mdW5kYW1l
bnRhbDxWYWx1ZVR5cGU+Ojp2YWx1ZT46OnR5cGUgYWRkT3B0aW9uKFZNJiwgSlNPYmplY3QqLCBJ
ZGVudGlmaWVyLCBWYWx1ZVR5cGUpIHsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNTks
NiArMTA1OSw3IEBACiAJCTc5MTlCNzgwMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MTlCNzdGMUUw
MzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTIzM0MyQjFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0
aElDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTIz
M0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyQ0IzNEExQzRFRUQ1QzAwRDEzQUYzIC8q
IFBDVG9Db2RlT3JpZ2luTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OTQ1
NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NDU3NUNEMUY3MzQ5NzIwMEJB
NDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjQ2NTZBMUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQ
dXRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjVDMjE3MUU1RDc5OTYwMEI3NTkx
RCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NUMyMTUxRTVENzk5NjAwQjc1OTFE
IC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2REFBMkIxRTg5Q0NENjAwNURG
MjRBIC8qIENhbGxlZUJpdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5NkRBQTJBMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM0OTgsNiArMzQ5
OSw4IEBACiAJCTc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUTWF0aElDLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTc5MkNCMzQ3MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1h
cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQQ1RvQ29kZU9yaWdp
bk1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ4MUM0RUVENUMw
MEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk1RjA5OUMxRTAzNjAwNTAwQkJFMzdGIC8qIEIzQ29t
cGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCM0NvbXBpbGUu
Y3BwOyBwYXRoID0gYjMvQjNDb21waWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR2V0UHV0SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3OTY1QzIxNDFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNC
eUdyYXBoQ29sb3JpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
QWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOyBwYXRoID0gYjMvYWlyL0Fp
ckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTczNjUsNiArNzM2OCw4IEBACiAJCQkJMTRBRDkxMEExRENBOTI5NDAwMTRG
OUZFIC8qIFByb2dyYW1Db2RlQmxvY2suaCAqLywKIAkJCQkwRkQzRTQwNzFCNjE4QjY2MDBDODBF
MUUgLyogUHJvcGVydHlDb25kaXRpb24uY3BwICovLAogCQkJCTBGRDNFNDA4MUI2MThCNjYwMEM4
MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAorCQkJCTc5NDU3NUNDMUY3MzQ5NzIwMEJB
NDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8sCisJCQkJNzk0NTc1Q0QxRjczNDk3
MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8sCiAJCQkJMEYxNUNEMjAxQkE1
Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5jcHAgKi8sCiAJCQkJMEYxNUNEMjExQkE1Rjk4
NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5oICovLAogCQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1
RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCAqLywKQEAgLTg1NTQsNiArODU1OSw3IEBACiAJCQkJ
QTFCOUUyM0UxQjRFMEQ2NzAwQkM3RkVEIC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTE4MTkzRTQxQjRFMENEQjAwRkMxMDI5IC8qIEludGxDb2xsYXRvclBy
b3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDZFMUI0REMxNDEwMEQ2OTg0
OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTc5NDU3NUNFMUY3
MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENzAxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVj
dG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3NTFCNERDMUM2MDBENjk4NDkgLyogSW50
bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4
N0Q3MjFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmggaW4g
SGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGlu
TmFtZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9C
dWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQs
NyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5J
VElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9s
SW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1w
bDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9s
SW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAKIH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9C
dWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcg
QEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xB
UkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1i
b2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3lt
Ym9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFM
SVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFk
ZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIz
MSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VB
Q0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAg
ICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAg
ICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3Rh
dGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAg
ICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQo
dm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJp
dmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05f
TkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJ
VkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0yMzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAg
ICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJ
TklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9fUFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2
YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFyVk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxh
clZNTmFtZSk7CiAgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFt
ZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1
YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25J
ZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvKTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVN
YXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRl
cnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAgICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciog
bG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1
NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9X
RUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJp
dmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBj
b25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAg
IElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZpZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0
ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZ
TUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MUykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIg
bV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2
YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwg
Y29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAg
ICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGljVG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1l
c01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBBY2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNv
bnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNl
dCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3ND
aGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICwg
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbihXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsK
ICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAg
IG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0OwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwg
c3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFp
bikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEluSGl0OgogICAgIGNhc2UgSW5N
aXNzOgorICAgICAgICBicmVhazsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3Ry
aW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgU2Nv
cGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgTW9kdWxlTmFtZXNwYWNlTG9hZDoKICAgICBj
YXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFp
bik7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAK
LSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZt
LCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJl
dHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVy
LCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlw
ZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNz
Q2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUs
Ci0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKKyAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewog
ICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVjdHVyZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3Vz
SUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFj
Y2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4g
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJh
bnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBU
cmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBA
IC0xMzUsNyArMTM4LDkgQEAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpj
bwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1
Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQot
ICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkp
CisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQo
KQorICAgICAgICAvLyBPT1BTOiBhZGQgYSB0ZXN0IGZvciB0aGlzCisgICAgICAgIHx8IChtX3By
b3RvdHlwZUFjY2Vzc0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQ
cm9wZXJ0eVdhdGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0
Y2hwb2ludFNldEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25h
bFNldCgpKQpAQCAtMTUxLDYgKzE1Niw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3Ry
dWN0dXJlQ2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsK
KwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNl
IFN0cmluZ0xlbmd0aDoKQEAgLTIxMCw2ICsyMTgsMTggQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5S
ZXBsYWNlKGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNw
YWNlT2JqZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0K
ICAgICBkZWZhdWx0OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICAgICAgaWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9u
bHkgY2hlY2sgd2UgbmVlZCBzaW5jZSBQcm90b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUg
YmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBj
b250YWluIG9ubHkgdGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5n
ZQorICAgICAgICAgICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAg
ICAgICAgICByZXR1cm4gKm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90
eXBlQWNjZXNzQ2hhaW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVj
dHVyZUNoZWNrKCkgfHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI2IEBAIGJvb2wgQWNjZXNzQ2Fz
ZTo6Y2FuUmVwbGFjZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50
U3RyZWFtJiBvdXQpIGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAg
b3V0LnByaW50KCJcbiIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7
CiAKICAgICBvdXQucHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBU
cmFuc2l0aW9uKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2lu
dGVyRHVtcChzdHJ1Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkp
KTsKLSAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
c3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlm
IChpc1ZhbGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zm
c2V0ID0gIiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQog
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQp
OwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIG91dC5wcmludChj
b21tYSwgInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWlu
KTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAg
ICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0
dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVs
c2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0
dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBk
dW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsy
NjcsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAg
IGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsK
KyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJl
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAg
aWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDMsMTEgQEAgYm9vbCBBY2Nl
c3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAg
ICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAg
IGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAgICAgICAg
cmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQorCiAgICAg
c3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFw
Ojppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3
MiwyNiArNDA3LDY1IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAg
fQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAg
ICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVP
ZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMy
KFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBz
Y3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAg
ICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBTZXR0ZXIpCisgICAgICAgICAgICAgICAg
ZGF0YUxvZ0xuKCJFbWl0dGluZyBzZXR0ZXIgdmlhIHBvbHkgcHJvdG8hIik7CisKKyAgICAgICAg
ICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAg
ICAgIGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWlu
KCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKClbaV07CisgICAgICAgICAgICAgICAgYm9v
bCBhdEVuZCA9IGkgKyAxID09IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkuc2l6ZSgp
OworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChh
dEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBNaXNzIHx8IG1fdHlw
ZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmICFzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZl
VG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxs
KSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2Jq
ZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVy
ZS0+aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlw
ZS4gV2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNl
dChvZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vz
c0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChD
Q2FsbEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZv
cndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAg
ICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwMiw4IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQobV9jb25kaXRpb25TZXQu
c3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQo
KSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBjb25kaXRpb24g
OiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25kaXRpb24u
b2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25kaXRpb24uaXNXYXRjaGFi
bGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC01MDQsMTMgKzU4MCwx
OSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAg
ICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vz
c0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAg
ICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0
cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOworICAgICAg
ICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gVGhpcyBpc24n
dCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCwK
KyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNjZXNzIGluc2lkZSBzY3Jh
dGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAgICAgICAgICAvLyBidXQg
aXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9hZCB0aGUgYmFzZSB0d2lj
ZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkp
IHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAg
ICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAg
fSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7
CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BS
UmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAh
PSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYg
bV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2LDcgKzEwOTgsNyBAQCB2
b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgIAogICAgIGNh
c2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFsaWRPZmZz
ZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2UgbmVlZCB0byBlbnN1cmUg
dGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIgdXMuIE5vdGUgdGhhdCBH
ZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28gd2UganVzdCBuZWVkIHRv
IHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBpdC4KICAgICAgICAgU3Ry
dWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3
IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIK
ICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTIw
LDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJv
cGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0
ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBzdGQ6
OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICAvLyBU
aGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5zaXRpb25zLgogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25l
ciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLAotICAgICAgICBTdHJ1
Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0g
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0NlbGwqIG93bmVyLCBTdHJ1
Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gISFtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgIH0KKwog
cHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7Cisg
ICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6
dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOworICAgIEFjY2Vzc0Nhc2UoQWNjZXNz
Q2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJiBvdGhl
cikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAgICAsIG1fc3RhdGUob3Ro
ZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29mZnNldCkKKyAgICAgICAg
LCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAgLCBtX2NvbmRpdGlvblNl
dChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlmIChvdGhlci5tX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG90
aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAgfQorCiAgICAgQWNjZXNz
Q2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJl
c2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAgLTIyNyw2ICsyNDQsOCBA
QCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwogCiAg
ICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkz
LDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFMKICAg
ICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNbb3BMZW5ndGggLSAyXS51
Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsgb3BMZW5ndGggLSAxXSA9
IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAgbV9nbG9iYWxPYmplY3Qu
Z2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRT
dGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1
cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2Fz
ZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3Mu
dmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0
aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVByb3RvKCkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1
ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYWNj
ZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50ZXJuYWwK
IHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFj
Y2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KQorR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNP
YmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFs
U2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX2N1c3RvbVNsb3RC
YXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAot
ICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0
dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRl
QW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAg
IHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBzdGQ6
OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQog
ewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsMTggKzYzLDE5
IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93
bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRk
aXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBv
d25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFk
ZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWlu
KSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAgICAgcmVz
dWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRlcjsKICAgICByZXR1cm4g
V1RGTW92ZShyZXN1bHQpOwogfQogCisvLyBPT1BTOiBkbyBzb21ldGhpbmcgaGVyZS4gV2hvIGNh
bGxzIHRoaXM/CiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+
IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0
b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0
eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3Vz
dG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9t
U2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4g
cmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNl
LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21B
Y2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0
KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDYsMTggKzQ2LDE1IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW1pdERPTUpJVEdl
dHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmLCBjb25zdCBET01KSVQ6OkdldHRlclNldHRlcios
IEdQUlJlZyBiYXNlRm9yR2V0R1BSKTsKIAorICAgIC8vIE9PUFM6IGNvbnNpZGVyIHdoYXQgdGhp
cyBjdG9yIGlzIGZvcgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3Jl
YXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5
ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRy
LAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAg
IEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBK
U09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3Rh
dGlvbj4sIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
YyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIp
OworICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVl
X3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7
CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qg
b3ZlcnJpZGU7CkBAIC02Nyw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nl
c3NvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZh
dGU6Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpT
Q2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFk
ZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0
IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2Nh
dGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJu
YWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJv
bUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVy
LCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAg
QVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0g
YmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMg
b2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBl
bHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJ
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNG
dW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmlu
c2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2
bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgbnVsbHB0cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGlu
dHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0
dXJlKik7CiAgICAgdm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0
ZSYpOwogCisgICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQ
cm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmLCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNj
ZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nh
c2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01v
ZHVsZU5hbWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmly
b25tZW50KiBtb2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAg
OiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVs
bHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVy
LCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9m
ZnNldCkKIHsKICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1
bGVOYW1lc3BhY2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9u
LmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisK
K3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29u
c3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0
cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1F
OiBXaGVuIGdvaW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQg
dGVhY2gKKyAgICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBv
bHkgcHJvdG8gb2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc1MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNv
bnN0cnVjdG9yKSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNv
bnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKTsKKworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBleGVjdXRhYmxlLT5jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5h
bE9iamVjdFR5cGUpOworICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAg
ICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAg
IG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJl
ZENvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2
bSktPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICBib29sIHBhcmVudFBy
b3RvdHlwZUlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIGlmIChKU09iamVjdCogcHJvdG90
eXBlT2ZQcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZS0+
Z2V0UHJvdG90eXBlRGlyZWN0KCkpKSB7CisgICAgICAgICAgICBwYXJlbnRQcm90b3R5cGVJc1Bv
bHlQcm90byA9IHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0
YSgpCisgICAgICAgICAgICAgICAgJiYgcHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2
bSktPnJhcmVEYXRhKCktPmluZmVycmVkQ29uc3RydWN0b3IoKQorICAgICAgICAgICAgICAgICYm
IHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5pbmZlcnJl
ZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9CisKKyAgICAg
ICAgaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0
dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOwor
CisgICAgICAgIGlzUG9seVByb3RvID0gKGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZh
bGlkYXRlZCgpIHx8IHBhcmVudFByb3RvdHlwZUlzUG9seVByb3RvKSAmJiBleGVjdXRhYmxlLT5z
aW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgaWYgKE9w
dGlvbnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7
CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRp
YyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURl
ZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAg
ICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBw
ZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9
IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFy
ZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAg
ICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9y
IGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykg
eworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0
ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
KTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQo
aW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisK
KyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6
ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5j
ZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2
YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xh
c3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0
b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVu
a25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlu
bGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5l
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFu
b3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkg
Y3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CisKKyAgICBpZiAoaXNQb2x5UHJv
dG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsK
KyAgICAgICAgY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpLT5zZXRDYWNoZWRQb2x5UHJvdG9T
dHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsK
KyAgICB9IGVsc2UKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisKKyAgICBtX3N0
cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkg
PSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6
OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBl
KQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2Jq
ZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0g
MDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5
TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7
CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1
cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVy
dHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9
IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5h
bWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJl
IHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAg
ICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBj
b3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2
b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0Nl
bGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNh
cGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFT
U0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwot
Ci0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0
YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9z
c2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAg
aWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkg
b2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0
IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5j
dGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAg
ICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGlu
ZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAg
ICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBh
bGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRv
IGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5Owot
ICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwg
b3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElu
bGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0
eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAg
ICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNh
cGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAg
IHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlu
bGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5j
ZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAg
IC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4g
dGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNp
emVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNp
emVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkg
Kz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBK
U0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1
cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsK
LQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1
Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9y
ZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAg
ICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxp
bmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemVQ
cm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwg
SlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNs
ZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0gMDsKKyAgICAgICAgbV9hbGxvY2F0
b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5jbGVhcigpOwogICAgICAgICBtX2lu
bGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlzTnVsbCgpKTsKQEAgLTEyNiwyNyAr
NzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1
bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAg
ICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJv
dG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQg
PSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFBy
b3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5j
bHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNG
cm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwot
ICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVy
dHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0
b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdl
dERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVu
Y3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRo
YXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNG
dW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg
ICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAg
fQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09i
amVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8v
IFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29u
ZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246
OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAg
IHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlKAogICAgICAgICAgICAg
dm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNv
bmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJz
ZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2Jq
ZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVh
azsKQEAgLTI1OCw2ICsyNjIsMTIgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJh
dGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxp
ZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Ojpp
bnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRo
IFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAg
ICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxP
YmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1v
cnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkK
ICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9s
aXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsK
KyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2Jq
ZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9
ICZzdHViSW5mbzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9y
cGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAt
MTcxLDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9u
U3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0pCisgICAgQWNjZXNzR2Vu
ZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAg
ICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAg
ICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2FsbEFuZEV4Y2VwdGlvbkhhbmRsaW5n
KGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVSZWdpc3RlcnNJZkV4Y2VwdGlvbihm
YWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0ZUluZGV4KGZhbHNlKQogICAgIHsK
ICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0
OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9OwogICAgIFNjcmF0Y2hSZWdpc3Rl
ckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6UHJl
c2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJTdGF0ZTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3Bl
cnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29s
IFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNv
bnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8v
IHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVu
IGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5Cisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwog
ICAgICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAg
ICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAs
MTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAg
ICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0
aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlz
IGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQg
bWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBw
b2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAg
ICAgICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJv
cGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVp
ZCgpLCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWlu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFBy
b3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJv
dG8pCit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6
IHNsb3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgYmFzZSwg
dGFyZ2V0LCB1c2VzUG9seVByb3RvKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFj
Y2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRhcmdldCwgYm9vbCYgdXNlc1Bv
bHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpi
YXNlLT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90
byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBy
ZXN1bHQobmV3IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOworCisgICAgd2hpbGUgKHRydWUpIHsK
KyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwor
CisgICAgICAgIGlmICghc3RydWN0dXJlLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkp
CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5p
c1Byb3h5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+
aXNPYmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVk
QmVmb3JlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAg
IHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJl
bnQpKTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQoc3RydWN0
dXJlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZv
dW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8g
V2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlw
ZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJh
c2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4s
IGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAv
LyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJl
LT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYg
KHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50
ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFy
Z2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQo
KSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7Cisg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNz
Q2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWluID09IG90aGVyLm1fY2hh
aW47Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlBvbHlQcm90b3R5cGVBY2Nlc3NDaGFpbiIpOwor
ICAgIG91dC5wcmludCgiOiBbXG4iKTsKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDog
bV9jaGFpbikgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+
ZHVtcChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAgfQorICAgIG91dC5wcmlu
dCgiXSIpOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
dG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCitu
YW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmplY3Q7CitjbGFzcyBKU09iamVjdDsK
K2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVyZTsKKworY2xhc3MgUHJvdG90eXBl
QWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3Rv
dHlwZUFjY2Vzc0NoYWluKFByb3RvdHlwZUFjY2Vzc0NoYWluJikgPSBkZWZhdWx0OworCisgICAg
Ly8gUmV0dXJucyBudWxscHRyIHdoZW4gaW52YWxpZC4KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQ
b2x5UHJvdG8pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIEpT
T2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8pOworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjbG9uZSgpCisgICAgeworICAgICAgICByZXR1cm4g
c3RkOjptYWtlX3VuaXF1ZTxQcm90b3R5cGVBY2Nlc3NDaGFpbj4oKnRoaXMpOworICAgIH0KKwor
ICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2No
YWluOyB9CisgICAgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIHsgcmV0dXJuIG1fY2hhaW47
IH0gLy8gT09QUzogdGhpcyBpcyB1Z2x5LCBiZXR0ZXIgc29sdXRpb24gZm9yIFRyYW5zaXRpb24h
CisKKyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsKKyAgICBi
b29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKworICAgIGJv
b2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0OworCitwcml2YXRlOgorICAg
IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAgVmVjdG9yPFN0cnVjdHVy
ZSo+IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5vdywgYnV0IHBl
cmhhcHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94
eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFi
bGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwg
YWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9h
ZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewog
ICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0
dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFi
bGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQs
IFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nh
c2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBj
bGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgot
ICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNl
OwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJv
eHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3Bl
cnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
PSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0g
ZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAg
Ym9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVs
bHB0ciwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwog
CiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nh
c2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
LCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9v
bCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5
SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9QdXRCeUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQs
NiArMTg0LDggQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAg
ICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAg
ICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5
SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5
UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0
YXRlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsK
ICAgICAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzM3LDYg
KzM3MzcsMTEgQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAgICAgICAgICAgICAg
Ly8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0KCkgYWdyZWUgb24g
dGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAvLyBoaWxhcmlvdXNs
eSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5aW5nIG9uIHN0cnVj
dHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0IG9uZSBlbGVtZW50
LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhvdyBHZXRCeUlkU3Rh
dHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiByaWdo
dCBub3csIGlmIHdlIGhhdmUgYW4gT1BDUywgd2UgaGF2ZSBtb25vIHByb3RvLiBIb3dldmVyLCB0
aGlzIHdpbGwKKyAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1
dHVyZSBvbmNlIHdlIGhhdmUgYSBoeWJyaWQgZGF0YSBzdHJ1Y3R1cmUgZm9yCisgICAgICAgICAg
ICAgICAgLy8gcG9seSBwcm90bzoKKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CiAgICAgICAgICAgICAgICAgSlNPYmplY3Qq
IHByb3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9i
amVjdCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNp
emUoKTsgKytpKSB7CkBAIC00MzM0LDEyICs0MzM5LDE2IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6
OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlvbikgewogICAgICAg
ICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJl
RGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Q
cm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBj
YWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAgICAgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwg
YWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0
cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRy
dWU7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUg
dG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNwor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0
YSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFk
ZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0
byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhh
bnRvbSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09i
amVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdH
cmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJvb2wgR3JhcGg6
OmNhbkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlwZSogYXJyYXlQ
cm90b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdpbi5zZW1hbnRp
YyktPmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICB2YWx1
ZS5tX3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUp
IHsKLSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFy
cmF5UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBh
cnJheVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkK
ICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVydHlO
YW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAgICAg
ICAmJiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlv
blR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29u
c3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0
cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiBy
ZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1bHQt
PnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVu
Y3Rpb24qPihjb25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykp
OworICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBj
b25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDAsNyArNDMwMCw5IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGgu
YXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRh
R1BSKSk7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURh
dGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
KSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2Nh
dG9yR1BSKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJl
RGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1
Y3R1cmVHUFIpOworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRy
KE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxs
b2NhdGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJl
R1BSLCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAog
ICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNG
dW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlUHV0QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcg
dmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcg
c2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9i
amVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcg
c2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAg
ICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9u
Q2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3Qo
cHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUluc3RhbmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZt
X2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5j
ZSA9IG1faml0LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgp
KSwgVHJ1c3RlZEltbTMyKFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3Ry
dWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7
Ci0gICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBT
dHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNo
UmVnKTsKKyAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJl
Zywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIoTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQo
KSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9hZDY0KE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9qaXQuYnJh
bmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOworICAgIG1faml0Lnplcm9F
eHRlbmQzMlRvUHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7CisgICAgbV9qaXQubG9hZDY0
KEpJVENvbXBpbGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIEpJVENvbXBp
bGVyOjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCBzY3Jh
dGNoM1JlZyk7CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5tb3Zl
KHNjcmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlz
SW5zdGFuY2UgPSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBzY3JhdGNo
UmVnLCBwcm90b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9qaXQuYnJhbmNo
SWZDZWxsKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8obG9vcCwgJm1faml0KTsKQEAg
LTMzODEsMTAgKzMzODgsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNl
T2YoTgogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90b3R5cGUodGhpcywgbm9kZS0+
Y2hpbGQyKCkpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICAgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRj
aDModGhpcyk7CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJvdG90
eXBlLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAg
ICAgICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgICAgICBHUFJS
ZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAgICAgCiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElmQ2VsbCh2YWx1ZS5qc1ZhbHVl
UmVncygpKTsKICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuanNWYWx1ZVJlZ3MoKS5w
YXlsb2FkR1BSKCk7CkBAIC0zMzk0LDcgKzM0MDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBpc0NlbGwubGluaygmbV9qaXQp
OwogICAgICAgICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFs
dWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgICAgICBj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBz
Y3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogICAgICAgICAKICAgICAgICAg
ZG9uZS5saW5rKCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTYsMTUgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoKHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJUZW1w
b3Jhcnkgc2NyYXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUu
Z3ByKCk7CiAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICBH
UFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2gyUmVn
ID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3By
KCk7CiAgICAgCi0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcs
IHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgIGNvbXBpbGVJbnN0
YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcs
IHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVzc2VkQm9vbGVhblJlc3VsdChz
Y3JhdGNoUmVnLCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNzU5LDcg
Kzc1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVTdHJp
Y3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgYm9vbCBub25TcGVjdWxhdGl2
ZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICAKLSAgICB2b2lkIGNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBw
cm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJS
ZWcpOworICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2
YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcs
IEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKTsKICAgICB2b2lkIGNvbXBp
bGVJbnN0YW5jZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mQ3VzdG9tKE5v
ZGUqKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTY5LDEwICs4OTY5LDEyIEBA
IHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBpc0NlbGxDYXNlID0gbV9v
dXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9vcCA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVCaXRzID0gbV9vdXQubmV3Qmxv
Y2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90byA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5cGUgPSBtX291dC5uZXdCbG9j
aygpOwogICAgICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5jZSA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7Ci0gICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7
Ci0gICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJlY3QgPSBtX291dC5uZXdCbG9j
aygpOwogICAgICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5zdGFuY2VTbG93ID0gbV9vdXQu
bmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3
QmxvY2soKTsKICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25kaXRpb247CiAgICAgICAgIGlm
IChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNlKQpAQCAtODk5MCwxNiAr
ODk5MiwyOCBAQCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbFZhbHVl
ID0gbV9vdXQuYW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5qdW1wKGxvb3ApOwogICAgICAg
ICAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZURpcmVjdCk7Cisg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVCaXRzKTsKICAgICAgICAg
TFZhbHVlIHZhbHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5hbFZhbHVlKTsKICAgICAgICAg
TFZhbHVlIHR5cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1ZSwgbV9oZWFwcy5KU0NlbGxf
dHlwZUluZm9UeXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQu
bm90RXF1YWwodHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9iamVjdFR5cGUpKSwKLSAgICAg
ICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJhcmVseShkZWZhdWx0SGFzSW5z
dGFuY2VTbG93KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVCaXRzKSwgcmFy
ZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAgICBtX291dC5hcHBlbmRUbyhs
b2FkUHJvdG90eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIG1fb3V0LmFwcGVu
ZFRvKGxvYWRQcm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsKICAgICAgICAgTFZhbHVlIHN0
cnVjdHVyZSA9IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAgICBMVmFsdWUgY3VycmVudFBy
b3RvdHlwZSA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3Rv
dHlwZSk7CisKKyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMgPSBtX291dC5sb2FkNjQoc3Ry
dWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworICAgICAgICBWYWx1ZUZyb21C
bG9jayBkaXJlY3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90b3R5cGVCaXRzKTsKKyAgICAg
ICAgbV9vdXQuYnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyksIHVuc3VyZShsb2FkUG9seVBy
b3RvKSwgdW5zdXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAgICAgICBtX291dC5hcHBlbmRU
byhsb2FkUG9seVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAgICAgICAgTFZhbHVlIGluZGV4
ID0gbV9vdXQuYml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNvbnN0SW50NjQoVUlOVF9NQVgp
KTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0gbV9vdXQuYW5jaG9yKAorICAg
ICAgICAgICAgbV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleChtX2hlYXBzLnByb3BlcnRpZXMu
YXRBbnlOdW1iZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0LCBKU09iamVjdDo6b2Zmc2V0
T2ZJbmxpbmVTdG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29tcGFyZVByb3RvdHlw
ZSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVByb3RvdHlwZSwgbm90WWV0SW5z
dGFuY2UpOworICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LnBoaShJbnQ2
NCwgZGlyZWN0UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGlz
SW5zdGFuY2VSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhblRydWUpOwogICAgICAg
ICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVhbChjdXJyZW50UHJvdG90eXBl
LCBwcm90b3R5cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDEzIEBAIHZvaWQgSklUOjpl
bWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8vIExvYWQgdGhlIHByb3RvdHlw
ZSBvZiB0aGUgb2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBlcXVhbCB0byByZWdUMSAtIFdJ
TiEKICAgICAvLyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2UgaGF2
ZSB0aGVuIGRyb3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28gYWdhaW4uCi0gICAgZW1pdExv
YWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMpOwotICAgIGxvYWQ2NChBZGRy
ZXNzKHJlZ1QyLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDIpOworICAgIGVt
aXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJlZ1QzKTsKKyAgICBsb2FkNjQo
QWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1Q0KTsKKyAg
ICBhdXRvIGhhc1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Mo
cmVnVDQpKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwgcmVnVDQpOworICAgIGxvYWQ2
NChCYXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJ
bmxpbmVTdG9yYWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVkUHJvdG90eXBlLmxpbmsodGhp
cyk7CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJbnN0YW5jZSA9IGJyYW5j
aFB0cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElmSlNDZWxsKHJlZ1QyKS5s
aW5rVG8obG9vcCwgdGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBh
dGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVD
YWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNj
ZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0
KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAo
c2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1
LDIzICsyNTcsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAg
ICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmpl
Y3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAg
ICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJv
cGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7
Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1
Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQ
cm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3Ry
dWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFt
ZS5pbXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAo
IWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8g
PSBmYWxzZTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNj
ZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBz
bG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hh
aW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJv
dG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwor
ICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGlu
dmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsK
KyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdl
IHVzZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNz
ZXMuCisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisg
ICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVy
dHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVy
dHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1
Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5
TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICgh
Y29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVV
cE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNV
bnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0K
IAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcs
MTcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAK
LSAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNv
ZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdl
dEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFs
b2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
OjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAg
IG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwg
c2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAg
ICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmlu
c2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVj
dHVyZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3du
IHNhbml0eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVy
IGNoZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29y
ayB3b3VsZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0
aW4gdHlwZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2Fz
ZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90
LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAg
ICAgZWxzZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hl
YWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNl
ID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNl
dCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAg
ICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBv
aW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAg
ICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0
LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAg
ICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90Lndh
dGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0
ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0
b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRv
bUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShw
cm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpA
QCAtMzg2LDYgKzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5
SUQKICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFz
Q2VsbCgpOwogCiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2Fj
aGVhYmxlUHV0KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xv
dDo6RXhpc3RpbmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODcgQEAgc3RhdGljIElubGlu
ZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1
Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUt
PmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYg
KHB1dEtpbmQgPT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0K
LSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJN
aXNzKAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3Ry
dWN0dXJlLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0No
YWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0
ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3ND
aGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRo
aXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAodXNlc1Bv
bHlQcm90bykKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWlu
KClbMF0gPSBzdHJ1Y3R1cmU7IC8vIE9PUFMgc28gaGFja3khCisgICAgICAgICAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsK
KyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50
LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBuZXdDYXNlID0gQWNj
ZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCk7CisgICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6
Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNv
bmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAg
ICAgfSBlbHNlIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgc2xvdC5pc0NhY2hlYWJs
ZVNldHRlcigpKSB7CiAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsKICAg
ICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKKyAgICAg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNj
ZXNzQ2hhaW47CiAKICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdEN1c3RvbSgKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCks
IGlkZW50LmltcGwoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxp
ZCgpKQorICAgICAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAg
ICAgICAgICAgIC8vIE9PUFM6IHRlc3QgdGhpcyEKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAg
ICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlk
ZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFs
aWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAg
ICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0g
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNz
b3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZh
bGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0gICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0
ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3Qu
aXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBB
Y2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAor
ICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFp
biksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAg
ICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAg
ICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAg
Y29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAg
ICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBi
b29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nl
c3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAg
ICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAg
ICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Ci0gICAgICAgICAgICAgICAg
b2Zmc2V0ID0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7Ci0gICAg
ICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNl
dCgpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQ
cm90bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxw
dHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAg
ICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNs
b3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRp
dGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvZmZzZXQgPT0g
Y29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCkpOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFj
Y2Vzc0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCk7CisgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUs
IG9mZnNldCwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTUxNywxNSArNTc1LDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgCisgICAgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKICAg
ICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CiAgICAgaWYgKHdhc0Zv
dW5kKSB7Ci0gICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0gYmFzZSkgewotICAgICAgICAg
ICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlI
aXQoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90
LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkg
IT0gYmFzZSkgeyAKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90
byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
KyAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBn
ZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlk
ZW50LmltcGwoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAg
ICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0g
ICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7
CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFj
Y2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBHaXZlVXBP
bkNhY2hlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAg
ICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICBjb25k
aXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAg
ICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAg
ICAgICB9CiAgICAgfQogICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuIEdpdmVVcE9uQ2FjaGU7CkBAIC01MzMsNyArNjExLDcgQEAgc3RhdGljIElubGluZUNh
Y2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBMT0dfSUMoKElDRXZlbnQ6OkluQWRkQWNjZXNz
Q2FzZSwgc3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaWRlbnQpKTsKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICB2
bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6
SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCk7CisgICAgICAg
IHZtLCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNl
OjpJbk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3Zl
KHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IHJl
c3VsdCA9IHN0dWJJbmZvLmFkZEFjY2Vzc0Nhc2UobG9ja2VyLCBjb2RlQmxvY2ssIGlkZW50LCBX
VEZNb3ZlKG5ld0Nhc2UpKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzYwLDE2ICs3NjAsMTcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF9ieV9p
ZAogICAgICAgICAgICAgICAgIGlmICghc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSAmJiBzdHJ1
Y3R1cmUtPnByZXZpb3VzSUQoKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1cmUtPm91
dE9mTGluZUNhcGFjaXR5KCkpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVy
ZS0+cHJldmlvdXNJRCgpLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZhbGlkYXRl
ZCgpKTsKIAotICAgICAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplUHJvdG90eXBlQ2hhaW4o
ZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAgICAgICAg
ICAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAg
YXV0byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNh
d1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFBy
b3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJvdG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBwY1s0XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lE
KCktPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90
LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1
cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBj
WzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBl
Q2hhaW4oZXhlYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4q
IGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2Vs
bCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJs
b2NrLCBjaGFpbik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4o
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0
YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1
dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAog
c3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09i
amVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwgdWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYw
OSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAg
ICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAg
ICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
T2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAg
ICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAg
IH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhl
Y1N0YXRlCiAgICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1i
ZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9s
ZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAg
ICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04
MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgog
ICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0
YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRh
aW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwg
dGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRh
dGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNP
YmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
YXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29u
dGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBs
ZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkp
CisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAq
dGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVu
Z3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgq
ZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAg
ICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwpAQCAtMTE3NCw3ICsxMTczLDcg
QEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0Fu
eUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1
cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZ
KCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZh
bHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFs
dWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVk
QXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5
LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShz
dHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0
cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAg
YnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1
Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0
b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxz
ZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVyIGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRl
eGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgodmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcg
QEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBT
b21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhp
cyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBk
b24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJn
dW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFT
U0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwor
ICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCArMTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xv
bmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+
c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0
YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3Vt
ZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1l
LCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgp
LT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xv
bmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5z
aWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChl
eGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQt
PnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFy
ZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQt
PnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93
UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDgg
QEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3Qg
aW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0
cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVh
dGVmcm9tY29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNP
YmplY3QtPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUu
Y3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvbkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZv
aWQgRnVuY3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2Nr
Rm9yQ29uc3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0
aGlzT2JqZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09i
amVjdC0+bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFi
bGUqIEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVj
dXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA5LCAyMDEwLCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzIsNiArMTcyLDkgQEAg
cHVibGljOgogICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRv
bkZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8v
IENhY2hlZCBwb2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3Rp
bmcgdGhpcyBleGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0
dXJlKCkgeyByZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2
b2lkIHNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKSB7IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJl
KTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTE4
OSw2ICsxOTIsNyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxGdW5jdGlvbkNvZGVCbG9j
az4gbV9jb2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJu
U3RhdGVtZW50VHlwZVNldDsKICAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9zaW5n
bGV0b25GdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBvbHlQ
cm90b1N0cnVjdHVyZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURh
dGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpp
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkp
Cit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0g
ICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3Qs
IHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFy
ZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29y
a2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNv
bnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90
IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRlcm5hbEZ1bmN0
aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJj
bGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCwgU3Ry
dWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQoIW5ld1Rhcmdl
dCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3VGFyZ2V0ICYm
IG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChiYXNlQ2xhc3Mt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUgYW4gSW50
ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3RydWN0Lgog
ICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9u
Kj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczOCw3
ICs3MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBlCiAgICAg
Y2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsKICAg
ICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJT
RV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBz
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKQogICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3Myw3ICs3
NzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAgCiAg
ICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBpbiBhbiBh
Ym5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGluIEFycmF5
UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAoKHN0b3Jh
Z2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAogICAgICAg
ICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFu
eUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUg
d2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndh
eSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3Vs
ZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9
IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAg
ICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50
XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05NDUsNyAr
OTQ1LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAg
ICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRo
aW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhy
b3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJy
YXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50
OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91Ymxl
IHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAg
ICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBAQCBib29s
IEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJy
YXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTYyLDggKzYyLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0
Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2Jq
ZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNo
YWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAg
aWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAg
ICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3
NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3RydWMK
ICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKEpT
T2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwgUmF3
UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0ZXJm
bHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0gICAg
ICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAi
KSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQoKnN0
cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBv
dXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91
dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAg
ICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIsIGFz
Q2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVyZUlE
OiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGlz
VHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxs
b2NhdGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVjdCogSlNG
dW5jdGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVj
KQoreworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSk7CisgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICByZXR1
cm4gYXNPYmplY3QocHJvdG90eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0pLT5v
YmplY3RQcm90b3R5cGUoKTsKK30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxs
b2NhdGVBbmRJbml0aWFsaXplUmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5saW5l
Q2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVj
LT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0
Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBp
ZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQ
cm90b3R5cGUoKTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3Ry
dWN0aW9uKHZtLCBleGVjKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0
aW9uUmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZt
LCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAog
ICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhl
IHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9w
ZXJseSBhbGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNG
dW5jdGlvbjo6aW5pdGlhbGl6ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nh
c3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkp
OwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qo
dm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmpl
Y3QtPm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9u
KHZtLCBleGVjKTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRo
aXMpOwogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNzEsNyArMzc0LDYg
QEAgYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAg
b2Zmc2V0ID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5wcm90b3R5cGUsIGF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZz
ZXQob2Zmc2V0KSk7CiAgICAgICAgIH0KLQogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmpl
Y3QsIGF0dHJpYnV0ZXMsIHRoaXNPYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwog
ICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAg
IC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpT
RnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19F
WFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
KTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0
cnVjdHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0
b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+
bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAg
ICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNl
cnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RB
bmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAg
aWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGds
b2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElu
bGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2Jq
LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1
dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRo
aXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8
fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRl
cmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9
IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0g
aW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5
KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9s
ZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVs
bCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBT
dHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0
ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2
LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQog
ewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNv
bnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVl
cyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcg
KzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBA
IC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGln
dW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0
VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3
LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAg
IHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
ICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJu
IGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcg
QEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3Jl
YXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIy
IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAg
ICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uo
dm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAg
QVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAg
QVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VP
VVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90
b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAg
ICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAg
IAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5
cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVj
dHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5l
d1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3Ry
dWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1
Y3R1cmUpOworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSkt
PnBvbHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAK
ICAgICBpZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5l
d1N0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0
cnVjdHVyZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVj
dDo6b3JkaW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2
ZXIgZGVmYXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUg
Y2hhaW4gYXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4o
dm0pOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2Jq
ZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0
KSkKKyAgICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQ
cm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAo
aGludCA9PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmpl
Y3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUlu
ZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBl
eGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkp
OwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAg
ICAgICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9y
YWdlIGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEs
IGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJu
IHB1dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4Nzgs
NyArMjg4Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAg
ICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJh
eVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1v
ZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlm
IChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3Jh
Z2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwg
MCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwg
dGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3Rvcisr
OwpAQCAtMzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVM
ZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3
aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVY
SU5HX1RZUEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1l
dGhvZChFeGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0
OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sK
KyAgICBWTSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJy
ZW50ID0gdGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBl
RGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90
eXBlKTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJj
ZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYg
KHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hh
aW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0
KiBjdXJyZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJl
bnQtPmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9
IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1
dGVzOworICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUo
dm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlND
Ojppc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
CisgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmpl
Y3Q6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5p
c0hhdmluZ0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246
OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVy
dHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
SlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRl
eE1vZGUuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1
cmUuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJW
TS5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1h
cC5oIgpAQCAtMTMxLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAvLyBJdCBpcyB2YWxpZCB0byB1
c2UgdGhvdWdoIHdoZW4geW91IGtub3cgdGhhdCB5b3Ugd2FudCB0byBkaXJlY3RseSBnZXQgaXQK
ICAgICAvLyB3aXRob3V0IGNvbnN1bHRpbmcgdGhlIG1ldGhvZCB0YWJsZS4gVGhpcyBpcyBha2lu
IHRvIGdldHRpbmcgdGhlIFtbUHJvdG90eXBlXV0KICAgICAvLyBpbnRlcm5hbCBmaWVsZCBkaXJl
Y3RseSBhcyBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uCi0gICAgSlNWYWx1ZSBnZXRQ
cm90b3R5cGVEaXJlY3QoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIGdl
dFByb3RvdHlwZURpcmVjdCgpIGNvbnN0OwogCiAgICAgLy8gVGhpcyBzZXRzIHRoZSBwcm90b3R5
cGUgd2l0aG91dCBjaGVja2luZyBmb3IgY3ljbGVzIGFuZCB3aXRob3V0CiAgICAgLy8gZG9pbmcg
ZHluYW1pYyBkaXNwYXRjaCBvbiBbW1NldFByb3RvdHlwZU9mXV0gb3BlcmF0aW9uIGluIHRoZSBz
cGVjaWZpY2F0aW9uLgpAQCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7
CiAgICAgYm9vbCBpc1NlYWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2Vh
bGVkKHZtKTsgfQogICAgIGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUo
dm0pLT5pc0Zyb3plbih2bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVy
Y2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAg
ICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFu
c2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0
ZToKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlz
U3RydWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJv
dGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAg
ICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90
eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdl
dFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKCktPmhhc1N0
b3JlZFByb3RvdHlwZSgpIHx8IGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6
OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAg
ICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJ
bmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpK
U09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJv
dG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFBy
b3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMp
OwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhl
Y1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpT
T2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVj
dHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmpl
Y3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFt
ZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBGSVhNRTog
VGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoK
KyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3
MgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElu
bGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUg
Ym9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNs
YXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlw
ZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxN
ZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0
UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBl
ID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lG
X0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5t
ZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90Lmlu
dGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpW
TUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGly
ZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5n
ZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09i
amVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9y
bUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlz
T2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8o
dm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlw
ZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlm
ICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5
TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVj
LCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVy
dHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcg
QEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5n
dGgKICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFt
ZUVudW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hh
aW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVt
ZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hh
aW4oZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMy
X3QgbnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBp
bmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJv
cGVydHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFYKTsKIAotICAgIG5vcm1hbGl6ZVByb3RvdHlw
ZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYXV0
byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNhd1Bv
bHlQcm90byk7CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpj
cmVhdGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJvcGVy
dGllcywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2FjaGVk
UHJvdG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOwotICAg
IGlmICghaW5kZXhlZExlbmd0aCAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51
bWVyYXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1l
cmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBiYXNlLT5z
dHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSAmJiByZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNo
YWluKSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVj
dHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1
Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOwor
ICAgIH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3
IEBAIGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3Ry
dWN0dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0
cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBn
bG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBK
U1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9i
amVjdC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmpl
Y3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVy
biBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVs
bHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5
KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTMgKzEzNiwxOSBAQCBib29sIGpzSXNGdW5jdGlv
blR5cGUoSlNWYWx1ZSB2KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6
ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKK3NpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wmIHNhd1BvbHlQcm90bykKIHsKICAgICBWTSYgdm0g
PSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBzYXdQb2x5UHJv
dG8gPSBmYWxzZTsKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1By
b3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAg
ICAgIHNhd1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAg
cmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAgICBpZiAodi5pc051
bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQs
NyArMzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFtZSosCiBKU1Zh
bHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsK
IGJvb2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7CiBib29sIGpz
SXNGdW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4o
Q2FsbEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4o
Q2FsbEZyYW1lKiwgU3RydWN0dXJlKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxXQVlTX0lO
TElORSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogczEsIEpT
U3RyaW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYgY29uc3Qg
Y2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21Db250ZXh0
LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCksIHdlIHdp
bGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGluIGl0IHRv
IGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2VtYmx5VG9K
U0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlua0luZm8g
dG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwgdXNlT2Jq
ZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUgT2Jq
ZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0
aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9y
bWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24g
cHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2KGJvb2ws
IHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ug
d2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2Us
IHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVk
LiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJZiB0cnVl
LCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBwb2x5IHBy
b3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lv
biAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5cGVNYXA6
OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAK
LWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBl
IGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3RydWN0dXJl
KiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywg
Y29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0g
ICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwg
Y2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJvdG90eXBl
KTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5cGUgdG8g
bWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRlIG5vbi1u
dWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9s
eVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNs
YXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBt
X3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1
cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAg
ICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJvdG90eXBlKHByb3Rv
dHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAg
ICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUlu
Zm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAg
aWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0
dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlu
bGluZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1
cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlw
ZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQog
ICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CisK
ICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEgQEAgU3RydWN0dXJl
KiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBk
byBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2Vz
IGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlu
bGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNl
U3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUo
KS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0lu
ZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9w
ZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5
cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwogCi0g
ICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBi
YXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5k
ZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJlKiBQ
cm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9y
UHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
CiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpT
RmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBy
ZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmlu
YWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVj
dDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1
Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2Jq
ZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVtb3Zl
KHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0Ojpp
bmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtl
X3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGds
b2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2luZyBj
b3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSlNf
RVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQT1JU
X1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3Ry
dWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lk
IGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBpc1By
b3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVzdGlt
YXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0
IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAg
IFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5n
VHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVy
ZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOwog
ICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NN
YXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0ds
b2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1
cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBD
bGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1h
cCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcs
NyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0Nl
bGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNp
dHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAg
LCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAg
ICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAg
ICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlv
bldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkK
QEAgLTI5NSw2ICsyOTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxs
KQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1
cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
Y29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5k
ZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAg
U3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0
eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAg
IHVuc2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0
eSgpOworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAg
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0
T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90
b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVz
dWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZv
ck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVj
dHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChz
dHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMjYgKzQxNSwxNCBAQCBTdHJ1Y3R1cmUqIFN0
cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNp
dGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBv
ZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChj
b25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50
LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90
b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVy
ZSh2bSkgPT0gdGhpcyk7CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoVk0mIHZtKSBjb25zdAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhp
cy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3Qo
cHJvdG90eXBlKTsKQEAgLTQyNiw3ICs0MzEsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+
c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+
aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1
cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9y
ZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKQEAgLTQzNiwyMCArNDQxLDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgp
LT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1
cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0
aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblBy
b3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSog
U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJv
cGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFk
ZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTIsNiArNTQzLDgg
QEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU1ZhbHVlIHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlz
T2JqZWN0KCkgfHwgcHJvdG90eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2
bS5oZWFwKTsKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVy
ZSk7CiAKQEAgLTEwNjcsMTEgKzEwNjAsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlv
bkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgq
dm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJl
Ojpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0K
LQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0
dXJlKj4oY2VsbCk7CkBAIC0xMTA5LDcgKzEwOTcsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVh
cER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0
b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkg
fHwgIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5
KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZD
aGVhcChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjEsNDAgKzExMDksMTkgQEAgYm9vbCBT
dHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQog
Ci1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2
bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9w
ZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhp
czsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3Rv
dHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwo
KS0+c3RydWN0dXJlKHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7
Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVy
dHlOYW1lLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zm
c2V0KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJp
YnV0ZXMgJiAoUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkFjY2Vzc29yKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6
OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3Ry
dWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90
b1N0cnVjdHVyZSkKIHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVj
dHVyZVNoYXBlOjpjcmVhdGUoKTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBl
ID0gYmFzZVNoYXBlLnB0cigpOwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsK
ICAgICBKU1ZhbHVlIGN1clZhbHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJl
ID0gZmFsc2U7CiAgICAgd2hpbGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUgfD0gIWN1clN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAgICAg
ICAgIGN1clN0cnVjdHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAg
ICAgWyZdIChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAg
ICAgICAgICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAg
ICAgIGlmICghUHJvcGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAg
ICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OCwyNiArMTEz
NSwyNCBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAg
ICAgY3VyU2hhcGUtPm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUg
PSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJv
dG8obmV3U2hhcGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShu
ZXdTaGFwZSk7Ci0gICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQor
ICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9
IGFzT2JqZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9
IG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAg
ICAgICBpZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNo
YXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdU
Rk1vdmUobmV3U2hhcGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAg
ICAgICAgY3VyU3RydWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9
CiAgICAgCiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVz
ZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5l
Q2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQ
cm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0
SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigp
OwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NO
YW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzExNjcsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5
cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgp
LmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5w
cmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNl
IGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFBy
b3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3
aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpAQCAtMTI4Nyw3ICsxMjU0LDcgQEAgYm9vbCBTdHJ1
Y3R1cmU6OmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAg
ICAgIGlmICghc3RydWN0dXJlLT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBp
ZiAoc3RydWN0dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVz
KCkpCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBzdHJ1
Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxs
IEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6
U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9s
eVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBj
b25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFn
LCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUlu
Zm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0
MCw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
KTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90
eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQo
bV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3Rv
dHlwZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxNjksNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVy
ZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0
YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUo
U3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9m
ZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihW
TSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBKU19F
WFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHBy
b3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0cmli
dXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWdu
ZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSog
dG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVycmVk
U3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0YXRp
YyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVj
dHVyZSopOwpAQCAtMjA4LDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVy
biAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5j
ZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2lu
dCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgp
CkBAIC0yNDAsMjYgKzI0MiwzOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGlu
Z1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAg
fQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAgICAKLSAgICBib29sIG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5n
ZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVk
IGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAg
IC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4g
YSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywg
Z2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3Jl
ZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdl
dCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25z
dAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwor
ICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zm
c2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VS
VCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0
KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBK
U09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29u
c3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVj
dHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikg
Y29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBj
b25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsK
LSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCop
IGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBj
b25zdDsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpT
Q2VsbCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJl
Q2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsK
ICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAg
ICAgCiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9p
bmcgc28gd291bGQgb25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3Miwx
NCArMjg3LDI0IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBz
dHJ1Y3R1cmUgaXMgbm93IG1hcmtlZC4KICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9y
Jik7Ci0gICAgICAgIAotICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVy
Y2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHBy
b3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CiAgICAg
CiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNS
YXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0
dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNS
YXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRh
Kj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVyZVJh
cmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhhc1Jh
cmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0
dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgp
IGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NTgsNiBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAgIH0KICAgICAKLSAgICB2b2lkIHN0
YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKFZN
JiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBz
dHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRp
ZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9vbCBoYXNJbmZlcnJlZFR5cGVzKCkg
Y29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5mZXJyZWRUeXBlVGFibGU7CkBAIC01
ODgsMTEgKzYwNyw3IEBAIHB1YmxpYzoKICAgICAgICAgd2lsbFN0b3JlVmFsdWVTbG93KHZtLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6ZSwgSW5mZXJyZWRUeXBlVGFibGU6Ok9s
ZFByb3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVj
dHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxsb2Nh
dGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxsb2Nh
dGlvbnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICAKICAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJp
bnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpAQCAtNzIwLDggKzczNSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwg
bV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBi
b29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNo
YWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVD
aGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAg
IC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQ
cm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJl
dHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9
CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3Ry
dWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENv
bnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAg
IGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2
aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKKworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBj
dXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAg
c3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6
bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAg
c2l6ZV90IGkgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50
OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0
KGN1cnJlbnQpKQorICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSkpOworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92
ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiog
Y3JlYXRlKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJl
Q2hhaW4qIGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+
KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUu
Z2V0KCkpOwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIs
MjIgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAK
IHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBo
ZWFkKQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBz
aXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsg
Y3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8g
MCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0g
ICAgICAgICAgICArK3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAg
Zm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVu
dC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3Rv
cmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNl
dCh2bSwgdGhpcywgY3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JG
ZW5jZSgpOwotICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0
cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVk
UHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAg
ICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIg
KzcwLDQxIEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5s
aW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09i
amVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3Qp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgp
OwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmpl
Y3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkK
KyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1f
cHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0g
bV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVj
dChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3Jl
ZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJF
TEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0
b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7
CisgICAgSlNWYWx1ZSBwcm90byA9IG9iamVjdC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgp
KTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0
KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmpl
Y3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKwogQUxXQVlTX0lOTElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6
OmdldChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQg
YXR0cmlidXRlczsKQEAgLTE2NiwxNSArMTk2LDMyIEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6
dHJhbnNpdGl2ZWx5VHJhbnMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJTkUg
SlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIEFTU0VSVCgh
c3RydWN0dXJlLT5pc09iamVjdCgpKTsKKworICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCku
dHlwZSgpID09IFN0cmluZ1R5cGUpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmlu
Z1Byb3RvdHlwZSgpOworCisgICAgQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkg
PT0gU3ltYm9sVHlwZSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBl
KCk7CisKK30KKwogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VS
VChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJl
dHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBpZiAodHlwZUluZm8oKS50eXBlKCkgPT0gU3lt
Ym9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7
CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gcHJvdG90eXBl
Rm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOworfQogCi0gICAgQVNT
RVJUKHR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpOwotICAgIHJldHVybiBnbG9iYWxP
YmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90
b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNl
KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMp
OworICAgIGlmIChpc09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFz
T2JqZWN0KGJhc2UpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1w
bChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CkBAIC0xODIsMjcgKzIyOSwy
OCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvCiAgICAgcmV0dXJu
IHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogfQogCi1p
bmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWlu
KiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFz
ZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBjYWNoZSBvdXIgcHJvdG90eXBl
IGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBpZiAoIWlzVmFsaWQoZ2xv
YmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkgewotICAgICAgICBKU1Zh
bHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwotICAgICAg
ICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNy
ZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0
cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90
b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBw
cm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAgICAgICAgbV9jYWNoZWRQ
cm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHBy
b3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90b3R5cGUpKSk7CiAgICAg
fQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpOwogfQogCi1pbmxpbmUg
U3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVj
KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHBy
b3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7Cisg
ICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBl
Q2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluLCBK
U09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFByb3RvdHlwZUNoYWluKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlw
ZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNoYWluLT5oZWFkKCk7CiAg
ICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5pc051bGwoKSkgewogICAg
ICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkgIT0gY2FjaGVkU3RydWN0
dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjYxLDYgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjpp
c1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNOdWxsKCkgJiYgISpjYWNo
ZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKLXsK
LSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGNhY2hlZFBy
b3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJlOjpkaWRSZXBsYWNlUHJv
cGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChMSUtFTFkoIWhhc1JhcmVE
YXRhKCkpKQpAQCAtNDAwLDcgKzQ0Myw3IEBAIGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1
cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAK
LWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5
VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlU
YWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJs
ZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUg
IlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVy
dHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgi
CiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVjdHVy
ZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmplY3RU
b1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1f
aW5mZXJyZWRDb25zdHJ1Y3Rvcik7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3Ry
dWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAt
MTc1LDYgKzE3NywxMyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmpl
CiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0luZmVycmVkVmFsdWUq
IFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sK
KyAgICBpZiAoIW1faW5mZXJyZWRDb25zdHJ1Y3RvcikKKyAgICAgICAgbV9pbmZlcnJlZENvbnN0
cnVjdG9yLnNldCh2bSwgdGhpcywgSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKSk7CisgICAgcmV0
dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBN
ZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQg
Y2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJl
V2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVj
dHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
Myw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwog
Y2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3Mg
T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2Mywx
NSBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBh
cmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdo
YXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0
dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0
cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxk
CisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwg
d2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAg
Ly8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yIHBvaW50cyB0byBhbiBJbmZl
cnJlZFZhbHVlIGluZmVycmluZyBhIEpTRnVuY3Rpb24uCisgICAgLy8gSWYgd2Ugbm90aWNlIHRo
YXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIHdpbGwgYmVjb21lIGludmFsaWRhdGVkLgor
ICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICAv
LyBNYXkgYmUgbnVsbHB0ci4KKyAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9y
KCkgeyByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOyB9CisKICAgICBERUNMQVJF
X0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArODYsNyBAQCBwcml2YXRlOgogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpT
U3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAgIFdy
aXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CiAgICAgCiAg
ICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4s
IFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9p
bnRTZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVy
TG9nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBl
UHJvZmlsZXJMb2cuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCwxMiAr
NzAsMTQgQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAg
ICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOyAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9
IGVudHJ5LT52YWx1ZTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOwor
ICAgICAgICBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlOwogICAgICAgICBpZiAo
aWQpIHsKLSAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkp
LT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsgCisgICAgICAgICAgICBzdHJ1Y3R1cmUgPSBI
ZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7CiAg
ICAgICAgICAgICBhdXRvIGl0ZXIgPSBzZWVuU2hhcGVzLmZpbmQoc3RydWN0dXJlKTsKICAgICAg
ICAgICAgIGlmIChpdGVyID09IHNlZW5TaGFwZXMuZW5kKCkpIHsKLSAgICAgICAgICAgICAgICBz
aGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSk7Ci0gICAgICAgICAgICAg
ICAgc2VlblNoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgc2hh
cGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUsIHNhd1BvbHlQcm90b1N0cnVj
dHVyZSk7CisgICAgICAgICAgICAgICAgaWYgKCFzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAg
ICAgICAgICAgICAgICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOwogICAgICAg
ICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAg
ICAgfQpAQCAtODQsOCArODYsOCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0Vu
dHJpZXMoCiAgICAgICAgIFR5cGVMb2NhdGlvbiogbG9jYXRpb24gPSBlbnRyeS0+bG9jYXRpb247
CiAgICAgICAgIGxvY2F0aW9uLT5tX2xhc3RTZWVuVHlwZSA9IHR5cGU7CiAgICAgICAgIGlmIChs
b2NhdGlvbi0+bV9nbG9iYWxUeXBlU2V0KQotICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFs
VHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0
dXJlKTsKLSAgICAgICAgbG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5m
b3JtYXRpb24odHlwZSwgV1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBs
b2NhdGlvbi0+bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUu
Y29weVJlZigpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgICAgIGxv
Y2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdU
Rk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICAg
ICAgZW50cnkrKzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlU2V0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSwxNCBAQCBUeXBl
U2V0OjpUeXBlU2V0KCkKIHsKIH0KIAotdm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24o
UnVudGltZVR5cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBl
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3ZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9u
KFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFw
ZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewog
ICAgIG1fc2VlblR5cGVzID0gbV9zZWVuVHlwZXMgfCB0eXBlOwogCiAgICAgaWYgKHN0cnVjdHVy
ZSAmJiBwYXNzZWROZXdTaGFwZSAmJiAhcnVudGltZVR5cGVJc1ByaW1pdGl2ZSh0eXBlKSkgewog
ICAgICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IG5ld1NoYXBlID0gcGFzc2VkTmV3U2hhcGUucmVs
ZWFzZU5vbk51bGwoKTsKLSAgICAgICAgaWYgKCFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1
Y3R1cmUpKSB7Ci0gICAgICAgICAgICB7CisgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1
cmUgfHwgIW1fc3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkpIHsKKyAgICAgICAgICAg
IGlmICghc2F3UG9seVByb3RvU3RydWN0dXJlKSB7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVu
dEpTTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICAgICAgICAgIG1fc3RydWN0dXJlU2V0
LmFkZChzdHJ1Y3R1cmUpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVHlwZVNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVTZXQuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBA
IGNsYXNzIFR5cGVTZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW4KIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPFR5cGVTZXQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZVNl
dCk7IH0KICAgICBUeXBlU2V0KCk7Ci0gICAgdm9pZCBhZGRUeXBlSW5mb3JtYXRpb24oUnVudGlt
ZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBh
ZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwg
U3RydWN0dXJlKiwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIHZvaWQgaW52YWxp
ZGF0ZUNhY2hlKCk7CiAgICAgU3RyaW5nIGR1bXBUeXBlcygpIGNvbnN0OwogICAgIFN0cmluZyBk
aXNwbGF5TmFtZSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpT
VmFsdWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBi
b29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJv
b2wgaXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wg
aXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBp
c051bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0
ZXJTZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4
OiBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIyMjU3NikKKysrIFRvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTYxOSw3ICs2
MTksNyBAQCBkZWYgcnVuRlRMTm9DSklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wCiBlbmQKIAog
ZGVmIHJ1bkZUTE5vQ0pJVEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBy
dW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFs
c2UiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0
aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAi
LS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAiLS1mb3JjZVBvbHlQcm90bz10
cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9w
dGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZhbGlk
YXRlKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC02NDcsNyArNjQ3LDcgQEAgZGVm
IHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVAogZW5kCiAKIGRlZiBydW5GVExF
YWdlcigqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRsLWVhZ2VyIiwg
Ii0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9P
UFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNp
ZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJyaWdnc0FsbG9j
YXRvcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdF
Ul9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNw
ZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyV2F0Y2hkb2coKm9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBAQCBkZWYgcnVuVHlwZVByb2Zp
bGVyCiAKICAgICBydW4oImZ0bC1uby1jaml0LXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJv
ZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKQogICAgIHJ1bigi
ZnRsLXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElP
TlMpKQorICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXItZm9yY2UtcG9seS1wcm90by1mdGwtZWFn
ZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAq
KEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkNvbnRyb2xGbG93
UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322058</attachid>
            <date>2017-09-27 19:54:57 -0700</date>
            <delta_ts>2017-09-28 18:36:31 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>200304</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICAgICAgLy9mb28o
KQorICAgICAgICAvL3sKKyAgICAgICAgLy8gICAgcmV0dXJuIDI1OworICAgICAgICAvL30KKyAg
ICB9CisgICAgLy9DLnByb3RvdHlwZS5mb28gPSAyNTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICBh
LnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFzc2VydChvLmZvbyA9PT0g
dW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8uYmFyID09PSA0NSk7Cit9
Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAwMCkgeworICAgICAgICBm
b3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3RvX18uZm9vID0gNDI7Cisg
ICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsraikgeworICAgICAgICBi
YXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFu
c2l0aW9uLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bv
bHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAg
IGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5j
dGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAg
ICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7
Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9
IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkg
eworICAgIGxldCBpdGVtID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIGl0ZW0uX19wcm90
b19fID0gbnVsbDsKKyAgICBpdGVtcy5wdXNoKGl0ZW0pOworfQorCitsZXQgc3RhcnQgPSBEYXRl
Lm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG9iaiA9IGl0ZW1z
W2ldOworICAgICAgICBwZXJmb3JtU2V0KG9iaik7CisgICAgICAgIGFzc2VydChPYmplY3QuaGFz
T3duUHJvcGVydHkuY2FsbChvYmosICJwIikpOworICAgICAgICBhc3NlcnQob2JqLnAgPT09IDIw
KTsKKyAgICB9CisKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQp
OwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1zZXR0ZXItc3BlZWQu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1zZXR0
ZXItc3BlZWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1zZXR0ZXItc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MiBAQAor
ZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0IGNhbGxlZCA9IGZhbHNlOworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSAKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0
IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAg
ICAgICAgICAgICAgIHRoaXMuX3AgPSB4OworICAgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsr
aSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiBwZXJm
b3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxl
dCBpID0gMDsgaSA8IDg7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBvbHlQcm90b09iamVj
dCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAgeC5wID0gaTsKK30K
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsr
aSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAg
ICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAg
YXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVkID09PSB0cnVlKTsKKyAg
ICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50KERh
dGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRo
LXJldHVybi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13aXRo
LXJldHVybi5qcwkocmV2aXNpb24gMjIyNTc2KQorKysgSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0
b3Itd2l0aC1yZXR1cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsyMSwyMSBAQCB2YXIg
dGVzdHMgPSBbCiAgICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRvciksIHRydWUpLAog
XTsKIAotdGVzdHMuZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1bmN0aW9uIENvbnN0
cnVjdG9yKCkgewotICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9Ci0KLSAgICB2YXIg
cmVzdWx0ID0gbmV3IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKLSAg
ICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAgICAgdGhyb3cgIkJh
ZCByZXN1bHQ6ICIgKyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgewor
ICAgIHRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAgZnVuY3Rpb24gQ29u
c3RydWN0b3IoKSB7CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKICAgICAgICAgfQot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9y
KSkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisKKyAgICAg
ICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBpZiAodGVzdC5yZXR1
cm5JdCkgeworICAgICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgeworICAgICAg
ICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29u
c3RydWN0b3IpKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAgICB9KTsKK30KSW5k
ZXg6IEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYg
KCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9u
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBj
bGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworbGV0IHByb3RvID0gY3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2Jq
ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHByb3RvOworCitmdW5j
dGlvbiB2YWxpZGF0ZSh4LCB2KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4
LmN1c3RvbUdldHRlcik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitwcm90by5mb28g
PSAyNTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwg
cHJvdG8pOworCitSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9Cklu
ZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5l
c3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMt
Z2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMzIEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9P
YmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAg
ICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyAr
K2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHggPSBuZXcg
VWludDMyQXJyYXkoMTApOworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2Jq
ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9f
XyA9IG9iajsKKworZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOwor
fQorbm9JbmxpbmUoZm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAg
ICBhc3NlcnQoZm9vKHgpID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJvdG9fXyA9IHt9Owor
Cithc3NlcnQoZm9vKHgpID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by1taXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
bWlzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3Mu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90
b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsg
fQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7CisgICAgICAgIGxldCBy
ZXN1bHQgPSBuZXcgQzsKKyAgICAgICAgLy9wcmludChgUmVzdWx0IGZyb20gZm9vKCk6IGAsICR2
bS52YWx1ZShyZXN1bHQpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3Vs
dCA9IGZvbygpOworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xl
dCBwID0gdW5kZWZpbmVkOworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydCh4Lngg
PT09IDIwKTsKKyAgICBhc3NlcnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFs
aWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGlu
c3RhbmNlc1tpXSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9wLWluLWNh
Y2hpbmcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1j
YWNoaW5nLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBh
c3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6
IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsK
KyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsK
KyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIGIpIHsKKyAgICBh
c3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgb2Jq
ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4
OjIwfSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9i
aiwgdHJ1ZSk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSk7Citmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIGZhbHNlKTsKKworCitmdW5j
dGlvbiB2YWxpZGF0ZTIobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citu
b0lubGluZSh2YWxpZGF0ZTIpOworCitSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbnVsbCk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZTIob2JqLCBmYWxz
ZSk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRhdGUyKG9iaiwgdHJ1ZSk7CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDQ4IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICgh
YikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBt
YWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xh
c3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisK
K2xldCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOwor
fQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyAr
K2kpIHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3By
b3RvX18gPSBudWxsOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhh
c093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsK
KworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBt
YWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBn
bG9iYWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhh
c093blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9i
YWwgPSBudWxsOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxl
dCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAg
IGFzc2VydChvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAy
MCk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFi
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJv
dG8gPSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisK
K2xldCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAg
ICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRl
ZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24o
KSB7IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNz
IEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsK
KyAgICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxp
ZGF0ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0
ZSk7CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytp
KQorICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkg
eworICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisK
K2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsK
K30KK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFy
cikgeworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEg
b2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAg
ICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAg
IH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNjYgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAgaXRlbXMucHVzaCht
YWtlUG9seVByb3RvT2JqZWN0KCkpOworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkpIHsK
KyAgICB4LnAgPSBpOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNl
dChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAgICBhc3NlcnQoY2Fs
bGVkID09PSB0cnVlKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAgfQorfQorCitpdGVt
cy5mb3JFYWNoKG8gPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YobywgbnVsbCk7Cit9
KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsK
KyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8ucCA9PT0gaSk7Cisg
ICAgICAgIGFzc2VydChjYWxsZWQgPT09IGZhbHNlKTsKKyAgICB9Cit9CisKK2lmIChmYWxzZSkK
KyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVz
dHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAg
ICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90eXBlLmZp
ZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAgIGNsYXNz
IEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBl
cigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9OworICAgIHJl
dHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZv
bygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytp
KQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVu
Y3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsKKyAgICBh
c3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5jZXMuZm9y
RWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0
aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZl
LXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZl
LXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0
MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28o
KSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMu
eCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kp
CisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0lu
c3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJv
dG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBw
b2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJv
bCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9u
IGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBh
c3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMp
IHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAg
YXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQo
dHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhh
c093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQor
fQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0
cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9z
dHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysg
SlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigp
IHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsK
KyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlm
ICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0g
WworICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZv
bygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFz
c2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09
IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVt
IG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3Ry
ZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0
cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzYgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsK
KyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1
OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24g
dHJ5R2V0QnlJZFRleHQocHJvcGVydHlOYW1lKSB7IHJldHVybiBgKGZ1bmN0aW9uIChiYXNlKSB7
IHJldHVybiBAdHJ5R2V0QnlJZChiYXNlLCAnJHtwcm9wZXJ0eU5hbWV9Jyk7IH0pYDsgfQorbGV0
IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImZvbyIpKTsKK2xldCBnZXRC
YXIgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJiYXIiKSk7CitsZXQgZ2V0Tm9uRXhp
c3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoIm5vbkV4aXN0ZW50Rmll
bGQiKSk7CisKK2xldCB4ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworeC5fX3Byb3RvX18gPSB7
IGZvbzogNDIsIGdldCBiYXIoKSB7IHJldHVybiAyMjsgfSB9OworbGV0IGJhckdldHRlciA9IE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeC5fX3Byb3RvX18sICJiYXIiKS5nZXQ7Cith
c3NlcnQodHlwZW9mIGJhckdldHRlciA9PT0gImZ1bmN0aW9uIik7Cithc3NlcnQoYmFyR2V0dGVy
KCkgPT09IDIyKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydChnZXRGb28o
eCkgPT09IDQyKTsKKyAgICBhc3NlcnQobG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoZ2V0QmFy
KHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAgICBhc3NlcnQoZ2V0Tm9uRXhpc3RlbnRGaWVsZCh4KSA9
PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0ZSh4KTsKK30KSW5kZXg6IEpTVGVzdHMvdHlw
ZVByb2ZpbGVyL2VzNi1jbGFzc2VzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2Zp
bGVyL2VzNi1jbGFzc2VzLmpzCShyZXZpc2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9m
aWxlci9lczYtY2xhc3Nlcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQCBhc3Nl
cnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdCiBhc3NlcnQodHlwZXMuZ2xvYmFs
VHlwZVNldC5zdHJ1Y3R1cmVzWzBdLnByb3RvLmZpZWxkcy5pbmRleE9mKCJtZXRob2RCIikgIT09
IC0xLCAic2hvdWxkIGhhdmUgbWV0aG9kQiIpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVz
c2lvbih3cmFwcGVyLCAiYW5pbWFsSW5zdGFuY2UgPSIpOwotYXNzZXJ0KHR5cGVzLmdsb2JhbFR5
cGVTZXQuZGlzcGxheVR5cGVOYW1lID09PSAiQW5pbWFsIiwgIlNob3VsZCBzaG93IGNvbnN0cnVj
dG9yIG5hbWUiKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9
PT0gIkFuaW1hbCIsICJTaG91bGQgc2hvdyBjb25zdHJ1Y3RvciBuYW1lLCBidXQgd2FzOiAiICsg
dHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUpOwogYXNzZXJ0KHR5cGVzLmdsb2Jh
bFR5cGVTZXQuc3RydWN0dXJlcy5sZW5ndGggPT09IDEsICJzaG91bGQgaGF2ZSBvbmUgc3RydWN0
dXJlIik7CiBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLmNvbnN0cnVj
dG9yTmFtZSA9PT0gIkFuaW1hbCIsICJTaG91bGQgYmUgQW5pbWFsIik7CiBhc3NlcnQodHlwZXMu
Z2xvYmFsVHlwZVNldC5zdHJ1Y3R1cmVzWzBdLnByb3RvLmZpZWxkcy5sZW5ndGggPT09IDIsICJz
aG91bGQgaGF2ZSB0d28gZmllbGRzIik7CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhl
cml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5j
ZS5qcwkocmV2aXNpb24gMjIyNTc2KQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvaW5oZXJpdGFu
Y2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgYXNzZXJ0KHR5cGVzLmdsb2Jh
bFR5cGVTZXQuZGlzcGxheVR5cGVOYQogYXNzZXJ0KHR5cGVzLmluc3RydWN0aW9uVHlwZVNldC5k
aXNwbGF5VHlwZU5hbWUgPT09ICJDIiwgInZhcmlhYmxlICd0aGVDJyBzaG91bGQgaGF2ZSBkaXNw
bGF5VHlwZU5hbWUgJ0MnIik7CiAKIHR5cGVzID0gZmluZFR5cGVGb3JFeHByZXNzaW9uKHdyYXBw
ZXIsICJoaWVyYXJjaHlUZXN0ID0gbmV3IEI7Iik7Ci1hc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNl
dC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91
bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIik7Cithc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNl
dC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91
bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIiArICIgYnV0IHdhczogIiArIHR5cGVzLmdsb2Jh
bFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Np
b24od3JhcHBlciwgImhpZXJhcmNoeVRlc3QgPSBuZXcgQzsiKTsKIGFzc2VydCh0eXBlcy5nbG9i
YWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRl
c3QnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQSciKTsKSW5kZXg6IEpTVGVzdHMvdHlw
ZVByb2ZpbGVyL292ZXJmbG93LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVy
L292ZXJmbG93LmpzCShyZXZpc2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9v
dmVyZmxvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDggQEAgdmFyIG9sZFByb3RvOwog
Zm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdzsgaSsr
KSB7CiAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCBhIG5ldyBwcm90b3R5cGUgY2hhaW4gb24gZWFj
aCBhc3NpZ25tZW50IHRvIHggYmVjYXVzZSBvYmplY3RzIHdpdGggc2hhcmVkIHByb3RvdHlwZSBj
aGFpbnMgd2lsbCBiZSBtZXJnZWQuCiAgICAgeCA9IG5ldyBQcm90bzsKKyAgICB4WydmaWVsZCcg
KyBpXSA9IDIwOworICAgIHggPSB4CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9
IGZ1bmN0aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3Rv
LnByb3RvdHlwZTsKQEAgLTIwLDYgKzIyLDggQEAgUHJvdG8gPSBmdW5jdGlvbigpIHt9Owogb2xk
UHJvdG8gPSBudWxsOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhv
dXRPdmVyZmxvdyAtIDE7IGkrKykgewogICAgIHkgPSBuZXcgUHJvdG87CisgICAgeVsnZmllbGQn
ICsgaV0gPSAyMDsKKyAgICB5ID0geQogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8g
PSBmdW5jdGlvbigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90
by5wcm90b3R5cGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTIyNyw2ICsyMjcsNyBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5j
cHAKIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9N
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNvZGVC
bG9jay5jcHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNvZGUv
T2JqZWN0UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKQEAgLTIzNCw2ICsyMzUsNyBAQCBieXRl
Y29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5j
cHAKIGJ5dGVjb2RlL1Byb2dyYW1Db2RlQmxvY2suY3BwCiBieXRlY29kZS9Qcm9wZXJ0eUNvbmRp
dGlvbi5jcHAKK2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAogYnl0ZWNvZGUvUHJv
eHlhYmxlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKIGJ5dGVjb2Rl
L1B1dEJ5SWRTdGF0dXMuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTk1Myw2ICs5NTMsOTAgQEAgdm9pZCBET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0OjpmaW5pc2hD
cgogICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcoJnZtLCAiZnVuYyIpLCAwLCBzYWZlRnVuY3Rpb24sIE5vSW50cmluc2lj
LCAmRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdFNpZ25hdHVyZSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkpOwogfQogCitjbGFzcyBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QgOiBwdWJsaWMgRE9NSklUTm9kZSB7CitwdWJsaWM6CisgICAgRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAg
IDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIHsKKyAgICB9CisKKyAgICBERUNMQVJFX0lORk87
CisgICAgdXNpbmcgQmFzZSA9IERPTUpJVE5vZGU7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTQzo6SlNUeXBl
KExhc3RKU0NPYmplY3RUeXBlICsgMSksIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9
CisKKyAgICBzdGF0aWMgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICB7CisgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09i
amVjdCogZ2V0dGVyID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RE9NSklUR2V0dGVyQmFz
ZUpTT2JqZWN0Pih2bS5oZWFwLCBzaXplb2YoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSkpIERP
TUpJVEdldHRlckJhc2VKU09iamVjdCh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgZ2V0dGVyLT5m
aW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBnZXR0ZXI7CisgICAgfQorCisgICAg
Y2xhc3MgRE9NSklUQXR0cmlidXRlIDogcHVibGljIERPTUpJVDo6R2V0dGVyU2V0dGVyIHsKKyAg
ICBwdWJsaWM6CisgICAgICAgIGNvbnN0ZXhwciBET01KSVRBdHRyaWJ1dGUoKQorICAgICAgICAg
ICAgOiBET01KSVQ6OkdldHRlclNldHRlcigKKyAgICAgICAgICAgICAgICBET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3Q6OmN1c3RvbUdldHRlciwKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICAgICAg
ICAgICZjYWxsRE9NR2V0dGVyLAorI2Vsc2UKKyAgICAgICAgICAgICAgICBudWxscHRyLAorI2Vu
ZGlmCisgICAgICAgICAgICAgICAgU3BlY0ludDMyT25seSkKKyAgICAgICAgeworICAgICAgICB9
CisKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBzbG93Q2FsbChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAg
IHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBKU09iamVjdCog
b2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNPYmplY3QqPihwb2ludGVyKTsKKyAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAg
ICAgIH0KKworICAgICAgICBzdGF0aWMgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+
IGNhbGxET01HZXR0ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBSZWY8RE9NSklUOjpDYWxs
RE9NR2V0dGVyU25pcHBldD4gc25pcHBldCA9IERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ6
OmNyZWF0ZSgpOworICAgICAgICAgICAgc25pcHBldC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9IGZh
bHNlOworICAgICAgICAgICAgc25pcHBldC0+c2V0R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBlcnMm
IGppdCwgU25pcHBldFBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJl
Z3MgcmVzdWx0cyA9IHBhcmFtc1swXS5qc1ZhbHVlUmVncygpOworICAgICAgICAgICAgICAgIEdQ
UlJlZyBkb20gPSBwYXJhbXNbMV0uZ3ByKCk7CisgICAgICAgICAgICAgICAgcGFyYW1zLmFkZFNs
b3dQYXRoQ2FsbChqaXQuanVtcCgpLCBqaXQsIHNsb3dDYWxsLCByZXN1bHRzLCBkb20pOworICAg
ICAgICAgICAgICAgIHJldHVybiBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KCk7CisKKyAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIHNuaXBwZXQ7CisgICAgICAgIH0KKyNlbmRpZgor
ICAgIH07CisKK3ByaXZhdGU6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworCisgICAg
c3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKKyAgICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBqc0R5bmFtaWND
YXN0PEpTT2JqZWN0Kj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQodGhpc09iamVjdCk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUodGhpc09iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgIH0KK307CisKK3N0YXRp
YyBjb25zdCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01KSVRH
ZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisKK3ZvaWQgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OworICAgIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0RE9NSklUOworICAgIGF1dG8qIGN1c3RvbUdldHRlclNldHRlciA9IERPTUF0
dHJpYnV0ZUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBudWxscHRy
LCBET01BdHRyaWJ1dGVBbm5vdGF0aW9uIHsgSlNPYmplY3Q6OmluZm8oKSwgZG9tSklUIH0pOwor
ICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2
bSwgImN1c3RvbUdldHRlciIpLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nvcik7Cit9CisKIGNv
bnN0IENsYXNzSW5mbyBFbGVtZW50OjpzX2luZm8gPSB7ICJFbGVtZW50IiwgJkJhc2U6OnNfaW5m
bywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShFbGVtZW50KSB9OwogY29u
c3QgQ2xhc3NJbmZvIE1hc3F1ZXJhZGVyOjpzX2luZm8gPSB7ICJNYXNxdWVyYWRlciIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFzcXVlcmFk
ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gUm9vdDo6c19pbmZvID0geyAiUm9vdCIsICZCYXNlOjpz
X2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsKQEAg
LTk2NSw2ICsxMDQ5LDcgQEAgY29uc3QgQ2xhc3NJbmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9IHsg
IgogI2VuZGlmCiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyOjpzX2luZm8gPSB7ICJET01K
SVRHZXR0ZXIiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKERPTUpJVEdldHRlcikgfTsKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXJDb21w
bGV4OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJDb21wbGV4IiwgJkJhc2U6OnNfaW5mbywgbnVs
bHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJDb21wbGV4KSB9
OworY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6c19pbmZvID0geyAi
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0
ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAjaWYg
RU5BQkxFKEpJVCkKIGNvbnN0IENsYXNzSW5mbyBET01KSVRGdW5jdGlvbk9iamVjdDo6c19pbmZv
ID0geyAiRE9NSklURnVuY3Rpb25PYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCAmRE9N
SklURnVuY3Rpb25PYmplY3Q6OmNoZWNrU3ViQ2xhc3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9EX1RB
QkxFKERPTUpJVEZ1bmN0aW9uT2JqZWN0KSB9OwogI2Vsc2UKQEAgLTEwNjYsNiArMTE1MSw3IEBA
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uQ3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xh
c3NPYmplY3QoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqKTsKIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbihF
eGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
Q3JlYXRlR2xvYmFsT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqKTsK
QEAgLTExNzcsNiArMTI2Myw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uV2FpdEZv
clJlcG9ydChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uSGVhcENhcGFjaXR5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25GbGFzaEhlYXBBY2Nlc3MoRXhlY1N0YXRlKik7CitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0
dGVyU2V0dGVyKEV4ZWNTdGF0ZSopOwogCiBzdHJ1Y3QgU2NyaXB0IHsKICAgICBlbnVtIGNsYXNz
IFN0cmljdE1vZGUgewpAQCAtMTM4Miw2ICsxNDY5LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBh
ZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QiLCBmdW5jdGlv
bkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlv
bih2bSwgImNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRG
dW5jdGlvbk9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
Q2hlY2tTdWJDbGFzc09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09i
amVjdCwgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUR2V0dGVyQmFz
ZUpTT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QsIDApOwog
ICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUJ1aWx0aW4iLCBmdW5jdGlvbkNyZWF0ZUJ1
aWx0aW4sIDIpOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUdsb2JhbE9iamVjdCIs
IGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0s
ICJzZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSIsIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdh
dGUsIDIpOwpAQCAtMTQ2Niw2ICsxNTU0LDggQEAgcHJvdGVjdGVkOgogCiAgICAgICAgIGFkZEZ1
bmN0aW9uKHZtLCAiaGVhcENhcGFjaXR5IiwgZnVuY3Rpb25IZWFwQ2FwYWNpdHksIDApOwogICAg
ICAgICBhZGRGdW5jdGlvbih2bSwgImZsYXNoSGVhcEFjY2VzcyIsIGZ1bmN0aW9uRmxhc2hIZWFw
QWNjZXNzLCAwKTsKKworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImxvYWRHZXR0ZXJGcm9tR2V0
dGVyU2V0dGVyIiwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlciwgMSk7CiAgICAg
fQogICAgIAogICAgIHZvaWQgYWRkRnVuY3Rpb24oVk0mIHZtLCBKU09iamVjdCogb2JqZWN0LCBj
b25zdCBjaGFyKiBuYW1lLCBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgdW5zaWduZWQgYXJndW1l
bnRzKQpAQCAtMjExNSw2ICsyMjA1LDE2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKK0Vu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QoRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Cisg
ICAgSlNMb2NrSG9sZGVyIGxvY2sodm0pOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gRE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSwganNOdWxsKCkpOworICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdCog
cmVzdWx0ID0gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworfQorCisKIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3Rh
dGUqIGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTI4MzIsNiArMjkzMiwx
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRmxhCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIFJFTEVBU0VfQVNTRVJUKGV4
ZWMtPmFyZ3VtZW50Q291bnQoKSA+PSAxKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIGdldHRlclNldHRl
ciA9IGpzRHluYW1pY0Nhc3Q8R2V0dGVyU2V0dGVyKj4odm0sIGV4ZWMtPmFyZ3VtZW50KDApKTsK
KyAgICBSRUxFQVNFX0FTU0VSVChnZXR0ZXJTZXR0ZXIpOworICAgIEpTT2JqZWN0KiBnZXR0ZXIg
PSBnZXR0ZXJTZXR0ZXItPmdldHRlcigpOworICAgIFJFTEVBU0VfQVNTRVJUKGdldHRlcik7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShnZXR0ZXIpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBWYWx1ZVR5cGU+CiB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZjwhc3RkOjppc19mdW5kYW1lbnRh
bDxWYWx1ZVR5cGU+Ojp2YWx1ZT46OnR5cGUgYWRkT3B0aW9uKFZNJiwgSlNPYmplY3QqLCBJZGVu
dGlmaWVyLCBWYWx1ZVR5cGUpIHsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNTksNiAr
MTA1OSw3IEBACiAJCTc5MTlCNzgwMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MTlCNzdGMUUwMzU1
OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3OTIzM0MyQjFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElD
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTIzM0My
OTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzkyQ0IzNEExQzRFRUQ1QzAwRDEzQUYzIC8qIFBD
VG9Db2RlT3JpZ2luTWFwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3OTQ1NzVD
RTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYw
MyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTc5NjQ2NTZBMUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY0
NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjVDMjE3MUU1RDc5OTYwMEI3NTkxRCAv
KiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NUMyMTUxRTVENzk5NjAwQjc1OTFEIC8q
IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2REFBMkIxRTg5Q0NENjAwNURGMjRB
IC8qIENhbGxlZUJpdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5NkRBQTJBMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM0OTgsNiArMzQ5OSw4
IEBACiAJCTc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUTWF0aElDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTc5MkNCMzQ3MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1h
cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ4MUM0RUVENUMwMEQx
M0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNz
Q2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvdG90eXBlQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk1RjA5OUMxRTAzNjAwNTAwQkJFMzdGIC8qIEIzQ29tcGls
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBCM0NvbXBpbGUuY3Bw
OyBwYXRoID0gYjMvQjNDb21waWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Nzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR2V0UHV0SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3OTY1QzIxNDFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdy
YXBoQ29sb3JpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQWly
QWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOyBwYXRoID0gYjMvYWlyL0FpckFs
bG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTczNjUsNiArNzM2OCw4IEBACiAJCQkJMTRBRDkxMEExRENBOTI5NDAwMTRGOUZF
IC8qIFByb2dyYW1Db2RlQmxvY2suaCAqLywKIAkJCQkwRkQzRTQwNzFCNjE4QjY2MDBDODBFMUUg
LyogUHJvcGVydHlDb25kaXRpb24uY3BwICovLAogCQkJCTBGRDNFNDA4MUI2MThCNjYwMEM4MEUx
RSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAorCQkJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYw
MyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8sCisJCQkJNzk0NTc1Q0QxRjczNDk3MjAw
QkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8sCiAJCQkJMEYxNUNEMjAxQkE1Rjk4
NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5jcHAgKi8sCiAJCQkJMEYxNUNEMjExQkE1Rjk4NjAw
MzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5oICovLAogCQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1RjND
NiAvKiBQdXRCeUlkU3RhdHVzLmNwcCAqLywKQEAgLTg1NTQsNiArODU1OSw3IEBACiAJCQkJQTFC
OUUyM0UxQjRFMEQ2NzAwQkM3RkVEIC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTE4MTkzRTQxQjRFMENEQjAwRkMxMDI5IC8qIEludGxDb2xsYXRvclByb3Rv
dHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDZFMUI0REMxNDEwMEQ2OTg0OSAv
KiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCTc5NDU3NUNFMUY3MzQ5
NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENzAxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3NTFCNERDMUM2MDBENjk4NDkgLyogSW50bERh
dGVUaW1lRm9ybWF0Q29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3
MjFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmggaW4gSGVh
ZGVycyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFt
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWls
dGluTmFtZXMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBA
QCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElB
TElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1w
bCBkb2xsYXJWTVByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6
c19mbGFnSXNQcml2YXRlIH07CitTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2Nv
cmVQcm90b1ByaXZhdGVOYW1lIHsgIlByaXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1w
bDo6c19mbGFnSXNQcml2YXRlIH07CiAKIH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFt
ZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5O
YW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWls
dGluTmFtZXMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAg
SlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVf
QlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJ
bXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9s
SW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpF
X1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZCht
XyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3
IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hf
V0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwg
bV9kb2xsYXJWTU5hbWUoSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAg
ICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGlj
X2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAg
ICAgLCBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0s
ICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUpKSkKICAgICB7CiAgICAgICAgIEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFN
RShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9O
X1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFU
RV9UT19QVUJMSUNfRU5UUlkpCkBAIC0yMzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAgICBK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklU
SUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9fUFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRl
VG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFyVk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZN
TmFtZSk7CiAgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5p
bXBsKCksICZtX2RvbGxhclZNUHJpdmF0ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1Ymxp
Y01hcC5hZGQobV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVu
dGlmaWVycy0+dW5kZXJzY29yZVByb3RvKTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAu
YWRkKGNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNj
b3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAgICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciogbG9v
a1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3
IEBAIHB1YmxpYzoKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxM
X0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0
IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9k
b2xsYXJWTU5hbWU7IH0KICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0
ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25z
dCBKU0M6OklkZW50aWZpZXImIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAgIElk
ZW50aWZpZXIgbV9lbXB0eUlkZW50aWZpZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToK
ICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJP
TChERUNMQVJFX0JVSUxUSU5fU1lNQk9MUykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9k
b2xsYXJWTU5hbWU7CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRl
TmFtZTsKKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZTsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29u
c3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAg
QnVpbHRpbk5hbWVzTWFwIG1fcHVibGljVG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01h
cCBtX3ByaXZhdGVUb1B1YmxpY01hcDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUs
MzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBBY2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0
IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0KQorQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwg
c3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFp
bikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9w
cm90b3R5cGVBY2Nlc3NDaGFpbihXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAg
ICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1f
Y29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0OwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikK
IHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNz
OgorICAgICAgICBicmVhazsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5n
TGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVk
QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgTW9kdWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNl
IFJlcGxhY2U6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAg
ICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBv
d25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0g
ICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAg
IFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVjdHVyZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQo
KSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vz
c0Nhc2U6OgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNp
dGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFu
c2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0x
MzUsNyArMTM4LDkgQEAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwog
ICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1
cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAg
ICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisg
ICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQor
ICAgICAgICAvLyBPT1BTOiBhZGQgYSB0ZXN0IGZvciB0aGlzCisgICAgICAgIHx8IChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9w
ZXJ0eVdhdGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hw
b2ludFNldEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNl
dCgpKQpAQCAtMTUxLDYgKzE1Niw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0
dXJlQ2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwog
ICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0
cmluZ0xlbmd0aDoKQEAgLTIxMCw2ICsyMTgsMTggQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBs
YWNlKGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNl
T2JqZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAg
ICBkZWZhdWx0OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikg
eworICAgICAgICAgICAgaWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkg
Y2hlY2sgd2UgbmVlZCBzaW5jZSBQcm90b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFz
ZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250
YWluIG9ubHkgdGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQor
ICAgICAgICAgICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAg
ICAgICByZXR1cm4gKm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90eXBl
QWNjZXNzQ2hhaW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVy
ZUNoZWNrKCkgfHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI2IEBAIGJvb2wgQWNjZXNzQ2FzZTo6
Y2FuUmVwbGFjZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0
LnByaW50KCJcbiIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAK
ICAgICBvdXQucHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFu
c2l0aW9uKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVy
RHVtcChzdHJ1Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsK
LSAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3Ry
dWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChp
c1ZhbGlkT2Zmc2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0
ID0gIiwgbV9vZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwog
CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIG91dC5wcmludChjb21t
YSwgInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsK
KyAgICBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAg
ICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJl
KCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2Ug
aWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJl
ID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1w
SW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjcs
MTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlm
IChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4t
PmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYg
KCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDMsMTEgQEAgYm9vbCBBY2Nlc3ND
YXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAg
ICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlm
IChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVz
dWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dp
dGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjpp
c01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3Miwy
NiArNDA3LDY1IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQog
CiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1
cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAg
ICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhz
Y3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikg
eworICAgICAgICAgICAgaWYgKG1fdHlwZSA9PSBTZXR0ZXIpCisgICAgICAgICAgICAgICAgZGF0
YUxvZ0xuKCJFbWl0dGluZyBzZXR0ZXIgdmlhIHBvbHkgcHJvdG8hIik7CisKKyAgICAgICAgICAg
IEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAg
IGppdC5tb3ZlKHN0YXRlLmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCku
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKClbaV07CisgICAgICAgICAgICAgICAgYm9vbCBh
dEVuZCA9IGkgKyAxID09IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkuc2l6ZSgpOwor
ICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAg
aml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgIGlmIChhdEVu
ZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBNaXNzIHx8IG1fdHlwZSA9
PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmICFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9C
YXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwg
YmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90
b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0
KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+
aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlwZS4g
V2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7
CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChv
ZmZzZXQpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQ
Uiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2Fs
bEhlbHBlcnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW02NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICBp
ZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAg
ICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndh
cmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNo
R1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwMiw4IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQobV9jb25kaXRpb25TZXQuc3Ry
dWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSk7
CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBjb25kaXRpb24gOiBt
X2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9wcm90b3R5cGVBY2Nl
c3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25kaXRpb24ub2Jq
ZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25kaXRpb24uaXNXYXRjaGFibGVB
c3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC01MDQsMTMgKzU4MCwxOSBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBi
YXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQ
UjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAg
IGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihh
bHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOworICAgICAgICBp
ZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gVGhpcyBpc24ndCBw
cmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCwKKyAg
ICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNjZXNzIGluc2lkZSBzY3JhdGNo
R1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAgICAgICAgICAvLyBidXQgaXQn
ZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9hZCB0aGUgYmFzZSB0d2ljZS4K
ICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsK
KyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAg
ICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7Cisg
ICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVn
OwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBD
dXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90
eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2LDcgKzEwOTgsNyBAQCB2b2lk
IEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgIAogICAgIGNhc2Ug
SW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFsaWRPZmZzZXQo
b2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2UgbmVlZCB0byBlbnN1cmUgdGhl
IGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIgdXMuIE5vdGUgdGhhdCBHZXR0
ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28gd2UganVzdCBuZWVkIHRvIHdh
dGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBpdC4KICAgICAgICAgU3RydWN0
dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBA
CiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKICNp
bmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTIwLDEx
ICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICAvLyBUaGlz
IGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5zaXRpb25zLgogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwg
UHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLAotICAgICAgICBTdHJ1Y3R1
cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0NlbGwqIG93bmVyLCBTdHJ1Y3R1
cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gISFtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgIH0KKwogcHJv
dGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CisgICAg
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5p
cXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOworICAgIEFjY2Vzc0Nhc2UoQWNjZXNzQ2Fz
ZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJiBvdGhlcikK
KyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAgICAsIG1fc3RhdGUob3RoZXIu
bV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29mZnNldCkKKyAgICAgICAgLCBt
X3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAgLCBtX2NvbmRpdGlvblNldChv
dGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlmIChvdGhlci5tX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG90aGVy
Lm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAgfQorCiAgICAgQWNjZXNzQ2Fz
ZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0
U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAgLTIyNyw2ICsyNDQsOCBAQCBw
cml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwogCiAgICAg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkzLDcg
KzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFMKICAgICAg
ICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNbb3BMZW5ndGggLSAyXS51Lm9w
ZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsgb3BMZW5ndGggLSAxXSA9IG9i
amVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+
aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QuZ2V0
KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBH
ZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3Mudmlh
UHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0
YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVByb3RvKCkpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYWNjZXNz
LnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIs
MTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50ZXJuYWwKIHN0
YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KQorR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmpl
Y3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+
IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNl
LnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAg
IFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFk
ZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVy
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5u
b3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0
ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewog
ICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsMTggKzYzLDE5IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVy
LCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRp
b25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25l
ciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0
aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkp
OwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAgICAgcmVzdWx0
LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRlcjsKICAgICByZXR1cm4gV1RG
TW92ZShyZXN1bHQpOwogfQogCisvLyBPT1BTOiBkbyBzb21ldGhpbmcgaGVyZS4gV2hvIGNhbGxz
IHRoaXM/CiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHBy
b3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21T
ZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBl
ID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9t
QWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBv
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xv
dEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVz
dWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBX
VEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nl
c3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsK
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dl
dHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5
KQpAQCAtNDYsMTggKzQ2LDE1IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW1pdERPTUpJVEdldHRl
cihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmLCBjb25zdCBET01KSVQ6OkdldHRlclNldHRlciosIEdQ
UlJlZyBiYXNlRm9yR2V0R1BSKTsKIAorICAgIC8vIE9PUFM6IGNvbnNpZGVyIHdoYXQgdGhpcyBj
dG9yIGlzIGZvcgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRl
KAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
PSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0g
ZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAot
ICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpT
T2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8
RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09i
amVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlv
bj4sIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9
IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOwor
ICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAK
ICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3Zl
cnJpZGU7CkBAIC02Nyw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3Nv
cigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6
Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2Vs
bCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlv
blByb2ZpbGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxG
dW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJh
c2UoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBK
U09iamVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNT
RVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFz
ZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2Yg
YnVpbHRpbiB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNl
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRy
aW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5j
dGlvbiogaW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2lj
R2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwg
b3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
bnVsbHB0cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJp
bnNpY0Z1bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFj
Y2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIGJvb2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJl
Kik7CiAgICAgdm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYp
OwogCisgICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9w
ZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
LCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNz
Q2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NyArMzgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6
Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVs
ZU5hbWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25t
ZW50KiBtb2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBC
YXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0
ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBN
b2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNl
dCkKIHsKICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVO
YW1lc3BhY2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgi
CisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3Zv
aWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3Ry
dWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVj
dHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBX
aGVuIGdvaW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVh
Y2gKKyAgICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkg
cHJvdG8gb2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzc1MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0
cnVjdG9yKSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0
cnVjdG9yLT5qc0V4ZWN1dGFibGUoKTsKKworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBleGVjdXRhYmxlLT5jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9i
amVjdFR5cGUpOworICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICAg
ICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIG1f
aW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENv
bnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSkt
PmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICBib29sIHBhcmVudFByb3Rv
dHlwZUlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIGlmIChKU09iamVjdCogcHJvdG90eXBl
T2ZQcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZS0+Z2V0
UHJvdG90eXBlRGlyZWN0KCkpKSB7CisgICAgICAgICAgICBwYXJlbnRQcm90b3R5cGVJc1BvbHlQ
cm90byA9IHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5oYXNSYXJlRGF0YSgp
CisgICAgICAgICAgICAgICAgJiYgcHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSkt
PnJhcmVEYXRhKCktPmluZmVycmVkQ29uc3RydWN0b3IoKQorICAgICAgICAgICAgICAgICYmIHBy
b3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5pbmZlcnJlZENv
bnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9CisKKyAgICAgICAg
aW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGlu
ZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworCisg
ICAgICAgIGlzUG9seVByb3RvID0gKGluZmVycmVkQ29uc3RydWN0b3ItPmhhc0JlZW5JbnZhbGlk
YXRlZCgpIHx8IHBhcmVudFByb3RvdHlwZUlzUG9seVByb3RvKSAmJiBleGVjdXRhYmxlLT5zaW5n
bGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgaWYgKE9wdGlv
bnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7Cisg
ICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJl
ZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkp
IHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBh
bmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1
bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwg
c28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAg
ICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4g
d2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVs
c2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5s
aW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3
ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAg
ICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsK
KyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxh
cmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFj
aXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgewor
ICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6
bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsK
KyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5s
aW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAg
ICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShp
bmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxs
U3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50
YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3Mu
CisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3It
PmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25v
d24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAg
ICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsK
KyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0
eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5s
aW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3Ro
ZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3Jl
YXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8p
IHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAg
ICAgICAgY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgpLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAg
ICB9IGVsc2UKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CisKKyAgICBtX3N0cnVj
dHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5lQ2FwYWNpdHkgPSBp
bmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBv
c3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKQor
eworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0
UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90IGNvdW50ID0gMDsK
KyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFt
ZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Cisg
ICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUo
dm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7CisgICAgUHJvcGVydHlO
YW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHBy
b3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVW
ZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVz
dWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAg
ICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCisgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQorICAgIHJldHVybiBjb3Vu
dDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lk
IGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwq
IG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFj
aXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0gICAgICAgIEFTU0VS
VCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOwotCi0g
ICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
ewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRp
YyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2li
bGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAgICAgICAgICAgaWYg
KCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAgLy8gRW1wdHkgb2Jq
ZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRp
ZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlv
bi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAg
ICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAg
ICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxv
dyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9iamVjdCBpbnRvIGEg
bGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAg
ICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBOb3JtYWwgb3Ig
bGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFj
aXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotCi0gICAgICAgIHNp
emVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGlu
ZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxs
U3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAgCi0gICAgICAgIC8v
IFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhl
IHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAgICAgICAgIHNpemVf
dCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVv
ZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0g
c2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKLQot
ICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1
cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0
b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKLSAgICAgICAg
bV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAgICAgbV9pbmxpbmVD
YXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGluaXRpYWxpemVQcm9m
aWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwg
SlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNG
dW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFy
KCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0gMDsKKyAgICAgICAgbV9hbGxvY2F0b3Ig
PSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5jbGVhcigpOwogICAgICAgICBtX2lubGlu
ZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlzTnVsbCgpKTsKQEAgLTEyNiwyNyArNzQs
NyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQ
cm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAgICAg
IGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90
eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQgPSAw
OwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFByb3Bl
cnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5jbHVk
ZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9t
U3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwotICAg
ICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlO
YW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3Io
KTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERp
cmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVuY3Rp
b25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQg
YXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5j
dGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAg
ICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAgfQor
ICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVj
dCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFBy
ZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0
aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFi
c2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJl
c3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlKAogICAgICAgICAgICAgdm0s
IG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRp
dGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5j
ZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0
LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsK
QEAgLTI1OCw2ICsyNjIsMTIgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVD
b25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5c
biIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZh
bGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFBy
b3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAg
IEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmpl
Y3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBo
aWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAg
ICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0
KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAg
ICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0
KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZz
dHViSW5mbzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhp
Y0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTcx
LDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3Rh
dGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0pCisgICAgQWNjZXNzR2VuZXJh
dGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAg
OiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAg
ICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2FsbEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZh
bHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVSZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxz
ZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0ZUluZGV4KGZhbHNlKQogICAgIHsKICAg
ICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0Owog
ICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9OwogICAgIFNjcmF0Y2hSZWdpc3RlckFs
bG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6UHJlc2Vy
dmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJTdGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5
Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNywxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNl
cnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdl
IGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGlu
dGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAg
ICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBp
ZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkKQEAgLTEzMiw2ICsxNDAsMTQg
QEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAg
ICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdzIGEgZGljdGlvbmFyeS5cbiIpOwogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0cmlidXRlczsKICAgICAgICAgUHJvcGVy
dHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgp
LCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVz
cGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
ZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8p
Cit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNs
b3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgYmFzZSwgdGFy
Z2V0LCB1c2VzUG9seVByb3RvKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vz
c0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQ
cm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNl
LT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90byA9
IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1
bHQobmV3IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAg
ICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1By
b3h5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0
dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNP
YmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVm
b3JlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0
cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQp
KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQoc3RydWN0dXJl
KTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5k
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ug
b25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlwZSB2
aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJhc2Ug
aXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4sIGFu
ZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAvLyBw
b2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHBy
b3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0g
YXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0
KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jv
b2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBj
b25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
UHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hh
aW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWluID09IG90aGVyLm1fY2hhaW47
Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkg
Y29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlBvbHlQcm90b3R5cGVBY2Nlc3NDaGFpbiIpOworICAg
IG91dC5wcmludCgiOiBbXG4iKTsKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9j
aGFpbikgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVt
cChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAgfQorICAgIG91dC5wcmludCgi
XSIpOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1l
c3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmplY3Q7CitjbGFzcyBKU09iamVjdDsKK2Ns
YXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVyZTsKKworY2xhc3MgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByb3RvdHlwZUFjY2Vzc0NoYWluKTsKKworcHVibGljOgorICAgIFByb3RvdHlw
ZUFjY2Vzc0NoYWluKFByb3RvdHlwZUFjY2Vzc0NoYWluJikgPSBkZWZhdWx0OworCisgICAgLy8g
UmV0dXJucyBudWxscHRyIHdoZW4gaW52YWxpZC4KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5
UHJvdG8pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+
IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIEpTT2Jq
ZWN0KiB0YXJnZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8pOworCisgICAgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjbG9uZSgpCisgICAgeworICAgICAgICByZXR1cm4gc3Rk
OjptYWtlX3VuaXF1ZTxQcm90b3R5cGVBY2Nlc3NDaGFpbj4oKnRoaXMpOworICAgIH0KKworICAg
IGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NoYWlu
OyB9CisgICAgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIHsgcmV0dXJuIG1fY2hhaW47IH0g
Ly8gT09QUzogdGhpcyBpcyB1Z2x5LCBiZXR0ZXIgc29sdXRpb24gZm9yIFRyYW5zaXRpb24hCisK
KyAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsKKyAgICBib29s
IG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKworICAgIGJvb2wg
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0OworCitwcml2YXRlOgorICAgIFBy
b3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAgVmVjdG9yPFN0cnVjdHVyZSo+
IG1fY2hhaW47IC8vIEluY2x1ZGVzIGJhc2UncyBzdHJ1Y3R1cmUgZm9yIG5vdywgYnV0IHBlcmhh
cHMgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZC4KK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFi
bGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nl
c3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNj
ZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRp
dGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAg
IEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVy
KTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6
On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFz
cyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAg
IHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwog
CiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7
IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFs
c2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9v
bCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0
ciwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAg
ICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJy
aWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJy
aWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2Uo
KTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBB
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwg
UHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBt
X3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRT
dGF0dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
dXRCeUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiAr
MTg0LDggQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAg
ICAgICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAgICAg
ICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRT
dGF0dXMoc2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJv
dG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRl
KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsKICAg
ICAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzM3LDYgKzM3
MzcsMTEgQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAgICAgICAgICAgICAgLy8g
dGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0KCkgYWdyZWUgb24gdGhl
IHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAvLyBoaWxhcmlvdXNseSBy
YXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5aW5nIG9uIHN0cnVjdHVy
ZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBU
aGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhvdyBHZXRCeUlkU3RhdHVz
L1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiByaWdodCBu
b3csIGlmIHdlIGhhdmUgYW4gT1BDUywgd2UgaGF2ZSBtb25vIHByb3RvLiBIb3dldmVyLCB0aGlz
IHdpbGwKKyAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVy
ZSBvbmNlIHdlIGhhdmUgYSBoeWJyaWQgZGF0YSBzdHJ1Y3R1cmUgZm9yCisgICAgICAgICAgICAg
ICAgLy8gcG9seSBwcm90bzoKKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHBy
b3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNpemUo
KTsgKytpKSB7CkBAIC00MzM0LDEyICs0MzM5LDE2IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlvbikgewogICAgICAgICAg
ICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0
YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJh
cmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9m
aWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxs
ZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAgICAgICAgICAgICAgICAg
ICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAg
c2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRk
VG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVj
dHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUgdG8g
YWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExh
emlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0
aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRv
bSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVj
dCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNw
cAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFw
aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJvb2wgR3JhcGg6OmNh
bkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90
b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdpbi5zZW1hbnRpYykt
PmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICB2YWx1ZS5t
X3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpIHsK
LSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5
UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJh
eVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkKICAg
ICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVydHlOYW1l
cy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAgICAgICAm
JiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNTc2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlvblR5
cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3Ry
dWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3RydWN0RW1w
dHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVj
dHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiByZXN1
bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1
dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rp
b24qPihjb25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOwor
ICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25z
dHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDAsNyArNDMwMCw5IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBw
ZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BS
KSk7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFH
UFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSAr
IE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9y
R1BSKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0
YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgp
ICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1
cmVHUFIpOworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1h
Y3JvQXNzZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2Nh
dGVKU09iamVjdChyZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BS
LCBUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAg
ICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5j
dGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlUHV0QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFs
dWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2Ny
YXRjaDJSZWcpCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVj
dChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2Ny
YXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAg
Ly8gQ2hlY2sgdGhhdCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hl
Y2soQmFkVHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJv
dG90eXBlUmVnKSk7CkBAIC0zMjQ5LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2pp
dCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9
IG1faml0LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwg
VHJ1c3RlZEltbTMyKFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0
dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0g
ICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1
Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVn
KTsKKyAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywg
c2NyYXRjaDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3Nl
bWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSAr
IENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNl
dCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNo
SWZOb3RJbnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOworICAgIG1faml0Lnplcm9FeHRl
bmQzMlRvUHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7CisgICAgbV9qaXQubG9hZDY0KEpJ
VENvbXBpbGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIEpJVENvbXBpbGVy
OjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCBzY3JhdGNo
M1JlZyk7CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5tb3ZlKHNj
cmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzSW5z
dGFuY2UgPSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBzY3JhdGNoUmVn
LCBwcm90b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9qaXQuYnJhbmNoSWZD
ZWxsKEpTVmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8obG9vcCwgJm1faml0KTsKQEAgLTMz
ODEsMTAgKzMzODgsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2Yo
TgogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90b3R5cGUodGhpcywgbm9kZS0+Y2hp
bGQyKCkpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICAgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDMo
dGhpcyk7CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBl
LmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAg
ICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgICAgICBHUFJSZWcg
c2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAgICAgCiAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElmQ2VsbCh2YWx1ZS5qc1ZhbHVlUmVn
cygpKTsKICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuanNWYWx1ZVJlZ3MoKS5wYXls
b2FkR1BSKCk7CkBAIC0zMzk0LDcgKzM0MDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlSW5zdGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBpc0NlbGwubGluaygmbV9qaXQpOwog
ICAgICAgICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVS
ZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgICAgICBjb21w
aWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogICAgICAgICAKICAgICAgICAgZG9u
ZS5saW5rKCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTYsMTUgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNo
KHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJUZW1wb3Jh
cnkgc2NyYXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuZ3By
KCk7CiAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICBHUFJS
ZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0g
c2NyYXRjaDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7
CiAgICAgCi0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHBy
b3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgIGNvbXBpbGVJbnN0YW5j
ZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNj
cmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVzc2VkQm9vbGVhblJlc3VsdChzY3Jh
dGNoUmVnLCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNzU5LDcgKzc1
OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVTdHJpY3RF
cShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgYm9vbCBub25TcGVjdWxhdGl2ZVN0
cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICAKLSAgICB2b2lkIGNvbXBp
bGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90
b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcp
OworICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1
ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQ
UlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKTsKICAgICB2b2lkIGNvbXBpbGVJ
bnN0YW5jZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mQ3VzdG9tKE5vZGUq
KTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0Iz
LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTY5LDEwICs4OTY5LDEyIEBAIHBy
aXZhdGU6CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBpc0NlbGxDYXNlID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9vcCA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVCaXRzID0gbV9vdXQubmV3QmxvY2so
KTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90byA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5cGUgPSBtX291dC5uZXdCbG9jaygp
OwogICAgICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5jZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7
Ci0gICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0g
ICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJlY3QgPSBtX291dC5uZXdCbG9jaygp
OwogICAgICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5zdGFuY2VTbG93ID0gbV9vdXQubmV3
QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3Qmxv
Y2soKTsKICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25kaXRpb247CiAgICAgICAgIGlmICht
X25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNlKQpAQCAtODk5MCwxNiArODk5
MiwyOCBAQCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbFZhbHVlID0g
bV9vdXQuYW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5qdW1wKGxvb3ApOwogICAgICAgICAK
LSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZURpcmVjdCk7CisgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVCaXRzKTsKICAgICAgICAgTFZh
bHVlIHZhbHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5hbFZhbHVlKTsKICAgICAgICAgTFZh
bHVlIHR5cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1ZSwgbV9oZWFwcy5KU0NlbGxfdHlw
ZUluZm9UeXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQubm90
RXF1YWwodHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9iamVjdFR5cGUpKSwKLSAgICAgICAg
ICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFu
Y2VTbG93KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVCaXRzKSwgcmFyZWx5
KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb2Fk
UHJvdG90eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRv
KGxvYWRQcm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsKICAgICAgICAgTFZhbHVlIHN0cnVj
dHVyZSA9IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAgICBMVmFsdWUgY3VycmVudFByb3Rv
dHlwZSA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlw
ZSk7CisKKyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMgPSBtX291dC5sb2FkNjQoc3RydWN0
dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworICAgICAgICBWYWx1ZUZyb21CbG9j
ayBkaXJlY3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90b3R5cGVCaXRzKTsKKyAgICAgICAg
bV9vdXQuYnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyksIHVuc3VyZShsb2FkUG9seVByb3Rv
KSwgdW5zdXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhs
b2FkUG9seVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAgICAgICAgTFZhbHVlIGluZGV4ID0g
bV9vdXQuYml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNvbnN0SW50NjQoVUlOVF9NQVgpKTsK
KyAgICAgICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0gbV9vdXQuYW5jaG9yKAorICAgICAg
ICAgICAgbV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleChtX2hlYXBzLnByb3BlcnRpZXMuYXRB
bnlOdW1iZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJ
bmxpbmVTdG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29tcGFyZVByb3RvdHlwZSk7
CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVByb3RvdHlwZSwgbm90WWV0SW5zdGFu
Y2UpOworICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LnBoaShJbnQ2NCwg
ZGlyZWN0UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGlzSW5z
dGFuY2VSZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhblRydWUpOwogICAgICAgICBt
X291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVhbChjdXJyZW50UHJvdG90eXBlLCBw
cm90b3R5cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDEzIEBAIHZvaWQgSklUOjplbWl0
X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8vIExvYWQgdGhlIHByb3RvdHlwZSBv
ZiB0aGUgb2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBlcXVhbCB0byByZWdUMSAtIFdJTiEK
ICAgICAvLyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2UgaGF2ZSB0
aGVuIGRyb3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28gYWdhaW4uCi0gICAgZW1pdExvYWRT
dHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMpOwotICAgIGxvYWQ2NChBZGRyZXNz
KHJlZ1QyLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDIpOworICAgIGVtaXRM
b2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJlZ1QzKTsKKyAgICBsb2FkNjQoQWRk
cmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1Q0KTsKKyAgICBh
dXRvIGhhc1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3MocmVn
VDQpKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwgcmVnVDQpOworICAgIGxvYWQ2NChC
YXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxp
bmVTdG9yYWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVkUHJvdG90eXBlLmxpbmsodGhpcyk7
CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJbnN0YW5jZSA9IGJyYW5jaFB0
cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElmSlNDZWxsKHJlZ1QyKS5saW5r
VG8obG9vcCwgdGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRj
aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNw
cAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkg
PyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xv
dC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIz
ICsyNTcsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBz
dHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3Qq
PihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAg
IGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVy
dHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1
cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0g
ICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVy
dHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9w
ZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0
dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5p
bXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNv
bmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBm
YWxzZTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNz
Q2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90
LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4p
IHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFs
aWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAg
ICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVz
ZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMu
CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAg
ICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNv
bmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlO
YW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAg
ICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlI
aXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFt
ZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29u
ZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9u
Q2FjaGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNl
dCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAog
ICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAg
ICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVC
bG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZy
b21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2Fk
VGFyZ2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpj
YW5FbWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5l
d0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xv
dC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAg
ICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVy
ZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNh
bml0eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNo
ZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3
b3VsZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4g
dHlwZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9
IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNh
Y2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAg
ZWxzZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJs
ZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0g
UHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgp
ID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAg
ICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHks
IHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50
U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAg
ICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAg
ICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNo
cG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIo
KSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20o
KSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0
dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAt
Mzg2LDYgKzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQK
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2Vs
bCgpOwogCiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVh
YmxlUHV0KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6
RXhpc3RpbmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODcgQEAgc3RhdGljIElubGluZUNh
Y2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1
cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlz
T2JqZWN0KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1
dEtpbmQgPT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAg
ICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNz
KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0
dXJlLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0Lmlz
VmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWlu
OjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwg
dXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMg
cHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAodXNlc1BvbHlQ
cm90bykKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKClb
MF0gPSBzdHJ1Y3R1cmU7IC8vIE9PUFMgc28gaGFja3khCisgICAgICAgICAgICAgICAgZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAg
IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50Lmlt
cGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAg
ICAgICAgIH0KKwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNz
Q2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCk7CisgICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3Jl
YXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgc2xvdC5pc0NhY2hlYWJsZVNl
dHRlcigpKSB7CiAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsKICAgICAg
ICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKKyAgICAgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW47CiAKICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKLSAg
ICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdEN1c3RvbSgKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlk
ZW50LmltcGwoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgp
KQorICAgICAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAg
ICAgICAgIC8vIE9PUFM6IHRlc3QgdGhpcyEKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nl
c3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAg
ICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAg
ICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAg
ICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAg
ICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0
aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50
LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxv
Y2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JT
ZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlk
T2Zmc2V0LCBjb25kaXRpb25TZXQsCi0gICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIo
KSwgc2xvdC5iYXNlKCkpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXND
dXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nl
c3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAg
ICAgICAgICAgICAgIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiks
IHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAg
ICAgICBpZiAoc2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29u
ZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
dG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2Nr
LCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAg
ICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29s
IHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAg
ICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Ci0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgp
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90
bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7
CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAgICAg
ICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvZmZzZXQgPT0gY29u
ZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCkpOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFjY2Vz
c0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCk7CisgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9m
ZnNldCwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTUxNywxNSArNTc1LDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFj
dGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgCisgICAgc3RkOjp1bmlx
dWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKICAgICBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CiAgICAgaWYgKHdhc0ZvdW5k
KSB7Ci0gICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0gYmFzZSkgewotICAgICAgICAgICAg
Y29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQo
Ci0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNs
b3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0g
YmFzZSkgeyAKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAg
ICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRl
KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7
CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAg
ICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAg
ICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50
LmltcGwoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAg
ICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAg
ICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7Cisg
ICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBwcm90b3R5cGVBY2Nl
c3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgaWYgKCFwcm90
b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2Vz
cyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAg
ICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICBjb25kaXRp
b25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICB9CiAgICAgfQogICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CkBAIC01MzMsNyArNjExLDcgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBMT0dfSUMoKElDRXZlbnQ6OkluQWRkQWNjZXNzQ2Fz
ZSwgc3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaWRlbnQpKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICB2bSwg
Y29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5N
aXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCk7CisgICAgICAgIHZt
LCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJ
bk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IHJlc3Vs
dCA9IHN0dWJJbmZvLmFkZEFjY2Vzc0Nhc2UobG9ja2VyLCBjb2RlQmxvY2ssIGlkZW50LCBXVEZN
b3ZlKG5ld0Nhc2UpKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYw
LDE2ICs3NjAsMTcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF9ieV9pZAog
ICAgICAgICAgICAgICAgIGlmICghc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSAmJiBzdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1cmUtPm91dE9m
TGluZUNhcGFjaXR5KCkpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+
cHJldmlvdXNJRCgpLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZhbGlkYXRlZCgp
KTsKIAotICAgICAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhl
Yywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzYXdQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgYXV0
byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNhd1Bv
bHlQcm90byk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFByb3Rv
dHlwZUNoYWluICYmICFzYXdQb2x5UHJvdG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBwY1s0XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCkt
PmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNh
Y2hlZE9mZnNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJ
RCA9IHN0cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhd
LnUucHV0QnlJZEZsYWdzICYgUHV0QnlJZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hh
aW4oZXhlYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNo
YWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2Nr
LCBjaGFpbik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
ICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRl
JiBzdGF0ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8m
IHZtID0gc3RhdGUudm0oKTsKLSAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3Rh
dGljIEpTVmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVj
dCwgSlNTdHJpbmcqIHNlcGFyYXRvciwgdWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3
IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAg
ICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
IChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAg
ICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2Jq
ZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAg
ICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0K
QEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0
YXRlCiAgICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIo
dmFsdWUpKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNL
bm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAg
ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAg
ICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYs
NyArODE1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAg
ICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgp
OwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5z
SG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhp
c09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEs
IGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmpl
Y3QpOwpAQCAtODI2LDcgKzgyNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJy
YXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGln
dW91c0RvdWJsZSgpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5n
dGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisg
ICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhp
c09iamVjdC0+YnV0dGVyZmx5KCktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3Ro
ID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBp
ZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhl
YywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAg
c3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwpAQCAtMTE3NCw3ICsxMTczLDcgQEAg
c3RhdGljIGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFy
cmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUo
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFo
YXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgc291cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gc291cmNlLT50cnlHZXRJbmRleFF1aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUp
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJn
dW1lbnRzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkg
QEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1
cm4gMDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1
Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVj
dHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGVPYmplY3QoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0
dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1
cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7
CiAgICAgICAgIEluZGV4aW5nSGVhZGVyIGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRleGlu
Z0hlYWRlci5zZXRWZWN0b3JMZW5ndGgodmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAg
Q2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21l
IGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBv
YmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24n
dCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1l
bnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
LT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VS
VCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3Vs
ZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAg
IEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQ
dXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCArMTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVk
QXJndW1lbnRzOjpjcmVhdGUKICAgICB9IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3Ry
dWN0dXJlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4
aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1l
bnRzOjpjcmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRl
KiB0YXJnZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50
cyogcmVzdWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBu
dWxscHRyLCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVk
QXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWdu
ZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVj
LCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChy
ZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1
bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0
cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAg
U0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gY29uc3RydWN0b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0
cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZt
LCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9y
Q29uc3RydWN0aW9uKHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDov
L2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVm
cm9tY29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmpl
Y3QtPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3Bw
CShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQg
RnVuY3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9y
Q29uc3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlz
T2JqZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09i
amVjdC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUq
IEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRh
YmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDA5LCAyMDEwLCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzIsNiArMTcyLDkgQEAgcHVi
bGljOgogICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1
bmN0aW9uKCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8vIENh
Y2hlZCBwb2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3Rpbmcg
dGhpcyBleGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0dXJl
KCkgeyByZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lk
IHNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KSB7IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsg
fQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTE4OSw2
ICsxOTIsNyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxGdW5jdGlvbkNvZGVCbG9jaz4g
bV9jb2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJuU3Rh
dGVtZW50VHlwZVNldDsKICAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9zaW5nbGV0
b25GdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBvbHlQcm90
b1N0cnVjdHVyZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURh
dGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6
On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0
aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCit2
b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0gICAg
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRo
aXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBl
LCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFyZURh
dGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNvbnN0
IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRlcm5hbEZ1bmN0aW9u
OjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFz
c1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCwgU3RydWN0
dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQoIW5ld1RhcmdldCB8
fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3VGFyZ2V0ICYmIG5l
d1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChiYXNlQ2xhc3MtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUgYW4gSW50ZXJu
YWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3RydWN0LgogICAg
IEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4o
dm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qg
PSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczOCw3ICs3
MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBlCiAgICAgY2Fz
ZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsKICAgICAg
ICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9B
UlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKQogICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3Myw3ICs3NzMs
NyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAgCiAgICAg
Ly8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBpbiBhbiBhYm5v
cm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGluIEFycmF5UHJv
dG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAoKHN0b3JhZ2Ut
Pmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAogICAgICAgICB8
fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUlu
ZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ug
c3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAK
ICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBo
YXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9s
ZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJl
KHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAg
ICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5n
ZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05NDUsNyArOTQ1
LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAv
LyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5n
cyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3Vn
aCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlT
dG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50Owot
ICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYg
PSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAg
ICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBAQCBib29sIEpT
QXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAg
IGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQ
cm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0
LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYy
LDggKzYyLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hw
b2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0
LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWlu
LiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYg
KHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAg
fHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Nywx
MyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3RydWMKICAg
ICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKEpTT2Jq
ZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwgUmF3UG9p
bnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0ZXJmbHkg
IiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0gICAgICAg
ICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIp
OworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQoKnN0cnVj
dHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBvdXQu
cHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5w
cmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAg
IH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIsIGFzQ2Vs
bCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVyZUlEOiAi
LCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGlzVHJ1
ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2Nh
dGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVjdCogSlNGdW5j
dGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQor
eworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSk7CisgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4g
YXNPYmplY3QocHJvdG90eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0pLT5vYmpl
Y3RQcm90b3R5cGUoKTsKK30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2Nh
dGVBbmRJbml0aWFsaXplUmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4o
dm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAo
IXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90
b3R5cGUoKTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0
aW9uKHZtLCBleGVjKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9u
UmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBn
bG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAg
IC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJh
cmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJs
eSBhbGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5j
dGlvbjo6aW5pdGlhbGl6ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8
SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwot
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0p
OwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3Qt
Pm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
KTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZt
LCBleGVjKTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMp
OwogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNzEsNyArMzc0LDYgQEAg
Ym9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zm
c2V0ID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUsIGF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQo
b2Zmc2V0KSk7CiAgICAgICAgIH0KLQogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3Qs
IGF0dHJpYnV0ZXMsIHRoaXNPYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAg
IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAg
dm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8v
IFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVu
Y3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9y
Q29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBP
UlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsK
ICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVj
dHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQ
cm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFw
U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBp
ZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
OwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZh
YmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmRO
b25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYg
KCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2Jh
bE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGlu
ZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5z
dHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAg
IGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVz
ICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJv
cGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRoaXMt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBv
YmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29w
ZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0
ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZs
eSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1B
WF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5k
ZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3Bl
cnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgQVNT
RVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5ID0g
c3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5KiBu
ZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9sZFN0
cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVsbCgp
KTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5
VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJm
bHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVyZSh2
bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2LDcg
QEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0b3Jh
Z2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewot
ICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2
bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZl
cnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRv
RG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydElu
dDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0Fy
cmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBK
U09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEz
MTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7
Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZt
KS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVy
dERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJy
YXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC0x
MzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3Jh
Z2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5k
ZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcg
QEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAg
Q29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRl
SW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAgQ29u
dGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRjaCAo
aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAg
ICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAg
ICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUlu
aXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBA
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAg
Y2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhp
bmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0p
OwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVj
dHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0
b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQRVM6
CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNT
RVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNT
RVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNf
SU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
KTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0
dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBk
ZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5
cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICB2
bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAot
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVU
cmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1Y3R1
cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0
dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1
cmUpOworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBv
bHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAg
ICBpZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0
cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVj
dHVyZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6
b3JkaW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIg
ZGVmYXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hh
aW4gYXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3Rh
cnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0p
OworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0
ID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkK
KyAgICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9w
ZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGlu
dCA9PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6
OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4
QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVj
LCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwog
ICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAg
ICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdl
IGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdl
dE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1
dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyAr
Mjg4Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAg
ICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0
b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUs
IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVk
c1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2Ug
PSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwg
MCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhp
cywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpA
QCAtMzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5n
dGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRj
aCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5H
X1RZUEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhv
ZChFeGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0Ojph
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAg
ICBWTSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50
ID0gdGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGly
ZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBl
KTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBh
cnNlSW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBj
dXJyZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFz
T2JqZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVz
OworICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0p
LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjpp
c1ZhbGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisg
ICAgICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFBy
b3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6
Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hh
dmluZ0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFs
bG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlU
cmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlND
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1v
ZGUuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUu
aCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5o
IgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5o
IgpAQCAtMTMxLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAvLyBJdCBpcyB2YWxpZCB0byB1c2Ug
dGhvdWdoIHdoZW4geW91IGtub3cgdGhhdCB5b3Ugd2FudCB0byBkaXJlY3RseSBnZXQgaXQKICAg
ICAvLyB3aXRob3V0IGNvbnN1bHRpbmcgdGhlIG1ldGhvZCB0YWJsZS4gVGhpcyBpcyBha2luIHRv
IGdldHRpbmcgdGhlIFtbUHJvdG90eXBlXV0KICAgICAvLyBpbnRlcm5hbCBmaWVsZCBkaXJlY3Rs
eSBhcyBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uCi0gICAgSlNWYWx1ZSBnZXRQcm90
b3R5cGVEaXJlY3QoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIGdldFBy
b3RvdHlwZURpcmVjdCgpIGNvbnN0OwogCiAgICAgLy8gVGhpcyBzZXRzIHRoZSBwcm90b3R5cGUg
d2l0aG91dCBjaGVja2luZyBmb3IgY3ljbGVzIGFuZCB3aXRob3V0CiAgICAgLy8gZG9pbmcgZHlu
YW1pYyBkaXNwYXRjaCBvbiBbW1NldFByb3RvdHlwZU9mXV0gb3BlcmF0aW9uIGluIHRoZSBzcGVj
aWZpY2F0aW9uLgpAQCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAg
ICAgYm9vbCBpc1NlYWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVk
KHZtKTsgfQogICAgIGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0p
LT5pc0Zyb3plbih2bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBi
b29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0
aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToK
ICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3Ry
dWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVj
dGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBB
U1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBl
RGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFBy
b3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKCktPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpIHx8IGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6Omhl
YXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAgICBB
U1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZv
KHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09i
amVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90
eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwog
fQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0
YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2Jq
ZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVy
ZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3Qt
PmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwg
c2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBGSVhNRTogVGhp
cyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoKKyAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3Mgor
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9i
amVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lv
biAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9v
bCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8
fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRo
b2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJv
dG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0g
b2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUg
Ym9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHBy
b3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRo
b2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVy
bmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlu
cXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQ
cm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVj
dDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZh
c3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0s
IHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNo
YWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICgh
dGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFt
ZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAg
aW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgK
ICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4o
KSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJh
dG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4o
ZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3Qg
bnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBpbmxp
bmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJvcGVy
dHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFYKTsKIAotICAgIG5vcm1hbGl6ZVByb3RvdHlwZUNo
YWluKGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYXV0byBy
ZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQ
cm90byk7CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVh
dGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJvcGVydGll
cywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOwotICAgIGlm
ICghaW5kZXhlZExlbmd0aCAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bWVy
YXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0
b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBiYXNlLT5zdHJ1
Y3R1cmUodm0pID09IHN0cnVjdHVyZSAmJiByZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWlu
KSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1
cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAg
IH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBA
IGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0
dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0
LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9i
YWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1Nl
dDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVj
dC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBt
X3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3Qq
IHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkg
Y29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTMgKzEzNiwxOSBAQCBib29sIGpzSXNGdW5jdGlvblR5
cGUoSlNWYWx1ZSB2KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVBy
b3RvdHlwZUNoYWluKENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
K3NpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wmIHNhd1BvbHlQcm90bykKIHsKICAgICBWTSYgdm0gPSBj
YWxsRnJhbWUtPnZtKCk7CiAgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBzYXdQb2x5UHJvdG8g
PSBmYWxzZTsKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5
KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAg
IHNhd1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKyAgICAg
ICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0
dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAgICBpZiAodi5pc051bGwo
KSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyAr
MzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFtZSosCiBKU1ZhbHVl
IGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIGJv
b2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7CiBib29sIGpzSXNG
dW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2Fs
bEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2Fs
bEZyYW1lKiwgU3RydWN0dXJlKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxXQVlTX0lOTElO
RSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogczEsIEpTU3Ry
aW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlv
bnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYgY29uc3QgY2hh
ciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21Db250ZXh0LCB0
cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCksIHdlIHdpbGwg
c3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGluIGl0IHRvIGEg
cmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2VtYmx5VG9KU0Nh
bGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlua0luZm8gdG8g
aW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwgdXNlT2JqZWN0
UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUgT2JqZWN0
IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9u
UHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFs
IGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJv
ZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2KGJvb2wsIHVz
ZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2ls
bCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRo
ZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIp
XAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJZiB0cnVlLCBj
cmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBwb2x5IHByb3Rv
IHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFk
ZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAKLWlu
bGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUlu
Zm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3RydWN0dXJlKiBQ
cm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29u
c3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAg
YXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xh
c3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJvdG90eXBlKTsg
Ly8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5cGUgdG8gbWVh
biBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRlIG5vbi1udWxs
IHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9seVBy
b3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNz
SW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0
cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
IHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAg
ICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlw
ZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAg
ICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8s
IGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgaWYg
KG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJl
OjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUlu
Zm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAg
IG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CisKICAg
ICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEgQEAgU3RydWN0dXJlKiBQ
cm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBu
b3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFu
ZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGlu
ZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3Ry
dWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4
ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+YW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0
aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUg
JiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAg
cmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNl
U3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhp
bmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNs
YXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90
b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFj
aXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7
Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmlu
YWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1
cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxP
YmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1
cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZv
clByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0
ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZv
KCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1
cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2Jh
bE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5
KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQ
T1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAg
IEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0
dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNs
ZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2
b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3Rv
dHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRl
LgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9i
YWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENs
YXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0
cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
cHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlw
ZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7
CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOwogICAg
IC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8
c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2Jh
bE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVN
YXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFz
c0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBt
X3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBA
QCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwo
dm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHko
cHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBt
X3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwg
bV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAs
IG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldh
dGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKQEAg
LTI5NSw2ICsyOTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQog
ICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUo
KTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3Ry
dWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBl
SW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIHVu
c2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgp
OworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0s
IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zm
c2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5
cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0
LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1h
dGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVy
ZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1
Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMjYgKzQxNSwxNCBAQCBTdHJ1Y3R1cmUqIFN0cnVj
dHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZz
ZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25z
dCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5t
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90
b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5
cGUpLT5zdHJ1Y3R1cmUoKTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2
bSkgPT0gdGhpcyk7CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUoVk0mIHZtKSBjb25zdAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+
c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKQEAgLTQyNiw3ICs0MzEsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+c3Ry
dWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+aW5k
ZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUu
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQ
cm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90
eXBlKTsKQEAgLTQzNiwyMCArNDQxLDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRz
U2xvd1B1dEluZGV4aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5p
c0hhdmluZ0FCYWRUaW1lKCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6
OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChuZWVk
c1Nsb3dQdXRJbmRleGluZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9u
OjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblByb3Bl
cnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSogU3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVy
dHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTIsNiArNTQzLDggQEAg
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUqIFN0
cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU1ZhbHVlIHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlzT2Jq
ZWN0KCkgfHwgcHJvdG90eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2bS5o
ZWFwKTsKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7
CiAKQEAgLTEwNjcsMTEgKzEwNjAsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZy
b21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgqdm0o
KSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpw
cm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0KLQog
dm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYg
dmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJl
Kj4oY2VsbCk7CkBAIC0xMTA5LDcgKzEwOTcsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVhcER1
cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNNYXJr
ZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkgfHwg
IXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0
b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVh
cChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjEsNDAgKzExMDksMTkgQEAgYm9vbCBTdHJ1
Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1i
b29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0
eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsg
OykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlw
ZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+
c3RydWN0dXJlKHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0g
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlO
YW1lLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0
KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0
ZXMgJiAoUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFj
Y2Vzc29yKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRv
U3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0
dXJlOjp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0
cnVjdHVyZSkKIHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVy
ZVNoYXBlOjpjcmVhdGUoKTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0g
YmFzZVNoYXBlLnB0cigpOwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAg
ICBKU1ZhbHVlIGN1clZhbHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0g
ZmFsc2U7CiAgICAgd2hpbGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9T
dHJ1Y3R1cmUgfD0gIWN1clN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAgICAgICAg
IGN1clN0cnVjdHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAg
WyZdIChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAg
ICAgICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAg
IGlmICghUHJvcGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAg
ICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OCwyNiArMTEzNSwy
NCBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAg
Y3VyU2hhcGUtPm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBT
dHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8o
bmV3U2hhcGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdT
aGFwZSk7Ci0gICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAg
ICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFz
T2JqZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9i
amVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAgICAg
ICBpZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGF1
dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBl
LT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1v
dmUobmV3U2hhcGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAg
ICAgY3VyU3RydWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAg
ICAgCiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZv
ckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2Fw
YWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90
b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5p
dGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwot
fQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAg
IG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1l
LCAiLCB7Iik7CkBAIC0xMjAyLDcgKzExNjcsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmlu
dFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVE
dW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlz
Q2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5wcmlu
dCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlm
IChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3Rv
OiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRj
aCAoZGljdGlvbmFyeUtpbmQoKSkgewpAQCAtMTI4Nyw3ICsxMjU0LDcgQEAgYm9vbCBTdHJ1Y3R1
cmU6OmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAg
IGlmICghc3RydWN0dXJlLT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAo
c3RydWN0dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkp
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBzdHJ1Y3R1
cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjU3
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJh
c2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3Ry
dWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVBy
b3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25z
dCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8m
LCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCw3
IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsK
ICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBl
LmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NFUlQobV9w
cm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3Byb3RvdHlw
ZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBD
cmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxNjksNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNv
bmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3Ry
dWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNl
dCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYs
IFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZN
JiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3Rv
dHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0cmlidXRl
Q2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQg
YXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogdG9D
YWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVycmVkU3Ry
dWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVy
ZSopOwpAQCAtMjA4LDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiAh
dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgp
OwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgp
CiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBA
IC0yNDAsMjYgKzI0MiwzOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5
cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQog
ICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQo
KTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1
cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8v
IG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBi
dW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xv
YmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFBy
b3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgp
LmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAg
ICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0
IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCku
YXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09i
amVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3Qg
SlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZShjb25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29u
c3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25z
dDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAg
ICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNv
bnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25z
dDsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2Vs
bCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hh
aW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAg
ICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAg
CiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcg
c28gd291bGQgb25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3MiwxNCAr
Mjg3LDI0IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBzdHJ1
Y3R1cmUgaXMgbm93IG1hcmtlZC4KICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7
Ci0gICAgICAgIAotICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2Vw
dCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CiAgICAgCiAg
ICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJl
RGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJl
UmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJl
RGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4o
bV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVE
YXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhhc1JhcmVE
YXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJu
IHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNv
bnN0CiAgICAgewpAQCAtNTMzLDEyICs1NTgsNiBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0V2F0
Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAgIH0KICAgICAKLSAgICB2b2lkIHN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKFZNJiB2
bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBzdHJ1
Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkp
Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJ
Zk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9vbCBoYXNJbmZlcnJlZFR5cGVzKCkgY29u
c3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5mZXJyZWRUeXBlVGFibGU7CkBAIC01ODgs
MTEgKzYwNyw3IEBAIHB1YmxpYzoKICAgICAgICAgd2lsbFN0b3JlVmFsdWVTbG93KHZtLCBwcm9w
ZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6ZSwgSW5mZXJyZWRUeXBlVGFibGU6Ok9sZFBy
b3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hh
cGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVjdHVy
ZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxsb2NhdGlv
bnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxsb2NhdGlv
bnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hh
cGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICAKICAgICB2b2lk
IGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRT
dHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpAQCAtNzIwLDggKzczNSw3IEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9p
bmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBib29s
IGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWlu
KSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFp
biogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAgIC8v
IFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQcm9w
ZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc0Niw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVy
biBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAK
LSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAg
QVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0
dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNp
c3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJv
b2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyNTc2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNp
dENoaWxkcmVuKEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtKTsKKworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJy
ZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0
b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFr
ZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6
ZV90IGkgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBj
dXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1
cnJlbnQpKQorICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSkpOworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0
b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwg
U3RydWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRl
KFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3Jl
YXRlKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hh
aW4qIGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZt
LmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0
KCkpOwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIg
KzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHBy
b3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFk
KQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXpl
X3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3Vy
cmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6
IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAg
ICAgICAgICArK3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT5bXT4oc2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9y
IChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+
c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2
bSwgdGhpcywgY3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5j
ZSgpOwotICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVj
dHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJv
dG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBp
ZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcw
LDQxIEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5l
IFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAog
eworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU09iamVj
dCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwog
fQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29u
c3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3Qt
PnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAg
ICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJv
dG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9w
cm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChv
ZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFBy
b3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVB
U0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Cisg
ICAgSlNWYWx1ZSBwcm90byA9IG9iamVjdC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgpKTsK
KyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJl
dHVybiBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBj
b25zdAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qo
b2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKwogQUxXQVlTX0lOTElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6Omdl
dChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQgYXR0
cmlidXRlczsKQEAgLTE2NiwxNSArMTk2LDMyIEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJh
bnNpdGl2ZWx5VHJhbnMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNW
YWx1ZSBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIEFTU0VSVCghc3Ry
dWN0dXJlLT5pc09iamVjdCgpKTsKKworICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlw
ZSgpID09IFN0cmluZ1R5cGUpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1By
b3RvdHlwZSgpOworCisgICAgQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0g
U3ltYm9sVHlwZSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7
CisKK30KKwogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVCho
YXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVy
biBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBpZiAodHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9s
VHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7Cisg
ICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9y
TG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOworfQogCi0gICAgQVNTRVJU
KHR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpOwotICAgIHJldHVybiBnbG9iYWxPYmpl
Y3QtPnN0cmluZ1Byb3RvdHlwZSgpOworaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5
cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlKSBj
b25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOwor
ICAgIGlmIChpc09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFzT2Jq
ZWN0KGJhc2UpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChn
bG9iYWxPYmplY3QsIHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CkBAIC0xODIsMjcgKzIyOSwyOCBA
QCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvCiAgICAgcmV0dXJuIHBy
b3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogfQogCi1pbmxp
bmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+
c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBjYWNoZSBvdXIgcHJvdG90eXBlIGNo
YWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBpZiAoIWlzVmFsaWQoZ2xvYmFs
T2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkgewotICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwotICAgICAgICBt
X2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0
ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVj
dHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5
cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90
b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAgICAgICAgbV9jYWNoZWRQcm90
b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3Rv
dHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90b3R5cGUpKSk7CiAgICAgfQog
ICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpOwogfQogCi1pbmxpbmUgU3Ry
dWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjKSBj
b25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHByb3Rv
dHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAg
cmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hh
aW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluLCBKU09i
amVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFByb3RvdHlwZUNoYWluKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBl
Rm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNoYWluLT5oZWFkKCk7CiAgICAg
d2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5pc051bGwoKSkgewogICAgICAg
ICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkgIT0gY2FjaGVkU3RydWN0dXJl
LT5nZXQoKSkKQEAgLTIxMywxMSArMjYxLDYgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1Zh
bGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNOdWxsKCkgJiYgISpjYWNoZWRT
dHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKLXsKLSAg
ICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGNhY2hlZFByb3Rv
dHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJlOjpkaWRSZXBsYWNlUHJvcGVy
dHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChMSUtFTFkoIWhhc1JhcmVEYXRh
KCkpKQpAQCAtNDAwLDcgKzQ0Myw3IEBAIGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6
OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlu
bGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFi
bGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJs
ZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVu
c2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0
cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlW
YWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1
ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAj
aW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJh
cmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+
bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0
cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3Bl
cnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5m
ZXJyZWRDb25zdHJ1Y3Rvcik7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0
dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1
LDYgKzE3NywxMyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAg
ICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0luZmVycmVkVmFsdWUqIFN0
cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAg
ICBpZiAoIW1faW5mZXJyZWRDb25zdHJ1Y3RvcikKKyAgICAgICAgbV9pbmZlcnJlZENvbnN0cnVj
dG9yLnNldCh2bSwgdGhpcywgSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKSk7CisgICAgcmV0dXJu
IG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRo
b2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xh
c3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0
Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVy
ZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
UmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xh
c3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2Jq
ZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywxNSBA
QCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUg
YSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQg
b3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJl
IGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVj
dHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisg
ICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ug
d2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8g
SWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yIHBvaW50cyB0byBhbiBJbmZlcnJl
ZFZhbHVlIGluZmVycmluZyBhIEpTRnVuY3Rpb24uCisgICAgLy8gSWYgd2Ugbm90aWNlIHRoYXQg
d2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIHdpbGwgYmVjb21lIGludmFsaWRhdGVkLgorICAg
IEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICAvLyBN
YXkgYmUgbnVsbHB0ci4KKyAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yKCkg
eyByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOyB9CisKICAgICBERUNMQVJFX0VY
UE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArODYsNyBAQCBwcml2YXRlOgogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3Ry
aW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlO
YW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAgIFdyaXRl
QmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CiAgICAgCiAgICAg
dHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4sIFdU
Rjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hU
cmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9pbnRT
ZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9n
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJv
ZmlsZXJMb2cuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCwxMiArNzAs
MTQgQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBS
ZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOyAKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGVu
dHJ5LT52YWx1ZTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOworICAg
ICAgICBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlOwogICAgICAgICBpZiAoaWQp
IHsKLSAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5z
dHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsgCisgICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFw
OjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7CiAgICAg
ICAgICAgICBhdXRvIGl0ZXIgPSBzZWVuU2hhcGVzLmZpbmQoc3RydWN0dXJlKTsKICAgICAgICAg
ICAgIGlmIChpdGVyID09IHNlZW5TaGFwZXMuZW5kKCkpIHsKLSAgICAgICAgICAgICAgICBzaGFw
ZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAg
c2VlblNoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgc2hhcGUg
PSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUsIHNhd1BvbHlQcm90b1N0cnVjdHVy
ZSk7CisgICAgICAgICAgICAgICAgaWYgKCFzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAg
ICAgICAgICAgICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOwogICAgICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAgICAg
fQpAQCAtODQsOCArODYsOCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJp
ZXMoCiAgICAgICAgIFR5cGVMb2NhdGlvbiogbG9jYXRpb24gPSBlbnRyeS0+bG9jYXRpb247CiAg
ICAgICAgIGxvY2F0aW9uLT5tX2xhc3RTZWVuVHlwZSA9IHR5cGU7CiAgICAgICAgIGlmIChsb2Nh
dGlvbi0+bV9nbG9iYWxUeXBlU2V0KQotICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlw
ZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJl
KTsKLSAgICAgICAgbG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3Jt
YXRpb24odHlwZSwgV1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBsb2Nh
dGlvbi0+bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29w
eVJlZigpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgICAgIGxvY2F0
aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1v
dmUoc2hhcGUpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICAgICAg
ZW50cnkrKzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBl
U2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBl
U2V0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSwxNCBAQCBUeXBlU2V0
OjpUeXBlU2V0KCkKIHsKIH0KIAotdm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24oUnVu
dGltZVR5cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBlLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3ZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1
bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAg
IG1fc2VlblR5cGVzID0gbV9zZWVuVHlwZXMgfCB0eXBlOwogCiAgICAgaWYgKHN0cnVjdHVyZSAm
JiBwYXNzZWROZXdTaGFwZSAmJiAhcnVudGltZVR5cGVJc1ByaW1pdGl2ZSh0eXBlKSkgewogICAg
ICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IG5ld1NoYXBlID0gcGFzc2VkTmV3U2hhcGUucmVsZWFz
ZU5vbk51bGwoKTsKLSAgICAgICAgaWYgKCFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1
cmUpKSB7Ci0gICAgICAgICAgICB7CisgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUg
fHwgIW1fc3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkpIHsKKyAgICAgICAgICAgIGlm
ICghc2F3UG9seVByb3RvU3RydWN0dXJlKSB7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpT
TG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFk
ZChzdHJ1Y3R1cmUpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVHlwZVNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVHlwZVNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIGNs
YXNzIFR5cGVTZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW4KIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFR5cGVTZXQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZVNldCk7
IH0KICAgICBUeXBlU2V0KCk7Ci0gICAgdm9pZCBhZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5
cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBhZGRU
eXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3Ry
dWN0dXJlKiwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIHZvaWQgaW52YWxpZGF0
ZUNhY2hlKCk7CiAgICAgU3RyaW5nIGR1bXBUeXBlcygpIGNvbnN0OwogICAgIFN0cmluZyBkaXNw
bGF5TmFtZSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3Jp
dGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFs
dWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29s
IGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wg
aXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNP
YmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051
bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJT
ZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBU
b29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIyMjU3NikKKysrIFRvb2xzL1Nj
cmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTYxOSw3ICs2MTks
NyBAQCBkZWYgcnVuRlRMTm9DSklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wCiBlbmQKIAogZGVm
IHJ1bkZUTE5vQ0pJVEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4o
ImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2Ui
LCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0aW9u
YWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11
c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVl
IiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlv
bmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZhbGlkYXRl
KCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC02NDcsNyArNjQ3LDcgQEAgZGVmIHJ1
bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVAogZW5kCiAKIGRlZiBydW5GVExFYWdl
cigqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0t
YWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJ
T05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmlj
T3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJyaWdnc0FsbG9jYXRv
cj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9P
UFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNp
ZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyV2F0Y2hkb2coKm9wdGlvbmFsVGVz
dFNwZWNpZmljT3B0aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBAQCBkZWYgcnVuVHlwZVByb2ZpbGVy
CiAKICAgICBydW4oImZ0bC1uby1jaml0LXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmls
ZXI9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKQogICAgIHJ1bigiZnRs
LXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMp
KQorICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXItZm9yY2UtcG9seS1wcm90by1mdGwtZWFnZXIi
LCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZU
TF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkNvbnRyb2xGbG93UHJv
ZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322152</attachid>
            <date>2017-09-28 18:36:31 -0700</date>
            <delta_ts>2017-09-28 19:02:41 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>205824</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw3MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgaXRlbXMgPSBbCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorXTsKKworbGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3Rv
bVRlc3RHZXR0ZXJTZXR0ZXIoKTsKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJv
dG9fXyA9IGN1c3RvbUdldHRlclNldHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1
c3RvbUdldHRlclNldHRlcik7Cit9KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1
bHQsIGFjY2Vzc29yUmVzdWx0KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVl
UmVzdWx0KTsKKworICAgIGFzc2VydCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3Vs
dCk7CisKKyAgICBsZXQgbyA9IHt9OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2Vy
dChvLnJlc3VsdCA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9t
QWNjZXNzb3IgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOwor
CisgICAgYXNzZXJ0KHgucmFuZG9tUHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7
CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0ZW1zW2ld
KTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNldHRlci5yYW5kb21Qcm9wID0gNDI7CisKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
aXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdl
dHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaCgoeCkgPT4g
eworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoeCwgeworICAgICAgICBnZXQgY3VzdG9tVmFs
dWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAgZ2V0IGN1c3RvbUFjY2Vzc29yKCkgeyByZXR1
cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21WYWx1ZSh4KSB7IHgucmVzdWx0ID0gNDI7IH0s
CisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4KSB7IHgucmVzdWx0ID0gMjI7IH0sCisgICAg
fSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVt
c1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3Jy
ZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACitmdW5jdGlvbiBhc3Nl
cnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9
CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVy
biBmb28oKTsKK30KKworbGV0IHggPSBuZXcgVWludDMyQXJyYXkoMTApOworbGV0IHAgPSB4Ll9f
cHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2Jq
Ll9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9fXyA9IG9iajsKKworZnVuY3Rpb24gZm9vKHgpIHsK
KyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yIChsZXQg
aSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBhc3NlcnQoZm9vKHgpID09PSAxMCAqIDQpOwor
fTsKKworb2JqLl9fcHJvdG9fXyA9IHt9OworCithc3NlcnQoZm9vKHgpID09PSB1bmRlZmluZWQp
OwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
OSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSB7
CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNv
bnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBDLnByb3Rv
dHlwZS55ID0gNDI7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgQzsKKyAgICAgICAgLy9wcmlu
dChgUmVzdWx0IGZyb20gZm9vKCk6IGAsICR2bS52YWx1ZShyZXN1bHQpKTsKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAg
ICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3VsdCA9IGZvbygpOworICAgIHJlc3VsdC5fX3Byb3Rv
X18gPSBudWxsOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikK
K30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtl
UG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9J
bnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xldCBwID0gdW5kZWZpbmVkOworZnVuY3Rpb24gdmFs
aWRhdGUoeCkgeworICAgIGFzc2VydCh4LnggPT09IDIwKTsKKyAgICBhc3NlcnQoeC5wID09PSB1
bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3Ro
OyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9s
eVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0
aW9uIHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9J
bmxpbmUodmFsaWRhdGUpOworCitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworUmVm
bGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7CisKK1JlZmxlY3Quc2V0UHJvdG90
eXBlT2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxp
ZGF0ZShvYmosIGZhbHNlKTsKKworCitmdW5jdGlvbiB2YWxpZGF0ZTIobywgYikgeworICAgIGFz
c2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZTIpOworCitSZWZsZWN0
LnNldFByb3RvdHlwZU9mKG9iaiwgbnVsbCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsr
aSkKKyAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
b2JqLCB7eDoyNX0pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRh
dGUyKG9iaiwgdHJ1ZSk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFu
c2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRy
YW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1w
dXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACitmdW5jdGlv
biBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1
bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcg
QzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28o
KTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZv
cm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSBudWxsOworICAgIHBlcmZvcm1TZXQo
b2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsK
KyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgb2Jq
Ll9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9iYWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNl
dChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093blByb3BlcnR5KCJwIikpOworICAgIGFzc2Vy
dChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwgPSBudWxsOworfQorCitmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydChvYmouaGFzT3duUHJvcGVydHkoInAi
KSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0
LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNl
dC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0
aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJh
ZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAg
IHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAg
Z2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUs
ICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsK
KyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAgfQorICAgIH07CisgICAgcmV0dXJu
IG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9
PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAg
ICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5f
X3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30KK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBudWxs
KTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBh
bHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAg
ICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
c2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjYgQEAKK2Z1bmN0aW9uIGFzc2Vy
dChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsg
bSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmpl
Y3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAg
ICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5f
cCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0
aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZv
bygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7Cisg
ICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAy
MDsgKytpKSB7CisgICAgaXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCitsZXQgc3RhcnQg
PSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBp
dGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8uX3Ag
PT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVkID09PSB0cnVlKTsKKyAgICAgICAgY2FsbGVk
ID0gZmFsc2U7CisgICAgfQorfQorCitpdGVtcy5mb3JFYWNoKG8gPT4geworICAgIFJlZmxlY3Qu
c2V0UHJvdG90eXBlT2YobywgbnVsbCk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAg
ICAgICAgYXNzZXJ0KG8ucCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IGZhbHNl
KTsKKyAgICB9Cit9CisKK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQp
OwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNl
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5o
ZXJpdGFuY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9v
KCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9
CisgICAgfQorICAgIEMucHJvdG90eXBlLmZpZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0
dXJuIEM7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitm
dW5jdGlvbiBiYXIocCkgeworICAgIGNsYXNzIEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3Ry
dWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7
CisgICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9
IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28o
KSkpOworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFz
c2VydChpdGVtLnggPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBh
c3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJ
bmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0
YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAg
ICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAg
IEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBm
b28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNl
KCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3lt
Ym9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdz
ID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3lt
Ym9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2Vy
dCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7Cisg
ICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9
PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJm
dW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQg
aSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAg
ICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5j
ZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7
CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmpl
Y3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1v
YmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5v
dC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24g
Zm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAg
fQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitm
dW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rp
b24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmlu
ZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3Rv
X18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShp
dGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8u
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXBy
b3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKK2Z1bmN0aW9uIGFzc2VydChi
LCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7
Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9v
KCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0K
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJl
dHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlOYW1lKSB7
IHJldHVybiBgKGZ1bmN0aW9uIChiYXNlKSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNlLCAnJHtw
cm9wZXJ0eU5hbWV9Jyk7IH0pYDsgfQorbGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0
QnlJZFRleHQoImZvbyIpKTsKK2xldCBnZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRU
ZXh0KCJiYXIiKSk7CitsZXQgZ2V0Tm9uRXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0aW4odHJ5
R2V0QnlJZFRleHQoIm5vbkV4aXN0ZW50RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBvbHlQcm90
b09iamVjdCgpOworeC5fX3Byb3RvX18gPSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJldHVybiAy
MjsgfSB9OworbGV0IGJhckdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
eC5fX3Byb3RvX18sICJiYXIiKS5nZXQ7Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9PT0gImZ1
bmN0aW9uIik7Cithc3NlcnQoYmFyR2V0dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24gdmFsaWRh
dGUoeCkgeworICAgIGFzc2VydChnZXRGb28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQobG9hZEdl
dHRlckZyb21HZXR0ZXJTZXR0ZXIoZ2V0QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAgICBhc3Nl
cnQoZ2V0Tm9uRXhpc3RlbnRGaWVsZCh4KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0
ZSh4KTsKK30KSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMzYsNyArMzYsNyBAQCBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5
VHlwZU5hCiBhc3NlcnQodHlwZXMuaW5zdHJ1Y3Rpb25UeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9
PT0gIkMiLCAidmFyaWFibGUgJ3RoZUMnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQyci
KTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJhcmNoeVRl
c3QgPSBuZXcgQjsiKTsKLWFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlU
eXBlTmFtZSAnQSciKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlU
eXBlTmFtZSAnQSciICsgIiBidXQgd2FzOiAiICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5
VHlwZU5hbWUpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVzc2lvbih3cmFwcGVyLCAiaGll
cmFyY2h5VGVzdCA9IG5ldyBDOyIpOwogYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxh
eVR5cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxkIGhhdmUg
ZGlzcGxheVR5cGVOYW1lICdBJyIpOwpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZs
b3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cuanMJKHJl
dmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZhciBpID0gMDsg
aSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAgICAvLyBNYWtl
IHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2lnbm1lbnQgdG8g
eCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3aWxsIGJlIG1l
cmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0gMjA7CisgICAg
eCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rpb24oKSB7fTsK
ICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90eXBlOwpAQCAt
MjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9IG51bGw7CiBm
b3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93IC0gMTsg
aSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9IDIwOworICAg
IHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307
CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIy
Nyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0
aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNv
ZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0
ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJv
Z3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjSW50MzJPbmx5KQorICAgICAgICB7CisgICAgICAgIH0KKworI2lmIEVOQUJMRShK
SVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNsb3dDYWxs
KEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAgICAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdGF0aWNf
Y2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAg
IHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY2FsbERPTUdldHRlcigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0
PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7CisgICAg
ICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisgICAgICAgICAg
ICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1dKENDYWxsSGVscGVycyYgaml0LCBTbmlwcGV0UGFy
YW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRzID0gcGFy
YW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgR1BSUmVnIGRvbSA9IHBhcmFt
c1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGppdC5q
dW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKKworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICByZXR1cm4gc25pcHBldDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfTsKKworcHJpdmF0
ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CisKKyAgICBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2
bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCh0
aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgfQorfTsKKworc3RhdGljIGNvbnN0IERPTUpJVEdl
dHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRlIERPTUpJVEdldHRlckJhc2VKU09iamVj
dERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgY29uc3QgRE9N
SklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9ICZET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01K
SVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVyU2V0dGVyID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0dGVyKCksIG51bGxwdHIsIERPTUF0dHJpYnV0ZUFu
bm90YXRpb24geyBKU09iamVjdDo6aW5mbygpLCBkb21KSVQgfSk7CisgICAgcHV0RGlyZWN0Q3Vz
dG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tR2V0dGVy
IiksIGN1c3RvbUdldHRlclNldHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKTsKK30KKwogY29uc3QgQ2xhc3NJbmZvIEVs
ZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVsZW1lbnQpIH07CiBjb25zdCBDbGFzc0luZm8gTWFz
cXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0
ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXNxdWVyYWRlcikgfTsKIGNvbnN0IENs
YXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJSb290IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwg
bnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShSb290KSB9OwpAQCAtOTY1LDYgKzEwNDksNyBA
QCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9kZTo6c19pbmZvID0geyAiCiAjZW5kaWYKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlciIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0
dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckNvbXBsZXg6OnNfaW5mbyA9IHsg
IkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckNvbXBsZXgpIH07Citjb25zdCBDbGFzc0lu
Zm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkgfTsKICNpZiBFTkFCTEUoSklUKQogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9uT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRGdW5j
dGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsICZET01KSVRGdW5jdGlvbk9iamVj
dDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklURnVuY3Rp
b25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTA1Nyw2ICsxMTQyLDg0IEBAIHByaXZhdGU6CiAgICAg
RGVxdWU8U3RyaW5nPiBtX3JlcG9ydHM7CiB9OwogCitjbGFzcyBKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CitwdWJsaWM6CisgICAgdXNpbmcgQmFz
ZSA9IEpTTm9uRmluYWxPYmplY3Q7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBz
dHJ1Y3R1cmUpCisgICAgeyB9CisKKyAgICBzdGF0aWMgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVy
KiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlKQor
ICAgIHsKKyAgICAgICAgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKiByZXN1bHQgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXAsIHNp
emVvZihKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIpKSkgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVy
KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiB2bSk7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90
eXBlKCksIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAg
ICB9CisKKyAgICBERUNMQVJFX0lORk87Cit9OworCisKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBj
dXN0b21HZXRBY2Nlc3NvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFBy
b3BlcnR5TmFtZSkKK3sKKyAgICAvLyBQYXNzZWQgfHRoaXN8CisgICAgcmV0dXJuIHRoaXNWYWx1
ZTsKK30KKworc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdldFZhbHVlKEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7CisgICAgUkVM
RUFTRV9BU1NFUlQoSlNWYWx1ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhlYy0+dm0o
KSwgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjppbmZvKCkpKTsKKyAgICAvLyBQYXNzZWQgcHJv
cGVydHkgaG9sZGVyLgorICAgIHJldHVybiBzbG90VmFsdWU7Cit9CisKK3N0YXRpYyBib29sIGN1
c3RvbVNldEFjY2Vzc29yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVj
dCwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CisKKyAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CisgICAgUkVMRUFTRV9BU1NFUlQodmFsdWUuaXNPYmplY3QoKSk7CisgICAgSlNPYmplY3QqIG9i
amVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChvYmplY3Qp
OworICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJyZXN1bHQiKSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNPYmplY3QpLCBzbG90KTsKKworICAg
IHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCBjdXN0b21TZXRWYWx1ZShFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisKKyAgICBSRUxFQVNFX0FTU0VSVChK
U1ZhbHVlOjpkZWNvZGUoc2xvdFZhbHVlKS5pbmhlcml0cyhleGVjLT52bSgpLCBKU1Rlc3RDdXN0
b21HZXR0ZXJTZXR0ZXI6OmluZm8oKSkpOworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkVmFsdWUpOworICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlzT2JqZWN0
KCkpOworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgUHV0UHJv
cGVydHlTbG90IHNsb3Qob2JqZWN0KTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4ZWMsIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29kZShzbG90
VmFsdWUpLCBzbG90KTsKKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEpTVGVzdEN1c3Rv
bUdldHRlclNldHRlcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIHB1dERpcmVjdEN1
c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbVZhbHVl
IiksCisgICAgICAgIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBjdXN0b21HZXRWYWx1
ZSwgY3VzdG9tU2V0VmFsdWUpLCAwKTsKKyAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21BY2Nlc3NvciIpLAorICAgICAgICBD
dXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgY3VzdG9tR2V0QWNjZXNzb3IsIGN1c3RvbVNl
dEFjY2Vzc29yKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpDdXN0
b21BY2Nlc3NvcikpOworfQorCitjb25zdCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tR2V0dGVyU2V0
dGVyOjpzX2luZm8gPSB7ICJKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIiLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3RvbUdldHRl
clNldHRlcikgfTsKKwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25DcmVhdGVQcm94eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uQ3JlYXRlUnVudGltZUFycmF5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVJbXB1cmVHZXR0ZXIoRXhl
Y1N0YXRlKik7CkBAIC0xMDY2LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5j
dGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9u
T2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNTdGF0ZSopOworc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdChFeGVjU3Rh
dGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1w
dXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xMTc3LDYgKzEzNDEsOCBAQCBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbldhaXRGb3JSZXBvcnQoRXhlY1N0YXRlKik7CiBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYXBDYXBhY2l0eShFeGVj
U3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRmxh
c2hIZWFwQWNjZXNzKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKK3N0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQ3VzdG9tVGVz
dEdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKIAogc3RydWN0IFNjcmlwdCB7CiAgICAgZW51bSBj
bGFzcyBTdHJpY3RNb2RlIHsKQEAgLTEzODIsNiArMTU0OCw3IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0IiwgZnVu
Y3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVu
Y3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9N
SklURnVuY3Rpb25PYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURP
TUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xh
c3NPYmplY3QsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRl
ckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0LCAw
KTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVuY3Rpb25DcmVh
dGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVHbG9iYWxPYmpl
Y3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9u
KHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVyZUdldHRlckRl
bGVnYXRlLCAyKTsKQEAgLTE0NjYsNiArMTYzMyw5IEBAIHByb3RlY3RlZDoKIAogICAgICAgICBh
ZGRGdW5jdGlvbih2bSwgImhlYXBDYXBhY2l0eSIsIGZ1bmN0aW9uSGVhcENhcGFjaXR5LCAwKTsK
ICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJmbGFzaEhlYXBBY2Nlc3MiLCBmdW5jdGlvbkZsYXNo
SGVhcEFjY2VzcywgMCk7CisKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJsb2FkR2V0dGVyRnJv
bUdldHRlclNldHRlciIsIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIsIDEpOwor
ICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIiLCBm
dW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIsIDEpOwogICAgIH0KICAgICAKICAg
ICB2b2lkIGFkZEZ1bmN0aW9uKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCwgY29uc3QgY2hhciog
bmFtZSwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIHVuc2lnbmVkIGFyZ3VtZW50cykKQEAgLTIx
MTUsNiArMjI4NSwxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3Jl
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4
ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpTTG9ja0hv
bGRlciBsb2NrKHZtKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IERPTUpJVEdldHRlckJh
c2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGpzTnVsbCgpKTsKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIHJlc3VsdCA9IERP
TUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKK30KKworCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjKQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0yODMyLDYgKzMwMTIsMjQgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5hcmd1bWVu
dENvdW50KCkgPj0gMSk7CisgICAgR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIgPSBqc0R5bmFt
aWNDYXN0PEdldHRlclNldHRlcio+KHZtLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgUkVMRUFT
RV9BU1NFUlQoZ2V0dGVyU2V0dGVyKTsKKyAgICBKU09iamVjdCogZ2V0dGVyID0gZ2V0dGVyU2V0
dGVyLT5nZXR0ZXIoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChnZXR0ZXIpOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoZ2V0dGVyKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQor
eworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmpl
Y3QpKSk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KIHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPCFzdGQ6OmlzX2Z1bmRhbWVudGFsPFZhbHVlVHlwZT46OnZhbHVlPjo6dHlwZSBh
ZGRPcHRpb24oVk0mLCBKU09iamVjdCosIElkZW50aWZpZXIsIFZhbHVlVHlwZSkgeyB9CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5
QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJC
MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRo
SUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQx
M0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1
NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQ
dXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFw
aENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBo
Q29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURG
MjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMzQ5OCw2ICszNDk5LDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRN
YXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAw
RDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5
NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5
QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyog
R2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkx
RCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xv
cmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jp
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM2NSw2ICs3MzY4LDggQEAK
IAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAog
CQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8s
CiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8s
CisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNw
cCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8s
CiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApA
QCAtODU1NCw2ICs4NTU5LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50
bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RC
MDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyog
SW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3
RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0
ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjU3
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwog
CiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJp
dmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0
ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAv
LyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0
ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4
dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFt
ZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCks
ICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpF
X0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElk
ZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6
ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihT
eW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlND
X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJM
SUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BS
T1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2
ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklW
QVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVBy
aXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1By
aXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFt
ZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOwor
ICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVy
c2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9
CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlm
aWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05f
UFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJ
Tl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1
YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9s
bGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsK
QEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQog
ICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6
OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJl
cEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1By
aXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNlIEFjY2Vz
c0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAK
LUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAg
LCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7
CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6
Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNz
Q2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAg
IGNhc2UgSW5IaXQ6CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
QXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJlY3RBcmd1
bWVudHNMZW5ndGg6CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBN
b2R1bGVOYW1lc3BhY2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoIXByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs
dDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJl
LCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgY29uZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3RydWN0dXJl
ID09IG5ld1N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBAQCBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3
IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihu
ZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIEFj
Y2Vzc0Nhc2U6On5BY2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOSBAQCBWZWN0b3I8V2F0Y2hw
b2ludFNldCosIDI+IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAy
PiByZXN1bHQ7CiAKICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1w
dXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJ
bXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCisgICAgICAgIC8vIE9PUFM6IGFkZCBhIHRlc3Qg
Zm9yIHRoaXMKKyAgICAgICAgfHwgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gJiYgbV9wcm90b3R5
cGVBY2Nlc3NDaGFpbi0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSkKICAgICAgICAg
cmVzdWx0LmFwcGVuZCh2bS5lbnN1cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRl
bnQpKTsKIAogICAgIGlmIChhZGRpdGlvbmFsU2V0KCkpCkBAIC0xNTEsNiArMTU2LDkgQEAgYm9v
bCBBY2Nlc3NDYXNlOjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBj
YXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxOCwx
OCBAQCBib29sIEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJl
dHVybiB0aGlzQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxl
TmFtZXNwYWNlT2JqZWN0KCk7CiAgICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIGlmIChvdGhl
ci50eXBlKCkgIT0gdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
IGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICBpZiAoIW90aGVyLm1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBjaGVjayB3ZSBuZWVkIHNpbmNlIFByb3RvdHlw
ZUFjY2Vzc0NoYWluIGNvbnRhaW5zIHRoZSBiYXNlIHN0cnVjdHVyZS4KKyAgICAgICAgICAgIC8v
IElmIHdlIGV2ZXIgY2hhbmdlIGl0IHRvIGNvbnRhaW4gb25seSB0aGUgcHJvdG90eXBlIGNoYWlu
LCB3ZSdsbCBhbHNvIG5lZWQgdG8gY2hhbmdlCisgICAgICAgICAgICAvLyB0aGlzIHRvIGNoZWNr
IHRoZSBiYXNlIHN0cnVjdHVyZS4KKyAgICAgICAgICAgIHJldHVybiAqbV9wcm90b3R5cGVBY2Nl
c3NDaGFpbiA9PSAqb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICAgICAgfQorCiAg
ICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAhb3RoZXIuZ3VhcmRlZEJ5
U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjE5LDIy
ICsyMzksMjYgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogCiB2
b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBvdXQu
cHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwgbV90eXBlLCAiOigiKTsK
IAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmludChjb21tYSwgbV9zdGF0
ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAgICAgIG91dC5wcmludChj
b21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBw
b2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQot
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0
cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQobV9vZmZzZXQpKQogICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNldCk7CiAgICAgaWYgKCFt
X2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgImNvbmRp
dGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3ND
aGFpbikKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJvdG90eXBlIGFjY2VzcyBjaGFpbiA9
ICIsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pOworICAgIGVsc2UgeworICAgICAgICBpZiAobV90
eXBlID09IFRyYW5zaXRpb24pCisgICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1
cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3
U3RydWN0dXJlKCkpKTsKKyAgICAgICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUpCisgICAgICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVy
ZS5nZXQoKSkpOworICAgIH0KKwogICAgIGR1bXBJbXBsKG91dCwgY29tbWEpOwogICAgIG91dC5w
cmludCgiKSIpOwogfQpAQCAtMjQzLDYgKzI2NywxMiBAQCBib29sIEFjY2Vzc0Nhc2U6OnZpc2l0
V2VhayhWTSYgdm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3RydWN0dXJlICYmICFIZWFwOjppc01h
cmtlZChtX3N0cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAo
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0
dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4oKSkgeworICAgICAgICAgICAgaWYg
KCFIZWFwOjppc01hcmtlZChzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgfQorICAgIH0KICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmFyZVN0aWxsTGl2
ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGlzQWNjZXNzb3IoKSkgewpAQCAt
MjczLDYgKzMwMywxMSBAQCBib29sIEFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zKFNs
CiAgICAgaWYgKG1fc3RydWN0dXJlKQogICAgICAgICByZXN1bHQgJj0gbV9zdHJ1Y3R1cmUtPm1h
cmtJZkNoZWFwKHZpc2l0b3IpOwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsK
KyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmNoYWluKCkpCisgICAgICAgICAgICByZXN1bHQgJj0gc3RydWN0dXJlLT5tYXJrSWZDaGVh
cCh2aXNpdG9yKTsKKyAgICB9CisKICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgVHJh
bnNpdGlvbjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fc3RydWN0
dXJlLT5wcmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICs0MDcsNjIgQEAgdm9pZCBBY2Nlc3NDYXNl
OjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBkZWZhdWx0OiB7Ci0gICAgICAgIGlm
ICh2aWFQcm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAg
ICAgICAgICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNl
R1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7Ci0K
LSAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBK
U1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwotCi0gICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
SURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAg
IGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUZv
ckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAgICAgICAgICBqaXQubW92ZShzdGF0
ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluLT5jaGFpbigpW2ldOworICAgICAgICAgICAgICAgIGJvb2wgYXRFbmQgPSBpICsgMSA9
PSBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpLnNpemUoKTsKKyAgICAgICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1
Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nl
c3NHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKChtX3R5cGUgPT0gTWlzcyB8fCBtX3R5cGUgPT0gSW5NaXNzIHx8IG1f
dHlwZSA9PSBUcmFuc2l0aW9uKSAmJiAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0
dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAg
aml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwg
YmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5h
cHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NH
UFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3Vw
KHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGpp
dC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwg
YmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOyAv
LyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90b3R5
cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0
aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpFcXVh
bCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxs
KSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAot
ICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAg
ICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkp
IHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAg
ICAgIGppdC5icmFuY2g4KAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhi
YXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBl
KSkpOworCisgICAgICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNz
KGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAg
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5i
cmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5v
dEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNj
cmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFs
LAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIs
IEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwog
ICAgIH0gfTsKQEAgLTQyOCw2ICs0OTksOCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1w
bChBY2Nlc3NHZW5lCiAgICAgQVNTRVJUKG1fY29uZGl0aW9uU2V0LnN0cnVjdHVyZXNFbnN1cmVW
YWxpZGl0eUFzc3VtaW5nSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpOwogCiAgICAgZm9yIChj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYgY29uZGl0aW9uIDogbV9jb25kaXRpb25TZXQp
IHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uZGl0aW9uLm9iamVjdCgpLT5zdHJ1Y3R1
cmUoKTsKIAogICAgICAgICBpZiAoY29uZGl0aW9uLmlzV2F0Y2hhYmxlQXNzdW1pbmdJbXB1cmVQ
cm9wZXJ0eVdhdGNocG9pbnQoKSkgewpAQCAtNTA0LDEzICs1NzcsMTkgQEAgdm9pZCBBY2Nlc3ND
YXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAgICAgYmFzZUZvckdldEdQUiA9
IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAgIGlm
ICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgKLSAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgp
KSwKLSAgICAgICAgICAgICAgICBzY3JhdGNoR1BSKTsKKyAgICAgICAgaWYgKG1fcHJvdG90eXBl
QWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIC8vIFRoaXMgaXNuJ3QgcHJldHR5LCBidXQgd2Ug
a25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQsCisgICAgICAgICAgICAvLyBh
bmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2VzcyBpbnNpZGUgc2NyYXRjaEdQUi4gV2UgY291bGQg
cmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAgICAgICAgLy8gYnV0IGl0J2QgcmVxdWlyZSBlbWl0
dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQgdGhlIGJhc2UgdHdpY2UuCiAgICAgICAgICAgICBi
YXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAg
ICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgICAgICAgICBiYXNl
Rm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICB9CiAKICAg
ICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0gSW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYg
KG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JH
ZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVlU2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21B
Y2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3ICsxMDk1LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpn
ZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAKICAgICBjYXNlIEludHJpbnNpY0dldHRl
cjogewogICAgICAgICBSRUxFQVNFX0FTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCgpKSk7Ci0g
ICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBnZXR0ZXIgdmFsdWUg
ZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVzLiBOb3RlIHRoYXQgR2V0dGVyU2V0dGVycwogICAg
ICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdlIGp1c3QgbmVlZCB0byB3YXRjaCB0aGUgcHJvcGVy
dHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQuCiAgICAgICAgIFN0cnVjdHVyZSogY3VyclN0cnVj
dHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
aAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Fj
Y2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAi
SlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0Nv
bW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTEyMCwxMSArMTIxLDExIEBAIHB1
YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNy
ZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0ID0gaW52
YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAg
ICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgLy8gVGhpcyBjcmVhdGUgbWV0aG9k
IHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0aW9ucy4KICAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwKLSAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNz
Q2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gZnJvbVN0
cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxsKiBvd25lciwgU3RydWN0dXJlU3R1YkluZm8mKTsK
IApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNl
KCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJvdG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICB9CisKIHByb3RlY3RlZDoKLSAgICBB
Y2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQs
IFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNj
ZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoVk0m
LCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nlc3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0
OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYgb3RoZXIpCisgICAgICAgIDogbV90
eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAgLCBtX3N0YXRlKG90aGVyLm1fc3RhdGUpCisgICAg
ICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZzZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1cmUob3Ro
ZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwgbV9jb25kaXRpb25TZXQob3RoZXIubV9jb25kaXRp
b25TZXQpCisgICAgeworICAgICAgICBpZiAob3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbikK
KyAgICAgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBvdGhlci5tX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0KKwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShj
b25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0
YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0yMjcsNiArMjQ0LDggQEAgcHJpdmF0ZToKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5Myw3ICs1OTMsNyBAQCBib29s
IENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICBpbnQgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29wTGVuZ3RoIC0gMl0udS5vcGVyYW5kOwogCiAgICAg
ICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxvY2F0aW9u
UHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXpl
KHZtLAorICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemVQcm9m
aWxlKHZtLAogICAgICAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LmdldCgpLCB0aGlzLCBtX2ds
b2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6
Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3Qt
PmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisK
KyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAg
IHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAg
CiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsK
ICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBu
YW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9v
bCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNl
dHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAg
ICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6
OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90
QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nl
c3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwo
dm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAot
ICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0
b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERP
TUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5
cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDE4ICs2MywxOCBAQCBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4g
cmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3Rv
bVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+
IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0
b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQt
Pm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nl
c3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsK
IH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6
OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKLSAgICBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90
b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0
dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9
PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFj
Y2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RC
YXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3Vs
dChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNz
b3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAg
ICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBu
dWxscHRyLAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAg
ICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0
KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERP
TUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZN
JiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQs
Ci0gICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+LAorICAgICAgICBQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsIEpTT2JqZWN0KiBjdXN0b21TbG90
QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1h
UHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNjcsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9w
YXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0Nl
bGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRp
dGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFj
Y2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2Zp
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJu
YWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2Zp
bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBT
dHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2Nh
dGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3Ry
dWN0dXJlKQogewogICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCkt
PmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQo
YmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVz
IGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFz
ZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VT
dHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dl
dHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiBuYW1l
c3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKQotICAgIDogQmFzZSh2
bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpCiB7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5z
ZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5jdGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3ND
YXNlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQy
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoSlNG
dW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZW1pdEludHJpbnNpY0dldHRlcihBY2Nl
c3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgd29yayB3aXRo
IHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRl
KFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pOwogCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNz
Q2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBNb2R1bGVO
YW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVj
dCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNj
b3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGlu
dmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpCisgICAg
OiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVs
bHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgbnVsbHB0cikKICAgICAsIG1fc2Nv
cGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0
KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oIgorCisjaW5j
bHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisKK25h
bWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXpl
UHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3du
ZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHks
IEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOwor
ICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7
CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBh
biBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3JlYXRlX3RoaXMnIGZhc3QgcGF0aCBob3cg
dG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgYm9vbCBpc1BvbHlQcm90byA9IGZh
bHNlOworICAgIGlmIChjb25zdHJ1Y3RvcikgeworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUgPSBjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisKKyAgICAgICAgaWYg
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0
dXJlKCkpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8o
KS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBlKTsKKyAgICAgICAgICAgIG1fYWxsb2NhdG9yID0g
bnVsbHB0cjsKKyAgICAgICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVy
ZSk7CisgICAgICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBh
Y2l0eSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgSW5mZXJy
ZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvciA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+
ZW5zdXJlUmFyZURhdGEodm0pLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKyAgICAg
ICAgYm9vbCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBpZiAo
SlNPYmplY3QqIHByb3RvdHlwZU9mUHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KHZtLCBwcm90b3R5cGUtPmdldFByb3RvdHlwZURpcmVjdCgpKSkgeworICAgICAgICAgICAgcGFy
ZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJl
KHZtKS0+aGFzUmFyZURhdGEoKQorICAgICAgICAgICAgICAgICYmIHByb3RvdHlwZU9mUHJvdG90
eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5pbmZlcnJlZENvbnN0cnVjdG9yKCkKKyAg
ICAgICAgICAgICAgICAmJiBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+cmFy
ZURhdGEoKS0+aW5mZXJyZWRDb25zdHJ1Y3RvcigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBj
b25zdHJ1Y3RvciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUiKTsKKworICAgICAgICBpc1BvbHlQcm90byA9IChpbmZlcnJlZENvbnN0cnVj
dG9yLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSB8fCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90bykg
JiYgZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7
CisgICAgICAgIGlmIChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAgICAgICAgICAgaXNQ
b2x5UHJvdG8gPSB0cnVlOworICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0g
MDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1
bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVj
dCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAg
ICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5
IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVz
dCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlv
bi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1
bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1
cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisg
ICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9
IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAg
ICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBp
ZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5s
aW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4g
MCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVj
dDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciog
YWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisK
KyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxl
IGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90
IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9m
KFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7
CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2
bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICAvLyBF
bnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwg
c2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisg
ICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKS0+c2V0
Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBtX2FsbG9j
YXRvciA9IG51bGxwdHI7CisgICAgfSBlbHNlCisgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2Nh
dG9yOworCisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBt
X2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xv
YmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJy
YXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJv
bE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9w
ZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZl
Y3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNp
emUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVj
dCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJl
IGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90
IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwg
dmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAg
IH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1
OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVj
dHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0
b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lu
bGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0g
ICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7
Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAg
ICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0
aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwg
aW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlv
bnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vl
c3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAg
ICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0Ojph
bGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciog
YWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNp
dHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7
Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxv
Y2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAg
IGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJl
YWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0g
ICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7
Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAg
dm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVk
SW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRvciA9IDA7Cisg
ICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIo
KTsKICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChpc051bGwo
KSk7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWdu
ZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5
cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2Jq
ZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAg
ICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlO
YW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0
ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5n
ZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1l
cmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5h
bWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+
cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJv
cGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAg
ICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3Mt
bGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChq
c0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNv
dW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3Iq
IG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdl
bmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbiBnZW5lcmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFBy
b3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5j
ZSgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJl
KCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBp
ZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4g
T2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVy
dHlDb25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwg
b2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgp
KTsKICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYyLDEyIEBAIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEg
cHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW50
ZWdyYXRlIHRoaXMgd2l0aCBQcm90b3R5cGVBY2Nlc3NDaGFpbjoKKyAgICAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAg
IHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAgICAgICB9
CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVG
b3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0Fj
Y2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzOSw3ICszMzksNyBAQCBBY2Nlc3NHZW5lcmF0
aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNjZXNzSW50
ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBtX2xpc3Q6
ICIsIGxpc3REdW1wKG1fbGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVyYXRpb25T
dGF0ZSBzdGF0ZSh2bSk7CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtLCBjb2Rl
QmxvY2stPmdsb2JhbE9iamVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7CiAgICAg
c3RhdGUuc3R1YkluZm8gPSAmc3R1YkluZm87CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE3MSwxNCArMTcxLDE2IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1Y3Qg
QWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZt
KQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxPYmplY3Qo
Z2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNhbGxBbmRF
eGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3JlUmVnaXN0
ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNpdGVJbmRl
eChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFsT2JqZWN0
KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIgfTsKICAg
ICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNoUmVnaXN0
ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVyU3RhdGU7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0
eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2
ICsxMDcsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3Vy
cmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9mZnNl
dCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2Up
CkBAIC0xMzIsNiArMTQwLDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxp
ZEFzc3UKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJbnZhbGlkIGJlY2F1c2UgaXQncyBhIGRp
Y3Rpb25hcnkuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQorCisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAg
ICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJv
YmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55
d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAg
ICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgY3VycmVudEF0dHJpYnV0
ZXM7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdl
dENvbmN1cnJlbnRseSh1aWQoKSwgY3VycmVudEF0dHJpYnV0ZXMpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4u
Y3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90
b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNsdWRlICJK
U09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlw
ZUFjY2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBi
b29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5z
ZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9i
YWxPYmplY3QsIGJhc2UsIHRhcmdldCwgdXNlc1BvbHlQcm90byk7Cit9CisKK3N0ZDo6dW5pcXVl
X3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIEpTT2JqZWN0KiB0YXJn
ZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxsKiBjdXJyZW50ID0gYmFzZTsK
KyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKwor
ICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gcmVzdWx0KG5ldyBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKKworICAg
IHdoaWxlICh0cnVlKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+
c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nl
c0FyZUNhY2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFT
U0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZt
LCBhc09iamVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICByZXN1bHQtPm1fY2hh
aW4uYXBwZW5kKHN0cnVjdHVyZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7
CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNj
ZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29s
LiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhp
bmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdy
ZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90byB8PSAh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVu
dCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYg
KCFmb3VuZCAmJiAhIXRhcmdldCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitib29sIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJv
cGVydHlXYXRjaHBvaW50KCkgY29uc3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJl
IDogbV9jaGFpbikgeworICAgICAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitib29sIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0
IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFp
biA9PSBvdGhlci5tX2NoYWluOworfQorCit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpkdW1w
KFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQb2x5UHJvdG90eXBl
QWNjZXNzQ2hhaW4iKTsKKyAgICBvdXQucHJpbnQoIjogW1xuIik7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KCJcdCIpOworICAg
ICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICAgICAgb3V0LnByaW50KCJcbiIpOworICAg
IH0KKyAgICBvdXQucHJpbnQoIl0iKTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0
ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0No
YWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0Owor
Y2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisK
K2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1
YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0g
ZGVmYXVsdDsKKworICAgIC8vIFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBz
bG90LCBib29sJiB1c2VzUG9seVByb3RvKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKTsKKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY2xvbmUoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KCp0
aGlzKTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29u
c3QgeyByZXR1cm4gbV9jaGFpbjsgfQorICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4oKSB7
IHJldHVybiBtX2NoYWluOyB9IC8vIE9PUFM6IHRoaXMgaXMgdWdseSwgYmV0dGVyIHNvbHV0aW9u
IGZvciBUcmFuc2l0aW9uIQorCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
OworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhl
cikgY29uc3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWlu
JiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsK
KyAgICB9CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdDsK
KworcHJpdmF0ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKworICAg
IFZlY3RvcjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAvLyBJbmNsdWRlcyBiYXNlJ3Mgc3RydWN0dXJl
IGZvciBub3csIGJ1dCBwZXJoYXBzIHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQuCit9OworCit9Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJs
ZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDE3ICszMCwxOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotUHJveHlhYmxlQWNjZXNzQ2FzZTo6
UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNj
ZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94
eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBh
Y2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorUHJveHlhYmxlQWNj
ZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDog
QmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogICAgICwgbV92aWFQcm94eSh2aWFQ
cm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKIHsKICAgICBBU1NFUlQodHlwZSA9PSBMb2FkIHx8IHR5cGUgPT0gTWlzcyB8
fCB0eXBlID09IEdldEdldHRlcik7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KSk7CisgICAgcmV0
dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5
LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBQ
cm94eWFibGVBY2Nlc3NDYXNlOjp+UHJveHlhYmxlQWNjZXNzQ2FzZSgpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94
eWFibGVBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDEzICszMywxMyBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogY2xhc3MgUHJveHlhYmxlQWNjZXNzQ2FzZSA6IHB1YmxpYyBBY2Nlc3ND
YXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEFjY2Vzc0Nhc2UgQmFzZTsKKyAgICB1c2luZyBC
YXNlID0gQWNjZXNzQ2FzZTsKIAogICAgIGJvb2wgdmlhUHJveHkoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX3ZpYVByb3h5OyB9CiAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYWRkaXRpb25hbFNldC5nZXQoKTsgfQogCiAgICAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBB
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAg
Ym9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVs
bHB0cik7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCA9IG51bGxwdHIsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFp
bj4gPSBudWxscHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVBy
aW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
Y2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIH5Q
cm94eWFibGVBY2Nlc3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAgICBQcm94eWFibGVBY2Nlc3ND
YXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCk7CisgICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpT
Q2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFk
ZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiBw
cml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTg0LDYgKzE4NCw4IEBAIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6
Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3Qt
PmF0KGkpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAgICAgICAg
ICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUpOworICAgICAgICAgICAgaWYg
KGFjY2Vzcy51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRT
dGF0dXMoc2xvd1BhdGhTdGF0ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFB1dEJ5SWRW
YXJpYW50IHZhcmlhbnQ7CiAgICAgICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzczNyw2ICszNzM3LDExIEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAog
ICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVy
ZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAg
ICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUg
cmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBs
ZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBv
ZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogcmlnaHQgbm93LCBpZiB3ZSBoYXZlIGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBw
cm90by4gSG93ZXZlciwgdGhpcyB3aWxsCisgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSBj
aGFuZ2VkIGluIHRoZSBmdXR1cmUgb25jZSB3ZSBoYXZlIGEgaHlicmlkIGRhdGEgc3RydWN0dXJl
IGZvcgorICAgICAgICAgICAgICAgIC8vIHBvbHkgcHJvdG86CisgICAgICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQogICAgICAgICAg
ICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5z
dHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMzNCwxMiArNDMzOSwxNiBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVu
Y3Rpb24pIHsKICAgICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEg
PSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVE
YXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdp
c3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxy
ZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdl
IHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFw
aC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgu
d2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hw
b2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlz
IHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwg
YWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0
cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcs
OCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQ
cm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgp
LT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9
IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1
Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUt
PmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRs
eShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0gaW52YWxpZE9m
ZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlw
ZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8
SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkp
OwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICAgICAg
cmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOworICAg
ICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0
dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAg
ICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0
KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1
Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBK
U1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzAw
LDcgKzQzMDAsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVy
OjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVy
OjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFs
bG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxv
Y2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGls
ZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0
cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9q
aXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisK
ICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRyLCBhbGxvY2F0
b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUiwgc2xvd1Bh
dGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVz
cyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhR1BS
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVzdWx0KG5v
ZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVj
dChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2Ny
YXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3Rv
dHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNj
cmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFuIG9iamVjdC4K
ICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJy
YW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE1IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxl
cjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1E
ZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwK
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUpKTsKLSAgICBt
X2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaFJl
Zywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2Fk
T2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0
LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgLy9tX2pp
dC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6
cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAg
IG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0
dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQ
cm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsK
KyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOwor
ICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0
Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5l
U3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7
CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fz
c2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVy
OjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxv
b3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90
eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2go
dGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3Rv
dHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBz
Y3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIo
KTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAg
IAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNl
bGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVl
LmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXND
ZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcs
IHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAg
ICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE2LDE1
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhp
cyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2
YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5
cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQ
UlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1Jl
ZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0
KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsK
KyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBl
UmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3Nl
ZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcg
Y29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2
ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJv
b2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAg
ICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZh
bHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywg
R1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0
KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3Jh
dGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7
CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5z
dGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk2
OSwxMCArODk2OSwxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sg
aXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3Ag
PSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0
cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8g
PSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBl
ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2Ug
PSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBt
X291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0
ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3Rh
bmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVh
dGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0
aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVz
ZSkKQEAgLTg5OTAsMTYgKzg5OTIsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVt
cChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90
b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBl
Qml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxW
YWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUs
IG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAg
ICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmpl
Y3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJl
bHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJv
dG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAg
bV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAg
ICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAg
ICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAg
TFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBz
LlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0g
bV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90
eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1
bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAg
ICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAg
ICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25z
dEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1f
b3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9o
ZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwg
SlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1w
KGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90
b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUg
PSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBW
YWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xl
YW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwo
Y3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2Niwx
MyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBM
b2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1
YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQg
bnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFn
YWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsK
LSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSks
IHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdU
Myk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0
KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFuY2hJZk5vdElu
dDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJl
Z1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNP
YmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhhc1N0b3JlZFBy
b3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAgICBKdW1wIGlz
SW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAgZW1pdEp1bXBJ
ZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw2ICsyNDQsOCBA
QCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7
CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNl
VmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0
cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2
bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgJiYgc3RydWN0dXJlLT50eXBl
SW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAgICAgICAgICAgIGlmIChz
bG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRl
Q29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVC
bG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAotICAgICAgICAgICAgICAg
ICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgYm9v
bCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBiYXNlQ2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXBy
b3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRv
IGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICByZXR1cm4g
R2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgb2Zmc2V0ID0gc2xv
dC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0
aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAg
ICAgICAgICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgaW5zdGVhZCBm
b3IgZmFzdGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWlu
ID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgeworICAg
ICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9w
ZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBz
dHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0Zv
clByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVC
bG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCisgICAgICAgICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBv
ZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNl
dCgpOwogICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVsbHB0cjsK
QEAgLTI5MywxMyArMzA3LDE3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdl
dEJ5SUQKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKLSAgICAg
ICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVy
ZSkpCisgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZt
LCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRU
YXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYg
Z2V0dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0
ZXIoZ2V0dGVyLCBzdHJ1Y3R1cmUpICYmICFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG8s
IGJ1dCBmb3Igb3VyIG93biBzYW5pdHksIHdlIHByb2JhYmx5CisgICAgICAgICAgICAvLyB3YW50
IHRvIGRvIGEgcG9pbnRlciBjaGVjayBvbiB0aGUgYWN0dWFsIGdldHRlci4gQSBnb29kIHRpbWUg
dG8gbWFrZSB0aGlzIHdvcmsgd291bGQKKyAgICAgICAgICAgIC8vIGJlIHdoZW4gd2UgY2FuIGlu
aGVyaXQgZnJvbSBidWlsdGluIHR5cGVzIGluIHBvbHkgcHJvdG8gZmFzaGlvbjoKKyAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAg
ICAgICAgICAgIG5ld0Nhc2UgPSBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUodm0s
IGNvZGVCbG9jaywgc2xvdC5jYWNoZWRPZmZzZXQoKSwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IGdldHRlcik7Ci0gICAgICAgIGVsc2UgeworICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
aWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNVbnNldCgpKSB7CiAgICAgICAg
ICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJs
b2NrLCBzbG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3MgOiBBY2Nlc3NDYXNlOjpMb2Fk
LAotICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAg
ICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7
CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vz
c1R5cGUgdHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigp
KQpAQCAtMzE2LDcgKzMzNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdl
dEJ5SUQKICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwKICAgICAgICAgICAg
ICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/
IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICBzbG90
LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyLAotICAgICAg
ICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgICAgICBkb21BdHRy
aWJ1dGUsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgIH0KQEAgLTM4Niw2ICs0MDQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rp
b24gdHJ5Q2FjaGVQdXRCeUlECiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCiAgICAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2U7CisgICAgSlNDZWxsKiBiYXNlQ2Vs
bCA9IGJhc2VWYWx1ZS5hc0NlbGwoKTsKIAogICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNlVmFs
dWUgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAgICAgICAgIGlmIChzbG90LnR5cGUoKSA9
PSBQdXRQcm9wZXJ0eVNsb3Q6OkV4aXN0aW5nUHJvcGVydHkpIHsKQEAgLTQyOSw0OCArNDQ4LDg1
IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAgICAgICAg
IEFTU0VSVCghbmV3U3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSk7CiAgICAgICAgICAgICBBU1NF
UlQobmV3U3RydWN0dXJlLT5pc09iamVjdCgpKTsKICAgICAgICAgICAgIAorICAgICAgICAgICAg
c3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFp
bjsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsK
ICAgICAgICAgICAgIGlmIChwdXRLaW5kID09IE5vdERpcmVjdCkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0Zv
clByb3BlcnR5U2V0dGVyTWlzcygKLSAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxv
Y2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBp
ZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9s
eVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQ
cm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwg
YmFzZUNlbGwsIG51bGxwdHIsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICgh
cHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZh
bGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgaWYgKHVzZXNQb2x5UHJvdG8pCisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluLT5jaGFpbigpWzBdID0gc3RydWN0dXJlOyAvLyBPT1BTIHNvIGhhY2t5IQorICAg
ICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAg
ICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1p
c3MoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3
U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRp
dGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIH0KIAotICAgICAgICAg
ICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQsIHN0
cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgbmV3Q2Fz
ZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQsIHN0cnVjdHVyZSwg
bmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4p
KTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpIHx8
IHNsb3QuaXNDYWNoZWFibGVTZXR0ZXIoKSkgewogICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJs
ZUN1c3RvbSgpKSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25k
aXRpb25TZXQ7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkg
IT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXRDdXN0
b20oCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29u
ZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8g
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2Vs
bCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICghcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlk
IHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVBy
b3BlcnR5SGl0Q3VzdG9tKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxv
Y2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6
OmNyZWF0ZSgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNj
ZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6
Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNldCwgY29uZGl0aW9uU2V0
LAotICAgICAgICAgICAgICAgIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKKyAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFj
Y2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVT
ZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNldCwKKyAgICAgICAgICAgICAgICBjb25kaXRp
b25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pLCBzbG90LmN1c3RvbVNldHRlcigp
LCBzbG90LmJhc2UoKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7Ci0gICAgICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQ7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgp
ICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAg
ICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAot
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBz
bG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFs
c2U7CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNs
b3QuYmFzZSgpLCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlw
ZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBh
Y2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBHaXZlVXBPbkNhY2hlOwotICAgICAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5z
bG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgb2Zmc2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAg
ICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAg
ICBjb25kaXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisKKyAgICAgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQob2Zmc2V0ID09IGNvbmRpdGlvblNldC5zbG90QmFzZUNv
bmRpdGlvbigpLm9mZnNldCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgK
LSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVj
dHVyZSwgb2Zmc2V0LCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxv
Y2ssIEFjY2Vzc0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCwg
V1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01
MTcsMTUgKzU3MywzNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNl
LT5zdHJ1Y3R1cmUodm0pOwogICAgIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nl
c3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgY29uZGl0aW9uU2V0OwogICAgIGlmICh3YXNGb3VuZCkgewotICAgICAgICBpZiAoc2xv
dC5zbG90QmFzZSgpICE9IGJhc2UpIHsKLSAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBs
KCkpOworICAgICAgICBpZiAoc2xvdC5zbG90QmFzZSgpICE9IGJhc2UpIHsgCisgICAgICAgICAg
ICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vz
c0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0
byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAgICAgICAgICAgICAgcmV0dXJu
IEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIXVzZXNQb2x5
UHJvdG8pIHsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7
CisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
dG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2Vu
ZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAgICBib29sIHVzZXNQb2x5
UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVB
Y2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xv
dCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsK
KyAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJv
cGVydHkuCisgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNz
Q2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25k
aXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIHN0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAo
IWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpA
QCAtNTMzLDcgKzYwOSw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4o
CiAgICAgTE9HX0lDKChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCksIGlkZW50KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2Fz
ZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQg
PyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29kZUJsb2NrLCB3YXNGb3Vu
ZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikp
OwogCiAgICAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBzdHViSW5mby5hZGRBY2Nl
c3NDYXNlKGxvY2tlciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShuZXdDYXNlKSk7CiAgICAg
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2MCwxNiArNzYwLDE3IEBAIExMSU5U
X1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPm91
dE9mTGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNp
dGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7CiAKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52
YWxpZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgc2F3UG9seVBy
b3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXpl
UHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG8pOworICAgICAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVDaGFpbiAmJiAhc2F3UG9s
eVByb3RvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2
aW91c0lEKCktPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNF0udS5z
dHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pZCgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7
CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShwY1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1
dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVD
aGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNlbGwpKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBj
WzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNb
N10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVCbG9jaywgY2hhaW4pOwogICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlk
RmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+KAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMg
aW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBv
YmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZN
JiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBhdXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0g
ICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAKIHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2lu
KEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0
b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2MDksNyBAQCBzdGF0aWMgaW5saW5lIEpT
VmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJh
bENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNL
bm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tu
b3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC02MzQsNyArNjMzLDcgQEAg
c3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAg
IGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAg
ICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVP
SyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtODE2LDcgKzgxNSw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1
dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRv
IGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRh
aW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhl
YywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAm
JiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlm
IChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7
Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
T2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwg
ZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVj
dCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0gKnRoaXNPYmplY3QtPmJ1dHRlcmZseSgp
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVu
Z3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMo
KSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAg
ICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRh
ID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBk
YXRhICsgbGVuZ3RoKTsKQEAgLTExNzQsNyArMTE3Myw3IEBAIHN0YXRpYyBib29sIG1vdmVFbGVt
ZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5p
bmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0dXJlKCktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNv
dXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5n
dGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5k
ZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0OSw5IEBAIENsb25lZEFyZ3VtZW50cyog
Q2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJm
bHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpIHx8IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5
U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxl
bmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5W
ZWN0b3IgPSB2ZWN0b3JMZW5ndGg7Ci0KICAgICB9IGVsc2UgewogICAgICAgICBJbmRleGluZ0hl
YWRlciBpbmRleGluZ0hlYWRlcjsKICAgICAgICAgaW5kZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVu
Z3RoKHZlY3Rvckxlbmd0aCk7CkBAIC04MSw3ICs4MCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xv
bmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVj
dCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwg
b2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBi
dXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRl
RW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3Ry
dWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUs
MTQgKzEyNCwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAg
ICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9u
ZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFT
U0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aE1hY2hp
bmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3Vt
ZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdp
dGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAg
QVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAg
ICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93
UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTsp
CiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtp
XS5qc1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGlu
Z1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3df
cGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10u
dS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5y
YXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkt
PnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVj
LCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJv
dG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhl
YykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwu
b3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAg
ICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6
dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNvZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFr
bHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtlZEV4
ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9uRnVu
Y3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUG9seVByb3Rv
U3RydWN0dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6
OmZyb21HbG9iYWxDb2RlKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMy0y
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
OS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMTcyLDYgKzE3Miw5IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX0lO
Rk87CiAKICAgICBJbmZlcnJlZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1f
c2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICAvLyBDYWNoZWQgcG9seSBwcm90byBzdHJ1
Y3R1cmUgZm9yIHRoZSByZXN1bHQgb2YgY29uc3RydWN0aW5nIHRoaXMgZXhlY3V0YWJsZS4KKyAg
ICBTdHJ1Y3R1cmUqIGNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY2FjaGVk
UG9seVByb3RvU3RydWN0dXJlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDYWNoZWRQb2x5UHJvdG9T
dHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkgeyBtX2NhY2hlZFBvbHlQcm90
b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7IH0KIAogcHJpdmF0ZToKICAgICBm
cmllbmQgY2xhc3MgRXhlY3V0YWJsZUJhc2U7CkBAIC0xODksNiArMTkyLDcgQEAgcHJpdmF0ZToK
ICAgICBXcml0ZUJhcnJpZXI8RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29uc3Ry
dWN0OwogICAgIFJlZlB0cjxUeXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAgICAg
V3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgp
CiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRp
b25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRh
Ojppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9m
aWxlKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNv
bnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFy
KiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0g
ICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
dm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlv
biogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5p
dGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsg
fQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5h
bEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5
NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVj
dHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewot
CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3Ry
dWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anND
YWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7
CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2Vy
ZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRG
dW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAg
IEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MzgsNyArNzM4LDcgQEAgSlNBcnJheSogSlNB
cnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAg
ICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0o
KTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNv
dW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC03NzMsNyArNzczLDcgQEAgYm9vbCBKU0FycmF5Ojpz
aGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250
YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8g
dXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0
b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAog
ICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChp
bmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTA0LDcgKzkwNCw3
IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8g
V2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3Mg
YXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2gg
c2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3Rv
cmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAg
ICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9
IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAg
ICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtOTQ1LDcgKzk0NSw3IEBAIGJvb2wgSlNBcnJheTo6
c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBm
b3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2Ug
ZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4g
cmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAg
ICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAg
aWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwg
dGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBl
bmQ7ICsraSkgewogICAgICAgICAgICAgICAgIGRvdWJsZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1
b3VzRG91YmxlKClbaSArIGNvdW50XTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkodiAh
PSB2KSkgewpAQCAtMTI5Miw3ICsxMjkyLDcgQEAgYm9vbCBKU0FycmF5Ojppc0l0ZXJhdG9yUHJv
dG9jb2xGYXN0QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCisgICAgaWYg
KGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5l
cy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw4ICs2Miw4IEBAIGlubGluZSBi
b29sIEpTQXJyYXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdhdGNocG9pbnQgZm9yIGluZGV4ZWQgcHJv
cGVydGllcyBvbiBBcnJheS5wcm90b3R5cGUgYW5kIE9iamVjdC5wcm90b3R5cGUKICAgICAvLyBp
bnN0ZWFkIG9mIHdhbGtpbmcgdGhlIHByb3RvdHlwZSBjaGFpbi4gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTU5MgotICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pCi0gICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykKKyAgICAgICAg
fHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCBvdGhlckFycmF5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVl
OwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpT
VmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVj
dHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAg
ICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAg
ICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmpl
Y3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIs
IGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5w
cmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIp
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQ
b2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0
KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2
NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7
CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVy
ZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnBy
aW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNiwxNiArMTI2LDIyIEBA
IEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9y
YXJlRGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNv
bnN0cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOworICAgIGlmIChw
cm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7
CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisK
IEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVE
YXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VS
VCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCog
cHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAg
IHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmpl
Y3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAg
RnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0p
OwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmlu
aXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlv
biB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byByZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3
YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMgaXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDks
MTEgKzE1NSw4IEBAIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsK
ICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAg
IEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChl
eGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlw
ZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsK
LSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHBy
b3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJl
RGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qo
dm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJl
RGF0YS5nZXQoKTsKIH0KIApAQCAtMzcxLDcgKzM3NCw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0
T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAgICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdl
dERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVz
KTsKICAgICAgICAgICAgIEFTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9
Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2Jq
ZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zmc2V0KTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5
KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1l
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFtZSk7CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3Rv
X18gZm9yIHRoZSB8dGhpc3wgdmFsdWUgaWYgdGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29u
c3RydWN0ZWQuCisgICAgSlNPYmplY3QqIHByb3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4
ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYs
IEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAg
ICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9
IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVj
dCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAg
Ym9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWds
b2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVTZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAo
c3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlw
ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3
MCw3ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAg
ICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZt
LCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChv
ZmZzZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRl
OjpSZWFkT25seSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09
IHRoaXMpOworICAgICAgICAgICAgICAgIEFTU0VSVCh0aGlzLT5wcm90b3R5cGVDaGFpbk1heUlu
dGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOwogICAgICAg
ICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2Rl
KCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICAg
ICAgfQogCkBAIC0xMDE1LDcgKzEwMTUsNyBAQCBCdXR0ZXJmbHkqIEpTT2JqZWN0OjpjcmVhdGVJ
bml0aWFsSW5kZXhlCiAgICAgQVNTRVJUKGxlbmd0aCA8PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVO
R1RIKTsKICAgICBJbmRleGluZ1R5cGUgb2xkVHlwZSA9IGluZGV4aW5nVHlwZSgpOwogICAgIEFT
U0VSVF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5cGUpKTsKLSAg
ICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICBBU1NF
UlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2
bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5l
Q2FwYWNpdHkoKTsKQEAgLTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRl
QXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVj
dG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdl
KiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0
cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRy
YW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJ
RCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVu
ZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0
b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRp
Z3VvdXNEb3VibGVzIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0RvdWJsZShWTSYgdm0pCkBAIC0x
MjY0LDcgKzEyNjQsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0Fy
CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKFZN
JiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVj
dHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJu
IGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3Vi
bGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0
RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFn
ZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQXJyYXlTdG9y
YWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5v
blByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENv
bnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKIH0KIAogdm9pZCBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZEZvclZhbHVlKFZNJiB2
bSwgSlNWYWx1ZSB2YWx1ZSkKQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVl
cyBKU09iamVjdDo6ZW5zdXJlSW50MzIKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgp
KSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJ
S0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29u
dGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIodm0s
IDApOwogICAgICAgICAKQEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpT
T2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7
CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VM
WShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNl
KCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGln
dW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDAp
OwogICAgICAgICAKQEAgLTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09i
amVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAg
ICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkg
fHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91
c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQ29udGlndW91cyh2bSwg
MCk7CiAgICAgICAgIApAQCAtMTU0MCwyMiArMTU0MCwyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0OjplbnN1cmVBcnJheVN0b3JhCiAgICAgICAgIAogICAgIGNhc2UgQUxMX1VOREVDSURFRF9J
TkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkp
OwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1
cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91
bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
ICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAg
CiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0p
OwogICAgICAgICAKICAgICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgogICAg
ICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCgh
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91
c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzMsMTQg
KzE2MzMsMTcgQEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAg
IGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgdm0ucHJvdG90eXBlTWFwLmFkZFBy
b3RvdHlwZShhc09iamVjdChwcm90b3R5cGUpKTsKICAgICAKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0
dXJlKHZtKSwgcHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7
Ci0gICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpIHsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7
CisgICAgICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgcHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUodm0pLT5wb2x5UHJvdG9PZmZzZXQoKSwgcHJv
dG90eXBlKTsKKworICAgIGlmICghYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1h
cC5pc1Byb3RvdHlwZSh0aGlzKSkgewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVj
dCgpLT5oYXZlQUJhZFRpbWUodm0pOworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmpl
Y3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAg
LTE5NTEsNyArMTk1NCw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUo
RXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9k
cyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5n
IHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFBy
b3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpT
T2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJl
KHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVjdC0+c3Ry
dWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZt
KTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7
CkBAIC0yNzI2LDcgKzI3MzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVj
dG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdp
dGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRo
cm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBp
ZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAo
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5k
ZXhpbmcgdHlwZSB0byB0aGUgU2xvd1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAg
ICAgICBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwg
MCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMs
IGksIHZhbHVlLCBzaG91bGRUaHJvdyk7CkBAIC0yODc4LDcgKzI4ODIsNyBAQCBib29sIEpTT2Jq
ZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJleW9uCiAgICAgICAgICAgICByZXR1cm4gcHV0RGly
ZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAg
ICAgIGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uo
dm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkg
ewogICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdl
KHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAg
ICAgICBzdG9yYWdlLT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAg
ICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKQEAgLTM1NTgsNyArMzU2Miw3IEBA
IHVpbnQzMl90IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEUKIHsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1
cmUodm0pOwotICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpCisgICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBv
YmplY3QpKQogICAgICAgICByZXR1cm4gMDsKICAgICBzd2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdU
eXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKQEAgLTM2NjgsNCAr
MzY3Miw1NiBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRNZXRob2QoRXhlY1N0YXRlKiBlCiAgICAg
cmV0dXJuIG1ldGhvZDsKIH0KIAorYm9vbCBKU09iamVjdDo6YW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7CisgICAgVk0mIHZtID0gKnRoaXMtPnZt
KCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAg
ICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAo
cHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAK
KyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorfQorCitib29s
IEpTT2JqZWN0Ojpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQoreworICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFt
ZSkpCisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCk7CisgICAgCisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsK
KyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3Qo
KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOwor
ICAgICAgICAKKyAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKKyAgICAgICAgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5h
bWUsIGF0dHJpYnV0ZXMpOworICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQp
KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIAorICAgICAgICBpZiAoYXR0cmlidXRl
cyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNj
ZXNzb3IpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOworfQor
CitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gSlNPYmplY3Q6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSBjb25zdAoreworICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAg
ICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0
b3JhZ2U7CisgICAgCisgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVB
cnJheVN0b3JhZ2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiUHV0RGlyZWN0SW5kZXhNb2RlLmgiCiAjaW5jbHVkZSAiUHV0
UHJvcGVydHlTbG90LmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCisjaW5jbHVkZSAiU3RydWN0
dXJlVHJhbnNpdGlvblRhYmxlLmgiCiAjaW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJKU1N0cmlu
Zy5oIgogI2luY2x1ZGUgIlNwYXJzZUFycmF5VmFsdWVNYXAuaCIKQEAgLTEzMSw3ICsxMzIsNyBA
QCBwdWJsaWM6CiAgICAgLy8gSXQgaXMgdmFsaWQgdG8gdXNlIHRob3VnaCB3aGVuIHlvdSBrbm93
IHRoYXQgeW91IHdhbnQgdG8gZGlyZWN0bHkgZ2V0IGl0CiAgICAgLy8gd2l0aG91dCBjb25zdWx0
aW5nIHRoZSBtZXRob2QgdGFibGUuIFRoaXMgaXMgYWtpbiB0byBnZXR0aW5nIHRoZSBbW1Byb3Rv
dHlwZV1dCiAgICAgLy8gaW50ZXJuYWwgZmllbGQgZGlyZWN0bHkgYXMgZGVzY3JpYmVkIGluIHRo
ZSBzcGVjaWZpY2F0aW9uLgotICAgIEpTVmFsdWUgZ2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3Q7
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSBnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25z
dDsKIAogICAgIC8vIFRoaXMgc2V0cyB0aGUgcHJvdG90eXBlIHdpdGhvdXQgY2hlY2tpbmcgZm9y
IGN5Y2xlcyBhbmQgd2l0aG91dAogICAgIC8vIGRvaW5nIGR5bmFtaWMgZGlzcGF0Y2ggb24gW1tT
ZXRQcm90b3R5cGVPZl1dIG9wZXJhdGlvbiBpbiB0aGUgc3BlY2lmaWNhdGlvbi4KQEAgLTczMyw2
ICs3MzQsMTIgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGlz
RXh0ZW5zaWJsZShKU09iamVjdCosIEV4ZWNTdGF0ZSopOwogICAgIGJvb2wgaXNTZWFsZWQoVk0m
IHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc1NlYWxlZCh2bSk7IH0KICAgICBib29sIGlz
RnJvemVuKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJlKHZtKS0+aXNGcm96ZW4odm0pOyB9CisK
KyAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBj
b25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJj
ZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRl
eGluZygpIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgQUxXQVlTX0lOTElORSBi
b29sIGlzRXh0ZW5zaWJsZUltcGwoKSB7IHJldHVybiBpc1N0cnVjdHVyZUV4dGVuc2libGUoKTsg
fQogcHVibGljOgpAQCAtODY2LDcgKzg3Myw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBp
bmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8
IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwor
ICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSB8fCBnZXRQ
cm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6Omhl
YXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5p
c09iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEy
OTgsNyArMTMwNSw3IEBAIGlubGluZSBKU09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QK
IAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4g
c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUg
SlNPYmplY3Q6OmdldFByb3RvdHlwZShWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAs
NyArMTQwNyw5IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAg
ICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3Qt
PnN0cnVjdHVyZUlEKCkpOwogICAgICAgICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3Bl
cnR5U2xvdCh2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBsb29rIGxpa2Ug
aXQncyBmb2xsb3dpbmcgdGhlIHNwZWNpZmljYXRpb246CisgICAgICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI1NzIKKyAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAo
IXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVj
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdElubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTExNiw3ICsxMTYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3Bl
cnR5CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7
CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUu
Z2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhv
ZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkK
LSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBl
KHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNl
KTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5v
bkluZGV4CiAgICAgICAgIH0KICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlm
IChMSUtFTFkoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBl
ID09IGRlZmF1bHRHZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQ
cm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAg
IHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBw
cm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsK
ICAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsK
ICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3
ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAg
fQogCiAgICAgaWYgKHRoaXNPYmplY3QtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9w
ZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAg
ICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8odm0sIHByb3BlcnR5TmFtZSkpOwogICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVj
dEludGVybmFsPFB1dE1vZGVQdXQ+KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkK
ICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RN
b2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lRW51bWVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iu
aAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3IqIHByb3BlcnQKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0
cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFpbmRleGVkTGVuZ3RoCiAgICAgICAgICYmIChlbnVtZXJh
dG9yID0gc3RydWN0dXJlLT5jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAg
ICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90
b3R5cGVDaGFpbihleGVjKSkKKyAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBl
Q2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKQogICAgICAg
ICByZXR1cm4gZW51bWVyYXRvcjsKIAogICAgIHVpbnQzMl90IG51bWJlclN0cnVjdHVyZVByb3Bl
cnRpZXMgPSAwOwpAQCAtMTMzLDEyICsxMzMsMTUgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvciogcHJvcGVydAogCiAgICAgQVNTRVJUKHByb3BlcnR5TmFtZXMuc2l6ZSgpIDwgVUlO
VDMyX01BWCk7CiAKLSAgICBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUp
OworICAgIGJvb2wgc2F3UG9seVByb3RvOworICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG8pOwogCiAgICAgZW51bWVy
YXRvciA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGlu
ZGV4ZWRMZW5ndGgsIG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlO
YW1lcykpOwotICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYg
c3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgc3Ry
dWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsK
KyAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgYmFzZS0+c3RydWN0dXJlKHZtKSA9PSBzdHJ1Y3R1
cmUgJiYgcmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVDaGFpbikgeworICAgICAgICBlbnVtZXJh
dG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFp
bihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlO
YW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAgICAgcmV0dXJuIGVudW1l
cmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0Ojppc0l0ZXJh
dG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3Qt
PnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkK
KyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3Rv
dHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmpl
Y3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5v
bk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJvdG90eXBlQWRk
RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAg
ICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkg
IT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1
Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5
Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwx
MyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3Vy
cmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50
bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0
Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAg
IEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRseSgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTM2LDEzICsxMzYsMTkgQEAgYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUgdikKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJh
bWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitzaXplX3Qgbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBi
b29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFsc2U7CiAgICAgd2hpbGUg
KDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0
dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKworICAgICAgICBzYXdQb2x5UHJvdG8gfD0gIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBl
Q2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29r
dXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1
cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9u
cy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5
cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBib29sIGpzSXNPYmplY3RUeXBlT3JO
dWxsKENhbGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUp
Owotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSop
Oworc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSos
IGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5n
KEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBKU1N0cmluZyogczIpCiB7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAg
ICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1
ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFz
dCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2
KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAi
SWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRv
IEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2wsIHVzZU9iamVjdFJlc3RTcHJlYWQsIHRydWUsIE5v
cm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIE9iamVjdCBSZXN0L1NwcmVhZCBmZWF0dXJl
LiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9y
bWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHBy
b2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xh
aW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9m
aWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJy
YXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxl
IHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKVwKKyAgICB2KGJvb2wsIGZvcmNl
UG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdh
eXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikKIAogCiBl
bnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQcm90b3R5cGUoSlNPYmplY3QK
ICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBQcm90
b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3Qg
Q2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJ
bmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwg
Ym9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtl
X3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0
KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7IC8vIFdlIHVzZSBudWxscHRyIGlu
c2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1lYW4gcG9seSBwcm90bywgc28gdXNl
cidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVsbCBwcm90b3R5cGVzLgorCisgICAg
YXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51bGxw
dHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7
CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7
CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgICAgICBhZGRQ
cm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICAgICAg
QVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwogICAgICAgICByZXR1cm4gc3RydWN0dXJl
OwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVjdC0+dm0o
KSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5n
VHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgp
OworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0
dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAg
ICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlw
ZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAg
ICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4
aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBtX3N0cnVjdHVyZXMuc2V0KGtl
eSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOworCiAgICAgcmV0dXJuIHN0cnVjdHVyZTsK
IH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eVN0
cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNhcGFj
aXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1bmN0
aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4KICAg
ICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBl
KCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGlu
Z1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQog
ICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBlICYgfkluZGV4aW5nU2hhcGVNYXNr
KSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0
cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8o
KSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCk7CisgICAgcmV0
dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3Ry
dWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdU
eXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVj
dFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK1N0cnVjdHVyZSogUHJv
dG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIHJldHVybiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlw
ZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5k
ZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0
dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBK
U0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogdm9pZCBQcm90
b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUob2JqZWN0
LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsK
KyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShudWxscHRyLCBpbmxpbmVD
YXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90
b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDE4ICs0NiwxOCBA
QCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVy
ZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBT
dHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3Rv
U3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1w
dHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBjbGVhckVtcHR5T2JqZWN0U3RydWN0
dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRQcm90b3R5cGUoSlNP
YmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQcm90b3R5cGUoSlNPYmplY3QqKSBjb25z
dDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4KIAogcHJpdmF0ZToKLSAgICBT
dHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5
U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgV2Vha0dDTWFwPEpT
T2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUg
a2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3Qq
LCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJl
PiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0dXJlTWFwID0gV2Vha0dDTWFwPHN0ZDo6
dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmpl
Y3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1
cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1
Y3R1cmUuZ2V0KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNh
cGFjaXR5KQogICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMs
IHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlz
LCBwcmV2aW91cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91
cy0+bV9jbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hl
ZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCkBAIC0yOTUsNiArMjk1LDIzIEBAIHZv
aWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0aWNfY2FzdDxTdHJ1
Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7CiB9CiAKK1N0cnVjdHVyZSog
U3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5m
bywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUs
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVjdHVyZSogcmVzdWx0ID0gY3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5k
ZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1bnNpZ25lZCBvbGRPdXRPZkxpbmVD
YXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKKyAgICByZXN1bHQtPmFkZFBy
b3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5i
dWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwKKyAgICAgICAgWyZdIChjb25z
dCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFByb3Bl
cnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKFN0
cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0gb2xkT3V0T2ZMaW5l
Q2FwYWNpdHkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zm
c2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2bSwgcmVzdWx0LCBq
c051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0TGFzdE9mZnNldChuZXdM
YXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lk
IFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6YXRpb24oVmVjdG9y
PFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1Y3R1cmUsIFByb3Bl
cnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0dXJlcy5pc0VtcHR5KCkpOwpA
QCAtMzk4LDI2ICs0MTUsMTQgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJh
bnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJl
SW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0KIAotYm9vbCBTdHJ1
Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25z
dAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpT
T2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50
ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlm
IChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCk7Ci0g
ICAgfQotfQorICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogCi1ib29s
IFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSkgY29uc3QKLXsK
ICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5
cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZShiYXNl
KTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MjYsNyAr
NDMxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgICAg
ICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3QtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAg
IGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB8fCBzdHJ1
Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAg
ICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBAIC00MzYsMjAgKzQ0
MSw2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKQotICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOwot
fQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkK
LSAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJy
YXlTdG9yYWdlOwotICAgIAotICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlQXJyYXlTdG9yYWdlOwotfQotCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlU
cmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7
CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4
aXN0aW5nU3RydWN0dXJlKApAQCAtNTUyLDYgKzU0Myw4IEBAIFN0cnVjdHVyZSogU3RydWN0dXJl
OjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNoYW5nZVByb3Rv
dHlwZVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNWYWx1ZSBwcm90
b3R5cGUpCiB7CisgICAgQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpIHx8IHByb3RvdHlwZS5p
c051bGwoKSk7CisKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAgICAgU3RydWN0dXJl
KiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCkBAIC0xMDY3LDExICsxMDYw
LDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cgogICAgICAgICBt
X3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVjdHVyZUZpcmVEZXRh
aWwodGhpcykpOwogfQogCi1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKENv
ZGVCbG9jayogY29kZUJsb2NrKSBjb25zdAotewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29r
dXAoY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjp2aXNp
dENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgU3Ry
dWN0dXJlKiB0aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+KGNlbGwpOwpAQCAtMTEwOSw3
ICsxMDk3LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygpCiAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAogICAgIAogICAgIHJl
dHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KG1fZ2xv
YmFsT2JqZWN0LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8
fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwor
ICAgICAgICAmJiAoIWhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFzdG9yZWRQcm90b3R5cGVPYmpl
Y3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVPYmplY3Qo
KSkpOwogfQogCiBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCkBAIC0xMTIxLDQwICsxMTA5LDE5IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChT
bG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0
eU5hbWUpCi17Ci0gICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0
dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKLSAgICAK
LSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgaWYgKHBy
b3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCi0g
ICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7Ci0gICAg
ICAgIAotICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7Ci0g
ICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCi0gICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgCi0gICAgICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCi0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19
Ci0KLVJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKEpTVmFs
dWUgdmFsdWUpCitSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFw
ZShKU1ZhbHVlIHZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7CiAgICAgUmVm
PFN0cnVjdHVyZVNoYXBlPiBiYXNlU2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CiAg
ICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBjdXJTaGFwZSA9IGJhc2VTaGFwZS5wdHIoKTsKICAg
ICBTdHJ1Y3R1cmUqIGN1clN0cnVjdHVyZSA9IHRoaXM7CiAgICAgSlNWYWx1ZSBjdXJWYWx1ZSA9
IHZhbHVlOworICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlOwogICAgIHdoaWxlIChj
dXJTdHJ1Y3R1cmUpIHsKKyAgICAgICAgc2F3UG9seVByb3RvU3RydWN0dXJlIHw9ICFjdXJTdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOwogICAgICAgICBjdXJTdHJ1Y3R1cmUtPmZvckVh
Y2hQcm9wZXJ0eUNvbmN1cnJlbnRseSgKICAgICAgICAgICAgIFsmXSAoY29uc3QgUHJvcGVydHlN
YXBFbnRyeSYgZW50cnkpIC0+IGJvb2wgewotICAgICAgICAgICAgICAgIGN1clNoYXBlLT5hZGRQ
cm9wZXJ0eSgqZW50cnkua2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoIVByb3BlcnR5TmFtZShl
bnRyeS5rZXkpLmlzUHJpdmF0ZU5hbWUoKSkKKyAgICAgICAgICAgICAgICAgICAgY3VyU2hhcGUt
PmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICAgICAgfSk7CiAKQEAgLTExNjgsMjYgKzExMzUsMjQgQEAgUmVmPFN0cnVjdHVyZVNo
YXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dQogCiAgICAgICAgIGN1clNoYXBlLT5tYXJrQXNGaW5h
bCgpOwogCi0gICAgICAgIGlmIChjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpKSB7Ci0gICAgICAgICAgICBhdXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0
ZSgpOwotICAgICAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7
Ci0gICAgICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOwotICAgICAgICAgICAg
Y3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICB9Cisg
ICAgICAgIGlmICghY3VyVmFsdWUuaXNPYmplY3QoKSkKKyAgICAgICAgICAgIGJyZWFrOwogCi0g
ICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChjdXJWYWx1ZSk7Cisg
ICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGVPYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSgpLT5z
dG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KTsKKyAgICAgICAgaWYgKCFwcm90b3R5cGVPYmpl
Y3QpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBhdXRvIG5ld1NoYXBlID0gU3RydWN0
dXJlU2hhcGU6OmNyZWF0ZSgpOworICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUu
Y29weVJlZigpKTsKKyAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKKyAgICAg
ICAgY3VyVmFsdWUgPSBwcm90b3R5cGVPYmplY3Q7CisgICAgICAgIGN1clN0cnVjdHVyZSA9IHBy
b3RvdHlwZU9iamVjdC0+c3RydWN0dXJlKCk7CiAgICAgfQogICAgIAogICAgIHJldHVybiBiYXNl
U2hhcGU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVj
dHVyZSogb3RoZXIpCi17Ci0gICAgcmV0dXJuIGlubGluZUNhcGFjaXR5KCkgPT0gb3RoZXItPmlu
bGluZUNhcGFjaXR5KCkKLSAgICAgICAgJiYgc3RvcmVkUHJvdG90eXBlKCkgPT0gb3RoZXItPnN0
b3JlZFByb3RvdHlwZSgpCi0gICAgICAgICYmIG9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpID09
IG90aGVyLT5vYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6
OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoUmF3UG9pbnRl
cih0aGlzKSwgIjpbIiwgY2xhc3NJbmZvKCktPmNsYXNzTmFtZSwgIiwgeyIpOwpAQCAtMTIwMiw3
ICsxMTY3LDkgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgYwogICAg
IAogICAgIG91dC5wcmludCgifSwgIiwgSW5kZXhpbmdUeXBlRHVtcChpbmRleGluZ1R5cGUoKSkp
OwogICAgIAotICAgIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKKyAgICBpZiAoIWhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNl
dDoiLCBwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCku
aXNDZWxsKCkpCiAgICAgICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJv
dG90eXBlLmdldCgpLmFzQ2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkp
IHsKQEAgLTEyODcsNyArMTI1NCw3IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5
TmFtZUVudW0KICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBpZiAoIXN0cnVjdHVyZS0+Z2V0
KCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPnR5
cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQorICAgICAgICBpZiAoc3RydWN0
dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkgfHwgc3RydWN0dXJlLT5nZXQoKS0+dHlwZUluZm8o
KS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgIHN0cnVjdHVyZSsrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEy
OSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0
dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9
OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNW
YWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhp
bmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3Rh
dGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwg
SW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAK
ICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
ewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChtX3By
b3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJv
dG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0KCkg
fHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKICAgICB9
CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcp
CkBAIC0xNjcsNyArMTY5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJl
KiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlP
ZmZzZXQmKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9w
ZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSosIFByb3BlcnR5TmFt
ZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiByZW1vdmVQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0
eU5hbWUsIFByb3BlcnR5T2Zmc2V0Jik7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0
cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFs
dWUgcHJvdG90eXBlKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFu
c2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGF0dHJpYnV0ZUNoYW5nZVRyYW5zaXRpb24oVk0m
LCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvQ2FjaGVhYmxlRGljdGlvbmFyeVRy
YW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRj
aHBvaW50RmlyZSogPSBudWxscHRyKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiB0b1VuY2FjaGVh
YmxlRGljdGlvbmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqKTsKQEAgLTIwOCw3ICsyMTAs
NyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gIXR5cGVJbmZvKCkuZ2V0T3duUHJv
cGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKTsKICAgICB9Ci0gICAgCisKICAg
ICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKQpAQCAtMjQwLDI2ICsyNDIsMzkgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgp
ICYgTWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnMpOwogICAgIH0KICAgICAgICAgCi0gICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkgY29uc3Q7Ci0gICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mKSBj
b25zdDsKLSAgICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Owot
ICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkgY29uc3Q7CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mLCBKU09i
amVjdCopIGNvbnN0OwogICAgICAgICAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KIAogICAgIC8vIE5PVEU6
IFRoaXMgbWV0aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9m
IHN0cnVjdHVyZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1
cmUgaXMgcHJlc3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgogICAg
IHZvaWQgc2V0R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkgeyBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KLSAgICAg
ICAgCi0gICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb3Rv
dHlwZS5nZXQoKTsgfQorCisgICAgYm9vbCBoYXNTdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuICFtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCk7CisgICAgfQor
ICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90
eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBj
b25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIWhhc1N0b3JlZFByb3RvdHlwZSgp
KTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9Cisg
ICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBK
U09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7Cisg
ICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBj
b25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAg
ICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0OwogICAgIEpTVmFs
dWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJv
dG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90
b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHBy
b3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90
b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAg
IFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNP
YmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihF
eGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRD
aGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgIAogICAgIC8vIEEgU3RydWN0dXJl
IGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEg
c21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzIsMTQgKzI4NywyNCBAQCBwdWJsaWM6CiAg
ICAgCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgc3RydWN0dXJlIGlzIG5vdyBtYXJrZWQu
CiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYpOwotICAgICAgICAKLSAgICAvLyBX
aWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nl
c3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2Vw
dFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEo
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFy
ZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgp
IGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRh
LmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEo
Vk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAg
YWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0K
ICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywx
MiArNTU4LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzKHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9w
ZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBm
b3IgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0
dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAg
IH0KLQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICBy
ZXR1cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTg4LDExICs2MDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIHdpbGxTdG9yZVZhbHVlU2xvdyh2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hv
dWxkT3B0aW1pemUsIEluZmVycmVkVHlwZVRhYmxlOjpPbGRQcm9wZXJ0eSk7CiAgICAgfQogCi0g
ICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwotICAgIAot
ICAgIC8vIERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0
IHRoaXMgb25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90
aGVyIG9uZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7Cisg
ICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUsIGJvb2wmIHNh
d1BvbHlQcm90b1N0cnVjdHVyZSk7CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikg
Y29uc3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQq
KSBjb25zdDsKQEAgLTcyMCw4ICs3MzUsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbnVt
YmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNpdHkpOwogICAg
IH0KIAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBj
YWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAgYm9vbCBpc1ZhbGlkKEV4ZWNTdGF0ZSos
IFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7CisgICAgYm9vbCBp
c1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNo
YWluLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAgICAvLyBZb3UgaGF2ZSB0byBob2xkIHRo
ZSBzdHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHBpbihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwgUHJvcGVydHlUYWJsZSopOwpAQCAtNzMy
LDEyICs3NDYsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1
Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURh
dGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgp
KTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2
aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERl
dGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxl
KiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lz
dGVuY3koKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUs
NCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFpbjo6dmlzaXRDaGlsZHJlbihKU0NlbAogICAg
IH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09i
amVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisKKyAgICBzaXpl
X3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7
IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
Y3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKworICAgIHNpemVfdCBpID0gMDsKKyAgICBmb3Ig
KEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgdmVj
dG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAKKyAg
ICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3Ip
OworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRoaXMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBK
U0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hh
aW4uaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6
CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7
CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
aGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0
KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNoYWluPih2bS5oZWFwKSkgU3RydWN0dXJlQ2hh
aW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0dXJlLmdldCgpKTsKICAgICAgICAgY2hhaW4t
PmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAgLTYyLDIyICs2Miw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKLSAgICB7Ci0gICAgICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgc2l6ZV90IHNpemUgPSAwOwotICAgICAg
ICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgKytzaXplOwotCi0g
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3Ig
PSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsK
LQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50
ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlz
TnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0
dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQpOwot
ICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKLSAgICAgICAgbV92ZWN0
b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIExMSW50
T2Zmc2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAK
IGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU1Zh
bHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmpl
Y3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VS
VChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBK
U1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qp
IGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlz
KTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMy
KCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50
MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlT
X0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3Qg
SlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0
cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAg
ICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBv
YmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVs
bCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8p
OworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5
cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNP
YmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJl
dHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZ
U19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsMTUg
KzE5NiwzMiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9v
a3VwUHJpbWl0aXZlSW1wbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBBU1NFUlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7
CisKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQor
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFT
U0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJl
dHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworCit9CisKIGlubGluZSBKU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkp
OwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7
Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpCi0gICAgICAgIHJldHVy
biBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworICAgICAgICByZXR1cm4gc3RvcmVk
UHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwo
Z2xvYmFsT2JqZWN0LCB0aGlzKTsKK30KIAotICAgIEFTU0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9
PSBTdHJpbmdUeXBlKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUo
KTsKK2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKK3sKKyAgICBSRUxFQVNF
X0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaXNPYmplY3QoKSkK
KyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7CisgICAgcmV0
dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsK
IH0KIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0
YXRlKiBleGVjKSBjb25zdApAQCAtMTgyLDI3ICsyMjksMjggQEAgaW5saW5lIEpTVmFsdWUgU3Ry
dWN0dXJlOjpwcm90b3R5cGVGb3JMbwogICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVD
aGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNl
KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhp
cyk7CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBj
YW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90
b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5
cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFp
bi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051
bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSkpOworICAgIGlmICgh
aXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCksIGJhc2Up
KSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2Jh
bE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0
aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyBudWxs
cHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRQ
cm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK2lubGluZSBTdHJ1Y3R1
cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgp
LCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBwcm90b3R5cGVDaGFp
bihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UpOwogfQogCi1p
bmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAoraW5saW5lIGJv
b2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVj
dHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7
CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0
KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmpl
Y3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUg
PSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxlICgqY2FjaGVkU3RydWN0
dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3Rv
dHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEg
KzI2MSw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE8KICAgICBy
ZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0dXJlOwogfQogCi1pbmxp
bmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFp
biogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVDaGFpbik7Ci19Ci0KIGlu
bGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkKQEAgLTQwMCw3ICs0NDMs
NyBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJu
IHJlbW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6
OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19J
TkxJTkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRh
YmxlKiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZt
LCB0aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgog
CiAjaW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5o
IgorI2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKQEAgLTcwLDYgKzcxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6dmlzaXRDaGlsZHJl
bihKUwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJldmlvdXMpOwogICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSk7CiAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKTsK
KyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2luZmVycmVkQ29uc3RydWN0b3IpOwog
fQogCiBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIFN0cnVjdHVyZVJhcmVEYXRhOjpjYWNoZWRQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3QKQEAgLTE3NSw2ICsxNzcsMTMgQEAgaW5saW5l
IHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyT2JqZQogICAgIG1fb2JqZWN0VG9TdHJpbmdW
YWx1ZS5jbGVhcigpOwogfQogCitJbmZlcnJlZFZhbHVlKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZW5z
dXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYgdm0pCit7CisgICAgaWYgKCFtX2luZmVycmVkQ29u
c3RydWN0b3IpCisgICAgICAgIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5zZXQodm0sIHRoaXMsIElu
ZmVycmVkVmFsdWU6OmNyZWF0ZSh2bSkpOworICAgIHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0
b3IuZ2V0KCk7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0gTWV0aG9kcyBmb3IgT2JqZWN0LnByb3Rv
dHlwZS50b1N0cmluZygpIGhlbHBlciB3YXRjaHBvaW50IGNsYXNzZXMgLS0tLS0tLS0tLS0tLS0K
IAogT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ6Ok9iamVjdFRvU3Ry
aW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50KGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uJiBrZXksIFN0cnVjdHVyZVJhcmVEYXRhKiBzdHJ1Y3R1cmVSYXJlRGF0YSkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogCiBuYW1lc3Bh
Y2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVT
dHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMTUgQEAgcHVibGljOgogICAgIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0
OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYsIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvciopOwogCisgICAgLy8gV2UgYXJlIGEgdGhlIHN0cnVjdHVyZSBvZiBh
IHByb3RvdHlwZSwgYW5kIHdlJ3JlIGluZmVycmluZyB3aGF0IG91ciBmdW5jdGlvbiBpcywgc3Vj
aCB0aGF0IGZ1bmN0aW9uLnByb3RvdHlwZSdzIHN0cnVjdHVyZSBpcyB1cy4KKyAgICAvLyBXZSdy
ZSB0aGUgU3RydWN0dXJlUmFyZURhdGEgZm9yIHRoZSBTdHJ1Y3R1cmUgb2YgYW4gb2JqZWN0IHdo
aWNoIG1pZ2h0IGJlIHRoZSAicHJvdG90eXBlIiBmaWVsZAorICAgIC8vIG9mIGEgY29uc3RydWN0
b3IuIElmIHdlJ3JlIGEgInByb3RvdHlwZSIgZmllbGQsIHdlIHdhbnQgdG8gaW5mZXIgaWYgd2Ug
aGF2ZSBhIGNvbnN0YW50IGNvbnN0cnVjdG9yLgorICAgIC8vIElmIHdlIGRvLCB0aGVuIG1faW5m
ZXJyZWRDb25zdHJ1Y3RvciBwb2ludHMgdG8gYW4gSW5mZXJyZWRWYWx1ZSBpbmZlcnJpbmcgYSBK
U0Z1bmN0aW9uLgorICAgIC8vIElmIHdlIG5vdGljZSB0aGF0IHdlIGdvIHBvbHkgcHJvdG8sIHRo
ZW4gdGhpcyB3aWxsIGJlY29tZSBpbnZhbGlkYXRlZC4KKyAgICBJbmZlcnJlZFZhbHVlKiBlbnN1
cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJik7CisgICAgLy8gTWF5IGJlIG51bGxwdHIuCisgICAg
SW5mZXJyZWRWYWx1ZSogaW5mZXJyZWRDb25zdHJ1Y3RvcigpIHsgcmV0dXJuIG1faW5mZXJyZWRD
b25zdHJ1Y3Rvci5nZXQoKTsgfQorCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0
ZToKQEAgLTc2LDYgKzg2LDcgQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0cmluZz4gbV9vYmplY3RUb1N0cmlu
Z1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I+IG1fY2Fj
aGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKKyAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1
ZT4gbV9pbmZlcnJlZENvbnN0cnVjdG9yOwogICAgIAogICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9w
ZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhhc2g8UHJvcGVydHlP
ZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0
Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdh
dGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVy
TG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMTkgKzYzLDM1IEBAIHZvaWQgVHlwZVByb2Zp
bGVyTG9nOjpwcm9jZXNzTG9nRW50cmllcygKICAgICAgICAgYmVmb3JlID0gY3VycmVudFRpbWVN
UygpOwogICAgIH0KIAorICAgIEhhc2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVyZVNo
YXBlPj4gY2FjaGVkTW9ub1Byb3RvU2hhcGVzOworICAgIEhhc2hNYXA8c3RkOjpwYWlyPFN0cnVj
dHVyZSosIEpTQ2VsbCo+LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+PiBjYWNoZWRQb2x5UHJvdG9T
aGFwZXM7CisKICAgICBMb2dFbnRyeSogZW50cnkgPSBtX2xvZ1N0YXJ0UHRyOwotICAgIEhhc2hN
YXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gc2VlblNoYXBlczsKKwogICAg
IHdoaWxlIChlbnRyeSAhPSBtX2N1cnJlbnRMb2dFbnRyeVB0cikgewogICAgICAgICBTdHJ1Y3R1
cmVJRCBpZCA9IGVudHJ5LT5zdHJ1Y3R1cmVJRDsKLSAgICAgICAgUmVmUHRyPFN0cnVjdHVyZVNo
YXBlPiBzaGFwZTsgCisgICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7CiAgICAg
ICAgIEpTVmFsdWUgdmFsdWUgPSBlbnRyeS0+dmFsdWU7CiAgICAgICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gbnVsbHB0cjsKKyAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBm
YWxzZTsKICAgICAgICAgaWYgKGlkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFwOjpo
ZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7IAotICAgICAg
ICAgICAgYXV0byBpdGVyID0gc2VlblNoYXBlcy5maW5kKHN0cnVjdHVyZSk7Ci0gICAgICAgICAg
ICBpZiAoaXRlciA9PSBzZWVuU2hhcGVzLmVuZCgpKSB7Ci0gICAgICAgICAgICAgICAgc2hhcGUg
PSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUpOwotICAgICAgICAgICAgICAgIHNl
ZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgc3RydWN0dXJlID0g
SGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOwor
ICAgICAgICAgICAgYXV0byBpdGVyID0gY2FjaGVkTW9ub1Byb3RvU2hhcGVzLmZpbmQoc3RydWN0
dXJlKTsKKyAgICAgICAgICAgIGlmIChpdGVyID09IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5lbmQo
KSkgeworICAgICAgICAgICAgICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIoc3RydWN0dXJl
LCB2YWx1ZS5hc0NlbGwoKSk7CisgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gY2FjaGVkUG9s
eVByb3RvU2hhcGVzLmZpbmQoa2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoaXRlciAhPSBjYWNo
ZWRQb2x5UHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hhcGUgPSBp
dGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXNoYXBlKSB7
CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBl
KHZhbHVlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgICAgICBpZiAo
c2F3UG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVkUG9s
eVByb3RvU2hhcGVzLnNldChrZXksIHNoYXBlKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVkTW9ub1Byb3RvU2hhcGVzLnNldChzdHJ1Y3R1
cmUsIHNoYXBlKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UKICAgICAg
ICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVlOwogICAgICAgICB9CkBAIC04NCw4ICsxMDAs
OCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIFR5
cGVMb2NhdGlvbiogbG9jYXRpb24gPSBlbnRyeS0+bG9jYXRpb247CiAgICAgICAgIGxvY2F0aW9u
LT5tX2xhc3RTZWVuVHlwZSA9IHR5cGU7CiAgICAgICAgIGlmIChsb2NhdGlvbi0+bV9nbG9iYWxU
eXBlU2V0KQotICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUlu
Zm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlKTsKLSAgICAgICAgbG9j
YXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgV1RG
TW92ZShzaGFwZSksIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBsb2NhdGlvbi0+bV9nbG9iYWxU
eXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigpLCBzdHJ1Y3R1
cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0
aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1
Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICAgICAgZW50cnkrKzsKICAgICB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSwxNyBAQCBUeXBlU2V0OjpUeXBlU2V0KCkKIHsK
IH0KIAotdm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUgdHlwZSwg
UmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBlLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKK3ZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUs
IFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIG1fc2VlblR5cGVzID0g
bV9zZWVuVHlwZXMgfCB0eXBlOwogCiAgICAgaWYgKHN0cnVjdHVyZSAmJiBwYXNzZWROZXdTaGFw
ZSAmJiAhcnVudGltZVR5cGVJc1ByaW1pdGl2ZSh0eXBlKSkgewogICAgICAgICBSZWY8U3RydWN0
dXJlU2hhcGU+IG5ld1NoYXBlID0gcGFzc2VkTmV3U2hhcGUucmVsZWFzZU5vbk51bGwoKTsKLSAg
ICAgICAgaWYgKCFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7Ci0gICAgICAg
ICAgICB7CisgICAgICAgIC8vIEZJWE1FOiBUeXBlU2V0IHNob3VsZCBiZSBhYmxlIHRvIGNhY2hl
IHBvbHkgcHJvdG8gY2hhaW5zCisgICAgICAgIC8vIGp1c3QgYnkgY2FjaGluZyB0aGUgcHJvdG90
eXBlIGNoYWluOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3NjI3CisgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfHwgIW1fc3Ry
dWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkpIHsKKyAgICAgICAgICAgIGlmICghc2F3UG9s
eVByb3RvU3RydWN0dXJlKSB7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpTTG9ja2VyIGxv
Y2tlcihtX2xvY2spOwogICAgICAgICAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFkZChzdHJ1Y3R1
cmUpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5
cGVTZXQuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFR5cGVT
ZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW4KIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFR5
cGVTZXQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZVNldCk7IH0KICAgICBU
eXBlU2V0KCk7Ci0gICAgdm9pZCBhZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0
cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBhZGRUeXBlSW5mb3Jt
YXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKiwg
Ym9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlKCk7
CiAgICAgU3RyaW5nIGR1bXBUeXBlcygpIGNvbnN0OwogICAgIFN0cmluZyBkaXNwbGF5TmFtZSgp
IGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJy
aWVyLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUp
IHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVy
KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigp
IGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBj
b25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25z
dCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBj
b25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBUb29scy9TY3Jp
cHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVu
LWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIyMjU3NikKKysrIFRvb2xzL1NjcmlwdHMvcnVu
LWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTYxOSw3ICs2MTksNyBAQCBkZWYg
cnVuRlRMTm9DSklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wCiBlbmQKIAogZGVmIHJ1bkZUTE5v
Q0pJVEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1uby1j
aml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAqKEZUTF9P
UFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3Bl
Y2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFs
bG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExf
T1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNw
ZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZhbGlkYXRlKCpvcHRpb25h
bFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC02NDcsNyArNjQ3LDcgQEAgZGVmIHJ1bkRGR0VhZ2Vy
Tm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVAogZW5kCiAKIGRlZiBydW5GVExFYWdlcigqb3B0aW9u
YWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VC
cmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09M
TEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykp
CisgICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwg
Ii0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsg
Q09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9u
cykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyV2F0Y2hkb2coKm9wdGlvbmFsVGVzdFNwZWNpZmlj
T3B0aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBAQCBkZWYgcnVuVHlwZVByb2ZpbGVyCiAKICAgICBy
dW4oImZ0bC1uby1jaml0LXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIs
ICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKQogICAgIHJ1bigiZnRsLXR5cGUtcHJv
ZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMpKQorICAgIHJ1
bigiZnRsLXR5cGUtcHJvZmlsZXItZm9yY2UtcG9seS1wcm90by1mdGwtZWFnZXIiLCAiLS11c2VU
eXBlUHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05T
ICsgRUFHRVJfT1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkNvbnRyb2xGbG93UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322154</attachid>
            <date>2017-09-28 19:02:41 -0700</date>
            <delta_ts>2017-09-28 20:11:53 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>206762</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw3MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgaXRlbXMgPSBbCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorXTsKKworbGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3Rv
bVRlc3RHZXR0ZXJTZXR0ZXIoKTsKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJv
dG9fXyA9IGN1c3RvbUdldHRlclNldHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1
c3RvbUdldHRlclNldHRlcik7Cit9KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1
bHQsIGFjY2Vzc29yUmVzdWx0KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVl
UmVzdWx0KTsKKworICAgIGFzc2VydCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3Vs
dCk7CisKKyAgICBsZXQgbyA9IHt9OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2Vy
dChvLnJlc3VsdCA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9t
QWNjZXNzb3IgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOwor
CisgICAgYXNzZXJ0KHgucmFuZG9tUHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7
CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0ZW1zW2ld
KTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNldHRlci5yYW5kb21Qcm9wID0gNDI7CisKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
aXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdl
dHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaCgoeCkgPT4g
eworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoeCwgeworICAgICAgICBnZXQgY3VzdG9tVmFs
dWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAgZ2V0IGN1c3RvbUFjY2Vzc29yKCkgeyByZXR1
cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21WYWx1ZSh4KSB7IHgucmVzdWx0ID0gNDI7IH0s
CisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4KSB7IHgucmVzdWx0ID0gMjI7IH0sCisgICAg
fSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVt
c1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3Jy
ZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBACitmdW5jdGlvbiBhc3Nl
cnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9
CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVy
biBmb28oKTsKK30KKworbGV0IHggPSBuZXcgVWludDMyQXJyYXkoMTApOworbGV0IHAgPSB4Ll9f
cHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2Jq
Ll9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9fXyA9IG9iajsKKworZnVuY3Rpb24gZm9vKHgpIHsK
KyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yIChsZXQg
aSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBhc3NlcnQoZm9vKHgpID09PSAxMCAqIDQpOwor
fTsKKworb2JqLl9fcHJvdG9fXyA9IHt9OworCithc3NlcnQoZm9vKHgpID09PSB1bmRlZmluZWQp
OwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rl
c3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0
OSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSB7
CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNv
bnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBDLnByb3Rv
dHlwZS55ID0gNDI7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgQzsKKyAgICAgICAgLy9wcmlu
dChgUmVzdWx0IGZyb20gZm9vKCk6IGAsICR2bS52YWx1ZShyZXN1bHQpKTsKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAg
ICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3VsdCA9IGZvbygpOworICAgIHJlc3VsdC5fX3Byb3Rv
X18gPSBudWxsOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikK
K30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFBy
b3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCks
CisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtl
UG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9J
bnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xldCBwID0gdW5kZWZpbmVkOworZnVuY3Rpb24gdmFs
aWRhdGUoeCkgeworICAgIGFzc2VydCh4LnggPT09IDIwKTsKKyAgICBhc3NlcnQoeC5wID09PSB1
bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3Ro
OyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9s
eVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0
aW9uIHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9J
bmxpbmUodmFsaWRhdGUpOworCitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworUmVm
bGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTAwMDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7CisKK1JlZmxlY3Quc2V0UHJvdG90
eXBlT2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxp
ZGF0ZShvYmosIGZhbHNlKTsKKworCitmdW5jdGlvbiB2YWxpZGF0ZTIobywgYikgeworICAgIGFz
c2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZTIpOworCitSZWZsZWN0
LnNldFByb3RvdHlwZU9mKG9iaiwgbnVsbCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsr
aSkKKyAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
b2JqLCB7eDoyNX0pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRh
dGUyKG9iaiwgdHJ1ZSk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFu
c2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRy
YW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1w
dXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACitmdW5jdGlv
biBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1
bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcg
QzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28o
KTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZv
cm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQ
cm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSBudWxsOworICAgIHBlcmZvcm1TZXQo
b2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsK
KyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgb2Jq
Ll9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9iYWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNl
dChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093blByb3BlcnR5KCJwIikpOworICAgIGFzc2Vy
dChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwgPSBudWxsOworfQorCitmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydChvYmouaGFzT3duUHJvcGVydHkoInAi
KSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0
LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNl
dC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0
aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJh
ZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAg
IHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAg
Z2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51
bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUs
ICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsK
KyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAgfQorICAgIH07CisgICAgcmV0dXJu
IG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9
PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAg
ICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5f
X3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30KK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBudWxs
KTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBh
bHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAg
ICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
c2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjYgQEAKK2Z1bmN0aW9uIGFzc2Vy
dChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsg
bSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmpl
Y3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAg
ICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5f
cCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0
aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZv
bygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7Cisg
ICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAy
MDsgKytpKSB7CisgICAgaXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCitsZXQgc3RhcnQg
PSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBp
dGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8uX3Ag
PT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVkID09PSB0cnVlKTsKKyAgICAgICAgY2FsbGVk
ID0gZmFsc2U7CisgICAgfQorfQorCitpdGVtcy5mb3JFYWNoKG8gPT4geworICAgIFJlZmxlY3Qu
c2V0UHJvdG90eXBlT2YobywgbnVsbCk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAg
ICAgICAgYXNzZXJ0KG8ucCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IGZhbHNl
KTsKKyAgICB9Cit9CisKK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQp
OwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNl
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5o
ZXJpdGFuY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gZm9v
KCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBnZXQgYmF6KCkgeyByZXR1cm4gdGhpcy54OyB9
CisgICAgfQorICAgIEMucHJvdG90eXBlLmZpZWxkID0gNDI7CisgICAgbmV3IEM7CisgICAgcmV0
dXJuIEM7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGZvbygpOworCitm
dW5jdGlvbiBiYXIocCkgeworICAgIGNsYXNzIEMgZXh0ZW5kcyBwIHsKKyAgICAgICAgY29uc3Ry
dWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAgICAgdGhpcy54ID0gMjI7
CisgICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKworZm9yIChsZXQgaSA9
IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNlcyA9IFtdOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNoKGJhcihmb28o
KSkpOworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFz
c2VydChpdGVtLnggPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIyKTsKKyAgICBh
c3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQpJ
bmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0
YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAg
ICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAg
IEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorCisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBm
b28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0luc3RhbmNl
KCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworU3lt
Ym9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBzdHJpbmdz
ID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisgICAgU3lt
Ym9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5lKGFzc2Vy
dCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAyMCk7Cisg
ICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9wZXJ0eSA9
PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkgPT09ICJm
dW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQg
aSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAg
ICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9JbnN0YW5j
ZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7
CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmpl
Y3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1v
YmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5v
dC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVuY3Rpb24g
Zm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7CisgICAg
fQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOworfQorCitm
dW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKworZnVuY3Rp
b24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1bmRlZmlu
ZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5fX3Byb3Rv
X18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxpZGF0ZShp
dGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8u
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXBy
b3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKK2Z1bmN0aW9uIGFzc2VydChi
LCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7
Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9v
KCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0K
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJl
dHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlOYW1lKSB7
IHJldHVybiBgKGZ1bmN0aW9uIChiYXNlKSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNlLCAnJHtw
cm9wZXJ0eU5hbWV9Jyk7IH0pYDsgfQorbGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0
QnlJZFRleHQoImZvbyIpKTsKK2xldCBnZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRU
ZXh0KCJiYXIiKSk7CitsZXQgZ2V0Tm9uRXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0aW4odHJ5
R2V0QnlJZFRleHQoIm5vbkV4aXN0ZW50RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBvbHlQcm90
b09iamVjdCgpOworeC5fX3Byb3RvX18gPSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJldHVybiAy
MjsgfSB9OworbGV0IGJhckdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
eC5fX3Byb3RvX18sICJiYXIiKS5nZXQ7Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9PT0gImZ1
bmN0aW9uIik7Cithc3NlcnQoYmFyR2V0dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24gdmFsaWRh
dGUoeCkgeworICAgIGFzc2VydChnZXRGb28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQobG9hZEdl
dHRlckZyb21HZXR0ZXJTZXR0ZXIoZ2V0QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAgICBhc3Nl
cnQoZ2V0Tm9uRXhpc3RlbnRGaWVsZCh4KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0
ZSh4KTsKK30KSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMzYsNyArMzYsNyBAQCBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5
VHlwZU5hCiBhc3NlcnQodHlwZXMuaW5zdHJ1Y3Rpb25UeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9
PT0gIkMiLCAidmFyaWFibGUgJ3RoZUMnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQyci
KTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJhcmNoeVRl
c3QgPSBuZXcgQjsiKTsKLWFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlU
eXBlTmFtZSAnQSciKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFt
ZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlU
eXBlTmFtZSAnQSciICsgIiBidXQgd2FzOiAiICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5
VHlwZU5hbWUpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVzc2lvbih3cmFwcGVyLCAiaGll
cmFyY2h5VGVzdCA9IG5ldyBDOyIpOwogYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxh
eVR5cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxkIGhhdmUg
ZGlzcGxheVR5cGVOYW1lICdBJyIpOwpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZs
b3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cuanMJKHJl
dmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZhciBpID0gMDsg
aSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAgICAvLyBNYWtl
IHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2lnbm1lbnQgdG8g
eCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3aWxsIGJlIG1l
cmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0gMjA7CisgICAg
eCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rpb24oKSB7fTsK
ICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90eXBlOwpAQCAt
MjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9IG51bGw7CiBm
b3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93IC0gMTsg
aSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9IDIwOworICAg
IHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307
CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDYgKzIy
Nyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0
aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFj
Y2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNv
ZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0
ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJv
Z3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAorYnl0ZWNv
ZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjSW50MzJPbmx5KQorICAgICAgICB7CisgICAgICAgIH0KKworI2lmIEVOQUJMRShK
SVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNsb3dDYWxs
KEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAgICAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdGF0aWNf
Y2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAg
IHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY2FsbERPTUdldHRlcigp
CisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0
PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7CisgICAg
ICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisgICAgICAgICAg
ICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1dKENDYWxsSGVscGVycyYgaml0LCBTbmlwcGV0UGFy
YW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRzID0gcGFy
YW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgR1BSUmVnIGRvbSA9IHBhcmFt
c1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGppdC5q
dW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CisgICAgICAgICAgICAgICAgcmV0
dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKKworICAgICAgICAgICAgfSk7CisgICAgICAg
ICAgICByZXR1cm4gc25pcHBldDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfTsKKworcHJpdmF0
ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CisKKyAgICBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2
bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCh0
aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgfQorfTsKKworc3RhdGljIGNvbnN0IERPTUpJVEdl
dHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRlIERPTUpJVEdldHRlckJhc2VKU09iamVj
dERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgY29uc3QgRE9N
SklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9ICZET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01K
SVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVyU2V0dGVyID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0
dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0dGVyKCksIG51bGxwdHIsIERPTUF0dHJpYnV0ZUFu
bm90YXRpb24geyBKU09iamVjdDo6aW5mbygpLCBkb21KSVQgfSk7CisgICAgcHV0RGlyZWN0Q3Vz
dG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tR2V0dGVy
IiksIGN1c3RvbUdldHRlclNldHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKTsKK30KKwogY29uc3QgQ2xhc3NJbmZvIEVs
ZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVsZW1lbnQpIH07CiBjb25zdCBDbGFzc0luZm8gTWFz
cXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0
ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXNxdWVyYWRlcikgfTsKIGNvbnN0IENs
YXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJSb290IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwg
bnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShSb290KSB9OwpAQCAtOTY1LDYgKzEwNDksNyBA
QCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9kZTo6c19pbmZvID0geyAiCiAjZW5kaWYKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlciIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0
dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckNvbXBsZXg6OnNfaW5mbyA9IHsg
IkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckNvbXBsZXgpIH07Citjb25zdCBDbGFzc0lu
Zm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkgfTsKICNpZiBFTkFCTEUoSklUKQogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9uT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRGdW5j
dGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsICZET01KSVRGdW5jdGlvbk9iamVj
dDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklURnVuY3Rp
b25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTA1Nyw2ICsxMTQyLDg0IEBAIHByaXZhdGU6CiAgICAg
RGVxdWU8U3RyaW5nPiBtX3JlcG9ydHM7CiB9OwogCitjbGFzcyBKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CitwdWJsaWM6CisgICAgdXNpbmcgQmFz
ZSA9IEpTTm9uRmluYWxPYmplY3Q7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBz
dHJ1Y3R1cmUpCisgICAgeyB9CisKKyAgICBzdGF0aWMgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVy
KiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlKQor
ICAgIHsKKyAgICAgICAgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKiByZXN1bHQgPSBuZXcgKE5v
dE51bGwsIGFsbG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXAsIHNp
emVvZihKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIpKSkgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVy
KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiB2bSk7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90
eXBlKCksIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAg
ICB9CisKKyAgICBERUNMQVJFX0lORk87Cit9OworCisKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBj
dXN0b21HZXRBY2Nlc3NvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFBy
b3BlcnR5TmFtZSkKK3sKKyAgICAvLyBQYXNzZWQgfHRoaXN8CisgICAgcmV0dXJuIHRoaXNWYWx1
ZTsKK30KKworc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdldFZhbHVlKEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7CisgICAgUkVM
RUFTRV9BU1NFUlQoSlNWYWx1ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhlYy0+dm0o
KSwgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjppbmZvKCkpKTsKKyAgICAvLyBQYXNzZWQgcHJv
cGVydHkgaG9sZGVyLgorICAgIHJldHVybiBzbG90VmFsdWU7Cit9CisKK3N0YXRpYyBib29sIGN1
c3RvbVNldEFjY2Vzc29yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVj
dCwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CisKKyAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CisgICAgUkVMRUFTRV9BU1NFUlQodmFsdWUuaXNPYmplY3QoKSk7CisgICAgSlNPYmplY3QqIG9i
amVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChvYmplY3Qp
OworICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJyZXN1bHQiKSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNPYmplY3QpLCBzbG90KTsKKworICAg
IHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCBjdXN0b21TZXRWYWx1ZShFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisKKyAgICBSRUxFQVNFX0FTU0VSVChK
U1ZhbHVlOjpkZWNvZGUoc2xvdFZhbHVlKS5pbmhlcml0cyhleGVjLT52bSgpLCBKU1Rlc3RDdXN0
b21HZXR0ZXJTZXR0ZXI6OmluZm8oKSkpOworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkVmFsdWUpOworICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlzT2JqZWN0
KCkpOworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgUHV0UHJv
cGVydHlTbG90IHNsb3Qob2JqZWN0KTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4ZWMsIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29kZShzbG90
VmFsdWUpLCBzbG90KTsKKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEpTVGVzdEN1c3Rv
bUdldHRlclNldHRlcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIHB1dERpcmVjdEN1
c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbVZhbHVl
IiksCisgICAgICAgIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBjdXN0b21HZXRWYWx1
ZSwgY3VzdG9tU2V0VmFsdWUpLCAwKTsKKyAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21BY2Nlc3NvciIpLAorICAgICAgICBD
dXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgY3VzdG9tR2V0QWNjZXNzb3IsIGN1c3RvbVNl
dEFjY2Vzc29yKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpDdXN0
b21BY2Nlc3NvcikpOworfQorCitjb25zdCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tR2V0dGVyU2V0
dGVyOjpzX2luZm8gPSB7ICJKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIiLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3RvbUdldHRl
clNldHRlcikgfTsKKwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25DcmVhdGVQcm94eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uQ3JlYXRlUnVudGltZUFycmF5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVJbXB1cmVHZXR0ZXIoRXhl
Y1N0YXRlKik7CkBAIC0xMDY2LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5j
dGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9u
T2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNTdGF0ZSopOworc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdChFeGVjU3Rh
dGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1w
dXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xMTc3LDYgKzEzNDEsOCBAQCBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbldhaXRGb3JSZXBvcnQoRXhlY1N0YXRlKik7CiBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYXBDYXBhY2l0eShFeGVj
U3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRmxh
c2hIZWFwQWNjZXNzKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKK3N0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQ3VzdG9tVGVz
dEdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKIAogc3RydWN0IFNjcmlwdCB7CiAgICAgZW51bSBj
bGFzcyBTdHJpY3RNb2RlIHsKQEAgLTEzODIsNiArMTU0OCw3IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0IiwgZnVu
Y3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVu
Y3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9N
SklURnVuY3Rpb25PYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURP
TUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xh
c3NPYmplY3QsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRl
ckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0LCAw
KTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVuY3Rpb25DcmVh
dGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVHbG9iYWxPYmpl
Y3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9u
KHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVyZUdldHRlckRl
bGVnYXRlLCAyKTsKQEAgLTE0NjYsNiArMTYzMyw5IEBAIHByb3RlY3RlZDoKIAogICAgICAgICBh
ZGRGdW5jdGlvbih2bSwgImhlYXBDYXBhY2l0eSIsIGZ1bmN0aW9uSGVhcENhcGFjaXR5LCAwKTsK
ICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJmbGFzaEhlYXBBY2Nlc3MiLCBmdW5jdGlvbkZsYXNo
SGVhcEFjY2VzcywgMCk7CisKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJsb2FkR2V0dGVyRnJv
bUdldHRlclNldHRlciIsIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIsIDEpOwor
ICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIiLCBm
dW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIsIDEpOwogICAgIH0KICAgICAKICAg
ICB2b2lkIGFkZEZ1bmN0aW9uKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCwgY29uc3QgY2hhciog
bmFtZSwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIHVuc2lnbmVkIGFyZ3VtZW50cykKQEAgLTIx
MTUsNiArMjI4NSwxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3Jl
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4
ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpTTG9ja0hv
bGRlciBsb2NrKHZtKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IERPTUpJVEdldHRlckJh
c2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGpzTnVsbCgpKTsKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIHJlc3VsdCA9IERP
TUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKK30KKworCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjKQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0yODMyLDYgKzMwMTIsMjQgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYQogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5hcmd1bWVu
dENvdW50KCkgPj0gMSk7CisgICAgR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIgPSBqc0R5bmFt
aWNDYXN0PEdldHRlclNldHRlcio+KHZtLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgUkVMRUFT
RV9BU1NFUlQoZ2V0dGVyU2V0dGVyKTsKKyAgICBKU09iamVjdCogZ2V0dGVyID0gZ2V0dGVyU2V0
dGVyLT5nZXR0ZXIoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChnZXR0ZXIpOworICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoZ2V0dGVyKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQor
eworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmpl
Y3QpKSk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KIHR5cGVuYW1lIHN0ZDo6
ZW5hYmxlX2lmPCFzdGQ6OmlzX2Z1bmRhbWVudGFsPFZhbHVlVHlwZT46OnZhbHVlPjo6dHlwZSBh
ZGRPcHRpb24oVk0mLCBKU09iamVjdCosIElkZW50aWZpZXIsIFZhbHVlVHlwZSkgeyB9CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5
QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJC
MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRo
SUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQx
M0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1
NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQ
dXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFw
aENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBo
Q29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURG
MjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMzQ5OCw2ICszNDk5LDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVB
ODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRN
YXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAw
RDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5
NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5
QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyog
R2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkx
RCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xv
cmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jp
bmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM2NSw2ICs3MzY4LDggQEAK
IAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAog
CQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8s
CiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8s
CisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNw
cCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNw
cCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8s
CiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApA
QCAtODU1NCw2ICs4NTU5LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50
bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RC
MDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vz
c0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyog
SW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3
RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0
ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjU3
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElG
SUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwog
CiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJp
dmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0
ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAv
LyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0
ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4
dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFt
ZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCks
ICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpF
X0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElk
ZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6
ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihT
eW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlND
X0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJM
SUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BS
T1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2
ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklW
QVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVBy
aXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1By
aXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFt
ZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOwor
ICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVy
c2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9
CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlm
aWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05f
UFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJ
Tl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1
YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9s
bGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsK
QEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQog
ICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6
OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRp
ZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxS
ZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJl
cEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1By
aXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNlIEFjY2Vz
c0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAK
LUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAg
LCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2
bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7
CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6
Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNz
Q2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAg
IGNhc2UgSW5IaXQ6CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
QXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJlY3RBcmd1
bWVudHNMZW5ndGg6CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBN
b2R1bGVOYW1lc3BhY2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoIXByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs
dDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJl
LCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgY29uZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3RydWN0dXJl
ID09IG5ld1N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBAQCBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3
IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihu
ZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIEFj
Y2Vzc0Nhc2U6On5BY2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0b3I8V2F0Y2hw
b2ludFNldCosIDI+IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAy
PiByZXN1bHQ7CiAKICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1w
dXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJ
bXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3Byb3RvdHlwZUFjY2Vz
c0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNo
cG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2ludFNldEZv
ckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgpKQpAQCAt
MTUxLDYgKzE1NSw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sK
ICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRj
aCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0
aDoKQEAgLTIxMCw2ICsyMTcsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0
IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkg
PT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBkZWZhdWx0
OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAg
ICAgICAgaWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hlY2sgd2Ug
bmVlZCBzaW5jZSBQcm90b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBzdHJ1Y3R1
cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWluIG9ubHkg
dGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAgICAgICAg
ICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICByZXR1
cm4gc3RydWN0dXJlKCkgPT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAgICAmJiAq
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9PSAqb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsK
KyAgICAgICAgfQorCiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAh
b3RoZXIuZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIApAQCAtMjE5LDIyICsyMzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNv
bnN0IEFjY2VzcwogCiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
c3QKIHsKLSAgICBvdXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwg
bV90eXBlLCAiOigiKTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmlu
dChjb21tYSwgbV9zdGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAg
ICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVy
ZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYg
KG1fc3RydWN0dXJlKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBw
b2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQo
bV9vZmZzZXQpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNl
dCk7CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmlu
dChjb21tYSwgImNvbmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9w
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5
cGUgYWNjZXNzIGNoYWluID0gIik7CisgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmR1
bXAoc3RydWN0dXJlKCksIG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9
PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0g
IiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVj
dHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0
LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0
KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQo
IikiKTsKIH0KQEAgLTI0Myw2ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWso
Vk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQo
bV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVh
cDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2
ICszMDQsMTEgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAg
IGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZD
aGVhcCh2aXNpdG9yKTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAg
ICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5j
aGFpbigpKQorICAgICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlz
aXRvcik7CisgICAgfQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRp
b246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+
cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArNDA4LDY0IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2Vu
ZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlh
UHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAg
ICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVx
dWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAg
ICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94
eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91
Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zm
c2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAo
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFz
ZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBtX3Byb3RvdHlwZUFjY2Vzc0No
YWluLT5mb3JFYWNoKHN0cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29s
IGF0RW5kKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0
KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAgICAgICAg
ICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09IE1pc3Mg
fHwgbV90eXBlID09IEluTWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgIXN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZv
ciBhIE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBl
bmQgd2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVy
aWZ5IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNu
J3QgYSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNl
dCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBv
ZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAg
ICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAg
ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0
b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAg
ICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBv
bHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
aXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9h
ZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9y
QWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChq
aXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5j
aFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwK
LSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2Vs
bDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgp
KSk7CisgICAgICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9U
eXBlT2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVz
dGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBq
aXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0
T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1
cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwMiw4
IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQo
bV9jb25kaXRpb25TZXQuc3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9w
ZXJ0eVdhdGNocG9pbnQoKSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uJiBjb25kaXRpb24gOiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VS
VCghbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBjb25kaXRpb24ub2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25k
aXRpb24uaXNXYXRjaGFibGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBA
IC01MDQsMTMgKzU4MCwxOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NH
ZW5lCiAgICAgICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJS
ZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0
Y2hHUFIpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAg
ICAgLy8gVGhpcyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5l
cmF0ZVdpdGhHdWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNj
ZXNzIGluc2lkZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAg
ICAgICAgICAvLyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9h
ZCB0aGUgYmFzZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNo
R1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlv
blNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNj
cmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BS
OworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9
IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVH
UFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0
dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
VmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2
LDcgKzEwOTgsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAg
ICAgICAgIAogICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2Ug
bmVlZCB0byBlbnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIg
dXMuIE5vdGUgdGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28g
d2UganVzdCBuZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBp
dC4KICAgICAgICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1
Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRy
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0
cik7CiAKICAgICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5z
aXRpb25zLgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZN
JiwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJl
LAotICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0Nl
bGwqIG93bmVyLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQ
cm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3Byb3RvdHlwZUFjY2Vzc0No
YWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2Um
KSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOworICAgIEFj
Y2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBB
Y2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAg
ICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29m
ZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAg
LCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlm
IChvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAg
fQorCiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0
ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAg
LTIyNyw2ICsyNDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
c3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25T
ZXQ7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNb
b3BMZW5ndGggLSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsg
b3BMZW5ndGggLSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAg
bV9nbG9iYWxPYmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5
cGUoKSwgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
U3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkg
QEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAg
Y29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAg
ICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJ
ZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51
c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xv
d1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAot
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShW
TSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwg
b3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVBy
b3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAg
ICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNl
KTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9t
QXR0cmlidXRlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpA
QCAtNjMsMTggKzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0
ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5p
cXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRy
aWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRl
cjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3Rv
bVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFs
c2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWlu
KSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTYgKzQ4LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAg
ICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2Us
Ci0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAg
ICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0
cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4sIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxw
dHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAgICAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
ID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAKICAgICB2
b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC02Nyw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNv
bnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAg
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFj
Y2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2Zp
bGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlv
bkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVj
dCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFt
X3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVj
dHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRp
biB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2Fz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiog
aW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVy
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIs
IEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0
cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1
bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5z
aWNHZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAg
ICAgdm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisg
ICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1
bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9N
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgs
NyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVs
ZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVz
cGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBt
b2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZt
LCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVO
YW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsK
ICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3Bh
Y2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3Ip
Cit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7
CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdv
aW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAg
ICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8g
b2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc1MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9y
KSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9y
LT5qc0V4ZWN1dGFibGUoKTsKKworICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBl
eGVjdXRhYmxlLT5jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgLy8g
T09QUzogZmlyc3QgY2hlY2sgaWYgd2UncmUgcG9seSBwcm90byBiZWZvcmUgZG9pbmcgdGhpcy4K
KyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkg
PT0gRmluYWxPYmplY3RUeXBlKTsKKyAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsK
KyAgICAgICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgSW5mZXJyZWRWYWx1ZSog
aW5mZXJyZWRDb25zdHJ1Y3RvciA9IHByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+ZW5zdXJlUmFy
ZURhdGEodm0pLT5lbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKHZtKTsKKyAgICAgICAgYm9vbCBw
YXJlbnRQcm90b3R5cGVJc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBpZiAoSlNPYmplY3Qq
IHByb3RvdHlwZU9mUHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90
b3R5cGUtPmdldFByb3RvdHlwZURpcmVjdCgpKSkgeworICAgICAgICAgICAgcGFyZW50UHJvdG90
eXBlSXNQb2x5UHJvdG8gPSBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+aGFz
UmFyZURhdGEoKQorICAgICAgICAgICAgICAgICYmIHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1
Y3R1cmUodm0pLT5yYXJlRGF0YSgpLT5pbmZlcnJlZENvbnN0cnVjdG9yKCkKKyAgICAgICAgICAg
ICAgICAmJiBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+cmFyZURhdGEoKS0+
aW5mZXJyZWRDb25zdHJ1Y3RvcigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAgICAgfQor
CisgICAgICAgIGluZmVycmVkQ29uc3RydWN0b3ItPm5vdGlmeVdyaXRlKHZtLCBjb25zdHJ1Y3Rv
ciwgIlNldHRpbmcgaW5mZXJyZWQgY29uc3RydWN0b3IgaW4gT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUiKTsKKworICAgICAgICBpc1BvbHlQcm90byA9IChpbmZlcnJlZENvbnN0cnVjdG9yLT5oYXNC
ZWVuSW52YWxpZGF0ZWQoKSB8fCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90bykgJiYgZXhlY3V0
YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAg
IGlmIChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAgICAgICAgICAgaXNQb2x5UHJvdG8g
PSB0cnVlOworICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBp
ZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBv
biBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9z
c2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAo
IWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMg
YXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QK
KyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBj
YW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAg
ICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVy
dGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFs
bAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAg
ICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVk
SW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxP
YmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5v
cm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5
UHJvdG8pIHsKKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2Nh
dGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9y
ID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBU
YWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBz
aXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAo
YWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFy
cmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAg
IGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkp
CisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5
cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICAvLyBFbnN1cmUgdGhh
dCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHBy
b3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgaWYgKGlz
UG9seVByb3RvKSB7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSk7CisgICAgICAgIGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFibGUoKS0+c2V0Q2FjaGVkUG9s
eVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBtX2FsbG9jYXRvciA9IG51
bGxwdHI7CisgICAgfSBlbHNlCisgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworCisg
ICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBtX2lubGluZUNh
cGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHBy
b3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0
KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHNpemVfdCBj
b3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQ
cm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6Oklu
Y2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9t
U3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOworICAg
IFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVW
ZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytp
KSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJv
cGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwg
YW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRk
ZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQor
ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAgIH0KKyAgICBy
ZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
YmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1OSArNDgsNyBA
QCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVjdHVyZTsgfQog
Ci0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOwotICAg
ICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lubGluZUNhcGFj
aXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0gICAgICAgIGlm
IChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNl
ZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5
ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7Ci0KLSAgICAg
ICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAgICAgICAgIC8v
IEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6
ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6
ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlvbnMuCi0gICAg
ICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1
bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAg
ICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywgc28g
ZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAgICAvLyBvYmpl
Y3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAg
ICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
Tm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9
Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAgIEFTU0VSVChp
bmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLQot
ICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9u
U2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9y
ID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0gICAgICAgIAot
ICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxh
YmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7Ci0gICAgICAg
ICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6
ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFs
T2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0g
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0
U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0
aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0gICAgICAgIFdU
Rjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7
Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7Ci0gICAgICAg
IG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAgdm9pZCBpbml0
aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2Vs
bCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRvciA9IDA7CisgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsKICAgICAg
ICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChpc051bGwoKSk7CkBAIC0x
MjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2li
bGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAg
ewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9i
amVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90
IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXko
JnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1v
ZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0
eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9k
ZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1l
VmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90
eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAg
IC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2Jq
ZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWND
YXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
Ci0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50
OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2
bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2Nh
dG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBj
b2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBnZW5l
cmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29u
ZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwog
ICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgKICAgICAg
ICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJv
cGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJv
cGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1
aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAg
ICAgYnJlYWs7CkBAIC0yNTgsNiArMjYyLDEyIEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNv
IGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW50ZWdyYXRlIHRo
aXMgd2l0aCBQcm90b3R5cGVBY2Nlc3NDaGFpbjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAgICAgICB9CiAgICAgICAg
IAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAo
Z2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzOSw3ICszMzksNyBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNjZXNzSW50ZXJuYWw6OnZl
cmJvc2UpCiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBtX2xpc3Q6ICIsIGxpc3RE
dW1wKG1fbGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0
ZSh2bSk7CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtLCBjb2RlQmxvY2stPmds
b2JhbE9iamVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7CiAgICAgc3RhdGUuc3R1
YkluZm8gPSAmc3R1YkluZm87CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE3MSwxNCArMTcxLDE2IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2Vu
ZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtKQorICAgIEFj
Y2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2Jq
ZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNhbGxBbmRFeGNlcHRpb25I
YW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNl
cHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNpdGVJbmRleChmYWxzZSkK
ICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2Jh
bE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIgfTsKICAgICBTY3JhdGNo
UmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlv
bi5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsMTQg
QEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlz
IHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAg
ICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdv
cmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgor
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAgICAgICAgUHJv
cGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVp
ZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9mZnNldCkgewogICAg
ICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2UpCkBAIC0xMzIs
NiArMTQwLDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAg
ICAgICAgICAgICAgICBkYXRhTG9nKCJJbnZhbGlkIGJlY2F1c2UgaXQncyBhIGRpY3Rpb25hcnku
XG4iKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQorCisgICAgICAgIGlm
ICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gRklY
TUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJv
dmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ug
c2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9Q
QyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgfQogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgY3VycmVudEF0dHJpYnV0ZXM7CiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJl
bnRseSh1aWQoKSwgY3VycmVudEF0dHJpYnV0ZXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCShub25l
eGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nl
c3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5o
IgorCituYW1lc3BhY2UgSlNDIHsKKworc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBib29sJiB1c2Vz
UG9seVByb3RvKQoreworICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51
bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3Qs
IGJhc2UsIHRhcmdldCwgdXNlc1BvbHlQcm90byk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wm
IHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxsKiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYg
dm0gPSAqYmFzZS0+dm0oKTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKworICAgIHVzZXNQ
b2x5UHJvdG8gPSBmYWxzZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4gcmVzdWx0KG5ldyBQcm90b3R5cGVBY2Nlc3NDaGFpbigpKTsKKworICAgIGZvciAodW5z
aWduZWQgaXRlcmF0aW9uTnVtYmVyID0gMDsgdHJ1ZTsgKytpdGVyYXRpb25OdW1iZXIpIHsKKyAg
ICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisg
ICAgICAgIGlmICghc3RydWN0dXJlLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1By
b3h5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0
dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNP
YmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVm
b3JlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0
cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQp
KTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFRvIHNhdmUgbWVtb3J5LCB3ZSBkb24ndCBpbmNs
dWRlIHRoZSBiYXNlIGluIHRoZSBjaGFpbi4gV2UgbGV0CisgICAgICAgIC8vIEFjY2Vzc0Nhc2Ug
cHJvdmlkZSB0aGUgYmFzZSB0byB1cyBhcyBuZWVkZWQuCisgICAgICAgIGlmIChpdGVyYXRpb25O
dW1iZXIpCisgICAgICAgICAgICByZXN1bHQtPm1fY2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnQgPT0gYmFzZSk7
CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9
IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG9u
bHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlh
CisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlz
IHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQg
d2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9s
eSBwcm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJv
dG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVudCk7CisgICAgICAgIGlmIChwcm90
b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VycmVudCA9IGFz
T2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3VuZCAmJiAhIXRhcmdldCkK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitib29s
IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29u
c3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgeworICAgICAg
ICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFBy
b3RvdHlwZUFjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWlu
JiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFpbiA9PSBvdGhlci5tX2NoYWluOwor
fQorCit2b2lkIFByb3RvdHlwZUFjY2Vzc0NoYWluOjpkdW1wKFN0cnVjdHVyZSogYmFzZVN0cnVj
dHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlBvbHlQcm90
b3R5cGVBY2Nlc3NDaGFpbiIpOworICAgIG91dC5wcmludCgiOiBbXG4iKTsKKyAgICBmb3JFYWNo
KGJhc2VTdHJ1Y3R1cmUsIFsmXSAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wpIHsKKyAgICAg
ICAgb3V0LnByaW50KCJcdCIpOworICAgICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICAg
ICAgb3V0LnByaW50KCJcbiIpOworICAgIH0pOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmpl
Y3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVy
ZTsKKworY2xhc3MgUHJvdG90eXBlQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3RvdHlwZUFjY2Vzc0NoYWluKTsK
KworcHVibGljOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKFByb3RvdHlwZUFjY2Vzc0NoYWlu
JikgPSBkZWZhdWx0OworCisgICAgLy8gUmV0dXJucyBudWxscHRyIHdoZW4gaW52YWxpZC4KKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjcmVhdGUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIGJhc2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8p
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjbG9uZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxQcm90b3R5cGVBY2Nlc3NDaGFp
bj4oKnRoaXMpOworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1cmUqPiYgY2hhaW4o
KSBjb25zdCB7IHJldHVybiBtX2NoYWluOyB9CisKKyAgICB2b2lkIGR1bXAoU3RydWN0dXJlKiBi
YXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAgIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0OworICAgIGJvb2wg
b3BlcmF0b3IhPShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQorCisgICAgYm9vbCBu
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgRnVuYz4KKyAgICB2b2lkIGZvckVhY2goU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBj
b25zdCBGdW5jJiBmdW5jKSBjb25zdAorICAgIHsKKyAgICAgICAgYm9vbCBhdEVuZCA9ICFtX2No
YWluLnNpemUoKTsKKyAgICAgICAgZnVuYyhiYXNlU3RydWN0dXJlLCBhdEVuZCk7CisgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYWluLnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICBhdEVuZCA9IGkgKyAxID09IG1fY2hhaW4uc2l6ZSgpOworICAgICAgICAgICAgZnVuYyht
X2NoYWluW2ldLCBhdEVuZCk7CisgICAgICAgIH0KKyAgICB9CisKK3ByaXZhdGU6CisgICAgUHJv
dG90eXBlQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBUaGlzIGRvZXMgbm90IGlu
Y2x1ZGUgdGhlIGJhc2UuIFdlIHJlbHkgb24gQWNjZXNzQ2FzZSBwcm92aWRpbmcgaXQgZm9yIHVz
LiBUaGF0IHNhaWQsIHRoaXMgZGF0YQorICAgIC8vIHN0cnVjdHVyZSBpcyB0aWVkIHRvIHRoZSBi
YXNlIHRoYXQgaXQgd2FzIGNyZWF0ZWQgd2l0aC4KKyAgICBWZWN0b3I8U3RydWN0dXJlKj4gbV9j
aGFpbjsgCit9OworCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
eHlhYmxlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDE3ICszMCwxOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotUHJv
eHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKLSAgICA6
IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0KQorUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFj
Y2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogICAg
ICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChhZGRpdGlvbmFs
U2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNz
Q2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJs
ZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vz
c0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBBU1NFUlQodHlwZSA9PSBMb2Fk
IHx8IHR5cGUgPT0gTWlzcyB8fCB0eXBlID09IEdldEdldHRlcik7Ci0gICAgcmV0dXJuIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIs
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJv
eHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vz
c0NoYWluKSkpOwogfQogCiBQcm94eWFibGVBY2Nlc3NDYXNlOjp+UHJveHlhYmxlQWNjZXNzQ2Fz
ZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94
eWFibGVBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDEzICszMywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgUHJveHlhYmxlQWNjZXNzQ2Fz
ZSA6IHB1YmxpYyBBY2Nlc3NDYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEFjY2Vzc0Nhc2Ug
QmFzZTsKKyAgICB1c2luZyBCYXNlID0gQWNjZXNzQ2FzZTsKIAogICAgIGJvb2wgdmlhUHJveHko
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3ZpYVByb3h5OyB9CiAgICAgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYWRkaXRpb25hbFNl
dC5nZXQoKTsgfQogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVh
dGUoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0ID0gbnVsbHB0cik7CisgICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJp
bnRTdHJlYW0mLCBDb21tYVByaW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTQ3LDcgKzQ3LDcg
QEAgcHVibGljOgogICAgIH5Qcm94eWFibGVBY2Nlc3NDYXNlKCk7CiAKIHByb3RlY3RlZDoKLSAg
ICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCk7CisgICAgUHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4pOwogCiBwcml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlk
U3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDYgKzE4NCw4IEBAIFB1dEJ5SWRTdGF0
dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nh
c2UmIGFjY2VzcyA9IGxpc3QtPmF0KGkpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94
eSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUp
OworICAgICAgICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIFB1dEJ5SWRWYXJpYW50IHZhcmlhbnQ7CiAgICAgICAgICAgICAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzczNyw2ICszNzM3LDExIEBAIE5vZGUqIEJ5dGVD
b2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVzIGluIHRo
ZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0IHdvdWxk
IGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRpZG4ndCku
IE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcKICAgICAg
ICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5cyBiZSB0
cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVzIHdvcmsu
CisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93LCBpZiB3ZSBoYXZlIGFuIE9Q
Q1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3aWxsCisgICAgICAgICAgICAg
ICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUgb25jZSB3ZSBoYXZlIGEgaHli
cmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAgIC8vIHBvbHkgcHJvdG86Cisg
ICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50LnN0
cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAgICAg
ICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMzNCwx
MiArNDMzOSwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAg
ICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25S
YXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2Nh
dGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6
ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRz
KCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAg
dG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRv
bSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBP
cEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9seSBwcm90
byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJl
Z2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSog
bm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0
Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwog
ICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChb
Jl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0g
c3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBh
bGxHb29kICY9IHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYm
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAg
ICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1
cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmlt
cGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsy
NDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlm
IChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8g
cmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhl
YywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBu
dWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVE
YXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkt
PnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlP
YmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVy
ZS0+cG9seVByb3RvT2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5w
cm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MzAwLDcgKzQzMDAsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0
UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5s
b2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRh
OjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0
LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURh
dGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Q
cm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBz
bG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywg
YWxsb2NhdG9yR1BSKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BS
LCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwg
c2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihK
SVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURh
dGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9y
QwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90
eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1
ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3Jh
dGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90
eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVS
ZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0
OSw4ICszMjQ5LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8K
ICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1i
bGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3Jv
QXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRj
aFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9i
amVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2Ny
YXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFj
cm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZz
ZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExv
YWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNo
MlJlZyk7CisgICAgLy9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0
Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCks
IHNjcmF0Y2hSZWcpOworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhz
Y3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsK
KyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJl
Z3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1Jl
Zywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4
KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmpl
Y3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQ
cm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJl
Zyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNo
UHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNp
ZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3Jh
dGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEyIEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0
aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAg
ICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BS
UmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJS
ZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRj
aDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwg
PSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJl
ZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3
ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAg
ICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNj
cmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmpl
Y3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcs
IHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBA
IC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5j
ZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1w
b3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwog
ICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90
b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3Jh
dGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAg
IEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hS
ZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2
YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNS
ZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0
ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBp
bnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVj
dChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2Ny
YXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5
cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQ
UlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAg
ICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjU3
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODk2OSwxMCArODk2OSwxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAg
ICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAg
IExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9j
ayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Js
b2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9j
ayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxv
Y2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9j
ayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBs
b2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxv
Y2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExC
YXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAg
ICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VL
aW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5OTAsMTYgKzg5OTIsMjggQEAgcHJpdmF0ZToKICAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsK
ICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVu
ZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhs
b29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBo
aShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9h
ZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAg
IG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNv
bnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90
b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAg
ICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VT
bG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90
WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywg
bG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJl
KHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQo
c3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1
ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1
cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBt
X291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMy
KHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJv
dG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFy
ZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5
cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJs
b2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NCht
X291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBp
bmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOwor
ICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFw
cGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVl
IGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5
UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQu
YW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAg
ICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3Ry
dWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdU
Mi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBj
aGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUg
bG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdU
MiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwg
cmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVy
ZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5
cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVu
ZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdU
NCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQp
OworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJl
Z1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdU
MSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRC
eUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNs
b3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8IHNsb3Qu
c2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0YXRpYyBJ
bmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGlj
dGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkg
JiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJv
cGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAK
LSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAgIGNvbmRp
dGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1w
bCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgp
LAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgp
KQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICBw
cm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90byk7Cisg
ICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAg
Ly8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KIAotICAgICAg
ICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9u
U2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBpZiAoIXVzZXNQ
b2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQgaW5zdGVhZCBmb3IgZmFzdGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAgICAgIHBy
b3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIGlmIChzbG90
LmlzVW5zZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwg
Y29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCks
CisgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkp
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQg
OiBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiog
Z2V0dGVyID0gbnVsbHB0cjsKQEAgLTI5MywxMyArMzA3LDE3IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0g
UHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hw
b2ludFNldCgpKTsKLSAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBn
ZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRl
cihnZXR0ZXIsIHN0cnVjdHVyZSkpCisgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNj
ZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBX
VEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWxvYWRU
YXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNh
bkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVyLCBzdHJ1Y3R1cmUpICYmICFwcm90b3R5cGVBY2Nl
c3NDaGFpbikgeworICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBtYWtlIHRoaXMgd29y
ayB3aXRoIHBvbHkgcHJvdG8sIGJ1dCBmb3Igb3VyIG93biBzYW5pdHksIHdlIHByb2JhYmx5Cisg
ICAgICAgICAgICAvLyB3YW50IHRvIGRvIGEgcG9pbnRlciBjaGVjayBvbiB0aGUgYWN0dWFsIGdl
dHRlci4gQSBnb29kIHRpbWUgdG8gbWFrZSB0aGlzIHdvcmsgd291bGQKKyAgICAgICAgICAgIC8v
IGJlIHdoZW4gd2UgY2FuIGluaGVyaXQgZnJvbSBidWlsdGluIHR5cGVzIGluIHBvbHkgcHJvdG8g
ZmFzaGlvbjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzczMTgKICAgICAgICAgICAgIG5ld0Nhc2UgPSBJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5jYWNoZWRPZmZzZXQoKSwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGdldHRlcik7Ci0gICAgICAgIGVsc2UgeworICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNV
bnNldCgpKSB7CiAgICAgICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6
OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3Mg
OiBBY2Nlc3NDYXNlOjpMb2FkLAotICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQo
KSk7CisgICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAg
IEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c0NhY2hlYWJsZUdldHRlcigpKQpAQCAtMzE2LDcgKzMzNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwKICAgICAgICAgICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXND
YWNoZWFibGVDdXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAg
ICAgICAgICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkg
OiBudWxscHRyLAotICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAg
ICAgICAgICAgICBkb21BdHRyaWJ1dGUsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTM4Niw2ICs0MDQsNyBAQCBzdGF0
aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRCeUlECiAgICAgICAgIHJldHVybiBHaXZl
VXBPbkNhY2hlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2U7Cisg
ICAgSlNDZWxsKiBiYXNlQ2VsbCA9IGJhc2VWYWx1ZS5hc0NlbGwoKTsKIAogICAgIGlmIChzbG90
LmJhc2UoKSA9PSBiYXNlVmFsdWUgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAgICAgICAg
IGlmIChzbG90LnR5cGUoKSA9PSBQdXRQcm9wZXJ0eVNsb3Q6OkV4aXN0aW5nUHJvcGVydHkpIHsK
QEAgLTQyOSw0OCArNDQ4LDgzIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1
dEJ5SUQKICAgICAgICAgICAgIEFTU0VSVCghbmV3U3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSk7
CiAgICAgICAgICAgICBBU1NFUlQobmV3U3RydWN0dXJlLT5pc09iamVjdCgpKTsKICAgICAgICAg
ICAgIAorICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBw
cm90b3R5cGVBY2Nlc3NDaGFpbjsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0IGNvbmRpdGlvblNldDsKICAgICAgICAgICAgIGlmIChwdXRLaW5kID09IE5vdERpcmVjdCkg
ewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsK
LSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAg
ICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIG51bGxwdHIsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAg
ICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAg
ICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KKwog
ICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRl
KHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCk7CisgICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2Rl
QmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChz
bG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgc2xvdC5pc0NhY2hlYWJsZVNldHRlcigpKSB7CiAg
ICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsKICAgICAgICAgICAgIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CiAKICAg
ICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKLSAgICAgICAgICAgICAg
ICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdEN1c3RvbSgKLSAgICAgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7
Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAg
ICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgICAgIHByb3Rv
dHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7
CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAg
ICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3Bl
cnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAg
ICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAg
ICAgICAgICAgICBjb25kaXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJh
dGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXRDdXN0b20oCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2Uo
KSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQu
aXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNl
ID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBj
b2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNj
ZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBp
bnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0gICAgICAgICAgICAgICAgc2xvdC5jdXN0b21T
ZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNs
b3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIg
OiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0
LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3ND
aGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsK
LSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAg
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAg
ICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAg
ICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25z
Rm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29k
ZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAg
ICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAg
ICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Ci0gICAgICAgICAgICAg
ICAgb2Zmc2V0ID0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBzbG90LmNhY2hlZE9m
ZnNldCgpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1Bv
bHlQcm90bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51
bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAg
ICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUs
IHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNv
bmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvZmZzZXQg
PT0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCkpOworICAgICAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IEFjY2Vzc0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCk7Cisg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1
cmUsIG9mZnNldCwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTUxNywxNSArNTcxLDM1IEBAIHN0YXRpYyBJbmxpbmVD
YWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsK
ICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CiAgICAgaWYgKHdh
c0ZvdW5kKSB7Ci0gICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0gYmFzZSkgewotICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVy
dHlIaXQoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBz
bG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgIGlmIChzbG90LnNsb3RCYXNl
KCkgIT0gYmFzZSkgeyAKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOwor
ICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6
Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQ
cm90byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAg
ICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0
eS4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIHByb3Rv
dHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCks
IGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2Ugewot
ICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3Mo
Ci0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwo
KSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBwcm90b3R5
cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgaWYg
KCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRv
IGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBHaXZl
VXBPbkNhY2hlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7Cisg
ICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICBj
b25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOwor
ICAgICAgICB9CiAgICAgfQogICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CkBAIC01MzMsNyArNjA3LDcgQEAgc3RhdGljIElubGlu
ZUNhY2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBMT0dfSUMoKElDRXZlbnQ6OkluQWRkQWNj
ZXNzQ2FzZSwgc3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaWRlbnQpKTsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAg
ICB2bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2Fz
ZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCk7CisgICAg
ICAgIHZtLCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3ND
YXNlOjpJbk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZN
b3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
IHJlc3VsdCA9IHN0dWJJbmZvLmFkZEFjY2Vzc0Nhc2UobG9ja2VyLCBjb2RlQmxvY2ssIGlkZW50
LCBXVEZNb3ZlKG5ld0Nhc2UpKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzYwLDE2ICs3NjAsMTcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF9i
eV9pZAogICAgICAgICAgICAgICAgIGlmICghc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSAmJiBz
dHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1cmUt
Pm91dE9mTGluZUNhcGFjaXR5KCkpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVj
dHVyZS0+cHJldmlvdXNJRCgpLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZhbGlk
YXRlZCgpKTsKIAotICAgICAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplUHJvdG90eXBlQ2hh
aW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAgICAg
ICAgICAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAg
ICAgYXV0byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUs
IHNhd1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxp
ZFByb3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJvdG8pIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91
c0lEKCktPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBz
bG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1
Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgh
KHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJZElzRGlyZWN0KSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90
eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hh
aW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNl
Q2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29k
ZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFn
cz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBl
LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhl
Y1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQogewotICAg
IGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pOworICAgIHJldHVybiBvYmplY3QtPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0K
IAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhp
c09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwgdWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcg
KzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAg
ICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQor
ICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAg
ICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4o
RXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9pbmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVO
dW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmICgh
aG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVj
dCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAg
ICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBA
IC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3Rv
RgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCku
ZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNv
bnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNl
KGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRo
aXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5n
dGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHku
Y29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRh
LCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVj
dCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2Ug
PSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAo
bGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAg
ICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwpAQCAtMTE3NCw3ICsxMTcz
LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhh
c0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1
Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElL
RUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVl
IHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAo
dmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3Vt
ZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xv
bmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAg
KzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VM
WShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZ
KHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAg
ICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBz
dHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJh
eVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0g
ZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVyIGluZGV4aW5nSGVhZGVyOwogICAgICAgICBp
bmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgodmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgw
LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5C
LiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2Yg
dGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBX
ZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVk
QXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAg
IEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8
IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkp
OworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVz
ZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCArMTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyog
Q2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3Vs
dC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5
cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVk
QXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhl
Y1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFy
Z3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZy
YW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVy
ZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAg
Q2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAo
dW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRl
eChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1
bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xv
d1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25T
bG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQy
LDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXpl
X3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9
IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGly
ZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90
eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8g
aHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnlj
cmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9y
QXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFi
bGUuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBA
IHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJs
b2NrRm9yQ29uc3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCh0aGlzT2JqZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQo
dGhpc09iamVjdC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1
dGFibGUqIEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25F
eGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDA5LCAyMDEwLCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNzIsNiArMTcyLDkg
QEAgcHVibGljOgogICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmds
ZXRvbkZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAg
IC8vIENhY2hlZCBwb2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1
Y3RpbmcgdGhpcyBleGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3Ry
dWN0dXJlKCkgeyByZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAg
ICB2b2lkIHNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKSB7IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0
dXJlKTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAg
LTE4OSw2ICsxOTIsNyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxGdW5jdGlvbkNvZGVC
bG9jaz4gbV9jb2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0
dXJuU3RhdGVtZW50VHlwZVNldDsKICAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9z
aW5nbGV0b25GdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBv
bHlQcm90b1N0cnVjdHVyZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFy
ZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRh
Ojppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7
Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmpl
Y3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9u
UmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjU3
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAko
d29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFy
KGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6
ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90
IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlz
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRlcm5hbEZ1
bmN0aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVT
dWJjbGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCwg
U3RydWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAg
IGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQoIW5ld1Rh
cmdldCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3VGFyZ2V0
ICYmIG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChiYXNlQ2xh
c3MtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUgYW4g
SW50ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3RydWN0
LgogICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0
aW9uKj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcz
OCw3ICs3MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBlCiAg
ICAgY2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsK
ICAgICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQ
QVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8
fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKQog
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3Myw3
ICs3NzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAg
CiAgICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBpbiBh
biBhYm5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGluIEFy
cmF5UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAoKHN0
b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAogICAg
ICAgICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICByZXR1
cm4gZmFsc2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0
aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZv
cmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFs
ZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNo
b3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVu
ZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAg
ICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNv
dW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05NDUs
NyArOTQ1LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAg
ICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5n
IHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8g
dGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4g
QXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNv
dW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91
YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAg
ICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBAQCBi
b29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVy
ZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+
YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFs
T2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYyLDggKzYyLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZt
LAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEg
d2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQg
T2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBl
IGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0g
ICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAg
ICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3Ry
dWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09m
KEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwg
UmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0
ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0g
ICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQp
LCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQo
KnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAg
IG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAg
ICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIs
IGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVy
ZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYg
KGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI1NzYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6
YWxsb2NhdGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVjdCog
SlNGdW5jdGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjKQoreworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSk7CisgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICBy
ZXR1cm4gYXNPYmplY3QocHJvdG90eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0p
LT5vYmplY3RQcm90b3R5cGUoKTsKK30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6
YWxsb2NhdGVBbmRJbml0aWFsaXplUmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAg
ICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmpl
Y3RQcm90b3R5cGUoKTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29u
c3RydWN0aW9uKHZtLCBleGVjKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1
bmN0aW9uUmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsK
IAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQg
dGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBw
cm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0YSog
SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1p
Y0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmpl
Y3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxP
YmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0
aW9uKHZtLCBleGVjKTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHks
IHRoaXMpOwogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNzEsNyArMzc0
LDYgQEAgYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAg
ICAgb2Zmc2V0ID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5h
bWVzLT5wcm90b3R5cGUsIGF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRP
ZmZzZXQob2Zmc2V0KSk7CiAgICAgICAgIH0KLQogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNP
YmplY3QsIGF0dHJpYnV0ZXMsIHRoaXNPYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQp
OwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b24uaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAor
ICAgIC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlz
IEpTRnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90
eXBlRm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBK
U19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSos
IFN0cnVjdHVyZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNw
cAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNN
YXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVj
dC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkK
KyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5
cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0
LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25P
YnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZh
c3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAg
ICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9
IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0g
b2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAg
ICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRy
aWJ1dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAg
QVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2
bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJU
KHRoaXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1l
KSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVj
LCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVy
dHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1
dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3Ro
IDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBl
ID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhl
ZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFj
aXR5ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcg
QEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVy
Zmx5KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMs
IG9sZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJl
TnVsbCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblBy
b3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRC
dXR0ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVj
dHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsx
MjA2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZt
KQogewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVj
dHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJu
IGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJ
bnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29u
dmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50
MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0s
IHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1Zh
bHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3
LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAK
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYg
dm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0
dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4g
Y29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91
c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24p
CkBAIC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29u
dGlndW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJh
eVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlT
dG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkpOworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdn
ZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252
ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsx
NDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAog
ICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVO
TElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygp
KSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0
dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0
LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAg
IHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
ICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4g
Y3JlYXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcg
QEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQw
LDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAg
CiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQo
IWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3Jh
Z2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQo
IXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQo
IW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9B
cnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAg
ICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZl
cnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJ
R1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAg
ICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAK
ICAgICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQ
cm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAg
ICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwog
ICAgIAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90
b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0
cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwg
c3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdT
dHJ1Y3R1cmUpOworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2
bSktPnBvbHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJ
bkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAg
ICAKICAgICBpZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAg
IG5ld1N0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAg
IHN0cnVjdHVyZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09i
amVjdDo6b3JkaW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hh
dGV2ZXIgZGVmYXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5
cGUgY2hhaW4gYXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUo
KS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hh
aW4odm0pOworICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsg
b2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2Jq
ZWN0KSkKKyAgICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJu
YWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBp
ZiAoaGludCA9PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNP
YmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRC
eUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAg
ICBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwg
MCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAg
ICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlT
dG9yYWdlIGFuZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSAr
IDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0
dXJuIHB1dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4
NzgsNyArMjg4Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24K
ICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhB
cnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMs
IG1vZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAg
IGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlm
IChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0
b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgo
MCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2
bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3Rv
cisrOwpAQCAtMzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFi
bGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAg
IHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6Omdl
dE1ldGhvZChFeGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2Jq
ZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QK
K3sKKyAgICBWTSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBj
dXJyZW50ID0gdGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90
eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAg
aWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdElu
Q2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2Jq
ZWN0KiBjdXJyZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1
cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVs
bCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVu
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRy
aWJ1dGVzOworICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1
cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICgh
SlNDOjppc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgCisgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNP
YmplY3Q6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgp
LT5pc0hhdmluZ0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVj
dDo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRp
b246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJv
cGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJ
bmRleE1vZGUuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRl
ICJWTS5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1
ZU1hcC5oIgpAQCAtMTMxLDcgKzEzMiw3IEBAIHB1YmxpYzoKICAgICAvLyBJdCBpcyB2YWxpZCB0
byB1c2UgdGhvdWdoIHdoZW4geW91IGtub3cgdGhhdCB5b3Ugd2FudCB0byBkaXJlY3RseSBnZXQg
aXQKICAgICAvLyB3aXRob3V0IGNvbnN1bHRpbmcgdGhlIG1ldGhvZCB0YWJsZS4gVGhpcyBpcyBh
a2luIHRvIGdldHRpbmcgdGhlIFtbUHJvdG90eXBlXV0KICAgICAvLyBpbnRlcm5hbCBmaWVsZCBk
aXJlY3RseSBhcyBkZXNjcmliZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uCi0gICAgSlNWYWx1ZSBn
ZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVl
IGdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0OwogCiAgICAgLy8gVGhpcyBzZXRzIHRoZSBwcm90
b3R5cGUgd2l0aG91dCBjaGVja2luZyBmb3IgY3ljbGVzIGFuZCB3aXRob3V0CiAgICAgLy8gZG9p
bmcgZHluYW1pYyBkaXNwYXRjaCBvbiBbW1NldFByb3RvdHlwZU9mXV0gb3BlcmF0aW9uIGluIHRo
ZSBzcGVjaWZpY2F0aW9uLgpAQCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRl
Kik7CiAgICAgYm9vbCBpc1NlYWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlz
U2VhbGVkKHZtKTsgfQogICAgIGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1
cmUodm0pLT5pc0Zyb3plbih2bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJv
b2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsK
KyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlU
cmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJp
dmF0ZToKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJu
IGlzU3RydWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAg
cHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAg
ICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJv
dG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFw
KGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKCktPmhh
c1N0b3JlZFByb3RvdHlwZSgpIHx8IGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhl
YXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAg
ICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xh
c3NJbmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0
OjpKU09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0
UHJvdG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3Jl
ZFByb3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRo
aXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwg
RXhlY1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29s
IEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0
cnVjdHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChv
YmplY3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5
TmFtZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBGSVhN
RTogVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlv
bjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MjU3MgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShy
ZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3Rv
dHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJu
YWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+
Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90
eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19J
TkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBKU1Zh
bHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygp
LT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90
LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBl
OjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBl
RGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0
LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBK
U09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVy
Zm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0
aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3Jl
VG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAg
IGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3Bl
cnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihl
eGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJv
cGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4
LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRM
ZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBl
Q2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBl
bnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBl
Q2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWlu
dDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBA
QCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQo
cHJvcGVydHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFYKTsKIAotICAgIG5vcm1hbGl6ZVByb3Rv
dHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAg
YXV0byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNh
d1BvbHlQcm90byk7CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
OjpjcmVhdGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJv
cGVydGllcywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2Fj
aGVkUHJvdG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOwot
ICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1l
RW51bWVyYXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBiYXNl
LT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSAmJiByZXN1bHQgIT0gSW52YWxpZFByb3RvdHlw
ZUNoYWluKSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZt
LCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0
cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBz
dHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3Ip
OworICAgIH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1
Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAo
c3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFs
T2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAh
PSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9v
bCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2Jh
bE9iamVjdC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBl
KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNP
YmplY3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJl
dHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVu
dGx5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlv
bnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTMgKzEzNiwxOSBAQCBib29sIGpzSXNGdW5j
dGlvblR5cGUoSlNWYWx1ZSB2KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1h
bGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKK3NpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFt
ZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wmIHNhd1BvbHlQcm90bykKIHsKICAgICBWTSYg
dm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBzYXdQb2x5
UHJvdG8gPSBmYWxzZTsKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5p
c1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisg
ICAgICAgIHNhd1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsK
KyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAg
ICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1ZhbHVlIHYgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAgICBpZiAodi5p
c051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNyArMzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFtZSosCiBK
U1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVl
KTsKIGJvb2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7CiBib29s
IGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hh
aW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hh
aW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxXQVlT
X0lOTElORSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogczEs
IEpTU3RyaW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
dGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYgY29u
c3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21Db250
ZXh0LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCksIHdl
IHdpbGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGluIGl0
IHRvIGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2VtYmx5
VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlua0lu
Zm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwgdXNl
T2JqZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUg
T2JqZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxv
Y2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIg
bm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRp
b24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2KGJv
b2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwg
d2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFs
c2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNp
ZGVkLiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJZiB0
cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBwb2x5
IHByb3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVN
YXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5cGVN
YXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCiB9
CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3Qg
VHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdU
eXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3RydWN0
dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5m
bywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUs
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7
Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0
eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJvdG90
eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5cGUg
dG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRlIG5v
bi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShtYWtl
UG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHks
IGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1
Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7
CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJvdG90eXBlKHBy
b3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgK
LSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlw
ZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBW
TSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7Cisg
ICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3Ry
dWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1
Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
dHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
fQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7
CisKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEgQEAgU3RydWN0
dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRs
eSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFz
c2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0
IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBi
YXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1
cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhh
c0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGlu
Z1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwog
Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwg
aW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJl
KiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJl
Rm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1
cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCks
IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAg
ICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpT
RmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9T
dHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVj
dHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCog
b2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVt
b3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjpt
YWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCks
IGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAg
SlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVG
b3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNl
U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2
b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3Qq
LCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJ
VkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBp
c1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVz
dGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNv
bnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwor
ICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4
aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVj
dHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVz
OwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFr
R0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBK
U0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1
Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25z
dCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVy
ZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsy
NDcsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBK
U0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2Fw
YWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0g
ICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQor
ICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkK
ICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNp
dGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNl
dCkKQEAgLTI5NSw2ICsyOTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBj
ZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1
Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcs
IFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywg
SW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7Cisg
ICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKwor
ICAgIHVuc2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBh
Y2l0eSgpOworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAg
ICAgdm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pLAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdM
YXN0T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9w
cm90b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAg
cmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1h
cEZvck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0
cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VS
VChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTgsMjYgKzQxNSwxNCBAQCBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJh
bnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVz
LCBvZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVy
Y2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9y
IChjb25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJy
ZW50LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9y
ZWRQcm90b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChw
cm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVj
dHVyZSh2bSkgPT0gdGhpcyk7CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUoVk0mIHZtKSBjb25zdAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
dGhpcy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmpl
Y3QocHJvdG90eXBlKTsKQEAgLTQyNiw3ICs0MzEsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVj
dC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVj
dC0+aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5z
dG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3Qo
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3Qo
cHJvdG90eXBlKTsKQEAgLTQzNiwyMCArNDQxLDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6
Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVj
dCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1
Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlm
IChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5v
blByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywg
UHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTIsNiArNTQz
LDggQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1
cmUqIFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBKU1ZhbHVlIHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBl
LmlzT2JqZWN0KCkgfHwgcHJvdG90eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJH
Qyh2bS5oZWFwKTsKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVj
dHVyZSk7CiAKQEAgLTEwNjcsMTEgKzEwNjAsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNp
dGlvbkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFs
bCgqdm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0
dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsK
LX0KLQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3Ry
dWN0dXJlKj4oY2VsbCk7CkBAIC0xMTA5LDcgKzEwOTcsNyBAQCBib29sIFN0cnVjdHVyZTo6aXND
aGVhcER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6
aXNNYXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAo
IXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0
b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBl
KCkgfHwgIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVu
dGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJr
SWZDaGVhcChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjEsNDAgKzExMDksMTkgQEAgYm9v
bCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwog
fQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZN
JiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChw
cm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0g
dGhpczsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFBy
b3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0Nl
bGwoKS0+c3RydWN0dXJlKHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0
ZXM7Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJv
cGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQo
b2Zmc2V0KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0
dHJpYnV0ZXMgJiAoUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1
dGU6OkFjY2Vzc29yKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1
cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4g
U3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQ
cm90b1N0cnVjdHVyZSkKIHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0
cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNo
YXBlID0gYmFzZVNoYXBlLnB0cigpOwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhp
czsKICAgICBKU1ZhbHVlIGN1clZhbHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0
dXJlID0gZmFsc2U7CiAgICAgd2hpbGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5
UHJvdG9TdHJ1Y3R1cmUgfD0gIWN1clN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAg
ICAgICAgIGN1clN0cnVjdHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAg
ICAgICAgWyZdIChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAg
ICAgICAgICAgICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAg
ICAgICAgIGlmICghUHJvcGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAg
ICAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OCwyNiAr
MTEzNSwyNCBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAg
ICAgICAgY3VyU2hhcGUtPm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hh
cGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0
UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92
ZShuZXdTaGFwZSk7Ci0gICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgp
KQorICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIG9iamVj
dCA9IGFzT2JqZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVj
dCA9IG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOwor
ICAgICAgICBpZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1
clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9
IFdURk1vdmUobmV3U2hhcGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsK
KyAgICAgICAgY3VyU3RydWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAg
ICB9CiAgICAgCiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNh
blVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5s
aW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9y
ZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2Jq
ZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxv
YigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAog
ewogICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xh
c3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAyLDcgKzExNjcsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGlu
Z1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdl
dCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91
dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBl
bHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIs
IFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAg
IHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpAQCAtMTI4Nyw3ICsxMjU0LDcgQEAgYm9vbCBT
dHJ1Y3R1cmU6OmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAg
ICAgICAgIGlmICghc3RydWN0dXJlLT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBpZiAoc3RydWN0dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5h
bWVzKCkpCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBz
dHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlND
ZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0g
UG9seVByb3RvVGFnIHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8m
LCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5s
aW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3Rv
VGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcg
KzE0MCw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9u
KHZtKTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJUKG1fcHJv
dG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAgICBBU1NF
UlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8fCBtX3By
b3RvdHlwZS5pc0ludDMyKCkpOwogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxNjksNyBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1
cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0
eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlv
bihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBK
U19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0
aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1
Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVl
IHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0
cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5z
aWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVy
ZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVy
cmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0
cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJl
dHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJz
ZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJs
ZSgpCkBAIC0yNDAsMjYgKzI0MiwzOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRl
eGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAg
ICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hh
aW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAgICAKLSAgICBib29sIG5lZWRz
U2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVj
dC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2Fs
bGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAog
ICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUg
aW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhp
cywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0
b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBl
LmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkp
OworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5
T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUu
Z2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25z
dCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3Qo
Y29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0
cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3Ry
dWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRl
KikgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3Qq
KSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25z
dDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVj
dCopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUq
KSBjb25zdDsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCos
IEpTQ2VsbCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWlu
KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0
dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25z
dDsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7
CiAgICAgCiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYg
ZG9pbmcgc28gd291bGQgb25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3
MiwxNCArMjg3LDI0IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhp
cyBzdHJ1Y3R1cmUgaXMgbm93IG1hcmtlZC4KICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNp
dG9yJik7Ci0gICAgICAgIAotICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGlu
dGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29s
IHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CiAg
ICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4g
aXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3Ry
dWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVCho
YXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVE
YXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVy
ZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhh
c1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAg
cmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJ
RCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NTgsNiBAQCBwdWJsaWM6CiAgICAgICAgIHN0
YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAgIH0KICAgICAKLSAgICB2b2lk
IHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWlu
KFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlz
OyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3Bl
cnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9vbCBoYXNJbmZlcnJlZFR5cGVz
KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5mZXJyZWRUeXBlVGFibGU7CkBA
IC01ODgsMTEgKzYwNyw3IEBAIHB1YmxpYzoKICAgICAgICAgd2lsbFN0b3JlVmFsdWVTbG93KHZt
LCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6ZSwgSW5mZXJyZWRUeXBlVGFibGU6
Ok9sZFByb3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0
dXJlU2hhcGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0
cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxs
b2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxs
b2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0
dXJlU2hhcGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICAKICAg
ICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQo
UHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpAQCAtNzIwLDggKzczNSw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNl
dCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAg
ICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlw
ZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAog
ICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0m
LCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc0Niw2IEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAg
ICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAg
ICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQot
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNl
dENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0Owog
ICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24g
MjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw0ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWlu
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAgfQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlz
aENyZWF0aW9uKHZtKTsKKworICAgIHNpemVfdCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0
KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2
bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisg
ICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0
ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisg
ICAgc2l6ZV90IGkgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJy
ZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KGN1cnJlbnQpKQorICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQt
PnN0cnVjdHVyZSh2bSkpOworICAgIAorICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAg
bV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhp
cyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZs
YWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiog
Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFp
biogY3JlYXRlKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0
dXJlQ2hhaW4qIGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hh
aW4+KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1
cmUuZ2V0KCkpOwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAt
NjIsMjIgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7
CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJl
KiBoZWFkKQotICAgIHsKLSAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAg
ICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVh
ZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgp
ID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkp
Ci0gICAgICAgICAgICArK3NpemU7Ci0KLSAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwotCi0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAg
ICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+
c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytd
LnNldCh2bSwgdGhpcywgY3VycmVudCk7Ci0gICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0
b3JGZW5jZSgpOwotICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9Cisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNp
b24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGlubGluZSBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiAKIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3Rv
cmVkUHJvdG90eXBlKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsK
ICAgICBpZiAodmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjks
MTIgKzcwLDQxIEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAog
aW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBj
b25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBK
U09iamVjdCogb2JqZWN0ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmpl
Y3QpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVy
ZSgpOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5
cGUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChv
YmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJU
KG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdldERp
cmVjdChvZmZzZXQpOworfQorCitBTFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0
b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAg
IFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0
KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9iamVjdC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNl
dCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2Jq
ZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVP
YmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlTX0lOTElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1
cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWdu
ZWQgYXR0cmlidXRlczsKQEAgLTE2NiwxNSArMTk2LDMyIEBAIGlubGluZSBib29sIFN0cnVjdHVy
ZTo6dHJhbnNpdGl2ZWx5VHJhbnMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJ
TkUgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIEFTU0VS
VCghc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKworICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZv
KCkudHlwZSgpID09IFN0cmluZ1R5cGUpCisgICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0
cmluZ1Byb3RvdHlwZSgpOworCisgICAgQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBl
KCkgPT0gU3ltYm9sVHlwZSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90
eXBlKCk7CisKK30KKwogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29r
dXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgaWYgKGlzT2JqZWN0KCkpCi0gICAgICAg
IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBpZiAodHlwZUluZm8oKS50eXBlKCkgPT0g
U3ltYm9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBl
KCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gcHJvdG90
eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOworfQogCi0gICAg
QVNTRVJUKHR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpOwotICAgIHJldHVybiBnbG9i
YWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpw
cm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBi
YXNlKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRo
aXMpOworICAgIGlmIChpc09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBl
KGFzT2JqZWN0KGJhc2UpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZl
SW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CkBAIC0xODIsMjcgKzIy
OSwyOCBAQCBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvCiAgICAgcmV0
dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogfQog
Ci1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNo
YWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQo
YmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBjYWNoZSBvdXIgcHJvdG90
eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBpZiAoIWlzVmFsaWQo
Z2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkgewotICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwotICAg
ICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46
OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KHByb3RvdHlwZSkt
PnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQ
cm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAgICAgICAgbV9jYWNo
ZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0s
IHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90b3R5cGUpKSk7CiAg
ICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpOwogfQogCi1pbmxp
bmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBl
eGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNo
YWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7
CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90
eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWlu
LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFByb3RvdHlwZUNoYWlu
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJv
dG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNoYWluLT5oZWFkKCk7
CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5pc051bGwoKSkgewog
ICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkgIT0gY2FjaGVkU3Ry
dWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjYxLDYgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJl
Ojppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNOdWxsKCkgJiYgISpj
YWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QK
LXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGNhY2hl
ZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJlOjpkaWRSZXBsYWNl
UHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChMSUtFTFkoIWhhc1Jh
cmVEYXRhKCkpKQpAQCAtNDAwLDcgKzQ0Myw3IEBAIGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1
Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9
CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3Bl
cnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVy
dHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJvcGVydHlU
YWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1
ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJv
cGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgog
I2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5n
LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVj
dHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09i
amVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmpl
Y3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hl
ZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3Qt
Pm1faW5mZXJyZWRDb25zdHJ1Y3Rvcik7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciog
U3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApA
QCAtMTc1LDYgKzE3NywxMyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJP
YmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0luZmVycmVkVmFs
dWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkK
K3sKKyAgICBpZiAoIW1faW5mZXJyZWRDb25zdHJ1Y3RvcikKKyAgICAgICAgbV9pbmZlcnJlZENv
bnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKSk7CisgICAg
cmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0t
LSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9p
bnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQo
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0
cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVl
OwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xh
c3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2
MywxNSBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBX
ZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5n
IHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3Ry
dWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhl
IFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZp
ZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVs
ZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisg
ICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yIHBvaW50cyB0byBhbiBJ
bmZlcnJlZFZhbHVlIGluZmVycmluZyBhIEpTRnVuY3Rpb24uCisgICAgLy8gSWYgd2Ugbm90aWNl
IHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIHdpbGwgYmVjb21lIGludmFsaWRhdGVk
LgorICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAg
ICAvLyBNYXkgYmUgbnVsbHB0ci4KKyAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVj
dG9yKCkgeyByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOyB9CisKICAgICBERUNM
QVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsNiArODYsNyBAQCBwcml2YXRlOgog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVy
PEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOworICAg
IFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CiAgICAg
CiAgICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNl
dD4sIFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tl
eUhhc2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNo
cG9pbnRTZXRzOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2Zp
bGVyTG9nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlUHJvZmlsZXJMb2cuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Mywx
OSArNjMsMzUgQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAg
ICAgICBiZWZvcmUgPSBjdXJyZW50VGltZU1TKCk7CiAgICAgfQogCisgICAgSGFzaE1hcDxTdHJ1
Y3R1cmUqLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+PiBjYWNoZWRNb25vUHJvdG9TaGFwZXM7Cisg
ICAgSGFzaE1hcDxzdGQ6OnBhaXI8U3RydWN0dXJlKiwgSlNDZWxsKj4sIFJlZlB0cjxTdHJ1Y3R1
cmVTaGFwZT4+IGNhY2hlZFBvbHlQcm90b1NoYXBlczsKKwogICAgIExvZ0VudHJ5KiBlbnRyeSA9
IG1fbG9nU3RhcnRQdHI7Ci0gICAgSGFzaE1hcDxTdHJ1Y3R1cmUqLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+PiBzZWVuU2hhcGVzOworCiAgICAgd2hpbGUgKGVudHJ5ICE9IG1fY3VycmVudExvZ0Vu
dHJ5UHRyKSB7CiAgICAgICAgIFN0cnVjdHVyZUlEIGlkID0gZW50cnktPnN0cnVjdHVyZUlEOwot
ICAgICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOyAKKyAgICAgICAgUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPiBzaGFwZTsKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGVudHJ5LT52YWx1
ZTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOworICAgICAgICBib29s
IHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlOwogICAgICAgICBpZiAoaWQpIHsKLSAgICAg
ICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJ
RFRhYmxlKCkuZ2V0KGlkKTsgCi0gICAgICAgICAgICBhdXRvIGl0ZXIgPSBzZWVuU2hhcGVzLmZp
bmQoc3RydWN0dXJlKTsKLSAgICAgICAgICAgIGlmIChpdGVyID09IHNlZW5TaGFwZXMuZW5kKCkp
IHsKLSAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2
YWx1ZSk7Ci0gICAgICAgICAgICAgICAgc2VlblNoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7
CisgICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3Ry
dWN0dXJlSURUYWJsZSgpLmdldChpZCk7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBjYWNoZWRN
b25vUHJvdG9TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0g
Y2FjaGVkTW9ub1Byb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byBrZXkg
PSBzdGQ6Om1ha2VfcGFpcihzdHJ1Y3R1cmUsIHZhbHVlLmFzQ2VsbCgpKTsKKyAgICAgICAgICAg
ICAgICBhdXRvIGl0ZXIgPSBjYWNoZWRQb2x5UHJvdG9TaGFwZXMuZmluZChrZXkpOworICAgICAg
ICAgICAgICAgIGlmIChpdGVyICE9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5lbmQoKSkgeworICAg
ICAgICAgICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgICAgICAg
ICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGlmICghc2hhcGUpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hhcGUgPSBz
dHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7
CisgICAgICAgICAgICAgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAg
ICAgICAgICAgICAgICAgICBjYWNoZWRQb2x5UHJvdG9TaGFwZXMuc2V0KGtleSwgc2hhcGUpOwor
ICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRN
b25vUHJvdG9TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7
CiAgICAgICAgIH0KQEAgLTg0LDggKzEwMCw4IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9j
ZXNzTG9nRW50cmllcygKICAgICAgICAgVHlwZUxvY2F0aW9uKiBsb2NhdGlvbiA9IGVudHJ5LT5s
b2NhdGlvbjsKICAgICAgICAgbG9jYXRpb24tPm1fbGFzdFNlZW5UeXBlID0gdHlwZTsKICAgICAg
ICAgaWYgKGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQpCi0gICAgICAgICAgICBsb2NhdGlvbi0+
bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigp
LCBzdHJ1Y3R1cmUpOwotICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFk
ZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlKTsKKyAgICAg
ICAgICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBl
LCBzaGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAg
ICAgICAgbG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24o
dHlwZSwgV1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsK
IAogICAgICAgICBlbnRyeSsrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDE3
IEBAIFR5cGVTZXQ6OlR5cGVTZXQoKQogewogfQogCi12b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZv
cm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2Vk
TmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQordm9pZCBUeXBlU2V0OjphZGRUeXBlSW5m
b3JtYXRpb24oUnVudGltZVR5cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3Nl
ZE5ld1NoYXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1
cmUpCiB7CiAgICAgbV9zZWVuVHlwZXMgPSBtX3NlZW5UeXBlcyB8IHR5cGU7CiAKICAgICBpZiAo
c3RydWN0dXJlICYmIHBhc3NlZE5ld1NoYXBlICYmICFydW50aW1lVHlwZUlzUHJpbWl0aXZlKHR5
cGUpKSB7CiAgICAgICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gbmV3U2hhcGUgPSBwYXNzZWROZXdT
aGFwZS5yZWxlYXNlTm9uTnVsbCgpOwotICAgICAgICBpZiAoIW1fc3RydWN0dXJlU2V0LmNvbnRh
aW5zKHN0cnVjdHVyZSkpIHsKLSAgICAgICAgICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFR5cGVT
ZXQgc2hvdWxkIGJlIGFibGUgdG8gY2FjaGUgcG9seSBwcm90byBjaGFpbnMKKyAgICAgICAgLy8g
anVzdCBieSBjYWNoaW5nIHRoZSBwcm90b3R5cGUgY2hhaW46CisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc2MjcKKyAgICAgICAgaWYgKHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSB8fCAhbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkg
eworICAgICAgICAgICAgaWYgKCFzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKICAgICAgICAgICAg
ICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgICAgICAgICAg
bV9zdHJ1Y3R1cmVTZXQuYWRkKHN0cnVjdHVyZSk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTg1LDcgKzg1LDcgQEAgY2xhc3MgVHlwZVNldCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bgog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8VHlwZVNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBUeXBlU2V0KTsgfQogICAgIFR5cGVTZXQoKTsKLSAgICB2b2lkIGFkZFR5cGVJbmZv
cm1hdGlvbihSdW50aW1lVHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUq
KTsKKyAgICB2b2lkIGFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSwgUmVmUHRyPFN0cnVj
dHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUqLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAg
ICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGUoKTsKICAgICBTdHJpbmcgZHVtcFR5cGVzKCkgY29uc3Q7
CiAgICAgU3RyaW5nIGRpc3BsYXlOYW1lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1f
dmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0
YXJ0aW5nVmFsdWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZh
bHVlKTsgfQogICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJl
cigpOyB9CisgICAgYm9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigp
OyB9CiAgICAgYm9vbCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7
IH0KICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAg
ICAgYm9vbCBpc0dldHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0
dGVyKCk7IH0KSW5kZXg6IFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkocmV2aXNpb24gMjIy
NTc2KQorKysgVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkod29ya2luZyBjb3B5
KQpAQCAtNjE5LDcgKzYxOSw3IEBAIGRlZiBydW5GVExOb0NKSVQoKm9wdGlvbmFsVGVzdFNwZWNp
ZmljT3AKIGVuZAogCiBkZWYgcnVuRlRMTm9DSklUQjNPMSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKQotICAgIHJ1bigiZnRsLW5vLWNqaXQtYjNvMSIsICItLXVzZUFycmF5QWxsb2NhdGlv
blByb2ZpbGluZz1mYWxzZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08x
X09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLW5v
LWNqaXQtYjNvMSIsICItLXVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZz1mYWxzZSIsICItLWZv
cmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNP
MV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCiBkZWYgcnVu
RlRMTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTY0Nyw3
ICs2NDcsNyBAQCBkZWYgcnVuREZHRWFnZXJOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUCiBlbmQK
IAogZGVmIHJ1bkZUTEVhZ2VyKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVu
KCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwgKihGVExfT1BU
SU9OUyArIEVBR0VSX09QVElPTlMgKyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9PUFRJT05TICsgb3B0
aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZv
cmNlQnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExf
T1BUSU9OUyArIEVBR0VSX09QVElPTlMgKyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9PUFRJT05TICsg
b3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXJXYXRj
aGRvZygqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtODY0LDYgKzg2NCw3IEBAIGRl
ZiBydW5UeXBlUHJvZmlsZXIKIAogICAgIHJ1bigiZnRsLW5vLWNqaXQtdHlwZS1wcm9maWxlciIs
ICItLXVzZVR5cGVQcm9maWxlcj10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9O
UykpCiAgICAgcnVuKCJmdGwtdHlwZS1wcm9maWxlciIsICItLXVzZVR5cGVQcm9maWxlcj10cnVl
IiwgKihGVExfT1BUSU9OUykpCisgICAgcnVuKCJmdGwtdHlwZS1wcm9maWxlci1mb3JjZS1wb2x5
LXByb3RvLWZ0bC1lYWdlciIsICItLXVzZVR5cGVQcm9maWxlcj10cnVlIiwgIi0tZm9yY2VQb2x5
UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TKSkKIGVuZAogCiBkZWYg
cnVuQ29udHJvbEZsb3dQcm9maWxlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322160</attachid>
            <date>2017-09-28 20:11:37 -0700</date>
            <delta_ts>2017-09-28 20:25:44 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>207517</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw3OCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgaXRlbXMgPSBbCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorXTsKKworbGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3Rv
bVRlc3RHZXR0ZXJTZXR0ZXIoKTsKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJv
dG9fXyA9IGN1c3RvbUdldHRlclNldHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1
c3RvbUdldHRlclNldHRlcik7Cit9KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1
bHQsIGFjY2Vzc29yUmVzdWx0KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVl
UmVzdWx0KTsKKworICAgIGFzc2VydCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3Vs
dCk7CisKKyAgICBsZXQgbyA9IHt9OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2Vy
dChvLnJlc3VsdCA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9t
QWNjZXNzb3IgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOwor
CisgICAgYXNzZXJ0KHgucmFuZG9tUHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCisKK2xldCBzdGFydCA9IERhdGUubm93
KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBj
dXN0b21HZXR0ZXJTZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNl
dHRlci5yYW5kb21Qcm9wID0gNDI7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkg
eworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
dmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdldHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0K
K30KKworaXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
eCwgeworICAgICAgICBnZXQgY3VzdG9tVmFsdWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAg
Z2V0IGN1c3RvbUFjY2Vzc29yKCkgeyByZXR1cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21W
YWx1ZSh4KSB7IHgucmVzdWx0ID0gNDI7IH0sCisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4
KSB7IHgucmVzdWx0ID0gMjI7IH0sCisgICAgfSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsr
aSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CisKK2lm
IChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0
bmVzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJp
bnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBA
QAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkISIpOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAg
IGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBu
ZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBm
b28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCB4ID0gbmV3IFVpbnQzMkFycmF5KDEw
KTsKK2xldCBwID0geC5fX3Byb3RvX18uX19wcm90b19fOworbGV0IG9iaiA9IG1ha2VQb2x5UHJv
dG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwOworeC5fX3Byb3RvX18gPSBvYmo7CisKK2Z1
bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIHguYnl0ZUxlbmd0aDsKK30KK25vSW5saW5lKGZv
byk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNzZXJ0KGZvbyh4
KSA9PT0gMTAgKiA0KTsKK307CisKK29iai5fX3Byb3RvX18gPSB7fTsKKworYXNzZXJ0KGZvbyh4
KSA9PT0gdW5kZWZpbmVkKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsK
KyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7
CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZvbygpOiBgLCAkdm0udmFsdWUocmVzdWx0
KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIGxldCByZXN1bHQgPSBmb28oKTsKKyAg
ICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmdW5j
dGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5jZXMgPSBbCisgICAgbWFrZVBvbHlQcm90
b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJv
dG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwK
KyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQ
b2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0lu
c3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRo
TnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90
eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCitdOworCitsZXQgcCA9IHVuZGVmaW5l
ZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoeC54ID09PSAyMCk7CisgICAg
YXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0
IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RhbmNlcy5sZW5ndGg7ICsraSkKKyAgICAgICAg
dmFsaWRhdGUoaW5zdGFuY2VzW2ldKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNo
aW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2Fj
aGluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9wLWlu
LWNhY2hpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1OSBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBiKSB7CisgICAgYXNz
ZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IHN0YXJ0
ID0gRGF0ZS5ub3coKTsKKworbGV0IG9ianMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTA7
ICsraSkKKyAgICBvYmpzLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgpKTsKKworb2Jqcy5mb3JF
YWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjB9KSk7CisKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQor
ICAgICAgICB2YWxpZGF0ZShvYmosIHRydWUpOworfQorCitvYmpzLmZvckVhY2gob2JqID0+IFJl
ZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSkpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlKG9i
aiwgZmFsc2UpOworfQorCisKK2Z1bmN0aW9uIHZhbGlkYXRlMihvLCBiKSB7CisgICAgYXNzZXJ0
KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlMik7CisKK29ianMuZm9yRWFj
aChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIG51bGwpKTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAg
ICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVj
dC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjI1fSkpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlMihv
YmosIHRydWUpOworfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0
KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24uanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9u
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBt
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9
CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVy
biBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7Cisg
ICAgby5wID0gMjA7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgb2JqLl9fcHJvdG9fXyA9IG51bGw7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICJwIikpOworICAgIGFzc2VydChv
YmoucCA9PT0gMjApOworCit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7Cisg
ICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90b19fID0g
eyBzZXQgcCh4KSB7IGdsb2JhbCA9IHg7IH0gfTsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAg
YXNzZXJ0KCFvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KGdsb2JhbCA9PT0g
MjApOworICAgIGdsb2JhbCA9IG51bGw7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBwZXJmb3Jt
U2V0KG9iaik7CisgICAgYXNzZXJ0KG9iai5oYXNPd25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3Nl
cnQob2JqLnAgPT09IDIwKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0g
c3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5
cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIik7Cit9CisKK2xl
dCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7
CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsKKyAgICBnZXQgeSgpIHsgcmV0
dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9
OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIngiLCB7CisgICAg
Z2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30pOworCitmdW5jdGlvbiBmb28o
KSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
dGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQoby54ID09PSBwKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9vKCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOworCitmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpCisgICAgICAgIHZhbGlkYXRl
KGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFs
dGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgIH0KK30K
KworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3Rv
MjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgICAgICBhc3NlcnQoYS55
ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0
ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJ
KG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2NiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAg
ICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0
IGNhbGxlZCA9IGZhbHNlOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSB4Owor
ICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0
dXJuIGZvbygpOworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsK
K30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAg
ICBpdGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZv
cm1TZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAg
ICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5fcCA9PT0gaSk7CisgICAg
ICAgIGFzc2VydChjYWxsZWQgPT09IHRydWUpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAg
ICB9Cit9CisKK2l0ZW1zLmZvckVhY2gobyA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZihvLCBudWxsKTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQg
byA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQo
by5wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gZmFsc2UpOworICAgIH0KK30K
KworaWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xh
c3MgQyB7CisgICAgICAgIGdldCBiYXooKSB7IHJldHVybiB0aGlzLng7IH0KKyAgICB9CisgICAg
Qy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBuZXcgQzsKKyAgICByZXR1cm4gQzsKK30KKwor
Zm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgZm9vKCk7CisKK2Z1bmN0aW9uIGJhcihw
KSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLnggPSAyMjsKKyAgICAgICAgfQor
ICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsr
aSkKKyAgICBiYXIoZm9vKCkpOworCitsZXQgaW5zdGFuY2VzID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDQwOyArK2kpCisgICAgaW5zdGFuY2VzLnB1c2goYmFyKGZvbygpKSk7CisKK2Z1bmN0
aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCIpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ueCA9
PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmZp
ZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRh
dGUoeCkpOworfQoraWYgKHRydWUpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5k
ZXg6IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTMgQEAKK2xldCB5ID0gNDI7CitmdW5jdGlvbiBtYWtlUG9seVByb3RvSW5zdGFu
Y2UoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAg
ICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBD
LnByb3RvdHlwZS55ID0geTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKworICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9v
KCk7Cit9CisKK2xldCBwb2x5UHJvdG9JbnN0YW5jZSA9IG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgp
OworU3RyaW5nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK1N5bWJv
bC5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitsZXQgc3RyaW5ncyA9
IFsKKyAgICAiZm9vIiwKKyAgICBTeW1ib2woImZvbyIpLAorICAgICJiYXIiLAorICAgIFN5bWJv
bCgiYmFyIiksCitdOworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9Citub0lubGluZShhc3NlcnQp
OworCitmdW5jdGlvbiB2YWxpZGF0ZShzKSB7CisgICAgYXNzZXJ0KHMueCA9PT0gMjApOworICAg
IGFzc2VydChzLnkgPT09IHkpOworICAgIGFzc2VydChzLm5vbkV4aXN0ZW50UHJvcGVydHkgPT09
IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KHR5cGVvZiBzLmhhc093blByb3BlcnR5ID09PSAiZnVu
Y3Rpb24iKTsKKyAgICBhc3NlcnQocy5oYXNPd25Qcm9wZXJ0eSA9PT0gT2JqZWN0LnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7CisgICAg
ICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KKworeSA9IDI3OworcG9seVByb3RvSW5zdGFuY2Uu
X19wcm90b19fID0ge3o6NDAwLCB5OiB5fTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytp
KSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOwor
ICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2Jq
ZWN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3Qt
anMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZv
bygpIHsKKyAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAgICAgIHRoaXMueCA9IDQyOworICAgIH0K
KyAgICBiYXIucHJvdG90eXBlID0gNTA7CisgICAgcmV0dXJuIG5ldyBiYXIoKTsKK30KKworZnVu
Y3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIik7Cit9CisKK2xldCBpdGVtcyA9IFsKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBm
b28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKK107CisKK2Z1bmN0aW9u
IHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRlbS5ub3RUaGVyZSA9PT0gdW5kZWZpbmVk
KTsKKyAgICBhc3NlcnQoaXRlbS54ID09PSA0Mik7CisgICAgYXNzZXJ0KGl0ZW0uX19wcm90b19f
ID09PSBPYmplY3QucHJvdG90eXBlKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVtcykKKyAgICAgICAgdmFsaWRhdGUoaXRl
bSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90
by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM2IEBACitmdW5jdGlvbiBhc3NlcnQoYiwg
bSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOwor
fQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygp
IHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1
cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHRyeUdldEJ5SWRUZXh0KHByb3BlcnR5TmFtZSkgeyBy
ZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkgeyByZXR1cm4gQHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJv
cGVydHlOYW1lfScpOyB9KWA7IH0KK2xldCBnZXRGb28gPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5
SWRUZXh0KCJmb28iKSk7CitsZXQgZ2V0QmFyID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4
dCgiYmFyIikpOworbGV0IGdldE5vbkV4aXN0ZW50RmllbGQgPSBjcmVhdGVCdWlsdGluKHRyeUdl
dEJ5SWRUZXh0KCJub25FeGlzdGVudEZpZWxkIikpOworCitsZXQgeCA9IG1ha2VQb2x5UHJvdG9P
YmplY3QoKTsKK3guX19wcm90b19fID0geyBmb286IDQyLCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7
IH0gfTsKK2xldCBiYXJHZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHgu
X19wcm90b19fLCAiYmFyIikuZ2V0OworYXNzZXJ0KHR5cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5j
dGlvbiIpOworYXNzZXJ0KGJhckdldHRlcigpID09PSAyMik7CisKK2Z1bmN0aW9uIHZhbGlkYXRl
KHgpIHsKKyAgICBhc3NlcnQoZ2V0Rm9vKHgpID09PSA0Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0
ZXJGcm9tR2V0dGVyU2V0dGVyKGdldEJhcih4KSkgPT09IGJhckdldHRlcik7CisgICAgYXNzZXJ0
KGdldE5vbkV4aXN0ZW50RmllbGQoeCkgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2YWxp
ZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUo
eCk7Cit9CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkocmV2aXNpb24gMjIy
NTc2KQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTM2LDcgKzM2LDcgQEAgYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5
cGVOYQogYXNzZXJ0KHR5cGVzLmluc3RydWN0aW9uVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09
ICJDIiwgInZhcmlhYmxlICd0aGVDJyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0MnIik7
CiAKIHR5cGVzID0gZmluZFR5cGVGb3JFeHByZXNzaW9uKHdyYXBwZXIsICJoaWVyYXJjaHlUZXN0
ID0gbmV3IEI7Iik7Ci1hc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUg
PT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlw
ZU5hbWUgJ0EnIik7Cithc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUg
PT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlw
ZU5hbWUgJ0EnIiArICIgYnV0IHdhczogIiArIHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5
cGVOYW1lKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJh
cmNoeVRlc3QgPSBuZXcgQzsiKTsKIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlU
eXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRp
c3BsYXlUeXBlTmFtZSAnQSciKTsKSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxvdy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtOSw2ICs5LDggQEAgdmFyIG9sZFByb3RvOwogZm9yICh2YXIgaSA9IDA7IGkg
PCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdzsgaSsrKSB7CiAgICAgLy8gTWFrZSBz
dXJlIHdlIGdldCBhIG5ldyBwcm90b3R5cGUgY2hhaW4gb24gZWFjaCBhc3NpZ25tZW50IHRvIHgg
YmVjYXVzZSBvYmplY3RzIHdpdGggc2hhcmVkIHByb3RvdHlwZSBjaGFpbnMgd2lsbCBiZSBtZXJn
ZWQuCiAgICAgeCA9IG5ldyBQcm90bzsKKyAgICB4WydmaWVsZCcgKyBpXSA9IDIwOworICAgIHgg
PSB4CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307CiAg
ICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKQEAgLTIw
LDYgKzIyLDggQEAgUHJvdG8gPSBmdW5jdGlvbigpIHt9Owogb2xkUHJvdG8gPSBudWxsOwogZm9y
ICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdyAtIDE7IGkr
KykgewogICAgIHkgPSBuZXcgUHJvdG87CisgICAgeVsnZmllbGQnICsgaV0gPSAyMDsKKyAgICB5
ID0geQogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlvbigpIHt9Owog
ICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5cGU7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyNyw2ICsyMjcs
NyBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01ldGhv
ZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nl
c3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5jcHAKK2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25k
aXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKIGJ5dGVj
b2RlL09wY29kZS5jcHAKQEAgLTIzNCw2ICsyMzUsNyBAQCBieXRlY29kZS9Qb2x5bW9ycGhpY0Fj
Y2Vzcy5jcHAKIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHAKIGJ5dGVjb2RlL1Byb2dy
YW1Db2RlQmxvY2suY3BwCiBieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKK2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAogYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5j
cHAKIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3Bw
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1Myw2ICs5NTMsOTAgQEAg
dm9pZCBET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0OjpmaW5pc2hDcgogICAgIHB1dERpcmVjdE5h
dGl2ZUZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAiZnVuYyIpLCAwLCBzYWZlRnVuY3Rpb24sIE5vSW50cmluc2ljLCAmRE9NSklUQ2hlY2tTdWJD
bGFzc09iamVjdFNpZ25hdHVyZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSkpOwogfQogCitjbGFzcyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QgOiBw
dWJsaWMgRE9NSklUTm9kZSB7CitwdWJsaWM6CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0
dXJlKQorICAgIHsKKyAgICB9CisKKyAgICBERUNMQVJFX0lORk87CisgICAgdXNpbmcgQmFzZSA9
IERPTUpJVE5vZGU7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
QmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3Rv
dHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTQzo6SlNUeXBlKExhc3RKU0NPYmplY3RUeXBl
ICsgMSksIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgRE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKKyAgICB7CisgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogZ2V0dGVyID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0Pih2bS5oZWFw
LCBzaXplb2YoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSkpIERPTUpJVEdldHRlckJhc2VKU09i
amVjdCh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgZ2V0dGVyLT5maW5pc2hDcmVhdGlvbih2bSk7
CisgICAgICAgIHJldHVybiBnZXR0ZXI7CisgICAgfQorCisgICAgY2xhc3MgRE9NSklUQXR0cmli
dXRlIDogcHVibGljIERPTUpJVDo6R2V0dGVyU2V0dGVyIHsKKyAgICBwdWJsaWM6CisgICAgICAg
IGNvbnN0ZXhwciBET01KSVRBdHRyaWJ1dGUoKQorICAgICAgICAgICAgOiBET01KSVQ6OkdldHRl
clNldHRlcigKKyAgICAgICAgICAgICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmN1c3Rv
bUdldHRlciwKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICAgICAgICAgICZjYWxsRE9NR2V0dGVy
LAorI2Vsc2UKKyAgICAgICAgICAgICAgICBudWxscHRyLAorI2VuZGlmCisgICAgICAgICAgICAg
ICAgU3BlY0ludDMyT25seSkKKyAgICAgICAgeworICAgICAgICB9CisKKyNpZiBFTkFCTEUoSklU
KQorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBzbG93Q2FsbChF
eGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RhdGljX2Nh
c3Q8SlNPYmplY3QqPihwb2ludGVyKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUob2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgICAgIH0KKworICAgICAgICBz
dGF0aWMgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNhbGxET01HZXR0ZXIoKQor
ICAgICAgICB7CisgICAgICAgICAgICBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4g
c25pcHBldCA9IERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ6OmNyZWF0ZSgpOworICAgICAg
ICAgICAgc25pcHBldC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9IGZhbHNlOworICAgICAgICAgICAg
c25pcHBldC0+c2V0R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBlcnMmIGppdCwgU25pcHBldFBhcmFt
cyYgcGFyYW1zKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0cyA9IHBhcmFt
c1swXS5qc1ZhbHVlUmVncygpOworICAgICAgICAgICAgICAgIEdQUlJlZyBkb20gPSBwYXJhbXNb
MV0uZ3ByKCk7CisgICAgICAgICAgICAgICAgcGFyYW1zLmFkZFNsb3dQYXRoQ2FsbChqaXQuanVt
cCgpLCBqaXQsIHNsb3dDYWxsLCByZXN1bHRzLCBkb20pOworICAgICAgICAgICAgICAgIHJldHVy
biBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KCk7CisKKyAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgcmV0dXJuIHNuaXBwZXQ7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisKK3ByaXZhdGU6
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworCisgICAgc3RhdGljIEVuY29kZWRKU1Zh
bHVlIGN1c3RvbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0s
IEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQodGhp
c09iamVjdCk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdC0+Z2V0
UHJvdG90eXBlRGlyZWN0KCkpOworICAgIH0KK307CisKK3N0YXRpYyBjb25zdCBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RE
T01KSVQ7CisKK3ZvaWQgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGNvbnN0IERPTUpJ
VDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0RE9NSklU
OworICAgIGF1dG8qIGN1c3RvbUdldHRlclNldHRlciA9IERPTUF0dHJpYnV0ZUdldHRlclNldHRl
cjo6Y3JlYXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBudWxscHRyLCBET01BdHRyaWJ1dGVBbm5v
dGF0aW9uIHsgSlNPYmplY3Q6OmluZm8oKSwgZG9tSklUIH0pOworICAgIHB1dERpcmVjdEN1c3Rv
bUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbUdldHRlciIp
LCBjdXN0b21HZXR0ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nvcik7Cit9CisKIGNvbnN0IENsYXNzSW5mbyBFbGVt
ZW50OjpzX2luZm8gPSB7ICJFbGVtZW50IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0
ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShFbGVtZW50KSB9OwogY29uc3QgQ2xhc3NJbmZvIE1hc3F1
ZXJhZGVyOjpzX2luZm8gPSB7ICJNYXNxdWVyYWRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFzcXVlcmFkZXIpIH07CiBjb25zdCBDbGFz
c0luZm8gUm9vdDo6c19pbmZvID0geyAiUm9vdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsKQEAgLTk2NSw2ICsxMDQ5LDcgQEAg
Y29uc3QgQ2xhc3NJbmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9IHsgIgogI2VuZGlmCiBjb25zdCBD
bGFzc0luZm8gRE9NSklUR2V0dGVyOjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXIiLCAmQmFzZTo6
c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRl
cikgfTsKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXJDb21wbGV4OjpzX2luZm8gPSB7ICJE
T01KSVRHZXR0ZXJDb21wbGV4IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JF
QVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJDb21wbGV4KSB9OworY29uc3QgQ2xhc3NJbmZv
IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAjaWYgRU5BQkxFKEpJVCkKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRGdW5jdGlvbk9iamVjdDo6c19pbmZvID0geyAiRE9NSklURnVuY3Rp
b25PYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCAmRE9NSklURnVuY3Rpb25PYmplY3Q6
OmNoZWNrU3ViQ2xhc3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEZ1bmN0aW9u
T2JqZWN0KSB9OwogI2Vsc2UKQEAgLTEwNTcsNiArMTE0Miw4NCBAQCBwcml2YXRlOgogICAgIERl
cXVlPFN0cmluZz4gbV9yZXBvcnRzOwogfTsKIAorY2xhc3MgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0
dGVyIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgeworcHVibGljOgorICAgIHVzaW5nIEJhc2Ug
PSBKU05vbkZpbmFsT2JqZWN0OworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCisgICAgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0
dGVyKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3Ry
dWN0dXJlKQorICAgIHsgfQorCisgICAgc3RhdGljIEpTVGVzdEN1c3RvbUdldHRlclNldHRlciog
Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAg
ICB7CisgICAgICAgIEpTVGVzdEN1c3RvbUdldHRlclNldHRlciogcmVzdWx0ID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8SlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyPih2bS5oZWFwLCBzaXpl
b2YoSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKSkpIEpTVGVzdEN1c3RvbUdldHRlclNldHRlcih2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYg
dm0pOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlw
ZSgpLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAg
fQorCisgICAgREVDTEFSRV9JTkZPOworfTsKKworCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3Vz
dG9tR2V0QWNjZXNzb3IoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpCit7CisgICAgLy8gUGFzc2VkIHx0aGlzfAorICAgIHJldHVybiB0aGlzVmFsdWU7
Cit9CisKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjdXN0b21HZXRWYWx1ZShFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RWYWx1ZSwgUHJvcGVydHlOYW1lKQoreworICAgIFJFTEVB
U0VfQVNTRVJUKEpTVmFsdWU6OmRlY29kZShzbG90VmFsdWUpLmluaGVyaXRzKGV4ZWMtPnZtKCks
IEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6aW5mbygpKSk7CisgICAgLy8gUGFzc2VkIHByb3Bl
cnR5IGhvbGRlci4KKyAgICByZXR1cm4gc2xvdFZhbHVlOworfQorCitzdGF0aWMgYm9vbCBjdXN0
b21TZXRBY2Nlc3NvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgp
OworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlzT2JqZWN0KCkpOworICAgIEpTT2JqZWN0KiBvYmpl
Y3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qob2JqZWN0KTsK
KyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29kZSh0aGlzT2JqZWN0KSwgc2xvdCk7CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGJvb2wgY3VzdG9tU2V0VmFsdWUoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworCisgICAgUkVMRUFTRV9BU1NFUlQoSlNW
YWx1ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhlYy0+dm0oKSwgSlNUZXN0Q3VzdG9t
R2V0dGVyU2V0dGVyOjppbmZvKCkpKTsKKworICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKTsKKyAgICBSRUxFQVNFX0FTU0VSVCh2YWx1ZS5pc09iamVjdCgp
KTsKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KG9iamVjdCk7CisgICAgb2JqZWN0LT5wdXQob2JqZWN0LCBleGVjLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInJlc3VsdCIpLCBKU1ZhbHVlOjpkZWNvZGUoc2xvdFZh
bHVlKSwgc2xvdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXI6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBwdXREaXJlY3RDdXN0
b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21WYWx1ZSIp
LAorICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgY3VzdG9tR2V0VmFsdWUs
IGN1c3RvbVNldFZhbHVlKSwgMCk7CisgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tQWNjZXNzb3IiKSwKKyAgICAgICAgQ3Vz
dG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGN1c3RvbUdldEFjY2Vzc29yLCBjdXN0b21TZXRB
Y2Nlc3NvciksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IpKTsKK30KKworY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEN1c3RvbUdldHRlclNldHRl
cjo6c19pbmZvID0geyAiSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyIiwgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIpIH07CisKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
Q3JlYXRlUHJveHkoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkNyZWF0ZVJ1bnRpbWVBcnJheShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlSW1wdXJlR2V0dGVyKEV4ZWNT
dGF0ZSopOwpAQCAtMTA2Niw2ICsxMjI5LDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuYwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRGdW5jdGlvbk9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdChFeGVjU3RhdGUqKTsKK3N0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVCdWlsdGluKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEltcHVy
ZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSopOwpAQCAtMTE3Nyw2ICsxMzQxLDggQEAgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25XYWl0Rm9yUmVwb3J0KEV4ZWNTdGF0ZSopOwogc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25IZWFwQ2FwYWNpdHkoRXhlY1N0
YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYXNo
SGVhcEFjY2VzcyhFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKik7CitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RH
ZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKik7CiAKIHN0cnVjdCBTY3JpcHQgewogICAgIGVudW0gY2xh
c3MgU3RyaWN0TW9kZSB7CkBAIC0xMzgyLDYgKzE1NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0
aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0
aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJ
VEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01K
SVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNz
T2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7
CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRl
QnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0
IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2
bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxl
Z2F0ZSwgMik7CkBAIC0xNDY2LDYgKzE2MzMsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgYWRk
RnVuY3Rpb24odm0sICJoZWFwQ2FwYWNpdHkiLCBmdW5jdGlvbkhlYXBDYXBhY2l0eSwgMCk7CiAg
ICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZmxhc2hIZWFwQWNjZXNzIiwgZnVuY3Rpb25GbGFzaEhl
YXBBY2Nlc3MsIDApOworCisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAibG9hZEdldHRlckZyb21H
ZXR0ZXJTZXR0ZXIiLCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyLCAxKTsKKyAg
ICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyIiwgZnVu
Y3Rpb25DcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyLCAxKTsKICAgICB9CiAgICAgCiAgICAg
dm9pZCBhZGRGdW5jdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG5h
bWUsIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCB1bnNpZ25lZCBhcmd1bWVudHMpCkBAIC0yMTE1
LDYgKzIyODUsMTYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVj
U3RhdGUqIGV4ZWMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xk
ZXIgbG9jayh2bSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
LCBqc051bGwoKSk7CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMjgzMiw2ICszMDEyLDI0IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25GbGEKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQoreworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoZXhlYy0+YXJndW1lbnRD
b3VudCgpID49IDEpOworICAgIEdldHRlclNldHRlciogZ2V0dGVyU2V0dGVyID0ganNEeW5hbWlj
Q2FzdDxHZXR0ZXJTZXR0ZXIqPih2bSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIFJFTEVBU0Vf
QVNTRVJUKGdldHRlclNldHRlcik7CisgICAgSlNPYmplY3QqIGdldHRlciA9IGdldHRlclNldHRl
ci0+Z2V0dGVyKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoZ2V0dGVyKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGdldHRlcik7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBK
U1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0
KSkpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGU+CiB0eXBlbmFtZSBzdGQ6OmVu
YWJsZV9pZjwhc3RkOjppc19mdW5kYW1lbnRhbDxWYWx1ZVR5cGU+Ojp2YWx1ZT46OnR5cGUgYWRk
T3B0aW9uKFZNJiwgSlNPYmplY3QqLCBJZGVudGlmaWVyLCBWYWx1ZVR5cGUpIHsgfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNTksNiArMTA1OSw3IEBACiAJCTc5MTlCNzgwMUUwMzU1OUMw
MDVCRUVEOCAvKiBCM0NvbXBpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc5MTlCNzdGMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTIzM0MyQjFE
MzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElD
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzky
Q0IzNEExQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTJDQjM0ODFDNEVFRDVDMDBEMTNB
RjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjQ2NTZB
MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTc5NjVDMjE3MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhD
b2xvcmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Nzk2NUMyMTUxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENv
bG9yaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2REFBMkIxRTg5Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NkRBQTJBMUU4OUNDRDYwMDVERjI0
QSAvKiBDYWxsZWVCaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTM0OTgsNiArMzQ5OSw4IEBACiAJCTc5MjMzQzI5MUQzNDcxNTcwMEM1QTgz
NCAvKiBKSVRNYXRoSUMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUTWF0
aElDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ3MUM0RUVENUMwMEQx
M0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTc5MkNCMzQ4MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJv
dG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1NzVDRDFGNzM0OTcy
MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk1RjA5OUMx
RTAzNjAwNTAwQkJFMzdGIC8qIEIzQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBCM0NvbXBpbGUuY3BwOyBwYXRoID0gYjMvQjNDb21waWxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdl
dFB1dEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2V0UHV0SW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY1QzIxNDFFNUQ3OTk2MDBCNzU5MUQg
LyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jp
bmcuY3BwOyBwYXRoID0gYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5n
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTczNjUsNiArNzM2OCw4IEBACiAJ
CQkJMTRBRDkxMEExRENBOTI5NDAwMTRGOUZFIC8qIFByb2dyYW1Db2RlQmxvY2suaCAqLywKIAkJ
CQkwRkQzRTQwNzFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uY3BwICovLAog
CQkJCTBGRDNFNDA4MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAor
CQkJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAg
Ki8sCisJCQkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggKi8sCiAJCQkJMEYxNUNEMjAxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5jcHAg
Ki8sCiAJCQkJMEYxNUNEMjExQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5oICovLAog
CQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCAqLywKQEAg
LTg1NTQsNiArODU1OSw3IEBACiAJCQkJQTFCOUUyM0UxQjRFMEQ2NzAwQkM3RkVEIC8qIEludGxD
b2xsYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE4MTkzRTQxQjRFMENEQjAw
RkMxMDI5IC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNTg3RDZFMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzAxQjREQzE0MTAwRDY5ODQ5IC8qIElu
dGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3
NTFCNERDMUM2MDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IubHV0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MjFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVU
aW1lRm9ybWF0UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAog
U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsgIlByaXZh
dGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1ib2xJbXBs
OjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlByaXZhdGVT
eW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJT
X0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIGV4dGVy
biBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7CitleHRl
cm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFt
ZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5hbWUp
IG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgpLCAm
bV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1P
Tl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9C
VUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVu
dGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OmRv
bGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3lt
Ym9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAgIEpTQ19G
T1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElD
X0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9Q
RVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0yMzgsNiAr
MjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNf
RUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9fUFJJVkFU
RV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFyVk1Qcml2
YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGljVG9Qcml2
YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0ZU5hbWUp
OworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvKTsKKyAg
ICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNj
b3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAgICAgfQog
CiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmll
ciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09NTU9OX1BS
SVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5f
U1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1QdWJs
aWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25zdCBKU0M6
OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxh
clZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZpZXI7CkBA
IC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MUykKICAg
ICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6OklkZW50aWZp
ZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVm
UHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBI
YXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGljVG9Qcml2
YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBBY2Nlc3ND
YXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1B
Y2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2FzZTo6QWNj
ZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vz
c0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwg
bV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbihXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0Owog
fQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNy
ZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBj
YXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBicmVhazsKICAgICBjYXNlIEFy
cmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0QXJndW1l
bnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgTW9k
dWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVjdHVyZSA9
PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNv
bmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3
IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBBY2Nl
c3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyArMTM4LDggQEAgVmVjdG9yPFdhdGNocG9p
bnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4g
cmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVlZEltcHVy
ZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1w
dXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJ
bXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAgICB8fCAobV9wcm90b3R5cGVBY2Nlc3ND
aGFpbiAmJiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBv
aW50KCkpKQogICAgICAgICByZXN1bHQuYXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRTZXRGb3JJ
bXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkKQEAgLTE1
MSw2ICsxNTUsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAg
ICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3By
b3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2gg
KG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6
CkBAIC0yMTAsNiArMjE3LDE5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25zdCBB
Y2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpID09
IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVmYXVsdDoK
KyAgICAgICAgaWYgKG90aGVyLnR5cGUoKSAhPSB0eXBlKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAg
ICAgIGlmICghb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNrIHdlIG5l
ZWQgc2luY2UgUHJvdG90eXBlQWNjZXNzQ2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3RydWN0dXJl
LgorICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBvbmx5IHRo
ZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xsIGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAgICAgICAg
IC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAgcmV0dXJu
IHN0cnVjdHVyZSgpID09IG90aGVyLnN0cnVjdHVyZSgpCisgICAgICAgICAgICAgICAgJiYgKm1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW47Cisg
ICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkgfHwgIW90
aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTIxOSwyMiArMjM5LDI3IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25z
dCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJcbiIsIG1f
dHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQucHJpbnQo
Y29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQotICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUo
KSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNlIGlmICht
X3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9p
bnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1f
b2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQp
OwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJvdG90eXBl
IGFjY2VzcyBjaGFpbiA9ICIpOworICAgICAgICBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5kdW1w
KHN0cnVjdHVyZSgpLCBvdXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtX3R5cGUgPT0g
VHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIs
IHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1
cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAgIG91dC5w
cmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgp
KSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnByaW50KCIp
Iik7CiB9CkBAIC0yNDMsNiArMjY4LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRXZWFrKFZN
JiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFya2VkKG1f
c3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAoIUhlYXA6
OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0yNzMsNiAr
MzA0LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wKICAgICBp
ZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAg
ICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hh
aW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0
b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFuc2l0aW9u
OgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1cmUtPnBy
ZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwOCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVy
YXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYgKHZpYVBy
b3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
Q2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQotICAgICAg
ICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6
OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNz
R1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRlLmJhc2VH
UFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bi0+Zm9yRWFjaChzdHJ1Y3R1cmUoKSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCBh
dEVuZCkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAg
IGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBNaXNzIHx8
IG1fdHlwZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmICFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3Ig
YSBNaXNzL0luTWlzcy9UcmFuc2l0aW9uLCB3ZSBtdXN0IGVuc3VyZSB3ZSdyZSBhdCB0aGUgZW5k
IHdoZW4gdGhlIGxhc3QgaXRlbSBpcyBwb2x5IHByb3RvLgorICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gVHJhbnNpdGlvbnMgbXVzdCBkbyB0aGlzIGJlY2F1c2UgdGhleSBuZWVkIHRvIHZlcmlm
eSB0aGVyZSBpc24ndCBhIHNldHRlciBpbiB0aGUgY2hhaW4uCisgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBNaXNzL0luTWlzcyBuZWVkIHRvIGRvIHRoaXMgdG8gZW5zdXJlIHRoZXJlIGlzbid0
IGEgbmV3IGl0ZW0gYXQgdGhlIGVuZCBvZiB0aGUgY2hhaW4gdGhhdAorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gaGFzIHRoZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zm
c2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02
NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsgLy8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBzdG9y
ZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJvdG90eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAgICAg
ICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5
UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlz
SW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2
NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhi
YXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0
LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6
OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkp
OworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlw
ZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOworCisgICAgICAgICAgICAgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9m
ZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBl
bmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
SURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQo
KSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0gfTsKQEAgLTQyOCw2ICs1MDIsOCBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgQVNTRVJUKG1f
Y29uZGl0aW9uU2V0LnN0cnVjdHVyZXNFbnN1cmVWYWxpZGl0eUFzc3VtaW5nSW1wdXJlUHJvcGVy
dHlXYXRjaHBvaW50KCkpOwogCiAgICAgZm9yIChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biYgY29uZGl0aW9uIDogbV9jb25kaXRpb25TZXQpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IW1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gY29uZGl0aW9uLm9iamVjdCgpLT5zdHJ1Y3R1cmUoKTsKIAogICAgICAgICBpZiAoY29uZGl0
aW9uLmlzV2F0Y2hhYmxlQXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkgewpAQCAt
NTAzLDE0ICs1NzksMjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2Vu
ZQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBiYXNlR1BSOwog
CisgICAgICAgIGlmIChtX3R5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIpIHsKKyAgICAgICAgICAg
IGRhdGFMb2dMbigiRW1pdHRpbmcgY3VzdG9tIHZhbHVlIHNldHRlci4gSGFzIHBvbHkgcHJvdG86
ICIsICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAgICAgIH0KKwogICAgICAgICBHUFJS
ZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0
Y2hHUFIpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAg
ICAgLy8gVGhpcyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5l
cmF0ZVdpdGhHdWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNj
ZXNzIGluc2lkZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAg
ICAgICAgICAvLyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9h
ZCB0aGUgYmFzZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNo
R1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlv
blNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNj
cmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BS
OworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9
IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVH
UFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0
dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
VmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2
LDcgKzExMDIsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAg
ICAgICAgIAogICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2Ug
bmVlZCB0byBlbnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIg
dXMuIE5vdGUgdGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28g
d2UganVzdCBuZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBp
dC4KICAgICAgICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1
Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRy
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0
cik7CiAKICAgICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5z
aXRpb25zLgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZN
JiwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJl
LAotICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0Nl
bGwqIG93bmVyLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQ
cm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3Byb3RvdHlwZUFjY2Vzc0No
YWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2Um
KSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOworICAgIEFj
Y2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBB
Y2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAg
ICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29m
ZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAg
LCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlm
IChvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAg
fQorCiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0
ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAg
LTIyNyw2ICsyNDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
c3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25T
ZXQ7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNb
b3BMZW5ndGggLSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsg
b3BMZW5ndGggLSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAg
bV9nbG9iYWxPYmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5
cGUoKSwgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
U3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkg
QEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAg
Y29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAg
ICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJ
ZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51
c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xv
d1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAot
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShW
TSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwg
b3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVBy
b3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAg
ICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNl
KTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9t
QXR0cmlidXRlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpA
QCAtNjMsMTggKzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0
ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5p
cXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRy
aWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRl
cjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3Rv
bVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFs
c2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWlu
KSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTYgKzQ4LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAg
ICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2Us
Ci0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAg
ICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0
cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4sIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxw
dHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAgICAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
ID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAKICAgICB2
b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC02Nyw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNv
bnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAg
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFj
Y2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2Zp
bGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlv
bkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVj
dCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFt
X3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVj
dHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRp
biB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2Fz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiog
aW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVy
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIs
IEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0
cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1
bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5z
aWNHZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAg
ICAgdm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisg
ICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1
bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9N
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgs
NyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVs
ZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVz
cGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBt
b2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZt
LCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVO
YW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsK
ICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3Bh
Y2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3Ip
Cit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7
CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdv
aW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAg
ICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8g
b2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc1MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9y
KSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9y
LT5qc0V4ZWN1dGFibGUoKTsKKworICAgICAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0
cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSktPmVu
c3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICBib29sIHBhcmVudFByb3RvdHlw
ZUlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIGlmIChKU09iamVjdCogcHJvdG90eXBlT2ZQ
cm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZS0+Z2V0UHJv
dG90eXBlRGlyZWN0KCkpKSB7CisgICAgICAgICAgICBpZiAocHJvdG90eXBlT2ZQcm90b3R5cGUt
PnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZt
KS0+cmFyZURhdGEoKTsKKyAgICAgICAgICAgICAgICBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90
byA9IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yKCkgJiYgcmFyZURhdGEtPmluZmVycmVk
Q29uc3RydWN0b3IoKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKworICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29u
c3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRp
b25Qcm9maWxlIik7CisKKyAgICAgICAgaXNQb2x5UHJvdG8gPSAoaW5mZXJyZWRDb25zdHJ1Y3Rv
ci0+aGFzQmVlbkludmFsaWRhdGVkKCkgfHwgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8pICYm
IGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOwor
ICAgICAgICBpZiAoT3B0aW9uczo6Zm9yY2VQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9s
eVByb3RvID0gdHJ1ZTsKKworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAg
IGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0
cnVjdHVyZSgpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50
eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBz
dHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUg
b2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwor
CisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8g
RW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXpl
ciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1
bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8g
RGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0g
dG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVj
dC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFj
aXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKwor
ICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNp
dHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFp
bGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBz
aXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBz
aXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0g
c2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgp
LT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwor
ICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBl
LT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5h
bWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRl
U3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJv
cGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlv
bk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0
b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0
RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9u
cyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFy
ZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+
KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50Owor
CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1f
c3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNp
Z25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2Fs
bG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQo
IW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0g
MDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0
aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90
eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAg
ICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhl
IHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUg
cmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1
bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2Vh
ayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAg
ICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZl
cnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAg
ICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmpl
Y3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBj
YXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0
b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAt
IGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVN
YXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVy
IHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0
ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRv
ciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0
dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0K
KyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsK
IAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0g
MDsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5j
bGVhcigpOwogICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlz
TnVsbCgpKTsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1
bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHBy
b3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9i
YWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQot
ICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9w
ZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQ
cml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwg
RW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3Bl
cnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0
YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUg
dmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsK
LQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBj
bGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAg
aWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3Bl
cnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9j
YXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBm
b3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1
cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNh
c2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjph
YnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93
bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTIgQEAgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0
J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAg
ICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBAIEFjY2Vzc0dl
bmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNBY2Nl
c3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1f
bGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2VuZXJh
dGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0s
IGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhpczsK
ICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0
cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShW
TSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9i
amVjdChnbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2Fs
bEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVS
ZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0
ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxP
YmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9
OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hS
ZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJT
dGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRp
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJ
IHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRo
aXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3Vs
ZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5k
IHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0K
KwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRD
b25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlk
T2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVy
Ym9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGls
bFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdz
IGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAg
ICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNh
biBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNl
LiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAg
ICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0
cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVy
ZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyMiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1
ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3Qu
aXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4gY3JlYXRl
KGdsb2JhbE9iamVjdCwgYmFzZSwgdGFyZ2V0LCB1c2VzUG9seVByb3RvKTsKK30KKworc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3Qq
IHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBi
YXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNl
OworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1bHQobmV3IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwor
CisgICAgZm9yICh1bnNpZ25lZCBpdGVyYXRpb25OdW1iZXIgPSAwOyB0cnVlOyArK2l0ZXJhdGlv
bk51bWJlcikgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnByb3BlcnR5QWNjZXNzZXNBcmVD
YWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0Jl
ZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNP
YmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVG8gc2F2ZSBtZW1vcnks
IHdlIGRvbid0IGluY2x1ZGUgdGhlIGJhc2UgaW4gdGhlIGNoYWluLiBXZSBsZXQKKyAgICAgICAg
Ly8gQWNjZXNzQ2FzZSBwcm92aWRlIHRoZSBiYXNlIHRvIHVzIGFzIG5lZWRlZC4KKyAgICAgICAg
aWYgKGl0ZXJhdGlvbk51bWJlcikKKyAgICAgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQo
c3RydWN0dXJlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY3Vy
cmVudCA9PSBiYXNlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAg
ICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3Vy
IHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRo
ZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0
aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAor
ICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
c3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAg
ICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5k
ICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdh
dGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2No
YWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90
eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWluID09IG90
aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAoU3RydWN0
dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91dC5w
cmludCgiUG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgb3V0LnByaW50KCI6IFtcbiIp
OworICAgIGZvckVhY2goYmFzZVN0cnVjdHVyZSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCkgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVt
cChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAgfSk7Cit9CisKK30KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nl
c3NDaGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFz
cyBKU0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90Owor
Y2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvdG90eXBl
QWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90
eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hl
biBpbnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRhcmdldCwgYm9vbCYg
dXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3QgVmVjdG9yPFN0cnVj
dHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAgIHZvaWQgZHVt
cChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisg
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29u
c3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhl
cikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9
CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdDsKKworICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9yRWFjaChTdHJ1Y3R1cmUqIGJh
c2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0CisgICAgeworICAgICAgICBib29s
IGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5jKGJhc2VTdHJ1Y3R1cmUsIGF0
RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhaW4uc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9jaGFpbi5zaXplKCk7CisgICAg
ICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAgICAgfQorICAgIH0KKworcHJp
dmF0ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKworICAgIC8vIFRo
aXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBvbiBBY2Nlc3NDYXNlIHByb3Zp
ZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisgICAgLy8gc3RydWN0dXJlIGlz
IHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3aXRoLgorICAgIFZlY3RvcjxT
dHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRpdGlvbmFs
U2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQ
cm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VS
VCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAg
ICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3ND
YXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlh
UHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94
eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94
eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAgIHR5cGVk
ZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAg
Ym9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAg
ICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQ
cm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAog
cHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsK
KyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3ZpYVBy
b3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlk
U3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDgg
QEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAg
Y29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAgICAgICBpZiAo
YWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMo
c2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsKICAgICAgICAg
ICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzM3LDYgKzM3MzcsMTEg
QEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAgICAgICAgICAgICAgLy8gdGhlIHN0
cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0KCkgYWdyZWUgb24gdGhlIHByb3Rv
dHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAvLyBoaWxhcmlvdXNseSByYXJlIGlm
IHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5aW5nIG9uIHN0cnVjdHVyZVNldCgp
IGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBUaGF0IHdp
bGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhvdyBHZXRCeUlkU3RhdHVzL1B1dEJ5
SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiByaWdodCBub3csIGlm
IHdlIGhhdmUgYW4gT1BDUywgd2UgaGF2ZSBtb25vIHByb3RvLiBIb3dldmVyLCB0aGlzIHdpbGwK
KyAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZSBvbmNl
IHdlIGhhdmUgYSBoeWJyaWQgZGF0YSBzdHJ1Y3R1cmUgZm9yCisgICAgICAgICAgICAgICAgLy8g
cG9seSBwcm90bzoKKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHByb3RvdHlw
ZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwog
ICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNpemUoKTsgKytp
KSB7CkBAIC00MzM0LDEyICs0MzM5LDE2IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxv
Y2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlvbikgewogICAgICAgICAgICAgICAg
IGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRh
LT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMg
c3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAgICAgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkp
KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2Nh
dGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShy
YXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBv
aW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2Fs
bGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJ
bmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJvb2wgR3JhcGg6OmNhbkRvRmFz
dFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUg
PSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdpbi5zZW1hbnRpYyktPmFycmF5
UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICB2YWx1ZS5tX3N0cnVj
dHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpIHsKLSAgICAg
ICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90
eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKQor
ICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3Rv
dHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkKICAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVydHlOYW1lcy0+aXRl
cmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAgICAgICAmJiAhc3Ry
dWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ3Jl
YXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlvblR5cGUpIHsK
ICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3Ip
LT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmpl
Y3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgp
KTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiByZXN1bHQgPSBj
b25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rpb24qPihj
b25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOworICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rv
ci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDAsNyArNDMwMCw5IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1f
aml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAg
ICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1
bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsK
ICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwg
RnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIp
OworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNz
ZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09i
amVjdChyZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVz
dGVkSW1tUHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6
b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlUHV0QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcs
IEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJS
ZWcpCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2Rl
KiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJl
ZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hl
Y2sgdGhhdCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFk
VHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBl
UmVnKSk7CkBAIC0zMjQ5LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0
LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3Rl
ZEltbTMyKFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCpt
X2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9q
aXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAg
ICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRj
aDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQ
YXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwg
c2NyYXRjaDNSZWcpOworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJ
bnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOworICAgIG1faml0Lnplcm9FeHRlbmQzMlRv
UHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7CisgICAgbV9qaXQubG9hZDY0KEpJVENvbXBp
bGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIEpJVENvbXBpbGVyOjpUaW1l
c0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCBzY3JhdGNoM1JlZyk7
CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5tb3ZlKHNjcmF0Y2gz
UmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzSW5zdGFuY2Ug
PSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBzY3JhdGNoUmVnLCBwcm90
b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9qaXQuYnJhbmNoSWZDZWxsKEpT
VmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8obG9vcCwgJm1faml0KTsKQEAgLTMzODEsMTAg
KzMzODgsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAg
ICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90b3R5cGUodGhpcywgbm9kZS0+Y2hpbGQyKCkp
OwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9y
YXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7
CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigp
OwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgICAgIEdQ
UlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgICAgICBHUFJSZWcgc2NyYXRj
aDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAgICAgCiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElmQ2VsbCh2YWx1ZS5qc1ZhbHVlUmVncygpKTsK
ICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuanNWYWx1ZVJlZ3MoKS5wYXlsb2FkR1BS
KCk7CkBAIC0zMzk0LDcgKzM0MDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5z
dGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBpc0NlbGwubGluaygmbV9qaXQpOwogICAgICAg
ICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHBy
b3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgICAgICBjb21waWxlSW5z
dGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVn
LCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogICAgICAgICAKICAgICAgICAgZG9uZS5saW5r
KCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTYsMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMp
OwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuZ3ByKCk7CiAg
ICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICBHUFJSZWcgc2Ny
YXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRj
aDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAg
Ci0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlw
ZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gy
UmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVzc2VkQm9vbGVhblJlc3VsdChzY3JhdGNoUmVn
LCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNzU5LDcgKzc1OSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVTdHJpY3RFcShOb2Rl
KiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgYm9vbCBub25TcGVjdWxhdGl2ZVN0cmljdEVx
KE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICAKLSAgICB2b2lkIGNvbXBpbGVJbnN0
YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVS
ZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpOworICAg
IHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywg
R1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBz
Y3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5j
ZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mQ3VzdG9tKE5vZGUqKTsKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTY5LDEwICs4OTY5LDEyIEBAIHByaXZhdGU6
CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBpc0NlbGxDYXNlID0gbV9vdXQubmV3Qmxv
Y2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9vcCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAg
ICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVCaXRzID0gbV9vdXQubmV3QmxvY2soKTsKKyAg
ICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90byA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAg
ICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5cGUgPSBtX291dC5uZXdCbG9jaygpOwogICAg
ICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5jZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAg
ICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAg
IExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJlY3QgPSBtX291dC5uZXdCbG9jaygpOwogICAg
ICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5zdGFuY2VTbG93ID0gbV9vdXQubmV3QmxvY2so
KTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25kaXRpb247CiAgICAgICAgIGlmIChtX25vZGUt
PmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNlKQpAQCAtODk5MCwxNiArODk5MiwyOCBA
QCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbFZhbHVlID0gbV9vdXQu
YW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5qdW1wKGxvb3ApOwogICAgICAgICAKLSAgICAg
ICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZURpcmVjdCk7CisgICAgICAgIG1f
b3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVCaXRzKTsKICAgICAgICAgTFZhbHVlIHZh
bHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5hbFZhbHVlKTsKICAgICAgICAgTFZhbHVlIHR5
cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1ZSwgbV9oZWFwcy5KU0NlbGxfdHlwZUluZm9U
eXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwo
dHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9iamVjdFR5cGUpKSwKLSAgICAgICAgICAgIHVz
dWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93
KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVCaXRzKSwgcmFyZWx5KGRlZmF1
bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90
eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQ
cm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsKICAgICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9
IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9
IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7CisK
KyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBt
X2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBkaXJl
Y3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90b3R5cGVCaXRzKTsKKyAgICAgICAgbV9vdXQu
YnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyksIHVuc3VyZShsb2FkUG9seVByb3RvKSwgdW5z
dXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUG9s
eVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAgICAgICAgTFZhbHVlIGluZGV4ID0gbV9vdXQu
Yml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNvbnN0SW50NjQoVUlOVF9NQVgpKTsKKyAgICAg
ICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0gbV9vdXQuYW5jaG9yKAorICAgICAgICAgICAg
bV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleChtX2hlYXBzLnByb3BlcnRpZXMuYXRBbnlOdW1i
ZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVT
dG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29tcGFyZVByb3RvdHlwZSk7CisKKyAg
ICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVByb3RvdHlwZSwgbm90WWV0SW5zdGFuY2UpOwor
ICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LnBoaShJbnQ2NCwgZGlyZWN0
UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGlzSW5zdGFuY2VS
ZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhblRydWUpOwogICAgICAgICBtX291dC5i
cmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVhbChjdXJyZW50UHJvdG90eXBlLCBwcm90b3R5
cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDEzIEBAIHZvaWQgSklUOjplbWl0X29wX2lu
c3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8vIExvYWQgdGhlIHByb3RvdHlwZSBvZiB0aGUg
b2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBlcXVhbCB0byByZWdUMSAtIFdJTiEKICAgICAv
LyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2UgaGF2ZSB0aGVuIGRy
b3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28gYWdhaW4uCi0gICAgZW1pdExvYWRTdHJ1Y3R1
cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMpOwotICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Qy
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDIpOworICAgIGVtaXRMb2FkU3Ry
dWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJlZ1QzKTsKKyAgICBsb2FkNjQoQWRkcmVzcyhy
ZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1Q0KTsKKyAgICBhdXRvIGhh
c1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3MocmVnVDQpKTsK
KyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwgcmVnVDQpOworICAgIGxvYWQ2NChCYXNlSW5k
ZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9y
YWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVkUHJvdG90eXBlLmxpbmsodGhpcyk7CisgICAg
bW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJbnN0YW5jZSA9IGJyYW5jaFB0cihFcXVh
bCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElmSlNDZWxsKHJlZ1QyKS5saW5rVG8obG9v
cCwgdGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47
CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZh
bGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcs
MzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1
cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNl
Q2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChz
bG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90
SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAg
ICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNz
KAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHBy
b3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhp
dCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBz
bG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46
OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1c2Vz
UG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHBy
b3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZz
ZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAg
ICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisgICAg
ICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAgICAg
ICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmlt
cGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29u
ZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisg
ICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNs
b3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBs
KCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9u
U2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8g
aW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAg
ICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAgc3Rh
dGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAg
ICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94
eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0
RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0
SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nhc2Ug
PSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRj
aHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAgfSBl
bHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkgJiYg
IXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0eSwg
d2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNrIG9u
IHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3VsZAor
ICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlwZXMg
aW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IEludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hlZE9m
ZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxzZSB7
CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVl
KCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNj
ZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qu
d2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCks
IFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAg
ICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3Rh
dGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRT
ZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51
bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNs
b3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0
ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVB
Y2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2LDYg
KzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgpOwog
CiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxlUHV0
KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhpc3Rp
bmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUtPmlz
RGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2JqZWN0
KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtpbmQg
PT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAotICAg
ICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJlLCBp
ZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVh
dGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1Bv
bHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8p
IHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOwor
ICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAg
ICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQu
aW1wbCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgp
KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nl
c3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAg
ICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxl
U2V0dGVyKCkpIHsKICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewogICAg
ICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OworICAgICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nl
c3NDaGFpbjsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewot
ICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgICAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwg
aWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlk
KCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQ
cm90bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxw
dHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAg
ICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdEN1c3RvbSgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAo
IWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
R2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgc2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkgPyBBY2Nlc3ND
YXNlOjpDdXN0b21BY2Nlc3NvclNldHRlciA6IEFjY2Vzc0Nhc2U6OkN1c3RvbVZhbHVlU2V0dGVy
LCBzdHJ1Y3R1cmUsIGludmFsaWRPZmZzZXQsIGNvbmRpdGlvblNldCwKLSAgICAgICAgICAgICAg
ICBzbG90LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2UoKSk7CisgICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgc2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkgPyBBY2Nlc3NDYXNlOjpDdXN0b21B
Y2Nlc3NvclNldHRlciA6IEFjY2Vzc0Nhc2U6OkN1c3RvbVZhbHVlU2V0dGVyLCBzdHJ1Y3R1cmUs
IGludmFsaWRPZmZzZXQsCisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSwgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQg
Y29uZGl0aW9uU2V0OwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OworICAgICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nl
c3NDaGFpbjsKKyAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuY2FjaGVk
T2Zmc2V0KCk7CiAKICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50
LmltcGwoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQor
ICAgICAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LmJhc2UoKSwgdXNlc1Bv
bHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
LSAgICAgICAgICAgICAgICBvZmZzZXQgPSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24o
KS5vZmZzZXQoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIG9mZnNldCA9
IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVBy
b3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQo
KSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG5l
d0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29u
ZGl0aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpT
ZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTE3LDE1ICs1NzEsMzUgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBleGVj
LT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsK
ICAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNl
dDsKICAgICBpZiAod2FzRm91bmQpIHsKLSAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBi
YXNlKSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQ
cm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVj
LCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgaWYg
KHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7IAorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVBy
b3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBz
bG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hh
aW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJv
dG90eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0
KAorICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNs
b3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0Zv
clByb3BlcnR5TWlzcygKLSAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7Cisg
ICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0
ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8p
OworICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBJ
dCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgorICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXVzZXNQ
b2x5UHJvdG8pIHsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsK
KyAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5
TWlzcygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlk
ZW50LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKQEAgLTUzMyw3ICs2MDcsNyBA
QCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIExPR19JQygoSUNF
dmVudDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpZGVudCkpOwog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpj
cmVhdGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5I
aXQgOiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJ
bkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIAogICAgIEFjY2Vzc0dl
bmVyYXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8uYWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNv
ZGVCbG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkpOwogICAgIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NjAsMTYgKzc2MCwxNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfcHV0X2J5X2lkCiAgICAgICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmlzRGlj
dGlvbmFyeSgpICYmIHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBhY2l0eSgp
ID09IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkgewogICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0
SGFzQmVlbkludmFsaWRhdGVkKCkpOwogCi0gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxp
emVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFp
bikgeworICAgICAgICAgICAgICAgICAgICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAg
ICAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4
ZWMsIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJl
c3VsdCAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4gJiYgIXNhd1BvbHlQcm90bykgewogICAgICAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pc09iamVj
dCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzRdLnUuc3RydWN0dXJlSUQgPSBzdHJ1
Y3R1cmUtPnByZXZpb3VzSUQoKS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVd
LnUub3BlcmFuZCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwY1s2XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMs
IGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KGNoYWluKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNo
YWluLnNldCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
Y2hhaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hh
aW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nh
c3Q8UHV0QnlJZEZsYWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1
dEJ5SWRGbGFncyB8CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwx
MCArNTIyLDkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlu
bGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBv
YmplY3QpCiB7Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3Qt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0
dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCBvYmplY3QpOwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMs
IEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5n
dGgpCkBAIC02MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4
ZWNTdGF0ZQogICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwg
dGhpc09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBn
ZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7
CiAgICAgICAgICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNW
YWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0
YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENh
c2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAg
ICAgICAgICAgIH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVu
Z3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5
LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVu
Z3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQor
ICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29u
dGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpl
eGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgp
ICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgz
NCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAg
YXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7
CiAgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2Uu
aGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9y
KCkuZGF0YSgpOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBA
IC0xMTc0LDcgKzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBl
eGVjCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAg
aWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYm
ICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkg
eworICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlw
ZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAg
ICAgICAgICAgIGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OSwxMCArNDksOSBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6
Y3JlYXRlCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0g
ICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAg
ICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8
fCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHko
dm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBi
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVu
Z3RoOwotCiAgICAgfSBlbHNlIHsKICAgICAgICAgSW5kZXhpbmdIZWFkZXIgaW5kZXhpbmdIZWFk
ZXI7CiAgICAgICAgIGluZGV4aW5nSGVhZGVyLnNldFZlY3Rvckxlbmd0aCh2ZWN0b3JMZW5ndGgp
OwpAQCAtODEsNyArODAsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlCiAgICAgLy8gTkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFs
IG9iamVjdCBvZiBvZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9m
IHRoZSBjYWxsZWUuIFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3Vs
ZC4KICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUs
IGxlbmd0aCk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI1LDE0ICsxMjQsMTQgQEAgQ2xv
bmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNT
RVJUKG15RnJhbWUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0
dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJn
dW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRl
KiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7
CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlG
cmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0
NSw3ICsxNDQsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAg
ICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAg
ICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkp
KTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI0Miw2ICsyNDIsOCBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMp
CiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5s
aW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAg
ICAgICAgcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0
cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAv
I3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3Rv
ID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1
dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSgog
ICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3IpOwogICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAK
IEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFsQ29kZSgK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhl
Y3V0YWJsZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTE3Miw2ICsxNzIsOSBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgSW5mZXJy
ZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9u
LmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJlIGZvciB0aGUgcmVz
dWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3RydWN0dXJlKiBjYWNo
ZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVy
ZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZt
LCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1
dGFibGVCYXNlOwpAQCAtMTg5LDYgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVy
PEZ1bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBSZWZQdHI8
VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRlQmFycmllcjxJbmZl
cnJlZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkg
QEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1
bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVj
dEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBj
b25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUo
dm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
cHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJv
dG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsK
IAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1
cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3Ry
aW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVu
Y3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAg
IEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFT
U0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAg
QVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFy
Z2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVm
bGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFt
aWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzM4LDcgKzczOCw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShF
eGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRo
Q29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChj
b3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNF
X0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVj
dCgpOwpAQCAtNzczLDcgKzc3Myw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJh
eVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMg
b3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBh
bGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygp
ICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkp
IAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3Bh
cnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTkwNCw3ICs5MDQsNyBAQCBib29sIEpTQXJyYXk6
OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sg
Zm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdl
IGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVu
IHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAg
ICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAg
IGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwg
ZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBidXR0ZXJmbHktPmNvbnRp
Z3VvdXMoKVtpICsgY291bnRdLmdldCgpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgh
dikpIHsKQEAgLTk0NSw3ICs5NDUsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55
SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3
ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5
IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxk
IGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0g
b2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAg
ICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBj
b3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTEyOTIs
NyArMTI5Miw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAg
ICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0g
Z2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJl
Y3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjIsOCArNjIsOCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5G
YXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXku
cHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5n
IHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250
ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygp
LT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmlu
dCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJp
bnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0
dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVj
dHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJl
ICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkp
OwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250
ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5w
cmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJp
bnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgog
ICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5jdGlvblJhcmVEYXRh
KiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9
CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZt
LCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0
KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGds
b2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRh
KiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4
ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHlu
YW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxP
YmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9i
YWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBw
cm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEq
IHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0
cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhh
dCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTUsOCBAQCBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9y
YXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90
eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRo
aXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3Rv
dHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5
cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAK
QEAgLTM3MSw3ICszNzQsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChK
U09iCiAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBB
U1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Qu
c2V0VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9m
ZnNldCksIG9mZnNldCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgs
OSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3RhdGUqLCBKU1Zh
bHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0aGUgfHRoaXN8
IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVkLgorICAgIEpT
T2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUqKTsKKwogcHJv
dGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFi
bGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9v
bCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUg
PT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
LSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1h
cFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmpl
Y3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNNYXA6OmNhbkNs
b25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzTWFw
UHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNyArNzcwLDcgQEAgYm9v
bCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUqIAogICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBh
dHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAg
ICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpIHsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRl
cmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQodGhpcy0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZt
LCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
dHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwo
UmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3
ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAg
IEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhp
bmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5
cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1
cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVk
IHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0x
MTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3Jh
CiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRl
cmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0
ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0
dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVj
dHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRT
dHJ1Y3R1cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiAgICAgbnVrZVN0
cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7
CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7
CkBAIC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5k
ZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5
U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
KTsKKyAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09i
amVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2Uq
IEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0Fy
cmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAog
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZN
JiB2bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnREb3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJy
YXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gdHJhbnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENv
bnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250
aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIHZvaWQg
SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUp
CkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3Vy
ZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxM
X0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91
bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQor
ICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygp
OwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBA
IC0xNDc0LDcgKzE0NzQsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91
YmxlCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JM
QU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAg
ICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAg
ICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0x
NTAzLDcgKzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRp
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAg
ICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAg
LTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlT
dG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAg
ICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJU
KCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJU
KCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lk
ZWRUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RP
VUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAg
ICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAg
Y2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRl
eGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2
bSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjMzLDE0ICsxNjMzLDE3IEBAIHZvaWQg
SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlz
T2JqZWN0KCkpCiAgICAgICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3Qo
cHJvdG90eXBlKSk7CiAgICAgCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1
cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlw
ZSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICgh
bmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAg
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVU
cmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAgICAgICBzZXRTdHJ1
Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1dERpcmVjdCh2
bSwgc3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7CisKKyAgICBp
ZiAoIWFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAg
ICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhp
cykpIHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1l
KHZtKTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGlt
ZSh2bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xOTUxLDcgKzE5NTQsOCBA
QCBKU1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtl
IHN1cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9i
amVjdCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAgICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRo
aXMtPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nh
cnlGb3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogb2JqZWN0ID0g
dGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVl
IHZhbHVlOwogICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMw
LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAg
ICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAog
ICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhl
IFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAg
ICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxk
VGhyb3cpOwpAQCAtMjg3OCw3ICsyODgyLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5k
ZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVj
dG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1
ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAg
ICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
IHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIEFy
cmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV92
ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251
bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NjIsNyBAQCB1aW50MzJfdCBKU09iamVj
dDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAo
c3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1
Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkBAIC0zNjY4LDQgKzM2NzIsNTYgQEAgSlNWYWx1
ZSBKU09iamVjdDo6Z2V0TWV0aG9kKEV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBtZXRob2Q7CiB9
CiAKK2Jvb2wgSlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAoreworICAgIFZNJiB2bSA9ICp0aGlzLT52bSgpOworICAgIGZvciAoY29u
c3QgSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5z
dHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJy
ZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwo
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQg
PSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKK3sKKyAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1
cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgIAor
ICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChw
cm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAor
ICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICAgICAgCisgICAgICAg
IHVuc2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1
cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsK
KyAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
K30KKworYm9vbCBKU09iamVjdDo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAoreworICAg
IHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwg
Z2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKK30KKworTm9uUHJvcGVydHlUcmFu
c2l0aW9uIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QK
K3sKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICAgICAgcmV0dXJuIE5vblBy
b3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIAorICAg
IHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1
ZGUgIlB1dERpcmVjdEluZGV4TW9kZS5oIgogI2luY2x1ZGUgIlB1dFByb3BlcnR5U2xvdC5oIgog
I2luY2x1ZGUgIlN0cnVjdHVyZS5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJT
cGFyc2VBcnJheVZhbHVlTWFwLmgiCkBAIC0xMzEsNyArMTMyLDcgQEAgcHVibGljOgogICAgIC8v
IEl0IGlzIHZhbGlkIHRvIHVzZSB0aG91Z2ggd2hlbiB5b3Uga25vdyB0aGF0IHlvdSB3YW50IHRv
IGRpcmVjdGx5IGdldCBpdAogICAgIC8vIHdpdGhvdXQgY29uc3VsdGluZyB0aGUgbWV0aG9kIHRh
YmxlLiBUaGlzIGlzIGFraW4gdG8gZ2V0dGluZyB0aGUgW1tQcm90b3R5cGVdXQogICAgIC8vIGlu
dGVybmFsIGZpZWxkIGRpcmVjdGx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4K
LSAgICBKU1ZhbHVlIGdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0OworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEpTVmFsdWUgZ2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3Q7CiAKICAgICAvLyBUaGlz
IHNldHMgdGhlIHByb3RvdHlwZSB3aXRob3V0IGNoZWNraW5nIGZvciBjeWNsZXMgYW5kIHdpdGhv
dXQKICAgICAvLyBkb2luZyBkeW5hbWljIGRpc3BhdGNoIG9uIFtbU2V0UHJvdG90eXBlT2ZdXSBv
cGVyYXRpb24gaW4gdGhlIHNwZWNpZmljYXRpb24uCkBAIC03MzMsNiArNzM0LDEyIEBAIHB1Ymxp
YzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc0V4dGVuc2libGUoSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3Ry
dWN0dXJlKHZtKS0+aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsg
cmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQorCisgICAgYm9vbCBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQ
cm9wZXJ0eU5hbWUpOworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKKyAg
ICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
IGNvbnN0OworCiBwcml2YXRlOgogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V4dGVuc2libGVJ
bXBsKCkgeyByZXR1cm4gaXNTdHJ1Y3R1cmVFeHRlbnNpYmxlKCk7IH0KIHB1YmxpYzoKQEAgLTg2
Niw3ICs4NzMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAg
IEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMp
ID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgZ2V0UHJvdG90eXBlRGlyZWN0KCku
aXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURp
cmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAg
ICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0xMjk4LDcgKzEzMDUsNyBAQCBp
bmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVl
IEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9y
ZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90
b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDcsOSBAQCBBTFdB
WVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsK
ICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVj
dHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGl0J3MgZm9sbG93aW5nIHRo
ZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmpl
Y3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90
b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcg
QEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElL
RUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBk
ZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVy
dHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90
b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90
eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAg
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0xNTAsNyArMTUw
LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXROb25JbmRleAogICAgICAgICB9
CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJv
dG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRl
cm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0
LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90
b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlT
X0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlz
T2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAg
ICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5
SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhp
c09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2Rl
UHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1
cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVy
YWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgcmV0dXJuIHRydWU7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9w
ZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUodm0pOwogICAg
IGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVyYXRvciA9IHN0cnVjdHVyZS0+
Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICAmJiBlbnVtZXJhdG9yLT5j
YWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykp
CisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0
dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAgICAgcmV0dXJuIGVudW1lcmF0
b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzID0gMDsKQEAgLTEz
MywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQK
IAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJTlQzMl9NQVgpOwogCi0gICAg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKTsKKyAgICBib29sIHNhd1Bv
bHlQcm90bzsKKyAgICBhdXRvIHJlc3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMs
IHN0cnVjdHVyZSwgc2F3UG9seVByb3RvKTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1i
ZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVt
ZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVD
aGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2Fj
aGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVk
UHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVk
TGVuZ3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlICYmIHJlc3VsdCAhPSBJ
bnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOwor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkK
KyAgICAgICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2
bSwgZW51bWVyYXRvcik7CisgICAgfQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFu
ZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3Rv
dHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMs
NiArNzMsOSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAg
ICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZh
YmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+
anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsMTMgKzEwMSw2IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwogICAgIH0K
ICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQot
ICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCogY29uc3Ry
dWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fY29uc3Ry
dWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVy
YXRpb25zLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiwxMyArMTM2LDE5IEBA
IGJvb2wganNJc0Z1bmN0aW9uVHlwZShKU1ZhbHVlIHYpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCYgc2F3UG9seVByb3Rv
KQogewogICAgIFZNJiB2bSA9IGNhbGxGcmFtZS0+dm0oKTsKICAgICBzaXplX3QgY291bnQgPSAw
OworICAgIHNhd1BvbHlQcm90byA9IGZhbHNlOwogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47CisKKyAgICAgICAgc2F3UG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAg
IEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAg
ICAgICAgIGlmICh2LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIEpTVmFsdWUganNUeXBlU3RyaW5nRm9yVmFsdWUo
Q2FsbEZyYW1lKiwKIEpTVmFsdWUganNUeXBlU3RyaW5nRm9yVmFsdWUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTVmFsdWUpOwogYm9vbCBqc0lzT2JqZWN0VHlwZU9yTnVsbChDYWxsRnJhbWUqLCBK
U1ZhbHVlKTsKIGJvb2wganNJc0Z1bmN0aW9uVHlwZShKU1ZhbHVlKTsKLXNpemVfdCBub3JtYWxp
emVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqLCBTdHJ1Y3R1cmUqKTsKK3NpemVfdCBub3JtYWxp
emVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqLCBTdHJ1Y3R1cmUqLCBib29sJiBzYXdQb2x5UHJv
dG8pOwogCiBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiBqc1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMs
IEpTU3RyaW5nKiBzMSwgSlNTdHJpbmcqIHMyKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NzEsNyArNDcxLDgg
QEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihib29sLCB1c2VGYXN0
VExTRm9yV2FzbUNvbnRleHQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUgKGFuZCBmYXN0IFRMUyBp
cyBlbmFibGVkKSwgd2Ugd2lsbCBzdG9yZSBjb250ZXh0IGluIGZhc3QgVExTLiBJZiBmYWxzZSwg
d2Ugd2lsbCBwaW4gaXQgdG8gYSByZWdpc3Rlci4iKSBcCiAgICAgdihib29sLCB1c2VDYWxsSUNz
Rm9yV2ViQXNzZW1ibHlUb0pTQ2FsbHMsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwg
dXNlIENhbGxMaW5rSW5mbyB0byBpbmxpbmUgY2FjaGUgV2FzbSB0byBKUyBjYWxscy4iKSBcCiAg
ICAgdihib29sLCB1c2VPYmplY3RSZXN0U3ByZWFkLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3
ZSB3aWxsIGVuYWJsZSBPYmplY3QgUmVzdC9TcHJlYWQgZmVhdHVyZS4iKSBcCi0gICAgdihib29s
LCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdl
IHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNl
LCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRl
ZC4iKQorICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3Jt
YWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJv
ZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFp
bSB0byBiZSB1bmRlY2lkZWQuIilcCisgICAgdihib29sLCBmb3JjZVBvbHlQcm90bywgZmFsc2Us
IE5vcm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3YXlzIGNyZWF0ZSBhbiBvYmpl
Y3Qgd2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpCiAKIAogZW51bSBPcHRpb25FcXVpdmFs
ZW5jZSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZU1hcC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE4ICs1NCwzNCBAQCB2
b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0CiAgICAgLy8gdXNlZCBhcyBh
IHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJ
bmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkK
K2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBl
IGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90
b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CisgICAgUkVMRUFTRV9B
U1NFUlQoISFwcm90b3R5cGUpOyAvLyBXZSB1c2UgbnVsbHB0ciBpbnNpZGUgdGhlIEhhc2hNYXAg
Zm9yIHByb3RvdHlwZSB0byBtZWFuIHBvbHkgcHJvdG8sIHNvIHVzZXIncyBvZiB0aGlzIEFQSSBt
dXN0IHByb3ZpZGUgbm9uLW51bGwgcHJvdG90eXBlcy4KKworICAgIGF1dG8ga2V5ID0gc3RkOjpt
YWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPyBudWxscHRyIDogcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkgeworICAgICAgICBpZiAobWFr
ZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlw
ZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlw
ZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBh
ZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZTsKKyAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBz
dHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9s
eVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8s
IGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICB9CiAgICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJl
PihzdHJ1Y3R1cmUpKTsKKwogICAgIHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4
OSwyMSBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAg
Ly8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlz
aXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMg
aGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90
b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAo
cHJvdG90eXBlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkg
JiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdU
eXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlT
dG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0
cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8o
KSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwog
fQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBv
bHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxP
YmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5m
bygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1f
c3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHks
IEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVz
LnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxP
YmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsK
ICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNl
KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJv
dG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVj
dHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5s
aW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBj
b25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xh
c3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtl
UG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0
PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAg
ICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0
IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOwor
ICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0Kiwg
dW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47
CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0
dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAg
ICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1f
Yml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVk
UHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJv
dG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQog
ICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNl
dChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVz
dHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0
cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRl
KFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5m
byogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQt
Pm91dE9mTGluZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFu
c2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5k
ZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSksCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVu
dEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0
T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGlu
ZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAg
ICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7
CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAg
ICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRT
dHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYg
c3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUp
CiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDE1LDE0
IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4g
YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1
aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJ
bkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJl
Ojpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29u
c3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAg
ICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVs
bCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVu
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NF
UlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90
b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBv
YmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI2LDcgKzQzMSw3IEBAIGJvb2wgU3Ry
dWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1
Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBy
b3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBl
ID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3Rv
dHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDM2LDIwICs0NDEsNiBAQCBib29sIFN0cnVj
dHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1i
b29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVy
biBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAg
fHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlU
cmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNv
bnN0Ci17Ci0gICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBO
b25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAK
LSAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsK
LX0KLQogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlID0gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgK
QEAgLTU1Miw2ICs1NDMsOCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlU
cmFuCiAKIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgcHJvdG90eXBlKQogeworICAgIEFT
U0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSB8fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAgICAg
RGVmZXJHQyBkZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNy
ZWF0ZSh2bSwgc3RydWN0dXJlKTsKIApAQCAtMTA2NywxMSArMTA2MCw2IEBAIHZvaWQgU3RydWN0
dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAot
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9j
aykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xv
YmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwq
IGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVj
dCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMDksNyArMTA5Nyw3IEBAIGJvb2wg
U3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9i
amVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkp
Ci0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRD
b25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFoYXNT
dG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBT
dHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMSw0MCAr
MTEwOSwxOSBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVy
Y2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAgIGlm
IChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Ci0gICAgCi0gICAgZm9yIChTdHJ1Y3R1
cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0g
cHJvdG90eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAgdW5z
aWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVu
dC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwotICAgICAgICBpZiAoIUpTQzo6
aXNWYWxpZE9mZnNldChvZmZzZXQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAot
ICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIAotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1SZWY8U3RydWN0dXJl
U2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlKQorUmVmPFN0
cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSwg
Ym9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4g
YmFzZVNoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAgIFJlZlB0cjxTdHJ1Y3R1
cmVTaGFwZT4gY3VyU2hhcGUgPSBiYXNlU2hhcGUucHRyKCk7CiAgICAgU3RydWN0dXJlKiBjdXJT
dHJ1Y3R1cmUgPSB0aGlzOwogICAgIEpTVmFsdWUgY3VyVmFsdWUgPSB2YWx1ZTsKKyAgICBzYXdQ
b2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZTsKICAgICB3aGlsZSAoY3VyU3RydWN0dXJlKSB7Cisg
ICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSB8PSAhY3VyU3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNoUHJvcGVydHlDb25jdXJy
ZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFwRW50cnkmIGVudHJ5KSAt
PiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5Lmtl
eSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50cnkua2V5KS5pc1ByaXZh
dGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgqZW50
cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOwog
CkBAIC0xMTY4LDI2ICsxMTM1LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0
b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwoKTsKIAotICAgICAgICBp
ZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkgewotICAgICAgICAg
ICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKLSAgICAgICAgICAg
IGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgY3Vy
U2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1clZhbHVlID0gY3VyU3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoIWN1clZh
bHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKIAotICAgICAgICBjdXJTdHJ1Y3R1
cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpOworICAgICAgICBK
U09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAgICAgICBKU09iamVjdCog
cHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0KQorICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7CisgICAg
ICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgIGN1clZhbHVlID0gcHJv
dG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90b3R5cGVPYmplY3QtPnN0
cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNoYXBlOwogfQogCi1ib29s
IFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqIG90aGVyKQotewot
ICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxpbmVDYXBhY2l0eSgpCi0g
ICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9yZWRQcm90b3R5cGUoKQot
ICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhlci0+b2JqZWN0SW5p
dGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIodGhpcyksICI6WyIsIGNs
YXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDIsNyArMTE2Nyw5IEBAIHZvaWQg
U3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAKICAgICBvdXQucHJpbnQo
In0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAgICAKLSAgICBpZiAo
bV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zm
c2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAg
ICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0Nl
bGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkBAIC0xMjg3LDcgKzEy
NTQsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtCiAgICAgd2hp
bGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmdldCgpKQogICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRl
c0dldFByb3BlcnR5TmFtZXMoKSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGlj
dGlvbmFyeSgpIHx8IHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJv
cGVydHlOYW1lcygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1
cmUrKzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAg
ICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAg
ICAgCisgICAgZW51bSBQb2x5UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBj
b25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90
eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5v
bkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgp
OwogCkBAIC0xMzgsNyArMTQwLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7
CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlz
TnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE2OSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25U
b0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9F
eGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJp
YnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJv
cGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9m
ZnNldCYpOwotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVBy
b3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7Cisg
ICAgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVj
dHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMg
U3RydWN0dXJlKiBhdHRyaWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJv
cGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgU3RydWN0dXJlKiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3Ry
dWN0dXJlKiwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVs
bHB0cik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFu
c2l0aW9uKFZNJiwgU3RydWN0dXJlKik7CkBAIC0yMDgsNyArMjEwLDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgcmV0dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJl
UHJvcGVydHlXYXRjaHBvaW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vz
c2VzQXJlQ2FjaGVhYmxlKCkKQEAgLTI0MCwyNiArMjQyLDM5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVk
QWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAg
IGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAot
ICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRy
YW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJv
b2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAg
ICAgICAgCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91
bGQgb25seSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5j
ZSB0aGUgZ2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRv
IGJlIGltbXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9i
amVjdChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmpl
Y3Quc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUg
c3RvcmVkUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKwor
ICAgIGJvb2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3Jl
ZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9
CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVy
biBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVk
UHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFBy
b3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09i
amVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cChFeGVjU3RhdGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChK
U0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENv
ZGVCbG9jayopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYs
IEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNo
YWluKEV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpT
R2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiog
cHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25z
dDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwg
U2xvdFZpc2l0b3ImKTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJr
IGR1cmluZyBHQyBpZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVk
IGFtb3VudApAQCAtMjcyLDE0ICsyODcsMjQgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiB0aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lm
Q2hlYXAoU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90
b3R5cGUgY2hhaW4gaW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9S
VF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJv
cGVydHlOYW1lKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAg
ICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAg
ICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQor
CisgICAgU3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7Cisg
ICAgICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEo
dm0pOworICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0
dXJlKiBwcmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU1OCw2IEBAIHB1Ymxp
YzoKICAgICAgICAgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQog
ICAgIAotICAgIHZvaWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5
Rm9yRW50aXJlQ2hhaW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHRoaXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGVTdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGlu
Z0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhh
c0luZmVycmVkVHlwZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJl
ZFR5cGVUYWJsZTsKQEAgLTU4OCwxMSArNjA3LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3Rv
cmVWYWx1ZVNsb3codm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZl
cnJlZFR5cGVUYWJsZTo6T2xkUHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVT
aGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVz
IGlmIHRoZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBi
ZSB1c2VkIGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9v
bCBjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVT
aGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1
cmUpOwogICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQg
ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC03MjAs
OCArNzM1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0
T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlz
VmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hh
aW4pIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiog
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJh
c2UpIGNvbnN0OwogCiAgICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sg
dG8gZG8gdGhlc2UuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJh
Y3RMb2NrZXImLCBWTSYsIFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzQ2LDYgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1
Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNv
bnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdl
dCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBi
b29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNG
dW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4u
Y3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQg
U3RydWN0dXJlQ2hhaW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3Ry
dWN0dXJlQ2hhaW46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAg
IGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVu
dC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAg
ICArK3NpemU7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5b
XT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihz
aXplICsgMSk7CisKKyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVu
dCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwg
dGhpcywgY3VycmVudC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9y
RmVuY2UoKTsKKyAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndy
aXRlQmFycmllcih0aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlND
ZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0
cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGlj
IFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAog
ICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxTdHJ1Y3R1cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1
cmVDaGFpblN0cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2
bSwgaGVhZCk7CkBAIC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVz
dHJveShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSk7Ci0gICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUq
IGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90
eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkp
LT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1
ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90
IGkgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7
IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09i
amVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAg
ICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0
b3IpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhl
YWQpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5s
aW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3Qq
IFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNF
X0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJv
dG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0
b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90
eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsK
ICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9i
amVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6
OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJF
TEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0
b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAg
UkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0dXJu
IG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmplY3Qq
IFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qp
IGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlz
KTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3Qo
cG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxXQVlTX0lO
TElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0
IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90byA9IHN0
b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8tPnN0cnVj
dHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFByb3BlcnR5
T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkK
IHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDE1ICsxOTYsMzIgQEAgaW5saW5l
IGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
Cit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYgKHN0cnVj
dHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0dXJuIGds
b2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0dXJlLT50
eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogewor
ICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBpZiAoaXNPYmpl
Y3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5m
bygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
eW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAg
IHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhp
cyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSk7Ci0g
ICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CitpbmxpbmUgSlNWYWx1
ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3Ry
dWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBz
dG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JM
b29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7CiB9CiAKIGlubGluZSBKU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QK
QEAgLTE4MiwyNyArMjI5LDI4IEBAIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5
cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0Citpbmxp
bmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBS
RUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogICAgIC8vIFdlIGNh
Y2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0LgotICAg
IGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkp
KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2Jh
bE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBT
dHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyAwIDogYXNPYmpl
Y3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2Jq
ZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkgeworICAgICAgICBKU1Zh
bHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwor
ICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hh
aW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6IGFzT2JqZWN0KHBy
b3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0
KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFp
bihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVy
ZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFzZSkgY29uc3QK
IHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0
dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWlu
KiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29sIFN0cnVjdHVyZTo6aXNW
YWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVk
UHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewogICAgIGlmICghY2FjaGVk
UHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gY2FjaGVkUHJvdG90eXBl
Q2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJvdG90eXBl
LmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUo
KSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsyNjEsNiBAQCBpbmxpbmUg
Ym9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0dXJuIHByb3RvdHlwZS5p
c051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJl
Ojppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlw
ZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUgdm9pZCBTdHJ1Y3R1
cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAgICAgaWYg
KExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC00MDAsNyArNDQzLDcgQEAgaW5saW5lIFByb3Bl
cnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlO
YW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxl
KFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0
dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAg
ICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwog
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0
aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZl
cnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5j
bHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3
IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlz
T2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yKTsKIH0KIAogSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVy
YXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDEzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJh
cmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0K
IAorSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3Ry
dWN0b3IoVk0mIHZtKQoreworICAgIGlmICghbV9pbmZlcnJlZENvbnN0cnVjdG9yKQorICAgICAg
ICBtX2luZmVycmVkQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBJbmZlcnJlZFZhbHVlOjpjcmVh
dGUodm0pKTsKKyAgICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOworfQorCiAv
LyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBo
ZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5n
QWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1
cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNz
IEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBT
dHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dDsKQEAgLTYyLDYgKzYzLDE1IEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENh
Y2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iq
KTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3
ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5w
cm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVyZVJh
cmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0aGUg
InByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJw
cm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFudCBj
b25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0b3Ig
cG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEgSlNGdW5jdGlvbi4KKyAgICAv
LyBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgd2lsbCBiZWNv
bWUgaW52YWxpZGF0ZWQuCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1
Y3RvcihWTSYpOworICAgIC8vIE1heSBiZSBudWxscHRyLgorICAgIEluZmVycmVkVmFsdWUqIGlu
ZmVycmVkQ29uc3RydWN0b3IoKSB7IHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3IuZ2V0KCk7
IH0KKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03Niw2ICs4Niw3
IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAg
ICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0
ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1faW5mZXJyZWRDb25z
dHJ1Y3RvcjsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0
cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hw
b2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3Jl
cGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xv
Z0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICB9CiAKKyAg
ICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Q
cm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwg
UmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVzOworCiAgICAgTG9n
RW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGlsZSAoZW50cnkgIT0g
bV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+
c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAg
ICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7
CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlm
IChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwo
KSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAgIGF1dG8gaXRlciA9
IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYgKGl0ZXIgPT0gc2Vl
blNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0
cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1
Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUu
YXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAgICAgICAgIGF1dG8g
aXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAg
ICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkp
OworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5maW5k
KGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9seVByb3RvU2hhcGVz
LmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CisgICAg
ICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkgeworICAgICAgICAgICAgICAg
ICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVBy
b3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVj
dHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90b1NoYXBlcy5zZXQo
a2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUg
PSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAgdm9pZCBUeXBlUHJv
ZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0
aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUg
PSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAg
ICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBz
aGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0
aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUlu
Zm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9T
dHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5
cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNl
dDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVT
ZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlw
ZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBl
SXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFw
ZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1
Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICAv
LyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5IHByb3RvIGNoYWlu
cworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBjaGFpbjoKKyAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzYyNworICAg
ICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlu
cyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkg
ewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAg
ICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29y
a2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZv
aWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+
JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3Rv
U3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1w
VHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVu
ZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQog
ICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1Zh
bHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBn
ZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCku
aXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVz
cy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3Rz
CShyZXZpc2lvbiAyMjI1NzYpCisrKyBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3Rz
CSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0
aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRCM08xKCpvcHRpb25h
bFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNl
QXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRf
T1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisg
ICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5n
PWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklU
X09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQog
ZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRp
b25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdlck5vQ0pJVFZhbGlkYXRlKCpv
cHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0
aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9yPXRy
dWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZ
X09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLWVh
Z2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICItLWZvcmNlUG9seVByb3Rv
PXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9V
U0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBy
dW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC04NjQs
NiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAgcnVuKCJmdGwtbm8tY2ppdC10
eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TICsg
Tk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlw
ZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBydW4oImZ0bC10eXBlLXByb2Zp
bGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUi
LCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElPTlMp
KQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322161</attachid>
            <date>2017-09-28 20:25:44 -0700</date>
            <delta_ts>2017-09-30 01:21:37 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>207517</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjU3NikKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw3OCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQor
CitsZXQgaXRlbXMgPSBbCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorXTsKKworbGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3Rv
bVRlc3RHZXR0ZXJTZXR0ZXIoKTsKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJv
dG9fXyA9IGN1c3RvbUdldHRlclNldHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1
c3RvbUdldHRlclNldHRlcik7Cit9KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1
bHQsIGFjY2Vzc29yUmVzdWx0KSB7CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVl
UmVzdWx0KTsKKworICAgIGFzc2VydCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3Vs
dCk7CisKKyAgICBsZXQgbyA9IHt9OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2Vy
dChvLnJlc3VsdCA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9t
QWNjZXNzb3IgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOwor
CisgICAgYXNzZXJ0KHgucmFuZG9tUHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCisKK2xldCBzdGFydCA9IERhdGUubm93
KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBj
dXN0b21HZXR0ZXJTZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNl
dHRlci5yYW5kb21Qcm9wID0gNDI7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkg
eworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
dmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdldHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0K
K30KKworaXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
eCwgeworICAgICAgICBnZXQgY3VzdG9tVmFsdWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAg
Z2V0IGN1c3RvbUFjY2Vzc29yKCkgeyByZXR1cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21W
YWx1ZSh4KSB7IHgucmVzdWx0ID0gNDI7IH0sCisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4
KSB7IHgucmVzdWx0ID0gMjI7IH0sCisgICAgfSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsr
aSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CisKK2lm
IChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0
bmVzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJp
bnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMyBA
QAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkISIpOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAg
IGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBu
ZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBm
b28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCB4ID0gbmV3IFVpbnQzMkFycmF5KDEw
KTsKK2xldCBwID0geC5fX3Byb3RvX18uX19wcm90b19fOworbGV0IG9iaiA9IG1ha2VQb2x5UHJv
dG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwOworeC5fX3Byb3RvX18gPSBvYmo7CisKK2Z1
bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIHguYnl0ZUxlbmd0aDsKK30KK25vSW5saW5lKGZv
byk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNzZXJ0KGZvbyh4
KSA9PT0gMTAgKiA0KTsKK307CisKK29iai5fX3Byb3RvX18gPSB7fTsKKworYXNzZXJ0KGZvbyh4
KSA9PT0gdW5kZWZpbmVkKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKG5vbmV4
aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsK
KyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEM7
CisgICAgICAgIC8vcHJpbnQoYFJlc3VsdCBmcm9tIGZvbygpOiBgLCAkdm0udmFsdWUocmVzdWx0
KSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIGxldCByZXN1bHQgPSBmb28oKTsKKyAg
ICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmdW5j
dGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5jZXMgPSBbCisgICAgbWFrZVBvbHlQcm90
b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJv
dG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwK
KyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQ
b2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0lu
c3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRo
TnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90
eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCitdOworCitsZXQgcCA9IHVuZGVmaW5l
ZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoeC54ID09PSAyMCk7CisgICAg
YXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0
IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RhbmNlcy5sZW5ndGg7ICsraSkKKyAgICAgICAg
dmFsaWRhdGUoaW5zdGFuY2VzW2ldKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNo
aW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2Fj
aGluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9wLWlu
LWNhY2hpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1OSBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBiKSB7CisgICAgYXNz
ZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworbGV0IHN0YXJ0
ID0gRGF0ZS5ub3coKTsKKworbGV0IG9ianMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTA7
ICsraSkKKyAgICBvYmpzLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgpKTsKKworb2Jqcy5mb3JF
YWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjB9KSk7CisKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQor
ICAgICAgICB2YWxpZGF0ZShvYmosIHRydWUpOworfQorCitvYmpzLmZvckVhY2gob2JqID0+IFJl
ZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSkpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlKG9i
aiwgZmFsc2UpOworfQorCisKK2Z1bmN0aW9uIHZhbGlkYXRlMihvLCBiKSB7CisgICAgYXNzZXJ0
KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlMik7CisKK29ianMuZm9yRWFj
aChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIG51bGwpKTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAg
ICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVj
dC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjI1fSkpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlMihv
YmosIHRydWUpOworfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0
KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24uanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9u
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDggQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBt
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9
CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVy
biBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7Cisg
ICAgby5wID0gMjA7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgb2JqLl9fcHJvdG9fXyA9IG51bGw7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICJwIikpOworICAgIGFzc2VydChv
YmoucCA9PT0gMjApOworCit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7Cisg
ICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90b19fID0g
eyBzZXQgcCh4KSB7IGdsb2JhbCA9IHg7IH0gfTsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAg
YXNzZXJ0KCFvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KGdsb2JhbCA9PT0g
MjApOworICAgIGdsb2JhbCA9IG51bGw7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBwZXJmb3Jt
U2V0KG9iaik7CisgICAgYXNzZXJ0KG9iai5oYXNPd25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3Nl
cnQob2JqLnAgPT09IDIwKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0g
c3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5
cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIik7Cit9CisKK2xl
dCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7
CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsKKyAgICBnZXQgeSgpIHsgcmV0
dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9
OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIngiLCB7CisgICAg
Z2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30pOworCitmdW5jdGlvbiBmb28o
KSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
dGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQoby54ID09PSBwKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9vKCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOworCitmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpCisgICAgICAgIHZhbGlkYXRl
KGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFs
dGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgIH0KK30K
KworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3Rv
MjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgICAgICBhc3NlcnQoYS55
ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0
ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJ
KG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw2NiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAg
ICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0
IGNhbGxlZCA9IGZhbHNlOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSB4Owor
ICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQor
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0
dXJuIGZvbygpOworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsK
K30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAg
ICBpdGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZv
cm1TZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAg
ICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5fcCA9PT0gaSk7CisgICAg
ICAgIGFzc2VydChjYWxsZWQgPT09IHRydWUpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAg
ICB9Cit9CisKK2l0ZW1zLmZvckVhY2gobyA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZihvLCBudWxsKTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQg
byA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQo
by5wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gZmFsc2UpOworICAgIH0KK30K
KworaWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ2IEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xh
c3MgQyB7CisgICAgICAgIGdldCBiYXooKSB7IHJldHVybiB0aGlzLng7IH0KKyAgICB9CisgICAg
Qy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBuZXcgQzsKKyAgICByZXR1cm4gQzsKK30KKwor
Zm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgZm9vKCk7CisKK2Z1bmN0aW9uIGJhcihw
KSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgeworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLnggPSAyMjsKKyAgICAgICAgfQor
ICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsr
aSkKKyAgICBiYXIoZm9vKCkpOworCitsZXQgaW5zdGFuY2VzID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDQwOyArK2kpCisgICAgaW5zdGFuY2VzLnB1c2goYmFyKGZvbygpKSk7CisKK2Z1bmN0
aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCIpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ueCA9
PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmZp
ZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRh
dGUoeCkpOworfQoraWYgKHRydWUpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5k
ZXg6IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTMgQEAKK2xldCB5ID0gNDI7CitmdW5jdGlvbiBtYWtlUG9seVByb3RvSW5zdGFu
Y2UoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAg
ICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBD
LnByb3RvdHlwZS55ID0geTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKworICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9v
KCk7Cit9CisKK2xldCBwb2x5UHJvdG9JbnN0YW5jZSA9IG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgp
OworU3RyaW5nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK1N5bWJv
bC5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitsZXQgc3RyaW5ncyA9
IFsKKyAgICAiZm9vIiwKKyAgICBTeW1ib2woImZvbyIpLAorICAgICJiYXIiLAorICAgIFN5bWJv
bCgiYmFyIiksCitdOworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlvbiIpCit9Citub0lubGluZShhc3NlcnQp
OworCitmdW5jdGlvbiB2YWxpZGF0ZShzKSB7CisgICAgYXNzZXJ0KHMueCA9PT0gMjApOworICAg
IGFzc2VydChzLnkgPT09IHkpOworICAgIGFzc2VydChzLm5vbkV4aXN0ZW50UHJvcGVydHkgPT09
IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KHR5cGVvZiBzLmhhc093blByb3BlcnR5ID09PSAiZnVu
Y3Rpb24iKTsKKyAgICBhc3NlcnQocy5oYXNPd25Qcm9wZXJ0eSA9PT0gT2JqZWN0LnByb3RvdHlw
ZS5oYXNPd25Qcm9wZXJ0eSk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7CisgICAg
ICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KKworeSA9IDI3OworcG9seVByb3RvSW5zdGFuY2Uu
X19wcm90b19fID0ge3o6NDAwLCB5OiB5fTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytp
KSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOwor
ICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2Jq
ZWN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3Qt
anMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZv
bygpIHsKKyAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAgICAgIHRoaXMueCA9IDQyOworICAgIH0K
KyAgICBiYXIucHJvdG90eXBlID0gNTA7CisgICAgcmV0dXJuIG5ldyBiYXIoKTsKK30KKworZnVu
Y3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIik7Cit9CisKK2xldCBpdGVtcyA9IFsKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBm
b28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKK107CisKK2Z1bmN0aW9u
IHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRlbS5ub3RUaGVyZSA9PT0gdW5kZWZpbmVk
KTsKKyAgICBhc3NlcnQoaXRlbS54ID09PSA0Mik7CisgICAgYXNzZXJ0KGl0ZW0uX19wcm90b19f
ID09PSBPYmplY3QucHJvdG90eXBlKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVtcykKKyAgICAgICAgdmFsaWRhdGUoaXRl
bSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90
by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM2IEBACitmdW5jdGlvbiBhc3NlcnQoYiwg
bSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOwor
fQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygp
IHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9Cisg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1
cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHRyeUdldEJ5SWRUZXh0KHByb3BlcnR5TmFtZSkgeyBy
ZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkgeyByZXR1cm4gQHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJv
cGVydHlOYW1lfScpOyB9KWA7IH0KK2xldCBnZXRGb28gPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5
SWRUZXh0KCJmb28iKSk7CitsZXQgZ2V0QmFyID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4
dCgiYmFyIikpOworbGV0IGdldE5vbkV4aXN0ZW50RmllbGQgPSBjcmVhdGVCdWlsdGluKHRyeUdl
dEJ5SWRUZXh0KCJub25FeGlzdGVudEZpZWxkIikpOworCitsZXQgeCA9IG1ha2VQb2x5UHJvdG9P
YmplY3QoKTsKK3guX19wcm90b19fID0geyBmb286IDQyLCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7
IH0gfTsKK2xldCBiYXJHZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHgu
X19wcm90b19fLCAiYmFyIikuZ2V0OworYXNzZXJ0KHR5cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5j
dGlvbiIpOworYXNzZXJ0KGJhckdldHRlcigpID09PSAyMik7CisKK2Z1bmN0aW9uIHZhbGlkYXRl
KHgpIHsKKyAgICBhc3NlcnQoZ2V0Rm9vKHgpID09PSA0Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0
ZXJGcm9tR2V0dGVyU2V0dGVyKGdldEJhcih4KSkgPT09IGJhckdldHRlcik7CisgICAgYXNzZXJ0
KGdldE5vbkV4aXN0ZW50RmllbGQoeCkgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2YWxp
ZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUo
eCk7Cit9CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkocmV2aXNpb24gMjIy
NTc2KQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTM2LDcgKzM2LDcgQEAgYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5
cGVOYQogYXNzZXJ0KHR5cGVzLmluc3RydWN0aW9uVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09
ICJDIiwgInZhcmlhYmxlICd0aGVDJyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0MnIik7
CiAKIHR5cGVzID0gZmluZFR5cGVGb3JFeHByZXNzaW9uKHdyYXBwZXIsICJoaWVyYXJjaHlUZXN0
ID0gbmV3IEI7Iik7Ci1hc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUg
PT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlw
ZU5hbWUgJ0EnIik7Cithc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUg
PT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlw
ZU5hbWUgJ0EnIiArICIgYnV0IHdhczogIiArIHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5
cGVOYW1lKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJh
cmNoeVRlc3QgPSBuZXcgQzsiKTsKIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlU
eXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRp
c3BsYXlUeXBlTmFtZSAnQSciKTsKSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxvdy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtOSw2ICs5LDggQEAgdmFyIG9sZFByb3RvOwogZm9yICh2YXIgaSA9IDA7IGkg
PCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdzsgaSsrKSB7CiAgICAgLy8gTWFrZSBz
dXJlIHdlIGdldCBhIG5ldyBwcm90b3R5cGUgY2hhaW4gb24gZWFjaCBhc3NpZ25tZW50IHRvIHgg
YmVjYXVzZSBvYmplY3RzIHdpdGggc2hhcmVkIHByb3RvdHlwZSBjaGFpbnMgd2lsbCBiZSBtZXJn
ZWQuCiAgICAgeCA9IG5ldyBQcm90bzsKKyAgICB4WydmaWVsZCcgKyBpXSA9IDIwOworICAgIHgg
PSB4CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307CiAg
ICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKQEAgLTIw
LDYgKzIyLDggQEAgUHJvdG8gPSBmdW5jdGlvbigpIHt9Owogb2xkUHJvdG8gPSBudWxsOwogZm9y
ICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdyAtIDE7IGkr
KykgewogICAgIHkgPSBuZXcgUHJvdG87CisgICAgeVsnZmllbGQnICsgaV0gPSAyMDsKKyAgICB5
ID0geQogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlvbigpIHt9Owog
ICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5cGU7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyNyw2ICsyMjcs
NyBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01ldGhv
ZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nl
c3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5jcHAKK2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25k
aXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKIGJ5dGVj
b2RlL09wY29kZS5jcHAKQEAgLTIzNCw2ICsyMzUsNyBAQCBieXRlY29kZS9Qb2x5bW9ycGhpY0Fj
Y2Vzcy5jcHAKIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHAKIGJ5dGVjb2RlL1Byb2dy
YW1Db2RlQmxvY2suY3BwCiBieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKK2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAogYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5j
cHAKIGJ5dGVjb2RlL1B1dEJ5SWRGbGFncy5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3Bw
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1Myw2ICs5NTMsOTAgQEAg
dm9pZCBET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0OjpmaW5pc2hDcgogICAgIHB1dERpcmVjdE5h
dGl2ZUZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAiZnVuYyIpLCAwLCBzYWZlRnVuY3Rpb24sIE5vSW50cmluc2ljLCAmRE9NSklUQ2hlY2tTdWJD
bGFzc09iamVjdFNpZ25hdHVyZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSkpOwogfQogCitjbGFzcyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QgOiBw
dWJsaWMgRE9NSklUTm9kZSB7CitwdWJsaWM6CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0
dXJlKQorICAgIHsKKyAgICB9CisKKyAgICBERUNMQVJFX0lORk87CisgICAgdXNpbmcgQmFzZSA9
IERPTUpJVE5vZGU7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
QmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3Rv
dHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTQzo6SlNUeXBlKExhc3RKU0NPYmplY3RUeXBl
ICsgMSksIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgRE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKKyAgICB7CisgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogZ2V0dGVyID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0Pih2bS5oZWFw
LCBzaXplb2YoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSkpIERPTUpJVEdldHRlckJhc2VKU09i
amVjdCh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgZ2V0dGVyLT5maW5pc2hDcmVhdGlvbih2bSk7
CisgICAgICAgIHJldHVybiBnZXR0ZXI7CisgICAgfQorCisgICAgY2xhc3MgRE9NSklUQXR0cmli
dXRlIDogcHVibGljIERPTUpJVDo6R2V0dGVyU2V0dGVyIHsKKyAgICBwdWJsaWM6CisgICAgICAg
IGNvbnN0ZXhwciBET01KSVRBdHRyaWJ1dGUoKQorICAgICAgICAgICAgOiBET01KSVQ6OkdldHRl
clNldHRlcigKKyAgICAgICAgICAgICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmN1c3Rv
bUdldHRlciwKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICAgICAgICAgICZjYWxsRE9NR2V0dGVy
LAorI2Vsc2UKKyAgICAgICAgICAgICAgICBudWxscHRyLAorI2VuZGlmCisgICAgICAgICAgICAg
ICAgU3BlY0ludDMyT25seSkKKyAgICAgICAgeworICAgICAgICB9CisKKyNpZiBFTkFCTEUoSklU
KQorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBzbG93Q2FsbChF
eGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RhdGljX2Nh
c3Q8SlNPYmplY3QqPihwb2ludGVyKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUob2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgICAgIH0KKworICAgICAgICBz
dGF0aWMgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNhbGxET01HZXR0ZXIoKQor
ICAgICAgICB7CisgICAgICAgICAgICBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4g
c25pcHBldCA9IERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ6OmNyZWF0ZSgpOworICAgICAg
ICAgICAgc25pcHBldC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9IGZhbHNlOworICAgICAgICAgICAg
c25pcHBldC0+c2V0R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBlcnMmIGppdCwgU25pcHBldFBhcmFt
cyYgcGFyYW1zKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0cyA9IHBhcmFt
c1swXS5qc1ZhbHVlUmVncygpOworICAgICAgICAgICAgICAgIEdQUlJlZyBkb20gPSBwYXJhbXNb
MV0uZ3ByKCk7CisgICAgICAgICAgICAgICAgcGFyYW1zLmFkZFNsb3dQYXRoQ2FsbChqaXQuanVt
cCgpLCBqaXQsIHNsb3dDYWxsLCByZXN1bHRzLCBkb20pOworICAgICAgICAgICAgICAgIHJldHVy
biBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KCk7CisKKyAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgcmV0dXJuIHNuaXBwZXQ7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisKK3ByaXZhdGU6
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworCisgICAgc3RhdGljIEVuY29kZWRKU1Zh
bHVlIGN1c3RvbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0s
IEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQodGhp
c09iamVjdCk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdC0+Z2V0
UHJvdG90eXBlRGlyZWN0KCkpOworICAgIH0KK307CisKK3N0YXRpYyBjb25zdCBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RE
T01KSVQ7CisKK3ZvaWQgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGNvbnN0IERPTUpJ
VDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0RE9NSklU
OworICAgIGF1dG8qIGN1c3RvbUdldHRlclNldHRlciA9IERPTUF0dHJpYnV0ZUdldHRlclNldHRl
cjo6Y3JlYXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBudWxscHRyLCBET01BdHRyaWJ1dGVBbm5v
dGF0aW9uIHsgSlNPYmplY3Q6OmluZm8oKSwgZG9tSklUIH0pOworICAgIHB1dERpcmVjdEN1c3Rv
bUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbUdldHRlciIp
LCBjdXN0b21HZXR0ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nvcik7Cit9CisKIGNvbnN0IENsYXNzSW5mbyBFbGVt
ZW50OjpzX2luZm8gPSB7ICJFbGVtZW50IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0
ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShFbGVtZW50KSB9OwogY29uc3QgQ2xhc3NJbmZvIE1hc3F1
ZXJhZGVyOjpzX2luZm8gPSB7ICJNYXNxdWVyYWRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFzcXVlcmFkZXIpIH07CiBjb25zdCBDbGFz
c0luZm8gUm9vdDo6c19pbmZvID0geyAiUm9vdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsKQEAgLTk2NSw2ICsxMDQ5LDcgQEAg
Y29uc3QgQ2xhc3NJbmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9IHsgIgogI2VuZGlmCiBjb25zdCBD
bGFzc0luZm8gRE9NSklUR2V0dGVyOjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXIiLCAmQmFzZTo6
c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRl
cikgfTsKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXJDb21wbGV4OjpzX2luZm8gPSB7ICJE
T01KSVRHZXR0ZXJDb21wbGV4IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JF
QVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJDb21wbGV4KSB9OworY29uc3QgQ2xhc3NJbmZv
IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAjaWYgRU5BQkxFKEpJVCkKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRGdW5jdGlvbk9iamVjdDo6c19pbmZvID0geyAiRE9NSklURnVuY3Rp
b25PYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCAmRE9NSklURnVuY3Rpb25PYmplY3Q6
OmNoZWNrU3ViQ2xhc3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEZ1bmN0aW9u
T2JqZWN0KSB9OwogI2Vsc2UKQEAgLTEwNTcsNiArMTE0Miw4NCBAQCBwcml2YXRlOgogICAgIERl
cXVlPFN0cmluZz4gbV9yZXBvcnRzOwogfTsKIAorY2xhc3MgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0
dGVyIDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgeworcHVibGljOgorICAgIHVzaW5nIEJhc2Ug
PSBKU05vbkZpbmFsT2JqZWN0OworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCisgICAgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0
dGVyKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3Ry
dWN0dXJlKQorICAgIHsgfQorCisgICAgc3RhdGljIEpTVGVzdEN1c3RvbUdldHRlclNldHRlciog
Y3JlYXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAg
ICB7CisgICAgICAgIEpTVGVzdEN1c3RvbUdldHRlclNldHRlciogcmVzdWx0ID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8SlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyPih2bS5oZWFwLCBzaXpl
b2YoSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKSkpIEpTVGVzdEN1c3RvbUdldHRlclNldHRlcih2
bSwgc3RydWN0dXJlKTsKKyAgICAgICAgcmVzdWx0LT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYg
dm0pOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlw
ZSgpLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAg
fQorCisgICAgREVDTEFSRV9JTkZPOworfTsKKworCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3Vz
dG9tR2V0QWNjZXNzb3IoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpCit7CisgICAgLy8gUGFzc2VkIHx0aGlzfAorICAgIHJldHVybiB0aGlzVmFsdWU7
Cit9CisKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjdXN0b21HZXRWYWx1ZShFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RWYWx1ZSwgUHJvcGVydHlOYW1lKQoreworICAgIFJFTEVB
U0VfQVNTRVJUKEpTVmFsdWU6OmRlY29kZShzbG90VmFsdWUpLmluaGVyaXRzKGV4ZWMtPnZtKCks
IEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6aW5mbygpKSk7CisgICAgLy8gUGFzc2VkIHByb3Bl
cnR5IGhvbGRlci4KKyAgICByZXR1cm4gc2xvdFZhbHVlOworfQorCitzdGF0aWMgYm9vbCBjdXN0
b21TZXRBY2Nlc3NvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNPYmplY3Qs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgp
OworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlzT2JqZWN0KCkpOworICAgIEpTT2JqZWN0KiBvYmpl
Y3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qob2JqZWN0KTsK
KyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZt
LCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29kZSh0aGlzT2JqZWN0KSwgc2xvdCk7CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGJvb2wgY3VzdG9tU2V0VmFsdWUoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90VmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworCisgICAgUkVMRUFTRV9BU1NFUlQoSlNW
YWx1ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhlYy0+dm0oKSwgSlNUZXN0Q3VzdG9t
R2V0dGVyU2V0dGVyOjppbmZvKCkpKTsKKworICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKTsKKyAgICBSRUxFQVNFX0FTU0VSVCh2YWx1ZS5pc09iamVjdCgp
KTsKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KG9iamVjdCk7CisgICAgb2JqZWN0LT5wdXQob2JqZWN0LCBleGVjLCBJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgInJlc3VsdCIpLCBKU1ZhbHVlOjpkZWNvZGUoc2xvdFZh
bHVlKSwgc2xvdCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXI6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBwdXREaXJlY3RDdXN0
b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21WYWx1ZSIp
LAorICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgY3VzdG9tR2V0VmFsdWUs
IGN1c3RvbVNldFZhbHVlKSwgMCk7CisgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tQWNjZXNzb3IiKSwKKyAgICAgICAgQ3Vz
dG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGN1c3RvbUdldEFjY2Vzc29yLCBjdXN0b21TZXRB
Y2Nlc3NvciksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IpKTsKK30KKworY29uc3QgQ2xhc3NJbmZvIEpTVGVzdEN1c3RvbUdldHRlclNldHRl
cjo6c19pbmZvID0geyAiSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyIiwgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIpIH07CisKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
Q3JlYXRlUHJveHkoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkNyZWF0ZVJ1bnRpbWVBcnJheShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlSW1wdXJlR2V0dGVyKEV4ZWNT
dGF0ZSopOwpAQCAtMTA2Niw2ICsxMjI5LDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuYwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRGdW5jdGlvbk9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdChFeGVjU3RhdGUqKTsKK3N0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVCdWlsdGluKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEltcHVy
ZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSopOwpAQCAtMTE3Nyw2ICsxMzQxLDggQEAgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25XYWl0Rm9yUmVwb3J0KEV4ZWNTdGF0ZSopOwogc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25IZWFwQ2FwYWNpdHkoRXhlY1N0
YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYXNo
SGVhcEFjY2VzcyhFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKik7CitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RH
ZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKik7CiAKIHN0cnVjdCBTY3JpcHQgewogICAgIGVudW0gY2xh
c3MgU3RyaWN0TW9kZSB7CkBAIC0xMzgyLDYgKzE1NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0
aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0
aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJ
VEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01K
SVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNz
T2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7
CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRl
QnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0
IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2
bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxl
Z2F0ZSwgMik7CkBAIC0xNDY2LDYgKzE2MzMsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgYWRk
RnVuY3Rpb24odm0sICJoZWFwQ2FwYWNpdHkiLCBmdW5jdGlvbkhlYXBDYXBhY2l0eSwgMCk7CiAg
ICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZmxhc2hIZWFwQWNjZXNzIiwgZnVuY3Rpb25GbGFzaEhl
YXBBY2Nlc3MsIDApOworCisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAibG9hZEdldHRlckZyb21H
ZXR0ZXJTZXR0ZXIiLCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyLCAxKTsKKyAg
ICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyIiwgZnVu
Y3Rpb25DcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyLCAxKTsKICAgICB9CiAgICAgCiAgICAg
dm9pZCBhZGRGdW5jdGlvbihWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG5h
bWUsIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCB1bnNpZ25lZCBhcmd1bWVudHMpCkBAIC0yMTE1
LDYgKzIyODUsMTYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVj
U3RhdGUqIGV4ZWMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xk
ZXIgbG9jayh2bSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
LCBqc051bGwoKSk7CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMjgzMiw2ICszMDEyLDI0IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25GbGEKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQoreworICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoZXhlYy0+YXJndW1lbnRD
b3VudCgpID49IDEpOworICAgIEdldHRlclNldHRlciogZ2V0dGVyU2V0dGVyID0ganNEeW5hbWlj
Q2FzdDxHZXR0ZXJTZXR0ZXIqPih2bSwgZXhlYy0+YXJndW1lbnQoMCkpOworICAgIFJFTEVBU0Vf
QVNTRVJUKGdldHRlclNldHRlcik7CisgICAgSlNPYmplY3QqIGdldHRlciA9IGdldHRlclNldHRl
ci0+Z2V0dGVyKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoZ2V0dGVyKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGdldHRlcik7Cit9CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBK
U1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0
KSkpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGU+CiB0eXBlbmFtZSBzdGQ6OmVu
YWJsZV9pZjwhc3RkOjppc19mdW5kYW1lbnRhbDxWYWx1ZVR5cGU+Ojp2YWx1ZT46OnR5cGUgYWRk
T3B0aW9uKFZNJiwgSlNPYmplY3QqLCBJZGVudGlmaWVyLCBWYWx1ZVR5cGUpIHsgfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNTksNiArMTA1OSw3IEBACiAJCTc5MTlCNzgwMUUwMzU1OUMw
MDVCRUVEOCAvKiBCM0NvbXBpbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDc5MTlCNzdGMUUwMzU1OUMwMDVCRUVEOCAvKiBCM0NvbXBpbGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTIzM0MyQjFE
MzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElD
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzky
Q0IzNEExQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTJDQjM0ODFDNEVFRDVDMDBEMTNB
RjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NjQ2NTZB
MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTc5NjVDMjE3MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhD
b2xvcmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Nzk2NUMyMTUxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENv
bG9yaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzk2REFBMkIxRTg5Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NkRBQTJBMUU4OUNDRDYwMDVERjI0
QSAvKiBDYWxsZWVCaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTM0OTgsNiArMzQ5OSw4IEBACiAJCTc5MjMzQzI5MUQzNDcxNTcwMEM1QTgz
NCAvKiBKSVRNYXRoSUMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUTWF0
aElDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5MkNCMzQ3MUM0RUVENUMwMEQx
M0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTc5MkNCMzQ4MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQQ1RvQ29kZU9yaWdpbk1hcC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJv
dG90eXBlQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvdG90eXBlQWNjZXNz
Q2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OTQ1NzVDRDFGNzM0OTcy
MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvdG90
eXBlQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk1RjA5OUMx
RTAzNjAwNTAwQkJFMzdGIC8qIEIzQ29tcGlsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBCM0NvbXBpbGUuY3BwOyBwYXRoID0gYjMvQjNDb21waWxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdl
dFB1dEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2V0UHV0SW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY1QzIxNDFFNUQ3OTk2MDBCNzU5MUQg
LyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3Jp
bmcuY3BwOyBwYXRoID0gYjMvYWlyL0FpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5n
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTczNjUsNiArNzM2OCw4IEBACiAJ
CQkJMTRBRDkxMEExRENBOTI5NDAwMTRGOUZFIC8qIFByb2dyYW1Db2RlQmxvY2suaCAqLywKIAkJ
CQkwRkQzRTQwNzFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24uY3BwICovLAog
CQkJCTBGRDNFNDA4MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5oICovLAor
CQkJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAg
Ki8sCisJCQkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWlu
LmggKi8sCiAJCQkJMEYxNUNEMjAxQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5jcHAg
Ki8sCiAJCQkJMEYxNUNEMjExQkE1Rjk4NjAwMzFGRkQzIC8qIFB1dEJ5SWRGbGFncy5oICovLAog
CQkJCTBGOTMzMjk5MTRDQTdEQzEwMDg1RjNDNiAvKiBQdXRCeUlkU3RhdHVzLmNwcCAqLywKQEAg
LTg1NTQsNiArODU1OSw3IEBACiAJCQkJQTFCOUUyM0UxQjRFMEQ2NzAwQkM3RkVEIC8qIEludGxD
b2xsYXRvclByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE4MTkzRTQxQjRFMENEQjAw
RkMxMDI5IC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNTg3RDZFMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3ND
aGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzAxQjREQzE0MTAwRDY5ODQ5IC8qIElu
dGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3
NTFCNERDMUM2MDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IubHV0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MjFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVU
aW1lRm9ybWF0UHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklF
UlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAog
U3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsgIlByaXZh
dGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1ib2xJbXBs
OjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlByaXZhdGVT
eW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJT
X0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIGV4dGVy
biBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7CitleHRl
cm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFt
ZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKG5hbWUp
IG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1wbCgpLCAm
bV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1P
Tl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9C
VUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmllcjo6ZnJv
bVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFtZShJZGVu
dGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OmRv
bGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3lt
Ym9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAgIEpTQ19G
T1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElD
X0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9Q
RVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0yMzgsNiAr
MjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNf
RUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9fUFJJVkFU
RV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFyVk1Qcml2
YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGljVG9Qcml2
YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0ZU5hbWUp
OworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvKTsKKyAg
ICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNj
b3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAgICAgfQog
CiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRlbnRpZmll
ciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09NTU9OX1BS
SVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5f
U1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1QdWJs
aWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25zdCBKU0M6
OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxh
clZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRl
TmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZpZXI7CkBA
IC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9MUykKICAg
ICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6OklkZW50aWZp
ZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVm
UHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZpZXJSZXBI
YXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGljVG9Qcml2
YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBBY2Nlc3ND
YXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1B
Y2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2FzZTo6QWNj
ZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vz
c0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwg
bV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbihXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51bGwodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9uU2V0Owog
fQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNy
ZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBj
YXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBicmVhazsKICAgICBjYXNlIEFy
cmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0QXJndW1l
bnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgTW9k
dWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVjdHVyZSA9
PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNv
bmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3
IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBBY2Nl
c3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyArMTM4LDggQEAgVmVjdG9yPFdhdGNocG9p
bnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4g
cmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVlZEltcHVy
ZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1w
dXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJ
bXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAgICB8fCAobV9wcm90b3R5cGVBY2Nlc3ND
aGFpbiAmJiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBv
aW50KCkpKQogICAgICAgICByZXN1bHQuYXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRTZXRGb3JJ
bXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkKQEAgLTE1
MSw2ICsxNTUsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrCiAg
ICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChtX3By
b3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBzd2l0Y2gg
KG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6
CkBAIC0yMTAsNiArMjE3LDE5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25zdCBB
Y2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpID09
IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVmYXVsdDoK
KyAgICAgICAgaWYgKG90aGVyLnR5cGUoKSAhPSB0eXBlKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAg
ICAgIGlmICghb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNrIHdlIG5l
ZWQgc2luY2UgUHJvdG90eXBlQWNjZXNzQ2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3RydWN0dXJl
LgorICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBvbmx5IHRo
ZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xsIGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAgICAgICAg
IC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAgcmV0dXJu
IHN0cnVjdHVyZSgpID09IG90aGVyLnN0cnVjdHVyZSgpCisgICAgICAgICAgICAgICAgJiYgKm1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW47Cisg
ICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkgfHwgIW90
aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTIxOSwyMiArMjM5LDI3IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShjb25z
dCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJcbiIsIG1f
dHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQucHJpbnQo
Y29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQotICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUo
KSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNlIGlmICht
X3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9p
bnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG1f
b2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9vZmZzZXQp
OwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQucHJpbnQo
Y29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJvdG90eXBl
IGFjY2VzcyBjaGFpbiA9ICIpOworICAgICAgICBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5kdW1w
KHN0cnVjdHVyZSgpLCBvdXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtX3R5cGUgPT0g
VHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIs
IHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1
cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAgIG91dC5w
cmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgp
KSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnByaW50KCIp
Iik7CiB9CkBAIC0yNDMsNiArMjY4LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRXZWFrKFZN
JiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFya2VkKG1f
c3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAoIUhlYXA6
OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0yNzMsNiAr
MzA0LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wKICAgICBp
ZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAg
ICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hh
aW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0
b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFuc2l0aW9u
OgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1cmUtPnBy
ZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwOCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVy
YXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYgKHZpYVBy
b3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAg
ICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
Q2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQotICAgICAg
ICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6
OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgaWYgKG1f
cHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNz
R1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRlLmJhc2VH
UFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bi0+Zm9yRWFjaChzdHJ1Y3R1cmUoKSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCBh
dEVuZCkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgp
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAg
IGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBNaXNzIHx8
IG1fdHlwZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmICFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3Ig
YSBNaXNzL0luTWlzcy9UcmFuc2l0aW9uLCB3ZSBtdXN0IGVuc3VyZSB3ZSdyZSBhdCB0aGUgZW5k
IHdoZW4gdGhlIGxhc3QgaXRlbSBpcyBwb2x5IHByb3RvLgorICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gVHJhbnNpdGlvbnMgbXVzdCBkbyB0aGlzIGJlY2F1c2UgdGhleSBuZWVkIHRvIHZlcmlm
eSB0aGVyZSBpc24ndCBhIHNldHRlciBpbiB0aGUgY2hhaW4uCisgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBNaXNzL0luTWlzcyBuZWVkIHRvIGRvIHRoaXMgdG8gZW5zdXJlIHRoZXJlIGlzbid0
IGEgbmV3IGl0ZW0gYXQgdGhlIGVuZCBvZiB0aGUgY2hhaW4gdGhhdAorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gaGFzIHRoZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zm
c2V0UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02
NChWYWx1ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSk7
CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsgLy8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBzdG9y
ZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJvdG90eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAgICAg
ICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5
UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlz
SW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2
NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhi
YXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0
LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6
OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkp
OworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlw
ZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOworCisgICAgICAgICAgICAgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9m
ZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBl
bmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
SURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQo
KSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0gfTsKQEAgLTQyOCw2ICs1MDIsOCBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgQVNTRVJUKG1f
Y29uZGl0aW9uU2V0LnN0cnVjdHVyZXNFbnN1cmVWYWxpZGl0eUFzc3VtaW5nSW1wdXJlUHJvcGVy
dHlXYXRjaHBvaW50KCkpOwogCiAgICAgZm9yIChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biYgY29uZGl0aW9uIDogbV9jb25kaXRpb25TZXQpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IW1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gY29uZGl0aW9uLm9iamVjdCgpLT5zdHJ1Y3R1cmUoKTsKIAogICAgICAgICBpZiAoY29uZGl0
aW9uLmlzV2F0Y2hhYmxlQXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkgewpAQCAt
NTAzLDE0ICs1NzksMjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2Vu
ZQogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBiYXNlR1BSOwog
CisgICAgICAgIGlmIChtX3R5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIpIHsKKyAgICAgICAgICAg
IGRhdGFMb2dMbigiRW1pdHRpbmcgY3VzdG9tIHZhbHVlIHNldHRlci4gSGFzIHBvbHkgcHJvdG86
ICIsICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisgICAgICAgIH0KKwogICAgICAgICBHUFJS
ZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0
Y2hHUFIpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAg
ICAgLy8gVGhpcyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5l
cmF0ZVdpdGhHdWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNj
ZXNzIGluc2lkZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAg
ICAgICAgICAvLyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9h
ZCB0aGUgYmFzZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNo
R1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNl
Rm9yR2V0R1BSOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlv
blNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNj
cmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BS
OworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9
IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVH
UFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0
dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
VmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2
LDcgKzExMDIsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAg
ICAgICAgIAogICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2Ug
bmVlZCB0byBlbnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIg
dXMuIE5vdGUgdGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28g
d2UganVzdCBuZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBp
dC4KICAgICAgICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1
Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRy
LCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0
cik7CiAKICAgICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5z
aXRpb25zLgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZN
JiwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJl
LAotICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0Nl
bGwqIG93bmVyLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQ
cm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3Byb3RvdHlwZUFjY2Vzc0No
YWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2Um
KSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOworICAgIEFj
Y2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBB
Y2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAg
ICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29m
ZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAg
LCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlm
IChvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAg
fQorCiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0
ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAg
LTIyNyw2ICsyNDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
c3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25T
ZXQ7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNb
b3BMZW5ndGggLSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsg
b3BMZW5ndGggLSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAg
bV9nbG9iYWxPYmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5
cGUoKSwgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlk
U3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkg
QEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAg
Y29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAg
ICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJ
ZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51
c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xv
d1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAot
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vz
c1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlv
bmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShW
TSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRk
aXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwg
b3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVBy
b3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAg
ICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNl
KTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9u
YWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9t
QXR0cmlidXRlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpA
QCAtNjMsMTggKzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0
ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5p
cXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFj
Y2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRy
aWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRl
cjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3Rv
bVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3Rv
bVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6
dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFs
c2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWlu
KSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNl
dHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTYgKzQ4LDEyIEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAg
ICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2Us
Ci0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAg
ICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0
KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0
cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4sIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxw
dHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAgICAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5j
ID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAKICAgICB2
b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7
CkBAIC02Nyw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNv
bnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAg
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFj
Y2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2Zp
bGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlv
bkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVj
dCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFt
X3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVj
dHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTog
SW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRp
biB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2Fz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiog
aW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVy
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIs
IEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0
cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1
bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5z
aWNHZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAg
ICAgdm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisg
ICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1
bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5j
cHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9N
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgs
NyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVs
ZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVz
cGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBt
b2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZt
LCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVO
YW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsK
ICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3Bh
Y2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3Ip
Cit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7
CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdv
aW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAg
ICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8g
b2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc1MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgaWYgKGNvbnN0cnVjdG9y
KSB7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9y
LT5qc0V4ZWN1dGFibGUoKTsKKworICAgICAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0
cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSktPmVu
c3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICBib29sIHBhcmVudFByb3RvdHlw
ZUlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIGlmIChKU09iamVjdCogcHJvdG90eXBlT2ZQ
cm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZS0+Z2V0UHJv
dG90eXBlRGlyZWN0KCkpKSB7CisgICAgICAgICAgICBpZiAocHJvdG90eXBlT2ZQcm90b3R5cGUt
PnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmVSYXJlRGF0YSogcmFyZURhdGEgPSBwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZt
KS0+cmFyZURhdGEoKTsKKyAgICAgICAgICAgICAgICBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90
byA9IHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yKCkgJiYgcmFyZURhdGEtPmluZmVycmVk
Q29uc3RydWN0b3IoKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKworICAgICAgICBpbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29u
c3RydWN0b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRp
b25Qcm9maWxlIik7CisKKyAgICAgICAgaXNQb2x5UHJvdG8gPSAoaW5mZXJyZWRDb25zdHJ1Y3Rv
ci0+aGFzQmVlbkludmFsaWRhdGVkKCkgfHwgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8pICYm
IGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOwor
ICAgICAgICBpZiAoT3B0aW9uczo6Zm9yY2VQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9s
eVByb3RvID0gdHJ1ZTsKKworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAg
IGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0
cnVjdHVyZSgpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50
eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0s
IG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBz
dHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUg
b2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOwor
CisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8g
RW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXpl
ciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1
bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBK
U0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8g
RGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0g
dG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVj
dC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFj
aXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKwor
ICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNp
dHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFp
bGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBz
aXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBz
aXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0g
c2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgp
LT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwor
ICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBl
LT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5h
bWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRl
U3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJv
cGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlv
bk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0
b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0
RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9u
cyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFy
ZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+
KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50Owor
CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1f
c3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNp
Z25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2Fs
bG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQo
IW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0g
MDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0
aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90
eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAg
ICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhl
IHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUg
cmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1
bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2Vh
ayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAg
ICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZl
cnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAg
ICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmpl
Y3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBj
YXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0
b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAt
IGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVN
YXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVy
IHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0
ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRv
ciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0
dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0K
KyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsK
IAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0g
MDsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5j
bGVhcigpOwogICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlz
TnVsbCgpKTsKQEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1
bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHBy
b3RvdHlwZSkKLSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9i
YWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQot
ICAgICAgICBzaXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9w
ZXJ0eU5hbWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQ
cml2YXRlU3ltYm9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJl
KCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwg
RW51bWVyYXRpb25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3Bl
cnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0
YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUg
dmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsK
LQotICAgICAgICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBj
bGFzcy1sZXZlbCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAg
aWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gY291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3Bl
cnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9j
YXRvciogbV9hbGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBm
b3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1
cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNh
c2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uKCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjph
YnNlbmNlKAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAg
ICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93
bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCkpOwogICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTIgQEAgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0
J3MgYSBwcm94eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAg
ICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAg
ICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM5LDcgKzMzOSw3IEBAIEFjY2Vzc0dl
bmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNBY2Nl
c3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1f
bGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2VuZXJh
dGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0s
IGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhpczsK
ICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDE0ICsxNzEsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0
cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShW
TSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9i
amVjdChnbG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2Fs
bEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVS
ZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0
ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxP
YmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9
OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hS
ZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJT
dGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRp
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTA3LDYgKzEwNywxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJ
IHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRo
aXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3Vs
ZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5k
IHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0K
KwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRD
b25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAoY3VycmVudE9mZnNldCAhPSBpbnZhbGlk
T2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVy
Ym9zZSkKQEAgLTEzMiw2ICsxNDAsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGls
bFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSBpdCdz
IGEgZGljdGlvbmFyeS5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAg
ICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNh
biBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNl
LiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAg
ICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBjdXJyZW50QXR0
cmlidXRlczsKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVy
ZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpLCBjdXJyZW50QXR0cmlidXRlcyk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyMiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1
ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3Qu
aXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4gY3JlYXRl
KGdsb2JhbE9iamVjdCwgYmFzZSwgdGFyZ2V0LCB1c2VzUG9seVByb3RvKTsKK30KKworc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3Qq
IHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBi
YXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNl
OworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1bHQobmV3IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwor
CisgICAgZm9yICh1bnNpZ25lZCBpdGVyYXRpb25OdW1iZXIgPSAwOyB0cnVlOyArK2l0ZXJhdGlv
bk51bWJlcikgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnByb3BlcnR5QWNjZXNzZXNBcmVD
YWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0Jl
ZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNP
YmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVG8gc2F2ZSBtZW1vcnks
IHdlIGRvbid0IGluY2x1ZGUgdGhlIGJhc2UgaW4gdGhlIGNoYWluLiBXZSBsZXQKKyAgICAgICAg
Ly8gQWNjZXNzQ2FzZSBwcm92aWRlIHRoZSBiYXNlIHRvIHVzIGFzIG5lZWRlZC4KKyAgICAgICAg
aWYgKGl0ZXJhdGlvbk51bWJlcikKKyAgICAgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQo
c3RydWN0dXJlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY3Vy
cmVudCA9PSBiYXNlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAg
ICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3Vy
IHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRo
ZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0
aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAor
ICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
c3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAg
ICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5k
ICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdh
dGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2No
YWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90
eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWluID09IG90
aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAoU3RydWN0
dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91dC5w
cmludCgiUG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgb3V0LnByaW50KCI6IFtcbiIp
OworICAgIGZvckVhY2goYmFzZVN0cnVjdHVyZSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCkgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVt
cChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAgfSk7Cit9CisKK30KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nl
c3NDaGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFz
cyBKU0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90Owor
Y2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvdG90eXBl
QWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90
eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hl
biBpbnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRhcmdldCwgYm9vbCYg
dXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3QgVmVjdG9yPFN0cnVj
dHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAgIHZvaWQgZHVt
cChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisg
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29u
c3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhl
cikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9
CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdDsKKworICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9yRWFjaChTdHJ1Y3R1cmUqIGJh
c2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0CisgICAgeworICAgICAgICBib29s
IGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5jKGJhc2VTdHJ1Y3R1cmUsIGF0
RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhaW4uc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9jaGFpbi5zaXplKCk7CisgICAg
ICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAgICAgfQorICAgIH0KKworcHJp
dmF0ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKworICAgIC8vIFRo
aXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBvbiBBY2Nlc3NDYXNlIHByb3Zp
ZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisgICAgLy8gc3RydWN0dXJlIGlz
IHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3aXRoLgorICAgIFZlY3RvcjxT
dHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRpdGlvbmFs
U2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQ
cm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VS
VCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAg
ICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3ND
YXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlh
UHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94
eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94
eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAgIHR5cGVk
ZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAg
Ym9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAg
ICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQ
cm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAog
cHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsK
KyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3ZpYVBy
b3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlk
U3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDgg
QEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAg
Y29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAgICAgICBpZiAo
YWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMo
c2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsKICAgICAgICAg
ICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzM3LDYgKzM3MzcsMTEg
QEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAgICAgICAgICAgICAgICAgLy8gdGhlIHN0
cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJlU2V0KCkgYWdyZWUgb24gdGhlIHByb3Rv
dHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAvLyBoaWxhcmlvdXNseSByYXJlIGlm
IHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSByZWx5aW5nIG9uIHN0cnVjdHVyZVNldCgp
IGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxlYXN0IG9uZSBlbGVtZW50LiBUaGF0IHdp
bGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9mIGhvdyBHZXRCeUlkU3RhdHVzL1B1dEJ5
SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiByaWdodCBub3csIGlm
IHdlIGhhdmUgYW4gT1BDUywgd2UgaGF2ZSBtb25vIHByb3RvLiBIb3dldmVyLCB0aGlzIHdpbGwK
KyAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZSBvbmNl
IHdlIGhhdmUgYSBoeWJyaWQgZGF0YSBzdHJ1Y3R1cmUgZm9yCisgICAgICAgICAgICAgICAgLy8g
cG9seSBwcm90bzoKKyAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CiAgICAgICAgICAgICAgICAgSlNPYmplY3QqIHByb3RvdHlw
ZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwog
ICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0cnVlOwogICAgICAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0cnVjdHVyZVNldCgpLnNpemUoKTsgKytp
KSB7CkBAIC00MzM0LDEyICs0MzM5LDE2IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxv
Y2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5jdGlvbikgewogICAgICAgICAgICAgICAg
IGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRh
LT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3Jh
cGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMg
c3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAgICAgICAgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFw
aChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkp
KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2Nh
dGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShy
YXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBv
aW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2Fs
bGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJ
bmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJvb2wgR3JhcGg6OmNhbkRvRmFz
dFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlwZSogYXJyYXlQcm90b3R5cGUg
PSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdpbi5zZW1hbnRpYyktPmFycmF5
UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICB2YWx1ZS5tX3N0cnVj
dHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBzdHJ1Y3R1cmUpIHsKLSAgICAg
ICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90
eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKQor
ICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3Rv
dHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkKICAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVydHlOYW1lcy0+aXRl
cmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAgICAgICAmJiAhc3Ry
dWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ3Jl
YXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5jdGlvblR5cGUpIHsK
ICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3Ip
LT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmpl
Y3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgp
KTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiByZXN1bHQgPSBj
b25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rpb24qPihj
b25zdHJ1Y3RvciktPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOworICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rv
ci0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMDAsNyArNDMwMCw5IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1f
aml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAg
ICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1
bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsK
ICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwg
RnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIp
OworCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNz
ZW1ibGVyOjpaZXJvLCBhbGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09i
amVjdChyZXN1bHRHUFIsIG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVz
dGVkSW1tUHRyKDApLCBzY3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6
b2Zmc2V0T2ZSYXJlRGF0YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlUHV0QnlWYWxGb3JDCiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcs
IEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJS
ZWcpCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2Rl
KiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJl
ZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hl
Y2sgdGhhdCBwcm90b3R5cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFk
VHlwZSwgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBl
UmVnKSk7CkBAIC0zMjQ5LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2ZGbwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0
LmJyYW5jaDgoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhzY3JhdGNoUmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3Rl
ZEltbTMyKFByb3h5T2JqZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCpt
X2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9q
aXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAg
ICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRj
aDNSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAvL21faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQ
YXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQubG9hZDY0KE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwg
c2NyYXRjaDNSZWcpOworICAgIGF1dG8gbm90UG9seVByb3RvID0gbV9qaXQuYnJhbmNoSWZOb3RJ
bnQzMihKU1ZhbHVlUmVncyhzY3JhdGNoM1JlZykpOworICAgIG1faml0Lnplcm9FeHRlbmQzMlRv
UHRyKHNjcmF0Y2gzUmVnLCBzY3JhdGNoM1JlZyk7CisgICAgbV9qaXQubG9hZDY0KEpJVENvbXBp
bGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIEpJVENvbXBpbGVyOjpUaW1l
c0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCBzY3JhdGNoM1JlZyk7
CisgICAgbm90UG9seVByb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5tb3ZlKHNjcmF0Y2gz
UmVnLCBzY3JhdGNoUmVnKTsKKwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzSW5zdGFuY2Ug
PSBtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6OkVxdWFsLCBzY3JhdGNoUmVnLCBwcm90
b3R5cGVSZWcpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9qaXQuYnJhbmNoSWZDZWxsKEpT
VmFsdWVSZWdzKHNjcmF0Y2hSZWcpKS5saW5rVG8obG9vcCwgJm1faml0KTsKQEAgLTMzODEsMTAg
KzMzODgsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAg
ICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm90b3R5cGUodGhpcywgbm9kZS0+Y2hpbGQyKCkp
OwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9y
YXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDModGhpcyk7
CiAgICAgICAgIAogICAgICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigp
OwogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgICAgIEdQ
UlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgICAgICBHUFJSZWcgc2NyYXRj
aDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAgICAgCiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpKdW1wIGlzQ2VsbCA9IG1faml0LmJyYW5jaElmQ2VsbCh2YWx1ZS5qc1ZhbHVlUmVncygpKTsK
ICAgICAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuanNWYWx1ZVJlZ3MoKS5wYXlsb2FkR1BS
KCk7CkBAIC0zMzk0LDcgKzM0MDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5z
dGFuY2VPZihOCiAgICAgICAgIAogICAgICAgICBpc0NlbGwubGluaygmbV9qaXQpOwogICAgICAg
ICAKLSAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHBy
b3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgICAgICBjb21waWxlSW5z
dGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVn
LCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogICAgICAgICAKICAgICAgICAgZG9uZS5saW5r
KCZtX2ppdCk7CiAKQEAgLTM0MDcsMTMgKzM0MTYsMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUluc3RhbmNlT2YoTgogICAgIAogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMp
OwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaDModGhpcyk7CiAgICAgCiAgICAgR1BSUmVnIHZhbHVlUmVnID0gdmFsdWUuZ3ByKCk7CiAg
ICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICBHUFJSZWcgc2Ny
YXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRj
aDIuZ3ByKCk7CisgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAg
Ci0gICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlw
ZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOworICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gy
UmVnLCBzY3JhdGNoM1JlZyk7CiAKICAgICBibGVzc2VkQm9vbGVhblJlc3VsdChzY3JhdGNoUmVn
LCBub2RlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNzU5LDcgKzc1OSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIG5vblNwZWN1bGF0aXZlTm9uUGVlcGhvbGVTdHJpY3RFcShOb2Rl
KiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgYm9vbCBub25TcGVjdWxhdGl2ZVN0cmljdEVx
KE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAgICAKLSAgICB2b2lkIGNvbXBpbGVJbnN0
YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVS
ZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpOworICAg
IHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywg
R1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBz
Y3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5j
ZU9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mQ3VzdG9tKE5vZGUqKTsKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTY5LDEwICs4OTY5LDEyIEBAIHByaXZhdGU6
CiAgICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBpc0NlbGxDYXNlID0gbV9vdXQubmV3Qmxv
Y2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbG9vcCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAg
ICAgIExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVCaXRzID0gbV9vdXQubmV3QmxvY2soKTsKKyAg
ICAgICAgTEJhc2ljQmxvY2sgbG9hZFBvbHlQcm90byA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAg
ICAgIExCYXNpY0Jsb2NrIGNvbXBhcmVQcm90b3R5cGUgPSBtX291dC5uZXdCbG9jaygpOwogICAg
ICAgICBMQmFzaWNCbG9jayBub3RZZXRJbnN0YW5jZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAg
ICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7Ci0gICAgICAg
IExCYXNpY0Jsb2NrIGxvYWRQcm90b3R5cGVEaXJlY3QgPSBtX291dC5uZXdCbG9jaygpOwogICAg
ICAgICBMQmFzaWNCbG9jayBkZWZhdWx0SGFzSW5zdGFuY2VTbG93ID0gbV9vdXQubmV3QmxvY2so
KTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgCiAgICAgICAgIExWYWx1ZSBjb25kaXRpb247CiAgICAgICAgIGlmIChtX25vZGUt
PmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBVbnR5cGVkVXNlKQpAQCAtODk5MCwxNiArODk5MiwyOCBA
QCBwcml2YXRlOgogICAgICAgICBWYWx1ZUZyb21CbG9jayBvcmlnaW5hbFZhbHVlID0gbV9vdXQu
YW5jaG9yKGNlbGwpOwogICAgICAgICBtX291dC5qdW1wKGxvb3ApOwogICAgICAgICAKLSAgICAg
ICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3RvdHlwZURpcmVjdCk7CisgICAgICAgIG1f
b3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVCaXRzKTsKICAgICAgICAgTFZhbHVlIHZh
bHVlID0gbV9vdXQucGhpKEludDY0LCBvcmlnaW5hbFZhbHVlKTsKICAgICAgICAgTFZhbHVlIHR5
cGUgPSBtX291dC5sb2FkOFplcm9FeHQzMih2YWx1ZSwgbV9oZWFwcy5KU0NlbGxfdHlwZUluZm9U
eXBlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwo
dHlwZSwgbV9vdXQuY29uc3RJbnQzMihQcm94eU9iamVjdFR5cGUpKSwKLSAgICAgICAgICAgIHVz
dWFsbHkobG9hZFByb3RvdHlwZURpcmVjdCksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93
KSk7CisgICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVCaXRzKSwgcmFyZWx5KGRlZmF1
bHRIYXNJbnN0YW5jZVNsb3cpKTsKIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90
eXBlRGlyZWN0LCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQ
cm90b3R5cGVCaXRzLCBsb2FkUG9seVByb3RvKTsKICAgICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9
IGxvYWRTdHJ1Y3R1cmUodmFsdWUpOwotICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9
IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7CisK
KyAgICAgICAgTFZhbHVlIHByb3RvdHlwZUJpdHMgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBt
X2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBkaXJl
Y3RQcm90b3lwZSA9IG1fb3V0LmFuY2hvcihwcm90b3R5cGVCaXRzKTsKKyAgICAgICAgbV9vdXQu
YnJhbmNoKGlzSW50MzIocHJvdG90eXBlQml0cyksIHVuc3VyZShsb2FkUG9seVByb3RvKSwgdW5z
dXJlKGNvbXBhcmVQcm90b3R5cGUpKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUG9s
eVByb3RvLCBjb21wYXJlUHJvdG90eXBlKTsKKyAgICAgICAgTFZhbHVlIGluZGV4ID0gbV9vdXQu
Yml0QW5kKHByb3RvdHlwZUJpdHMsIG1fb3V0LmNvbnN0SW50NjQoVUlOVF9NQVgpKTsKKyAgICAg
ICAgVmFsdWVGcm9tQmxvY2sgcG9seVByb3RvID0gbV9vdXQuYW5jaG9yKAorICAgICAgICAgICAg
bV9vdXQubG9hZDY0KG1fb3V0LmJhc2VJbmRleChtX2hlYXBzLnByb3BlcnRpZXMuYXRBbnlOdW1i
ZXIoKSwgdmFsdWUsIGluZGV4LCBTY2FsZUVpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVT
dG9yYWdlKCkpKSk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29tcGFyZVByb3RvdHlwZSk7CisKKyAg
ICAgICAgbV9vdXQuYXBwZW5kVG8oY29tcGFyZVByb3RvdHlwZSwgbm90WWV0SW5zdGFuY2UpOwor
ICAgICAgICBMVmFsdWUgY3VycmVudFByb3RvdHlwZSA9IG1fb3V0LnBoaShJbnQ2NCwgZGlyZWN0
UHJvdG95cGUsIHBvbHlQcm90byk7CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIGlzSW5zdGFuY2VS
ZXN1bHQgPSBtX291dC5hbmNob3IobV9vdXQuYm9vbGVhblRydWUpOwogICAgICAgICBtX291dC5i
cmFuY2goCiAgICAgICAgICAgICBtX291dC5lcXVhbChjdXJyZW50UHJvdG90eXBlLCBwcm90b3R5
cGUpLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZp
c2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsOCArMTY2LDEzIEBAIHZvaWQgSklUOjplbWl0X29wX2lu
c3RhbmNlb2YoSW5zdHJ1Y3Rpb24KIAogICAgIC8vIExvYWQgdGhlIHByb3RvdHlwZSBvZiB0aGUg
b2JqZWN0IGluIHJlZ1QyLiAgSWYgdGhpcyBpcyBlcXVhbCB0byByZWdUMSAtIFdJTiEKICAgICAv
LyBPdGhlcndpc2UsIGNoZWNrIGlmIHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2UgaGF2ZSB0aGVuIGRy
b3Agb3V0IG9mIHRoZSBsb29wLCBpZiBub3QgZ28gYWdhaW4uCi0gICAgZW1pdExvYWRTdHJ1Y3R1
cmUoKnZtKCksIHJlZ1QyLCByZWdUMiwgcmVnVDMpOwotICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Qy
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDIpOworICAgIGVtaXRMb2FkU3Ry
dWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDQsIHJlZ1QzKTsKKyAgICBsb2FkNjQoQWRkcmVzcyhy
ZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1Q0KTsKKyAgICBhdXRvIGhh
c1N0b3JlZFByb3RvdHlwZSA9IGJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3MocmVnVDQpKTsK
KyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdUNCwgcmVnVDQpOworICAgIGxvYWQ2NChCYXNlSW5k
ZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9y
YWdlKCkpLCByZWdUNCk7CisgICAgaGFzU3RvcmVkUHJvdG90eXBlLmxpbmsodGhpcyk7CisgICAg
bW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJbnN0YW5jZSA9IGJyYW5jaFB0cihFcXVh
bCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElmSlNDZWxsKHJlZ1QyKS5saW5rVG8obG9v
cCwgdGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2
aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47
CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZh
bGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VWYWx1ZSkgewpAQCAtMjU1LDIzICsyNTcs
MzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAgICAgICAgICAgICBzdHJ1Y3R1
cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNl
Q2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGlmIChz
bG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90
SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7Ci0gICAgICAg
ICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNz
KAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHBy
b3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhp
dCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBz
bG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46
OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1c2Vz
UG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHBy
b3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZz
ZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAg
ICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisgICAg
ICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAgICAg
ICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmlt
cGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29u
ZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisg
ICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNs
b3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBs
KCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9u
U2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8g
aW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAg
ICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAgc3Rh
dGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAg
ICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94
eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0
RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0
SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nhc2Ug
PSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRj
aHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAgfSBl
bHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkgJiYg
IXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0eSwg
d2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNrIG9u
IHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3VsZAor
ICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlwZXMg
aW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IEludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hlZE9m
ZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxzZSB7
CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVl
KCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNj
ZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qu
d2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCks
IFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAg
ICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3Rh
dGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRT
ZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51
bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNs
b3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0
ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVB
Y2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2LDYg
KzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgpOwog
CiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxlUHV0
KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhpc3Rp
bmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUtPmlz
RGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2JqZWN0
KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtpbmQg
PT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAotICAg
ICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJlLCBp
ZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAg
ICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVh
dGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1Bv
bHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8p
IHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOwor
ICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAg
ICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQu
aW1wbCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgp
KQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nl
c3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAg
ICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxl
U2V0dGVyKCkpIHsKICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewogICAg
ICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OworICAgICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nl
c3NDaGFpbjsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewot
ICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgICAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwg
aWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlk
KCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQ
cm90bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxw
dHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAg
ICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdEN1c3RvbSgK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAo
IWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
R2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgIG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgc2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkgPyBBY2Nlc3ND
YXNlOjpDdXN0b21BY2Nlc3NvclNldHRlciA6IEFjY2Vzc0Nhc2U6OkN1c3RvbVZhbHVlU2V0dGVy
LCBzdHJ1Y3R1cmUsIGludmFsaWRPZmZzZXQsIGNvbmRpdGlvblNldCwKLSAgICAgICAgICAgICAg
ICBzbG90LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2UoKSk7CisgICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgc2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkgPyBBY2Nlc3NDYXNlOjpDdXN0b21B
Y2Nlc3NvclNldHRlciA6IEFjY2Vzc0Nhc2U6OkN1c3RvbVZhbHVlU2V0dGVyLCBzdHJ1Y3R1cmUs
IGludmFsaWRPZmZzZXQsCisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSwgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQg
Y29uZGl0aW9uU2V0OwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OworICAgICAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nl
c3NDaGFpbjsKKyAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuY2FjaGVk
T2Zmc2V0KCk7CiAKICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50
LmltcGwoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQor
ICAgICAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LmJhc2UoKSwgdXNlc1Bv
bHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
LSAgICAgICAgICAgICAgICBvZmZzZXQgPSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24o
KS5vZmZzZXQoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIG9mZnNldCA9
IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0K
KyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVBy
b3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQo
KSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG5l
d0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29u
ZGl0aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpT
ZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTE3LDE1ICs1NzEsMzUgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBleGVj
LT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsK
ICAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNl
dDsKICAgICBpZiAod2FzRm91bmQpIHsKLSAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBi
YXNlKSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQ
cm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVj
LCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgaWYg
KHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7IAorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVBy
b3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBz
bG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hh
aW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJv
dG90eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0
KAorICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNs
b3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0Zv
clByb3BlcnR5TWlzcygKLSAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7Cisg
ICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0
ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8p
OworICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBJ
dCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgorICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXVzZXNQ
b2x5UHJvdG8pIHsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsK
KyAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5
TWlzcygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlk
ZW50LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKQEAgLTUzMyw3ICs2MDcsNyBA
QCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIExPR19JQygoSUNF
dmVudDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpZGVudCkpOwog
CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpj
cmVhdGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5I
aXQgOiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJ
bkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIAogICAgIEFjY2Vzc0dl
bmVyYXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8uYWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNv
ZGVCbG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkpOwogICAgIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NjAsMTYgKzc2MCwxNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfcHV0X2J5X2lkCiAgICAgICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmlzRGlj
dGlvbmFyeSgpICYmIHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBhY2l0eSgp
ID09IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkgewogICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0
SGFzQmVlbkludmFsaWRhdGVkKCkpOwogCi0gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxp
emVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFp
bikgeworICAgICAgICAgICAgICAgICAgICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAg
ICAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4
ZWMsIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJl
c3VsdCAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4gJiYgIXNhd1BvbHlQcm90bykgewogICAgICAg
ICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pc09iamVj
dCgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzRdLnUuc3RydWN0dXJlSUQgPSBzdHJ1
Y3R1cmUtPnByZXZpb3VzSUQoKS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVd
LnUub3BlcmFuZCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwY1s2XS51LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMs
IGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KGNoYWluKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNo
YWluLnNldCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
Y2hhaW4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hh
aW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nh
c3Q8UHV0QnlJZEZsYWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1
dEJ5SWRGbGFncyB8CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwx
MCArNTIyLDkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlu
bGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBv
YmplY3QpCiB7Ci0gICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3Qt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0
dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCBvYmplY3QpOwogfQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMs
IEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5n
dGgpCkBAIC02MTAsNyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4
ZWNTdGF0ZQogICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwg
dGhpc09iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBn
ZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7
CiAgICAgICAgICAgICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNW
YWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0
YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENh
c2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAg
ICAgICAgICAgIH0KQEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVu
Z3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5
LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVu
Z3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQor
ICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29u
dGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpl
eGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgp
ICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgz
NCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAg
YXV0byYgc3RvcmFnZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7
CiAgICAgICAgIGlmIChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2Uu
aGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9y
KCkuZGF0YSgpOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBA
IC0xMTc0LDcgKzExNzMsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBl
eGVjCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAg
aWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYm
ICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkg
eworICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlw
ZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAg
ICAgICAgICAgIGlmICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OSwxMCArNDksOSBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6
Y3JlYXRlCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0g
ICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAg
ICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8
fCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkgewogICAgICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHko
dm0sIG51bGxwdHIsIHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBi
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVu
Z3RoOwotCiAgICAgfSBlbHNlIHsKICAgICAgICAgSW5kZXhpbmdIZWFkZXIgaW5kZXhpbmdIZWFk
ZXI7CiAgICAgICAgIGluZGV4aW5nSGVhZGVyLnNldFZlY3Rvckxlbmd0aCh2ZWN0b3JMZW5ndGgp
OwpAQCAtODEsNyArODAsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlCiAgICAgLy8gTkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFs
IG9iamVjdCBvZiBvZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9m
IHRoZSBjYWxsZWUuIFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3Vs
ZC4KICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUs
IGxlbmd0aCk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI1LDE0ICsxMjQsMTQgQEAgQ2xv
bmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNT
RVJUKG15RnJhbWUtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0
dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJn
dW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRl
KiBteUZyYW1lLCBFeGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7
CiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlG
cmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0
NSw3ICsxNDQsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAg
ICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQt
PnB1dERpcmVjdEluZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAg
ICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkp
KTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRV
c2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b21tb25TbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI0Miw2ICsyNDIsOCBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMp
CiAgICAgICAgIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5s
aW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAg
ICAgICAgcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAg
cmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0
cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9IGVsc2Ug
ewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAv
I3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3Rv
ID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1
dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSgog
ICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3IpOwogICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAK
IEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFsQ29kZSgK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhl
Y3V0YWJsZS5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTE3Miw2ICsxNzIsOSBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgSW5mZXJy
ZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9u
LmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJlIGZvciB0aGUgcmVz
dWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3RydWN0dXJlKiBjYWNo
ZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVy
ZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZt
LCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1
dGFibGVCYXNlOwpAQCAtMTg5LDYgKzE5Miw3IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVy
PEZ1bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBSZWZQdHI8
VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRlQmFycmllcjxJbmZl
cnJlZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJh
cmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkg
QEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1
bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVj
dEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBj
b25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUo
dm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
bV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAK
IHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAko
cmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
cHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJv
dG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsK
IAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1
cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFs
RnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3Ry
aW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVu
Y3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAg
IEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFT
U0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAg
QVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFy
Z2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVm
bGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFt
aWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCog
bGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzM4LDcgKzczOCw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShF
eGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRo
Q29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChj
b3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNF
X0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVj
dCgpOwpAQCAtNzczLDcgKzc3Myw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJh
eVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMg
b3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBh
bGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygp
ICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkp
IAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3Bh
cnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7
CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTkwNCw3ICs5MDQsNyBAQCBib29sIEpTQXJyYXk6
OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sg
Zm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdl
IGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVu
IHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAg
ICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAg
IGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwg
ZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBKU1ZhbHVlIHYgPSBidXR0ZXJmbHktPmNvbnRp
Z3VvdXMoKVtpICsgY291bnRdLmdldCgpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgh
dikpIHsKQEAgLTk0NSw3ICs5NDUsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55
SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3
ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5
IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxk
IGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0g
b2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAg
ICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBj
b3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTEyOTIs
NyArMTI5Miw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAg
ICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0g
Z2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJl
Y3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjIsOCArNjIsOCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5G
YXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ug
c2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXku
cHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5n
IHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjI1
NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250
ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygp
LT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmlu
dCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJp
bnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0
dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVj
dHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJl
ICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkp
OwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250
ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5w
cmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJp
bnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgog
ICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlz
aW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5jdGlvblJhcmVEYXRh
KiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9
CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZt
LCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0
KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGds
b2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRh
KiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4
ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHlu
YW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxP
YmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9i
YWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBw
cm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEq
IHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0
cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhh
dCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTUsOCBAQCBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9y
YXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90
eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlO
YW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRo
aXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3Rv
dHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+
aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5
cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAK
QEAgLTM3MSw3ICszNzQsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChK
U09iCiAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBB
U1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Qu
c2V0VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9m
ZnNldCksIG9mZnNldCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgs
OSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3RhdGUqLCBKU1Zh
bHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0aGUgfHRoaXN8
IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVkLgorICAgIEpT
T2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUqKTsKKwogcHJv
dGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFi
bGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9v
bCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUg
PT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
LSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1h
cFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmpl
Y3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNNYXA6OmNhbkNs
b25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzTWFw
UHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNyArNzcwLDcgQEAgYm9v
bCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUqIAogICAgICAgICBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBh
dHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAg
ICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpIHsKLSAg
ICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRl
cmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQodGhpcy0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZt
LCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
dHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwo
UmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3
ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAg
IEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhp
bmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5
cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1
cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJ
bmRleGluZygpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVk
IHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0x
MTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3Jh
CiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRl
cmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0
ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0
dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVj
dHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRT
dHJ1Y3R1cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiAgICAgbnVrZVN0
cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7
CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7
CkBAIC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5k
ZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5
U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3Rv
cmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
KTsKKyAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09i
amVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2Uq
IEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0Fy
cmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAog
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZN
JiB2bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnREb3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJy
YXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNv
bnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gdHJhbnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENv
bnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250
aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIHZvaWQg
SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUp
CkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3Vy
ZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxM
X0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91
bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQor
ICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygp
OwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBA
IC0xNDc0LDcgKzE0NzQsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91
YmxlCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JM
QU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAg
ICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAg
ICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0x
NTAzLDcgKzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRp
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAg
ICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAg
LTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlT
dG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAg
ICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJU
KCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJU
KCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lk
ZWRUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RP
VUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAg
ICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAg
Y2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRl
eGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2
bSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjMzLDE0ICsxNjMzLDE3IEBAIHZvaWQg
SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlz
T2JqZWN0KCkpCiAgICAgICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3Qo
cHJvdG90eXBlKSk7CiAgICAgCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1
cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlw
ZSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICgh
bmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAg
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVU
cmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAgICAgICBzZXRTdHJ1
Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1dERpcmVjdCh2
bSwgc3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7CisKKyAgICBp
ZiAoIWFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAg
ICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhp
cykpIHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1l
KHZtKTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGlt
ZSh2bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xOTUxLDcgKzE5NTQsOCBA
QCBKU1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtl
IHN1cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9i
amVjdCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAgICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRo
aXMtPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nh
cnlGb3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogb2JqZWN0ID0g
dGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVl
IHZhbHVlOwogICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMw
LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAg
ICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAog
ICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSkt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhl
IFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlT
dG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAg
ICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxk
VGhyb3cpOwpAQCAtMjg3OCw3ICsyODgyLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5k
ZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVj
dG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1
ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAg
ICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
IHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIEFy
cmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV92
ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251
bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NjIsNyBAQCB1aW50MzJfdCBKU09iamVj
dDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAo
c3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1
Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAgICAgICAg
cmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkBAIC0zNjY4LDQgKzM2NzIsNTYgQEAgSlNWYWx1
ZSBKU09iamVjdDo6Z2V0TWV0aG9kKEV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBtZXRob2Q7CiB9
CiAKK2Jvb2wgSlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAoreworICAgIFZNJiB2bSA9ICp0aGlzLT52bSgpOworICAgIGZvciAoY29u
c3QgSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5z
dHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJy
ZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwo
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQg
PSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKK3sKKyAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1
cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgIAor
ICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChw
cm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAor
ICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICAgICAgCisgICAgICAg
IHVuc2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1
cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsK
KyAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKKyAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
K30KKworYm9vbCBKU09iamVjdDo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAoreworICAg
IHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwg
Z2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKK30KKworTm9uUHJvcGVydHlUcmFu
c2l0aW9uIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QK
K3sKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICAgICAgcmV0dXJuIE5vblBy
b3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIAorICAg
IHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1
ZGUgIlB1dERpcmVjdEluZGV4TW9kZS5oIgogI2luY2x1ZGUgIlB1dFByb3BlcnR5U2xvdC5oIgog
I2luY2x1ZGUgIlN0cnVjdHVyZS5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJT
cGFyc2VBcnJheVZhbHVlTWFwLmgiCkBAIC0xMzEsNyArMTMyLDcgQEAgcHVibGljOgogICAgIC8v
IEl0IGlzIHZhbGlkIHRvIHVzZSB0aG91Z2ggd2hlbiB5b3Uga25vdyB0aGF0IHlvdSB3YW50IHRv
IGRpcmVjdGx5IGdldCBpdAogICAgIC8vIHdpdGhvdXQgY29uc3VsdGluZyB0aGUgbWV0aG9kIHRh
YmxlLiBUaGlzIGlzIGFraW4gdG8gZ2V0dGluZyB0aGUgW1tQcm90b3R5cGVdXQogICAgIC8vIGlu
dGVybmFsIGZpZWxkIGRpcmVjdGx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4K
LSAgICBKU1ZhbHVlIGdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0OworICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEpTVmFsdWUgZ2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3Q7CiAKICAgICAvLyBUaGlz
IHNldHMgdGhlIHByb3RvdHlwZSB3aXRob3V0IGNoZWNraW5nIGZvciBjeWNsZXMgYW5kIHdpdGhv
dXQKICAgICAvLyBkb2luZyBkeW5hbWljIGRpc3BhdGNoIG9uIFtbU2V0UHJvdG90eXBlT2ZdXSBv
cGVyYXRpb24gaW4gdGhlIHNwZWNpZmljYXRpb24uCkBAIC03MzMsNiArNzM0LDEyIEBAIHB1Ymxp
YzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc0V4dGVuc2libGUoSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3Ry
dWN0dXJlKHZtKS0+aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsg
cmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQorCisgICAgYm9vbCBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQ
cm9wZXJ0eU5hbWUpOworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKKyAg
ICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
IGNvbnN0OworCiBwcml2YXRlOgogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V4dGVuc2libGVJ
bXBsKCkgeyByZXR1cm4gaXNTdHJ1Y3R1cmVFeHRlbnNpYmxlKCk7IH0KIHB1YmxpYzoKQEAgLTg2
Niw3ICs4NzMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAg
IEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMp
ID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgZ2V0UHJvdG90eXBlRGlyZWN0KCku
aXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURp
cmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAg
ICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0xMjk4LDcgKzEzMDUsNyBAQCBp
bmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVl
IEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9y
ZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90
b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDcsOSBAQCBBTFdB
WVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsK
ICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVj
dHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGl0J3MgZm9sbG93aW5nIHRo
ZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmpl
Y3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90
b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcg
QEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElL
RUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBk
ZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVy
dHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90
b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90
eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAg
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0xNTAsNyArMTUw
LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXROb25JbmRleAogICAgICAgICB9
CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJv
dG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRl
cm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0
LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90
b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlT
X0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlz
T2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAg
ICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5
SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhp
c09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5h
bWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2Rl
UHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1
cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVy
YWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgcmV0dXJuIHRydWU7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9w
ZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUodm0pOwogICAg
IGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVyYXRvciA9IHN0cnVjdHVyZS0+
Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICAmJiBlbnVtZXJhdG9yLT5j
YWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykp
CisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0
dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAgICAgcmV0dXJuIGVudW1lcmF0
b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzID0gMDsKQEAgLTEz
MywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQK
IAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJTlQzMl9NQVgpOwogCi0gICAg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKTsKKyAgICBib29sIHNhd1Bv
bHlQcm90bzsKKyAgICBhdXRvIHJlc3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMs
IHN0cnVjdHVyZSwgc2F3UG9seVByb3RvKTsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1i
ZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVt
ZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVD
aGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN0cnVjdHVyZS0+Y2FuQ2Fj
aGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVk
UHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVk
TGVuZ3RoICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlICYmIHJlc3VsdCAhPSBJ
bnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOwor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkK
KyAgICAgICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2
bSwgZW51bWVyYXRvcik7CisgICAgfQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjI1NzYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFu
ZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3Rv
dHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMs
NiArNzMsOSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAg
ICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZh
YmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+
anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJ
KHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsMTMgKzEwMSw2IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwogICAgIH0K
ICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQot
ICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCogY29uc3Ry
dWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fY29uc3Ry
dWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVy
YXRpb25zLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiwxMyArMTM2LDE5IEBA
IGJvb2wganNJc0Z1bmN0aW9uVHlwZShKU1ZhbHVlIHYpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCYgc2F3UG9seVByb3Rv
KQogewogICAgIFZNJiB2bSA9IGNhbGxGcmFtZS0+dm0oKTsKICAgICBzaXplX3QgY291bnQgPSAw
OworICAgIHNhd1BvbHlQcm90byA9IGZhbHNlOwogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47CisKKyAgICAgICAgc2F3UG9seVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCiAgICAgICAg
IEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7CiAg
ICAgICAgIGlmICh2LmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkocmV2aXNpb24gMjIy
NTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIEpTVmFsdWUganNUeXBlU3RyaW5nRm9yVmFsdWUo
Q2FsbEZyYW1lKiwKIEpTVmFsdWUganNUeXBlU3RyaW5nRm9yVmFsdWUoVk0mLCBKU0dsb2JhbE9i
amVjdCosIEpTVmFsdWUpOwogYm9vbCBqc0lzT2JqZWN0VHlwZU9yTnVsbChDYWxsRnJhbWUqLCBK
U1ZhbHVlKTsKIGJvb2wganNJc0Z1bmN0aW9uVHlwZShKU1ZhbHVlKTsKLXNpemVfdCBub3JtYWxp
emVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqLCBTdHJ1Y3R1cmUqKTsKK3NpemVfdCBub3JtYWxp
emVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqLCBTdHJ1Y3R1cmUqLCBib29sJiBzYXdQb2x5UHJv
dG8pOwogCiBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiBqc1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMs
IEpTU3RyaW5nKiBzMSwgSlNTdHJpbmcqIHMyKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NzEsNyArNDcxLDgg
QEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihib29sLCB1c2VGYXN0
VExTRm9yV2FzbUNvbnRleHQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUgKGFuZCBmYXN0IFRMUyBp
cyBlbmFibGVkKSwgd2Ugd2lsbCBzdG9yZSBjb250ZXh0IGluIGZhc3QgVExTLiBJZiBmYWxzZSwg
d2Ugd2lsbCBwaW4gaXQgdG8gYSByZWdpc3Rlci4iKSBcCiAgICAgdihib29sLCB1c2VDYWxsSUNz
Rm9yV2ViQXNzZW1ibHlUb0pTQ2FsbHMsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwg
dXNlIENhbGxMaW5rSW5mbyB0byBpbmxpbmUgY2FjaGUgV2FzbSB0byBKUyBjYWxscy4iKSBcCiAg
ICAgdihib29sLCB1c2VPYmplY3RSZXN0U3ByZWFkLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3
ZSB3aWxsIGVuYWJsZSBPYmplY3QgUmVzdC9TcHJlYWQgZmVhdHVyZS4iKSBcCi0gICAgdihib29s
LCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdl
IHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNl
LCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRl
ZC4iKQorICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3Jt
YWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJv
ZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFp
bSB0byBiZSB1bmRlY2lkZWQuIilcCisgICAgdihib29sLCBmb3JjZVBvbHlQcm90bywgZmFsc2Us
IE5vcm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3YXlzIGNyZWF0ZSBhbiBvYmpl
Y3Qgd2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpCiAKIAogZW51bSBPcHRpb25FcXVpdmFs
ZW5jZSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZU1hcC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE4ICs1NCwzNCBAQCB2
b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0CiAgICAgLy8gdXNlZCBhcyBh
IHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJ
bmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkK
K2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBl
IGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90
b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CisgICAgUkVMRUFTRV9B
U1NFUlQoISFwcm90b3R5cGUpOyAvLyBXZSB1c2UgbnVsbHB0ciBpbnNpZGUgdGhlIEhhc2hNYXAg
Zm9yIHByb3RvdHlwZSB0byBtZWFuIHBvbHkgcHJvdG8sIHNvIHVzZXIncyBvZiB0aGlzIEFQSSBt
dXN0IHByb3ZpZGUgbm9uLW51bGwgcHJvdG90eXBlcy4KKworICAgIGF1dG8ga2V5ID0gc3RkOjpt
YWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPyBudWxscHRyIDogcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAgIGlmIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkgeworICAgICAgICBpZiAobWFr
ZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlw
ZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90
b3R5cGUoKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlw
ZShwcm90b3R5cGUpKTsKICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBh
ZGRQcm90b3R5cGUocHJvdG90eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6Y3JlYXRlKAotICAgICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZTsKKyAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBz
dHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9s
eVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8s
IGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICB9CiAgICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJl
PihzdHJ1Y3R1cmUpKTsKKwogICAgIHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4
OSwyMSBAQCBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAg
Ly8gV2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlz
aXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMg
aGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNhcGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90
b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAo
cHJvdG90eXBlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkg
JiYgaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdU
eXBlID0gKGluZGV4aW5nVHlwZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlT
dG9yYWdlU2hhcGU7CiAKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0
cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8o
KSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwog
fQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBv
bHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxP
YmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5m
bygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBvYmplY3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1f
c3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHks
IEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVz
LnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxP
YmplY3Q6OmluZm8oKSwgZ2xvYmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJl
dmlzaW9uIDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlw
ZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsK
ICAgICB9CiAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNl
KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJv
dG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVj
dHVyZSopOwogICAgIHZvaWQgY2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5s
aW5lIFRyaVN0YXRlIGlzUHJvdG90eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBj
b25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVF
bXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xh
c3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtl
UG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0
PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAg
ICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0
IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOwor
ICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0Kiwg
dW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47
CiAgICAgU3RydWN0dXJlTWFwIG1fc3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0
dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAg
ICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1f
Yml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVk
UHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJv
dG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQog
ICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNl
dChpbnZhbGlkT2Zmc2V0KQpAQCAtMjk1LDYgKzI5NSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVz
dHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0
cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRl
KFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5m
byogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5l
Q2FwYWNpdHkpOworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQt
Pm91dE9mTGluZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFu
c2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5k
ZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSksCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVu
dEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0
T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGlu
ZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAg
ICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7
CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAg
ICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRT
dHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYg
c3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUp
CiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OCwyNiArNDE1LDE0
IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4g
YWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1
aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJ
bkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJl
Ojpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29u
c3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAg
ICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVs
bCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVu
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NF
UlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1
ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90
b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBv
YmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI2LDcgKzQzMSw3IEBAIGJvb2wgU3Ry
dWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1
Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBy
b3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBl
ID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3Rv
dHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDM2LDIwICs0NDEsNiBAQCBib29sIFN0cnVj
dHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1i
b29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVy
biBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAg
fHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlU
cmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNv
bnN0Ci17Ci0gICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBO
b25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAK
LSAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsK
LX0KLQogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlID0gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgK
QEAgLTU1Miw2ICs1NDMsOCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlU
cmFuCiAKIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgcHJvdG90eXBlKQogeworICAgIEFT
U0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSB8fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAgICAg
RGVmZXJHQyBkZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNy
ZWF0ZSh2bSwgc3RydWN0dXJlKTsKIApAQCAtMTA2NywxMSArMTA2MCw2IEBAIHZvaWQgU3RydWN0
dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAot
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9j
aykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xv
YmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwq
IGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVj
dCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMDksNyArMTA5Nyw3IEBAIGJvb2wg
U3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9i
amVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkp
Ci0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRD
b25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFoYXNT
dG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBT
dHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMSw0MCAr
MTEwOSwxOSBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVy
Y2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAgIGlm
IChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Ci0gICAgCi0gICAgZm9yIChTdHJ1Y3R1
cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0g
cHJvdG90eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAgdW5z
aWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVu
dC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwotICAgICAgICBpZiAoIUpTQzo6
aXNWYWxpZE9mZnNldChvZmZzZXQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAot
ICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIAotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1SZWY8U3RydWN0dXJl
U2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlKQorUmVmPFN0
cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSwg
Ym9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4g
YmFzZVNoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAgIFJlZlB0cjxTdHJ1Y3R1
cmVTaGFwZT4gY3VyU2hhcGUgPSBiYXNlU2hhcGUucHRyKCk7CiAgICAgU3RydWN0dXJlKiBjdXJT
dHJ1Y3R1cmUgPSB0aGlzOwogICAgIEpTVmFsdWUgY3VyVmFsdWUgPSB2YWx1ZTsKKyAgICBzYXdQ
b2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZTsKICAgICB3aGlsZSAoY3VyU3RydWN0dXJlKSB7Cisg
ICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSB8PSAhY3VyU3RydWN0dXJlLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNoUHJvcGVydHlDb25jdXJy
ZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFwRW50cnkmIGVudHJ5KSAt
PiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5Lmtl
eSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50cnkua2V5KS5pc1ByaXZh
dGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgqZW50
cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0pOwog
CkBAIC0xMTY4LDI2ICsxMTM1LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0
b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwoKTsKIAotICAgICAgICBp
ZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkgewotICAgICAgICAg
ICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKLSAgICAgICAgICAg
IGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAgY3Vy
U2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1clZhbHVlID0gY3VyU3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoIWN1clZh
bHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKIAotICAgICAgICBjdXJTdHJ1Y3R1
cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpOworICAgICAgICBK
U09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAgICAgICBKU09iamVjdCog
cHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0KQorICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7CisgICAg
ICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgIGN1clZhbHVlID0gcHJv
dG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90b3R5cGVPYmplY3QtPnN0
cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNoYXBlOwogfQogCi1ib29s
IFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqIG90aGVyKQotewot
ICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxpbmVDYXBhY2l0eSgpCi0g
ICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9yZWRQcm90b3R5cGUoKQot
ICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhlci0+b2JqZWN0SW5p
dGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIodGhpcyksICI6WyIsIGNs
YXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDIsNyArMTE2Nyw5IEBAIHZvaWQg
U3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAKICAgICBvdXQucHJpbnQo
In0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAgICAKLSAgICBpZiAo
bV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNTdG9yZWRQcm90b3R5cGUo
KSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zm
c2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAg
ICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0Nl
bGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkBAIC0xMjg3LDcgKzEy
NTQsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtCiAgICAgd2hp
bGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmdldCgpKQogICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRl
c0dldFByb3BlcnR5TmFtZXMoKSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGlj
dGlvbmFyeSgpIHx8IHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJv
cGVydHlOYW1lcygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1
cmUrKzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAg
ICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAg
ICAgCisgICAgZW51bSBQb2x5UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBj
b25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90
eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5v
bkFycmF5LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgp
OwogCkBAIC0xMzgsNyArMTQwLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7
CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlz
TnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE2OSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25U
b0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9F
eGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJp
YnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJv
cGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9m
ZnNldCYpOwotICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVBy
b3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7Cisg
ICAgc3RhdGljIFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVj
dHVyZSosIEpTVmFsdWUgcHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMg
U3RydWN0dXJlKiBhdHRyaWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJv
cGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgU3RydWN0dXJlKiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3Ry
dWN0dXJlKiwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVs
bHB0cik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFu
c2l0aW9uKFZNJiwgU3RydWN0dXJlKik7CkBAIC0yMDgsNyArMjEwLDcgQEAgcHVibGljOgogICAg
IHsKICAgICAgICAgcmV0dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJl
UHJvcGVydHlXYXRjaHBvaW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vz
c2VzQXJlQ2FjaGVhYmxlKCkKQEAgLTI0MCwyNiArMjQyLDM5IEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVk
QWNjZXNzb3JzKTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAg
IGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAot
ICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRy
YW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJv
b2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAg
ICAgICAgCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJu
IG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91
bGQgb25seSBiZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5j
ZSB0aGUgZ2xvYmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRv
IGJlIGltbXV0YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9i
amVjdChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmpl
Y3Quc2V0KHZtLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUg
c3RvcmVkUHJvdG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKwor
ICAgIGJvb2wgaGFzU3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3Jl
ZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9y
ZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9
CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVy
biBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVk
UHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFBy
b3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09i
amVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cChFeGVjU3RhdGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChK
U0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENv
ZGVCbG9jayopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYs
IEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNo
YWluKEV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpT
R2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiog
cHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25z
dDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwg
U2xvdFZpc2l0b3ImKTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJr
IGR1cmluZyBHQyBpZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVk
IGFtb3VudApAQCAtMjcyLDE0ICsyODcsMjQgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiB0aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lm
Q2hlYXAoU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90
b3R5cGUgY2hhaW4gaW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9S
VF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJv
cGVydHlOYW1lKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAg
ICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAg
ICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQor
CisgICAgU3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7Cisg
ICAgICAgIGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEo
dm0pOworICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0
dXJlKiBwcmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU1OCw2IEBAIHB1Ymxp
YzoKICAgICAgICAgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQog
ICAgIAotICAgIHZvaWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5
Rm9yRW50aXJlQ2hhaW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHRoaXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGVTdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGlu
Z0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhh
c0luZmVycmVkVHlwZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJl
ZFR5cGVUYWJsZTsKQEAgLTU4OCwxMSArNjA3LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3Rv
cmVWYWx1ZVNsb3codm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZl
cnJlZFR5cGVUYWJsZTo6T2xkUHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVT
aGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVz
IGlmIHRoZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBi
ZSB1c2VkIGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9v
bCBjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVT
aGFwZT4gdG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1
cmUpOwogICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQg
ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC03MjAs
OCArNzM1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0
T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlz
VmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hh
aW4pIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiog
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJh
c2UpIGNvbnN0OwogCiAgICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sg
dG8gZG8gdGhlc2UuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJh
Y3RMb2NrZXImLCBWTSYsIFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzQ2LDYgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1
Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNv
bnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdl
dCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBi
b29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNG
dW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4u
Y3BwCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQg
U3RydWN0dXJlQ2hhaW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3Ry
dWN0dXJlQ2hhaW46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAg
IGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVu
dC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAg
ICArK3NpemU7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5b
XT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihz
aXplICsgMSk7CisKKyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVu
dCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwg
dGhpcywgY3VycmVudC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9y
RmVuY2UoKTsKKyAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndy
aXRlQmFycmllcih0aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIy
MjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlND
ZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0
cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGlj
IFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAog
ICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxTdHJ1Y3R1cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1
cmVDaGFpblN0cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2
bSwgaGVhZCk7CkBAIC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVz
dHJveShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSk7Ci0gICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUq
IGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90
eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkp
LT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1
ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90
IGkgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7
IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09i
amVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAg
ICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0
b3IpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhl
YWQpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCShyZXZpc2lvbiAyMjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgaW5s
aW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIAogCiBpbmxpbmUgSlNPYmplY3Qq
IFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNF
X0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJv
dG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0
b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90
eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsK
ICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9i
amVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6
OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJF
TEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0
b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAg
UkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0dXJu
IG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmplY3Qq
IFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmplY3Qp
IGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlz
KTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3Qo
cG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxXQVlTX0lO
TElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0
IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90byA9IHN0
b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8tPnN0cnVj
dHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFByb3BlcnR5
T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkK
IHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDE1ICsxOTYsMzIgQEAgaW5saW5l
IGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
Cit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYgKHN0cnVj
dHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0dXJuIGds
b2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0dXJlLT50
eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogewor
ICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBpZiAoaXNPYmpl
Y3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5m
bygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
eW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAg
IHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhp
cyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSk7Ci0g
ICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CitpbmxpbmUgSlNWYWx1
ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3Ry
dWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBz
dG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JM
b29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7CiB9CiAKIGlubGluZSBKU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QK
QEAgLTE4MiwyNyArMjI5LDI4IEBAIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5
cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0Citpbmxp
bmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBS
RUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogICAgIC8vIFdlIGNh
Y2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0LgotICAg
IGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkp
KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2Jh
bE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBT
dHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyAwIDogYXNPYmpl
Y3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2Jq
ZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkgeworICAgICAgICBKU1Zh
bHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwor
ICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hh
aW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6IGFzT2JqZWN0KHBy
b3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0
KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFp
bihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVy
ZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFzZSkgY29uc3QK
IHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0
dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWlu
KiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29sIFN0cnVjdHVyZTo6aXNW
YWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVk
UHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewogICAgIGlmICghY2FjaGVk
UHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gY2FjaGVkUHJvdG90eXBl
Q2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJvdG90eXBl
LmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUo
KSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsyNjEsNiBAQCBpbmxpbmUg
Ym9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0dXJuIHByb3RvdHlwZS5p
c051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJl
Ojppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlw
ZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUgdm9pZCBTdHJ1Y3R1
cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAgICAgaWYg
KExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC00MDAsNyArNDQzLDcgQEAgaW5saW5lIFByb3Bl
cnR5T2Zmc2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlO
YW1lLCBmdW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxl
KFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0
dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAg
ICAgbV9wcm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwog
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNTc2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0
aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZl
cnJlZFZhbHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5j
bHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3
IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlz
T2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yKTsKIH0KIAogSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVy
YXRvcigpIGNvbnN0CkBAIC0xNzUsNiArMTc3LDEzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJh
cmVEYXRhOjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0K
IAorSW5mZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3Ry
dWN0b3IoVk0mIHZtKQoreworICAgIGlmICghbV9pbmZlcnJlZENvbnN0cnVjdG9yKQorICAgICAg
ICBtX2luZmVycmVkQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBJbmZlcnJlZFZhbHVlOjpjcmVh
dGUodm0pKTsKKyAgICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOworfQorCiAv
LyAtLS0tLS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBo
ZWxwZXIgd2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5n
QWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1
cmVSYXJlRGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjU3NikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNz
IEluZmVycmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBT
dHJ1Y3R1cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dDsKQEAgLTYyLDYgKzYzLDE1IEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENh
Y2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3Iq
KTsKIAorICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3
ZSdyZSBpbmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5w
cm90b3R5cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVyZVJh
cmVEYXRhIGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0aGUg
InByb3RvdHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJw
cm90b3R5cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFudCBj
b25zdHJ1Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0b3Ig
cG9pbnRzIHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEgSlNGdW5jdGlvbi4KKyAgICAv
LyBJZiB3ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgd2lsbCBiZWNv
bWUgaW52YWxpZGF0ZWQuCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1
Y3RvcihWTSYpOworICAgIC8vIE1heSBiZSBudWxscHRyLgorICAgIEluZmVycmVkVmFsdWUqIGlu
ZmVycmVkQ29uc3RydWN0b3IoKSB7IHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3IuZ2V0KCk7
IH0KKwogICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03Niw2ICs4Niw3
IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAg
ICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0
ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3I7CisgICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1faW5mZXJyZWRDb25z
dHJ1Y3RvcjsKICAgICAKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0
cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hw
b2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3Jl
cGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xv
Z0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICB9CiAKKyAg
ICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Q
cm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwg
UmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVzOworCiAgICAgTG9n
RW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGlsZSAoZW50cnkgIT0g
bV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+
c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAg
ICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7
CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlm
IChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwo
KSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAgIGF1dG8gaXRlciA9
IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYgKGl0ZXIgPT0gc2Vl
blNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0
cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1
Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUu
YXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAgICAgICAgIGF1dG8g
aXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAg
ICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkp
OworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5maW5k
KGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9seVByb3RvU2hhcGVz
LmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CisgICAg
ICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkgeworICAgICAgICAgICAgICAg
ICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVBy
b3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVj
dHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90b1NoYXBlcy5zZXQo
a2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUg
PSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAgdm9pZCBUeXBlUHJv
ZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0
aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUg
PSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAg
ICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBz
aGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0
aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUlu
Zm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9T
dHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5
cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjU3NikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNl
dDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVT
ZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlw
ZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBl
SXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFw
ZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1
Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICAv
LyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5IHByb3RvIGNoYWlu
cworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBjaGFpbjoKKyAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzYyNworICAg
ICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlu
cyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkg
ewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAg
ICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9u
IDIyMjU3NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29y
a2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZv
aWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+
JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3Rv
U3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1w
VHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAy
MjI1NzYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVu
ZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQog
ICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1Zh
bHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBn
ZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCku
aXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVz
cy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3Rz
CShyZXZpc2lvbiAyMjI1NzYpCisrKyBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3Rz
CSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0
aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRCM08xKCpvcHRpb25h
bFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNl
QXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRf
T1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisg
ICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5n
PWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklU
X09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQog
ZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRp
b25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdlck5vQ0pJVFZhbGlkYXRlKCpv
cHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0
aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9yPXRy
dWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZ
X09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLWVh
Z2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICItLWZvcmNlUG9seVByb3Rv
PXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9V
U0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBy
dW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC04NjQs
NiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAgcnVuKCJmdGwtbm8tY2ppdC10
eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TICsg
Tk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlw
ZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBydW4oImZ0bC10eXBlLXByb2Zp
bGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUi
LCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElPTlMp
KQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322286</attachid>
            <date>2017-09-30 01:21:37 -0700</date>
            <delta_ts>2017-10-01 12:30:12 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>227139</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjY2MykKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw5MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyAKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLmZpZWxkID0gMjA7IH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLmZpZWxkID09PSAyMCk7
CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBv
bHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9s
eVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVBy
b3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90
b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKK107CisKK2xldCBjdXN0b21H
ZXR0ZXJTZXR0ZXIgPSBjcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyKCk7CitpdGVtcy5mb3JF
YWNoKCh4KSA9PiB7CisgICAgeC5fX3Byb3RvX18gPSBjdXN0b21HZXR0ZXJTZXR0ZXI7CisgICAg
YXNzZXJ0KHguX19wcm90b19fID09PSBjdXN0b21HZXR0ZXJTZXR0ZXIpOworfSk7CisKK2Z1bmN0
aW9uIHZhbGlkYXRlKHgsIHZhbHVlUmVzdWx0LCBhY2Nlc3NvclJlc3VsdCkgeworICAgIGFzc2Vy
dCh4LmN1c3RvbVZhbHVlID09PSB2YWx1ZVJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5jdXN0b21B
Y2Nlc3NvciA9PT0gYWNjZXNzb3JSZXN1bHQpOworCisgICAgbGV0IG8gPSB7fTsKKyAgICB4LmN1
c3RvbVZhbHVlID0gbzsKKyAgICBhc3NlcnQoby5yZXN1bHQgPT09IHZhbHVlUmVzdWx0KTsKKwor
ICAgIG8gPSB7fTsKKyAgICB4LmN1c3RvbUFjY2Vzc29yID0gbzsKKyAgICBhc3NlcnQoby5yZXN1
bHQgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGFzc2VydCh4LnJhbmRvbVByb3AgPT09IDQy
IHx8IHgucmFuZG9tUHJvcCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAg
ICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7Cisg
ICAgfQorfQorCitjdXN0b21HZXR0ZXJTZXR0ZXIucmFuZG9tUHJvcCA9IDQyOworCitmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1z
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJT
ZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAg
ICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKHgsIHsKKyAgICAgICAgZ2V0IGN1c3RvbVZhbHVlKCkg
eyByZXR1cm4gNDI7IH0sCisgICAgICAgIGdldCBjdXN0b21BY2Nlc3NvcigpIHsgcmV0dXJuIDIy
OyB9LAorICAgICAgICBzZXQgY3VzdG9tVmFsdWUoeCkgeyB4LnJlc3VsdCA9IDQyOyB9LAorICAg
ICAgICBzZXQgY3VzdG9tQWNjZXNzb3IoeCkgeyB4LnJlc3VsdCA9IDIyOyB9LAorICAgIH0pOwor
fSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0s
IDQyLCAyMik7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAt
IHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRl
ci1jb3JyZWN0bmVzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYg
KCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCEiKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgeCA9IG5ldyBVaW50MzJBcnJheSgxMCk7CitsZXQgcCA9IHguX19wcm90b19fLl9fcHJvdG9f
XzsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcDsK
K3guX19wcm90b19fID0gb2JqOworCitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiB4LmJ5
dGVMZW5ndGg7Cit9Citub0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7
ICsraSkgeworICAgIGFzc2VydChmb28oeCkgPT09IDEwICogNCk7Cit9OworCitvYmouX19wcm90
b19fID0ge307CisKK2Fzc2VydChmb28oeCkgPT09IHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1taXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHkt
cHJvdG8tbWlzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpIHsKKyAgICBmdW5jdGlvbiBm
b28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRo
aXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSA0MjsKKyAg
ICAgICAgbGV0IHJlc3VsdCA9IG5ldyBDOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBs
ZXQgcmVzdWx0ID0gZm9vKCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2Vz
ID0gWworICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAg
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFr
ZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3Rv
SW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdp
dGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90
b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAor
XTsKKworbGV0IHAgPSB1bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNz
ZXJ0KHgueCA9PT0gMjApOworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9Citub0lu
bGluZSh2YWxpZGF0ZSk7CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMu
bGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CitpZiAoZmFs
c2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNjQgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9P
YmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAg
ICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgICAgIHRoaXMuZmllbGQgPSA0MjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0K
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygp
LmZpZWxkID09PSA0Mik7CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24g
dmFsaWRhdGUobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGlu
ZSh2YWxpZGF0ZSk7CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7CisKK2xldCBvYmpzID0gW107
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCisgICAgb2Jqcy5wdXNoKG1ha2VQb2x5UHJv
dG9PYmplY3QoKSk7CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZihvYmosIHt4OjIwfSkpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCB0cnVlKTsKK30K
Kworb2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pKTsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBv
YmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIGZhbHNlKTsKK30KKworCitmdW5jdGlvbiB2YWxp
ZGF0ZTIobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2
YWxpZGF0ZTIpOworCitvYmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
b2JqLCBudWxsKSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3Ig
KGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgZmFsc2UpOworfQorCitv
YmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pKTsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBv
YmpzKQorICAgICAgICB2YWxpZGF0ZTIob2JqLCB0cnVlKTsKK30KKworaWYgKGZhbHNlKQorICAg
IHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHkt
cHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4
IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0
KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgc3RhcnQgPSBE
YXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2Jq
ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSBudWxsOworICAg
IHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwo
b2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKworfQorCitmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0
KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9iYWwgPSB4OyB9IH07Cisg
ICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093blByb3BlcnR5KCJwIikp
OworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwgPSBudWxsOworfQorCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVBy
b3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydChvYmouaGFzT3du
UHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7Cit9CitpZiAoZmFsc2Up
CisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7CisgICAgZ2V0IHgo
KSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRlcm5hdGVQcm90
bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgpIHsKKyAgICAg
ICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVj
dC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLl94
OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25z
dHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAgfQorICAgIH07
CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBwKSB7CisgICAg
YXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xldCBhcnIgPSBb
XTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFyci5wdXNoKGZv
bygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0IGEgb2YgYXJy
KSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30KK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxp
ZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5f
X3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBu
dWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5kZXg6IEpTVGVz
dHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEgQEAKK2Z1
bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBD
IHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBw
KHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdldCBw
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLnAgPT09
IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgp
KTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAgeC5wID0gaTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFz
c2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAg
ICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaChvID0+IHsKKyAg
ICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVk
ID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJp
dGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1p
bmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNv
bnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55ID0gMjI7CisgICAgICAg
IH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQorICAgIH0KKyAgICBDLnBy
b3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVybiBDOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVuY3Rpb24gYmFyKHApIHsK
KyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAg
ICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOworICAgICAgICB9CisgICAg
fTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZm9y
IChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNl
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNo
KGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0
ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIpOworICAgIGFzc2VydChp
dGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4g
dmFsaWRhdGUoeCkpOworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFy
dCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDUzIEBACitsZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90
b0luc3RhbmNlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7Cisg
ICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAg
ICAgICAgQy5wcm90b3R5cGUueSA9IHk7CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0
dXJuIGZvbygpOworfQorCitsZXQgcG9seVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5z
dGFuY2UoKTsKK1N0cmluZy5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7
CitTeW1ib2wucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0
cmluZ3MgPSBbCisgICAgImZvbyIsCisgICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAg
ICBTeW1ib2woImJhciIpLAorXTsKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUo
YXNzZXJ0KTsKKworZnVuY3Rpb24gdmFsaWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIw
KTsKKyAgICBhc3NlcnQocy55ID09PSB5KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3Bl
cnR5ID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9
PT0gImZ1bmN0aW9uIik7CisgICAgYXNzZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3Ig
KGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykg
eworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0lu
c3RhbmNlLl9fcHJvdG9fXyA9IHt6OjQwMCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0
ZShzKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpz
LW9iamVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90
LWpzLW9iamVjdC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUt
aXMtbm90LWpzLW9iamVjdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACitmdW5j
dGlvbiBmb28oKSB7CisgICAgZnVuY3Rpb24gYmFyKCkgeworICAgICAgICB0aGlzLnggPSA0MjsK
KyAgICB9CisgICAgYmFyLnByb3RvdHlwZSA9IDUwOworICAgIHJldHVybiBuZXcgYmFyKCk7Cit9
CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoIkJhZCIpOworfQorCitsZXQgaXRlbXMgPSBbCisgICAgZm9vKCksCisgICAgZm9vKCks
CisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCitdOworCitm
dW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhlcmUgPT09IHVu
ZGVmaW5lZCk7CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gNDIpOworICAgIGFzc2VydChpdGVtLl9f
cHJvdG9fXyA9PT0gT2JqZWN0LnByb3RvdHlwZSk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpCisgICAgICAgIHZhbGlk
YXRlKGl0ZW0pOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXBy
b3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1w
cm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBv
bHktcHJvdG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB0cnlHZXRCeUlkVGV4dChwcm9wZXJ0eU5h
bWUpIHsgcmV0dXJuIGAoZnVuY3Rpb24gKGJhc2UpIHsgcmV0dXJuIEB0cnlHZXRCeUlkKGJhc2Us
ICcke3Byb3BlcnR5TmFtZX0nKTsgfSlgOyB9CitsZXQgZ2V0Rm9vID0gY3JlYXRlQnVpbHRpbih0
cnlHZXRCeUlkVGV4dCgiZm9vIikpOworbGV0IGdldEJhciA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0
QnlJZFRleHQoImJhciIpKTsKK2xldCBnZXROb25FeGlzdGVudEZpZWxkID0gY3JlYXRlQnVpbHRp
bih0cnlHZXRCeUlkVGV4dCgibm9uRXhpc3RlbnRGaWVsZCIpKTsKKworbGV0IHggPSBtYWtlUG9s
eVByb3RvT2JqZWN0KCk7Cit4Ll9fcHJvdG9fXyA9IHsgZm9vOiA0MiwgZ2V0IGJhcigpIHsgcmV0
dXJuIDIyOyB9IH07CitsZXQgYmFyR2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih4Ll9fcHJvdG9fXywgImJhciIpLmdldDsKK2Fzc2VydCh0eXBlb2YgYmFyR2V0dGVyID09
PSAiZnVuY3Rpb24iKTsKK2Fzc2VydChiYXJHZXR0ZXIoKSA9PT0gMjIpOworCitmdW5jdGlvbiB2
YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KGdldEZvbyh4KSA9PT0gNDIpOworICAgIGFzc2VydChs
b2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihnZXRCYXIoeCkpID09PSBiYXJHZXR0ZXIpOworICAg
IGFzc2VydChnZXROb25FeGlzdGVudEZpZWxkKHgpID09PSB1bmRlZmluZWQpOworfQorbm9Jbmxp
bmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZh
bGlkYXRlKHgpOworfQpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIvaW5oZXJpdGFuY2UuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvaW5oZXJpdGFuY2UuanMJKHJldmlz
aW9uIDIyMjY2MykKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRp
c3BsYXlUeXBlTmEKIGFzc2VydCh0eXBlcy5pbnN0cnVjdGlvblR5cGVTZXQuZGlzcGxheVR5cGVO
YW1lID09PSAiQyIsICJ2YXJpYWJsZSAndGhlQycgc2hvdWxkIGhhdmUgZGlzcGxheVR5cGVOYW1l
ICdDJyIpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVzc2lvbih3cmFwcGVyLCAiaGllcmFy
Y2h5VGVzdCA9IG5ldyBCOyIpOwotYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5
cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxkIGhhdmUgZGlz
cGxheVR5cGVOYW1lICdBJyIpOworYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5
cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxkIGhhdmUgZGlz
cGxheVR5cGVOYW1lICdBJyIgKyAiIGJ1dCB3YXM6ICIgKyB0eXBlcy5nbG9iYWxUeXBlU2V0LmRp
c3BsYXlUeXBlTmFtZSk7CiAKIHR5cGVzID0gZmluZFR5cGVGb3JFeHByZXNzaW9uKHdyYXBwZXIs
ICJoaWVyYXJjaHlUZXN0ID0gbmV3IEM7Iik7CiBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5k
aXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxlICdoaWVyYXJjaHlUZXN0JyBzaG91bGQg
aGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIik7CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxlci9v
dmVyZmxvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxvdy5q
cwkocmV2aXNpb24gMjIyNjYzKQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw4IEBAIHZhciBvbGRQcm90bzsKIGZvciAodmFyIGkg
PSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZsb3c7IGkrKykgewogICAgIC8v
IE1ha2Ugc3VyZSB3ZSBnZXQgYSBuZXcgcHJvdG90eXBlIGNoYWluIG9uIGVhY2ggYXNzaWdubWVu
dCB0byB4IGJlY2F1c2Ugb2JqZWN0cyB3aXRoIHNoYXJlZCBwcm90b3R5cGUgY2hhaW5zIHdpbGwg
YmUgbWVyZ2VkLgogICAgIHggPSBuZXcgUHJvdG87CisgICAgeFsnZmllbGQnICsgaV0gPSAyMDsK
KyAgICB4ID0geAogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlvbigp
IHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5cGU7
CkBAIC0yMCw2ICsyMiw4IEBAIFByb3RvID0gZnVuY3Rpb24oKSB7fTsKIG9sZFByb3RvID0gbnVs
bDsKIGZvciAodmFyIGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZsb3cg
LSAxOyBpKyspIHsKICAgICB5ID0gbmV3IFByb3RvOworICAgIHlbJ2ZpZWxkJyArIGldID0gMjA7
CisgICAgeSA9IHkKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rpb24o
KSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90eXBl
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjIyNjYzKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcs
NiArMjI3LDcgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29k
ZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVByb2dyYW1Db2RlQmxvY2suY3BwCiti
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3Bl
cnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3Bw
CiBieXRlY29kZS9PcGNvZGUuY3BwCkBAIC0yMzQsNiArMjM1LDcgQEAgYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuY3BwCiBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29k
ZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcAogYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCiti
eXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuY3BwCiBieXRlY29kZS9QdXRCeUlkRmxhZ3MuY3BwCiBieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTMsNiArOTUz
LDkwIEBAIHZvaWQgRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdDo6ZmluaXNoQ3IKICAgICBwdXRE
aXJlY3ROYXRpdmVGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgImZ1bmMiKSwgMCwgc2FmZUZ1bmN0aW9uLCBOb0ludHJpbnNpYywgJkRPTUpJVENo
ZWNrU3ViQ2xhc3NPYmplY3RTaWduYXR1cmUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsKIH0KIAorY2xhc3MgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0IDogcHVibGljIERPTUpJVE5vZGUgeworcHVibGljOgorICAgIERPTUpJVEdldHRlckJhc2VK
U09iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uodm0s
IHN0cnVjdHVyZSkKKyAgICB7CisgICAgfQorCisgICAgREVDTEFSRV9JTkZPOworICAgIHVzaW5n
IEJhc2UgPSBET01KSVROb2RlOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0M6OkpTVHlwZShMYXN0SlNDT2Jq
ZWN0VHlwZSArIDEpLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCisgICAgc3Rh
dGljIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCisgICAgeworICAgICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGdldHRl
ciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPERPTUpJVEdldHRlckJhc2VKU09iamVjdD4o
dm0uaGVhcCwgc2l6ZW9mKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkpKSBET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3Qodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIGdldHRlci0+ZmluaXNoQ3JlYXRp
b24odm0pOworICAgICAgICByZXR1cm4gZ2V0dGVyOworICAgIH0KKworICAgIGNsYXNzIERPTUpJ
VEF0dHJpYnV0ZSA6IHB1YmxpYyBET01KSVQ6OkdldHRlclNldHRlciB7CisgICAgcHVibGljOgor
ICAgICAgICBjb25zdGV4cHIgRE9NSklUQXR0cmlidXRlKCkKKyAgICAgICAgICAgIDogRE9NSklU
OjpHZXR0ZXJTZXR0ZXIoCisgICAgICAgICAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
OjpjdXN0b21HZXR0ZXIsCisjaWYgRU5BQkxFKEpJVCkKKyAgICAgICAgICAgICAgICAmY2FsbERP
TUdldHRlciwKKyNlbHNlCisgICAgICAgICAgICAgICAgbnVsbHB0ciwKKyNlbmRpZgorICAgICAg
ICAgICAgICAgIFNwZWNJbnQzMk9ubHkpCisgICAgICAgIHsKKyAgICAgICAgfQorCisjaWYgRU5B
QkxFKEpJVCkKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gc2xv
d0NhbGwoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBwb2ludGVyKQorICAgICAgICB7CisgICAgICAg
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0
YXRpY19jYXN0PEpTT2JqZWN0Kj4ocG9pbnRlcik7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9CisKKyAg
ICAgICAgc3RhdGljIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBjYWxsRE9NR2V0
dGVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNu
aXBwZXQ+IHNuaXBwZXQgPSBET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0OjpjcmVhdGUoKTsK
KyAgICAgICAgICAgIHNuaXBwZXQtPnJlcXVpcmVHbG9iYWxPYmplY3QgPSBmYWxzZTsKKyAgICAg
ICAgICAgIHNuaXBwZXQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIFNuaXBw
ZXRQYXJhbXMmIHBhcmFtcykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdHMg
PSBwYXJhbXNbMF0uanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBHUFJSZWcgZG9tID0g
cGFyYW1zWzFdLmdwcigpOworICAgICAgICAgICAgICAgIHBhcmFtcy5hZGRTbG93UGF0aENhbGwo
aml0Lmp1bXAoKSwgaml0LCBzbG93Q2FsbCwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCgpOworCisgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIHJldHVybiBzbmlwcGV0OworICAgICAgICB9CisjZW5kaWYKKyAgICB9OworCitw
cml2YXRlOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKworICAgIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBjdXN0b21HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CisgICAgICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVj
dCo+KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHRoaXNPYmplY3QpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmpl
Y3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICB9Cit9OworCitzdGF0aWMgY29uc3QgRE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGUgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0RE9NSklUOworCit2b2lkIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBjb25z
dCBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gJkRPTUpJVEdldHRlckJhc2VKU09iamVj
dERPTUpJVDsKKyAgICBhdXRvKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBET01BdHRyaWJ1dGVHZXR0
ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgbnVsbHB0ciwgRE9NQXR0cmli
dXRlQW5ub3RhdGlvbiB7IEpTT2JqZWN0OjppbmZvKCksIGRvbUpJVCB9KTsKKyAgICBwdXREaXJl
Y3RDdXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21H
ZXR0ZXIiKSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpOworfQorCiBjb25zdCBDbGFzc0lu
Zm8gRWxlbWVudDo6c19pbmZvID0geyAiRWxlbWVudCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRWxlbWVudCkgfTsKIGNvbnN0IENsYXNzSW5m
byBNYXNxdWVyYWRlcjo6c19pbmZvID0geyAiTWFzcXVlcmFkZXIiLCAmQmFzZTo6c19pbmZvLCBu
dWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hc3F1ZXJhZGVyKSB9OwogY29u
c3QgQ2xhc3NJbmZvIFJvb3Q6OnNfaW5mbyA9IHsgIlJvb3QiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJvb3QpIH07CkBAIC05NjUsNiArMTA0
OSw3IEBAIGNvbnN0IENsYXNzSW5mbyBET01KSVROb2RlOjpzX2luZm8gPSB7ICIKICNlbmRpZgog
Y29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlcjo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyIiwg
JkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01K
SVRHZXR0ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQ29tcGxleDo6c19pbmZv
ID0geyAiRE9NSklUR2V0dGVyQ29tcGxleCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxw
dHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQ29tcGxleCkgfTsKK2NvbnN0IENs
YXNzSW5mbyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRl
ckJhc2VKU09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSB9OwogI2lmIEVOQUJMRShKSVQp
CiBjb25zdCBDbGFzc0luZm8gRE9NSklURnVuY3Rpb25PYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJ
VEZ1bmN0aW9uT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgJkRPTUpJVEZ1bmN0aW9u
T2JqZWN0OjpjaGVja1N1YkNsYXNzU25pcHBldCwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRG
dW5jdGlvbk9iamVjdCkgfTsKICNlbHNlCkBAIC0xMDU3LDYgKzExNDIsODQgQEAgcHJpdmF0ZToK
ICAgICBEZXF1ZTxTdHJpbmc+IG1fcmVwb3J0czsKIH07CiAKK2NsYXNzIEpTVGVzdEN1c3RvbUdl
dHRlclNldHRlciA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKK3B1YmxpYzoKKyAgICB1c2lu
ZyBCYXNlID0gSlNOb25GaW5hbE9iamVjdDsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIEpTVGVzdEN1c3RvbUdl
dHRlclNldHRlcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uo
dm0sIHN0cnVjdHVyZSkKKyAgICB7IH0KKworICAgIHN0YXRpYyBKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpCisgICAgeworICAgICAgICBKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIqIHJlc3VsdCA9IG5l
dyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTVGVzdEN1c3RvbUdldHRlclNldHRlcj4odm0uaGVh
cCwgc2l6ZW9mKEpTVGVzdEN1c3RvbUdldHRlclNldHRlcikpKSBKU1Rlc3RDdXN0b21HZXR0ZXJT
ZXR0ZXIodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24odm0p
OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mIHZtKTsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4g
U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5vYmplY3RQ
cm90b3R5cGUoKSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkp
OworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKK307CisKKworc3RhdGljIEVuY29kZWRKU1Zh
bHVlIGN1c3RvbUdldEFjY2Vzc29yKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKQoreworICAgIC8vIFBhc3NlZCB8dGhpc3wKKyAgICByZXR1cm4gdGhp
c1ZhbHVlOworfQorCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3VzdG9tR2V0VmFsdWUoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90VmFsdWUsIFByb3BlcnR5TmFtZSkKK3sKKyAg
ICBSRUxFQVNFX0FTU0VSVChKU1ZhbHVlOjpkZWNvZGUoc2xvdFZhbHVlKS5pbmhlcml0cyhleGVj
LT52bSgpLCBKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmluZm8oKSkpOworICAgIC8vIFBhc3Nl
ZCBwcm9wZXJ0eSBob2xkZXIuCisgICAgcmV0dXJuIHNsb3RWYWx1ZTsKK30KKworc3RhdGljIGJv
b2wgY3VzdG9tU2V0QWNjZXNzb3IoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpCit7CisgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKKworICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZh
bHVlKTsKKyAgICBSRUxFQVNFX0FTU0VSVCh2YWx1ZS5pc09iamVjdCgpKTsKKyAgICBKU09iamVj
dCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KG9i
amVjdCk7CisgICAgb2JqZWN0LT5wdXQob2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgInJlc3VsdCIpLCBKU1ZhbHVlOjpkZWNvZGUodGhpc09iamVjdCksIHNsb3QpOwor
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGN1c3RvbVNldFZhbHVlKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKworICAgIFJFTEVBU0VfQVNT
RVJUKEpTVmFsdWU6OmRlY29kZShzbG90VmFsdWUpLmluaGVyaXRzKGV4ZWMtPnZtKCksIEpTVGVz
dEN1c3RvbUdldHRlclNldHRlcjo6aW5mbygpKSk7CisKKyAgICBKU1ZhbHVlIHZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CisgICAgUkVMRUFTRV9BU1NFUlQodmFsdWUuaXNP
YmplY3QoKSk7CisgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBQ
dXRQcm9wZXJ0eVNsb3Qgc2xvdChvYmplY3QpOworICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhl
YywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJyZXN1bHQiKSwgSlNWYWx1ZTo6ZGVjb2Rl
KHNsb3RWYWx1ZSksIHNsb3QpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgSlNUZXN0
Q3VzdG9tR2V0dGVyU2V0dGVyOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgcHV0RGly
ZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9t
VmFsdWUiKSwKKyAgICAgICAgQ3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGN1c3RvbUdl
dFZhbHVlLCBjdXN0b21TZXRWYWx1ZSksIDApOworICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29y
KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbUFjY2Vzc29yIiksCisgICAg
ICAgIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBjdXN0b21HZXRBY2Nlc3NvciwgY3Vz
dG9tU2V0QWNjZXNzb3IpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
OkN1c3RvbUFjY2Vzc29yKSk7Cit9CisKK2NvbnN0IENsYXNzSW5mbyBKU1Rlc3RDdXN0b21HZXR0
ZXJTZXR0ZXI6OnNfaW5mbyA9IHsgIkpTVGVzdEN1c3RvbUdldHRlclNldHRlciIsICZCYXNlOjpz
X2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q3VzdG9t
R2V0dGVyU2V0dGVyKSB9OworCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBm
dW5jdGlvbkNyZWF0ZVByb3h5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVSdW50aW1lQXJyYXkoRXhlY1N0YXRlKik7CiBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUltcHVyZUdldHRl
cihFeGVjU3RhdGUqKTsKQEAgLTEwNjYsNiArMTIyOSw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdChFeGVjU3RhdGUqKTsKIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklURnVu
Y3Rpb25PYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QoRXhlY1N0YXRlKik7
CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJ
VEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbihFeGVjU3RhdGUqKTsKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0KEV4
ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25T
ZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqKTsKQEAgLTExNzcsNiArMTM0MSw4IEBA
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uV2FpdEZvclJlcG9ydChFeGVjU3RhdGUqKTsK
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uSGVhcENhcGFjaXR5
KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25GbGFzaEhlYXBBY2Nlc3MoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSop
Oworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVDdXN0
b21UZXN0R2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSopOwogCiBzdHJ1Y3QgU2NyaXB0IHsKICAgICBl
bnVtIGNsYXNzIFN0cmljdE1vZGUgewpAQCAtMTM4Miw2ICsxNTQ4LDcgQEAgcHJvdGVjdGVkOgog
ICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3Qi
LCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QsIDApOwogICAgICAgICBh
ZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0IiwgZnVuY3Rpb25DcmVh
dGVET01KSVRGdW5jdGlvbk9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3Jl
YXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tT
dWJDbGFzc09iamVjdCwgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUJ1aWx0aW4iLCBmdW5jdGlv
bkNyZWF0ZUJ1aWx0aW4sIDIpOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUdsb2Jh
bE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVu
Y3Rpb24odm0sICJzZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSIsIGZ1bmN0aW9uU2V0SW1wdXJlR2V0
dGVyRGVsZWdhdGUsIDIpOwpAQCAtMTQ2Niw2ICsxNjMzLDkgQEAgcHJvdGVjdGVkOgogCiAgICAg
ICAgIGFkZEZ1bmN0aW9uKHZtLCAiaGVhcENhcGFjaXR5IiwgZnVuY3Rpb25IZWFwQ2FwYWNpdHks
IDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImZsYXNoSGVhcEFjY2VzcyIsIGZ1bmN0aW9u
Rmxhc2hIZWFwQWNjZXNzLCAwKTsKKworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImxvYWRHZXR0
ZXJGcm9tR2V0dGVyU2V0dGVyIiwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlciwg
MSk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRl
ciIsIGZ1bmN0aW9uQ3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlciwgMSk7CiAgICAgfQogICAg
IAogICAgIHZvaWQgYWRkRnVuY3Rpb24oVk0mIHZtLCBKU09iamVjdCogb2JqZWN0LCBjb25zdCBj
aGFyKiBuYW1lLCBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgdW5zaWduZWQgYXJndW1lbnRzKQpA
QCAtMjExNSw2ICsyMjg1LDE2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rp
b25DcmUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKK0VuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNM
b2NrSG9sZGVyIGxvY2sodm0pOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwganNOdWxsKCkpOworICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogcmVzdWx0
ID0gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworfQorCisKIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTI4MzIsNiArMzAxMiwyNCBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRmxhCiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKEV4ZWNTdGF0ZSogZXhlYykK
K3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIFJFTEVBU0VfQVNTRVJUKGV4ZWMtPmFy
Z3VtZW50Q291bnQoKSA+PSAxKTsKKyAgICBHZXR0ZXJTZXR0ZXIqIGdldHRlclNldHRlciA9IGpz
RHluYW1pY0Nhc3Q8R2V0dGVyU2V0dGVyKj4odm0sIGV4ZWMtPmFyZ3VtZW50KDApKTsKKyAgICBS
RUxFQVNFX0FTU0VSVChnZXR0ZXJTZXR0ZXIpOworICAgIEpTT2JqZWN0KiBnZXR0ZXIgPSBnZXR0
ZXJTZXR0ZXItPmdldHRlcigpOworICAgIFJFTEVBU0VfQVNTRVJUKGdldHRlcik7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShnZXR0ZXIpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlcihFeGVjU3RhdGUqIGV4
ZWMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOworICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGdsb2Jh
bE9iamVjdCkpKTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlPgogdHlwZW5hbWUg
c3RkOjplbmFibGVfaWY8IXN0ZDo6aXNfZnVuZGFtZW50YWw8VmFsdWVUeXBlPjo6dmFsdWU+Ojp0
eXBlIGFkZE9wdGlvbihWTSYsIEpTT2JqZWN0KiwgSWRlbnRpZmllciwgVmFsdWVUeXBlKSB7IH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDU5LDYgKzEwNTksNyBAQAogCQk3OTE5Qjc4MDFF
MDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3OTE5Qjc3RjFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzky
MzNDMkIxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJ
VE1hdGhJQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTc5MkNCMzRBMUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyQ0IzNDgxQzRFRUQ1
QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFBy
b3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8q
IEdldFB1dEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3OTY1QzIxNzFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNC
eUdyYXBoQ29sb3JpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5NjVDMjE1MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5
R3JhcGhDb2xvcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTc5NkRBQTJCMUU4OUNDRDYwMDVERjI0QSAvKiBDYWxsZWVCaXRzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTZEQUEyQTFFODlDQ0Q2
MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CkBAIC0zNDk4LDYgKzM0OTksOCBAQAogCQk3OTIzM0MyOTFEMzQ3MTU3
MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpJVE1hdGhJQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0NzFDNEVF
RDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3OTJDQjM0ODFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5N
YXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAz
IC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0NTc1Q0Qx
RjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFByb3RvdHlwZUFjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5
NUYwOTlDMUUwMzYwMDUwMEJCRTM3RiAvKiBCM0NvbXBpbGUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gQjNDb21waWxlLmNwcDsgcGF0aCA9IGIzL0IzQ29tcGlsZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlF
RSAvKiBHZXRQdXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1
dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk2NUMyMTQxRTVENzk5NjAw
Qjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFw
aENvbG9yaW5nLmNwcDsgcGF0aCA9IGIzL2Fpci9BaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhD
b2xvcmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03MzY1LDYgKzczNjgs
OCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAvKiBQcm9ncmFtQ29kZUJsb2NrLmgg
Ki8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmNw
cCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUgLyogUHJvcGVydHlDb25kaXRpb24u
aCAqLywKKwkJCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hh
aW4uY3BwICovLAorCQkJCTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxh
Z3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3Mu
aCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYgLyogUHV0QnlJZFN0YXR1cy5jcHAg
Ki8sCkBAIC04NTU0LDYgKzg1NTksNyBAQAogCQkJCUExQjlFMjNFMUI0RTBENjcwMEJDN0ZFRCAv
KiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExODE5M0U0MUI0
RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk3OTQ1NzVDRTFGNzM0OTc2MDBCQTQ2MDMgLyogUHJvdG90eXBl
QWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcwMUI0REMxNDEwMEQ2OTg0
OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIxQjREQzE0MTAwRDY5ODQ5IC8qIElu
dGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNwcAkocmV2aXNpb24g
MjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lE
RU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIElOSVRJQUxJWkVfQlVJTFRJTl9QUklWQVRFX05B
TUVTCiAKIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZSB7
ICJQcml2YXRlU3ltYm9sLiR2bSIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9OworU3lt
Ym9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSB7ICJQ
cml2YXRlU3ltYm9sLl9fcHJvdG9fXyIsIFN5bWJvbEltcGw6OnNfZmxhZ0lzUHJpdmF0ZSB9Owog
CiB9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBERUNMQVJFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwog
CiBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1l
OworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJp
dmF0ZU5hbWU7CiB9CiAKICNkZWZpbmUgSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRS
WShuYW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8jI25hbWUjI1ByaXZhdGVOYW1lLmlt
cGwoKSwgJm1fIyNuYW1lKTsKQEAgLTIzMCw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIEpT
Q19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJ
QUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1fZG9sbGFyVk1OYW1lKElkZW50aWZp
ZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKICAgICAgICAgLCBtX2RvbGxhclZNUHJpdmF0ZU5h
bWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1i
b2xzOjpkb2xsYXJWTVByaXZhdGVOYW1lKSkpCisgICAgICAgICwgbV91bmRlcnNjb3JlUHJvdG9Q
cml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1w
bCY+KFN5bWJvbHM6OnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKSkpCiAgICAgewogICAgICAg
ICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RP
X1BVQkxJQ19FTlRSWSkKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VB
Q0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZKQpAQCAt
MjM4LDYgKzI0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElBTElaRV9TWU1CT0xfUFVCTElDX1RP
X1BSSVZBVEVfRU5UUlkpCiAgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX2RvbGxh
clZNUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTU5hbWUpOwogICAgICAgICBtX3B1Ymxp
Y1RvUHJpdmF0ZU1hcC5hZGQobV9kb2xsYXJWTU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTVByaXZh
dGVOYW1lKTsKKyAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWUuaW1wbCgpLCAmY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90
byk7CisgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFkZChjb21tb25JZGVudGlmaWVycy0+
dW5kZXJzY29yZVByb3RvLmltcGwoKSwgJm1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpOwog
ICAgIH0KIAogICAgIGNvbnN0IElkZW50aWZpZXIqIGxvb2tVcFByaXZhdGVOYW1lKGNvbnN0IElk
ZW50aWZpZXImKSBjb25zdDsKQEAgLTI1MCw2ICsyNTQsNyBAQCBwdWJsaWM6CiAgICAgSlNDX0NP
TU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9C
VUlMVElOX1NZTUJPTF9BQ0NFU1NPUikKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIGRvbGxh
clZNUHVibGljTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1OYW1lOyB9CiAgICAgY29u
c3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9kb2xsYXJWTVByaXZhdGVOYW1lOyB9CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiB1bmRl
cnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBJZGVudGlmaWVyIG1fZW1wdHlJZGVudGlm
aWVyOwpAQCAtMjU4LDYgKzI2Myw3IEBAIHByaXZhdGU6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRF
X0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJP
TFMpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1OYW1lOwogICAgIGNvbnN0
IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNUHJpdmF0ZU5hbWU7CisgICAgY29uc3QgSlNDOjpJ
ZGVudGlmaWVyIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiAgICAgdHlwZWRlZiBIYXNo
TWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0IElkZW50aWZpZXIqLCBJZGVudGlm
aWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3B1Ymxp
Y1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wcml2YXRlVG9QdWJsaWNNYXA7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3Bw
CShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNj
ZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDM2ICs1NSwzOSBAQCBuYW1lc3BhY2Ug
QWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsK
IH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK0FjY2Vzc0Nh
c2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiAgICAgOiBtX3R5cGUodHlwZSkK
ICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4oV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9zdHJ1Y3R1cmUuc2V0TWF5QmVO
dWxsKHZtLCBvd25lciwgc3RydWN0dXJlKTsKICAgICBtX2NvbmRpdGlvblNldCA9IGNvbmRpdGlv
blNldDsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3ND
YXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVB
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7
CiAgICAgY2FzZSBJbkhpdDoKICAgICBjYXNlIEluTWlzczoKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKICAgICBjYXNlIERpcmVj
dEFyZ3VtZW50c0xlbmd0aDoKICAgICBjYXNlIFNjb3BlZEFyZ3VtZW50c0xlbmd0aDoKICAgICBj
YXNlIE1vZHVsZU5hbWVzcGFjZUxvYWQ6CiAgICAgY2FzZSBSZXBsYWNlOgorICAgICAgICBSRUxF
QVNFX0FTU0VSVCghcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwogICAgICAgICBicmVhazsKICAgICBk
ZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9OwogCi0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKICAgICBWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBvbGRTdHJ1
Y3R1cmUsIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBSRUxFQVNFX0FTU0VSVChvbGRTdHJ1
Y3R1cmUgPT0gbmV3U3RydWN0dXJlLT5wcmV2aW91c0lEKCkpOwogCkBAIC05Niw3ICs5OSw3IEBA
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjoKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0
dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0K
IAogQWNjZXNzQ2FzZTo6fkFjY2Vzc0Nhc2UoKQpAQCAtMTM1LDcgKzEzOCw4IEBAIFZlY3RvcjxX
YXRjaHBvaW50U2V0KiwgMj4gQWNjZXNzQ2FzZTo6Y28KICAgICBWZWN0b3I8V2F0Y2hwb2ludFNl
dCosIDI+IHJlc3VsdDsKIAogICAgIGlmICgoc3RydWN0dXJlKCkgJiYgc3RydWN0dXJlKCktPm5l
ZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKLSAgICAgICAgfHwgbV9jb25kaXRpb25TZXQu
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICB8fCBtX2NvbmRpdGlvblNl
dC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkKKyAgICAgICAgfHwgKG1fcHJvdG90eXBl
QWNjZXNzQ2hhaW4gJiYgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+bmVlZEltcHVyZVByb3BlcnR5
V2F0Y2hwb2ludCgpKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCh2bS5lbnN1cmVXYXRjaHBvaW50
U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRlbnQpKTsKIAogICAgIGlmIChhZGRpdGlvbmFsU2V0KCkp
CkBAIC0xNTEsNiArMTU1LDkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpndWFyZGVkQnlTdHJ1Y3R1cmVD
aGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBp
ZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
c3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5n
TGVuZ3RoOgpAQCAtMTg4LDYgKzE5NSw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6ZG9lc0NhbGxzKFZl
Y3RvcjxKU0NlbGwKIAogYm9vbCBBY2Nlc3NDYXNlOjpjb3VsZFN0aWxsU3VjY2VlZCgpIGNvbnN0
CiB7CisgICAgLy8gT09QUworICAgIC8vYm9vbCBhbGxBcmVXYXRjaGFibGUgPSB0cnVlOworICAg
IC8vZm9yICgpCiAgICAgcmV0dXJuIG1fY29uZGl0aW9uU2V0LnN0cnVjdHVyZXNFbnN1cmVWYWxp
ZGl0eUFzc3VtaW5nSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCk7CiB9CiAKQEAgLTIxMCw2ICsy
MjAsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogICAgICAg
ICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkgPT0gb3RoZXJDYXNlLm1v
ZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBkZWZhdWx0OgorICAgICAgICBpZiAo
b3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
ICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgaWYgKCFvdGhl
ci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hlY2sgd2UgbmVlZCBzaW5jZSBQcm90
b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAg
ICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWluIG9ubHkgdGhlIHByb3RvdHlwZSBj
aGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAgICAgICAgICAgLy8gdGhpcyB0byBj
aGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCkg
PT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAgICAmJiAqbV9wcm90b3R5cGVBY2Nl
c3NDaGFpbiA9PSAqb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICAgICAgfQorCiAg
ICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAhb3RoZXIuZ3VhcmRlZEJ5
U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjE5LDIy
ICsyNDIsMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogCiB2
b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBvdXQu
cHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwgbV90eXBlLCAiOigiKTsK
IAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmludChjb21tYSwgbV9zdGF0
ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAgICAgIG91dC5wcmludChj
b21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBw
b2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQot
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0
cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQobV9vZmZzZXQpKQogICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNldCk7CiAgICAgaWYgKCFt
X2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgImNvbmRp
dGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3ND
aGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWlu
ID0gIik7CisgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmR1bXAoc3RydWN0dXJlKCks
IG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQor
ICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAo
c3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAg
ICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAi
c3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisK
ICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0
Myw2ICsyNzEsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAog
ewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0
KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3Ry
dWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9
CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDcsMTEgQEAgYm9v
bCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVy
ZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsK
IAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAg
ICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQor
CiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlm
IChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkK
QEAgLTM3MiwyNiArNDExLDY0IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQo
CiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4
KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5m
b1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9h
ZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0
KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAg
ICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAg
ICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nl
c3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFIgPSBzdGF0ZS5z
Y3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFzZUdQUiwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5mb3JFYWNoKHN0
cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIGF0RW5kKSB7CisgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhi
YXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgaWYgKGF0RW5kKSB7
CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09IE1pc3MgfHwgbV90eXBlID09IElu
TWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBhIE1pc3MvSW5NaXNz
L1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBlbmQgd2hlbiB0aGUgbGFz
dCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmFuc2l0
aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVyaWZ5IHRoZXJlIGlzbid0
IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1pc3Mv
SW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNuJ3QgYSBuZXcgaXRlbSBh
dCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBo
YXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAg
ICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRv
QmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWws
IGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkp
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJv
dG90eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVj
dChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUt
PmlzT2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90b3R5cGUu
IFdlIHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAgICAgICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgp
OworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQo
b2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NH
UFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0Nh
bGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
KyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZv
cndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3Jh
dGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAg
ICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwNSw4IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQobV9jb25kaXRpb25TZXQu
c3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQo
KSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBjb25kaXRpb24g
OiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9wcm90b3R5cGVB
Y2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25kaXRpb24u
b2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25kaXRpb24uaXNXYXRjaGFi
bGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC01MDQsMTMgKzU4Mywy
MyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAg
ICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vz
c0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAg
ICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0
cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOworICAgICAg
ICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy9kYXRhTG9nTG4o
IkdlbmVyYXRpbmcgcHJvdG90eXBlIGFjY2VzcyBjaGFpbjoiKTsKKyAgICAgICAgICAgIC8vZGF0
YUxvZ0xuKCp0aGlzKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIik7CisKKyAgICAgICAgICAgIC8vIFRoaXMgaXNuJ3QgcHJldHR5
LCBidXQgd2Uga25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQsCisgICAgICAg
ICAgICAvLyBhbmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2VzcyBpbnNpZGUgc2NyYXRjaEdQUi4g
V2UgY291bGQgcmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAgICAgICAgLy8gYnV0IGl0J2QgcmVx
dWlyZSBlbWl0dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQgdGhlIGJhc2UgdHdpY2UuCiAgICAg
ICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0g
ICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7CisgICAg
ICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgICAg
ICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAg
ICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0gSW52YWxpZEdQUlJlZzsKICAg
ICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9t
QWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVlU2V0dGVyICYmIG1fdHlwZSAh
PSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3ICsxMTA1LDcgQEAgdm9pZCBBY2Nl
c3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAKICAgICBjYXNlIEludHJp
bnNpY0dldHRlcjogewogICAgICAgICBSRUxFQVNFX0FTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNl
dCgpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBnZXR0
ZXIgdmFsdWUgZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVzLiBOb3RlIHRoYXQgR2V0dGVyU2V0
dGVycwogICAgICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdlIGp1c3QgbmVlZCB0byB3YXRjaCB0
aGUgcHJvcGVydHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQuCiAgICAgICAgIFN0cnVjdHVyZSog
Y3VyclN0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Fj
Y2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAj
aW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCiAjaW5jbHVk
ZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTEyMCwxMSArMTIx
LDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0ID0gaW52YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
KCkpOworICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgLy8gVGhpcyBjcmVh
dGUgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0aW9ucy4KICAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIFByb3Bl
cnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwKLSAgICAgICAgU3RydWN0dXJlKiBu
ZXdTdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4gZnJvbVN0cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxsKiBvd25lciwgU3RydWN0dXJlU3R1
YkluZm8mKTsKIApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5B
Y2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJvdG8oKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICB9CisKIHByb3RlY3Rl
ZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jik7
Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWZhdWx0OworICAgIEFjY2Vz
c0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3Ry
dWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9w
dHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nlc3NDYXNlKEFjY2Vzc0Nhc2UmJikg
PSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYgb3RoZXIpCisgICAg
ICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAgLCBtX3N0YXRlKG90aGVyLm1fc3Rh
dGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZzZXQpCisgICAgICAgICwgbV9zdHJ1
Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwgbV9jb25kaXRpb25TZXQob3RoZXIu
bV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAob3RoZXIubV9wcm90b3R5cGVBY2Nl
c3NDaGFpbikKKyAgICAgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBvdGhlci5tX3By
b3RvdHlwZUFjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0KKwogICAgIEFjY2Vzc0Nhc2UmIG9w
ZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRl
KCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0yMjcsNiArMjQ0LDggQEAgcHJpdmF0
ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5Myw3ICs1OTMs
NyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAg
ICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29wTGVuZ3RoIC0gMl0udS5vcGVyYW5k
OwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMV0gPSBvYmplY3RB
bGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5p
bml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRp
YWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LmdldCgpLCB0
aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJ
ZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2Vz
cyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5
KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwg
dHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1
Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nh
c2UuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0
MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMg
Y29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6
OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90
QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFj
Y2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBj
dXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90
b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9jdXN0b21TbG90QmFzZS5zZXRN
YXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVf
cHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYg
dm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNP
YmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRp
b24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
dHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAgICBzdGQ6Om9w
dGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBz
d2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDE4ICs2MywxOCBAQCBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxT
ZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFs
U2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAg
ICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9j
dXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUo
cmVzdWx0KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKLSAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0No
YWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMg
Y3VzdG9tU2V0dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NF
UlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09
IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwg
dHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1
c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nh
c2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90
QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fY3Vz
dG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJl
c3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKLSAgICAgICAgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQo
KSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxs
cHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3Rk
OjpudWxsb3B0KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9w
dGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
Y3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVy
dHlPZmZzZXQsCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+LAorICAg
ICAgICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsIEpTT2JqZWN0KiBj
dXN0b21TbG90QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVh
bSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNjcsNyArNjMsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFj
Y2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRl
clNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2Nh
dGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjY2MykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2Nh
dGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOCArNDYsMTEgQEAgcHJpdmF0ZToK
IGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTo6Y3Jl
YXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgU3RydWN0dXJl
KiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1
cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAg
ICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogCiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBwb2x5bW9ycGhpYyBw
cm90b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIGlmIChwcm90b3R5
cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgICAgIHN0cnVjdHVy
ZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNw
cAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lu
dHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3
IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6SW50cmlu
c2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKQotICAg
IDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNv
bmRpdGlvblNldCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpCiB7CiAgICAgbV9pbnRyaW5zaWNG
dW5jdGlvbi5zZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5jdGlvbik7CiB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0
ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNhbkVtaXRJbnRyaW5zaWNH
ZXR0ZXIoSlNGdW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZW1pdEludHJpbnNpY0dl
dHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMg
d29yayB3aXRoIHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rp
b24pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3Zl
cnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNw
YWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2Fz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVzcGFjZSBKU0Mgewog
CiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVz
cGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52aXJvbm1lbnQsIFNjb3Bl
T2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIE1vZHVsZU5hbWVzcGFj
ZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9m
ZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgbnVsbHB0cikKICAg
ICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9tb2R1bGVOYW1lc3BhY2VP
YmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsMTc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5o
IgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVz
LmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpp
bml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Q2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5l
Q2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAgIEFTU0VSVCghbV9hbGxv
Y2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFTU0VSVCghbV9pbmxpbmVD
YXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5IHByb3RvLCB3ZSBzaG91
bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3JlYXRlX3RoaXMnIGZhc3Qg
cGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4KKyAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgYm9vbCBpc1BvbHlQ
cm90byA9IGZhbHNlOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IG51bGxw
dHI7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIGV4ZWN1dGFibGUgPSBjb25zdHJ1
Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisKKyAgICAgICAgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAg
ICAgICAgaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAgICBpc1BvbHlQ
cm90byA9IHRydWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gZXhl
Y3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpLmhhc0JlZW5JbnZhbGlkYXRlZCgp
ICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgp
OzsKKworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpKSB7
CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5
cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1fYWxsb2NhdG9yID0g
bnVsbHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlu
bGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgLy9JbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9y
ID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSktPmVuc3VyZUlu
ZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICAvL2Jvb2wgcGFyZW50UHJvdG90eXBlSXNQ
b2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgLy9pZiAoSlNPYmplY3QqIHByb3RvdHlwZU9mUHJv
dG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGUtPmdldFByb3Rv
dHlwZURpcmVjdCgpKSkgeworICAgICAgICAvLyAgICBpZiAocHJvdG90eXBlT2ZQcm90b3R5cGUt
PnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAgICAgICAgLy8gICAgICAgIFN0cnVj
dHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUo
dm0pLT5yYXJlRGF0YSgpOworICAgICAgICAvLyAgICAgICAgcGFyZW50UHJvdG90eXBlSXNQb2x5
UHJvdG8gPSByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3RvcigpICYmIHJhcmVEYXRhLT5pbmZl
cnJlZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICAvLyAgICB9
CisgICAgICAgIC8vfQorCisgICAgICAgIC8vaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3Jp
dGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSIpOworCisgICAgICAgIC8vaXNQb2x5UHJvdG8gPSAoaW5mZXJy
ZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgfHwgcGFyZW50UHJvdG90eXBlSXNQ
b2x5UHJvdG8pICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZh
bGlkYXRlZCgpOworICAgICAgICAvL2lmIChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAg
ICAgICAvLyAgICBpc1BvbHlQcm90byA9IHRydWU7CisKKyAgICAgICAgLy9pZiAoaXNQb2x5UHJv
dG8pIHsKKyAgICAgICAgLy8gICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZXhlY3V0YWJs
ZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgLy8gICAgICAgIFJFTEVB
U0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBl
KTsKKyAgICAgICAgLy8gICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgLy8g
ICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgIC8v
ICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOwor
ICAgICAgICAvLyAgICAgICAgcmV0dXJuOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vfQor
ICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgp
KSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMg
YW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVk
SW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUs
IHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAg
ICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVu
IHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBl
bHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElu
bGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUg
d2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAg
ICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7
CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2Fw
YWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBs
YXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsK
KyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6
Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlu
bGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworCisg
ICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUo
aW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2Vs
bFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFu
dGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNz
LgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9y
LT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtu
b3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxp
bmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAg
ICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7
CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAg
ICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAg
bV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICBleGVjdXRhYmxlLT5zZXRDYWNoZWRQb2x5
UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYg
KGV4ZWN1dGFibGUpIHsKKyAgICAgICAgICAgIGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dh
dGNocG9pbnQoKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZW5zdXJlUmFyZURhdGEodm0pLT5z
ZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KGV4ZWN1dGFibGUtPnNoYXJlZFBvbHlQcm90b1dh
dGNocG9pbnQoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRv
cjsKKyAgICB9CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRo
ZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0
b3JlU3RvcmVGZW5jZSgpOworCisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0
dXJlKTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2ln
bmVkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHBy
b3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJv
cGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywg
UHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCkt
PmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51
bWVyYXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1l
VmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnBy
b3BlcnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlO
YW1lVmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5
cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBG
dW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMg
dGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVu
Y3Rpb24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytj
b3VudDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpT
QwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0
dXJuICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VS
VCghbV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAg
QVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBh
Y2l0eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBz
aHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBp
bmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0s
IHByb3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
ewotICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlr
ZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBz
ZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhl
bHBlciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9
IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBl
bHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElu
bGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMg
YXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAg
ICAgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAg
ICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGlu
ZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5
ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBh
Y2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAg
IGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlm
IChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0g
ICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVD
YXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4g
MCk7Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0Zp
bmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtl
ZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0
aW9uU2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBp
bmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAo
YWxsb2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxT
aXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsK
LSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5s
aW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAg
ICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJv
dG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYg
YW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJs
eSBjcmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9h
bGxvY2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIs
IHN0cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsK
LSAgICB9CisgICAgdm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2ln
bmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVs
bHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYx
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9j
YXRvciA9IDA7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1
Y3R1cmUuY2xlYXIoKTsKICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFT
U0VSVChpc051bGwoKSk7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgog
Ci0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2Jq
ZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlw
ZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJu
IDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJy
YXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3lt
Ym9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0
cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1l
QXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRh
OjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFy
cmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBK
U1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3Rv
cltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVz
dWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAg
ICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1
bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJr
ZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBl
YXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
c3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI2
NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbiBnZW5lcmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0K
ICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbjo6YWJzZW5jZSgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVj
dC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDog
eworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAg
ICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0g
T2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAg
IHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0yNDksNiArMjUzLDcgQEAgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogewogICAgIFZlY3RvcjxPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbj4gY29uZGl0aW9uczsKICAgICAKKyAgICBKU09iamVjdCogYmFzZSA9
IG51bGxwdHI7CiAgICAgZm9yICg7OykgewogICAgICAgICBpZiAoT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXRJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkNvbnNpZGVy
aW5nIHN0cnVjdHVyZTogIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKSwgIlxuIik7CkBAIC0yNTgs
OCArMjYzLDE5IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAg
ICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAg
ICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwog
ICAgICAgICB9CisKKyAgICAgICAgLy8gT09QUzoKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpIC8qJiYgIWJhc2UqLykgeworICAgICAgICAgICAgLy8gRklYTUU6
IEludGVncmF0ZSB0aGlzIHdpdGggUHJvdG90eXBlQWNjZXNzQ2hhaW46CisgICAgICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAg
ICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKKyAgICAg
ICAgfQogICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHN0cnVjdHVyZS0+cHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgICAgIEpTVmFsdWUgdmFsdWU7CisgICAg
ICAgIGlmICghYmFzZSkKKyAgICAgICAgICAgIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVG
b3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdmFsdWUg
PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAg
ICAgICAKICAgICAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKSB7CiAgICAgICAgICAgICBpZiAoIXBy
b3RvdHlwZSkgewpAQCAtMjczLDYgKzI4OSw3IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
IGdlbmVyYXRlQ29uZGkKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNPYmplY3QqIG9i
amVjdCA9IGpzQ2FzdDxKU09iamVjdCo+KHZhbHVlKTsKKyAgICAgICAgYmFzZSA9IG9iamVjdDsK
ICAgICAgICAgc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICAKICAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKQEAgLTM2MSwyNCArMzc4LDYg
QEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICB9KTsK
IH0KIAotT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
dG90eXBlUHJvcGVydHlIaXRDdXN0b20oCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgSlNPYmplY3QqIHByb3RvdHlw
ZSwKLSAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQotewotICAgIHJldHVybiBnZW5lcmF0ZUNv
bmRpdGlvbnMoCi0gICAgICAgIHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGhlYWRT
dHJ1Y3R1cmUsIHByb3RvdHlwZSwKLSAgICAgICAgWyZdIChWZWN0b3I8T2JqZWN0UHJvcGVydHlD
b25kaXRpb24+JiBjb25kaXRpb25zLCBKU09iamVjdCogb2JqZWN0KSAtPiBib29sIHsKLSAgICAg
ICAgICAgIGlmIChvYmplY3QgPT0gcHJvdG90eXBlKQotICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24gcmVzdWx0ID0KLSAgICAg
ICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbih2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBQcm9w
ZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZSk7Ci0gICAgICAgICAgICBpZiAoIXJlc3VsdCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjb25kaXRpb25zLmFwcGVuZChy
ZXN1bHQpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0pOwotfQotCiBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVFcXVp
dmFsZW5jZUNvbmN1cnJlbnRseSgKICAgICBWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgSlNPYmplY3QqIHByb3RvdHlwZSwgVW5p
cXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oCShyZXZp
c2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTY1LDkgKzE2NSw2IEBAIE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAogICAg
IFZNJiwgSlNDZWxsKiBvd25lciwgRXhlY1N0YXRlKiwgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJl
LCBKU09iamVjdCogcHJvdG90eXBlLAogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwotT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJv
cGVydHlIaXRDdXN0b20oCi0gICAgVk0mLCBKU0NlbGwqIG93bmVyLCBFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIEpTT2JqZWN0KiBwcm90b3R5cGUsCi0gICAgVW5pcXVlZFN0
cmluZ0ltcGwqIHVpZCk7CiAKIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZUVxdWl2YWxlbmNlQ29uY3VycmVudGx5KAogICAgIFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIEpTT2JqZWN0KiBwcm90b3R5
cGUsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nl
c3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
OCw2ICsyNTgsNjAgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhpY0FjY2Vzcwog
ICAgIGlmIChjYXNlc1RvQWRkLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEFjY2Vzc0dlbmVy
YXRpb25SZXN1bHQ6Ok1hZGVOb0NoYW5nZXM7CiAKKyAgICBhdXRvIHNob3VsZENvbnZlcnRUb1Bv
bHlQcm90byA9IFsmXSAoU3RydWN0dXJlKiBhLCBTdHJ1Y3R1cmUqIGIpIHsKKyAgICAgICAgaWYg
KCFhIHx8ICFiKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGlmIChhID09
IGIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gV2Ugb25seSBjYXJl
IGFib3V0IG9iamVjdHMgY3JlYXRlZCB2aWEgYSBjb25zdHJ1Y3RvcidzIHRvX3RoaXMuIFRoZXNl
CisgICAgICAgIC8vIGFsbCBoYXZlIHJhcmUgZGF0YS4KKyAgICAgICAgaWYgKCFhLT5oYXNSYXJl
RGF0YSgpIHx8ICFiLT5oYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgICAgIGlmICghYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgp
IHx8ICFiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKCFhLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSB8fCAhYi0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgaWYgKGEtPnN0b3JlZFByb3RvdHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlw
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlIChhICYmIGIp
IHsKKyAgICAgICAgICAgIGlmICghYS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIWItPmhhc1N0
b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICAgICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgYSA9IGEtPnN0b3JlZFByb3Rv
dHlwZVN0cnVjdHVyZSgpOworICAgICAgICAgICAgYiA9IGItPnN0b3JlZFByb3RvdHlwZVN0cnVj
dHVyZSgpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuICFhICYmICFiOworICAgIH07CisK
KyAgICBib29sIHNob3VsZFJlc2V0ID0gZmFsc2U7CisgICAgZm9yIChhdXRvJiBjYXNlVG9BZGQg
OiBjYXNlc1RvQWRkKSB7CisgICAgICAgIGZvciAoYXV0byYgZXhpc3RpbmdDYXNlIDogbV9saXN0
KSB7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSBjYXNlVG9BZGQtPnN0cnVjdHVyZSgpOwor
ICAgICAgICAgICAgU3RydWN0dXJlKiBiID0gZXhpc3RpbmdDYXNlLT5zdHJ1Y3R1cmUoKTsKKyAg
ICAgICAgICAgIGlmIChzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAg
ICAgICAgICAvLyBPT1BTOiBtYXliZSB0aGlzIHdpbGwgZGVzdHJveSBvdXJzZWx2ZXMgaWYgd2Ug
c3RhcnQgd2F0Y2hpbmcgZm9yIHRoZXNlPyBJZiBzbywgaGF2ZSBhIHdheSB0byBjb2xsZWN0LCBh
bmQgZmlyZQorICAgICAgICAgICAgICAgIC8vIHRoZW0gaW4gZGVsYXllZCBmYXNoaW9uLgorICAg
ICAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+
aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBv
cnR1bml0eS4iKSk7CisgICAgICAgICAgICAgICAgYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVBy
b3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3Rl
ZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKworICAgICAgICAgICAgICAgIHNob3VsZFJl
c2V0ID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChz
aG91bGRSZXNldCkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkNsZWFy
U3R1YjsKKwogICAgIC8vIE5vdyBhZGQgdGhpbmdzIHRvIHRoZSBuZXcgbGlzdC4gTm90ZSB0aGF0
IGF0IHRoaXMgcG9pbnQsIHdlIHdpbGwgc3RpbGwgaGF2ZSBvbGQgY2FzZXMgdGhhdAogICAgIC8v
IG1heSBiZSByZXBsYWNlZCBieSB0aGUgbmV3IG9uZXMuIFRoYXQncyBmaW5lLiBXZSB3aWxsIHNv
cnQgdGhhdCBvdXQgd2hlbiB3ZSByZWdlbmVyYXRlLgogICAgIGZvciAoYXV0byYgY2FzZVRvQWRk
IDogY2FzZXNUb0FkZCkgewpAQCAtMzM5LDcgKzM5Myw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6
dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlz
dER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0
YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+
Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5z
dHViSW5mbyA9ICZzdHViSW5mbzsKQEAgLTU5MCw2ICs2NDQsOSBAQCB2b2lkIHByaW50SW50ZXJu
YWwoUHJpbnRTdHJlYW0mIG91dCwgQWNjCiAgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
OjpHZW5lcmF0ZWRGaW5hbENvZGU6CiAgICAgICAgIG91dC5wcmludCgiR2VuZXJhdGVkRmluYWxD
b2RlIik7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6
OkNsZWFyU3R1YjoKKyAgICAgICAgb3V0LnByaW50KCJDbGVhclN0dWIiKTsKKyAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICAKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNj
ZXNzLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw4IEBAIHB1
YmxpYzoKICAgICAgICAgR2F2ZVVwLAogICAgICAgICBCdWZmZXJlZCwKICAgICAgICAgR2VuZXJh
dGVkTmV3Q29kZSwKLSAgICAgICAgR2VuZXJhdGVkRmluYWxDb2RlIC8vIEdlbmVyYXRlZCBzbyBt
dWNoIGNvZGUgdGhhdCB3ZSBuZXZlciB3YW50IHRvIGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAg
ICAgIEdlbmVyYXRlZEZpbmFsQ29kZSwgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdl
IG5ldmVyIHdhbnQgdG8gZ2VuZXJhdGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgQ2xlYXJTdHViIC8v
IFdlIGZvdW5kIG91dCBzb21lIGRhdGEgdGhhdCBtYWtlcyB1cyB3YW50IHRvIHN0YXJ0IG92ZXIg
ZnJlc2ggd2l0aCB0aGlzIHN0dWIuIEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIHdoZW4gd2UgZGV0
ZWN0IHBvbHkgcHJvdG8uCiAgICAgfTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
KCkKQEAgLTk4LDYgKzk5LDcgQEAgcHVibGljOgogICAgIGJvb2wgYnVmZmVyZWQoKSBjb25zdCB7
IHJldHVybiBtX2tpbmQgPT0gQnVmZmVyZWQ7IH0KICAgICBib29sIGdlbmVyYXRlZE5ld0NvZGUo
KSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gR2VuZXJhdGVkTmV3Q29kZTsgfQogICAgIGJvb2wg
Z2VuZXJhdGVkRmluYWxDb2RlKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IEdlbmVyYXRlZEZp
bmFsQ29kZTsgfQorICAgIGJvb2wgc2hvdWxkQ2xlYXJTdHViKCkgY29uc3QgeyByZXR1cm4gbV9r
aW5kID09IENsZWFyU3R1YjsgfQogICAgIAogICAgIC8vIElmIHdlIGdhdmUgdXAgb24gdGhpcyBh
dHRlbXB0IHRvIGdlbmVyYXRlIGNvZGUsIG9yIGlmIHdlIGdlbmVyYXRlZCB0aGUgImZpbmFsIiBj
b2RlLCB0aGVuIHdlCiAgICAgLy8gc2hvdWxkIGdpdmUgdXAgYWZ0ZXIgdGhpcy4KQEAgLTE3MSwx
NCArMTczLDE2IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRl
IHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRp
b25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDog
bV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAg
ICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNhbGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxz
ZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2Up
CiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNpdGVJbmRleChmYWxzZSkKICAgICB7CiAgICAg
fQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAg
ICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIgfTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxv
Y2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZl
ZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNv
bmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNywxNCArMTA3LDMwIEBAIGJvb2wgUHJv
cGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2Vy
dmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2Ug
aGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50
ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0
IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSk7CiAgICAg
ICAgIGlmIChjdXJyZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKICAgICAgICAgICAgIGlm
IChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAgICAgIGRh
dGFMb2coIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvcGVydHkgZXhpc3RzIGF0IG9mZnNldDogIiwg
Y3VycmVudE9mZnNldCwgIlxuIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
IH0KLSAgICAgICAgCi0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpICE9IHByb3RvdHlwZSgpKSB7CisKKyAgICAgICAgSlNPYmplY3QqIGN1cnJlbnRQcm90b3R5
cGU7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAg
ICAgICAgY3VycmVudFByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0
KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYmFzZSk7Cisg
ICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KCpz
dHJ1Y3R1cmUtPnZtKCksIGJhc2UtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQor
CisgICAgICAgIGlmIChjdXJyZW50UHJvdG90eXBlICE9IHByb3RvdHlwZSgpKSB7CiAgICAgICAg
ICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkgewogICAgICAgICAg
ICAgICAgIGRhdGFMb2coCiAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIGJlY2F1c2UgdGhl
IHByb3RvdHlwZSBpcyAiLCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpLCAiIGV2ZW4gdGhv
dWdoICIKQEAgLTE0NSw2ICsxNjEsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGls
bFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0
aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2
ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdy
YXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKICAgICAgICAg
ICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKSB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3ND
aGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyMiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKKworI2luY2x1
ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9wdHI8UHJv
dG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9IHNsb3Qu
aXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4gY3JlYXRl
KGdsb2JhbE9iamVjdCwgYmFzZSwgdGFyZ2V0LCB1c2VzUG9seVByb3RvKTsKK30KKworc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3Qq
IHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBi
YXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9IGZhbHNl
OworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBy
b3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1bHQobmV3IFByb3RvdHlwZUFjY2Vzc0NoYWluKCkpOwor
CisgICAgZm9yICh1bnNpZ25lZCBpdGVyYXRpb25OdW1iZXIgPSAwOyB0cnVlOyArK2l0ZXJhdGlv
bk51bWJlcikgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnByb3BlcnR5QWNjZXNzZXNBcmVD
YWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0Jl
ZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNP
YmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVG8gc2F2ZSBtZW1vcnks
IHdlIGRvbid0IGluY2x1ZGUgdGhlIGJhc2UgaW4gdGhlIGNoYWluLiBXZSBsZXQKKyAgICAgICAg
Ly8gQWNjZXNzQ2FzZSBwcm92aWRlIHRoZSBiYXNlIHRvIHVzIGFzIG5lZWRlZC4KKyAgICAgICAg
aWYgKGl0ZXJhdGlvbk51bWJlcikKKyAgICAgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5hcHBlbmQo
c3RydWN0dXJlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY3Vy
cmVudCA9PSBiYXNlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsKKyAgICAg
ICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nlc3Mgb3Vy
IHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wuIElmIHRo
ZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGluZyBpbiB0
aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3JlIG5vdAor
ICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9ICFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
c3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAg
ICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAoIWZvdW5k
ICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdh
dGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX2No
YWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3QgUHJvdG90
eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWluID09IG90
aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNzQ2hhaW46OmR1bXAoU3RydWN0
dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAgIG91dC5w
cmludCgiUG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAgb3V0LnByaW50KCI6IFtcbiIp
OworICAgIGZvckVhY2goYmFzZVN0cnVjdHVyZSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCkgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVt
cChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAgfSk7Cit9CisKK30KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nl
c3NDaGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFz
cyBKU0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90Owor
Y2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nlc3NDaGFpbiB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvdG90eXBl
QWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBlQWNjZXNzQ2hhaW4oUHJvdG90
eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hl
biBpbnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRhcmdldCwgYm9vbCYg
dXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3QgVmVjdG9yPFN0cnVj
dHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKworICAgIHZvaWQgZHVt
cChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OworCisg
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhlcikgY29u
c3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlwZUFjY2Vzc0NoYWluJiBvdGhl
cikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKKyAgICB9
CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdDsKKworICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9yRWFjaChTdHJ1Y3R1cmUqIGJh
c2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0CisgICAgeworICAgICAgICBib29s
IGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5jKGJhc2VTdHJ1Y3R1cmUsIGF0
RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hhaW4uc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9jaGFpbi5zaXplKCk7CisgICAg
ICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAgICAgfQorICAgIH0KKworcHJp
dmF0ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsKKworICAgIC8vIFRo
aXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBvbiBBY2Nlc3NDYXNlIHByb3Zp
ZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisgICAgLy8gc3RydWN0dXJlIGlz
IHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3aXRoLgorICAgIFZlY3RvcjxT
dHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRpdGlvbmFs
U2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQ
cm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VS
VCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAg
ICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3ND
YXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlh
UHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94
eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94
eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAgIHR5cGVk
ZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAg
Ym9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAg
ICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
bV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQ
cm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAog
cHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsK
KyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVy
dHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
Ym9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3ZpYVBy
b3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlk
U3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDgg
QEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAg
Y29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAgICAgICBpZiAo
YWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMo
c2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsKICAgICAgICAg
ICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJ
bmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3Ry
dWN0dXJlU3R1YkluZm8uY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzEsNiArMTMxLDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJlU3R1YkluZm8K
ICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAg
ICAgICBkYXRhTG9nKCJIYWQgc3R1YiwgcmVzdWx0OiAiLCByZXN1bHQsICJcbiIpOwogCisgICAg
ICAgIGlmIChyZXN1bHQuc2hvdWxkQ2xlYXJTdHViKCkpIHsKKyAgICAgICAgICAgIHJlc2V0KGNv
ZGVCbG9jayk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisKICAgICAg
ICAgaWYgKCFyZXN1bHQuYnVmZmVyZWQoKSkgewogICAgICAgICAgICAgYnVmZmVyZWRTdHJ1Y3R1
cmVzLmNsZWFyKCk7CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTUyLDYgKzE1Nywx
MSBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFN0cnVjdHVyZVN0dWJJbmZvCiAgICAgICAgIGlm
IChTdHJ1Y3R1cmVTdHViSW5mb0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAgZGF0YUxv
ZygiQ3JlYXRlZCBzdHViLCByZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYg
KHJlc3VsdC5zaG91bGRDbGVhclN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2Nr
KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAo
IXJlc3VsdC5idWZmZXJlZCgpKSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xl
YXIoKTsKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyNjYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM3MzMsNiArMzczMywxMSBAQCBOb2RlKiBCeXRlQ29kZVBhcnNlcjo6bG9h
ZCgKICAgICAgICAgICAgICAgICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUgdmFyaWFudC5zdHJ1
Y3R1cmVTZXQoKSBhZ3JlZSBvbiB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBiZQogICAgICAgICAg
ICAgICAgIC8vIGhpbGFyaW91c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBOb3RlIHRoYXQgd2Ug
YXJlIHJlbHlpbmcgb24gc3RydWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAgICAgICAgICAgLy8g
YXQgbGVhc3Qgb25lIGVsZW1lbnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1ZSBoZXJlIGJlY2F1
c2Ugb2YgaG93IEdldEJ5SWRTdGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgorCisgICAgICAgICAg
ICAgICAgLy8gRklYTUU6IHJpZ2h0IG5vdywgaWYgd2UgaGF2ZSBhbiBPUENTLCB3ZSBoYXZlIG1v
bm8gcHJvdG8uIEhvd2V2ZXIsIHRoaXMgd2lsbAorICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8g
YmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlIG9uY2Ugd2UgaGF2ZSBhIGh5YnJpZCBkYXRhIHN0cnVj
dHVyZSBmb3IKKyAgICAgICAgICAgICAgICAvLyBwb2x5IHByb3RvOgorICAgICAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKICAgICAg
ICAgICAgICAgICBKU09iamVjdCogcHJvdG90eXBlID0gdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKVsw
XS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgICAgICAgICAgICAgYm9vbCBhbGxBZ3Jl
ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHZhcmlh
bnQuc3RydWN0dXJlU2V0KCkuc2l6ZSgpOyArK2kpIHsKQEAgLTQzMzAsMTIgKzQzMzUsMTYgQEAg
Ym9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYg
KGZ1bmN0aW9uKSB7CiAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVE
YXRhID0gZnVuY3Rpb24tPnJhcmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0
cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUo
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShy
YXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQu
Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgu
cmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1F
OiB3ZSBzaG91bGQgYmUgYWJsZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0IGhlcmU6
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dy
YXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdh
dGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxl
ZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVy
ZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0
dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4Nyw3ICsx
Nzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAogICAgIEFy
cmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2RlLT5jaGls
ZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29sIGFsbEdv
b2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdpc3RlcmVk
U3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAmPSBzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0
dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJy
ZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpID09IGludmFs
aWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDExIEBAIEpTQ2Vs
bCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29uc3RydWN0b3It
PnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVEYXRhID0ganND
YXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFj
aXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAg
ICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsK
KyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkK
KyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09m
ZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cHJvdG90eXBlRm9yQ29u
c3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAg
ICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDM5NCw3ICs0Mzk0LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2Vt
Ymxlcjo6WmVybywgcmFyZURhdGFHUFIpKTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21w
aWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9m
QWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JHUFIpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENv
bXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0
T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVyZUdQUik7CisKICAgICAgICAgc2xvd1BhdGguYXBwZW5k
KG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIGFsbG9jYXRvckdQUikp
OworCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0KHJlc3VsdEdQUiwgbnVsbHB0ciwgYWxs
b2NhdG9yR1BSLCBzdHJ1Y3R1cmVHUFIsIFRydXN0ZWRJbW1QdHIoMCksIHNjcmF0Y2hHUFIsIHNs
b3dQYXRoKTsKICAgICAgICAgCiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFk
ZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0
YUdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMzcsNyArMzIzNyw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRCeVZhbEZvckMKICAgICBub1Jlc3Vs
dChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JP
YmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVn
IHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZykKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBw
cm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJl
ZyBzY3JhdGNoM1JlZykKIHsKICAgICAvLyBDaGVjayB0aGF0IHByb3RvdHlwZSBpcyBhbiBvYmpl
Y3QuCiAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1ZhbHVlUmVncygpLCAwLCBtX2pp
dC5icmFuY2hJZk5vdE9iamVjdChwcm90b3R5cGVSZWcpKTsKQEAgLTMyNDksOCArMzI0OSwxNSBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvCiAgICAgTWFjcm9Bc3Nl
bWJsZXI6OkxhYmVsIGxvb3AoJm1faml0KTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBwZXJm
b3JtRGVmYXVsdEhhc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoOChNYWNyb0Fzc2VtYmxlcjo6RXF1
YWwsCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIEpTQ2VsbDo6
dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoUHJveHlPYmplY3RUeXBlKSk7Ci0g
ICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0
Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKLSAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5
bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCpt
X2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgc2NyYXRjaDJSZWcpOworICAgIC8v
bV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1
cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsK
KyAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNSZWcsIFN0
cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0byBub3RQ
b2x5UHJvdG8gPSBtX2ppdC5icmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2gzUmVn
KSk7CisgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRjaDNSZWcsIHNjcmF0Y2gzUmVn
KTsKKyAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNoUmVnLCBz
Y3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklu
bGluZVN0b3JhZ2UoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBub3RQb2x5UHJvdG8ubGluaygmbV9q
aXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworCiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaFB0cihNYWNyb0Fzc2Vt
Ymxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykpLmxpbmtU
byhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM4OCwxMiBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHBy
b3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIEdQUlJlZyBw
cm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoUmVn
ID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRjaDIu
Z3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAg
ICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNDZWxsID0gbV9qaXQuYnJhbmNo
SWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2
YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMzOTQsNyArMzQwMyw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgCiAgICAgICAg
IGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAgICAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVl
UmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7
CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIApAQCAtMzQwNywxMyArMzQx
NiwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgCiAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gy
KHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAKICAgICBHUFJS
ZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJv
dG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAg
ICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJSZWcgc2NyYXRj
aDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21waWxlSW5zdGFuY2VPZkZvck9i
amVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJl
Zyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3Rv
dHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKIAogICAgIGJs
ZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMjIyNjYz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm9uU3BlY3Vs
YXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAg
ICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2Up
OwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRS
ZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9i
amVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcg
c2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNS
ZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSopOwogICAgIHZvaWQgY29tcGls
ZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTg5MDMsMTAgKzg5MDMsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIExCYXNpY0Js
b2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBs
b29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlw
ZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUG9seVBy
b3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29tcGFyZVByb3Rv
dHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdFlldEluc3Rh
bmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9u
ID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlwZURp
cmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGRlZmF1bHRIYXNJ
bnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb250
aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIGNv
bmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlw
ZWRVc2UpCkBAIC04OTI0LDE2ICs4OTI2LDI4IEBAIHByaXZhdGU6CiAgICAgICAgIFZhbHVlRnJv
bUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2VsbCk7CiAgICAgICAgIG1fb3V0
Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2Fk
UHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3Rv
dHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291dC5waGkoSW50NjQsIG9yaWdp
bmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0LmxvYWQ4WmVyb0V4dDMyKHZh
bHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAgICAgICBtX291dC5icmFuY2go
CiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291dC5jb25zdEludDMyKFByb3h5
T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlRGlyZWN0KSwg
cmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAgICAgICAgIHVzdWFsbHkobG9h
ZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwogCi0gICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3QsIG5vdFlldEluc3RhbmNlKTsK
KyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJpdHMsIGxvYWRQb2x5UHJvdG8p
OwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVjdHVyZSh2YWx1ZSk7Ci0gICAg
ICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9o
ZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAgICBMVmFsdWUgcHJvdG90eXBlQml0
cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7
CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBlID0gbV9vdXQuYW5jaG9yKHBy
b3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2goaXNJbnQzMihwcm90b3R5cGVCaXRz
KSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFyZVByb3RvdHlwZSkpOworCisg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNvbXBhcmVQcm90b3R5cGUpOwor
ICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJvdG90eXBlQml0cywgbV9vdXQu
Y29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBwb2x5UHJvdG8g
PSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5sb2FkNjQobV9vdXQuYmFzZUluZGV4
KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1ZSwgaW5kZXgsIFNjYWxlRWln
aHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkpKTsKKyAgICAgICAgbV9vdXQu
anVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhjb21wYXJl
UHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90
eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwgcG9seVByb3RvKTsKICAgICAg
ICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5i
b29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0LmVx
dWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw4ICsx
NjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgogCiAgICAg
Ly8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0aGlzIGlz
IGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUg
aGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBn
byBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1QyLCByZWdU
Myk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0
KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUNCwg
cmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzU3RvcmVkUHJvdG90eXBlID0gYnJhbmNoSWZO
b3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRyKHJlZ1Q0
LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQs
IEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBoYXNTdG9y
ZWRQcm90b3R5cGUubGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVt
cCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGVtaXRK
dW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0
LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vz
c0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNl
dCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNsb3RCYXNlKCkgIT0g
YmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1NywzNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rp
b24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1
cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYmIHN0cnVjdHVyZS0+
dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgp
KQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAgICAgICBp
ZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAgICAgICAgIHZtLCBj
b2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICB2bSwg
Y29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKLSAgICAgICAgICAg
ICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAg
IGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNz
Q2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgaWYg
KCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxp
ZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG9mZnNldCA9
IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNldC5zbG90QmFzZUNv
bmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJh
c2VDZWxsLT5zdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAg
ICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgaW5zdGVhZCBmb3IgZmFz
dGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVs
bHB0cjsKKworICAgICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAg
ICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1p
c3MoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1
cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3Rv
dHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBvZmZzZXQg
PSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwog
ICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVsbHB0cjsKQEAgLTI5
MywxMyArMzA3LDE3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQK
ICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3Jl
YXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgfSBl
bHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkpCisg
ICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2Rl
QmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRG
cm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0No
YWluKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVy
ICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0
dGVyLCBzdHJ1Y3R1cmUpICYmICFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG8sIGJ1dCBm
b3Igb3VyIG93biBzYW5pdHksIHdlIHByb2JhYmx5CisgICAgICAgICAgICAvLyB3YW50IHRvIGRv
IGEgcG9pbnRlciBjaGVjayBvbiB0aGUgYWN0dWFsIGdldHRlci4gQSBnb29kIHRpbWUgdG8gbWFr
ZSB0aGlzIHdvcmsgd291bGQKKyAgICAgICAgICAgIC8vIGJlIHdoZW4gd2UgY2FuIGluaGVyaXQg
ZnJvbSBidWlsdGluIHR5cGVzIGluIHBvbHkgcHJvdG8gZmFzaGlvbjoKKyAgICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICAgICAg
ICAgIG5ld0Nhc2UgPSBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVC
bG9jaywgc2xvdC5jYWNoZWRPZmZzZXQoKSwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGdldHRl
cik7Ci0gICAgICAgIGVsc2UgeworICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHNs
b3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNVbnNldCgpKSB7CiAgICAgICAgICAgICAg
ICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBz
bG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3MgOiBBY2Nlc3NDYXNlOjpMb2FkLAotICAg
ICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFy
Z2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAg
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNs
b3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUg
dHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpKQpAQCAt
MzE2LDcgKzMzNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQK
ICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwKICAgICAgICAgICAgICAgICAg
ICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Qu
Y3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICBzbG90LmlzQ2Fj
aGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyLAotICAgICAgICAgICAg
ICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUs
IFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KQEAgLTM4Niw2ICs0MDQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5
Q2FjaGVQdXRCeUlECiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCiAgICAgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2U7CisgICAgSlNDZWxsKiBiYXNlQ2VsbCA9IGJh
c2VWYWx1ZS5hc0NlbGwoKTsKIAogICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNlVmFsdWUgJiYg
c2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAgICAgICAgIGlmIChzbG90LnR5cGUoKSA9PSBQdXRQ
cm9wZXJ0eVNsb3Q6OkV4aXN0aW5nUHJvcGVydHkpIHsKQEAgLTQyOSw0OCArNDQ4LDgzIEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAgICAgICAgIEFTU0VS
VCghbmV3U3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSk7CiAgICAgICAgICAgICBBU1NFUlQobmV3
U3RydWN0dXJlLT5pc09iamVjdCgpKTsKICAgICAgICAgICAgIAorICAgICAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKICAg
ICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICAg
ICAgICAgIGlmIChwdXRLaW5kID09IE5vdERpcmVjdCkgewotICAgICAgICAgICAgICAgIGNvbmRp
dGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3Bl
cnR5U2V0dGVyTWlzcygKLSAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4
ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNv
bmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3Rv
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNl
bGwsIG51bGxwdHIsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90
eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRv
IGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
aWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2VDZWxsLT5zdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBu
dWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQorICAgICAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQu
aXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG5ld0Nh
c2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nl
c3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAg
ICAgIH0KICAgICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSB8fCBzbG90Lmlz
Q2FjaGVhYmxlU2V0dGVyKCkpIHsKICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20o
KSkgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0
OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90
b3R5cGVBY2Nlc3NDaGFpbjsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgpICE9IGJhc2VW
YWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAg
ICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAg
ICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90
LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNl
dC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7
CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3ND
aGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3Qu
YmFzZSgpLCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFj
Y2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nl
c3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBH
aXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICgh
dXNlc1BvbHlQcm90byB8fCBiYXNlQ2VsbC0+c3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0
cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAg
ICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xv
dC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0
aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBP
bkNhY2hlOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
bmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1
c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVj
dHVyZSwgaW52YWxpZE9mZnNldCwgY29uZGl0aW9uU2V0LAotICAgICAgICAgICAgICAgIHNsb3Qu
Y3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29y
U2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxp
ZE9mZnNldCwKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pLCBzbG90LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2UoKSk7CiAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRp
b25TZXQ7Ci0gICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQ7CisgICAgICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWlu
OworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQo
KTsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAg
ICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAg
dm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgp
KTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAg
ICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcHJv
dG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1c2VzUG9seVByb3Rv
KTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJv
cGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwotICAgICAg
ICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNl
dCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5j
YWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAo
IXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxw
dHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAg
ICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNs
b3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRp
dGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvZmZzZXQgPT0g
Y29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCkpOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFj
Y2Vzc0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCk7CisgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUs
IG9mZnNldCwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTUxNywxNSArNTcxLDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgCisgICAgc3RkOjp1
bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKICAg
ICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CiAgICAgaWYgKHdhc0Zv
dW5kKSB7Ci0gICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0gYmFzZSkgewotICAgICAgICAg
ICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlI
aXQoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90
LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkg
IT0gYmFzZSkgeyAKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90
byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
KyAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlLT5zdHJ1Y3R1cmUoKS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9
IG51bGxwdHI7CisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY29uZGl0aW9u
U2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAgICBib29s
IHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQ
cm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwg
YmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90
b3R5cGUgcHJvcGVydHkuCisgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlLT5zdHJ1Y3R1cmUoKS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWlu
ID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9u
c0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBz
dHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgaWYgKCFjb25k
aXRpb25TZXQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKQEAgLTUz
Myw3ICs2MDcsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAg
IExPR19JQygoSUNFdmVudDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygp
LCBpZGVudCkpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2UgPSBB
Y2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNj
ZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBB
Y2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIAog
ICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8uYWRkQWNjZXNzQ2Fz
ZShsb2NrZXIsIGNvZGVCbG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkpOwogICAgIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShy
ZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjcsNiArNjY3LDU3IEBAIExMSU5UX1NMT1df
UEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfYnlfaWQKICAgICAgICAgJiYgYmFzZVZhbHVlLmlzQ2Vs
bCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGUoKSkgewogCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVjdHVyZUlEID0gcGNbNF0udS5zdHJ1Y3R1cmVJRDsK
KyAgICAgICAgICAgIGlmIChvbGRTdHJ1Y3R1cmVJRCkgeworICAgICAgICAgICAgICAgIFN0cnVj
dHVyZSogYSA9IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7
CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBiID0gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1
Y3R1cmUodm0pOworCisgICAgICAgICAgICAgICAgLy8gT09QUzogY29weSBwYXN0ZSwgYWJzdHJh
Y3QgYXdheS4KKyAgICAgICAgICAgICAgICBhdXRvIHNob3VsZENvbnZlcnRUb1BvbHlQcm90byA9
IFsmXSAoU3RydWN0dXJlKiBhLCBTdHJ1Y3R1cmUqIGIpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCFhIHx8ICFiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgICAgICAgICAgICAgIGlmIChhID09IGIpCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0
IG9iamVjdHMgY3JlYXRlZCB2aWEgYSBjb25zdHJ1Y3RvcidzIHRvX3RoaXMuIFRoZXNlCisgICAg
ICAgICAgICAgICAgICAgIC8vIGFsbCBoYXZlIHJhcmUgZGF0YS4KKyAgICAgICAgICAgICAgICAg
ICAgaWYgKCFhLT5oYXNSYXJlRGF0YSgpIHx8ICFiLT5oYXNSYXJlRGF0YSgpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgICAgIGlmICgh
YS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIHx8ICFiLT5yYXJlRGF0
YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpCisgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFhLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSB8fCAhYi0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGEtPnN0b3Jl
ZFByb3RvdHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChhICYmIGIp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYS0+aGFzU3RvcmVkUHJvdG90eXBlKCkg
fHwgIWItPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEtPnByb3BlcnR5
SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGEtPnN0b3JlZFBy
b3RvdHlwZVN0cnVjdHVyZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgYiA9IGItPnN0b3Jl
ZFByb3RvdHlwZVN0cnVjdHVyZSgpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuICFhICYmICFiOworICAgICAgICAgICAgICAgIH07CisKKyAgICAg
ICAgICAgICAgICBpZiAoc2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIE9PUFM6IG1heWJlIHRoaXMgd2lsbCBkZXN0cm95IG91cnNlbHZlcyBp
ZiB3ZSBzdGFydCB3YXRjaGluZyBmb3IgdGhlc2U/IElmIHNvLCBoYXZlIGEgd2F5IHRvIGNvbGxl
Y3QsIGFuZCBmaXJlCisgICAgICAgICAgICAgICAgICAgIC8vIHRoZW0gaW4gZGVsYXllZCBmYXNo
aW9uLgorICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBv
bHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICBiLT5yYXJlRGF0
YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0Zp
cmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIEpTQ2VsbCogYmFz
ZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZUNlbGwtPnN0cnVjdHVyZSgpOwogICAgICAgICBpZiAoc2xvdC5pc1ZhbHVlKCkgJiYg
c2xvdC5zbG90QmFzZSgpID09IGJhc2VWYWx1ZSkgewpAQCAtNzM3LDYgKzc4OCw2MyBAQCBMTElO
VF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAgICAgICAgICYmIGJhc2VWYWx1
ZS5pc0NlbGwoKQogICAgICAgICAmJiBzbG90LmlzQ2FjaGVhYmxlUHV0KCkpIHsKIAorCisgICAg
ICAgIC8vIE9PUFM6IGhhbmRsZSBkZXRlY3RpbmcgcG9seSBwcm90byBldmVuIGlmIGdldCBpcyB0
cmFuc2l0aW9uIQorCisgICAgICAgIC8vIE9PUFM6IGNvcHkgcGFzdGUsIHBsZWFzZSBhYnN0cmFj
dC4KKyAgICAgICAgeworICAgICAgICAgICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBw
Y1s0XS51LnN0cnVjdHVyZUlEOworICAgICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7Cisg
ICAgICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCku
Z2V0KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNl
VmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisgICAgICAgICAgICAgICAgaWYgKHNsb3Qu
dHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6TmV3UHJvcGVydHkpCisgICAgICAgICAgICAgICAg
ICAgIGIgPSBiLT5wcmV2aW91c0lEKCk7CisKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiBjb3B5
IHBhc3RlLCBhYnN0cmFjdCBhd2F5LgorICAgICAgICAgICAgICAgIGF1dG8gc2hvdWxkQ29udmVy
dFRvUG9seVByb3RvID0gWyZdIChTdHJ1Y3R1cmUqIGEsIFN0cnVjdHVyZSogYikgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoIWEgfHwgIWIpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGEgPT0gYikKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAgICAvLyBXZSBv
bmx5IGNhcmUgYWJvdXQgb2JqZWN0cyBjcmVhdGVkIHZpYSBhIGNvbnN0cnVjdG9yJ3MgdG9fdGhp
cy4gVGhlc2UKKyAgICAgICAgICAgICAgICAgICAgLy8gYWxsIGhhdmUgcmFyZSBkYXRhLgorICAg
ICAgICAgICAgICAgICAgICBpZiAoIWEtPmhhc1JhcmVEYXRhKCkgfHwgIWItPmhhc1JhcmVEYXRh
KCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkg
fHwgIWItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAgICBpZiAo
IWEtPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFiLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAgICAg
ICBpZiAoYS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYi0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICAgICAg
d2hpbGUgKGEgJiYgYikgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKSB8fCAhYi0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoYS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgICAgICAgICBh
ID0gYS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBiID0gYi0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWEgJiYgIWI7CisgICAgICAgICAgICAg
ICAgfTsKKworICAgICAgICAgICAgICAgIGlmIChzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwg
YikpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGhpcyB3aWxsIGRlc3Ry
b3kgb3Vyc2VsdmVzIGlmIHdlIHN0YXJ0IHdhdGNoaW5nIGZvciB0aGVzZT8gSWYgc28sIGhhdmUg
YSB3YXkgdG8gY29sbGVjdCwgYW5kIGZpcmUKKyAgICAgICAgICAgICAgICAgICAgLy8gdGhlbSBp
biBkZWxheWVkIGZhc2hpb24uCisgICAgICAgICAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNo
YXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFp
bCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgICAgICAgICAg
ICAgIGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52YWxpZGF0
ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1bml0eS4i
KSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAg
ICAgLy8gU3RhcnQgb3V0IGJ5IGNsZWFyaW5nIG91dCB0aGUgb2xkIGNhY2hlLgogICAgICAgICBw
Y1s0XS51LnBvaW50ZXIgPSBudWxscHRyOyAvLyBvbGQgc3RydWN0dXJlCiAgICAgICAgIHBjWzVd
LnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9mZnNldApAQCAtNzYwLDE2ICs4NjgsMTcgQEAgTExJ
TlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAgICAgICAgIGlm
ICghc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSAmJiBzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+
b3V0T2ZMaW5lQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT50cmFu
c2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKIAotICAgICAgICAgICAg
ICAgICAgICBpZiAobm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAhPSBJ
bnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBzYXdQb2x5
UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byByZXN1bHQgPSBub3JtYWxp
emVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90byk7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluICYmICFzYXdQ
b2x5UHJvdG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnBy
ZXZpb3VzSUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s0XS51
LnN0cnVjdHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlkKCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQo
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYg
UHV0QnlJZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVy
ZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5w
cm90b3R5cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZtLCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
Y1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5
SWRGbGFncyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNjYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRp
YyBpbmxpbmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9v
bCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3Qq
IG9iamVjdCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
Vk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsK
LSAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pv
aW4oRXhlY1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFy
YXRvciwgdWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUg
SlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5l
cmFsQ2FzZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xl
c0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAo
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAg
ICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVz
S25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBA
QCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAg
ICAgam9pbmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAg
ICAgICAgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAg
ICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9C
ZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4g
YnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1
dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29u
dGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpl
eGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgp
ICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgy
NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAg
aWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEo
KTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWlu
c0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRo
aXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRh
LCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2Jq
ZWN0KTsKQEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cmF5UHJvdG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5
KCktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JM
ZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xl
cygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisg
ICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRh
dGEgPSBzdG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEs
IGRhdGEgKyBsZW5ndGgpOwpAQCAtMTE3Niw3ICsxMTc1LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVs
ZW1lbnRzKEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2Ut
PmluZGV4aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uo
c291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSwgc291cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxl
bmd0aDsgKytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJ
bmRleFF1aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNp
b24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1l
bnRzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRz
KiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRl
cmZseSogYnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJy
YXlTdG9yYWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9y
TGVuZ3RoKTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJ
blZlY3RvciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5n
SGVhZGVyIGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JM
ZW5ndGgodmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBD
bG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhw
ZWN0IHRoYXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2Jh
bCBvYmplY3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3cs
IGJ1dCBtYXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVh
dGVFbXB0eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNT
dHJ1Y3R1cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEy
NSwxNCArMTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUK
ICAgICB9IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNs
b25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFT
U0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91
bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAg
QVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFj
aGluZUZyYW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJn
dW1lbnRzTW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRl
V2l0aElubGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAg
ICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwg
c2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwor
ICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNs
b3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRB
cmd1bWVudHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0t
OykKICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0
W2ldLmpzVmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2
bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4
aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1sz
XS51Lm9wZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3It
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
KS0+c3RydWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQ
cm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBl
eGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25h
bC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAg
ICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxl
Ojp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52aXNpdFdl
YWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3VubGlua2Vk
RXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5nbGV0b25G
dW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQb2x5UHJv
dG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0aW9uRXhlY3V0YWJs
ZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEz
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTY3JpcHRFeGVj
dXRhYmxlLmgiCiAjaW5jbHVkZSAiU291cmNlQ29kZS5oIgorI2luY2x1ZGUgPHd0Zi9Cb3guaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTE3Miw2ICsxNzMsMTggQEAgcHVibGljOgogICAgIERF
Q0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9uKCkgeyBy
ZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8vIENhY2hlZCBwb2x5IHBy
b3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3RpbmcgdGhpcyBleGVjdXRh
YmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkgeyByZXR1cm4g
bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENhY2hlZFBv
bHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKSB7IG1fY2FjaGVk
UG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsgfQorCisgICAgSW5s
aW5lV2F0Y2hwb2ludFNldCYgZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpCisgICAgeworICAg
ICAgICBpZiAoIW1fcG9seVByb3RvV2F0Y2hwb2ludCkKKyAgICAgICAgICAgIG1fcG9seVByb3Rv
V2F0Y2hwb2ludCA9IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pjo6Y3JlYXRlKElzV2F0Y2hlZCk7
CisgICAgICAgIHJldHVybiAqbV9wb2x5UHJvdG9XYXRjaHBvaW50OworICAgIH0KKworICAgIEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3Qg
eyByZXR1cm4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5k
IGNsYXNzIEV4ZWN1dGFibGVCYXNlOwpAQCAtMTg5LDYgKzIwMiw4IEBAIHByaXZhdGU6CiAgICAg
V3JpdGVCYXJyaWVyPEZ1bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsK
ICAgICBSZWZQdHI8VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRl
QmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOworICAgIEJveDxJbmxp
bmVXYXRjaHBvaW50U2V0PiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1
bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzks
OSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAK
LXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFs
aXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVu
Y3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5p
dGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBn
bG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9y
KTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24p
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJl
RGF0YS5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBp
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpT
T2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0
aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3Ry
dWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQo
KSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9u
LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxMyBAQCBj
b25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVyZSogSW50
ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0ZSogZXhl
YywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0b3IoKSk7
CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxsZWUoKSk7
CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisKICAgICAv
LyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQg
ZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9
IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFz
dFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBB
cnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAg
ICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1J
Tl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xv
YmFsT2JqZWN0KCk7CkBAIC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xl
cyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBn
ZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhh
c0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8
fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5
cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsxMDQ4LDcgQEAgYm9v
bCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZl
IHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQg
c28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGlu
ZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1v
ZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBp
ZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkg
eworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJ
bmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVy
Zmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAo
VU5MSUtFTFkoIXYpKSB7CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0
Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhv
bGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0
IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxp
emUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5z
aWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1
cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0
aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyAr
K2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91c0Rv
dWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKHYgIT0gdikp
IHsKQEAgLTE0MzYsNyArMTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRvclByb3RvY29s
RmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQ
cm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAko
cmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsOCArNjMsOCBAQCBpbmxpbmUgYm9vbCBK
U0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVkIHByb3BlcnRp
ZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAgLy8gaW5zdGVh
ZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAgICAgIHx8IG90
aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwg
b3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShy
ZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVl
OjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAg
ICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFz
Q2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNv
bnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQo
IiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRl
cihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3Ry
dWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0g
ICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAg
ICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgp
KTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgi
VHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURh
dGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1
Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90
eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisg
ICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5j
dGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShF
eGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1f
cmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3Rv
dHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5
TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0
aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90
b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0
aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAg
ICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFs
aXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlw
ZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhy
ZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0
byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsx
NTUsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAg
QVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09i
amVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0g
ICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAg
bV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5
cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEt
PmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwg
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEu
Z2V0KCk7CiB9CiAKQEAgLTM3MSw3ICszNzQsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blBy
b3BlcnR5U2xvdChKU09iCiAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJl
Y3RPZmZzZXQodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAg
ICAgICAgICAgICBBU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAg
ICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+
Z2V0RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVj
U3RhdGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90b19fIGZv
ciB0aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVj
dGVkLgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3Rh
dGUqKTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5j
dGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcg
KzU2LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlm
IChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9i
YWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAh
PSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wg
SlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxP
YmplY3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNyAr
NzcwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUqIAogICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJv
cGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0
KSkgewogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlz
KTsKKyAgICAgICAgICAgICAgICBBU1NFUlQodGhpcy0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNl
cHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAg
ICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBB
U0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0K
IApAQCAtMTAxNSw3ICsxMDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlh
bEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7
CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRf
VU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNT
RVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFy
c2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwog
ICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFj
aXR5KCk7CkBAIC0xMTExLDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVh
dGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5
U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxl
bmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVz
dWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1
cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0
aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7
CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5l
d0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJl
dHVybiByZXN1bHQ7CkBAIC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0
Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRl
Y2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lk
ZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdl
KHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3Vz
RG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3
ICsxMjY0LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUo
dm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252
ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKIH0KIAogQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9D
b250aWd1b3VzKFZNJiB2bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnREb3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dERvdWJsZVRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJs
ZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VU
cmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0s
IHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9w
ZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJu
IGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1
b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7
CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpT
VmFsdWUgdmFsdWUpCkBAIC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNP
YmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewog
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFko
aW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3Vv
dXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAwKTsK
ICAgICAgICAgCkBAIC0xNDc0LDcgKzE0NzQsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVj
dDo6ZW5zdXJlRG91YmxlCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8
IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNE
b3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAg
ICAgICAgCkBAIC0xNTAzLDcgKzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6
OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNh
c2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhp
bmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1Zh
bHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwog
ICAgICAgICAKQEAgLTE1NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6
ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJ
TkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAg
ICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAg
ICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNv
bnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxM
X0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVT
cGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
ICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAg
IGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAg
ICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVj
dHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0Fy
cmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjMzLDE0ICsxNjMz
LDE3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBpZiAo
cHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5
cGUoYXNPYmplY3QocHJvdG90eXBlKSk7CiAgICAgCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2
bSksIHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwotICAg
IAotICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKSB7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFu
Z2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAg
ICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAg
IHB1dERpcmVjdCh2bSwgc3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlw
ZSk7CisKKyAgICBpZiAoIWFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQ
cm90b3R5cGUodGhpcykpIHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+
aGF2ZUFCYWRUaW1lKHZtKTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCkt
PmhhdmVBQmFkVGltZSh2bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xOTUx
LDcgKzE5NTQsOCBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAK
ICAgICAvLyBNYWtlIHN1cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhl
cmUgYXJlIG9uIG9iamVjdCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAgICAvLyBiZWluZyB3YXRj
aGVkLgotICAgIHRoaXMtPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9yIChjb25zdCBKU09iamVj
dCogb2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBvYmplY3QtPnN0cnVjdHVy
ZSh2bSktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAK
ICAgICBKU1ZhbHVlIHZhbHVlOwogICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykgewpAQCAt
MjcyNiw3ICsyNzMwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxl
bgogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJy
YXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywg
Y3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5n
IHR5cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAg
Y3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAs
IGkgKyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2
YWx1ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OCw3ICsyODgyLDcgQEAgYm9vbCBKU09iamVjdDo6
cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdElu
ZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBl
eGVjLCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAw
LCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAg
ICAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwg
aSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAg
c3RvcmFnZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBz
dG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NjIsNyBAQCB1aW50
MzJfdCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhl
Yy0+dm0oKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZt
KTsKLSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQor
ICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgp
KSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkBAIC0zNjY4LDQgKzM2NzIs
NTYgQEAgSlNWYWx1ZSBKU09iamVjdDo6Z2V0TWV0aG9kKEV4ZWNTdGF0ZSogZQogICAgIHJldHVy
biBtZXRob2Q7CiB9CiAKK2Jvb2wgSlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAoreworICAgIFZNJiB2bSA9ICp0aGlzLT52bSgpOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlm
IChjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAg
ICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KK30KKworYm9vbCBKU09i
amVjdDo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkKK3sKKyAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQor
ICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpOworICAgIAorICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAg
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7Cisg
ICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICAg
ICAgCisgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBh
dHRyaWJ1dGVzKTsKKyAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAo
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29y
KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBj
b25zdAoreworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKK30KKworTm9u
UHJvcGVydHlUcmFuc2l0aW9uIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkgY29uc3QKK3sKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICAgICAg
cmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdl
OworICAgIAorICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlT
dG9yYWdlOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAs
NyBAQAogI2luY2x1ZGUgIlB1dERpcmVjdEluZGV4TW9kZS5oIgogI2luY2x1ZGUgIlB1dFByb3Bl
cnR5U2xvdC5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZVRy
YW5zaXRpb25UYWJsZS5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIK
ICNpbmNsdWRlICJTcGFyc2VBcnJheVZhbHVlTWFwLmgiCkBAIC0xMzEsNyArMTMyLDcgQEAgcHVi
bGljOgogICAgIC8vIEl0IGlzIHZhbGlkIHRvIHVzZSB0aG91Z2ggd2hlbiB5b3Uga25vdyB0aGF0
IHlvdSB3YW50IHRvIGRpcmVjdGx5IGdldCBpdAogICAgIC8vIHdpdGhvdXQgY29uc3VsdGluZyB0
aGUgbWV0aG9kIHRhYmxlLiBUaGlzIGlzIGFraW4gdG8gZ2V0dGluZyB0aGUgW1tQcm90b3R5cGVd
XQogICAgIC8vIGludGVybmFsIGZpZWxkIGRpcmVjdGx5IGFzIGRlc2NyaWJlZCBpbiB0aGUgc3Bl
Y2lmaWNhdGlvbi4KLSAgICBKU1ZhbHVlIGdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0OworICAg
IEpTX0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgZ2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3Q7CiAK
ICAgICAvLyBUaGlzIHNldHMgdGhlIHByb3RvdHlwZSB3aXRob3V0IGNoZWNraW5nIGZvciBjeWNs
ZXMgYW5kIHdpdGhvdXQKICAgICAvLyBkb2luZyBkeW5hbWljIGRpc3BhdGNoIG9uIFtbU2V0UHJv
dG90eXBlT2ZdXSBvcGVyYXRpb24gaW4gdGhlIHNwZWNpZmljYXRpb24uCkBAIC03MzMsNiArNzM0
LDEyIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc0V4dGVu
c2libGUoSlNPYmplY3QqLCBFeGVjU3RhdGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkg
eyByZXR1cm4gc3RydWN0dXJlKHZtKS0+aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3pl
bihWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQorCisgICAg
Ym9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0
b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmco
KSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdl
VHJhbnNpdGlvbigpIGNvbnN0OworCiBwcml2YXRlOgogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBp
c0V4dGVuc2libGVJbXBsKCkgeyByZXR1cm4gaXNTdHJ1Y3R1cmVFeHRlbnNpYmxlKCk7IH0KIHB1
YmxpYzoKQEAgLTg2Niw3ICs4NzMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygp
KSk7Ci0gICAgICAgIEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFw
OjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgZ2V0UHJvdG90
eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdl
dFByb3RvdHlwZURpcmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNPYmpl
Y3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0xMjk4LDcg
KzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlu
bGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewotICAg
IHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0cnVj
dHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpTT2Jq
ZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAwLDcgKzE0
MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0LT5zdHJ1
Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eVNs
b3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCk7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGl0J3Mg
Zm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90
b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBh
c09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAg
ICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFBy
b3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBl
KCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAg
ICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAg
ICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAg
ZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwg
ZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBA
IC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXROb25JbmRl
eAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElL
RUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBk
ZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVy
dHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90
b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90
eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAg
ICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTksNyArMjE5
LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAog
ICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlO
YW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3Rv
dHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAg
IEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZt
LCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJlY3RJbnRl
cm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkpCiAgICAg
ICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgp
LCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgcmV0
dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1
cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVyYXRvciA9
IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICAmJiBl
bnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBl
Q2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWlu
KCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAgICAgcmV0
dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVz
ID0gMDsKQEAgLTEzMywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0
b3IqIHByb3BlcnQKIAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJTlQzMl9N
QVgpOwogCi0gICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3JtYWxpemVQ
cm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFpbjsK
KyAgICBib29sIHNhd1BvbHlQcm90bzsKKyAgICBib29sIHN1Y2Nlc3NmdWxseU5vcm1hbGl6ZWRD
aGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSwgc2F3UG9seVBy
b3RvKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVhdGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwg
bnVtYmVyU3RydWN0dXJlUHJvcGVydGllcywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAg
ZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90
eXBlQ2hhaW4oZXhlYykpOwotICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBzdWNjZXNzZnVsbHlO
b3JtYWxpemVkQ2hhaW4gJiYgc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0
b3IoKSkKLSAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KHZtLCBlbnVtZXJhdG9yKTsKKyAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5
Tm9ybWFsaXplZENoYWluICYmIGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKSB7Cisg
ICAgICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Y2Fu
Q2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnNl
dENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIH0KICAg
ICByZXR1cm4gZW51bWVyYXRvcjsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTU2V0LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wg
SlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09
IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0g
ICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1Nl
dFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmpl
Y3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1NldDo6Y2Fu
Q2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNT
ZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0xhenlDbGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVj
dHVyZS5nZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3Rv
dHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAg
ICB9Ci0gICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjY2
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzYsMTMgKzEzNiwxOSBAQCBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNW
YWx1ZSB2KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlw
ZUNoYWluKENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3NpemVf
dCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGJvb2wmIHNhd1BvbHlQcm90bykKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJh
bWUtPnZtKCk7CiAgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBzYXdQb2x5UHJvdG8gPSBmYWxz
ZTsKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAg
ICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOworCisgICAgICAgIHNhd1Bv
bHlQcm90byB8PSAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgaWYg
KCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIElu
dmFsaWRQcm90b3R5cGVDaGFpbjsKKwogICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnBy
b3RvdHlwZUZvckxvb2t1cChjYWxsRnJhbWUpOwogICAgICAgICBpZiAodi5pc051bGwoKSkKICAg
ICAgICAgICAgIHJldHVybiBjb3VudDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBA
QCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFtZSosCiBKU1ZhbHVlIGpzVHlw
ZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIGJvb2wganNJ
c09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7CiBib29sIGpzSXNGdW5jdGlv
blR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1l
KiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1l
KiwgU3RydWN0dXJlKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxXQVlTX0lOTElORSBKU1N0
cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogczEsIEpTU3RyaW5nKiBz
MikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAko
d29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYgY29uc3QgY2hhciogb3B0
aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21Db250ZXh0LCB0cnVlLCBO
b3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCksIHdlIHdpbGwgc3RvcmUg
Y29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGluIGl0IHRvIGEgcmVnaXN0
ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2VtYmx5VG9KU0NhbGxzLCB0
cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlua0luZm8gdG8gaW5saW5l
IGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwgdXNlT2JqZWN0UmVzdFNw
cmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFibGUgT2JqZWN0IFJlc3Qv
U3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmls
aW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFsIGFycmF5
IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSB3
aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2KGJvb2wsIHVzZUFycmF5
QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ug
b3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxv
Y2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpXAorICAg
IHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJZiB0cnVlLCBjcmVhdGVf
dGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBwb2x5IHByb3RvIHN0cnVj
dHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3Rv
dHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAKLWlubGluZSBT
dHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5
cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5
cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xh
c3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgYXV0byBr
ZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZv
LCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJvdG90eXBlKTsgLy8gV2Ug
dXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5cGUgdG8gbWVhbiBwb2x5
IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRlIG5vbi1udWxsIHByb3Rv
dHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9seVByb3RvU3Ry
dWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywg
Z2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0cnVjdHVy
ZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAg
ICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJl
dHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0g
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xv
YmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNz
SW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBWTSYgdm0gPSBnbG9i
YWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgaWYgKG1ha2VQ
b2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVh
dGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0
ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNs
YXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3Ry
dWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CisKICAgICByZXR1
cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEgQEAgU3RydWN0dXJlKiBQcm90b3R5
cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBub3QgaGF2
ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFuZCBhbGwg
aW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGluZSBjYXBh
Y2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3RydWN0dXJl
LT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9w
ZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+YW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGlu
ZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+SW5k
ZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0dXJu
IGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0
dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBl
LCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5m
bygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5cGVN
YXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQor
U3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAg
cmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0Zp
bmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gY3Jl
YXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6
OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwog
fQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFr
ZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGds
b2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG51
bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVj
dCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpAQCAt
NDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JUX1BS
SVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTX0VY
UE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29s
IG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
U3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJlKEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFyRW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCos
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFk
ZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlwZShK
U09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgogCiBw
cml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5m
byosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVy
ZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90
eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAg
ICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8vIEZJ
WE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0
dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVj
dCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAgPSBX
ZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8q
LCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0cnVj
dHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OCw2ICsxODgsNyBAQCBTdHJ1
Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqCiAgICAgLCBtX2NsYXNzSW5mbyhj
bGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAg
ICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQogewog
ICAgIHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQaW5u
ZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTIyMCw2ICsyMjEsNyBAQCBTdHJ1Y3R1cmU6OlN0
cnVjdHVyZShWTSYgdm0pCiAgICAgLCBtX2NsYXNzSW5mbyhpbmZvKCkpCiAgICAgLCBtX3RyYW5z
aXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZz
ZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKE5v
bmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsK
QEAgLTI0NywxMCArMjQ5LDExIEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0
dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAg
ICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1f
Yml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVk
UHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJv
dG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQog
ICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNl
dChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2gocHJldmlvdXMtPm1fcHJvcGVy
dHlIYXNoKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKHByZXZpb3VzLT5kaWN0aW9uYXJ5S2lu
ZCgpKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjgyLDYgKzI4
NSwxNSBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgICAg
IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgcHJldmlvdXMtPm1fZ2xvYmFsT2JqZWN0Lmdl
dCgpKTsKICAgICBBU1NFUlQoaGFzUmVhZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNs
dWRpbmdQcm90bygpIHx8ICFtX2NsYXNzSW5mby0+aGFzU3RhdGljU2V0dGVyT3JSZWFkb25seVBy
b3BlcnRpZXMoKSk7CiAgICAgQVNTRVJUKGhhc0dldHRlclNldHRlclByb3BlcnRpZXMoKSB8fCAh
bV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKCkpOworCisg
ICAgLy9PT1BTOiBtYXliZSBtb3ZlIHRoaXMgdG8gZmluaXNoQ3JlYXRpb24/CisgICAgaWYgKHBy
ZXZpb3VzLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBwcmV2
aW91c1JhcmVEYXRhID0gcHJldmlvdXMtPnJhcmVEYXRhKCk7CisgICAgICAgIGlmIChCb3g8SW5s
aW5lV2F0Y2hwb2ludFNldD4gc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCA9IHByZXZpb3VzUmFy
ZURhdGEtPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSkgeworICAgICAgICAgICAgZW5zdXJl
UmFyZURhdGEodm0pOworICAgICAgICAgICAgcmFyZURhdGEoKS0+c2V0U2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludChXVEZNb3ZlKHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpKTsKKyAgICAgICAg
fQorICAgIH0KIH0KIAogU3RydWN0dXJlOjp+U3RydWN0dXJlKCkKQEAgLTI5Niw2ICszMDgsMjMg
QEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0
PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0
dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5
cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQg
PSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZv
LCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9m
TGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOworICAgIHJlc3VsdC0+
YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCksIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLAorICAgICAgICBbJl0g
KGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
UHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRPdXRP
ZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNl
dChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1
bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0
KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
IHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihW
ZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwg
UHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHko
KSk7CkBAIC0zOTksMjYgKzQyOCwxNCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1
Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29s
IFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
IGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2
bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUqIGN1
cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAg
ICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUo
KTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAK
LWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25z
dAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFBy
b3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBl
KGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQy
Nyw3ICs0NDQsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAg
ICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+c3RydWN0dXJlKHZtKTsKICAg
ICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHx8
IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBl
KCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUob2JqZWN0
KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQzNywy
MCArNDU0LDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1l
KCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQ
dXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6
QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9w
ZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNl
dCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTMsNiArNTU2LDggQEAgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVl
IHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgcHJvdG90
eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2bS5oZWFwKTsKICAgICBTdHJ1
Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7CiAKQEAgLTEwNjgsMTEg
KzEwNzMsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RyCiAgICAg
ICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0dXJlRmly
ZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29r
dXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZv
ckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6
OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAg
ICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0x
MTEwLDcgKzExMTAsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKCkKICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAg
ICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHko
bV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0b3JlZFByb3RvdHlwZU9iamVj
dCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgp
KSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIXN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYg
dmlzaXRvcikKQEAgLTExMjIsNDAgKzExMjIsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNo
ZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAg
ICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwot
ICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBp
ZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsK
LSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
KTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUo
SlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVy
ZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAg
ICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBlLnB0cigp
OwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVlIGN1clZh
bHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgd2hp
bGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfD0gIWN1
clN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAgICAgICAgIGN1clN0cnVjdHVyZS0+
Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAgWyZdIChjb25zdCBQcm9w
ZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAgICAgY3VyU2hhcGUt
PmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGlmICghUHJvcGVydHlO
YW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAgICAgICAgICAgICBjdXJT
aGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTE0OCwyNCBAQCBSZWY8U3RydWN0
dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAgY3VyU2hhcGUtPm1hcmtB
c0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3Ry
dWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6
Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJl
ZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7Ci0gICAgICAg
ICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAg
IH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAgICAgICAgICAgYnJlYWs7
CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVT
dHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGN1clZhbHVl
KTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJl
KCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBpZiAoIXByb3RvdHlw
ZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBT
dHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdT
aGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOwor
ICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAgICAgY3VyU3RydWN0dXJl
ID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJu
IGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2Yo
U3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhl
ci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhl
ci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9i
KCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVj
dHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQ
b2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0x
MjAzLDcgKzExODAsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBj
CiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlm
ICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8g
b2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5n
ZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIo
bV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtp
bmQoKSkgewpAQCAtMTI4OCw5ICsxMjY3LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNhbkNhY2hlUHJv
cGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGlmICghc3RydWN0dXJl
LT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RydWN0dXJlLT5nZXQo
KS0+aXNEaWN0aW9uYXJ5KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMo
KSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFyeSgpIHx8IHN0cnVj
dHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1cmUrKzsKICAgICB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIy
NjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwg
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAgZW51bSBQb2x5
UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoVk0m
LCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNv
bnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5UHJvdG9UYWcs
IFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5m
byYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0xMzgsNyArMTQw
LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5
cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVCht
X3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90
eXBlLmlzSW50MzIoKSk7CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE2OSw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJl
Q29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShT
dHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zm
c2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZN
JiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24o
Vk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVjdHVy
ZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJv
dG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRyaWJ1
dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiB0
b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRT
dHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGlj
IFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0
dXJlKik7CkBAIC0yMDgsNyArMjEwLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJu
ICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNl
KCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkK
QEAgLTI0MCwyNiArMjQyLDM5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5n
VHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9
CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93
UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVk
QXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0Lmdl
dCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQg
ZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAg
Ly8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBh
IGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBn
bG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzU3RvcmVk
UHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0
KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0
CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7Cisg
ICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVydHlPZmZz
ZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQo
KS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNvbnN0IEpT
T2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdChjb25z
dCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVkUHJvdG90
eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1
cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKSBj
b25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCopIGNv
bnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayopIGNvbnN0Owot
ICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0Kikg
Y29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNv
bnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiwgSlND
ZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0m
LCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0Owog
ICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAg
ICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJrIGR1cmluZyBHQyBpZiBkb2lu
ZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVkIGFtb3VudApAQCAtMjcyLDE0
ICsyODcsMjQgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHN0
cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZpc2l0b3Im
KTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJj
ZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKICAgICAK
ICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBpc1Jh
cmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1
cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1Jh
cmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEq
PihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFy
ZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFy
ZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1
cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkg
Y29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU1OCw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc3Rh
cnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0m
IHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0
cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGll
c0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlwZXMoKSBj
b25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU4
OCwxMSArNjA3LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3RvcmVWYWx1ZVNsb3codm0sIHBy
b3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZlcnJlZFR5cGVUYWJsZTo6T2xk
UHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVT
aGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0
dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0
aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0
aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVT
aGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIAogICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQcmlu
dFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC02MDEsNiArNjE2LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGR1bXBDb250ZXh0SGVhZGVyKFByaW50U3RyZWFtJik7CiAgICAg
CiAgICAgQ29uY3VycmVudEpTTG9jayYgbG9jaygpIHsgcmV0dXJuIG1fbG9jazsgfQorCisgICAg
dW5zaWduZWQgcHJvcGVydHlIYXNoKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eUhhc2g7IH0K
ICAgICAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCkBAIC03MjAsOCArNzM3LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0
LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAg
IGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBl
Q2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAg
ICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYs
IFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzQ4LDYgQEAgcHJpdmF0ZToKICAgICAgICAg
cmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAg
IH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
dHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0
Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAg
ICAgYm9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkBAIC03ODcsNiArNzk3LDgg
QEAgcHJpdmF0ZToKIAogICAgIC8vIG1fb2Zmc2V0IGRvZXMgbm90IGFjY291bnQgZm9yIGFub255
bW91cyBzbG90cwogICAgIFByb3BlcnR5T2Zmc2V0IG1fb2Zmc2V0OworCisgICAgdWludDMyX3Qg
bV9wcm9wZXJ0eUhhc2g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWlu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsNCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFp
bjo6dmlzaXRDaGlsZHJlbihKU0NlbAogICAgIH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7CisKKyAgICBzaXplX3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVj
dCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUo
dm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBz
dGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKwor
ICAgIHNpemVfdCBpID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3Vy
cmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9i
amVjdChjdXJyZW50KSkKKyAgICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50
LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAKKyAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAg
IG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRo
aXMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5
KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG
bGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4q
IGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hh
aW4qIGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVj
dHVyZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNo
YWluPih2bS5oZWFwKSkgU3RydWN0dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0
dXJlLmdldCgpKTsKICAgICAgICAgY2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAg
LTYyLDIyICs2Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCop
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVy
ZSogaGVhZCkKLSAgICB7Ci0gICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAg
ICAgc2l6ZV90IHNpemUgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhl
YWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwo
KSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgp
KQotICAgICAgICAgICAgKytzaXplOwotCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKLQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAg
ICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1
cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsr
XS5zZXQodm0sIHRoaXMsIGN1cnJlbnQpOwotICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRh
dG9yRmVuY2UoKTsKLSAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQor
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlu
bGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBpbmxpbmUgU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgCiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpz
dG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0
b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7
CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5
LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAK
IGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkg
Y29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAg
SlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2Jq
ZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1
cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90
eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQo
b2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VS
VChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXRE
aXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpz
dG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAg
ICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmICho
YXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZz
ZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9i
amVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBl
T2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0
dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2ln
bmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsMTUgKzE5NiwzMiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1
cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitBTFdBWVNfSU5M
SU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBBU1NF
UlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5m
bygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
dHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlw
ZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3Rv
dHlwZSgpOworCit9CisKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9v
a3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9B
U1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAg
ICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09
IFN5bWJvbFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlw
ZSgpOworICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHByb3Rv
dHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKK30KIAotICAg
IEFTU0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKLSAgICByZXR1cm4gZ2xv
YmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKK2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6
cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCog
YmFzZSkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0
aGlzKTsKKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlw
ZShhc09iamVjdChiYXNlKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2
ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgU3RydWN0dXJl
Ojpwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKiBleGVjKSBjb25zdApAQCAtMTgyLDI3ICsy
MjksMjggQEAgaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMbwogICAgIHJl
dHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKIH0K
IAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVD
aGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJU
KGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3Rv
dHlwZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlk
KGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAg
SlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAg
ICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWlu
OjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUp
LT5zdHJ1Y3R1cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVk
UHJvdG90eXBlQ2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2Fj
aGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZt
LCBwcm90b3R5cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwog
ICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5s
aW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSog
ZXhlYykgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVD
aGFpbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVy
biBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
OworICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3Rv
dHlwZUNoYWluKSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFp
biwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFp
bikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90
b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHBy
b3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgp
OwogICAgIHdoaWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsK
ICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0
cnVjdHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEgKzI2MSw2IEBAIGlubGluZSBib29sIFN0cnVjdHVy
ZTo6aXNWYWxpZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEq
Y2FjaGVkU3RydWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNo
ZWRQcm90b3R5cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFj
ZVByb3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNS
YXJlRGF0YSgpKSkKQEAgLTM0MSw2ICszODQsOCBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3Ry
dWN0dXJlOjphZGQoVk0mCiAgICAgYXV0byByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAKICAg
ICBQcm9wZXJ0eU9mZnNldCBuZXdPZmZzZXQgPSB0YWJsZS0+bmV4dE9mZnNldChtX2lubGluZUNh
cGFjaXR5KTsKKworICAgIG1fcHJvcGVydHlIYXNoID0gbV9wcm9wZXJ0eUhhc2ggXiByZXAtPmV4
aXN0aW5nSGFzaCgpOwogICAgIAogICAgIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQgPSBt
X29mZnNldDsKICAgICB0YWJsZS0+YWRkKFByb3BlcnR5TWFwRW50cnkocmVwLCBuZXdPZmZzZXQs
IGF0dHJpYnV0ZXMpLCBuZXdMYXN0T2Zmc2V0LCBQcm9wZXJ0eVRhYmxlOjpQcm9wZXJ0eU9mZnNl
dE1heUNoYW5nZSk7CkBAIC00MDAsNyArNDQ1LDcgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0
cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsK
IH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJv
cGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9w
ZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0
eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNw
cAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5j
bHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0aXZlSW5mZXJyZWRQ
cm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZlcnJlZFZhbHVlLmgi
CiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTdHJp
bmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3IEBAIHZvaWQgU3Ry
dWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlz
T2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX29i
amVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2Fj
aGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0
CkBAIC0xNzUsNiArMTc3LDEzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpjbGVh
ck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSW5mZXJyZWRW
YWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mIHZt
KQoreworICAgIGlmICghbV9pbmZlcnJlZENvbnN0cnVjdG9yKQorICAgICAgICBtX2luZmVycmVk
Q29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBJbmZlcnJlZFZhbHVlOjpjcmVhdGUodm0pKTsKKyAg
ICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOworfQorCiAvLyAtLS0tLS0tLS0t
LS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIgd2F0Y2hw
b2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1
Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJlRGF0YSog
c3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVycmVkVmFs
dWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1cmU7CiBj
bGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAgLTYyLDYg
KzYzLDE4IEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIC8v
IFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBpbmZlcnJp
bmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5cGUncyBz
dHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVyZVJhcmVEYXRhIGZvciB0
aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0aGUgInByb3RvdHlwZSIg
ZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJwcm90b3R5cGUiIGZp
ZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFudCBjb25zdHJ1Y3Rvci4K
KyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0b3IgcG9pbnRzIHRvIGFu
IEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEgSlNGdW5jdGlvbi4KKyAgICAvLyBJZiB3ZSBub3Rp
Y2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgd2lsbCBiZWNvbWUgaW52YWxpZGF0
ZWQuCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihWTSYpOwor
ICAgIC8vIE1heSBiZSBudWxscHRyLgorICAgIEluZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3Ry
dWN0b3IoKSB7IHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3IuZ2V0KCk7IH0KKworICAgIEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3Qg
eyByZXR1cm4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OyB9CisgICAgdm9pZCBzZXRTaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiYmIHNoYXJlZFBvbHlQcm90
b1dhdGNocG9pbnQpIHsgbV9wb2x5UHJvdG9XYXRjaHBvaW50ID0gV1RGTW92ZShzaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KTsgfQorCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0
ZToKQEAgLTc2LDExICs4OSwxMyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3Ry
aW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9j
YWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwotICAgIAorICAgIFdyaXRlQmFycmllcjxJbmZl
cnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CisKICAgICB0eXBlZGVmIEhhc2hNYXA8
UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3Bl
cnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9m
ZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVy
dHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CiAgICAgQmFnPE9i
amVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50PiBtX29iamVjdFRvU3RyaW5n
QWRhcHRpdmVXYXRjaHBvaW50U2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxPYmplY3RUb1N0cmlu
Z0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmlu
Z0FkYXB0aXZlSW5mZXJyZWRWYWx1ZVdhdGNocG9pbnQ7CisgICAgQm94PElubGluZVdhdGNocG9p
bnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKICAgICBib29sIG1fZ2l2ZVVwT25PYmplY3RU
b1N0cmluZ1ZhbHVlQ2FjaGU7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xv
Z0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICB9CiAKKyAg
ICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Q
cm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwg
UmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVzOworCiAgICAgTG9n
RW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGlsZSAoZW50cnkgIT0g
bV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+
c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAg
ICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7
CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlm
IChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwo
KSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAgIGF1dG8gaXRlciA9
IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYgKGl0ZXIgPT0gc2Vl
blNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0
cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1
Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUu
YXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAgICAgICAgIGF1dG8g
aXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAg
ICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkp
OworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5maW5k
KGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9seVByb3RvU2hhcGVz
LmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CisgICAg
ICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkgeworICAgICAgICAgICAgICAg
ICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVBy
b3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVj
dHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90b1NoYXBlcy5zZXQo
a2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUg
PSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAgdm9pZCBUeXBlUHJv
ZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0
aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUg
PSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAg
ICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBz
aGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0
aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUlu
Zm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9T
dHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5
cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNl
dDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVT
ZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlw
ZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBl
SXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFw
ZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1
Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICAv
LyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5IHByb3RvIGNoYWlu
cworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBjaGFpbjoKKyAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzYyNworICAg
ICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlu
cyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkg
ewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAg
ICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29y
a2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZv
aWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+
JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3Rv
U3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1w
VHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVu
ZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQog
ICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1Zh
bHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBn
ZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCku
aXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dURi93dGYvQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi93dGYvQm94LmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJj
ZS9XVEYvd3RmL0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYsMTcgQEAgbmFtZXNw
YWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogY2xhc3MgQm94IHsKIHB1YmxpYzoKLSAg
ICBCb3goKQotICAgIHsKLSAgICB9CisgICAgQm94KCkgPSBkZWZhdWx0OworICAgIEJveChCb3gm
JikgPSBkZWZhdWx0OworICAgIEJveChjb25zdCBCb3gmKSA9IGRlZmF1bHQ7CiAKICAgICBCb3go
c3RkOjpudWxscHRyX3QpCiAgICAgewogICAgIH0KIAorICAgIEJveCYgb3BlcmF0b3I9KEJveCYm
KSA9IGRlZmF1bHQ7CisgICAgQm94JiBvcGVyYXRvcj0oY29uc3QgQm94JikgPSBkZWZhdWx0Owor
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIHN0YXRpYyBCb3ggY3Jl
YXRlKEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKICAgICB7CkluZGV4OiBUb29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWpz
Yy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIyMjY2MykKKysrIFRvb2xzL1NjcmlwdHMvcnVuLWpz
Yy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAgLTYxOSw3ICs2MTksNyBAQCBkZWYgcnVu
RlRMTm9DSklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJ
VEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1uby1jaml0
LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAqKEZUTF9PUFRJ
T05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lm
aWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9j
YXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BU
SU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNp
ZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpCkBAIC02NDcsNyArNjQ3LDcgQEAgZGVmIHJ1bkRGR0VhZ2VyTm9D
SklUVmFsaWRhdGUoKm9wdGlvbmFsVAogZW5kCiAKIGRlZiBydW5GVExFYWdlcigqb3B0aW9uYWxU
ZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmln
Z3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09MTEVD
VF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisg
ICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwgIi0t
Zm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09M
TEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykp
CiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyV2F0Y2hkb2coKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0
aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBAQCBkZWYgcnVuVHlwZVByb2ZpbGVyCiAKICAgICBydW4o
ImZ0bC1uby1jaml0LXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICoo
RlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKQogICAgIHJ1bigiZnRsLXR5cGUtcHJvZmls
ZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMpKQorICAgIHJ1bigi
ZnRsLXR5cGUtcHJvZmlsZXItZm9yY2UtcG9seS1wcm90by1mdGwtZWFnZXIiLCAiLS11c2VUeXBl
UHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsg
RUFHRVJfT1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkNvbnRyb2xGbG93UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322326</attachid>
            <date>2017-10-01 12:30:12 -0700</date>
            <delta_ts>2017-10-01 23:07:43 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>224949</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjY2MykKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw5MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyAKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLmZpZWxkID0gMjA7IH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLmZpZWxkID09PSAyMCk7
CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBv
bHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9s
eVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVBy
b3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90
b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKK107CisKK2xldCBjdXN0b21H
ZXR0ZXJTZXR0ZXIgPSBjcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyKCk7CitpdGVtcy5mb3JF
YWNoKCh4KSA9PiB7CisgICAgeC5fX3Byb3RvX18gPSBjdXN0b21HZXR0ZXJTZXR0ZXI7CisgICAg
YXNzZXJ0KHguX19wcm90b19fID09PSBjdXN0b21HZXR0ZXJTZXR0ZXIpOworfSk7CisKK2Z1bmN0
aW9uIHZhbGlkYXRlKHgsIHZhbHVlUmVzdWx0LCBhY2Nlc3NvclJlc3VsdCkgeworICAgIGFzc2Vy
dCh4LmN1c3RvbVZhbHVlID09PSB2YWx1ZVJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5jdXN0b21B
Y2Nlc3NvciA9PT0gYWNjZXNzb3JSZXN1bHQpOworCisgICAgbGV0IG8gPSB7fTsKKyAgICB4LmN1
c3RvbVZhbHVlID0gbzsKKyAgICBhc3NlcnQoby5yZXN1bHQgPT09IHZhbHVlUmVzdWx0KTsKKwor
ICAgIG8gPSB7fTsKKyAgICB4LmN1c3RvbUFjY2Vzc29yID0gbzsKKyAgICBhc3NlcnQoby5yZXN1
bHQgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGFzc2VydCh4LnJhbmRvbVByb3AgPT09IDQy
IHx8IHgucmFuZG9tUHJvcCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAg
ICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7Cisg
ICAgfQorfQorCitjdXN0b21HZXR0ZXJTZXR0ZXIucmFuZG9tUHJvcCA9IDQyOworCitmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1z
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJT
ZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAg
ICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKHgsIHsKKyAgICAgICAgZ2V0IGN1c3RvbVZhbHVlKCkg
eyByZXR1cm4gNDI7IH0sCisgICAgICAgIGdldCBjdXN0b21BY2Nlc3NvcigpIHsgcmV0dXJuIDIy
OyB9LAorICAgICAgICBzZXQgY3VzdG9tVmFsdWUoeCkgeyB4LnJlc3VsdCA9IDQyOyB9LAorICAg
ICAgICBzZXQgY3VzdG9tQWNjZXNzb3IoeCkgeyB4LnJlc3VsdCA9IDIyOyB9LAorICAgIH0pOwor
fSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0s
IDQyLCAyMik7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAt
IHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRl
ci1jb3JyZWN0bmVzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYg
KCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCEiKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgeCA9IG5ldyBVaW50MzJBcnJheSgxMCk7CitsZXQgcCA9IHguX19wcm90b19fLl9fcHJvdG9f
XzsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcDsK
K3guX19wcm90b19fID0gb2JqOworCitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiB4LmJ5
dGVMZW5ndGg7Cit9Citub0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7
ICsraSkgeworICAgIGFzc2VydChmb28oeCkgPT09IDEwICogNCk7Cit9OworCitvYmouX19wcm90
b19fID0ge307CisKK2Fzc2VydChmb28oeCkgPT09IHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1taXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHkt
cHJvdG8tbWlzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpIHsKKyAgICBmdW5jdGlvbiBm
b28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRo
aXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSA0MjsKKyAg
ICAgICAgbGV0IHJlc3VsdCA9IG5ldyBDOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBs
ZXQgcmVzdWx0ID0gZm9vKCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2Vz
ID0gWworICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAg
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFr
ZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3Rv
SW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdp
dGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90
b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAor
XTsKKworbGV0IHAgPSB1bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNz
ZXJ0KHgueCA9PT0gMjApOworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9Citub0lu
bGluZSh2YWxpZGF0ZSk7CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMu
bGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CitpZiAoZmFs
c2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNjQgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9P
YmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAg
ICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgICAgIHRoaXMuZmllbGQgPSA0MjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0K
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygp
LmZpZWxkID09PSA0Mik7CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24g
dmFsaWRhdGUobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGlu
ZSh2YWxpZGF0ZSk7CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7CisKK2xldCBvYmpzID0gW107
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCisgICAgb2Jqcy5wdXNoKG1ha2VQb2x5UHJv
dG9PYmplY3QoKSk7CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZihvYmosIHt4OjIwfSkpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCB0cnVlKTsKK30K
Kworb2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pKTsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBv
YmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIGZhbHNlKTsKK30KKworCitmdW5jdGlvbiB2YWxp
ZGF0ZTIobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2
YWxpZGF0ZTIpOworCitvYmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
b2JqLCBudWxsKSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3Ig
KGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgZmFsc2UpOworfQorCitv
YmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pKTsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBv
YmpzKQorICAgICAgICB2YWxpZGF0ZTIob2JqLCB0cnVlKTsKK30KKworaWYgKGZhbHNlKQorICAg
IHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHkt
cHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4
IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0
KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgc3RhcnQgPSBE
YXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2Jq
ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSBudWxsOworICAg
IHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwo
b2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKworfQorCitmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0
KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9iYWwgPSB4OyB9IH07Cisg
ICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093blByb3BlcnR5KCJwIikp
OworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwgPSBudWxsOworfQorCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVBy
b3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydChvYmouaGFzT3du
UHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7Cit9CitpZiAoZmFsc2Up
CisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7CisgICAgZ2V0IHgo
KSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRlcm5hdGVQcm90
bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgpIHsKKyAgICAg
ICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVj
dC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLl94
OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25z
dHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAgfQorICAgIH07
CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBwKSB7CisgICAg
YXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xldCBhcnIgPSBb
XTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFyci5wdXNoKGZv
bygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0IGEgb2YgYXJy
KSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30KK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxp
ZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5f
X3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBu
dWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5kZXg6IEpTVGVz
dHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEgQEAKK2Z1
bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBD
IHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBw
KHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdldCBw
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLnAgPT09
IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgp
KTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAgeC5wID0gaTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFz
c2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAg
ICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaChvID0+IHsKKyAg
ICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVk
ID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJp
dGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1p
bmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNv
bnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55ID0gMjI7CisgICAgICAg
IH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQorICAgIH0KKyAgICBDLnBy
b3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVybiBDOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVuY3Rpb24gYmFyKHApIHsK
KyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAg
ICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOworICAgICAgICB9CisgICAg
fTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZm9y
IChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNl
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNo
KGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0
ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIpOworICAgIGFzc2VydChp
dGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaW5zdGFuY2VzLmZvckVhY2goKHgpID0+
IHZhbGlkYXRlKHgpKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3Rh
cnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgewor
ICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07Cisg
ICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQor
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJl
dHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0lu
c3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNl
OworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBz
dHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisg
ICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFi
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5l
KGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAy
MCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9w
ZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkg
PT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3Qu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3Mp
IHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9J
bnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRh
dGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1q
cy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5v
dC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBl
LWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVu
Y3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7
CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOwor
fQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygp
LAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKwor
ZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1
bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5f
X3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxp
ZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1w
cm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHkt
cHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1w
b2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKK2Z1bmN0aW9uIGFz
c2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoi
ICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOwor
ICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOwor
ICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlO
YW1lKSB7IHJldHVybiBgKGZ1bmN0aW9uIChiYXNlKSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNl
LCAnJHtwcm9wZXJ0eU5hbWV9Jyk7IH0pYDsgfQorbGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4o
dHJ5R2V0QnlJZFRleHQoImZvbyIpKTsKK2xldCBnZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdl
dEJ5SWRUZXh0KCJiYXIiKSk7CitsZXQgZ2V0Tm9uRXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0
aW4odHJ5R2V0QnlJZFRleHQoIm5vbkV4aXN0ZW50RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBv
bHlQcm90b09iamVjdCgpOworeC5fX3Byb3RvX18gPSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJl
dHVybiAyMjsgfSB9OworbGV0IGJhckdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoeC5fX3Byb3RvX18sICJiYXIiKS5nZXQ7Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9
PT0gImZ1bmN0aW9uIik7Cithc3NlcnQoYmFyR2V0dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24g
dmFsaWRhdGUoeCkgeworICAgIGFzc2VydChnZXRGb28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQo
bG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoZ2V0QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAg
ICBhc3NlcnQoZ2V0Tm9uRXhpc3RlbnRGaWVsZCh4KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5s
aW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2
YWxpZGF0ZSh4KTsKK30KSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCShyZXZp
c2lvbiAyMjI2NjMpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5k
aXNwbGF5VHlwZU5hCiBhc3NlcnQodHlwZXMuaW5zdHJ1Y3Rpb25UeXBlU2V0LmRpc3BsYXlUeXBl
TmFtZSA9PT0gIkMiLCAidmFyaWFibGUgJ3RoZUMnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFt
ZSAnQyciKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJh
cmNoeVRlc3QgPSBuZXcgQjsiKTsKLWFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlU
eXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRp
c3BsYXlUeXBlTmFtZSAnQSciKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlU
eXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRp
c3BsYXlUeXBlTmFtZSAnQSciICsgIiBidXQgd2FzOiAiICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5k
aXNwbGF5VHlwZU5hbWUpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVzc2lvbih3cmFwcGVy
LCAiaGllcmFyY2h5VGVzdCA9IG5ldyBDOyIpOwogYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQu
ZGlzcGxheVR5cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxk
IGhhdmUgZGlzcGxheVR5cGVOYW1lICdBJyIpOwpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIv
b3ZlcmZsb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cu
anMJKHJldmlzaW9uIDIyMjY2MykKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZhciBp
ID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAgICAv
LyBNYWtlIHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2lnbm1l
bnQgdG8geCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3aWxs
IGJlIG1lcmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0gMjA7
CisgICAgeCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rpb24o
KSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90eXBl
OwpAQCAtMjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9IG51
bGw7CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93
IC0gMTsgaSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9IDIw
OworICAgIHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9u
KCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlw
ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3
LDYgKzIyNyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNv
ZGUvTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVz
cGFjZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAor
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNw
cAogYnl0ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNv
ZGUvUHJvZ3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAor
Ynl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0
YXR1cy5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1
Myw5MCBAQCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0
RGlyZWN0TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRD
aGVja1N1YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09i
amVjdCA6IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2lu
ZyBCYXNlID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFs
dWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09i
amVjdFR5cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0
YXRpYyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0
ZXIgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+
KHZtLmhlYXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0
aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01K
SVRBdHRyaWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoK
KyAgICAgICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJ
VDo6R2V0dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVj
dDo6Y3VzdG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxE
T01HZXR0ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAg
ICAgICAgICAgICBTcGVjSW50MzJPbmx5KQorICAgICAgICB7CisgICAgICAgIH0KKworI2lmIEVO
QUJMRShKSVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNs
b3dDYWxsKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAg
ICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBz
dGF0aWNfY2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY2FsbERPTUdl
dHRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJT
bmlwcGV0PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7
CisgICAgICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisgICAg
ICAgICAgICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1dKENDYWxsSGVscGVycyYgaml0LCBTbmlw
cGV0UGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRz
ID0gcGFyYW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgR1BSUmVnIGRvbSA9
IHBhcmFtc1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxs
KGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKKworICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICByZXR1cm4gc25pcHBldDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfTsKKwor
cHJpdmF0ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CisKKyAgICBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmpl
Y3QqPih2bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOworICAgICAgICBSRUxFQVNFX0FT
U0VSVCh0aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2Jq
ZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgfQorfTsKKworc3RhdGljIGNvbnN0IERP
TUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRlIERPTUpJVEdldHRlckJhc2VK
U09iamVjdERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgY29u
c3QgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9ICZET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3RET01KSVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVyU2V0dGVyID0gRE9NQXR0cmlidXRlR2V0
dGVyU2V0dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0dGVyKCksIG51bGxwdHIsIERPTUF0dHJp
YnV0ZUFubm90YXRpb24geyBKU09iamVjdDo6aW5mbygpLCBkb21KSVQgfSk7CisgICAgcHV0RGly
ZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9t
R2V0dGVyIiksIGN1c3RvbUdldHRlclNldHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKTsKK30KKwogY29uc3QgQ2xhc3NJ
bmZvIEVsZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVsZW1lbnQpIH07CiBjb25zdCBDbGFzc0lu
Zm8gTWFzcXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXNxdWVyYWRlcikgfTsKIGNv
bnN0IENsYXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJSb290IiwgJkJhc2U6OnNfaW5mbywgbnVs
bHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShSb290KSB9OwpAQCAtOTY1LDYgKzEw
NDksNyBAQCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9kZTo6c19pbmZvID0geyAiCiAjZW5kaWYK
IGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlciIs
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9N
SklUR2V0dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckNvbXBsZXg6OnNfaW5m
byA9IHsgIkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckNvbXBsZXgpIH07Citjb25zdCBD
bGFzc0luZm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkgfTsKICNpZiBFTkFCTEUoSklU
KQogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9uT2JqZWN0OjpzX2luZm8gPSB7ICJET01K
SVRGdW5jdGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsICZET01KSVRGdW5jdGlv
bk9iamVjdDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklU
RnVuY3Rpb25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTA1Nyw2ICsxMTQyLDg0IEBAIHByaXZhdGU6
CiAgICAgRGVxdWU8U3RyaW5nPiBtX3JlcG9ydHM7CiB9OwogCitjbGFzcyBKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXIgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CitwdWJsaWM6CisgICAgdXNp
bmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXIoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNl
KHZtLCBzdHJ1Y3R1cmUpCisgICAgeyB9CisKKyAgICBzdGF0aWMgSlNUZXN0Q3VzdG9tR2V0dGVy
U2V0dGVyKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKiByZXN1bHQgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhl
YXAsIHNpemVvZihKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIpKSkgSlNUZXN0Q3VzdG9tR2V0dGVy
U2V0dGVyKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiB2bSk7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCksIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKKyAgICB9CisKKyAgICBERUNMQVJFX0lORk87Cit9OworCisKK3N0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBjdXN0b21HZXRBY2Nlc3NvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkKK3sKKyAgICAvLyBQYXNzZWQgfHRoaXN8CisgICAgcmV0dXJuIHRo
aXNWYWx1ZTsKK30KKworc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdldFZhbHVlKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoSlNWYWx1ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhl
Yy0+dm0oKSwgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjppbmZvKCkpKTsKKyAgICAvLyBQYXNz
ZWQgcHJvcGVydHkgaG9sZGVyLgorICAgIHJldHVybiBzbG90VmFsdWU7Cit9CisKK3N0YXRpYyBi
b29sIGN1c3RvbVNldEFjY2Vzc29yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhp
c09iamVjdCwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CisKKyAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRW
YWx1ZSk7CisgICAgUkVMRUFTRV9BU1NFUlQodmFsdWUuaXNPYmplY3QoKSk7CisgICAgSlNPYmpl
Y3QqIG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChv
YmplY3QpOworICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJyZXN1bHQiKSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNPYmplY3QpLCBzbG90KTsK
KworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCBjdXN0b21TZXRWYWx1ZShFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisKKyAgICBSRUxFQVNFX0FT
U0VSVChKU1ZhbHVlOjpkZWNvZGUoc2xvdFZhbHVlKS5pbmhlcml0cyhleGVjLT52bSgpLCBKU1Rl
c3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmluZm8oKSkpOworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOworICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlz
T2JqZWN0KCkpOworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAg
UHV0UHJvcGVydHlTbG90IHNsb3Qob2JqZWN0KTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4
ZWMsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29k
ZShzbG90VmFsdWUpLCBzbG90KTsKKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEpTVGVz
dEN1c3RvbUdldHRlclNldHRlcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIHB1dERp
cmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3Rv
bVZhbHVlIiksCisgICAgICAgIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBjdXN0b21H
ZXRWYWx1ZSwgY3VzdG9tU2V0VmFsdWUpLCAwKTsKKyAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nv
cih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21BY2Nlc3NvciIpLAorICAg
ICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgY3VzdG9tR2V0QWNjZXNzb3IsIGN1
c3RvbVNldEFjY2Vzc29yKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRl
OjpDdXN0b21BY2Nlc3NvcikpOworfQorCitjb25zdCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tR2V0
dGVyU2V0dGVyOjpzX2luZm8gPSB7ICJKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIiLCAmQmFzZTo6
c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3Rv
bUdldHRlclNldHRlcikgfTsKKwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVQcm94eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlUnVudGltZUFycmF5KEV4ZWNTdGF0ZSopOwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVJbXB1cmVHZXR0
ZXIoRXhlY1N0YXRlKik7CkBAIC0xMDY2LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1
bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNTdGF0ZSop
Oworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdChF
eGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
U2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xMTc3LDYgKzEzNDEsOCBA
QCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbldhaXRGb3JSZXBvcnQoRXhlY1N0YXRlKik7
CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYXBDYXBhY2l0
eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uRmxhc2hIZWFwQWNjZXNzKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUq
KTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQ3Vz
dG9tVGVzdEdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKIAogc3RydWN0IFNjcmlwdCB7CiAgICAg
ZW51bSBjbGFzcyBTdHJpY3RNb2RlIHsKQEAgLTEzODIsNiArMTU0OCw3IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0
IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9uQ3Jl
YXRlRE9NSklURnVuY3Rpb25PYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNy
ZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNr
U3ViQ2xhc3NPYmplY3QsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJ
VEdldHRlckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVuY3Rp
b25DcmVhdGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVHbG9i
YWxPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1
bmN0aW9uKHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVyZUdl
dHRlckRlbGVnYXRlLCAyKTsKQEAgLTE0NjYsNiArMTYzMyw5IEBAIHByb3RlY3RlZDoKIAogICAg
ICAgICBhZGRGdW5jdGlvbih2bSwgImhlYXBDYXBhY2l0eSIsIGZ1bmN0aW9uSGVhcENhcGFjaXR5
LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJmbGFzaEhlYXBBY2Nlc3MiLCBmdW5jdGlv
bkZsYXNoSGVhcEFjY2VzcywgMCk7CisKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJsb2FkR2V0
dGVyRnJvbUdldHRlclNldHRlciIsIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIs
IDEpOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0
ZXIiLCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIsIDEpOwogICAgIH0KICAg
ICAKICAgICB2b2lkIGFkZEZ1bmN0aW9uKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCwgY29uc3Qg
Y2hhciogbmFtZSwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIHVuc2lnbmVkIGFyZ3VtZW50cykK
QEAgLTIxMTUsNiArMjI4NSwxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uQ3JlCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpT
TG9ja0hvbGRlciBsb2NrKHZtKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IERPTUpJVEdl
dHRlckJhc2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGpzTnVsbCgpKTsKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIHJlc3Vs
dCA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKK30KKworCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0yODMyLDYgKzMwMTIsMjQgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYQogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5h
cmd1bWVudENvdW50KCkgPj0gMSk7CisgICAgR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIgPSBq
c0R5bmFtaWNDYXN0PEdldHRlclNldHRlcio+KHZtLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAg
UkVMRUFTRV9BU1NFUlQoZ2V0dGVyU2V0dGVyKTsKKyAgICBKU09iamVjdCogZ2V0dGVyID0gZ2V0
dGVyU2V0dGVyLT5nZXR0ZXIoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChnZXR0ZXIpOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoZ2V0dGVyKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBl
eGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9i
YWxPYmplY3QpKSk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KIHR5cGVuYW1l
IHN0ZDo6ZW5hYmxlX2lmPCFzdGQ6OmlzX2Z1bmRhbWVudGFsPFZhbHVlVHlwZT46OnZhbHVlPjo6
dHlwZSBhZGRPcHRpb24oVk0mLCBKU09iamVjdCosIElkZW50aWZpZXIsIFZhbHVlVHlwZSkgeyB9
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI2NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJNzkxOUI3ODAx
RTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGls
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5
MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBK
SVRNYXRoSUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Nzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAv
KiBHZXRQdXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJz
QnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNC
eUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NE
NjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5OCw2ICszNDk5LDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1
NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKSVRNYXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRF
RUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2lu
TWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFw
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYw
MyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNE
MUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5
RUUgLyogR2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQ
dXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYw
MEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBo
Q29sb3JpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM2NSw2ICs3MzY4
LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5o
ICovLAogCQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5j
cHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9u
LmggKi8sCisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmNwcCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZs
YWdzLmNwcCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdz
LmggKi8sCiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3Bw
ICovLApAQCAtODU1NCw2ICs4NTU5LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQg
LyogSW50bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFC
NEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4
NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
ci5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJ
bnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9O
QU1FUwogCiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUg
eyAiUHJpdmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5
bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAi
UHJpdmF0ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsK
IAogfSAvLyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMK
IAogZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFt
ZTsKK2V4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5U
UlkobmFtZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5p
bXBsKCksICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklU
SUFMSVpFX0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVO
YW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3lt
Ym9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbElt
cGwmPihTeW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAg
ICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9U
T19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAg
LTIzOCw2ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19U
T19QUklWQVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xs
YXJWTVByaXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJs
aWNUb1ByaXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2
YXRlTmFtZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJv
dG8pOworICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMt
PnVuZGVyc2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsK
ICAgICB9CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJ
ZGVudGlmaWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19D
T01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVf
QlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xs
YXJWTVB1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5k
ZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90
b1ByaXZhdGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRp
ZmllcjsKQEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6
SWRlbnRpZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFz
aE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRp
ZmllclJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJs
aWNUb1ByaXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFw
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNw
cAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Fj
Y2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNl
IEFjY2Vzc0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7
CiB9CiAKLUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3ND
YXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUp
CiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJl
TnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRp
b25TZXQ7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVh
dGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNz
Q2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkg
ewogICAgIGNhc2UgSW5IaXQ6CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJl
Y3RBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAg
Y2FzZSBNb2R1bGVOYW1lc3BhY2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIXByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3Ry
dWN0dXJlLCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3Ry
dWN0dXJlID09IG5ld1N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBA
QCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9
CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0b3I8
V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRT
ZXQqLCAyPiByZXN1bHQ7CiAKICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5u
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0
Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25T
ZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2lu
dFNldEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgp
KQpAQCAtMTUxLDYgKzE1NSw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJl
Q2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
aWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmlu
Z0xlbmd0aDoKQEAgLTIxMCw2ICsyMTcsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNl
KGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBk
ZWZhdWx0OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgaWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hl
Y2sgd2UgbmVlZCBzaW5jZSBQcm90b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBz
dHJ1Y3R1cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWlu
IG9ubHkgdGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAg
ICAgICAgICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAg
ICByZXR1cm4gc3RydWN0dXJlKCkgPT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAg
ICAmJiAqbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9PSAqb3RoZXIubV9wcm90b3R5cGVBY2Nlc3ND
aGFpbjsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2so
KSB8fCAhb3RoZXIuZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIApAQCAtMjE5LDIyICsyMzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBs
YWNlKGNvbnN0IEFjY2VzcwogCiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKIHsKLSAgICBvdXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQo
IlxuIiwgbV90eXBlLCAiOigiKTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91
dC5wcmludChjb21tYSwgbV9zdGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24p
Ci0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0
cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVs
c2UgaWYgKG1fc3RydWN0dXJlKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUg
PSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRP
ZmZzZXQobV9vZmZzZXQpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBt
X29mZnNldCk7CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91
dC5wcmludChjb21tYSwgImNvbmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBp
ZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJw
cm90b3R5cGUgYWNjZXNzIGNoYWluID0gIik7CisgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmR1bXAoc3RydWN0dXJlKCksIG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1f
dHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0
dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5l
d1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAg
ICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1
cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQu
cHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNp
dFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNN
YXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlm
ICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExp
dmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAg
LTI3Myw2ICszMDQsMTEgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhT
bAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5t
YXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7
CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0No
YWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRy
YW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVj
dHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArNDA4LDY0IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBp
ZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFz
ZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwot
Ci0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFs
bFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVy
ZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAg
ICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VG
b3JBY2Nlc3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3Rh
dGUuYmFzZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluLT5mb3JFYWNoKHN0cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJl
LCBib29sIGF0RW5kKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAg
ICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAg
ICAgICAgICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09
IE1pc3MgfHwgbV90eXBlID09IEluTWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIEZvciBhIE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0
IHRoZSBlbmQgd2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQg
dG8gdmVyaWZ5IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhl
cmUgaXNuJ3QgYSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0
KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNz
R1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KEND
YWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09i
amVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2
ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0u
CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1
cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBq
aXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBi
YXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIs
IEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVj
dHVyZSgpKSk7CisgICAgICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisg
ICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlw
ZUluZm9UeXBlT2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAg
ICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6
dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJv
dWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpz
dHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgp
KSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYg
KzUwMiw4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBB
U1NFUlQobV9jb25kaXRpb25TZXQuc3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1
cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uJiBjb25kaXRpb24gOiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNF
X0FTU0VSVCghbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBjb25kaXRpb24ub2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlm
IChjb25kaXRpb24uaXNXYXRjaGFibGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgp
KSB7CkBAIC01MDQsMTMgKzU4MCwyMyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChB
Y2Nlc3NHZW5lCiAgICAgICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAg
ICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5p
c0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAg
IHNjcmF0Y2hHUFIpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAg
ICAgICAgICAgLy9kYXRhTG9nTG4oIkdlbmVyYXRpbmcgcHJvdG90eXBlIGFjY2VzcyBjaGFpbjoi
KTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCp0aGlzKTsKKyAgICAgICAgICAgIC8vZGF0YUxv
Z0xuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisKKyAgICAgICAgICAg
IC8vIFRoaXMgaXNuJ3QgcHJldHR5LCBidXQgd2Uga25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJh
dGVXaXRoR3VhcmQsCisgICAgICAgICAgICAvLyBhbmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2Vz
cyBpbnNpZGUgc2NyYXRjaEdQUi4gV2UgY291bGQgcmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAg
ICAgICAgLy8gYnV0IGl0J2QgcmVxdWlyZSBlbWl0dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQg
dGhlIGJhc2UgdHdpY2UuCiAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQ
UjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZv
ckdldEdQUjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25T
ZXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3Jh
dGNoR1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBi
YXNlRm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BS
ID0gSW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRl
ciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZh
bHVlU2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3
ICsxMTAyLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAg
ICAgICAKICAgICBjYXNlIEludHJpbnNpY0dldHRlcjogewogICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc1ZhbGlkT2Zmc2V0KG9mZnNldCgpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5l
ZWQgdG8gZW5zdXJlIHRoZSBnZXR0ZXIgdmFsdWUgZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVz
LiBOb3RlIHRoYXQgR2V0dGVyU2V0dGVycwogICAgICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdl
IGp1c3QgbmVlZCB0byB3YXRjaCB0aGUgcHJvcGVydHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQu
CiAgICAgICAgIFN0cnVjdHVyZSogY3VyclN0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNs
dWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFj
Y2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTEyMCwxMSArMTIxLDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0ID0gaW52YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0
dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIp
OwogCiAgICAgLy8gVGhpcyBjcmVhdGUgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0
aW9ucy4KICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYs
IEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwK
LSAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1
Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gZnJvbVN0cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxs
KiBvd25lciwgU3RydWN0dXJlU3R1YkluZm8mKTsKIApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJv
dG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bjsKKyAgICB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikg
PSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nl
c3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNj
ZXNzQ2FzZSYgb3RoZXIpCisgICAgICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAg
LCBtX3N0YXRlKG90aGVyLm1fc3RhdGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZz
ZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwg
bV9jb25kaXRpb25TZXQob3RoZXIubV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAo
b3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgIG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0K
KwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7
CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0y
MjcsNiArMjQ0LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0
cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNjYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU5Myw3ICs1OTMsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBTCiAgICAgICAgICAgICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29w
TGVuZ3RoIC0gMl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9w
TGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1f
Z2xvYmFsT2JqZWN0LmdldCgpLCB0aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCksIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0
YXR1cy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBA
IEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNv
bnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAg
ICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRT
dGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNl
c1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQ
YXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJl
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdl
dHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25h
bFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93
bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAg
bV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7
CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFs
PERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAg
LTYzLDE4ICs2MywxOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVy
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
dmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmli
dXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21W
YWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNl
LCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikp
KTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwog
ICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAg
ICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAot
ICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAg
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJp
YnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6
OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRy
LAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+LAorICAgICAgICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9
IG51bGxwdHIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNjcsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25z
dCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nl
c3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
LmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYs
OCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9z
dHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4g
dHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5z
aWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0
dGVyQWNjZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGlu
dHJpbnNpY0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJ
bnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIp
CiB7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5j
dGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIGNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoSlNGdW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAg
IHZvaWQgZW1pdEludHJpbnNpY0dldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAg
IC8vIEZJWE1FOiBNYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5j
dGlvbiogaW50cmluc2ljRnVuY3Rpb24pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3Bw
CShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9k
dWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcg
QEAKIG5hbWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVO
YW1lc3BhY2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3Bh
Y2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9k
dWxlRW52aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwg
b3duZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFt
ZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAg
ICAgbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNl
T2JqZWN0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQor
eworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwor
ICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2lu
ZyBwb2x5IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAg
Ly8gY3JlYXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9i
amVjdC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
NTE3CisgICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZXhlY3V0YWJsZSA9IG51bGxwdHI7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAg
IGV4ZWN1dGFibGUgPSBjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisKKyAgICAgICAgaXNQ
b2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkp
CisgICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGlzUG9seVByb3RvID0gZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgp
Lmhhc0JlZW5JbnZhbGlkYXRlZCgpICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCkt
Pmhhc0JlZW5JbnZhbGlkYXRlZCgpOzsKKworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAg
ICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBv
bHlQcm90b1N0cnVjdHVyZSgpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Ry
dWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAg
ICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2Fw
YWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy9JbmZlcnJlZFZhbHVl
KiBpbmZlcnJlZENvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVS
YXJlRGF0YSh2bSktPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICAvL2Jv
b2wgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgLy9pZiAoSlNP
YmplY3QqIHByb3RvdHlwZU9mUHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZt
LCBwcm90b3R5cGUtPmdldFByb3RvdHlwZURpcmVjdCgpKSkgeworICAgICAgICAvLyAgICBpZiAo
cHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAg
ICAgICAgLy8gICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZU9m
UHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpOworICAgICAgICAvLyAgICAgICAg
cGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rv
cigpICYmIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRl
ZCgpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vfQorCisgICAgICAgIC8vaW5mZXJyZWRD
b25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJl
ZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworCisgICAgICAgIC8v
aXNQb2x5UHJvdG8gPSAoaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkg
fHwgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8pICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1
bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICAvL2lmIChPcHRpb25zOjpm
b3JjZVBvbHlQcm90bygpKQorICAgICAgICAvLyAgICBpc1BvbHlQcm90byA9IHRydWU7CisKKyAg
ICAgICAgLy9pZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gICAgaWYgKFN0cnVjdHVyZSog
c3RydWN0dXJlID0gZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAg
ICAgICAgLy8gICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBl
KCkgPT0gRmluYWxPYmplY3RUeXBlKTsKKyAgICAgICAgLy8gICAgICAgIG1fYWxsb2NhdG9yID0g
bnVsbHB0cjsKKyAgICAgICAgLy8gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0
cnVjdHVyZSk7CisgICAgICAgIC8vICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJl
LT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAvLyAgICAgICAgcmV0dXJuOworICAgICAgICAv
LyAgICB9CisgICAgICAgIC8vfQorICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRl
ZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKwor
ICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVt
cHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIg
anVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5j
dGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERl
ZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRv
IHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3Qu
CisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0
eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5
ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAg
ICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5
ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElu
bGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9i
amVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRv
ciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7
CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxh
YmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6
ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6
ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNs
b3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICBp
ZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICBleGVj
dXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUpIHsKKyAgICAgICAgICAgIGV4ZWN1dGFi
bGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+
ZW5zdXJlUmFyZURhdGEodm0pLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KGV4ZWN1dGFi
bGUtPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSk7CisgICAgICAgIH0KKworICAgICAgICBt
X2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICB9CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBh
bm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5
IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5l
Q2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAg
ICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3Rv
dHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAg
UHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2Rl
OjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHBy
b3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBw
cm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFy
cmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0
eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpT
VmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9y
W2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5
IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlm
IChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29u
dGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9
CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0
aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkK
LSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1f
c3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAg
ICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGlu
ZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAg
ICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5h
bHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVm
YXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMg
YXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QK
LSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRo
aXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0
eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAv
LyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhl
bSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdl
IG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAg
ICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdl
IG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8
PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3Qg
YWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBh
Y2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNl
LmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtl
IGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXpl
IGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xv
cCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3Jp
dGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7
Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAg
ICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBp
dCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZl
bmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3Ry
dWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNp
dHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAgdm9pZCBpbml0aWFsaXplUHJvZmlsZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rp
b24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgp
CiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAg
ICAgewotICAgICAgICBtX2FsbG9jYXRvciA9IDA7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVs
bHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsKICAgICAgICAgbV9pbmxpbmVDYXBh
Y2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChpc051bGwoKSk7CkBAIC0xMjYsMjcgKzc0LDcgQEAg
cHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVy
dHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAo
cHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgp
KQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAg
ICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5h
bWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwot
ICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVj
dHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAg
UHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZl
Y3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0g
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qo
dm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBh
cmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBu
b3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24q
Pih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAr
K2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1
bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHBy
b3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21w
dXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQs
MTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBnZW5lcmF0ZUNvbmRpdGlvCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNl
OiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAg
ICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQg
PSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgKICAgICAgICAgICAgIHZtLCBvd25l
ciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246
OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24o
KTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNl
dEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3Ry
dWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0y
NTgsNiArMjYyLDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkK
ICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsK
ICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgp
OwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW50ZWdyYXRlIHRoaXMgd2l0aCBQcm90b3R5
cGVBY2Nlc3NDaGFpbjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIC8vIE9yIGF0IGxlYXN0IGFsbG93IE9Q
QyBzZXQgZ2VuZXJhdGlvbiB3aGVuIHRoZQorICAgICAgICAgICAgLy8gYmFzZSBpcyBub3QgcG9s
eSBwcm90bzoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc3MjEKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldDo6aW52YWxpZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZh
bHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAg
ICAgCkBAIC0zNjEsMjQgKzM3NCw2IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVy
YXRlQ29uZGkKICAgICAgICAgfSk7CiB9CiAKLU9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgIFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1
cmUsIEpTT2JqZWN0KiBwcm90b3R5cGUsCi0gICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKLXsK
LSAgICByZXR1cm4gZ2VuZXJhdGVDb25kaXRpb25zKAotICAgICAgICB2bSwgZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLCBoZWFkU3RydWN0dXJlLCBwcm90b3R5cGUsCi0gICAgICAgIFsmXSAo
VmVjdG9yPE9iamVjdFByb3BlcnR5Q29uZGl0aW9uPiYgY29uZGl0aW9ucywgSlNPYmplY3QqIG9i
amVjdCkgLT4gYm9vbCB7Ci0gICAgICAgICAgICBpZiAob2JqZWN0ID09IHByb3RvdHlwZSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uIHJlc3VsdCA9Ci0gICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb24odm0sIG93
bmVyLCBvYmplY3QsIHVpZCwgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2UpOwotICAgICAgICAg
ICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg
ICAgY29uZGl0aW9ucy5hcHBlbmQocmVzdWx0KTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICB9KTsKLX0KLQogT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25k
aXRpb25zRm9yUHJvdG90eXBlRXF1aXZhbGVuY2VDb25jdXJyZW50bHkoCiAgICAgVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2NSw5ICsxNjUsNiBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNv
bmRpCiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90
b3R5cGVQcm9wZXJ0eUhpdCgKICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgSlNPYmplY3QqIHByb3RvdHlwZSwKICAgICBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKTsKLU9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgIFZNJiwgSlNDZWxsKiBv
d25lciwgRXhlY1N0YXRlKiwgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBKU09iamVjdCogcHJv
dG90eXBlLAotICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogCiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVFcXVpdmFsZW5jZUNvbmN1
cnJlbnRseSgKICAgICBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBoZWFkU3RydWN0
dXJlLCBKU09iamVjdCogcHJvdG90eXBlLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4LDI0IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoY2FzZXNUb0FkZC5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpNYWRlTm9DaGFuZ2VzOwogCisgICAg
Ym9vbCBzaG91bGRSZXNldCA9IGZhbHNlOworICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2Fz
ZXNUb0FkZCkgeworICAgICAgICBmb3IgKGF1dG8mIGV4aXN0aW5nQ2FzZSA6IG1fbGlzdCkgewor
ICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gY2FzZVRvQWRkLT5zdHJ1Y3R1cmUoKTsKKyAgICAg
ICAgICAgIFN0cnVjdHVyZSogYiA9IGV4aXN0aW5nQ2FzZS0+c3RydWN0dXJlKCk7CisgICAgICAg
ICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAg
ICAgICAgICAgICAgICAvLyBPT1BTOiBtYXliZSB0aGlzIHdpbGwgZGVzdHJveSBvdXJzZWx2ZXMg
aWYgd2Ugc3RhcnQgd2F0Y2hpbmcgZm9yIHRoZXNlPyBJZiBzbywgaGF2ZSBhIHdheSB0byBjb2xs
ZWN0LCBhbmQgZmlyZQorICAgICAgICAgICAgICAgIC8vIHRoZW0gaW4gZGVsYXllZCBmYXNoaW9u
LgorICAgICAgICAgICAgICAgIEFTU0VSVChhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hw
b2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgICAgICBzaG91bGRSZXNldCB8PSBhLT5yYXJlRGF0
YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOyAv
LyBXZSBvbmx5IHJlc2V0IGlmIHRoaXMgaXMgb3VyIGZpcnN0IHRpbWUgaW52YWxpZGF0aW5nIHRo
aXMgd2F0Y2hwb2ludC4KKyAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVj
dGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKHNob3VsZFJlc2V0KQorICAgICAgICByZXR1cm4gQWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdDo6Q2xlYXJTdHViOworCiAgICAgLy8gTm93IGFkZCB0aGluZ3MgdG8gdGhl
IG5ldyBsaXN0LiBOb3RlIHRoYXQgYXQgdGhpcyBwb2ludCwgd2Ugd2lsbCBzdGlsbCBoYXZlIG9s
ZCBjYXNlcyB0aGF0CiAgICAgLy8gbWF5IGJlIHJlcGxhY2VkIGJ5IHRoZSBuZXcgb25lcy4gVGhh
dCdzIGZpbmUuIFdlIHdpbGwgc29ydCB0aGF0IG91dCB3aGVuIHdlIHJlZ2VuZXJhdGUuCiAgICAg
Zm9yIChhdXRvJiBjYXNlVG9BZGQgOiBjYXNlc1RvQWRkKSB7CkBAIC0zMzksNyArMzU3LDcgQEAg
QWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChQb2x5bW9y
cGhpY0FjY2Vzc0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZWdlbmVyYXRl
IHdpdGggbV9saXN0OiAiLCBsaXN0RHVtcChtX2xpc3QpLCAiXG4iKTsKICAgICAKLSAgICBBY2Nl
c3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0pOworICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBz
dGF0ZSh2bSwgY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7CiAKICAgICBzdGF0ZS5hY2Nlc3Mg
PSB0aGlzOwogICAgIHN0YXRlLnN0dWJJbmZvID0gJnN0dWJJbmZvOwpAQCAtNTkwLDYgKzYwOCw5
IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBBY2MKICAgICBjYXNlIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkdlbmVyYXRlZEZpbmFsQ29kZToKICAgICAgICAgb3V0LnBy
aW50KCJHZW5lcmF0ZWRGaW5hbENvZGUiKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQWNj
ZXNzR2VuZXJhdGlvblJlc3VsdDo6Q2xlYXJTdHViOgorICAgICAgICBvdXQucHJpbnQoIkNsZWFy
U3R1YiIpOworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAogICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDcgKzUyLDggQEAgcHVibGljOgogICAgICAgICBHYXZlVXAsCiAgICAgICAgIEJ1ZmZl
cmVkLAogICAgICAgICBHZW5lcmF0ZWROZXdDb2RlLAotICAgICAgICBHZW5lcmF0ZWRGaW5hbENv
ZGUgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJh
dGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgR2VuZXJhdGVkRmluYWxDb2RlLCAvLyBHZW5lcmF0ZWQg
c28gbXVjaCBjb2RlIHRoYXQgd2UgbmV2ZXIgd2FudCB0byBnZW5lcmF0ZSBjb2RlIGFnYWluLgor
ICAgICAgICBDbGVhclN0dWIgLy8gV2UgZm91bmQgb3V0IHNvbWUgZGF0YSB0aGF0IG1ha2VzIHVz
IHdhbnQgdG8gc3RhcnQgb3ZlciBmcmVzaCB3aXRoIHRoaXMgc3R1Yi4gQ3VycmVudGx5LCB0aGlz
IGhhcHBlbnMgd2hlbiB3ZSBkZXRlY3QgcG9seSBwcm90by4KICAgICB9OwogICAgIAogICAgIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQoKQpAQCAtOTgsNiArOTksNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBidWZmZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBCdWZmZXJlZDsgfQogICAgIGJv
b2wgZ2VuZXJhdGVkTmV3Q29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBHZW5lcmF0ZWRO
ZXdDb2RlOyB9CiAgICAgYm9vbCBnZW5lcmF0ZWRGaW5hbENvZGUoKSBjb25zdCB7IHJldHVybiBt
X2tpbmQgPT0gR2VuZXJhdGVkRmluYWxDb2RlOyB9CisgICAgYm9vbCBzaG91bGRDbGVhclN0dWIo
KSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQ2xlYXJTdHViOyB9CiAgICAgCiAgICAgLy8gSWYg
d2UgZ2F2ZSB1cCBvbiB0aGlzIGF0dGVtcHQgdG8gZ2VuZXJhdGUgY29kZSwgb3IgaWYgd2UgZ2Vu
ZXJhdGVkIHRoZSAiZmluYWwiIGNvZGUsIHRoZW4gd2UKICAgICAvLyBzaG91bGQgZ2l2ZSB1cCBh
ZnRlciB0aGlzLgpAQCAtMTcxLDE0ICsxNzMsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBB
Y2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0p
CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9iamVjdChn
bG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2FsbEFuZEV4
Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVSZWdpc3Rl
cnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0ZUluZGV4
KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxPYmplY3Qq
IG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9OwogICAg
IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hSZWdpc3Rl
ckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJTdGF0ZTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5
Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDE0
ICsxMDcsMzAgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3Vy
cmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9mZnNl
dCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2Up
CiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIHRoZSBwcm9wZXJ0eSBl
eGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJyZW50T2Zmc2V0LCAiXG4iKTsKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKKworICAgICAgICBKU09i
amVjdCogY3VycmVudFByb3RvdHlwZTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChiYXNlKTsKKyAgICAgICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5bmFt
aWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVjdHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBlRGly
ZWN0KCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0gcHJv
dG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2
ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAgICAg
IkludmFsaWQgYmVjYXVzZSB0aGUgcHJvdG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCksICIgZXZlbiB0aG91Z2ggIgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFByb3Bl
cnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0
aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisg
ICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0
aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHBy
b3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAg
IAogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBwcm90
b3R5cGUoKSkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZl
cmJvc2UpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVB
Y2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisK
K3N0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hh
aW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU09i
amVjdCogdGFyZ2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgp
OworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCBiYXNlLCB0YXJnZXQsIHVzZXNQb2x5
UHJvdG8pOworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
ZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAg
IEpTQ2VsbCogY3VycmVudCA9IGJhc2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAg
ICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUHJvdG90
eXBlQWNjZXNzQ2hhaW4oKSk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGl0ZXJhdGlvbk51bWJlciA9
IDA7IHRydWU7ICsraXRlcmF0aW9uTnVtYmVyKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsK
KyAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9u
YXJ5U3RydWN0dXJlKHZtLCBhc09iamVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBUbyBzYXZlIG1lbW9yeSwgd2UgZG9uJ3QgaW5jbHVkZSB0aGUgYmFzZSBpbiB0aGUgY2hh
aW4uIFdlIGxldAorICAgICAgICAvLyBBY2Nlc3NDYXNlIHByb3ZpZGUgdGhlIGJhc2UgdG8gdXMg
YXMgbmVlZGVkLgorICAgICAgICBpZiAoaXRlcmF0aW9uTnVtYmVyKQorICAgICAgICAgICAgcmVz
dWx0LT5tX2NoYWluLmFwcGVuZChzdHJ1Y3R1cmUpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChjdXJyZW50ID09IGJhc2UpOworCisgICAgICAgIGlmIChjdXJyZW50
ID09IHRhcmdldCkgeworICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3
ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBw
cm90byBwcm90b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisg
ICAgICAgIC8vIHRoaW5nIGluIHRoZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24g
aXQsIHRoZW4gd2UncmUgbm90CisgICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQ
b2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAg
SlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxP
YmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAg
IH0KKworICAgIGlmICghZm91bmQgJiYgISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6b3Bl
cmF0b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fY2hhaW4gPT0gb3RoZXIubV9jaGFpbjsKK30KKwordm9pZCBQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6ZHVtcChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQb2x5UHJvdG90eXBlQWNjZXNzQ2hhaW4iKTsKKyAg
ICBvdXQucHJpbnQoIjogW1xuIik7CisgICAgZm9yRWFjaChiYXNlU3RydWN0dXJlLCBbJl0gKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBib29sKSB7CisgICAgICAgIG91dC5wcmludCgiXHQiKTsKKyAg
ICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAgIG91dC5wcmludCgiXG4iKTsKKyAg
ICB9KTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3Rv
dHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNPYmplY3Q7Citj
bGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFj
Y2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90b3R5
cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKworICAgIC8v
IFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9s
eVByb3RvKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWlu
PiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBKU09i
amVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKTsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bWFrZV91bmlxdWU8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9CisKKyAg
ICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jaGFp
bjsgfQorCisgICAgdm9pZCBkdW1wKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgUHJpbnRTdHJl
YW0mIG91dCkgY29uc3Q7CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90
eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRo
aXMgPT0gb3RoZXIpOworICAgIH0KKworICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpIGNvbnN0OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmM+CisgICAgdm9pZCBm
b3JFYWNoKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgY29uc3QgRnVuYyYgZnVuYykgY29uc3QK
KyAgICB7CisgICAgICAgIGJvb2wgYXRFbmQgPSAhbV9jaGFpbi5zaXplKCk7CisgICAgICAgIGZ1
bmMoYmFzZVN0cnVjdHVyZSwgYXRFbmQpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbV9jaGFpbi5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgYXRFbmQgPSBpICsgMSA9PSBt
X2NoYWluLnNpemUoKTsKKyAgICAgICAgICAgIGZ1bmMobV9jaGFpbltpXSwgYXRFbmQpOworICAg
ICAgICB9CisgICAgfQorCitwcml2YXRlOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBk
ZWZhdWx0OworCisgICAgLy8gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBiYXNlLiBXZSByZWx5
IG9uIEFjY2Vzc0Nhc2UgcHJvdmlkaW5nIGl0IGZvciB1cy4gVGhhdCBzYWlkLCB0aGlzIGRhdGEK
KyAgICAvLyBzdHJ1Y3R1cmUgaXMgdGllZCB0byB0aGUgYmFzZSB0aGF0IGl0IHdhcyBjcmVhdGVk
IHdpdGguCisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IAorfTsKKworfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNyAr
MzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5
YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNz
VHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5YWJsZUFjY2Vzc0Nh
c2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
CisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uo
dm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBX
VEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkp
CiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlw
ZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93
bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRk
aXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogUHJveHlh
YmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZp
c2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxl
QWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9
IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNz
VHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wg
dmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIp
OworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0g
bnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVy
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25l
KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB+UHJveHlh
YmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxlQWNjZXNzQ2FzZShW
TSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
LCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogcHJpdmF0
ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChp
KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKKyAgICAgICAgICAgIGlmIChhY2Nl
c3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVz
KHNsb3dQYXRoU3RhdGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBQdXRCeUlkVmFyaWFu
dCB2YXJpYW50OwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHJldmlzaW9uIDIyMjY2MykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTEgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3Vs
dCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3RydWN0dXJlU3R1YkluZm9JbnRlcm5h
bDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkhhZCBzdHViLCByZXN1bHQ6ICIsIHJl
c3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRDbGVhclN0dWIoKSkgewor
ICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgpKSB7CiAgICAgICAg
ICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJl
U3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJvc2Up
CiAgICAgICAgICAgICBkYXRhTG9nKCJDcmVhdGVkIHN0dWIsIHJlc3VsdDogIiwgcmVzdWx0LCAi
XG4iKTsKIAorICAgICAgICBpZiAocmVzdWx0LnNob3VsZENsZWFyU3R1YigpKSB7CisgICAgICAg
ICAgICByZXNldChjb2RlQmxvY2spOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAg
ICAgfQorCiAgICAgICAgIGlmICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAgICAgICAgICAgIGJ1
ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzczMyw2ICszNzMzLDExIEBAIE5vZGUq
IEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVz
IGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0
IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRp
ZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcK
ICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5
cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVz
IHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93LCBpZiB3ZSBoYXZl
IGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3aWxsCisgICAgICAg
ICAgICAgICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUgb25jZSB3ZSBoYXZl
IGEgaHlicmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAgIC8vIHBvbHkgcHJv
dG86CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJp
YW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAg
ICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAt
NDMzMCwxMiArNDMzNSwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2ln
bmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAgICAgICBpZiAoRnVu
Y3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0
QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNo
cG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRT
ZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxp
dmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgo
UGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVn
aXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2Jq
ZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9s
eSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEt
PmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dy
YXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQo
Tm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFs
T2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlw
ZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9y
RWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdv
b2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAg
ICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQog
ICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAg
IGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURh
dGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0
cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0
b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChl
eGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI2
NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Mzk0LDcgKzQzOTQsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFu
Y2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJh
cmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAg
IG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9u
UmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAg
ICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6
WmVybywgYWxsb2NhdG9yR1BSKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVz
dWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0
cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9h
ZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9m
UmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5
VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcg
cHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJl
ZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQg
cHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpT
VmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpA
QCAtMzI0OSw4ICszMjQ5LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5j
ZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4
KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQ
cm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0o
KSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQ
dHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5
cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQu
ZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBz
Y3JhdGNoMlJlZyk7CisgICAgLy9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9m
ZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gz
UmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNW
YWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3Jh
dGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFz
ZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwg
SlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5v
dFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2Ny
YXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQu
YnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVn
KTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVn
cyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEy
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3Bl
Y3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAg
ICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAg
ICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2Ny
YXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0g
c2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBp
c0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAg
IEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAt
MzM5NCw3ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2Yo
TgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAg
ICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVS
ZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZG
b3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRj
aDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQp
OwogCkBAIC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRo
aXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJl
ZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcg
PSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigp
OworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNj
cmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChu
b2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2Ny
YXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7
CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wg
aW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwg
Ym9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZv
ck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJS
ZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBw
cm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJS
ZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2Rl
Kik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODkwMywxMCArODkwMywxMiBAQCBwcml2YXRlOgogICAgICAg
ICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAg
ICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFz
aWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExC
YXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFz
aWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJh
c2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFz
aWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNC
bG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJh
c2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAg
ICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAg
IAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEo
KS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5MjQsMTYgKzg5MjYsMjggQEAgcHJpdmF0
ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihj
ZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0
LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBl
bmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1f
b3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9v
dXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAg
ICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1f
b3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxv
YWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAg
ICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5z
dGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVj
dCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBl
Qml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3Ry
dWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5s
b2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAg
IExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5T
dHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95
cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChp
c0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21w
YXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywg
Y29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChw
cm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVl
RnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0Lmxv
YWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZh
bHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgp
KSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1f
b3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAg
TFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBl
LCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0g
bV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAog
ICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIy
NjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9m
KEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBp
biByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3
aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBv
ZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgp
LCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0
dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgq
dm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0
cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQ
cm90b3R5cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVy
b0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1Qy
LCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwg
cmVnVDQpOworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVn
VDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1Qy
LCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMp
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUo
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90
byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29u
ZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBpZiAo
IXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNV
bnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJh
dGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNs
b3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0
ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94
eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50
U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRl
ciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdl
dHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3ND
YXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdl
dEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1p
dEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0No
YWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdp
dGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0eSwgd2UgcHJvYmFibHkKKyAgICAg
ICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVy
LiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3VsZAorICAgICAgICAgICAgLy8gYmUg
d2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlwZXMgaW4gcG9seSBwcm90byBmYXNo
aW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxzZSB7CisgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0
KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3Jl
YXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFj
Y2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9h
ZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNj
ZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2Fj
aGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5
LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hl
YWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAg
ICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51
bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2LDYgKzQwNCw3IEBAIHN0YXRpYyBJ
bmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAgICAgcmV0dXJuIEdpdmVVcE9u
Q2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZTsKKyAgICBK
U0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgpOwogCiAgICAgaWYgKHNsb3QuYmFz
ZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxlUHV0KCkpIHsKICAgICAgICAgaWYg
KHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhpc3RpbmdQcm9wZXJ0eSkgewpAQCAt
NDI5LDQ4ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJ
RAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAg
ICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAg
CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQg
Y29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtpbmQgPT0gTm90RGlyZWN0KSB7Ci0g
ICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJh
dGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAotICAgICAgICAgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOwotICAg
ICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAg
ICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAg
ICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVj
dHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9CisgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9w
ZXJ0eVNldHRlck1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgbmV3U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2Nr
LCBvZmZzZXQsIHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAg
ICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQs
IHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoc2xvdC5pc0NhY2hlYWJs
ZUN1c3RvbSgpIHx8IHNsb3QuaXNDYWNoZWFibGVTZXR0ZXIoKSkgewogICAgICAgICBpZiAoc2xv
dC5pc0NhY2hlYWJsZUN1c3RvbSgpKSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCBjb25kaXRpb25TZXQ7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogCiAgICAgICAgICAgICBpZiAo
c2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJv
cGVydHlIaXRDdXN0b20oCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAg
ICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVz
ZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAg
ICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
SXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2VDZWxsLT5zdHJ1Y3R1cmUo
KS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3Nv
cigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0
b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0g
ICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNz
Q2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRl
ciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0g
YmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0No
YWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5i
YXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2Vz
cyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdp
dmVVcE9uQ2FjaGU7Ci0gICAgICAgICAgICAgICAgb2Zmc2V0ID0gY29uZGl0aW9uU2V0LnNsb3RC
YXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
ICAgICBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgpOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlQ2VsbC0+c3RydWN0dXJl
KCktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZz
ZXQoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9mZnNldCwg
Y29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNl
OjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90
eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTE3LDE1ICs1NzEsMzUg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZt
KTsKICAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlv
blNldDsKICAgICBpZiAod2FzRm91bmQpIHsKLSAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAh
PSBiYXNlKSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAg
aWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7IAorICAgICAgICAgICAgYm9vbCB1c2VzUG9s
eVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNl
LCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMg
cHJvdG90eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2Ut
PnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgIHBy
b3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNl
KCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2Ug
ewotICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1p
c3MoCi0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50Lmlt
cGwoKSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAg
aWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlk
IHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBH
aXZlVXBPbkNhY2hlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8
IGJhc2UtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQog
ICAgIH0KICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBH
aXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcgKzYwNyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlSZXBhdGNoSW4oCiAgICAgTE9HX0lDKChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0
cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlkZW50KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVC
bG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywg
aW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29k
ZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNz
LCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogCiAgICAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBz
dHViSW5mby5hZGRBY2Nlc3NDYXNlKGxvY2tlciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShu
ZXdDYXNlKSk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2
NjcsMTkgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAg
ICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAgICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7
CiAKKyAgICAgICAgeworICAgICAgICAgICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBw
Y1s0XS51LnN0cnVjdHVyZUlEOworICAgICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7Cisg
ICAgICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCku
Z2V0KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNl
VmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgICAgICAgICBpZiAoU3Ry
dWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5n
ZXQoKSA9PSBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkp
OworICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkg
cHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorCiAgICAgICAgIEpTQ2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxs
KCk7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZUNlbGwtPnN0cnVjdHVyZSgp
OwogICAgICAgICBpZiAoc2xvdC5pc1ZhbHVlKCkgJiYgc2xvdC5zbG90QmFzZSgpID09IGJhc2VW
YWx1ZSkgewpAQCAtNzM3LDYgKzc1MCwyMiBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfcHV0X2J5X2lkCiAgICAgICAgICYmIGJhc2VWYWx1ZS5pc0NlbGwoKQogICAgICAgICAmJiBz
bG90LmlzQ2FjaGVhYmxlUHV0KCkpIHsKIAorCisgICAgICAgIHsKKyAgICAgICAgICAgIFN0cnVj
dHVyZUlEIG9sZFN0cnVjdHVyZUlEID0gcGNbNF0udS5zdHJ1Y3R1cmVJRDsKKyAgICAgICAgICAg
IGlmIChvbGRTdHJ1Y3R1cmVJRCkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9IHZt
LmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAgICAg
ICAgICAgU3RydWN0dXJlKiBiID0gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwor
ICAgICAgICAgICAgICAgIGlmIChzbG90LnR5cGUoKSA9PSBQdXRQcm9wZXJ0eVNsb3Q6Ok5ld1By
b3BlcnR5KQorICAgICAgICAgICAgICAgICAgICBiID0gYi0+cHJldmlvdXNJRCgpOworCisgICAg
ICAgICAgICAgICAgaWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIp
KSB7CisgICAgICAgICAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dh
dGNocG9pbnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9s
eSBwcm90byBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIGItPnJhcmVEYXRh
KCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmly
ZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgLy8gU3RhcnQgb3V0
IGJ5IGNsZWFyaW5nIG91dCB0aGUgb2xkIGNhY2hlLgogICAgICAgICBwY1s0XS51LnBvaW50ZXIg
PSBudWxscHRyOyAvLyBvbGQgc3RydWN0dXJlCiAgICAgICAgIHBjWzVdLnUucG9pbnRlciA9IG51
bGxwdHI7IC8vIG9mZnNldApAQCAtNzYwLDE2ICs3ODksMTcgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAgICAgICAgIGlmICghc3RydWN0dXJlLT5p
c0RpY3Rpb25hcnkoKSAmJiBzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+b3V0T2ZMaW5lQ2FwYWNp
dHkoKSA9PSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT50cmFuc2l0aW9uV2F0Y2hwb2lu
dFNldEhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKIAotICAgICAgICAgICAgICAgICAgICBpZiAobm9y
bWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBl
Q2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFp
bihleGVjLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgICAgIGlm
IChyZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJvdG8pIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+aXNP
YmplY3QoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVjdHVyZUlEID0g
c3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBw
Y1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJZElzRGlyZWN0
KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9
IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihl
eGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFT
U0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1
cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxv
Y2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVy
ZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyA9IHN0YXRp
Y19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0u
dS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxpbmUgYm9vbCAK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVjdCkKK3N0YXRp
YyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVj
dCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICByZXR1cm4gb2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pOworICAg
IHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhlY1N0YXRlJiBl
eGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwgdWludDY0X3Qg
bGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9p
bihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3duVG9CZU9LKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoc3Rh
dGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdv
dG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0
cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0aWMgaW5saW5l
IEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9pbmVyLmFwcGVu
ZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVy
YWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAg
ICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1Ymxp
Y0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRl
cmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEs
IGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0
KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1
dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRv
IGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAgICAgICAgaWYg
KGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVu
Z3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3Ro
KTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgzNSw3
ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAg
ICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFycmF5U3RvcmFn
ZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgoKSkKICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChzdG9y
YWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2Jq
ZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBzdG9yYWdlLnZl
Y3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgp
OwpAQCAtMTE3Niw3ICsxMTc1LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRzKEV4ZWNTdGF0
ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAot
ICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgp
KSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
KSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGlu
Z1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291cmNlKSkpIHsK
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsgKytpKSB7CiAg
ICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1aWNrbHkoaSk7
CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSogYnV0dGVyZmx5
OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7
CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVy
Zmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoKTsKICAgICAg
ICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IHZlY3Rv
ckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVyIGluZGV4aW5n
SGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgodmVjdG9yTGVu
Z3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6
OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRoYXQgdGhlIGds
b2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QKICAgICAv
LyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBtYXliZSB3ZSBz
aG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0eSh2bSwgZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSwgY2Fs
bGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGlu
Z1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCArMTI0LDE0IEBA
IENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9IH0KIAogICAg
IEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0
cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQt
Pm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIENsb25l
ZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZyYW1lKEV4ZWNT
dGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRzTW9kZSBtb2Rl
KQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElubGluZUZyYW1l
KG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NFUlQoIXJlc3Vs
dC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1
dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVz
dWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5z
dHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBA
IC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0
ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAgICAgICAgcmVz
dWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpzVmFsdWUoKSk7
Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hv
dWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NyZWF0ZV90
aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9wZXJhbmQ7CiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVEYXRhKGV4ZWMs
IGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7
CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7
CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAg
ICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBj
b25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIv
Ni4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBw
cm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25F
eGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVu
KEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAg
ICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUpOwog
fQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENv
ZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFi
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEzLTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRhYmxlLmgiCiAjaW5j
bHVkZSAiU291cmNlQ29kZS5oIgorI2luY2x1ZGUgPHd0Zi9Cb3guaD4KIAogbmFtZXNwYWNlIEpT
QyB7CiAKQEAgLTE3Miw2ICsxNzMsMTggQEAgcHVibGljOgogICAgIERFQ0xBUkVfSU5GTzsKIAog
ICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zaW5nbGV0
b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8vIENhY2hlZCBwb2x5IHByb3RvIHN0cnVjdHVyZSBm
b3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3RpbmcgdGhpcyBleGVjdXRhYmxlLgorICAgIFN0cnVj
dHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkgeyByZXR1cm4gbV9jYWNoZWRQb2x5UHJv
dG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVy
ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKSB7IG1fY2FjaGVkUG9seVByb3RvU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsgfQorCisgICAgSW5saW5lV2F0Y2hwb2ludFNl
dCYgZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpCisgICAgeworICAgICAgICBpZiAoIW1fcG9s
eVByb3RvV2F0Y2hwb2ludCkKKyAgICAgICAgICAgIG1fcG9seVByb3RvV2F0Y2hwb2ludCA9IEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0Pjo6Y3JlYXRlKElzV2F0Y2hlZCk7CisgICAgICAgIHJldHVy
biAqbV9wb2x5UHJvdG9XYXRjaHBvaW50OworICAgIH0KKworICAgIEJveDxJbmxpbmVXYXRjaHBv
aW50U2V0PiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5
UHJvdG9XYXRjaHBvaW50OyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1dGFi
bGVCYXNlOwpAQCAtMTg5LDYgKzIwMiw4IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPEZ1
bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBSZWZQdHI8VHlw
ZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRlQmFycmllcjxJbmZlcnJl
ZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOworICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0
PiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEu
Y3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9G
dW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5j
dGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25S
YXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGlu
ZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVj
dCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVj
dG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xv
YmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHRo
aXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9pZCBG
dW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZpc2lv
biAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVE
YXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5
cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAgICAg
Ym9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAhbV9v
YmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNpb24g
MjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlv
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50
ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6
Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdU
YXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNTRVJU
KCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0b3IoKSk7CiAgICAgQVNTRVJUKG5l
d1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxsZWUoKSk7CiAKKyAgICBBU1NFUlQo
YmFzZUNsYXNzLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CisKICAgICAvLyBuZXdUYXJnZXQgbWF5
IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNv
bnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8
SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04ODIsNyArODgyLDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0
ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBBcnJheVdpdGhDb250aWd1
b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAgICAgaWYgKGNvdW50ID49
IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlf
SU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0
aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBA
IC05MTcsNyArOTE3LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFn
ZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xlcyBvciBpcyBvdGhlcndp
c2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBnZW5lcmljIGFsZ29yaXRo
bSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhp
cy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgCisgICAg
aWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8fCBoYXNTcGFyc2VNYXAo
KSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5cGUoKSkpIHsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA0OCw3ICsxMDQ4LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlm
dENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBo
b2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24n
dCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFs
aXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVu
c2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0
dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAo
dGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
KSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsg
KytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3Vz
KClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7
CkBAIC0xMDg5LDcgKzEwODksNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5k
ZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBz
dGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAog
ICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhh
dmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xk
TGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAg
ICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2kgKyBjb3Vu
dF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKHYgIT0gdikpIHsKQEAgLTE0MzYsNyAr
MTQzNiw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE4KICAgICBp
ZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3Qo
KSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkocmV2aXNpb24gMjIyNjYz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAkod29y
a2luZyBjb3B5KQpAQCAtNjMsOCArNjMsOCBAQCBpbmxpbmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0
Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVkIHByb3BlcnRpZXMgb24gQXJyYXkucHJv
dG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAgLy8gaW5zdGVhZCBvZiB3YWxraW5nIHRo
ZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVj
dHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb3RoZXJBcnJheSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9pZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0
QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5p
c1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsKICAgICAgICAgICAgIG91dC5wcmludCgi
T2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQo
IiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFzT2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVy
Zmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVy
ZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBvdXQucHJpbnQoIiAoU3RydWN0dXJlICIs
IGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwog
ICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0
KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgIG91dC5wcmlu
dCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOworICAgICAgICBvdXQucHJpbnQo
IiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKICNlbmRpZgogICAg
IH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91dC5wcmludCgiVHJ1ZSIpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsMTYgKzEyNiwyMiBAQCBGdW5jdGlvblJhcmVEYXRhKiBK
U0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAK
K0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBF
eGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkp
CisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBK
U0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1p
Y0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmpl
Y3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxP
YmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90
b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJh
cmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlp
bmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBp
dCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTUsOCBAQCBGdW5jdGlv
blJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJl
RGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBl
ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMt
Pmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlw
ZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVG
b3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAg
LTM3MSw3ICszNzQsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09i
CiAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBBU1NF
UlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Quc2V0
VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9mZnNl
dCksIG9mZnNldCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsOSBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3RhdGUqLCBKU1ZhbHVl
IG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0aGUgfHRoaXN8IHZh
bHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVkLgorICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUqKTsKKwogcHJvdGVj
dGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVj
dCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUq
LCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBK
U01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0g
Z2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAg
ICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFBy
b3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3Qt
Pm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNNYXA6OmNhbkNsb25l
RmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzTWFwUHJv
dG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAsNyArNzcwLDcgQEAgYm9vbCBK
U09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUqIAogICAgICAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRy
aWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAg
ICAgaWYgKGF0dHJpYnV0ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpIHsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNl
cHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQodGhpcy0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBw
cm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHlw
ZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVh
ZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAgIH0KIApAQCAtMTAxNSw3ICsx
MDE1LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEluZGV4ZQogICAgIEFT
U0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCk7CiAgICAgSW5kZXhpbmdU
eXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUs
ICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRl
eGluZygpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7CiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0pOwogICAgIHVuc2lnbmVkIHBy
b3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCk7CkBAIC0xMTEx
LDcgKzExMTEsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAK
ICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZs
eSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCwgbV9idXR0ZXJm
bHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSogcmVzdWx0ID0gbmV3QnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIG9sZFN0cnVjdHVy
ZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBTdHJ1Y3R1cmUqIG5l
d1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1
Y3R1cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiAgICAgbnVrZVN0cnVj
dHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQsIG5ld0J1dHRlcmZseSk7CiAg
ICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJldHVybiByZXN1bHQ7CkBA
IC0xMjA2LDcgKzEyMDYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNp
ZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3Rv
cmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsK
KyAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzRG91YmxlcyBKU09iamVj
dDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcgogCiBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJu
IGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQ29u
dGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9Db250aWd1b3VzKFZNJiB2
bSkKQEAgLTEzMTcsNyArMTMxNyw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRE
b3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdl
KHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwor
ICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZl
cnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Qcm9wZXJ0eVRyYW5zaXRpb24g
dHJhbnNpdGlvbikKQEAgLTEzNjYsNyArMTM2Niw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRp
Z3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRDb250aWd1
b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3Jh
Z2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIHZvaWQgSlNP
YmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0sIEpTVmFsdWUgdmFsdWUpCkBA
IC0xNDQ3LDcgKzE0NDcsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUlu
dDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JM
QU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAg
ICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwog
ICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAwKTsKICAgICAgICAgCkBAIC0x
NDc0LDcgKzE0NzQsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09iamVjdDo6ZW5zdXJlRG91Ymxl
CiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNw
YXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAg
ICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNEb3VibGVzKCk7CiAgICAg
ICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTAz
LDcgKzE1MDMsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZUNvbnRpCiAg
ICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQorICAgICAgICBp
ZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgICAg
ICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDApOwogICAgICAgICAKQEAgLTE1
NDAsMjIgKzE1NDAsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9y
YQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRU
b0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5H
X1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAg
ICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAg
ICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252
ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0RPVUJM
RV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNl
KCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICBy
ZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpOwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSk7
CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjMzLDE0ICsxNjMzLDE3IEBAIHZvaWQgSlNP
YmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBpZiAocHJvdG90eXBlLmlzT2Jq
ZWN0KCkpCiAgICAgICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90b3R5cGUoYXNPYmplY3QocHJv
dG90eXBlKSk7CiAgICAgCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7
Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwotICAgIAotICAgIGlmICghbmV3
U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkp
CisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFu
c2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAgICAgICBzZXRTdHJ1Y3R1
cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1dERpcmVjdCh2bSwg
c3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7CisKKyAgICBpZiAo
IWFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90b3R5cGUodGhpcykp
IHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZt
KTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2
bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xOTUxLDcgKzE5NTQsOCBAQCBK
U1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAKICAgICAvLyBNYWtlIHN1
cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhlcmUgYXJlIG9uIG9iamVj
dCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAgICAvLyBiZWluZyB3YXRjaGVkLgotICAgIHRoaXMt
PnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlG
b3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogb2JqZWN0ID0gdGhp
czsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlw
ZU9iamVjdChvYmplY3QpKQorICAgICAgICBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0YXJ0V2F0
Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAKICAgICBKU1ZhbHVlIHZh
bHVlOwogICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykgewpAQCAtMjcyNiw3ICsyNzMwLDcg
QEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICAgICAg
cmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAg
ICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3JlYXRlQXJyYXlTdG9y
YWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5cGUgdG8gdGhlIFNs
b3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3JlYXRlQXJyYXlTdG9y
YWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAg
ICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhy
b3cpOwpAQCAtMjg3OCw3ICsyODgyLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhT
bG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9y
TGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwg
YXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAg
IH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsK
KyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIEFycmF5
U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1Zl
Y3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV92ZWN0
b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251bVZh
bHVlc0luVmVjdG9yKys7CkBAIC0zNTU4LDcgKzM1NjIsNyBAQCB1aW50MzJfdCBKU09iamVjdDo6
Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsKLSAgICBpZiAoc3Ry
dWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChzdHJ1Y3R1
cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkBAIC0zNjY4LDQgKzM2NzIsNTYgQEAgSlNWYWx1ZSBK
U09iamVjdDo6Z2V0TWV0aG9kKEV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBtZXRob2Q7CiB9CiAK
K2Jvb2wgSlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKSBjb25zdAoreworICAgIFZNJiB2bSA9ICp0aGlzLT52bSgpOworICAgIGZvciAoY29uc3Qg
SlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5zdHJ1
Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50
LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBh
c09iamVjdChwcm90b3R5cGUpOworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6cHJvdG90eXBl
Q2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkKK3sKKyAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAgICAgICByZXR1cm4g
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgIAorICAg
IGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90
b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAg
ICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICAgICAgCisgICAgICAgIHVu
c2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKKyAg
ICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30K
KworYm9vbCBKU09iamVjdDo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAoreworICAgIHJl
dHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgZ2xv
YmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKK30KKworTm9uUHJvcGVydHlUcmFuc2l0
aW9uIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKK3sK
KyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICAgICAgcmV0dXJuIE5vblByb3Bl
cnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIAorICAgIHJl
dHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOworfQorCiB9
IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUg
IlB1dERpcmVjdEluZGV4TW9kZS5oIgogI2luY2x1ZGUgIlB1dFByb3BlcnR5U2xvdC5oIgogI2lu
Y2x1ZGUgIlN0cnVjdHVyZS5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5o
IgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJTcGFy
c2VBcnJheVZhbHVlTWFwLmgiCkBAIC03MzMsNiArNzM0LDEyIEBAIHB1YmxpYzoKICAgICBKU19F
WFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc0V4dGVuc2libGUoSlNPYmplY3QqLCBFeGVjU3Rh
dGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJlKHZtKS0+
aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsgcmV0dXJuIHN0cnVj
dHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQorCisgICAgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7CisgICAgSlNfRVhQT1JUX1BSSVZBVEUg
Ym9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUp
OworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKKyAgICBOb25Qcm9wZXJ0
eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworCiBw
cml2YXRlOgogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V4dGVuc2libGVJbXBsKCkgeyByZXR1
cm4gaXNTdHJ1Y3R1cmVFeHRlbnNpYmxlKCk7IH0KIHB1YmxpYzoKQEAgLTg2Niw3ICs4NzMsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAg
ICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAgIEFTU0VSVChnZXRQ
cm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6Omhl
YXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUoKS0+
aGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwg
SGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CiAg
ICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChj
bGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0xMjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmpl
Y3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0Ojpn
ZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAogewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUo
dGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZt
LCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAwLDcgKzE0MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJv
b2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
c3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYg
KG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9wZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVy
dHlOYW1lLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIEZJ
WE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGl0J3MgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0
aW9uOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJ
KHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lO
TElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVy
ZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJv
dG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRl
cm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0
LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90
b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlT
X0lOTElORSBib29sIEpTT2JqZWN0OjpnZXROb25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlOwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZv
KCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNs
b3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5
cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZSgpOworICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5
cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmpl
Y3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTksNyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29s
IEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAgIH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5Q
ZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJvcGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQo
IXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CisgICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAg
ICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJv
cGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9y
KGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsx
MDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhl
ZExlbmd0aAogICAgICAgICAmJiAoZW51bWVyYXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5
cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYm
IGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5
cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAgICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1
aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzID0gMDsKQEAgLTEzMywxMiArMTMzLDE1
IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKIAogICAgIEFTU0VS
VChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJTlQzMl9NQVgpOwogCi0gICAgYm9vbCBzdWNjZXNz
ZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1
Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFpbjsKKyAgICBib29sIHNhd1BvbHlQcm90bzsK
KyAgICBib29sIHN1Y2Nlc3NmdWxseU5vcm1hbGl6ZWRDaGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlw
ZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvKSAhPSBJbnZhbGlkUHJvdG90eXBl
Q2hhaW47CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVh
dGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJvcGVydGll
cywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOwotICAgIGlm
ICghaW5kZXhlZExlbmd0aCAmJiBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gJiYgc3RydWN0
dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgc3RydWN0dXJl
LT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICBp
ZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluICYmIGJhc2Ut
PnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENh
Y2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJh
c2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1l
cmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24g
MjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2Nv
bEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0
dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChn
ZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
QEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJs
ZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9u
T2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICgh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxP
YmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlDbGFzc1N0cnVj
dHVyZS5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDEzICsxMDEsNiBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5nZXRDb25jdXJyZW50bHkoKTsK
ICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNvbmN1cnJlbnRseSgpIGNvbnN0
Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnZXRDb25jdXJyZW50
bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0gICAgCiAgICAgSlNPYmplY3Qq
IGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBt
X2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTMgKzEz
NiwxOSBAQCBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSB2KQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSogY2FsbEZy
YW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3NpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFp
bihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wmIHNhd1Bv
bHlQcm90bykKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgc2l6ZV90IGNv
dW50ID0gMDsKKyAgICBzYXdQb2x5UHJvdG8gPSBmYWxzZTsKICAgICB3aGlsZSAoMSkgewogICAg
ICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxp
ZFByb3RvdHlwZUNoYWluOworCisgICAgICAgIHNhd1BvbHlQcm90byB8PSAhc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwog
ICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChjYWxsRnJh
bWUpOwogICAgICAgICBpZiAodi5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMu
aAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0Zv
clZhbHVlKENhbGxGcmFtZSosCiBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU1ZhbHVlKTsKIGJvb2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZy
YW1lKiwgSlNWYWx1ZSk7CiBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qg
bm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKiwgYm9vbCYgc2F3
UG9seVByb3RvKTsKIAogQUxXQVlTX0lOTElORSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRl
KiBleGVjLCBKU1N0cmluZyogczEsIEpTU3RyaW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcg
KzQ3MSw4IEBAIHR5cGVkZWYgY29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwg
dXNlRmFzdFRMU0Zvcldhc21Db250ZXh0LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFz
dCBUTFMgaXMgZW5hYmxlZCksIHdlIHdpbGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYg
ZmFsc2UsIHdlIHdpbGwgcGluIGl0IHRvIGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNl
Q2FsbElDc0ZvcldlYkFzc2VtYmx5VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3
ZSB3aWxsIHVzZSBDYWxsTGlua0luZm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMu
IikgXAogICAgIHYoYm9vbCwgdXNlT2JqZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYg
dHJ1ZSwgd2Ugd2lsbCBlbmFibGUgT2JqZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAg
IHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0
cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJ
ZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1
bmRlY2lkZWQuIikKKyAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1
ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0
aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdh
eXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8s
IGZhbHNlLCBOb3JtYWwsICJJZiB0cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUg
YW4gb2JqZWN0IHdpdGggYSBwb2x5IHByb3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9u
RXF1aXZhbGVuY2UgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90
eXBlTWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQs
MzQgQEAgdm9pZCBQcm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVz
ZWQgYXMgYSBwcm90b3R5cGUuCiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8q
IGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkpCitpbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0
dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4
aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQ
b2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJF
TEVBU0VfQVNTRVJUKCEhcHJvdG90eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBI
YXNoTWFwIGZvciBwcm90b3R5cGUgdG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhp
cyBBUEkgbXVzdCBwcm92aWRlIG5vbi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9
IHN0ZDo6bWFrZV90dXBsZShtYWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAg
aWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShw
cm90b3R5cGUpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXN0cnVjdHVyZS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgICAgICBBU1NFUlQoaXNQ
cm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQog
CiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxP
YmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAg
ICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1
cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBp
bmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0
cnVjdHVyZT4oc3RydWN0dXJlKSk7CisKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03
MywyMCArODksMjEgQEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgog
ewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGlj
IGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3Ry
dWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBp
ZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisg
ICAgaWYgKHByb3RvdHlwZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGlu
ZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1
dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3Ry
dWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRl
RW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5
cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZh
bHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJl
Rm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90
b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6
OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29s
IG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0
dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBK
U0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUs
IGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmpl
Y3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsK
ICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNh
cGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3Ry
dWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBK
U0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1h
cC5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSog
ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUg
PSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVy
ZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
LCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwog
ICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1
cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSog
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBl
LCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWdu
ZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNv
bnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJv
b2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBK
U09iamVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1
Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVk
LCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVy
ZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09i
amVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1
Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjY2
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4OCw2ICsxODgsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0s
IEpTR2xvYmFsT2JqCiAgICAgLCBtX2NsYXNzSW5mbyhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5z
aXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZz
ZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKE5v
bmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsK
QEAgLTIyMCw2ICsyMjEsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0pCiAgICAgLCBt
X2NsYXNzSW5mbyhpbmZvKCkpCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0
Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFz
aCgwKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCk7CiAgICAg
c2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTI0NywxMCArMjQ5LDExIEBAIFN0
cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwg
dm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2
aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJv
dG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3By
b3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9j
bGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwg
bV9wcm9wZXJ0eUhhc2gocHJldmlvdXMtPm1fcHJvcGVydHlIYXNoKQogewogICAgIHNldERpY3Rp
b25hcnlLaW5kKHByZXZpb3VzLT5kaWN0aW9uYXJ5S2luZCgpKTsKICAgICBzZXRJc1Bpbm5lZFBy
b3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjk2LDYgKzI5OSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCkt
PlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3Jl
YXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNz
SW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1
bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRU
cmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCku
dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSksCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3Vy
cmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdM
YXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9m
TGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAg
ICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0
KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7Cisg
ICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZp
bmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4
PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFi
bGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OSwyNiArNDE5
LDE0IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1
cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJl
LCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0
dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkg
Y29uc3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsK
LSAgICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlz
TnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3Vy
cmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBB
U1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6Omhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMt
Pm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFw
cm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI3LDcgKzQzNSw3IEBAIGJvb2wg
U3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBz
dHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhl
ZFByb3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVy
Y2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90
eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXBy
b3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBv
YmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpAQCAtNDM3LDIwICs0NDUsNiBAQCBib29sIFN0
cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1ib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJl
dHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAg
ICAgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVy
dHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
IGNvbnN0Ci17Ci0gICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVy
biBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAg
ICAKLSAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFn
ZTsKLX0KLQogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVy
ZSgKQEAgLTU1Myw2ICs1NDcsOCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVy
dHlUcmFuCiAKIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgcHJvdG90eXBlKQogeworICAg
IEFTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSB8fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAg
ICAgRGVmZXJHQyBkZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9
IGNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKIApAQCAtMTA2OCwxMSArMTA2NCw2IEBAIHZvaWQgU3Ry
dWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0
Y2hwb2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0K
IAotSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVC
bG9jaykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+
Z2xvYmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0Nl
bGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09i
amVjdCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMTAsNyArMTEwMSw3IEBAIGJv
b2wgU3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2Jh
bE9iamVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQo
KSkpCi0gICAgICAgICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJr
ZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKCFo
YXNTdG9yZWRQcm90b3R5cGUoKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6
aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9v
bCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMiw0
MCArMTExMywxOSBAQCBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUlu
dGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAg
IGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJ
bkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Ci0gICAgCi0gICAgZm9yIChTdHJ1
Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
Y3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxs
KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50
ID0gcHJvdG90eXBlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAg
dW5zaWduZWQgYXR0cmlidXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3Vy
cmVudC0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwotICAgICAgICBpZiAoIUpT
Qzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IAotICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIAotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1SZWY8U3RydWN0
dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlKQorUmVm
PFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1
ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gYmFzZVNoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAgIFJlZlB0cjxTdHJ1
Y3R1cmVTaGFwZT4gY3VyU2hhcGUgPSBiYXNlU2hhcGUucHRyKCk7CiAgICAgU3RydWN0dXJlKiBj
dXJTdHJ1Y3R1cmUgPSB0aGlzOwogICAgIEpTVmFsdWUgY3VyVmFsdWUgPSB2YWx1ZTsKKyAgICBz
YXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZTsKICAgICB3aGlsZSAoY3VyU3RydWN0dXJlKSB7
CisgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSB8PSAhY3VyU3RydWN0dXJlLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNoUHJvcGVydHlDb25j
dXJyZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFwRW50cnkmIGVudHJ5
KSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5
LmtleSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50cnkua2V5KS5pc1By
aXZhdGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgq
ZW50cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0p
OwogCkBAIC0xMTY5LDI2ICsxMTM5LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJl
Ojp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwoKTsKIAotICAgICAg
ICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSkgewotICAgICAg
ICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKLSAgICAgICAg
ICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwotICAgICAgICAgICAg
Y3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1clZhbHVlID0gY3Vy
U3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoIWN1
clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBKU09iamVj
dCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAgICAgICBKU09iamVjdCogcHJvdG90
eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9i
amVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0KQorICAgICAgICAgICAgYnJlYWs7
CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVT
dHJ1Y3R1cmUoKTsKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVh
dGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNvcHlSZWYoKSk7Cisg
ICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAgIGN1clZhbHVlID0g
cHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90b3R5cGVPYmplY3Qt
PnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNoYXBlOwogfQogCi1i
b29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqIG90aGVyKQot
ewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxpbmVDYXBhY2l0eSgp
Ci0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9yZWRQcm90b3R5cGUo
KQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBvdGhlci0+b2JqZWN0
SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3Ry
ZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIodGhpcyksICI6WyIs
IGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDMsNyArMTE3MSw5IEBAIHZv
aWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAKICAgICBvdXQucHJp
bnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsKICAgICAKLSAgICBp
ZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKCFoYXNTdG9yZWRQcm90b3R5
cGUoKSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9seVByb3Rv
T2Zmc2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQogICAg
ICAgICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5nZXQoKS5h
c0NlbGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkBAIC0xMjg4LDkg
KzEyNTgsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtCiAgICAg
d2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmdldCgpKQogICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCkt
PnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQorICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkgfHwgc3RydWN0dXJlLT5nZXQoKS0+dHlwZUlu
Zm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIHN0cnVjdHVyZSsrOwogICAgIH0KQEAgLTEzMDksNCArMTI3Nyw1MiBAQCBi
b29sIFN0cnVjdHVyZTo6Y2FuQWNjZXNzUHJvcGVydGllc1F1aWNrCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKKy8vIE9PUFM6IGxldHMgaW5saW5lIHRoaXMgZnVuY3Rpb24uCitib29sIFN0cnVjdHVy
ZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGNvbnN0IFN0cnVjdHVyZSogYSwgY29uc3QgU3Ry
dWN0dXJlKiBiKQoreworICAgIGlmICghYSB8fCAhYikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKGEgPT0gYikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnBy
b3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyBXZSBvbmx5IGNhcmUgYWJvdXQgb2JqZWN0cyBjcmVhdGVkIHZpYSBhIGNvbnN0
cnVjdG9yJ3MgdG9fdGhpcy4gVGhlc2UKKyAgICAvLyBhbGwgaGF2ZSBTdHJ1Y3R1cmVzIHdpdGgg
cmFyZSBkYXRhIGFuZCBhIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQuCisgICAgaWYgKCFhLT5o
YXNSYXJlRGF0YSgpIHx8ICFiLT5oYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyBXZSBvbmx5IGNhcmUgYWJvdXQgU3RydWN0dXJlJ3MgZ2VuZXJhdGVkIGZyb20g
ZnVuY3Rpb25zIHRoYXQgc2hhcmUKKyAgICAvLyB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgIGNv
bnN0IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiYgYUlubGluZVdhdGNocG9pbnRTZXQgPSBhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCk7CisgICAgY29uc3QgQm94PElu
bGluZVdhdGNocG9pbnRTZXQ+JiBiSW5saW5lV2F0Y2hwb2ludFNldCA9IGItPnJhcmVEYXRhKCkt
PnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICBpZiAoYUlubGluZVdhdGNocG9pbnRT
ZXQuZ2V0KCkgIT0gYklubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkgfHwgIWFJbmxpbmVXYXRjaHBv
aW50U2V0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQVNTRVJUKGFJbmxpbmVXYXRjaHBv
aW50U2V0ICYmIGJJbmxpbmVXYXRjaHBvaW50U2V0ICYmIGFJbmxpbmVXYXRjaHBvaW50U2V0Lmdl
dCgpID09IGJJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpKTsKKworICAgIGlmICghYS0+aGFzU3Rv
cmVkUHJvdG90eXBlKCkgfHwgIWItPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoYS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYi0+c3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFZNJiB2bSA9ICphLT52bSgp
OworICAgIEpTT2JqZWN0KiBhT2JqID0gYS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAg
SlNPYmplY3QqIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICB3aGlsZSAo
YU9iaiAmJiBiT2JqKSB7CisgICAgICAgIGEgPSBhT2JqLT5zdHJ1Y3R1cmUodm0pOworICAgICAg
ICBiID0gYk9iai0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoYS0+cHJvcGVydHlIYXNo
KCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgYU9iaiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdChhT2JqKTsKKyAgICAgICAgYk9i
aiA9IGItPnN0b3JlZFByb3RvdHlwZU9iamVjdChiT2JqKTsKKyAgICB9CisKKyAgICByZXR1cm4g
IWFPYmogJiYgIWJPYmo7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsg
UG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0lu
Zm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAw
KTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBD
bGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCwxOSBAQCBwcm90
ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAg
IEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVj
dCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBl
LmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQz
MigpKTsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgU3Ry
dWN0dXJlKiBwcmV2aW91cykKKyAgICB7CisgICAgICAgIHRoaXMtPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgaWYgKHByZXZpb3VzLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgICAgICBj
b25zdCBTdHJ1Y3R1cmVSYXJlRGF0YSogcHJldmlvdXNSYXJlRGF0YSA9IHByZXZpb3VzLT5yYXJl
RGF0YSgpOworICAgICAgICAgICAgaWYgKHByZXZpb3VzUmFyZURhdGEtPmhhc1NoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQoKSkgeworICAgICAgICAgICAgICAgIGVuc3VyZVJhcmVEYXRhKHZtKTsK
KyAgICAgICAgICAgICAgICByYXJlRGF0YSgpLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50
KHByZXZpb3VzUmFyZURhdGEtPmNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE4MSw3IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3Ry
dWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVj
dHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3Bl
cnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0
aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5z
aXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0
cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFs
dWUgcHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBh
dHRyaWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0
dXJlKiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVm
ZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAg
c3RhdGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwg
U3RydWN0dXJlKik7CkBAIC0yMDgsNyArMjIyLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
cmV0dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlB
YnNlbmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRj
aHBvaW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVh
YmxlKCkKQEAgLTI0MCwyNiArMjU0LDM5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGlu
ZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsK
ICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3Vn
Z2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2Jq
ZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBj
YWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFs
CiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJs
ZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0
aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFz
U3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5
cGUuZ2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgp
IGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUo
KSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVy
dHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFoYXNTdG9yZWRQcm90b3R5cGUoKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlw
ZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNv
bnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVj
dChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBl
U3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVk
UHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVT
dHJ1Y3R1cmUoKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3Rh
dGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVj
dCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayopIGNv
bnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0
ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0
KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hh
aW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1
Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNv
bnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3Im
KTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJrIGR1cmluZyBHQyBp
ZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVkIGFtb3VudApAQCAt
MjcyLDE0ICsyOTksMzAgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0
aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZp
c2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4g
aW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJv
b2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsK
ICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVy
biBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBT
dHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1Jh
cmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEq
PihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgY29uc3QgU3RydWN0
dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNS
YXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0cnVjdHVyZVJh
cmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVj
dHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAo
IWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAg
ICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlv
dXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NzYsNiBAQCBwdWJsaWM6CiAgICAgICAg
IHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAgIH0KICAgICAKLSAgICB2
b2lkIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNo
YWluKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0
aGlzOyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3Ry
dWN0dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFBy
b3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9vbCBoYXNJbmZlcnJlZFR5
cGVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5mZXJyZWRUeXBlVGFibGU7
CkBAIC01ODgsMTEgKzYyNSw3IEBAIHB1YmxpYzoKICAgICAgICAgd2lsbFN0b3JlVmFsdWVTbG93
KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6ZSwgSW5mZXJyZWRUeXBlVGFi
bGU6Ok9sZFByb3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3Ry
dWN0dXJlU2hhcGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdv
IHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3Ig
YWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9y
QWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3Ry
dWN0dXJlU2hhcGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICAK
ICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRl
eHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpAQCAtNjAxLDYgKzYzNCwxMCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZHVtcENvbnRleHRIZWFkZXIoUHJpbnRTdHJlYW0m
KTsKICAgICAKICAgICBDb25jdXJyZW50SlNMb2NrJiBsb2NrKCkgeyByZXR1cm4gbV9sb2NrOyB9
CisKKyAgICB1bnNpZ25lZCBwcm9wZXJ0eUhhc2goKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnR5
SGFzaDsgfQorCisgICAgc3RhdGljIGJvb2wgc2hvdWxkQ29udmVydFRvUG9seVByb3RvKGNvbnN0
IFN0cnVjdHVyZSogYSwgY29uc3QgU3RydWN0dXJlKiBiKTsKICAgICAKICAgICBERUNMQVJFX0VY
UE9SVF9JTkZPOwogCkBAIC03MjAsOCArNzU3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJu
IG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KTsK
ICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFp
biogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZChFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OworICAgIGJv
b2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5
cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAgLy8gWW91IGhhdmUgdG8gaG9s
ZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
dm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFByb3BlcnR5VGFibGUqKTsKQEAg
LTczMiwxMiArNzY4LDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+
c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJh
cmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFyZURh
dGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1f
cHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlU
YWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENv
bnNpc3RlbmN5KCkgY29uc3Q7CkBAIC03ODcsNiArODE3LDggQEAgcHJpdmF0ZToKIAogICAgIC8v
IG1fb2Zmc2V0IGRvZXMgbm90IGFjY291bnQgZm9yIGFub255bW91cyBzbG90cwogICAgIFByb3Bl
cnR5T2Zmc2V0IG1fb2Zmc2V0OworCisgICAgdWludDMyX3QgbV9wcm9wZXJ0eUhhc2g7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTUsNCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFpbjo6dmlzaXRDaGlsZHJlbihKU0Nl
bAogICAgIH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBKU09iamVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisKKyAg
ICBzaXplX3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1
cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVP
YmplY3QoY3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKworICAgIHNpemVfdCBpID0gMDsKKyAg
ICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAg
ICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pKTsKKyAg
ICAKKyAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2
ZWN0b3IpOworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRoaXMpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNo
YWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBw
dWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1t
b3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIEpT
T2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IG5l
dyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNoYWluPih2bS5oZWFwKSkgU3RydWN0
dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0dXJlLmdldCgpKTsKICAgICAgICAg
Y2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAgLTYyLDIyICs2Miw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiBwcm90ZWN0ZWQ6Ci0gICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKLSAgICB7Ci0gICAg
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgc2l6ZV90IHNpemUgPSAwOwot
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQg
PSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgKytzaXpl
OwotCi0gICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2
ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUg
KyAxKTsKLQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBj
dXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlw
ZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+
c3RydWN0dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJl
bnQpOwotICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKLSAgICAgICAg
bV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQorICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNz
IExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtNTEsMTYgKzUxLDE3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRl
U3RydWMKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEZWZlcnJlZFN0cnVj
dHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogZGVmZXJyZWQpCitpbmxpbmUgU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogcHJldmlvdXMsIERlZmVycmVk
U3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiBkZWZlcnJlZCkKIHsKICAgICBBU1NF
UlQodm0uc3RydWN0dXJlU3RydWN0dXJlKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZT4odm0uaGVhcCkpIFN0cnVjdHVy
ZSh2bSwgc3RydWN0dXJlLCBkZWZlcnJlZCk7Ci0gICAgbmV3U3RydWN0dXJlLT5maW5pc2hDcmVh
dGlvbih2bSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHByZXZpb3VzLCBk
ZWZlcnJlZCk7CisgICAgbmV3U3RydWN0dXJlLT5maW5pc2hDcmVhdGlvbih2bSwgcHJldmlvdXMp
OwogICAgIHJldHVybiBuZXdTdHJ1Y3R1cmU7CiB9CiAKIGlubGluZSBKU09iamVjdCogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJU
KGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUu
Z2V0KCk7CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
QEAgLTY5LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJv
dG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7
CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlm
ICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2JqZWN0LT5z
dHJ1Y3R1cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVk
UHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9B
U1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJv
dG90eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0
LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QK
K3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAg
IGlmIChoYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJv
dG9PZmZzZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmpl
Y3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJv
dG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQg
U3RydWN0dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAg
IHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsMTUgKzE5NiwzMiBAQCBpbmxpbmUgYm9vbCBT
dHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitBTFdB
WVNfSU5MSU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAg
ICBBU1NFUlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisKKyAgICBpZiAoc3RydWN0dXJlLT50
eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2Jq
ZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZv
KCkudHlwZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJv
bFByb3RvdHlwZSgpOworCit9CisKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVM
RUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIGlmIChpc09iamVjdCgpKQot
ICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlw
ZSgpID09IFN5bWJvbFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFBy
b3RvdHlwZSgpOworICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJu
IHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKK30K
IAotICAgIEFTU0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKTsKLSAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKK2lubGluZSBKU1ZhbHVlIFN0cnVj
dHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Q2VsbCogYmFzZSkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUo
KSA9PSB0aGlzKTsKKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFBy
b3RvdHlwZShhc09iamVjdChiYXNlKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFBy
aW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgU3Ry
dWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKiBleGVjKSBjb25zdApAQCAtMTgy
LDI3ICsyMjksMjggQEAgaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMbwog
ICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
KTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWlu
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1
Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0Vf
QVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAgICAgLy8gV2UgY2FjaGUgb3Vy
IHByb3RvdHlwZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFp
c1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0
KTsKLSAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVy
ZUNoYWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90
b3R5cGUpLT5zdHJ1Y3R1cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1f
Y2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAg
IG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3Jl
YXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBl
KSkpOwogICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0K
IAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNT
dGF0ZSogZXhlYykgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90
b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAg
IHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkpOworICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhp
Y2FsR2xvYmFsT2JqZWN0KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6Omlz
VmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hl
ZFByb3RvdHlwZUNoYWluKSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5
cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5
cGVDaGFpbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+
aGVhZCgpOwogICAgIHdoaWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxs
KCkpIHsKICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNh
Y2hlZFN0cnVjdHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEgKzI2MSw2IEBAIGlubGluZSBib29sIFN0
cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgp
ICYmICEqY2FjaGVkU3RydWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFs
aWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4p
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
LCBjYWNoZWRQcm90b3R5cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlk
UmVwbGFjZVByb3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZ
KCFoYXNSYXJlRGF0YSgpKSkKQEAgLTM0MSw2ICszODQsOCBAQCBpbmxpbmUgUHJvcGVydHlPZmZz
ZXQgU3RydWN0dXJlOjphZGQoVk0mCiAgICAgYXV0byByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7
CiAKICAgICBQcm9wZXJ0eU9mZnNldCBuZXdPZmZzZXQgPSB0YWJsZS0+bmV4dE9mZnNldChtX2lu
bGluZUNhcGFjaXR5KTsKKworICAgIG1fcHJvcGVydHlIYXNoID0gbV9wcm9wZXJ0eUhhc2ggXiBy
ZXAtPmV4aXN0aW5nSGFzaCgpOwogICAgIAogICAgIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZz
ZXQgPSBtX29mZnNldDsKICAgICB0YWJsZS0+YWRkKFByb3BlcnR5TWFwRW50cnkocmVwLCBuZXdP
ZmZzZXQsIGF0dHJpYnV0ZXMpLCBuZXdMYXN0T2Zmc2V0LCBQcm9wZXJ0eVRhYmxlOjpQcm9wZXJ0
eU9mZnNldE1heUNoYW5nZSk7CkBAIC00MDAsNyArNDQ1LDcgQEAgaW5saW5lIFByb3BlcnR5T2Zm
c2V0IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBm
dW5jKTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2
bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpz
ZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9w
cm9wZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVE
YXRhLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBA
CiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGEuaCIKIAogI2luY2x1ZGUgIkFkYXB0aXZlSW5m
ZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuaCIKKyNpbmNsdWRlICJJbmZlcnJlZFZh
bHVlLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAi
SlNTdHJpbmcuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCkBAIC03MCw2ICs3MSw3IEBAIHZv
aWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRyZW4oSlMKICAgICB2aXNpdG9yLmFwcGVu
ZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3Qt
Pm1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcik7CisgICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV9pbmZlcnJlZENvbnN0cnVjdG9yKTsKIH0KIAogSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigp
IGNvbnN0CkBAIC0xNzUsNiArMTc3LDEzIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRh
OjpjbGVhck9iamUKICAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIoKTsKIH0KIAorSW5m
ZXJyZWRWYWx1ZSogU3RydWN0dXJlUmFyZURhdGE6OmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Io
Vk0mIHZtKQoreworICAgIGlmICghbV9pbmZlcnJlZENvbnN0cnVjdG9yKQorICAgICAgICBtX2lu
ZmVycmVkQ29uc3RydWN0b3Iuc2V0KHZtLCB0aGlzLCBJbmZlcnJlZFZhbHVlOjpjcmVhdGUodm0p
KTsKKyAgICByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOworfQorCiAvLyAtLS0t
LS0tLS0tLS0tIE1ldGhvZHMgZm9yIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSBoZWxwZXIg
d2F0Y2hwb2ludCBjbGFzc2VzIC0tLS0tLS0tLS0tLS0tCiAKIE9iamVjdFRvU3RyaW5nQWRhcHRp
dmVTdHJ1Y3R1cmVXYXRjaHBvaW50OjpPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0
Y2hwb2ludChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYga2V5LCBTdHJ1Y3R1cmVSYXJl
RGF0YSogc3RydWN0dXJlUmFyZURhdGEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDYgKzMzLDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIEluZmVy
cmVkVmFsdWU7CiBjbGFzcyBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I7CiBjbGFzcyBTdHJ1Y3R1
cmU7CiBjbGFzcyBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDsKQEAg
LTYyLDYgKzYzLDIwIEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNh
Y2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAor
ICAgIC8vIFdlIGFyZSBhIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwcm90b3R5cGUsIGFuZCB3ZSdyZSBp
bmZlcnJpbmcgd2hhdCBvdXIgZnVuY3Rpb24gaXMsIHN1Y2ggdGhhdCBmdW5jdGlvbi5wcm90b3R5
cGUncyBzdHJ1Y3R1cmUgaXMgdXMuCisgICAgLy8gV2UncmUgdGhlIFN0cnVjdHVyZVJhcmVEYXRh
IGZvciB0aGUgU3RydWN0dXJlIG9mIGFuIG9iamVjdCB3aGljaCBtaWdodCBiZSB0aGUgInByb3Rv
dHlwZSIgZmllbGQKKyAgICAvLyBvZiBhIGNvbnN0cnVjdG9yLiBJZiB3ZSdyZSBhICJwcm90b3R5
cGUiIGZpZWxkLCB3ZSB3YW50IHRvIGluZmVyIGlmIHdlIGhhdmUgYSBjb25zdGFudCBjb25zdHJ1
Y3Rvci4KKyAgICAvLyBJZiB3ZSBkbywgdGhlbiBtX2luZmVycmVkQ29uc3RydWN0b3IgcG9pbnRz
IHRvIGFuIEluZmVycmVkVmFsdWUgaW5mZXJyaW5nIGEgSlNGdW5jdGlvbi4KKyAgICAvLyBJZiB3
ZSBub3RpY2UgdGhhdCB3ZSBnbyBwb2x5IHByb3RvLCB0aGVuIHRoaXMgd2lsbCBiZWNvbWUgaW52
YWxpZGF0ZWQuCisgICAgSW5mZXJyZWRWYWx1ZSogZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3RvcihW
TSYpOworICAgIC8vIE1heSBiZSBudWxscHRyLgorICAgIEluZmVycmVkVmFsdWUqIGluZmVycmVk
Q29uc3RydWN0b3IoKSB7IHJldHVybiBtX2luZmVycmVkQ29uc3RydWN0b3IuZ2V0KCk7IH0KKwor
ICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBjb3B5U2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQorICAgIGNvbnN0IEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0
IHsgcmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQorICAgIHZvaWQgc2V0U2hhcmVkUG9s
eVByb3RvV2F0Y2hwb2ludChCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mJiBzaGFyZWRQb2x5UHJv
dG9XYXRjaHBvaW50KSB7IG1fcG9seVByb3RvV2F0Y2hwb2ludCA9IFdURk1vdmUoc2hhcmVkUG9s
eVByb3RvV2F0Y2hwb2ludCk7IH0KKyAgICBib29sIGhhc1NoYXJlZFBvbHlQcm90b1dhdGNocG9p
bnQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX3BvbHlQcm90b1dhdGNocG9p
bnQpOyB9CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsMTEg
KzkxLDEzIEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91
czsKICAgICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAg
ICBXcml0ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3I7Ci0gICAgCisgICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1f
aW5mZXJyZWRDb25zdHJ1Y3RvcjsKKwogICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNl
dCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBX
VEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVy
dHlXYXRjaHBvaW50TWFwOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRN
YXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBvaW50U2V0czsKICAgICBCYWc8T2JqZWN0VG9TdHJpbmdB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVdhdGNo
cG9pbnRTZXQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZl
cnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZl
cnJlZFZhbHVlV2F0Y2hwb2ludDsKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gbV9wb2x5
UHJvdG9XYXRjaHBvaW50OwogICAgIGJvb2wgbV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVD
YWNoZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9m
aWxlckxvZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVByb2ZpbGVyTG9nLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMs
MTkgKzYzLDM1IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmllcygKICAg
ICAgICAgYmVmb3JlID0gY3VycmVudFRpbWVNUygpOwogICAgIH0KIAorICAgIEhhc2hNYXA8U3Ry
dWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkTW9ub1Byb3RvU2hhcGVzOwor
ICAgIEhhc2hNYXA8c3RkOjpwYWlyPFN0cnVjdHVyZSosIEpTQ2VsbCo+LCBSZWZQdHI8U3RydWN0
dXJlU2hhcGU+PiBjYWNoZWRQb2x5UHJvdG9TaGFwZXM7CisKICAgICBMb2dFbnRyeSogZW50cnkg
PSBtX2xvZ1N0YXJ0UHRyOwotICAgIEhhc2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVy
ZVNoYXBlPj4gc2VlblNoYXBlczsKKwogICAgIHdoaWxlIChlbnRyeSAhPSBtX2N1cnJlbnRMb2dF
bnRyeVB0cikgewogICAgICAgICBTdHJ1Y3R1cmVJRCBpZCA9IGVudHJ5LT5zdHJ1Y3R1cmVJRDsK
LSAgICAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBzaGFwZTsgCisgICAgICAgIFJlZlB0cjxT
dHJ1Y3R1cmVTaGFwZT4gc2hhcGU7CiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBlbnRyeS0+dmFs
dWU7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKKyAgICAgICAgYm9v
bCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZTsKICAgICAgICAgaWYgKGlkKSB7Ci0gICAg
ICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJl
SURUYWJsZSgpLmdldChpZCk7IAotICAgICAgICAgICAgYXV0byBpdGVyID0gc2VlblNoYXBlcy5m
aW5kKHN0cnVjdHVyZSk7Ci0gICAgICAgICAgICBpZiAoaXRlciA9PSBzZWVuU2hhcGVzLmVuZCgp
KSB7Ci0gICAgICAgICAgICAgICAgc2hhcGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUo
dmFsdWUpOwotICAgICAgICAgICAgICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUp
OworICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0
cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOworICAgICAgICAgICAgYXV0byBpdGVyID0gY2FjaGVk
TW9ub1Byb3RvU2hhcGVzLmZpbmQoc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGlmIChpdGVyID09
IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5lbmQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8ga2V5
ID0gc3RkOjptYWtlX3BhaXIoc3RydWN0dXJlLCB2YWx1ZS5hc0NlbGwoKSk7CisgICAgICAgICAg
ICAgICAgYXV0byBpdGVyID0gY2FjaGVkUG9seVByb3RvU2hhcGVzLmZpbmQoa2V5KTsKKyAgICAg
ICAgICAgICAgICBpZiAoaXRlciAhPSBjYWNoZWRQb2x5UHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoIXNoYXBlKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0g
c3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUp
OworICAgICAgICAgICAgICAgICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlKQorICAgICAg
ICAgICAgICAgICAgICAgICAgY2FjaGVkUG9seVByb3RvU2hhcGVzLnNldChrZXksIHNoYXBlKTsK
KyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVk
TW9ub1Byb3RvU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVl
OwogICAgICAgICB9CkBAIC04NCw4ICsxMDAsOCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJv
Y2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIFR5cGVMb2NhdGlvbiogbG9jYXRpb24gPSBlbnRyeS0+
bG9jYXRpb247CiAgICAgICAgIGxvY2F0aW9uLT5tX2xhc3RTZWVuVHlwZSA9IHR5cGU7CiAgICAg
ICAgIGlmIChsb2NhdGlvbi0+bV9nbG9iYWxUeXBlU2V0KQotICAgICAgICAgICAgbG9jYXRpb24t
Pm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYo
KSwgc3RydWN0dXJlKTsKLSAgICAgICAgbG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5h
ZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgV1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBsb2NhdGlvbi0+bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlw
ZSwgc2hhcGUuY29weVJlZigpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7Cisg
ICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9u
KHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7
CiAKICAgICAgICAgZW50cnkrKzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9UeXBlU2V0LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSwx
NyBAQCBUeXBlU2V0OjpUeXBlU2V0KCkKIHsKIH0KIAotdm9pZCBUeXBlU2V0OjphZGRUeXBlSW5m
b3JtYXRpb24oUnVudGltZVR5cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3Nl
ZE5ld1NoYXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3ZvaWQgVHlwZVNldDo6YWRkVHlwZUlu
Zm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNz
ZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wgc2F3UG9seVByb3RvU3RydWN0
dXJlKQogewogICAgIG1fc2VlblR5cGVzID0gbV9zZWVuVHlwZXMgfCB0eXBlOwogCiAgICAgaWYg
KHN0cnVjdHVyZSAmJiBwYXNzZWROZXdTaGFwZSAmJiAhcnVudGltZVR5cGVJc1ByaW1pdGl2ZSh0
eXBlKSkgewogICAgICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IG5ld1NoYXBlID0gcGFzc2VkTmV3
U2hhcGUucmVsZWFzZU5vbk51bGwoKTsKLSAgICAgICAgaWYgKCFtX3N0cnVjdHVyZVNldC5jb250
YWlucyhzdHJ1Y3R1cmUpKSB7Ci0gICAgICAgICAgICB7CisgICAgICAgIC8vIEZJWE1FOiBUeXBl
U2V0IHNob3VsZCBiZSBhYmxlIHRvIGNhY2hlIHBvbHkgcHJvdG8gY2hhaW5zCisgICAgICAgIC8v
IGp1c3QgYnkgY2FjaGluZyB0aGUgcHJvdG90eXBlIGNoYWluOgorICAgICAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NjI3CisgICAgICAgIGlmIChzYXdQ
b2x5UHJvdG9TdHJ1Y3R1cmUgfHwgIW1fc3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkp
IHsKKyAgICAgICAgICAgIGlmICghc2F3UG9seVByb3RvU3RydWN0dXJlKSB7CiAgICAgICAgICAg
ICAgICAgQ29uY3VycmVudEpTTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICAgICAgICAg
IG1fc3RydWN0dXJlU2V0LmFkZChzdHJ1Y3R1cmUpOwogICAgICAgICAgICAgfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkocmV2aXNpb24gMjIyNjYzKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCSh3b3JraW5nIGNvcHkpCkBA
IC04NSw3ICs4NSw3IEBAIGNsYXNzIFR5cGVTZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW4K
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFR5cGVTZXQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgVHlwZVNldCk7IH0KICAgICBUeXBlU2V0KCk7Ci0gICAgdm9pZCBhZGRUeXBlSW5m
b3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJl
Kik7CisgICAgdm9pZCBhZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1
Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKiwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwog
ICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlKCk7CiAgICAgU3RyaW5nIGR1bXBUeXBlcygpIGNvbnN0
OwogICAgIFN0cmluZyBkaXNwbGF5TmFtZSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBt
X3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRT
dGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2
YWx1ZSk7IH0KICAgICBib29sIGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1i
ZXIoKTsgfQorICAgIGJvb2wgaXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIo
KTsgfQogICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgp
OyB9CiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQog
ICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNl
dHRlcigpOyB9CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Cb3guaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL3d0Zi9Cb3guaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL1dURi93dGYvQm94
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDE0ICszNiwxNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CiBjbGFzcyBCb3ggewogcHVibGljOgotICAgIEJveCgpCi0gICAg
ewotICAgIH0KKyAgICBCb3goKSA9IGRlZmF1bHQ7CisgICAgQm94KEJveCYmKSA9IGRlZmF1bHQ7
CisgICAgQm94KGNvbnN0IEJveCYpID0gZGVmYXVsdDsKIAogICAgIEJveChzdGQ6Om51bGxwdHJf
dCkKICAgICB7CiAgICAgfQogCisgICAgQm94JiBvcGVyYXRvcj0oQm94JiYpID0gZGVmYXVsdDsK
KyAgICBCb3gmIG9wZXJhdG9yPShjb25zdCBCb3gmKSA9IGRlZmF1bHQ7CisKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgc3RhdGljIEJveCBjcmVhdGUoQXJndW1lbnRz
JiYuLi4gYXJndW1lbnRzKQogICAgIHsKQEAgLTU3LDcgKzYwLDcgQEAgcHVibGljOgogICAgIFQm
IG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS0+dmFsdWU7IH0KICAgICBUKiBvcGVy
YXRvci0+KCkgY29uc3QgeyByZXR1cm4gJm1fZGF0YS0+dmFsdWU7IH0KIAotICAgIGV4cGxpY2l0
IG9wZXJhdG9yIGJvb2woKSB7IHJldHVybiBtX2RhdGE7IH0KKyAgICBleHBsaWNpdCBvcGVyYXRv
ciBib29sKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obV9kYXRhKTsgfQogICAg
IAogcHJpdmF0ZToKICAgICBzdHJ1Y3QgRGF0YSA6IFRocmVhZFNhZmVSZWZDb3VudGVkPERhdGE+
IHsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvd3RmL1JlZlB0ci5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvV1RGL3d0Zi9SZWZQ
dHIuaAkod29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsOCBAQCBwdWJsaWM6CiAgICAgLy8gVGhp
cyBjb252ZXJzaW9uIG9wZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBjb252ZXJzaW9uIHRvIGJvb2wg
YnV0IG5vdCB0byBvdGhlciBpbnRlZ2VyIHR5cGVzLgogICAgIHR5cGVkZWYgVCogKFJlZlB0cjo6
KlVuc3BlY2lmaWVkQm9vbFR5cGUpOwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3B0ciA/ICZSZWZQdHI6Om1fcHRyIDogbnVsbHB0cjsgfQorCisg
ICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9wdHI7IH0KICAg
ICAKICAgICBSZWZQdHImIG9wZXJhdG9yPShjb25zdCBSZWZQdHImKTsKICAgICBSZWZQdHImIG9w
ZXJhdG9yPShUKik7CkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9u
IDIyMjY2MykKKysrIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcg
Y29weSkKQEAgLTYxOSw3ICs2MTksNyBAQCBkZWYgcnVuRlRMTm9DSklUKCpvcHRpb25hbFRlc3RT
cGVjaWZpY09wCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNp
ZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9j
YXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsg
QjNPMV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0
bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAi
LS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyAr
IEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVm
IHJ1bkZUTE5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC02
NDcsNyArNjQ3LDcgQEAgZGVmIHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVAog
ZW5kCiAKIGRlZiBydW5GVExFYWdlcigqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAg
IHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRM
X09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyAr
IG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1h
aXJGb3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICoo
RlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9O
UyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2Vy
V2F0Y2hkb2coKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBA
QCBkZWYgcnVuVHlwZVByb2ZpbGVyCiAKICAgICBydW4oImZ0bC1uby1jaml0LXR5cGUtcHJvZmls
ZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09Q
VElPTlMpKQogICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9
dHJ1ZSIsICooRlRMX09QVElPTlMpKQorICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXItZm9yY2Ut
cG9seS1wcm90by1mdGwtZWFnZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNl
UG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUykpCiBlbmQKIAog
ZGVmIHJ1bkNvbnRyb2xGbG93UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322353</attachid>
            <date>2017-10-01 23:07:43 -0700</date>
            <delta_ts>2017-10-01 23:28:03 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>225214</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjY2MykKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBy
ZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09i
amVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18g
PSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdikgeworICAgIGFzc2VydCh4LmN1c3Rv
bUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3Rv
KTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAg
ICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1
bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFs
dWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw5MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24g
bWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNs
YXNzIEMgeyAKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLmZpZWxkID0gMjA7IH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLmZpZWxkID09PSAyMCk7
CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBv
bHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9s
eVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVBy
b3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90
b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKK107CisKK2xldCBjdXN0b21H
ZXR0ZXJTZXR0ZXIgPSBjcmVhdGVDdXN0b21UZXN0R2V0dGVyU2V0dGVyKCk7CitpdGVtcy5mb3JF
YWNoKCh4KSA9PiB7CisgICAgeC5fX3Byb3RvX18gPSBjdXN0b21HZXR0ZXJTZXR0ZXI7CisgICAg
YXNzZXJ0KHguX19wcm90b19fID09PSBjdXN0b21HZXR0ZXJTZXR0ZXIpOworfSk7CisKK2Z1bmN0
aW9uIHZhbGlkYXRlKHgsIHZhbHVlUmVzdWx0LCBhY2Nlc3NvclJlc3VsdCkgeworICAgIGFzc2Vy
dCh4LmN1c3RvbVZhbHVlID09PSB2YWx1ZVJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5jdXN0b21B
Y2Nlc3NvciA9PT0gYWNjZXNzb3JSZXN1bHQpOworCisgICAgbGV0IG8gPSB7fTsKKyAgICB4LmN1
c3RvbVZhbHVlID0gbzsKKyAgICBhc3NlcnQoby5yZXN1bHQgPT09IHZhbHVlUmVzdWx0KTsKKwor
ICAgIG8gPSB7fTsKKyAgICB4LmN1c3RvbUFjY2Vzc29yID0gbzsKKyAgICBhc3NlcnQoby5yZXN1
bHQgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGFzc2VydCh4LnJhbmRvbVByb3AgPT09IDQy
IHx8IHgucmFuZG9tUHJvcCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAg
ICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7Cisg
ICAgfQorfQorCitjdXN0b21HZXR0ZXJTZXR0ZXIucmFuZG9tUHJvcCA9IDQyOworCitmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1z
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJT
ZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisKK2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAg
ICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKHgsIHsKKyAgICAgICAgZ2V0IGN1c3RvbVZhbHVlKCkg
eyByZXR1cm4gNDI7IH0sCisgICAgICAgIGdldCBjdXN0b21BY2Nlc3NvcigpIHsgcmV0dXJuIDIy
OyB9LAorICAgICAgICBzZXQgY3VzdG9tVmFsdWUoeCkgeyB4LnJlc3VsdCA9IDQyOyB9LAorICAg
ICAgICBzZXQgY3VzdG9tQWNjZXNzb3IoeCkgeyB4LnJlc3VsdCA9IDIyOyB9LAorICAgIH0pOwor
fSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0s
IDQyLCAyMik7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAt
IHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRl
ci1jb3JyZWN0bmVzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYg
KCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCEiKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgeCA9IG5ldyBVaW50MzJBcnJheSgxMCk7CitsZXQgcCA9IHguX19wcm90b19fLl9fcHJvdG9f
XzsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcDsK
K3guX19wcm90b19fID0gb2JqOworCitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiB4LmJ5
dGVMZW5ndGg7Cit9Citub0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7
ICsraSkgeworICAgIGFzc2VydChmb28oeCkgPT09IDEwICogNCk7Cit9OworCitvYmouX19wcm90
b19fID0ge307CisKK2Fzc2VydChmb28oeCkgPT09IHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1taXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHkt
cHJvdG8tbWlzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpIHsKKyAgICBmdW5jdGlvbiBm
b28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRo
aXMueCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSA0MjsKKyAg
ICAgICAgbGV0IHJlc3VsdCA9IG5ldyBDOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBs
ZXQgcmVzdWx0ID0gZm9vKCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2Vz
ID0gWworICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAg
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVBy
b3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5j
ZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQ
cm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgp
LAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFr
ZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3Rv
SW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdp
dGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90
b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAor
XTsKKworbGV0IHAgPSB1bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNz
ZXJ0KHgueCA9PT0gMjApOworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9Citub0lu
bGluZSh2YWxpZGF0ZSk7CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMu
bGVuZ3RoOyArK2kpCisgICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CitpZiAoZmFs
c2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNjQgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9P
YmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAg
ICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgICAgIHRoaXMuZmllbGQgPSA0MjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0K
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygp
LmZpZWxkID09PSA0Mik7CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24g
dmFsaWRhdGUobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGlu
ZSh2YWxpZGF0ZSk7CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7CisKK2xldCBvYmpzID0gW107
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwOyArK2kpCisgICAgb2Jqcy5wdXNoKG1ha2VQb2x5UHJv
dG9PYmplY3QoKSk7CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVP
ZihvYmosIHt4OjIwfSkpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCB0cnVlKTsKK30K
Kworb2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pKTsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBv
YmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIGZhbHNlKTsKK30KKworCitmdW5jdGlvbiB2YWxp
ZGF0ZTIobywgYikgeworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2
YWxpZGF0ZTIpOworCitvYmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
b2JqLCBudWxsKSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3Ig
KGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgZmFsc2UpOworfQorCitv
YmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pKTsK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBv
YmpzKQorICAgICAgICB2YWxpZGF0ZTIob2JqLCB0cnVlKTsKK30KKworaWYgKGZhbHNlKQorICAg
IHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHkt
cHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ4
IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0
KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7IH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgc3RhcnQgPSBE
YXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2Jq
ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSBudWxsOworICAg
IHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwo
b2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKworfQorCitmb3IgKGxldCBp
ID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0
KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9iYWwgPSB4OyB9IH07Cisg
ICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093blByb3BlcnR5KCJwIikp
OworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwgPSBudWxsOworfQorCitm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVBy
b3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydChvYmouaGFzT3du
UHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7Cit9CitpZiAoZmFsc2Up
CisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
b2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
NjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8gPSB7CisgICAgZ2V0IHgo
KSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xldCBhbHRlcm5hdGVQcm90
bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBnZXQgeCgpIHsKKyAgICAg
ICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVj
dC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLl94
OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25z
dHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAgICAgICAgfQorICAgIH07
CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBwKSB7CisgICAg
YXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2xldCBhcnIgPSBb
XTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQorICAgIGFyci5wdXNoKGZv
bygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2ZvciAobGV0IGEgb2YgYXJy
KSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30KK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxp
ZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5f
X3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAgICB2YWxpZGF0ZShhLCBu
dWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0KK30KSW5kZXg6IEpTVGVz
dHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3Ry
ZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEgQEAKK2Z1
bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBD
IHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBw
KHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdldCBw
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fcDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLnAgPT09
IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgp
KTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAgeC5wID0gaTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFz
c2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAg
ICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaChvID0+IHsKKyAg
ICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVk
ID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJp
dGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1p
bmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNv
bnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55ID0gMjI7CisgICAgICAg
IH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQorICAgIH0KKyAgICBDLnBy
b3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVybiBDOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVuY3Rpb24gYmFyKHApIHsK
KyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAg
ICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOworICAgICAgICB9CisgICAg
fTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZm9y
IChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsKKworbGV0IGluc3RhbmNl
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAgIGluc3RhbmNlcy5wdXNo
KGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7CisgICAgYXNzZXJ0KGl0
ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIpOworICAgIGFzc2VydChp
dGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaW5zdGFuY2VzLmZvckVhY2goKHgpID0+
IHZhbGlkYXRlKHgpKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3Rh
cnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJvdG8uanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJv
dG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgewor
ICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9CisgICAgICAgIH07Cisg
ICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQor
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJl
dHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0gbWFrZVBvbHlQcm90b0lu
c3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBvbHlQcm90b0luc3RhbmNl
OworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK2xldCBz
dHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiksCisgICAgImJhciIsCisg
ICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFi
KQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KK25vSW5saW5l
KGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBhc3NlcnQocy54ID09PSAy
MCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMubm9uRXhpc3RlbnRQcm9w
ZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMuaGFzT3duUHJvcGVydHkg
PT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3BlcnR5ID09PSBPYmplY3Qu
cHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3Mp
IHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0gMjc7Citwb2x5UHJvdG9J
bnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChsZXQgaSA9IDA7IGkgPCAx
MDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRh
dGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5vdC1q
cy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBlLWlzLW5v
dC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJvdG90eXBl
LWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMiBAQAorZnVu
Y3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAgICAgdGhpcy54ID0gNDI7
CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1cm4gbmV3IGJhcigpOwor
fQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZvbygpLAorICAgIGZvbygp
LAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorXTsKKwor
ZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLm5vdFRoZXJlID09PSB1
bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAgICBhc3NlcnQoaXRlbS5f
X3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKQorICAgICAgICB2YWxp
ZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1w
cm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHkt
cHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1w
b2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzYgQEAKK2Z1bmN0aW9uIGFz
c2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoi
ICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOwor
ICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOwor
ICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlO
YW1lKSB7IHJldHVybiBgKGZ1bmN0aW9uIChiYXNlKSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNl
LCAnJHtwcm9wZXJ0eU5hbWV9Jyk7IH0pYDsgfQorbGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4o
dHJ5R2V0QnlJZFRleHQoImZvbyIpKTsKK2xldCBnZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdl
dEJ5SWRUZXh0KCJiYXIiKSk7CitsZXQgZ2V0Tm9uRXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0
aW4odHJ5R2V0QnlJZFRleHQoIm5vbkV4aXN0ZW50RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBv
bHlQcm90b09iamVjdCgpOworeC5fX3Byb3RvX18gPSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJl
dHVybiAyMjsgfSB9OworbGV0IGJhckdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IoeC5fX3Byb3RvX18sICJiYXIiKS5nZXQ7Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9
PT0gImZ1bmN0aW9uIik7Cithc3NlcnQoYmFyR2V0dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24g
dmFsaWRhdGUoeCkgeworICAgIGFzc2VydChnZXRGb28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQo
bG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIoZ2V0QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAg
ICBhc3NlcnQoZ2V0Tm9uRXhpc3RlbnRGaWVsZCh4KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5s
aW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2
YWxpZGF0ZSh4KTsKK30KSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlwZVByb2ZpbGVyL2luaGVyaXRhbmNlLmpzCShyZXZp
c2lvbiAyMjI2NjMpCisrKyBKU1Rlc3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBhc3NlcnQodHlwZXMuZ2xvYmFsVHlwZVNldC5k
aXNwbGF5VHlwZU5hCiBhc3NlcnQodHlwZXMuaW5zdHJ1Y3Rpb25UeXBlU2V0LmRpc3BsYXlUeXBl
TmFtZSA9PT0gIkMiLCAidmFyaWFibGUgJ3RoZUMnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFt
ZSAnQyciKTsKIAogdHlwZXMgPSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJh
cmNoeVRlc3QgPSBuZXcgQjsiKTsKLWFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlU
eXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRp
c3BsYXlUeXBlTmFtZSAnQSciKTsKK2Fzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlU
eXBlTmFtZSA9PT0gIkEiLCAidmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRp
c3BsYXlUeXBlTmFtZSAnQSciICsgIiBidXQgd2FzOiAiICsgdHlwZXMuZ2xvYmFsVHlwZVNldC5k
aXNwbGF5VHlwZU5hbWUpOwogCiB0eXBlcyA9IGZpbmRUeXBlRm9yRXhwcmVzc2lvbih3cmFwcGVy
LCAiaGllcmFyY2h5VGVzdCA9IG5ldyBDOyIpOwogYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQu
ZGlzcGxheVR5cGVOYW1lID09PSAiQSIsICJ2YXJpYWJsZSAnaGllcmFyY2h5VGVzdCcgc2hvdWxk
IGhhdmUgZGlzcGxheVR5cGVOYW1lICdBJyIpOwpJbmRleDogSlNUZXN0cy90eXBlUHJvZmlsZXIv
b3ZlcmZsb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cu
anMJKHJldmlzaW9uIDIyMjY2MykKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93Lmpz
CSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZhciBp
ID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAgICAv
LyBNYWtlIHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2lnbm1l
bnQgdG8geCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3aWxs
IGJlIG1lcmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0gMjA7
CisgICAgeCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rpb24o
KSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90eXBl
OwpAQCAtMjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9IG51
bGw7CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93
IC0gMTsgaSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9IDIw
OworICAgIHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9u
KCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlw
ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjI3
LDYgKzIyNyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNv
ZGUvTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVz
cGFjZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAor
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNw
cAogYnl0ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNv
ZGUvUHJvZ3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAor
Ynl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJZFN0
YXR1cy5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1
Myw5MCBAQCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0
RGlyZWN0TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRD
aGVja1N1YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09i
amVjdCA6IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZt
LCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2lu
ZyBCYXNlID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJl
RmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFs
dWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09i
amVjdFR5cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0
YXRpYyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0
ZXIgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+
KHZtLmhlYXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0
aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01K
SVRBdHRyaWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoK
KyAgICAgICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJ
VDo6R2V0dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVj
dDo6Y3VzdG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxE
T01HZXR0ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAg
ICAgICAgICAgICBTcGVjSW50MzJPbmx5KQorICAgICAgICB7CisgICAgICAgIH0KKworI2lmIEVO
QUJMRShKSVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNs
b3dDYWxsKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAg
ICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBz
dGF0aWNfY2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisg
ICAgICAgIHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY2FsbERPTUdl
dHRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJT
bmlwcGV0PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7
CisgICAgICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisgICAg
ICAgICAgICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1dKENDYWxsSGVscGVycyYgaml0LCBTbmlw
cGV0UGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRz
ID0gcGFyYW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgR1BSUmVnIGRvbSA9
IHBhcmFtc1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxs
KGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRvbSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKKworICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICByZXR1cm4gc25pcHBldDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfTsKKwor
cHJpdmF0ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CisKKyAgICBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmpl
Y3QqPih2bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOworICAgICAgICBSRUxFQVNFX0FT
U0VSVCh0aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2Jq
ZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgfQorfTsKKworc3RhdGljIGNvbnN0IERP
TUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRlIERPTUpJVEdldHRlckJhc2VK
U09iamVjdERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgY29u
c3QgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9ICZET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3RET01KSVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVyU2V0dGVyID0gRE9NQXR0cmlidXRlR2V0
dGVyU2V0dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0dGVyKCksIG51bGxwdHIsIERPTUF0dHJp
YnV0ZUFubm90YXRpb24geyBKU09iamVjdDo6aW5mbygpLCBkb21KSVQgfSk7CisgICAgcHV0RGly
ZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9t
R2V0dGVyIiksIGN1c3RvbUdldHRlclNldHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKTsKK30KKwogY29uc3QgQ2xhc3NJ
bmZvIEVsZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVsZW1lbnQpIH07CiBjb25zdCBDbGFzc0lu
Zm8gTWFzcXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShNYXNxdWVyYWRlcikgfTsKIGNv
bnN0IENsYXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJSb290IiwgJkJhc2U6OnNfaW5mbywgbnVs
bHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShSb290KSB9OwpAQCAtOTY1LDYgKzEw
NDksNyBAQCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9kZTo6c19pbmZvID0geyAiCiAjZW5kaWYK
IGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlciIs
ICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9N
SklUR2V0dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlckNvbXBsZXg6OnNfaW5m
byA9IHsgIkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxs
cHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckNvbXBsZXgpIH07Citjb25zdCBD
bGFzc0luZm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkgfTsKICNpZiBFTkFCTEUoSklU
KQogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9uT2JqZWN0OjpzX2luZm8gPSB7ICJET01K
SVRGdW5jdGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsICZET01KSVRGdW5jdGlv
bk9iamVjdDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklU
RnVuY3Rpb25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTA1Nyw2ICsxMTQyLDg0IEBAIHByaXZhdGU6
CiAgICAgRGVxdWU8U3RyaW5nPiBtX3JlcG9ydHM7CiB9OwogCitjbGFzcyBKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXIgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CitwdWJsaWM6CisgICAgdXNp
bmcgQmFzZSA9IEpTTm9uRmluYWxPYmplY3Q7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXIoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNl
KHZtLCBzdHJ1Y3R1cmUpCisgICAgeyB9CisKKyAgICBzdGF0aWMgSlNUZXN0Q3VzdG9tR2V0dGVy
U2V0dGVyKiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKiByZXN1bHQgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhl
YXAsIHNpemVvZihKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIpKSkgSlNUZXN0Q3VzdG9tR2V0dGVy
U2V0dGVyKHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0
aW9uKFZNJiB2bSk7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0
UHJvdG90eXBlKCksIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygp
KTsKKyAgICB9CisKKyAgICBERUNMQVJFX0lORk87Cit9OworCisKK3N0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBjdXN0b21HZXRBY2Nlc3NvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUsIFByb3BlcnR5TmFtZSkKK3sKKyAgICAvLyBQYXNzZWQgfHRoaXN8CisgICAgcmV0dXJuIHRo
aXNWYWx1ZTsKK30KKworc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdldFZhbHVlKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoSlNWYWx1ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhl
Yy0+dm0oKSwgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjppbmZvKCkpKTsKKyAgICAvLyBQYXNz
ZWQgcHJvcGVydHkgaG9sZGVyLgorICAgIHJldHVybiBzbG90VmFsdWU7Cit9CisKK3N0YXRpYyBi
b29sIGN1c3RvbVNldEFjY2Vzc29yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhp
c09iamVjdCwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CisKKyAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRW
YWx1ZSk7CisgICAgUkVMRUFTRV9BU1NFUlQodmFsdWUuaXNPYmplY3QoKSk7CisgICAgSlNPYmpl
Y3QqIG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChv
YmplY3QpOworICAgIG9iamVjdC0+cHV0KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJyZXN1bHQiKSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNPYmplY3QpLCBzbG90KTsK
KworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgYm9vbCBjdXN0b21TZXRWYWx1ZShFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisKKyAgICBSRUxFQVNFX0FT
U0VSVChKU1ZhbHVlOjpkZWNvZGUoc2xvdFZhbHVlKS5pbmhlcml0cyhleGVjLT52bSgpLCBKU1Rl
c3RDdXN0b21HZXR0ZXJTZXR0ZXI6OmluZm8oKSkpOworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOworICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlz
T2JqZWN0KCkpOworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAg
UHV0UHJvcGVydHlTbG90IHNsb3Qob2JqZWN0KTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4
ZWMsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29k
ZShzbG90VmFsdWUpLCBzbG90KTsKKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEpTVGVz
dEN1c3RvbUdldHRlclNldHRlcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIHB1dERp
cmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3Rv
bVZhbHVlIiksCisgICAgICAgIEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBjdXN0b21H
ZXRWYWx1ZSwgY3VzdG9tU2V0VmFsdWUpLCAwKTsKKyAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nv
cih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21BY2Nlc3NvciIpLAorICAg
ICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgY3VzdG9tR2V0QWNjZXNzb3IsIGN1
c3RvbVNldEFjY2Vzc29yKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRl
OjpDdXN0b21BY2Nlc3NvcikpOworfQorCitjb25zdCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tR2V0
dGVyU2V0dGVyOjpzX2luZm8gPSB7ICJKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIiLCAmQmFzZTo6
c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3Rv
bUdldHRlclNldHRlcikgfTsKKwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVQcm94eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlUnVudGltZUFycmF5KEV4ZWNTdGF0ZSopOwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVJbXB1cmVHZXR0
ZXIoRXhlY1N0YXRlKik7CkBAIC0xMDY2LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1
bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNTdGF0ZSop
Oworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdChF
eGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
U2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xMTc3LDYgKzEzNDEsOCBA
QCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbldhaXRGb3JSZXBvcnQoRXhlY1N0YXRlKik7
CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYXBDYXBhY2l0
eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uRmxhc2hIZWFwQWNjZXNzKEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUq
KTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQ3Vz
dG9tVGVzdEdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKIAogc3RydWN0IFNjcmlwdCB7CiAgICAg
ZW51bSBjbGFzcyBTdHJpY3RNb2RlIHsKQEAgLTEzODIsNiArMTU0OCw3IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0
IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9uQ3Jl
YXRlRE9NSklURnVuY3Rpb25PYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNy
ZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNr
U3ViQ2xhc3NPYmplY3QsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJ
VEdldHRlckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVuY3Rp
b25DcmVhdGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVHbG9i
YWxPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1
bmN0aW9uKHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVyZUdl
dHRlckRlbGVnYXRlLCAyKTsKQEAgLTE0NjYsNiArMTYzMyw5IEBAIHByb3RlY3RlZDoKIAogICAg
ICAgICBhZGRGdW5jdGlvbih2bSwgImhlYXBDYXBhY2l0eSIsIGZ1bmN0aW9uSGVhcENhcGFjaXR5
LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJmbGFzaEhlYXBBY2Nlc3MiLCBmdW5jdGlv
bkZsYXNoSGVhcEFjY2VzcywgMCk7CisKKyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJsb2FkR2V0
dGVyRnJvbUdldHRlclNldHRlciIsIGZ1bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIs
IDEpOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0
ZXIiLCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIsIDEpOwogICAgIH0KICAg
ICAKICAgICB2b2lkIGFkZEZ1bmN0aW9uKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCwgY29uc3Qg
Y2hhciogbmFtZSwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIHVuc2lnbmVkIGFyZ3VtZW50cykK
QEAgLTIxMTUsNiArMjI4NSwxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0
aW9uQ3JlCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpT
TG9ja0hvbGRlciBsb2NrKHZtKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IERPTUpJVEdl
dHRlckJhc2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGpzTnVsbCgpKTsKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIHJlc3Vs
dCA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKK30KKworCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKiBl
eGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0yODMyLDYgKzMwMTIsMjQgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkZsYQogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5h
cmd1bWVudENvdW50KCkgPj0gMSk7CisgICAgR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIgPSBq
c0R5bmFtaWNDYXN0PEdldHRlclNldHRlcio+KHZtLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAg
UkVMRUFTRV9BU1NFUlQoZ2V0dGVyU2V0dGVyKTsKKyAgICBKU09iamVjdCogZ2V0dGVyID0gZ2V0
dGVyU2V0dGVyLT5nZXR0ZXIoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChnZXR0ZXIpOworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoZ2V0dGVyKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBl
eGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9i
YWxPYmplY3QpKSk7Cit9CisKIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KIHR5cGVuYW1l
IHN0ZDo6ZW5hYmxlX2lmPCFzdGQ6OmlzX2Z1bmRhbWVudGFsPFZhbHVlVHlwZT46OnZhbHVlPjo6
dHlwZSBhZGRPcHRpb24oVk0mLCBKU09iamVjdCosIElkZW50aWZpZXIsIFZhbHVlVHlwZSkgeyB9
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI2NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJNzkxOUI3ODAx
RTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzkxOUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGls
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5
MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBK
SVRNYXRoSUMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVE
NUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9yaWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQ
cm90b3R5cGVBY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
Nzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAv
KiBHZXRQdXRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJz
QnlHcmFwaENvbG9yaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNC
eUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3OTZEQUEyQjFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NE
NjAwNURGMjRBIC8qIENhbGxlZUJpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5OCw2ICszNDk5LDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1
NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKSVRNYXRoSUMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRF
RUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2lu
TWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFw
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYw
MyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5
cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNE
MUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0YgLyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIzQ29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5
RUUgLyogR2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQ
dXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYw
MEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3Jh
cGhDb2xvcmluZy5jcHA7IHBhdGggPSBiMy9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBo
Q29sb3JpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzM2NSw2ICs3MzY4
LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5o
ICovLAogCQkJCTBGRDNFNDA3MUI2MThCNjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5j
cHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYxOEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9u
LmggKi8sCisJCQkJNzk0NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmNwcCAqLywKKwkJCQk3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZs
YWdzLmNwcCAqLywKIAkJCQkwRjE1Q0QyMTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdz
LmggKi8sCiAJCQkJMEY5MzMyOTkxNENBN0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3Bw
ICovLApAQCAtODU1NCw2ICs4NTU5LDcgQEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQg
LyogSW50bENvbGxhdG9yUHJvdG90eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFC
NEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE1ODdENkUxQjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNzk0NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlw
ZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4
NDkgLyogSW50bERhdGVUaW1lRm9ybWF0Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rv
ci5sdXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJ
bnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9O
QU1FUwogCiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUg
eyAiUHJpdmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5
bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAi
UHJpdmF0ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsK
IAogfSAvLyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMK
IAogZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFt
ZTsKK2V4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5U
UlkobmFtZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5p
bXBsKCksICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBK
U0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklU
SUFMSVpFX0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlm
aWVyOjpmcm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVO
YW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3lt
Ym9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3Rv
UHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbElt
cGwmPihTeW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAg
ICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9U
T19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19F
QUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAg
LTIzOCw2ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19U
T19QUklWQVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xs
YXJWTVByaXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJs
aWNUb1ByaXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2
YXRlTmFtZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJv
dG8pOworICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMt
PnVuZGVyc2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsK
ICAgICB9CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJ
ZGVudGlmaWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19D
T01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVf
QlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xs
YXJWTVB1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNv
bnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5k
ZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90
b1ByaXZhdGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRp
ZmllcjsKQEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1C
T0xTKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6
SWRlbnRpZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFz
aE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRp
ZmllclJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJs
aWNUb1ByaXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFw
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNw
cAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Fj
Y2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNl
IEFjY2Vzc0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7
CiB9CiAKLUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3ND
YXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUp
CiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJl
TnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRp
b25TZXQ7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVh
dGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNz
Q2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkg
ewogICAgIGNhc2UgSW5IaXQ6CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJl
Y3RBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAg
Y2FzZSBNb2R1bGVOYW1lc3BhY2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoIXByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAg
ZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3Ry
dWN0dXJlLCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3ND
aGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3Ry
dWN0dXJlID09IG5ld1N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBA
QCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVy
biBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9
CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0b3I8
V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRT
ZXQqLCAyPiByZXN1bHQ7CiAKICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5u
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0
Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25T
ZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluICYmIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2lu
dFNldEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgp
KQpAQCAtMTUxLDYgKzE1NSw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJl
Q2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
aWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmlu
Z0xlbmd0aDoKQEAgLTIxMCw2ICsyMTcsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNl
KGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBk
ZWZhdWx0OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgewor
ICAgICAgICAgICAgaWYgKCFvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hl
Y2sgd2UgbmVlZCBzaW5jZSBQcm90b3R5cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBz
dHJ1Y3R1cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWlu
IG9ubHkgdGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAg
ICAgICAgICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAg
ICByZXR1cm4gc3RydWN0dXJlKCkgPT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAg
ICAmJiAqbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9PSAqb3RoZXIubV9wcm90b3R5cGVBY2Nlc3ND
aGFpbjsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2so
KSB8fCAhb3RoZXIuZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIApAQCAtMjE5LDIyICsyMzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBs
YWNlKGNvbnN0IEFjY2VzcwogCiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91
dCkgY29uc3QKIHsKLSAgICBvdXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQo
IlxuIiwgbV90eXBlLCAiOigiKTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91
dC5wcmludChjb21tYSwgbV9zdGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24p
Ci0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0
cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVs
c2UgaWYgKG1fc3RydWN0dXJlKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUg
PSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRP
ZmZzZXQobV9vZmZzZXQpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBt
X29mZnNldCk7CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91
dC5wcmludChjb21tYSwgImNvbmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBp
ZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJw
cm90b3R5cGUgYWNjZXNzIGNoYWluID0gIik7CisgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmR1bXAoc3RydWN0dXJlKCksIG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1f
dHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0
dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5l
d1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAg
ICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1
cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQu
cHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNp
dFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNN
YXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA6IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlm
ICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExp
dmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAg
LTI3Myw2ICszMDQsMTEgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhT
bAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5t
YXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7
CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0No
YWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hl
YXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRy
YW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVj
dHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArNDA4LDY0IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBp
ZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFz
ZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwot
Ci0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwg
SlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFs
bFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVy
ZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAg
ICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VG
b3JBY2Nlc3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3Rh
dGUuYmFzZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBtX3Byb3RvdHlwZUFj
Y2Vzc0NoYWluLT5mb3JFYWNoKHN0cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJl
LCBib29sIGF0RW5kKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAg
ICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlE
T2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAg
ICAgICAgICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09
IE1pc3MgfHwgbV90eXBlID09IEluTWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIEZvciBhIE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0
IHRoZSBlbmQgd2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAg
ICAgICAgICAgICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQg
dG8gdmVyaWZ5IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhl
cmUgaXNuJ3QgYSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAg
ICAgICAgICAgICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0
KG9mZnNldCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNz
R1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KEND
YWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09i
amVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7Cisg
ICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2
ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0u
CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1
cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBq
aXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBi
YXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIs
IEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVj
dHVyZSgpKSk7CisgICAgICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAg
IGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisg
ICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlw
ZUluZm9UeXBlT2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAg
ICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6
dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJv
dWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpz
dHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgp
KSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYg
KzUwMiw4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBB
U1NFUlQobV9jb25kaXRpb25TZXQuc3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1
cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uJiBjb25kaXRpb24gOiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNF
X0FTU0VSVCghbV9wcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBjb25kaXRpb24ub2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlm
IChjb25kaXRpb24uaXNXYXRjaGFibGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgp
KSB7CkBAIC01MDQsMTMgKzU4MCwyMyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChB
Y2Nlc3NHZW5lCiAgICAgICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAg
ICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5p
c0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAg
IHNjcmF0Y2hHUFIpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAg
ICAgICAgICAgLy9kYXRhTG9nTG4oIkdlbmVyYXRpbmcgcHJvdG90eXBlIGFjY2VzcyBjaGFpbjoi
KTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCp0aGlzKTsKKyAgICAgICAgICAgIC8vZGF0YUxv
Z0xuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisKKyAgICAgICAgICAg
IC8vIFRoaXMgaXNuJ3QgcHJldHR5LCBidXQgd2Uga25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJh
dGVXaXRoR3VhcmQsCisgICAgICAgICAgICAvLyBhbmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2Vz
cyBpbnNpZGUgc2NyYXRjaEdQUi4gV2UgY291bGQgcmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAg
ICAgICAgLy8gYnV0IGl0J2QgcmVxdWlyZSBlbWl0dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQg
dGhlIGJhc2UgdHdpY2UuCiAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQ
UjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZv
ckdldEdQUjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25T
ZXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3Jh
dGNoR1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBi
YXNlRm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BS
ID0gSW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRl
ciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZh
bHVlU2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3
ICsxMTAyLDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAg
ICAgICAKICAgICBjYXNlIEludHJpbnNpY0dldHRlcjogewogICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc1ZhbGlkT2Zmc2V0KG9mZnNldCgpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5l
ZWQgdG8gZW5zdXJlIHRoZSBnZXR0ZXIgdmFsdWUgZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVz
LiBOb3RlIHRoYXQgR2V0dGVyU2V0dGVycwogICAgICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdl
IGp1c3QgbmVlZCB0byB3YXRjaCB0aGUgcHJvcGVydHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQu
CiAgICAgICAgIFN0cnVjdHVyZSogY3VyclN0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNs
dWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFj
Y2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTEyMCwxMSArMTIxLDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0ID0gaW52YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0
dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIp
OwogCiAgICAgLy8gVGhpcyBjcmVhdGUgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0
aW9ucy4KICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYs
IEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwK
LSAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1
Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gZnJvbVN0cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxs
KiBvd25lciwgU3RydWN0dXJlU3R1YkluZm8mKTsKIApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJv
dG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bjsKKyAgICB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikg
PSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nl
c3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNj
ZXNzQ2FzZSYgb3RoZXIpCisgICAgICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAg
LCBtX3N0YXRlKG90aGVyLm1fc3RhdGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZz
ZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwg
bV9jb25kaXRpb25TZXQob3RoZXIubV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAo
b3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAgICAgIG1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0K
KwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7
CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0y
MjcsNiArMjQ0LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0
cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNjYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU5Myw3ICs1OTMsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBTCiAgICAgICAgICAgICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29w
TGVuZ3RoIC0gMl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9w
TGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1f
Z2xvYmFsT2JqZWN0LmdldCgpLCB0aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCksIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0
YXR1cy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBA
IEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNv
bnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAg
ICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRT
dGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNl
c1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQ
YXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJl
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdl
dHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25h
bFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3Rv
dHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93
bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAg
bV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7
CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFs
PERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAg
LTYzLDE4ICs2MywxOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVy
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
dmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmli
dXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21W
YWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNl
LCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikp
KTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwog
ICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAg
ICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAot
ICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAg
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJp
YnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6
OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRy
LAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+LAorICAgICAgICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9
IG51bGxwdHIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNjcsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25z
dCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nl
c3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
LmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYs
OCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9z
dHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVkUHJv
dG90eXBlKCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IElt
cGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4g
dHlwZXM6CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzMxOAogICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkpCiAgICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5z
aWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0
dGVyQWNjZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCog
b3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGlu
dHJpbnNpY0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJ
bnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIp
CiB7CiAgICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5j
dGlvbik7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBi
b29sIGNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoSlNGdW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAg
IHZvaWQgZW1pdEludHJpbnNpY0dldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAg
IC8vIEZJWE1FOiBNYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZz
ZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5j
dGlvbiogaW50cmluc2ljRnVuY3Rpb24pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3Bw
CShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9k
dWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcg
QEAKIG5hbWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVO
YW1lc3BhY2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3Bh
Y2VPYmplY3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9k
dWxlRW52aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwg
b3duZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFt
ZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAg
ICAgbV9tb2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNl
T2JqZWN0KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQor
eworICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwor
ICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2lu
ZyBwb2x5IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAg
Ly8gY3JlYXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9i
amVjdC4KKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
NTE3CisgICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZXhlY3V0YWJsZSA9IG51bGxwdHI7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAg
IGV4ZWN1dGFibGUgPSBjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisKKyAgICAgICAgaXNQ
b2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkp
CisgICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGlzUG9seVByb3RvID0gZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgp
Lmhhc0JlZW5JbnZhbGlkYXRlZCgpICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCkt
Pmhhc0JlZW5JbnZhbGlkYXRlZCgpOzsKKworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAg
ICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBv
bHlQcm90b1N0cnVjdHVyZSgpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Ry
dWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAg
ICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVy
ZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2Fw
YWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy9JbmZlcnJlZFZhbHVl
KiBpbmZlcnJlZENvbnN0cnVjdG9yID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVS
YXJlRGF0YSh2bSktPmVuc3VyZUluZmVycmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICAvL2Jv
b2wgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgLy9pZiAoSlNP
YmplY3QqIHByb3RvdHlwZU9mUHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZt
LCBwcm90b3R5cGUtPmdldFByb3RvdHlwZURpcmVjdCgpKSkgeworICAgICAgICAvLyAgICBpZiAo
cHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAg
ICAgICAgLy8gICAgICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZU9m
UHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5yYXJlRGF0YSgpOworICAgICAgICAvLyAgICAgICAg
cGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8gPSByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3Rv
cigpICYmIHJhcmVEYXRhLT5pbmZlcnJlZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRl
ZCgpOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vfQorCisgICAgICAgIC8vaW5mZXJyZWRD
b25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUodm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJl
ZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSIpOworCisgICAgICAgIC8v
aXNQb2x5UHJvdG8gPSAoaW5mZXJyZWRDb25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkg
fHwgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJvdG8pICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1
bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICAvL2lmIChPcHRpb25zOjpm
b3JjZVBvbHlQcm90bygpKQorICAgICAgICAvLyAgICBpc1BvbHlQcm90byA9IHRydWU7CisKKyAg
ICAgICAgLy9pZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgLy8gICAgaWYgKFN0cnVjdHVyZSog
c3RydWN0dXJlID0gZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAg
ICAgICAgLy8gICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBl
KCkgPT0gRmluYWxPYmplY3RUeXBlKTsKKyAgICAgICAgLy8gICAgICAgIG1fYWxsb2NhdG9yID0g
bnVsbHB0cjsKKyAgICAgICAgLy8gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0
cnVjdHVyZSk7CisgICAgICAgIC8vICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJl
LT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAgICAvLyAgICAgICAgcmV0dXJuOworICAgICAgICAv
LyAgICB9CisgICAgICAgIC8vfQorICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRl
ZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKwor
ICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVt
cHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIg
anVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5j
dGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAg
IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERl
ZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRv
IHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3Qu
CisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0
eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5
ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNh
cGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAg
ICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5
ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElu
bGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9i
amVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRv
ciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7
CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxh
YmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6
ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6
ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNs
b3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGlu
ZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6
Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICBp
ZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKTsKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICBleGVj
dXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUpIHsKKyAgICAgICAgICAgIGV4ZWN1dGFi
bGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+
ZW5zdXJlUmFyZURhdGEodm0pLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KGV4ZWN1dGFi
bGUtPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSk7CisgICAgICAgIH0KKworICAgICAgICBt
X2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICB9CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBh
bm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5
IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOworCisgICAgbV9zdHJ1Y3R1cmUu
c2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5l
Q2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJs
ZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAg
ICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3Rv
dHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAg
UHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2Rl
OjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHBy
b3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBw
cm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFy
cmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0
eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpT
VmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9y
W2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5
IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlm
IChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29u
dGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9
CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0
aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkK
LSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1f
c3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAg
ICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGlu
ZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAg
ICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5h
bHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVm
YXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMg
YXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QK
LSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRo
aXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0
eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAv
LyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhl
bSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdl
IG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAg
ICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdl
IG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8
PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3Qg
YWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBh
Y2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNl
LmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtl
IGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXpl
IGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xv
cCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3Jp
dGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7
Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAg
ICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBp
dCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZl
bmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3Ry
dWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNp
dHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAgdm9pZCBpbml0aWFsaXplUHJvZmlsZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rp
b24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgp
CiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAg
ICAgewotICAgICAgICBtX2FsbG9jYXRvciA9IDA7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVs
bHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsKICAgICAgICAgbV9pbmxpbmVDYXBh
Y2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChpc051bGwoKSk7CkBAIC0xMjYsMjcgKzc0LDcgQEAg
cHVibGljOgogCiBwcml2YXRlOgogCi0gICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVy
dHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAo
cHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgp
KQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAg
ICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5h
bWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwot
ICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVj
dHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAg
UHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZl
Y3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0g
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qo
dm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBh
cmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBu
b3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24q
Pih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAr
K2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1
bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHBy
b3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21w
dXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQs
MTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBnZW5lcmF0ZUNvbmRpdGlvCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNl
OiB7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAg
ICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQg
PSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgKICAgICAgICAgICAgIHZtLCBvd25l
ciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVj
dCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246
OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24o
KTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNl
dEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3Ry
dWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0y
NTgsNiArMjYyLDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkK
ICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsK
ICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgp
OwogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW50ZWdyYXRlIHRoaXMgd2l0aCBQcm90b3R5
cGVBY2Nlc3NDaGFpbjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIC8vIE9yIGF0IGxlYXN0IGFsbG93IE9Q
QyBzZXQgZ2VuZXJhdGlvbiB3aGVuIHRoZQorICAgICAgICAgICAgLy8gYmFzZSBpcyBub3QgcG9s
eSBwcm90bzoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc3MjEKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldDo6aW52YWxpZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZh
bHVlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAg
ICAgCkBAIC0zNjEsMjQgKzM3NCw2IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVy
YXRlQ29uZGkKICAgICAgICAgfSk7CiB9CiAKLU9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgIFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1
cmUsIEpTT2JqZWN0KiBwcm90b3R5cGUsCi0gICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKLXsK
LSAgICByZXR1cm4gZ2VuZXJhdGVDb25kaXRpb25zKAotICAgICAgICB2bSwgZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLCBoZWFkU3RydWN0dXJlLCBwcm90b3R5cGUsCi0gICAgICAgIFsmXSAo
VmVjdG9yPE9iamVjdFByb3BlcnR5Q29uZGl0aW9uPiYgY29uZGl0aW9ucywgSlNPYmplY3QqIG9i
amVjdCkgLT4gYm9vbCB7Ci0gICAgICAgICAgICBpZiAob2JqZWN0ID09IHByb3RvdHlwZSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uIHJlc3VsdCA9Ci0gICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb24odm0sIG93
bmVyLCBvYmplY3QsIHVpZCwgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2UpOwotICAgICAgICAg
ICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg
ICAgY29uZGl0aW9ucy5hcHBlbmQocmVzdWx0KTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICB9KTsKLX0KLQogT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25k
aXRpb25zRm9yUHJvdG90eXBlRXF1aXZhbGVuY2VDb25jdXJyZW50bHkoCiAgICAgVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIEpT
T2JqZWN0KiBwcm90b3R5cGUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2NSw5ICsxNjUsNiBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNv
bmRpCiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90
b3R5cGVQcm9wZXJ0eUhpdCgKICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwgSlNPYmplY3QqIHByb3RvdHlwZSwKICAgICBVbmlxdWVk
U3RyaW5nSW1wbCogdWlkKTsKLU9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgIFZNJiwgSlNDZWxsKiBv
d25lciwgRXhlY1N0YXRlKiwgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBKU09iamVjdCogcHJv
dG90eXBlLAotICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpOwogCiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVFcXVpdmFsZW5jZUNvbmN1
cnJlbnRseSgKICAgICBWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiBoZWFkU3RydWN0
dXJlLCBKU09iamVjdCogcHJvdG90eXBlLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4LDI0IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoY2FzZXNUb0FkZC5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpNYWRlTm9DaGFuZ2VzOwogCisgICAg
Ym9vbCBzaG91bGRSZXNldCA9IGZhbHNlOworICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2Fz
ZXNUb0FkZCkgeworICAgICAgICBmb3IgKGF1dG8mIGV4aXN0aW5nQ2FzZSA6IG1fbGlzdCkgewor
ICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gY2FzZVRvQWRkLT5zdHJ1Y3R1cmUoKTsKKyAgICAg
ICAgICAgIFN0cnVjdHVyZSogYiA9IGV4aXN0aW5nQ2FzZS0+c3RydWN0dXJlKCk7CisgICAgICAg
ICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAg
ICAgICAgICAgICAgICAvLyBPT1BTOiBtYXliZSB0aGlzIHdpbGwgZGVzdHJveSBvdXJzZWx2ZXMg
aWYgd2Ugc3RhcnQgd2F0Y2hpbmcgZm9yIHRoZXNlPyBJZiBzbywgaGF2ZSBhIHdheSB0byBjb2xs
ZWN0LCBhbmQgZmlyZQorICAgICAgICAgICAgICAgIC8vIHRoZW0gaW4gZGVsYXllZCBmYXNoaW9u
LgorICAgICAgICAgICAgICAgIEFTU0VSVChhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hw
b2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgICAgICBzaG91bGRSZXNldCB8PSBhLT5yYXJlRGF0
YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOyAv
LyBXZSBvbmx5IHJlc2V0IGlmIHRoaXMgaXMgb3VyIGZpcnN0IHRpbWUgaW52YWxpZGF0aW5nIHRo
aXMgd2F0Y2hwb2ludC4KKyAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVj
dGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKHNob3VsZFJlc2V0KQorICAgICAgICByZXR1cm4gQWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdDo6Q2xlYXJTdHViOworCiAgICAgLy8gTm93IGFkZCB0aGluZ3MgdG8gdGhl
IG5ldyBsaXN0LiBOb3RlIHRoYXQgYXQgdGhpcyBwb2ludCwgd2Ugd2lsbCBzdGlsbCBoYXZlIG9s
ZCBjYXNlcyB0aGF0CiAgICAgLy8gbWF5IGJlIHJlcGxhY2VkIGJ5IHRoZSBuZXcgb25lcy4gVGhh
dCdzIGZpbmUuIFdlIHdpbGwgc29ydCB0aGF0IG91dCB3aGVuIHdlIHJlZ2VuZXJhdGUuCiAgICAg
Zm9yIChhdXRvJiBjYXNlVG9BZGQgOiBjYXNlc1RvQWRkKSB7CkBAIC0zMzksNyArMzU3LDcgQEAg
QWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChQb2x5bW9y
cGhpY0FjY2Vzc0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZWdlbmVyYXRl
IHdpdGggbV9saXN0OiAiLCBsaXN0RHVtcChtX2xpc3QpLCAiXG4iKTsKICAgICAKLSAgICBBY2Nl
c3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0pOworICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBz
dGF0ZSh2bSwgY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7CiAKICAgICBzdGF0ZS5hY2Nlc3Mg
PSB0aGlzOwogICAgIHN0YXRlLnN0dWJJbmZvID0gJnN0dWJJbmZvOwpAQCAtNTkwLDYgKzYwOCw5
IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBBY2MKICAgICBjYXNlIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkdlbmVyYXRlZEZpbmFsQ29kZToKICAgICAgICAgb3V0LnBy
aW50KCJHZW5lcmF0ZWRGaW5hbENvZGUiKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQWNj
ZXNzR2VuZXJhdGlvblJlc3VsdDo6Q2xlYXJTdHViOgorICAgICAgICBvdXQucHJpbnQoIkNsZWFy
U3R1YiIpOworICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAogICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDcgKzUyLDggQEAgcHVibGljOgogICAgICAgICBHYXZlVXAsCiAgICAgICAgIEJ1ZmZl
cmVkLAogICAgICAgICBHZW5lcmF0ZWROZXdDb2RlLAotICAgICAgICBHZW5lcmF0ZWRGaW5hbENv
ZGUgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJh
dGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgR2VuZXJhdGVkRmluYWxDb2RlLCAvLyBHZW5lcmF0ZWQg
c28gbXVjaCBjb2RlIHRoYXQgd2UgbmV2ZXIgd2FudCB0byBnZW5lcmF0ZSBjb2RlIGFnYWluLgor
ICAgICAgICBDbGVhclN0dWIgLy8gV2UgZm91bmQgb3V0IHNvbWUgZGF0YSB0aGF0IG1ha2VzIHVz
IHdhbnQgdG8gc3RhcnQgb3ZlciBmcmVzaCB3aXRoIHRoaXMgc3R1Yi4gQ3VycmVudGx5LCB0aGlz
IGhhcHBlbnMgd2hlbiB3ZSBkZXRlY3QgcG9seSBwcm90by4KICAgICB9OwogICAgIAogICAgIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQoKQpAQCAtOTgsNiArOTksNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBidWZmZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBCdWZmZXJlZDsgfQogICAgIGJv
b2wgZ2VuZXJhdGVkTmV3Q29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBHZW5lcmF0ZWRO
ZXdDb2RlOyB9CiAgICAgYm9vbCBnZW5lcmF0ZWRGaW5hbENvZGUoKSBjb25zdCB7IHJldHVybiBt
X2tpbmQgPT0gR2VuZXJhdGVkRmluYWxDb2RlOyB9CisgICAgYm9vbCBzaG91bGRDbGVhclN0dWIo
KSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQ2xlYXJTdHViOyB9CiAgICAgCiAgICAgLy8gSWYg
d2UgZ2F2ZSB1cCBvbiB0aGlzIGF0dGVtcHQgdG8gZ2VuZXJhdGUgY29kZSwgb3IgaWYgd2UgZ2Vu
ZXJhdGVkIHRoZSAiZmluYWwiIGNvZGUsIHRoZW4gd2UKICAgICAvLyBzaG91bGQgZ2l2ZSB1cCBh
ZnRlciB0aGlzLgpAQCAtMTcxLDE0ICsxNzMsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBB
Y2Nlc3NHZW5lcmF0aW9uU3RhdGUgewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0p
CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKICAgICAgICAgOiBtX3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9iamVjdChn
bG9iYWxPYmplY3QpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2FsbEFuZEV4
Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVSZWdpc3Rl
cnNJZkV4Y2VwdGlvbihmYWxzZSkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0ZUluZGV4
KGZhbHNlKQogICAgIHsKICAgICB9CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxPYmplY3Qq
IG1fZ2xvYmFsT2JqZWN0OwogICAgIENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9OwogICAg
IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hSZWdpc3Rl
ckFsbG9jYXRvcjo6UHJlc2VydmVkU3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJTdGF0ZTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5
Q29uZGl0aW9uLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDE0
ICsxMDcsMzAgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1
cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAg
ICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3Vy
cmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9mZnNl
dCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2Up
CiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIHRoZSBwcm9wZXJ0eSBl
eGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJyZW50T2Zmc2V0LCAiXG4iKTsKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKKworICAgICAgICBKU09i
amVjdCogY3VycmVudFByb3RvdHlwZTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChiYXNlKTsKKyAgICAgICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5bmFt
aWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVjdHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBlRGly
ZWN0KCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0gcHJv
dG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2
ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAgICAg
IkludmFsaWQgYmVjYXVzZSB0aGUgcHJvdG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCksICIgZXZlbiB0aG91Z2ggIgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFByb3Bl
cnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
Pmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0
aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisg
ICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0
aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHBy
b3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAg
IAogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBwcm90
b3R5cGUoKSkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZl
cmJvc2UpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVB
Y2Nlc3NDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nl
c3NDaGFpbi5oIgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisK
K3N0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hh
aW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNv
bnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU09i
amVjdCogdGFyZ2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgp
OworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCBiYXNlLCB0YXJnZXQsIHVzZXNQb2x5
UHJvdG8pOworfQorCitzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlND
ZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAg
IEpTQ2VsbCogY3VycmVudCA9IGJhc2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAg
ICBib29sIGZvdW5kID0gZmFsc2U7CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUHJvdG90
eXBlQWNjZXNzQ2hhaW4oKSk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGl0ZXJhdGlvbk51bWJlciA9
IDA7IHRydWU7ICsraXRlcmF0aW9uTnVtYmVyKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+
cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsK
KyAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOworCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9u
YXJ5U3RydWN0dXJlKHZtLCBhc09iamVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBUbyBzYXZlIG1lbW9yeSwgd2UgZG9uJ3QgaW5jbHVkZSB0aGUgYmFzZSBpbiB0aGUgY2hh
aW4uIFdlIGxldAorICAgICAgICAvLyBBY2Nlc3NDYXNlIHByb3ZpZGUgdGhlIGJhc2UgdG8gdXMg
YXMgbmVlZGVkLgorICAgICAgICBpZiAoaXRlcmF0aW9uTnVtYmVyKQorICAgICAgICAgICAgcmVz
dWx0LT5tX2NoYWluLmFwcGVuZChzdHJ1Y3R1cmUpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChjdXJyZW50ID09IGJhc2UpOworCisgICAgICAgIGlmIChjdXJyZW50
ID09IHRhcmdldCkgeworICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3
ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBw
cm90byBwcm90b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisg
ICAgICAgIC8vIHRoaW5nIGluIHRoZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24g
aXQsIHRoZW4gd2UncmUgbm90CisgICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQ
b2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAg
SlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxP
YmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAg
IH0KKworICAgIGlmICghZm91bmQgJiYgISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6b3Bl
cmF0b3I9PShjb25zdCBQcm90b3R5cGVBY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fY2hhaW4gPT0gb3RoZXIubV9jaGFpbjsKK30KKwordm9pZCBQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6ZHVtcChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0Cit7CisgICAgb3V0LnByaW50KCJQb2x5UHJvdG90eXBlQWNjZXNzQ2hhaW4iKTsKKyAg
ICBvdXQucHJpbnQoIjogW1xuIik7CisgICAgZm9yRWFjaChiYXNlU3RydWN0dXJlLCBbJl0gKFN0
cnVjdHVyZSogc3RydWN0dXJlLCBib29sKSB7CisgICAgICAgIG91dC5wcmludCgiXHQiKTsKKyAg
ICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAgIG91dC5wcmludCgiXG4iKTsKKyAg
ICB9KTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3Rv
dHlwZUFjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFt
ZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNPYmplY3Q7Citj
bGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFj
Y2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQcm90b3R5cGVBY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90b3R5
cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVBY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKworICAgIC8v
IFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9s
eVByb3RvKTsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWlu
PiBjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBKU09i
amVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKTsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0
ZDo6bWFrZV91bmlxdWU8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9CisKKyAg
ICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jaGFp
bjsgfQorCisgICAgdm9pZCBkdW1wKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgUHJpbnRTdHJl
YW0mIG91dCkgY29uc3Q7CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNj
ZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90
eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRo
aXMgPT0gb3RoZXIpOworICAgIH0KKworICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpIGNvbnN0OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmM+CisgICAgdm9pZCBm
b3JFYWNoKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgY29uc3QgRnVuYyYgZnVuYykgY29uc3QK
KyAgICB7CisgICAgICAgIGJvb2wgYXRFbmQgPSAhbV9jaGFpbi5zaXplKCk7CisgICAgICAgIGZ1
bmMoYmFzZVN0cnVjdHVyZSwgYXRFbmQpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbV9jaGFpbi5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgYXRFbmQgPSBpICsgMSA9PSBt
X2NoYWluLnNpemUoKTsKKyAgICAgICAgICAgIGZ1bmMobV9jaGFpbltpXSwgYXRFbmQpOworICAg
ICAgICB9CisgICAgfQorCitwcml2YXRlOgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBk
ZWZhdWx0OworCisgICAgLy8gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBiYXNlLiBXZSByZWx5
IG9uIEFjY2Vzc0Nhc2UgcHJvdmlkaW5nIGl0IGZvciB1cy4gVGhhdCBzYWlkLCB0aGlzIGRhdGEK
KyAgICAvLyBzdHJ1Y3R1cmUgaXMgdGllZCB0byB0aGUgYmFzZSB0aGF0IGl0IHdhcyBjcmVhdGVk
IHdpdGguCisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IAorfTsKKworfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nl
c3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNyAr
MzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5
YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNz
VHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5YWJsZUFjY2Vzc0Nh
c2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
CisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uo
dm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBX
VEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkp
CiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlw
ZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4o
bmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93
bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRk
aXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogUHJveHlh
YmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZp
c2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxl
QWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9
IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNz
VHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wg
dmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIp
OworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0g
bnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVy
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25l
KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB+UHJveHlh
YmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxlQWNjZXNzQ2FzZShW
TSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
LCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogcHJpdmF0
ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChp
KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKKyAgICAgICAgICAgIGlmIChhY2Nl
c3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVz
KHNsb3dQYXRoU3RhdGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBQdXRCeUlkVmFyaWFu
dCB2YXJpYW50OwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHJldmlzaW9uIDIyMjY2MykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTEgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3Vs
dCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3RydWN0dXJlU3R1YkluZm9JbnRlcm5h
bDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkhhZCBzdHViLCByZXN1bHQ6ICIsIHJl
c3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRDbGVhclN0dWIoKSkgewor
ICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgpKSB7CiAgICAgICAg
ICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJl
U3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJvc2Up
CiAgICAgICAgICAgICBkYXRhTG9nKCJDcmVhdGVkIHN0dWIsIHJlc3VsdDogIiwgcmVzdWx0LCAi
XG4iKTsKIAorICAgICAgICBpZiAocmVzdWx0LnNob3VsZENsZWFyU3R1YigpKSB7CisgICAgICAg
ICAgICByZXNldChjb2RlQmxvY2spOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAg
ICAgfQorCiAgICAgICAgIGlmICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAgICAgICAgICAgIGJ1
ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzczMyw2ICszNzMzLDExIEBAIE5vZGUq
IEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVz
IGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0
IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRp
ZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcK
ICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5
cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVz
IHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93LCBpZiB3ZSBoYXZl
IGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3aWxsCisgICAgICAg
ICAgICAgICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUgb25jZSB3ZSBoYXZl
IGEgaHlicmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAgIC8vIHBvbHkgcHJv
dG86CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJp
YW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAg
ICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAt
NDMzMCwxMiArNDMzNSwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2ln
bmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAgICAgICBpZiAoRnVu
Y3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgewogICAgICAg
ICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0
QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBo
LmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNo
cG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRT
ZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxp
dmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgo
UGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVn
aXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2Jq
ZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9s
eSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEt
PmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dy
YXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQo
Tm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFs
T2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlw
ZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9y
RWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdv
b2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAg
ICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQog
ICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAg
IGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURh
dGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0
cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0
b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChl
eGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI2
NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Mzk0LDcgKzQzOTQsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFu
Y2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJh
cmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAg
IG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9u
UmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAg
ICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6
WmVybywgYWxsb2NhdG9yR1BSKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVz
dWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0
cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9h
ZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9m
UmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5
VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcg
cHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJl
ZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQg
cHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpT
VmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpA
QCAtMzI0OSw4ICszMjQ5LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5j
ZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4
KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQ
cm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0o
KSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQ
dHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5
cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQu
ZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBz
Y3JhdGNoMlJlZyk7CisgICAgLy9tX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9m
ZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gz
UmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNW
YWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3Jh
dGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFz
ZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwg
SlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5v
dFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2Ny
YXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQu
YnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVn
KTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVn
cyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEy
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3Bl
Y3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAg
ICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAg
ICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2Ny
YXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0g
c2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBp
c0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAg
IEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAt
MzM5NCw3ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2Yo
TgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAg
ICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVS
ZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZG
b3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRj
aDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQp
OwogCkBAIC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRo
aXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJl
ZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcg
PSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigp
OworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNj
cmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChu
b2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2Ny
YXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7
CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wg
aW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwg
Ym9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZv
ck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJS
ZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNv
bXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBw
cm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJS
ZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2Rl
Kik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODkwMywxMCArODkwMywxMiBAQCBwcml2YXRlOgogICAgICAg
ICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAg
ICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFz
aWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExC
YXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFz
aWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJh
c2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFz
aWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNC
bG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJh
c2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAg
ICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAg
IAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEo
KS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5MjQsMTYgKzg5MjYsMjggQEAgcHJpdmF0
ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihj
ZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0
LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBl
bmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1f
b3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9v
dXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAg
ICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1f
b3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxv
YWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAg
ICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5z
dGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVj
dCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBl
Qml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3Ry
dWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5s
b2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAg
IExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5T
dHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95
cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChp
c0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21w
YXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywg
Y29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChw
cm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVl
RnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0Lmxv
YWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZh
bHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgp
KSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1f
b3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAg
TFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBl
LCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0g
bV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAog
ICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIy
NjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9m
KEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBp
biByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3
aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBv
ZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgp
LCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0
dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgq
dm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0
cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQ
cm90b3R5cGUgPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVy
b0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1Qy
LCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwg
cmVnVDQpOworICAgIGhhc1N0b3JlZFByb3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVn
VDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1Qy
LCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMp
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUo
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90
byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29u
ZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBpZiAo
IXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNV
bnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJh
dGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNs
b3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0
ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94
eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50
U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRl
ciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdl
dHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3ND
YXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdl
dEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1p
dEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0No
YWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdp
dGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0eSwgd2UgcHJvYmFibHkKKyAgICAg
ICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVy
LiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3VsZAorICAgICAgICAgICAgLy8gYmUg
d2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlwZXMgaW4gcG9seSBwcm90byBmYXNo
aW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxzZSB7CisgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0
KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3Jl
YXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFj
Y2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsK
KyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9h
ZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNj
ZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2Fj
aGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5
LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hl
YWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAg
ICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51
bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAg
ICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2LDYgKzQwNCw3IEBAIHN0YXRpYyBJ
bmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAgICAgcmV0dXJuIEdpdmVVcE9u
Q2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZTsKKyAgICBK
U0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgpOwogCiAgICAgaWYgKHNsb3QuYmFz
ZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxlUHV0KCkpIHsKICAgICAgICAgaWYg
KHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhpc3RpbmdQcm9wZXJ0eSkgewpAQCAt
NDI5LDQ4ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJ
RAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAg
ICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAg
CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQg
Y29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtpbmQgPT0gTm90RGlyZWN0KSB7Ci0g
ICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJh
dGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAotICAgICAgICAgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOwotICAg
ICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAg
ICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAg
ICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVj
dHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9CisgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9w
ZXJ0eVNldHRlck1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgbmV3U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2Nr
LCBvZmZzZXQsIHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAg
ICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQs
IHN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoc2xvdC5pc0NhY2hlYWJs
ZUN1c3RvbSgpIHx8IHNsb3QuaXNDYWNoZWFibGVTZXR0ZXIoKSkgewogICAgICAgICBpZiAoc2xv
dC5pc0NhY2hlYWJsZUN1c3RvbSgpKSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCBjb25kaXRpb25TZXQ7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogCiAgICAgICAgICAgICBpZiAo
c2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJv
cGVydHlIaXRDdXN0b20oCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAg
ICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVz
ZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAg
ICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
SXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2VDZWxsLT5zdHJ1Y3R1cmUo
KS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3Nv
cigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0
b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0g
ICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNz
Q2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRl
ciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0g
YmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsK
KyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0No
YWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5i
YXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2Vz
cyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdp
dmVVcE9uQ2FjaGU7Ci0gICAgICAgICAgICAgICAgb2Zmc2V0ID0gY29uZGl0aW9uU2V0LnNsb3RC
YXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
ICAgICBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgpOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlQ2VsbC0+c3RydWN0dXJl
KCktPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZz
ZXQoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9mZnNldCwg
Y29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNl
OjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90
eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTE3LDE1ICs1NzEsMzUg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZt
KTsKICAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlv
blNldDsKICAgICBpZiAod2FzRm91bmQpIHsKLSAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAh
PSBiYXNlKSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAg
aWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7IAorICAgICAgICAgICAgYm9vbCB1c2VzUG9s
eVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNl
LCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMg
cHJvdG90eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hl
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2Ut
PnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgIHBy
b3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNl
KCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2Ug
ewotICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1p
c3MoCi0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50Lmlt
cGwoKSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAg
aWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlk
IHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBH
aXZlVXBPbkNhY2hlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8
IGJhc2UtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQog
ICAgIH0KICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBH
aXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcgKzYwNyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlSZXBhdGNoSW4oCiAgICAgTE9HX0lDKChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0
cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlkZW50KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVC
bG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywg
aW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29k
ZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNz
LCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogCiAgICAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBz
dHViSW5mby5hZGRBY2Nlc3NDYXNlKGxvY2tlciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShu
ZXdDYXNlKSk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2
NjcsMjQgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAg
ICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAgICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7
CiAKKyAgICAgICAgeworICAgICAgICAgICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBw
Y1s0XS51LnN0cnVjdHVyZUlEOworICAgICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7Cisg
ICAgICAgICAgICAgICAgYXV0byBvcGNvZGUgPSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNb
MF0pOworICAgICAgICAgICAgICAgIGlmIChvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkCisgICAgICAg
ICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBvcF9nZXRfYnlfaWRfdW5zZXQKKyAgICAgICAgICAg
ICAgICAgICAgfHwgb3Bjb2RlID09IG9wX2dldF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdl
dChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJh
c2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICAgICAgICAgICAgICBp
ZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpLmdldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgi
RGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAg
ICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxsLT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgaWYgKHNsb3Qu
aXNWYWx1ZSgpICYmIHNsb3Quc2xvdEJhc2UoKSA9PSBiYXNlVmFsdWUpIHsKQEAgLTczNyw2ICs3
NTUsMjIgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAg
ICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAgICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgp
KSB7CiAKKworICAgICAgICB7CisgICAgICAgICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJ
RCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7CisgICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQp
IHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFi
bGUoKS5nZXQob2xkU3RydWN0dXJlSUQpOworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9
IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgICAgICAgICBpZiAo
c2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlTbG90OjpOZXdQcm9wZXJ0eSkKKyAgICAgICAgICAg
ICAgICAgICAgYiA9IGItPnByZXZpb3VzSUQoKTsKKworICAgICAgICAgICAgICAgIGlmIChTdHJ1
Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byhhLCBiKSkgeworICAgICAgICAgICAgICAg
ICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRh
dGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHku
IikpOworICAgICAgICAgICAgICAgICAgICBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBv
bHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCiAgICAgICAgIC8vIFN0YXJ0IG91dCBieSBjbGVhcmluZyBvdXQgdGhl
IG9sZCBjYWNoZS4KICAgICAgICAgcGNbNF0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xkIHN0
cnVjdHVyZQogICAgICAgICBwY1s1XS51LnBvaW50ZXIgPSBudWxscHRyOyAvLyBvZmZzZXQKQEAg
LTc2MCwxNiArNzk0LDE3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlf
aWQKICAgICAgICAgICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3Ry
dWN0dXJlLT5wcmV2aW91c0lEKCktPm91dE9mTGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5v
dXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNpdGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0
ZWQoKSk7CiAKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAg
ICAgICAgICAgIGJvb2wgc2F3UG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAg
IGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlLCBz
YXdQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IEludmFsaWRQ
cm90b3R5cGVDaGFpbiAmJiAhc2F3UG9seVByb3RvKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlzT2JqZWN0KCkpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+cHJldmlvdXNJ
RCgpLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xv
dC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0
dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShw
Y1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlw
ZUNoYWluKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNl
bGwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVC
bG9jaywgY2hhaW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
ICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+
KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5j
cHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNT
dGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBh
dXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAK
IHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNP
YmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2
MDksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAg
ICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAg
ICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhp
c09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAg
ICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICB9CkBAIC02MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4
ZWNTdGF0ZQogICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVt
YmVyKHZhbHVlKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhv
bGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAg
ICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAg
ICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAt
ODE2LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YK
ICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRh
dGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250
YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShk
YXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlz
T2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3Ro
KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNv
bnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwg
bGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3Qp
KQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0g
KnRoaXNPYmplY3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxl
bmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
KmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAg
ICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTExNzYsNyArMTE3NSw3
IEBAIHN0YXRpYyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRv
IHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNB
bnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0
dXJlKCktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VM
WSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2
YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZh
bHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVu
dHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25l
ZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0
OSw5IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFko
c3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShz
dHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CiAgICAgICAg
IGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3Ry
dWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7Ci0KICAgICB9IGVs
c2UgewogICAgICAgICBJbmRleGluZ0hlYWRlciBpbmRleGluZ0hlYWRlcjsKICAgICAgICAgaW5k
ZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxlbmd0aCk7CkBAIC04MSw3ICs4MCw3
IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4g
U29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRo
aXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2Ug
ZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFy
Z3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBB
U1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBz
aG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsK
KyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENs
b25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQt
PnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFy
Z3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNT
dGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1
bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFt
ZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENs
b25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgo
ZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQ
dXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCgh
cmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xv
d1BhdGhzLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4
IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9i
amVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBj
b25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVj
dCh2bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPnByb3RvdHlw
ZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0
dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3Jl
YXRlZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFz
T2JqZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxl
LmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQCB2
b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNvZGVCbG9j
a0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQo
dGhpc09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRh
YmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21HbG9iYWxDb2RlKApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhl
Y3V0YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOSwgMjAxMCwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsNiArMjcsNyBAQAog
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0YWJsZS5oIgogI2luY2x1ZGUgIlNvdXJjZUNvZGUuaCIK
KyNpbmNsdWRlIDx3dGYvQm94Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0xNzIsNiArMTcz
LDE4IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX0lORk87CiAKICAgICBJbmZlcnJlZFZhbHVlKiBz
aW5nbGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0K
KyAgICAvLyBDYWNoZWQgcG9seSBwcm90byBzdHJ1Y3R1cmUgZm9yIHRoZSByZXN1bHQgb2YgY29u
c3RydWN0aW5nIHRoaXMgZXhlY3V0YWJsZS4KKyAgICBTdHJ1Y3R1cmUqIGNhY2hlZFBvbHlQcm90
b1N0cnVjdHVyZSgpIHsgcmV0dXJuIG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLmdldCgpOyB9
CisgICAgdm9pZCBzZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkgeyBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0
cnVjdHVyZSk7IH0KKworICAgIElubGluZVdhdGNocG9pbnRTZXQmIGVuc3VyZVBvbHlQcm90b1dh
dGNocG9pbnQoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3BvbHlQcm90b1dhdGNocG9pbnQpCisg
ICAgICAgICAgICBtX3BvbHlQcm90b1dhdGNocG9pbnQgPSBCb3g8SW5saW5lV2F0Y2hwb2ludFNl
dD46OmNyZWF0ZShJc1dhdGNoZWQpOworICAgICAgICByZXR1cm4gKm1fcG9seVByb3RvV2F0Y2hw
b2ludDsKKyAgICB9CisKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gc2hhcmVkUG9seVBy
b3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQog
CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTE4OSw2ICsy
MDIsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxGdW5jdGlvbkNvZGVCbG9jaz4gbV9j
b2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJuU3RhdGVt
ZW50VHlwZVNldDsKICAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9zaW5nbGV0b25G
dW5jdGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBvbHlQcm90b1N0
cnVjdHVyZTsKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gbV9wb2x5UHJvdG9XYXRjaHBv
aW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNjYz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0
aW9uUmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVu
Y3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90
IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5p
bml0aWFsaXplUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xl
YXIoY29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciog
cmVhc29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50
ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1
bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0
dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJh
c2VDbGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1Rh
cmdldC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0
ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpOworCiAgICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0
aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5j
dGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3
VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgyLDcgKzg4Miw3IEBA
IEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5
V2l0aEludDMyOgogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAgICBWTSYg
dm0gPSBleGVjLnZtKCk7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lO
REVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisg
ICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCA9IGV4ZWMubGV4aWNhbEdsb2JhbE9iamVjdCgpOwpAQCAtOTE3LDcgKzkxNyw3IEBAIGJv
b2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0
aGUgYXJyYXkgY29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0
YXRlLAogICAgIC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUu
Ci0gICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9s
ZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXMpKSAKICAgICAgICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3Vs
ZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTEwNDgsNyArMTA0OCw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGlu
Z1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0
IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAg
ICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBi
ZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5n
dGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAg
ICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7
CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtMTA4OSw3ICsxMDg5LDcg
QEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBX
ZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBh
cm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBz
aGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9y
YWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAg
ICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
c3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYgPSBi
dXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAgICAg
IGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBib29sIEpTQXJy
YXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
IChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90
b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5h
cnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDgg
KzYzLDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2lu
dCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnBy
b3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwg
b3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
KSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NywxMyAr
Mjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3RydWMKICAgICAg
ICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKEpTT2JqZWN0
OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwgUmF3UG9pbnRl
cihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0ZXJmbHkgIiwg
UmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0gICAgICAgICAg
ICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwor
ICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQoKnN0cnVjdHVy
ZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBvdXQucHJp
bnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmlu
dCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0K
ICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIsIGFzQ2VsbCgp
LT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVyZUlEOiAiLCBh
c0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGlzVHJ1ZSgp
KQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVS
YQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVjdCogSlNGdW5jdGlv
bjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQorewor
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSk7CisgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4gYXNP
YmplY3QocHJvdG90eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0pLT5vYmplY3RQ
cm90b3R5cGUoKTsKK30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVB
bmRJbml0aWFsaXplUmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHkpCiB7CiAgICAgQVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0s
IGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXBy
b3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5
cGUoKTsKKyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9u
KHZtLCBleGVjKTsKICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFy
ZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsK
KyAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9i
YWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8v
IEEgREZHIGNvbXBpbGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUg
ZGF0YQogICAgIC8vIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBh
bGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlv
bjo6aW5pdGlhbGl6ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNP
YmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwot
ICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9i
amVjdFByb3RvdHlwZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsK
KyAgICBKU09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBl
eGVjKTsKKyAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUo
dm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwog
ICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNzEsNyArMzc0LDYgQEAgYm9v
bCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zmc2V0
ID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUsIGF0dHJpYnV0ZXMpOwogICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zm
c2V0KSk7CiAgICAgICAgIH0KLQogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIGF0
dHJpYnV0ZXMsIHRoaXNPYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAgIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2
aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9p
ZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJl
dHVybnMgdGhlIF9fcHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rp
b24gd2VyZSB0byBiZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29u
c3RydWN0aW9uKFZNJiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRf
UFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAg
ICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVy
ZSopOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNp
b24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90
b2NvbEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3Ry
dWN0dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAo
Z2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpA
QCAtNzMsNiArNzMsOSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxl
CiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25P
YnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFz
dHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9i
amVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNs
b3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1
Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlm
IChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYg
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVy
dHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRoaXMtPnBy
b3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmog
PT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwg
c2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVy
cm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSog
SlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9T
VE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhp
bmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRp
ZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgQVNTRVJU
KCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
dGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5ID0gc3Ry
dWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5KiBuZXdC
dXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9sZFN0cnVj
dHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVsbCgpKTsK
ICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7
Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJh
bnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5U3Rv
cmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1
cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJmbHko
dm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVyZSh2bSwg
bmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2LDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0b3JhZ2Uq
IEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAg
IHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSkt
PnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRV
bmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91
YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMy
VG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5
U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09i
amVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcs
NyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0g
ICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERv
dWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlT
dG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC0xMzY2
LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91CiAK
IEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uo
Vk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZt
LCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAg
IHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJh
eVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNp
ZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29u
dGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAo
aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAg
ICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAg
ICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5p
dGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAgQ29udGln
dW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRjaCAoaW5k
ZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAg
ICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5n
U2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAg
IHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2Fz
ZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5n
U2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmco
KSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwog
ICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNT
RVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVy
ZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3Jh
Z2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQRVM6CiAg
ICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJU
KCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJU
KCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVU
b0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
LSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
KyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJu
IGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZh
dWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVE
aXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICB2bS5w
cm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAotICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFu
c2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZSh2
bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1Y3R1cmUo
dm0pLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVj
dHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJl
KHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUp
OworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQ
cm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBp
ZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVy
ZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3Jk
aW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVm
YXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4g
YXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAg
ICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9
PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAv
LyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFu
ZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5
SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4
Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAg
ICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBj
cmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwg
aSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywg
dmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAt
MzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgo
RQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChF
eGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBW
TSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0g
dGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
KyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJy
ZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdl
dFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwor
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5n
ZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAg
ICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmlu
Z0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUu
aCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIK
KyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgog
I2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpA
QCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1Nl
YWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAg
IGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2
bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5z
aWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsK
ICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJp
dHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNO
dWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVj
dCgpKSk7CisgICAgICAgIEFTU0VSVCghc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgp
IHx8IGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0g
SGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAgICBBU1NFUlQoc3RydWN0
dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAg
fQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0s
IFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOworICAg
IHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUg
SlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpA
QCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9w
ZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFibGUuZ2V0
KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93bk5vbklu
ZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IGxv
b2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3MgorICAgICAgICBKU1Zh
bHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAg
ICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lvbiAyMjI2NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6
Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBKU1ZhbHVlIHBy
b3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRo
b2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVy
bmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlu
cXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQ
cm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVj
dDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAg
ICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQ
cm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlw
ZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAg
ICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAg
ICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0s
IGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpA
QCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5l
Rm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUo
dm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1
cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFt
ZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJj
ZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+
cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAs
IHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5p
c1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7
CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51
bWVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
YmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYg
KGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkK
LSAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1
cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQ
cm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkp
CiAgICAgICAgIHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0
dXJlUHJvcGVydGllcyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBpbmxpbmUgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJvcGVydHlOYW1lcy5zaXpl
KCkgPCBVSU5UMzJfTUFYKTsKIAotICAgIGJvb2wgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWlu
ID0gbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJv
dG90eXBlQ2hhaW47CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYm9vbCBzdWNjZXNzZnVs
bHlOb3JtYWxpemVkQ2hhaW4gPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1
cmUsIHNhd1BvbHlQcm90bykgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVy
YXRvciA9IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGlu
ZGV4ZWRMZW5ndGgsIG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlO
YW1lcykpOwotICAgIGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYg
c3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlO
YW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYm
IHN1Y2Nlc3NmdWxseU5vcm1hbGl6ZWRDaGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0
cnVjdHVyZSkgeworICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2
bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAg
c3RydWN0dXJlLT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9y
KTsKKyAgICB9CiAgICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyAr
NTYsNyBAQCBib29sIEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYg
KHN0cnVjdHVyZSA9PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2Jh
bE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkg
IT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJv
b2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9i
YWxPYmplY3QtPmlzU2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlw
ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIy
NjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpT
T2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYg
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJl
bnRseSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShy
ZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDEzICsxMzYsMTkgQEAgYm9vbCBqc0lzRnVu
Y3Rpb25UeXBlKEpTVmFsdWUgdikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0m
IHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9s
eVByb3RvID0gZmFsc2U7CiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKwor
ICAgICAgICBzYXdQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7
CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0g
c3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYu
aXNOdWxsKCkpCiAgICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJhbWUqLAog
SlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1
ZSk7CiBib29sIGpzSXNPYmplY3RUeXBlT3JOdWxsKENhbGxGcmFtZSosIEpTVmFsdWUpOwogYm9v
bCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUpOwotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNo
YWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSopOworc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNo
YWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSosIGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFMV0FZ
U19JTkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHMx
LCBKU1N0cmluZyogczIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0
aW9ucy5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVmIGNv
bnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29u
dGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQpLCB3
ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBp
dCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3NlbWJs
eVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExpbmtJ
bmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2wsIHVz
ZU9iamVjdFJlc3RTcHJlYWQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5hYmxl
IE9iamVjdCBSZXN0L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5QWxs
b2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3Vy
IG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0
aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAgdihi
b29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUs
IHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZh
bHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVj
aWRlZC4iKVwKKyAgICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYg
dHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9s
eSBwcm90byBzdHJ1Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2
aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBl
TWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBl
TWFwOjphZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgog
fQogCi1pbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVj
dHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUlu
Zm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBl
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQog
ewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3Rv
dHlwZSk7IC8vIFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBl
IHRvIG1lYW4gcG9seSBwcm90bywgc28gdXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBu
b24tbnVsbCBwcm90b3R5cGVzLgorCisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFr
ZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3Ry
dWN0dXJlKSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0
b3JlZFByb3RvdHlwZSgpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkp
OwogICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShw
cm90b3R5cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUo
Ci0gICAgICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5
cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAg
Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOwor
ICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0
cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBl
LCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3Ry
dWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAg
IH0KICAgICBtX3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkp
OworCiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVj
dHVyZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50
bHkgZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xh
c3NlcyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVs
dCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0g
YmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0
dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBo
YXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVk
UHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhp
bmdUeXBlICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsK
IAotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCks
IGluZGV4aW5nVHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0
dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVy
ZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0
dXJlKQogewotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygp
LCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBK
U0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxP
YmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3Rv
U3RydWN0dXJlKTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1
Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3Qq
IG9iamVjdCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJl
bW92ZShzdGQ6Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVj
dDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6
bWFrZV90dXBsZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygp
LCBnbG9iYWxPYmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNjYz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAg
IEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
KTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJl
Rm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VY
UE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFz
ZVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAg
dm9pZCBjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgdm9pZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUg
aXNQcm90b3R5cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBl
c3RpbWF0ZS4KIAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJl
KEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBj
b25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsK
KyAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNP
YmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRl
eGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1
Y3R1cmUpOwogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBl
czsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vh
a0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwg
SlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3Ry
dWN0dXJlTWFwID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29u
c3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1
cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiAr
MTg4LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogICAgICwg
bV9jbGFzc0luZm8oY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJ
c1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0
eUhhc2goMCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2luZChOb25lRGljdGlvbmFyeUtpbmQpOwog
ICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yMjAsNiArMjIxLDcgQEAg
U3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtKQogICAgICwgbV9jbGFzc0luZm8oaW5mbygpKQog
ICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNl
dChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2goMCkKIHsKICAgICBzZXREaWN0
aW9uYXJ5S2luZChOb25lRGljdGlvbmFyeUtpbmQpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlU
YWJsZShmYWxzZSk7CkBAIC0yNDcsMTAgKzI0OSwxMSBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShW
TSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVy
ZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNp
dHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJl
dmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHBy
ZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5t
X2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQog
ICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKHByZXZp
b3VzLT5tX3Byb3BlcnR5SGFzaCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2luZChwcmV2aW91cy0+
ZGljdGlvbmFyeUtpbmQoKSk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsK
QEAgLTI5Niw2ICsyOTksMjMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxs
KQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1
cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwg
Y29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5k
ZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAg
U3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0
eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAg
IHVuc2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0
eSgpOworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAg
dm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZh
dGVOYW1lKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0
T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90
b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVz
dWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZv
ck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVj
dHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChz
dHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTksMjYgKzQxOSwxNCBAQCBTdHJ1Y3R1cmUqIFN0
cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNp
dGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBv
ZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChj
b25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50
LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90
b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVy
ZSh2bSkgPT0gdGhpcyk7CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoVk0mIHZtKSBjb25zdAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhp
cy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3Qo
cHJvdG90eXBlKTsKQEAgLTQyNyw3ICs0MzUsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+
c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+
aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1
cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9y
ZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKQEAgLTQzNywyMCArNDQ1LDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgp
LT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1
cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0
aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblBy
b3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSog
U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJv
cGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFk
ZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTMsNiArNTQ3LDgg
QEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBKU1ZhbHVlIHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlz
T2JqZWN0KCkgfHwgcHJvdG90eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2
bS5oZWFwKTsKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVy
ZSk7CiAKQEAgLTEwNjgsMTEgKzEwNjQsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlv
bkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgq
dm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJl
Ojpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0K
LQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0
dXJlKj4oY2VsbCk7CkBAIC0xMTEwLDcgKzExMDEsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVh
cER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNN
YXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0
b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkg
fHwgIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5
KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZD
aGVhcChTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBT
dHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQog
Ci1ib29sIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2
bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9w
ZXJ0eU5hbWUpKQotICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhp
czsgOykgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3Rv
dHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwo
KS0+c3RydWN0dXJlKHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7
Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVy
dHlOYW1lLCBhdHRyaWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zm
c2V0KSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJp
YnV0ZXMgJiAoUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkFjY2Vzc29yKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6
OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3Ry
dWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90
b1N0cnVjdHVyZSkKIHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVj
dHVyZVNoYXBlOjpjcmVhdGUoKTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBl
ID0gYmFzZVNoYXBlLnB0cigpOwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsK
ICAgICBKU1ZhbHVlIGN1clZhbHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJl
ID0gZmFsc2U7CiAgICAgd2hpbGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUgfD0gIWN1clN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAgICAg
ICAgIGN1clN0cnVjdHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAg
ICAgWyZdIChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAg
ICAgICAgICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAg
ICAgIGlmICghUHJvcGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAg
ICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTEz
OSwyNCBAQCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAg
ICAgY3VyU2hhcGUtPm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUg
PSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJv
dG8obmV3U2hhcGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShu
ZXdTaGFwZSk7Ci0gICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJv
dG90eXBlKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0
KGN1clZhbHVlKTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVjdC0+
c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBpZiAo
IXByb3RvdHlwZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVj
dHVyZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAg
IGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNo
YXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdU
Rk1vdmUobmV3U2hhcGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAg
ICAgICAgY3VyU3RydWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9
CiAgICAgCiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVz
ZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5l
Q2FwYWNpdHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQ
cm90b3R5cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0
SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigp
OwotfQotCiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewog
ICAgIG91dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NO
YW1lLCAiLCB7Iik7CkBAIC0xMjAzLDcgKzExNzEsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQ
cmludFN0cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5
cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgp
LmlzQ2VsbCgpKQorICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5w
cmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNl
IGlmIChtX3Byb3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFBy
b3RvOiIsIFJhd1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3
aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkgewpAQCAtMTI4OCw5ICsxMjU4LDcgQEAgYm9vbCBTdHJ1
Y3R1cmU6OmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAg
ICAgIGlmICghc3RydWN0dXJlLT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBp
ZiAoc3RydWN0dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRl
c0dldFByb3BlcnR5TmFtZXMoKSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGlj
dGlvbmFyeSgpIHx8IHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJv
cGVydHlOYW1lcygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1
cmUrKzsKICAgICB9CkBAIC0xMzA5LDQgKzEyNzcsNTIgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNhbkFj
Y2Vzc1Byb3BlcnRpZXNRdWljawogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPT1BTOiBsZXRz
IGlubGluZSB0aGlzIGZ1bmN0aW9uLgorYm9vbCBTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1Bv
bHlQcm90byhjb25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSogYikKK3sKKyAgICBp
ZiAoIWEgfHwgIWIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhID09IGIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhLT5wcm9wZXJ0eUhhc2goKSAhPSBiLT5w
cm9wZXJ0eUhhc2goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25seSBj
YXJlIGFib3V0IG9iamVjdHMgY3JlYXRlZCB2aWEgYSBjb25zdHJ1Y3RvcidzIHRvX3RoaXMuIFRo
ZXNlCisgICAgLy8gYWxsIGhhdmUgU3RydWN0dXJlcyB3aXRoIHJhcmUgZGF0YSBhbmQgYSBzaGFy
ZWRQb2x5UHJvdG9XYXRjaHBvaW50LgorICAgIGlmICghYS0+aGFzUmFyZURhdGEoKSB8fCAhYi0+
aGFzUmFyZURhdGEoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25seSBj
YXJlIGFib3V0IFN0cnVjdHVyZSdzIGdlbmVyYXRlZCBmcm9tIGZ1bmN0aW9ucyB0aGF0IHNoYXJl
CisgICAgLy8gdGhlIHNhbWUgZXhlY3V0YWJsZS4KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hw
b2ludFNldD4mIGFJbmxpbmVXYXRjaHBvaW50U2V0ID0gYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9s
eVByb3RvV2F0Y2hwb2ludCgpOworICAgIGNvbnN0IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiYg
YklubGluZVdhdGNocG9pbnRTZXQgPSBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KCk7CisgICAgaWYgKGFJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpICE9IGJJbmxpbmVX
YXRjaHBvaW50U2V0LmdldCgpIHx8ICFhSW5saW5lV2F0Y2hwb2ludFNldCkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIEFTU0VSVChhSW5saW5lV2F0Y2hwb2ludFNldCAmJiBiSW5saW5lV2F0
Y2hwb2ludFNldCAmJiBhSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSA9PSBiSW5saW5lV2F0Y2hw
b2ludFNldC5nZXQoKSk7CisKKyAgICBpZiAoIWEtPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFi
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KGEtPnN0b3JlZFByb3RvdHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBWTSYgdm0gPSAqYS0+dm0oKTsKKyAgICBKU09iamVjdCogYU9i
aiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTT2JqZWN0KiBiT2JqID0gYi0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgd2hpbGUgKGFPYmogJiYgYk9iaikgeworICAg
ICAgICBhID0gYU9iai0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgYiA9IGJPYmotPnN0cnVjdHVy
ZSh2bSk7CisKKyAgICAgICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFz
aCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGFPYmogPSBhLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoYU9iaik7CisgICAgICAgIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoYk9iaik7CisgICAgfQorCisgICAgcmV0dXJuICFhT2JqICYmICFiT2JqOworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1
YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1v
cnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90
b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0g
Tm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVj
dHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdU
eXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3Ry
dWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsMTkgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUp
OwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5p
c051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJv
dG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIoKSk7CisgICAgfQorCisgICAg
dm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cnVjdHVyZSogcHJldmlvdXMpCisg
ICAgeworICAgICAgICB0aGlzLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIGlmIChwcmV2
aW91cy0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICAgICAgY29uc3QgU3RydWN0dXJlUmFyZURh
dGEqIHByZXZpb3VzUmFyZURhdGEgPSBwcmV2aW91cy0+cmFyZURhdGEoKTsKKyAgICAgICAgICAg
IGlmIChwcmV2aW91c1JhcmVEYXRhLT5oYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpIHsK
KyAgICAgICAgICAgICAgICBlbnN1cmVSYXJlRGF0YSh2bSk7CisgICAgICAgICAgICAgICAgcmFy
ZURhdGEoKS0+c2V0U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludChwcmV2aW91c1JhcmVEYXRhLT5j
b3B5U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5
Q2VsbFRhZykKQEAgLTE2Nyw3ICsxODEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cnVjdHVy
ZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShT
dHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQ
cm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJv
cGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBz
dGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJl
KiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3Rv
dHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNp
dGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0
aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRv
VW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4
LDcgKzIyMiw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiAhdHlwZUluZm8oKS5n
ZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgpOwogICAgIH0KLSAg
ICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI1
NCwzOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdI
aXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAg
ICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYpIGNvbnN0OwotICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
Y29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShW
TSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAg
Ly8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3Jl
YXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBh
IHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFj
ZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsg
fQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsK
KyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4g
bV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09m
ZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVkUHJv
dG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOwor
ICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0
OworICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBj
b25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09i
amVjdCopIGNvbnN0OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNv
bnN0OwogICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAg
ICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAgSlNW
YWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBKU1Zh
bHVlIHByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIFN0
cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU1Zh
bHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSkgY29u
c3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlw
ZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0aWMgdm9p
ZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAgLy8gQSBT
dHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291bGQgb25s
eSBhZGQgYSBzbWFsbCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3MiwxNCArMjk5LDMwIEBAIHB1
YmxpYzoKICAgICAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBzdHJ1Y3R1cmUgaXMgbm93
IG1hcmtlZC4KICAgICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAot
ICAgIC8vIFdpbGwganVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3Bl
cnR5IGFjY2Vzcz8KLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5
SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CiAgICAgCiAgICAgYm9vbCBoYXNS
YXJlRGF0YSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZp
b3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJh
cmVEYXRhKCkKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURh
dGEuZ2V0KCkpOworICAgIH0KKworICAgIGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0
YSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNP
clJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJl
UmFyZURhdGEoVk0mIHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAg
ICAgICAgICAgYWxsb2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgp
OworICAgIH0KICAgICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsK
QEAgLTUzMywxMiArNTc2LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJu
YWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50
ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewot
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1
Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAg
ICAgc3RydWN0dXJlLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnko
dm0pOwotICAgIH0KLQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewog
ICAgICAgICByZXR1cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTg4LDExICs2MjUsNyBA
QCBwdWJsaWM6CiAgICAgICAgIHdpbGxTdG9yZVZhbHVlU2xvdyh2bSwgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgc2hvdWxkT3B0aW1pemUsIEluZmVycmVkVHlwZVRhYmxlOjpPbGRQcm9wZXJ0eSk7CiAg
ICAgfQogCi0gICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUp
OwotICAgIAotICAgIC8vIERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVu
b3VnaCB0aGF0IHRoaXMgb25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAgLy8g
b2YgdGhlIG90aGVyIG9uZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0
dXJlKik7CisgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUs
IGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50
U3RyZWFtJikgY29uc3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVt
cENvbnRleHQqKSBjb25zdDsKQEAgLTYwMSw2ICs2MzQsMTAgQEAgcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGR1bXBDb250ZXh0SGVhZGVyKFByaW50U3RyZWFtJik7CiAgICAgCiAgICAgQ29uY3Vy
cmVudEpTTG9jayYgbG9jaygpIHsgcmV0dXJuIG1fbG9jazsgfQorCisgICAgdW5zaWduZWQgcHJv
cGVydHlIYXNoKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eUhhc2g7IH0KKworICAgIHN0YXRp
YyBib29sIHNob3VsZENvbnZlcnRUb1BvbHlQcm90byhjb25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0
IFN0cnVjdHVyZSogYik7CiAgICAgCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIApAQCAtNzIw
LDggKzc1Nyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFz
dE9mZnNldChtX29mZnNldCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBp
c1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNo
YWluKSBjb25zdDsKLSAgICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4q
IGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxP
YmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBi
YXNlKSBjb25zdDsKIAogICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2Nr
IHRvIGRvIHRoZXNlLgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3Ry
YWN0TG9ja2VyJiwgVk0mLCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc2OCw2IEBAIHBy
aXZhdGU6CiAgICAgICAgIHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3Ry
dWN0dXJlSUQoKTsKICAgICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBj
b25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5n
ZXQoKSk7Ci0gICAgfQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAg
Ym9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxz
RnVuYyYpIGNvbnN0OwogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpA
QCAtNzg3LDYgKzgxNyw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBtX29mZnNldCBkb2VzIG5vdCBh
Y2NvdW50IGZvciBhbm9ueW1vdXMgc2xvdHMKICAgICBQcm9wZXJ0eU9mZnNldCBtX29mZnNldDsK
KworICAgIHVpbnQzMl90IG1fcHJvcGVydHlIYXNoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlND
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hh
aW4uY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZv
aWQgU3RydWN0dXJlQ2hhaW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQg
U3RydWN0dXJlQ2hhaW46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7
CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOwor
ICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3Vy
cmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAg
ICAgICArK3NpemU7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltd
PihzaXplICsgMSk7CisKKyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3Vy
cmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2
bSwgdGhpcywgY3VycmVudC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRh
dG9yRmVuY2UoKTsKKyAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFw
LndyaXRlQmFycmllcih0aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWlu
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYg
SlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
QmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGlj
IFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3Rh
dGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7
IAogICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxTdHJ1Y3R1cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1
Y3R1cmVDaGFpblN0cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlv
bih2bSwgaGVhZCk7CkBAIC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
ZGVzdHJveShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7Ci0gICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1
cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJv
dG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBl
KCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVu
aXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3Vu
aXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6
ZV90IGkgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJl
bnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBh
c09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAg
ICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAg
ICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2
ZWN0b3IpOwotICAgIH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3Qq
IGhlYWQpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0
b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
SW5saW5lcy5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDE2ICs1MSwxNyBA
QCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZVN0cnVjCiAgICAgcmV0dXJuIHN0
cnVjdHVyZTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hw
b2ludEZpcmUqIGRlZmVycmVkKQoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHByZXZpb3VzLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50RmlyZSogZGVmZXJyZWQpCiB7CiAgICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVj
dHVyZSk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9j
YXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSwgZGVm
ZXJyZWQpOwotICAgIG5ld1N0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJl
Pih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBwcmV2aW91cywgZGVmZXJyZWQpOworICAgIG5ld1N0
cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0sIHByZXZpb3VzKTsKICAgICByZXR1cm4gbmV3U3Ry
dWN0dXJlOwogfQogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUo
KSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1
ZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAg
aW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0
dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAg
UkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmpl
Y3QgPSBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FM
V0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09i
amVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0
dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICBy
ZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUu
Z2V0KCkuaXNJbnQzMigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlw
ZS5nZXQoKS5hc0ludDMyKCk7CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7
Cit9CisKK0FMV0FZU19JTkxJTkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
T2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NF
UlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90
eXBlKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1Zh
bHVlIHByb3RvID0gb2JqZWN0LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlm
IChwcm90by5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFz
T2JqZWN0KHByb3RvKTsKK30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7
CisgICAgaWYgKEpTT2JqZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3Qp
KQorICAgICAgICByZXR1cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRy
OworfQorCiBBTFdBWVNfSU5MSU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2
bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVz
OwpAQCAtMTY2LDE1ICsxOTYsMzIgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZl
bHlUcmFucwogICAgIHJldHVybiBmYWxzZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHBy
b3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUt
PmlzT2JqZWN0KCkpOworCisgICAgaWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0g
U3RyaW5nVHlwZSkKKyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBl
KCk7CisKKyAgICBBU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xU
eXBlKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQor
CiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3Jl
ZFByb3RvdHlwZSgpKTsKICAgICBpZiAoaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJv
dG90eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQot
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAg
cmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQ
cmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUlu
Zm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3Ry
aW5nUHJvdG90eXBlKCk7CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxv
b2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7
CisgICAgUkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYg
KGlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFz
ZSkpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9i
amVjdCwgdGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9y
TG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKQEAgLTE4MiwyNyArMjI5LDI4IEBAIGlubGlu
ZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBl
Rm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1
Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVy
ZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1
cmUodm0pID09IHRoaXMpOwogICAgIC8vIFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28g
b3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3Qs
IG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVk
UHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBw
cm90b3R5cGUuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkp
KTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWlu
LmdldCgpLCBiYXNlKSkgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOworICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNo
YWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlz
TnVsbCgpID8gbnVsbHB0ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0
dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVD
aGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Citp
bmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRl
KiBleGVjLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hh
aW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4g
cHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBi
YXNlKTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29u
c3QKK2lubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBi
YXNlKSBjb25zdAogewogICAgIGlmICghY2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3Vw
KGdsb2JhbE9iamVjdCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29r
dXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2Fj
aGVkU3RydWN0dXJlID0gY2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAo
KmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChh
c09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgp
KQpAQCAtMjEzLDExICsyNjEsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNH
bG9iYWxPCiAgICAgcmV0dXJuIHByb3RvdHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVy
ZTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAotewotICAgIHJldHVy
biBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hh
aW4pOwotfQotCiBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAgICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBA
IC0zNDEsNiArMzg0LDggQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZN
JgogICAgIGF1dG8gcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgUHJvcGVydHlPZmZz
ZXQgbmV3T2Zmc2V0ID0gdGFibGUtPm5leHRPZmZzZXQobV9pbmxpbmVDYXBhY2l0eSk7CisKKyAg
ICBtX3Byb3BlcnR5SGFzaCA9IG1fcHJvcGVydHlIYXNoIF4gcmVwLT5leGlzdGluZ0hhc2goKTsK
ICAgICAKICAgICBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0ID0gbV9vZmZzZXQ7CiAgICAg
dGFibGUtPmFkZChQcm9wZXJ0eU1hcEVudHJ5KHJlcCwgbmV3T2Zmc2V0LCBhdHRyaWJ1dGVzKSwg
bmV3TGFzdE9mZnNldCwgUHJvcGVydHlUYWJsZTo6UHJvcGVydHlPZmZzZXRNYXlDaGFuZ2UpOwpA
QCAtNDAwLDcgKzQ0NSw3IEBAIGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92
ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2
b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRh
YmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYg
dm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5z
ZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIy
MjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRh
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVy
ZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdh
dGNocG9pbnRCYXNlLmgiCisjaW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRh
Ojp2aXNpdENoaWxkcmVuKEpTCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2
aW91cyk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1Zh
bHVlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFt
ZUVudW1lcmF0b3IpOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRD
b25zdHJ1Y3Rvcik7CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFy
ZURhdGE6OmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3
NywxMyBAQCBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAgbV9v
YmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVy
ZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBpZiAo
IW1faW5mZXJyZWRDb25zdHJ1Y3RvcikKKyAgICAgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yLnNl
dCh2bSwgdGhpcywgSW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKSk7CisgICAgcmV0dXJuIG1faW5m
ZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZv
ciBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAt
LS0tLS0tLS0tLS0tLQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVE
YXRhKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3
IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9T
dHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMCBAQCBwdWJs
aWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUg
c3RydWN0dXJlIG9mIGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1
bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVz
LgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBv
ZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8g
b2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0
byBpbmZlciBpZiB3ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2Ug
ZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0cnVjdG9yIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVl
IGluZmVycmluZyBhIEpTRnVuY3Rpb24uCisgICAgLy8gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28g
cG9seSBwcm90bywgdGhlbiB0aGlzIHdpbGwgYmVjb21lIGludmFsaWRhdGVkLgorICAgIEluZmVy
cmVkVmFsdWUqIGVuc3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICAvLyBNYXkgYmUg
bnVsbHB0ci4KKyAgICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yKCkgeyByZXR1
cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9yLmdldCgpOyB9CisKKyAgICBCb3g8SW5saW5lV2F0Y2hw
b2ludFNldD4gY29weVNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBt
X3BvbHlQcm90b1dhdGNocG9pbnQ7IH0KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNl
dD4mIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90
b1dhdGNocG9pbnQ7IH0KKyAgICB2b2lkIHNldFNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoQm94
PElubGluZVdhdGNocG9pbnRTZXQ+JiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCkgeyBtX3Bv
bHlQcm90b1dhdGNocG9pbnQgPSBXVEZNb3ZlKHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpOyB9
CisgICAgYm9vbCBoYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Ym9vbD4obV9wb2x5UHJvdG9XYXRjaHBvaW50KTsgfQorCiAgICAgREVDTEFS
RV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDExICs5MSwxMyBAQCBwcml2YXRlOgog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVy
PEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwotICAg
IAorICAgIFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7
CisKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50
U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJv
S2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0
Y2hwb2ludFNldHM7CiAgICAgQmFnPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRj
aHBvaW50PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVXYXRjaHBvaW50U2V0OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxPYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0
Y2hwb2ludD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRWYWx1ZVdhdGNocG9pbnQ7
CisgICAgQm94PElubGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKICAg
ICBib29sIG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGU7CiB9OwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJ
KHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQ
cm9maWxlckxvZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5
cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJl
bnRUaW1lTVMoKTsKICAgICB9CiAKKyAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1
Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Qcm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFp
cjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9s
eVByb3RvU2hhcGVzOworCiAgICAgTG9nRW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAg
ICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7
CisKICAgICB3aGlsZSAoZW50cnkgIT0gbV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAg
U3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1
Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAgICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBl
OwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0
dXJlID0gZmFsc2U7CiAgICAgICAgIGlmIChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0g
SGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAK
LSAgICAgICAgICAgIGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAg
ICAgICAgICAgaWYgKGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAg
IHNoYXBlID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAg
ICAgICBzZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVj
dHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0
KGlkKTsKKyAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5k
KHN0cnVjdHVyZSk7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFw
ZXMuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0
cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkpOworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNh
Y2hlZFBvbHlQcm90b1NoYXBlcy5maW5kKGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIg
IT0gY2FjaGVkUG9seVByb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNo
YXBlID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVj
dHVyZSA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFz
aGFwZSkgeworICAgICAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1
cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNh
Y2hlZFBvbHlQcm90b1NoYXBlcy5zZXQoa2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQo
c3RydWN0dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQs
OCArMTAwLDggQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAg
ICAgICBUeXBlTG9jYXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBs
b2NhdGlvbi0+bV9sYXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1f
Z2xvYmFsVHlwZVNldCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFk
ZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAg
ICAgIGxvY2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5
cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1f
Z2xvYmFsVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwg
c3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9p
bnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBl
KSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7
CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJ
KHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVT
ZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNl
dCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBl
IHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlw
ZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5U
eXBlcyA9IG1fc2VlblR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2Vk
TmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVm
PFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxs
KCk7Ci0gICAgICAgIGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewot
ICAgICAgICAgICAgeworICAgICAgICAvLyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0
byBjYWNoZSBwb2x5IHByb3RvIGNoYWlucworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhl
IHByb3RvdHlwZSBjaGFpbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NzYyNworICAgICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8
ICFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAo
IXNhd1BvbHlQcm90b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xv
Y2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQo
c3RydWN0dXJlKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlU2V0LmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFz
cyBUeXBlU2V0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9
CiAgICAgVHlwZVNldCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlw
ZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVj
dHVyZSosIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVD
YWNoZSgpOwogICAgIFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxh
eU5hbWUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRl
QmFycmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dy
aXRlQmFycmllci5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVl
IHZhbHVlKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBp
c051bWJlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlz
SW50MzIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2Jq
ZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxs
KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0
dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291
cmNlL1dURi93dGYvQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQm94LmgJKHJl
dmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9XVEYvd3RmL0JveC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNiwxNCArMzYsMTcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgog
Y2xhc3MgQm94IHsKIHB1YmxpYzoKLSAgICBCb3goKQotICAgIHsKLSAgICB9CisgICAgQm94KCkg
PSBkZWZhdWx0OworICAgIEJveChCb3gmJikgPSBkZWZhdWx0OworICAgIEJveChjb25zdCBCb3gm
KSA9IGRlZmF1bHQ7CiAKICAgICBCb3goc3RkOjpudWxscHRyX3QpCiAgICAgewogICAgIH0KIAor
ICAgIEJveCYgb3BlcmF0b3I9KEJveCYmKSA9IGRlZmF1bHQ7CisgICAgQm94JiBvcGVyYXRvcj0o
Y29uc3QgQm94JikgPSBkZWZhdWx0OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1l
bnRzPgogICAgIHN0YXRpYyBCb3ggY3JlYXRlKEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKICAg
ICB7CkBAIC01Nyw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7
IHJldHVybiBtX2RhdGEtPnZhbHVlOyB9CiAgICAgVCogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0
dXJuICZtX2RhdGEtPnZhbHVlOyB9CiAKLSAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgeyBy
ZXR1cm4gbV9kYXRhOyB9CisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0
dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1fZGF0YSk7IH0KICAgICAKIHByaXZhdGU6CiAgICAgc3Ry
dWN0IERhdGEgOiBUaHJlYWRTYWZlUmVmQ291bnRlZDxEYXRhPiB7CkluZGV4OiBTb3VyY2UvV1RG
L3d0Zi9SZWZQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAkocmV2
aXNpb24gMjIyNjYzKQorKysgU291cmNlL1dURi93dGYvUmVmUHRyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTgzLDYgKzgzLDggQEAgcHVibGljOgogICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRv
ciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50
ZWdlciB0eXBlcy4KICAgICB0eXBlZGVmIFQqIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBl
KTsKICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9w
dHIgPyAmUmVmUHRyOjptX3B0ciA6IG51bGxwdHI7IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9y
IGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fcHRyOyB9CiAgICAgCiAgICAgUmVmUHRyJiBvcGVy
YXRvcj0oY29uc3QgUmVmUHRyJik7CiAgICAgUmVmUHRyJiBvcGVyYXRvcj0oVCopOwpJbmRleDog
VG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9T
Y3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI2NjMpCisrKyBUb29scy9T
Y3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5
LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRl
ZiBydW5GVExOb0NKSVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVu
KCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNl
IiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlv
bmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0t
dXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1
ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRp
b25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0
ZSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBy
dW5ERkdFYWdlck5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFn
ZXIoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICIt
LWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BU
SU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZp
Y09wdGlvbnMpKQorICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0
b3I9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJf
T1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVj
aWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxl
cgogCiAgICAgcnVuKCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2Zp
bGVyPXRydWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0
bC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05T
KSkKKyAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2Vy
IiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihG
VExfT1BUSU9OUyArIEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1By
b2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322354</attachid>
            <date>2017-10-01 23:28:03 -0700</date>
            <delta_ts>2017-10-01 23:53:12 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>225304</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0
ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtz
L3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxz
ZTsKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2Fs
bGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30K
KworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVt
cyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1h
a2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgewor
ICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQo
bywgaSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxl
ZCA9PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxz
ZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
Y29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHJldmlzaW9uIDIyMjY2MykKKysrIEpTVGVzdHMv
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwx
OSArMjEsMjEgQEAgdmFyIHRlc3RzID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRl
cmF0b3IpLCB0cnVlKSwKIF07CiAKLXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAg
ICBmdW5jdGlvbiBDb25zdHJ1Y3RvcigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0g
ICAgfQotCi0gICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0
LnJldHVybkl0KSB7Ci0gICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAg
ICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAg
ICAgIGZ1bmN0aW9uIENvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFs
dWU7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFu
Y2VvZiBDb25zdHJ1Y3RvcikpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsg
cmVzdWx0OworCisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAg
ICAgaWYgKHRlc3QucmV0dXJuSXQpIHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSBy
ZXN1bHQpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3Vs
dCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7
CisgICAgfSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1w
cm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9maWVsZCA9IDI1OworICAgICAgICAgICAgfQorICAgICAgICB9
OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
MTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcHJv
dG8gPSBjcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoKTsKK2xldCBvYmogPSBtYWtlUG9s
eVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcHJvdG87CisKK2Z1bmN0aW9uIHZhbGlk
YXRlKHgsIHYpIHsKKyAgICBhc3NlcnQoeC5jdXN0b21HZXR0ZXIgPT09IHYsIHguY3VzdG9tR2V0
dGVyKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUob2JqLCBwcm90byk7CisKK3Byb3RvLmZvbyA9IDI1OworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRhdGUob2JqLCBwcm90byk7CisK
K1JlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIHZhbGlkYXRlKG9iaiwgdW5kZWZpbmVkKTsKK30KSW5kZXg6IEpTVGVz
dHMvc3RyZXNzL3BvbHktcHJvdG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNz
b3IuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20t
dmFsdWUtYW5kLWFjY2Vzc29yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTMgQEAKK2Z1
bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7Cisg
ICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgCisgICAgICAgICAgICBjb25z
dHJ1Y3RvcigpIHsgdGhpcy5maWVsZCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVy
biBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAg
ICAgIGFzc2VydChmb28oKS5maWVsZCA9PT0gMjApOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7
Cit9CisKK2xldCBpdGVtcyA9IFsKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFr
ZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtl
UG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBv
bHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9s
eVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVBy
b3RvT2JqZWN0KCksCitdOworCitsZXQgY3VzdG9tR2V0dGVyU2V0dGVyID0gY3JlYXRlQ3VzdG9t
VGVzdEdldHRlclNldHRlcigpOworaXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIHguX19wcm90
b19fID0gY3VzdG9tR2V0dGVyU2V0dGVyOworICAgIGFzc2VydCh4Ll9fcHJvdG9fXyA9PT0gY3Vz
dG9tR2V0dGVyU2V0dGVyKTsKK30pOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2YWx1ZVJlc3Vs
dCwgYWNjZXNzb3JSZXN1bHQpIHsKKyAgICBhc3NlcnQoeC5jdXN0b21WYWx1ZSA9PT0gdmFsdWVS
ZXN1bHQpOworCisgICAgYXNzZXJ0KHguY3VzdG9tQWNjZXNzb3IgPT09IGFjY2Vzc29yUmVzdWx0
KTsKKworICAgIGxldCBvID0ge307CisgICAgeC5jdXN0b21WYWx1ZSA9IG87CisgICAgYXNzZXJ0
KG8ucmVzdWx0ID09PSB2YWx1ZVJlc3VsdCk7CisKKyAgICBvID0ge307CisgICAgeC5jdXN0b21B
Y2Nlc3NvciA9IG87CisgICAgYXNzZXJ0KG8ucmVzdWx0ID09PSBhY2Nlc3NvclJlc3VsdCk7CisK
KyAgICBhc3NlcnQoeC5yYW5kb21Qcm9wID09PSA0MiB8fCB4LnJhbmRvbVByb3AgPT09IHVuZGVm
aW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1
c3RvbUdldHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0KK30KKworY3VzdG9tR2V0dGVyU2V0
dGVyLnJhbmRvbVByb3AgPSA0MjsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2
YWxpZGF0ZShpdGVtc1tpXSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQor
fQorCitpdGVtcy5mb3JFYWNoKCh4KSA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih4
LCB7CisgICAgICAgIGdldCBjdXN0b21WYWx1ZSgpIHsgcmV0dXJuIDQyOyB9LAorICAgICAgICBn
ZXQgY3VzdG9tQWNjZXNzb3IoKSB7IHJldHVybiAyMjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbVZh
bHVlKHgpIHsgeC5yZXN1bHQgPSA0MjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbUFjY2Vzc29yKHgp
IHsgeC5yZXN1bHQgPSAyMjsgfSwKKyAgICB9KTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytp
KSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCA0MiwgMjIpOworICAgIH0KK30KKworaWYg
KGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3Ru
ZXNzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmlu
c2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMzIEBA
CitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQhIik7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAg
ZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZv
bygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHggPSBuZXcgVWludDMyQXJyYXkoMTAp
OworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3RvX187CitsZXQgb2JqID0gbWFrZVBvbHlQcm90
b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7Cit4Ll9fcHJvdG9fXyA9IG9iajsKKworZnVu
Y3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5ieXRlTGVuZ3RoOworfQorbm9JbmxpbmUoZm9v
KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBhc3NlcnQoZm9vKHgp
ID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJvdG9fXyA9IHt9OworCithc3NlcnQoZm9vKHgp
ID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwkobm9uZXhp
c3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3MuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1MSBAQAorZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51
bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsK
KyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9Owor
ICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgQzsK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8
IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgbGV0IHJlc3VsdCA9IGZvbygpOworICAgIHJl
c3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1bmN0aW9u
IGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBh
c3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNlcyA9IFsKKyAgICBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5
cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90
b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKK107CisKK2xldCBwID0gdW5kZWZpbmVkOwor
ZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2VydCh4LnggPT09IDIwKTsKKyAgICBhc3Nl
cnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgc3Rh
cnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2VzLmxlbmd0aDsgKytpKQorICAgICAgICB2YWxp
ZGF0ZShpbnN0YW5jZXNbaV0pOworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkg
LSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5n
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2Fj
aGluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY0IEBACitmdW5jdGlvbiBhc3NlcnQo
YiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0p
OworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZv
bygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgICAgICAgICB0aGlzLmZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAgICAgIH07
CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAx
NTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28oKS5maWVsZCA9PT0gNDIpOworICAgIH0KKyAg
ICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3Nl
cnQoIngiIGluIG8gPT09IGIpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitsZXQgc3RhcnQg
PSBEYXRlLm5vdygpOworCitsZXQgb2JqcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsg
KytpKQorICAgIG9ianMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkpOworCitvYmpzLmZvckVh
Y2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyMH0pKTsKKworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisg
ICAgICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVm
bGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9KSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2Jq
LCBmYWxzZSk7Cit9CisKKworZnVuY3Rpb24gdmFsaWRhdGUyKG8sIGIpIHsKKyAgICBhc3NlcnQo
IngiIGluIG8gPT09IGIpOworfQorbm9JbmxpbmUodmFsaWRhdGUyKTsKKworb2Jqcy5mb3JFYWNo
KG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwgbnVsbCkpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAg
IHZhbGlkYXRlMihvYmosIGZhbHNlKTsKK30KKworb2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0
LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjV9KSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUyKG9i
aiwgdHJ1ZSk7Cit9CisKK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQp
OwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24u
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0OCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0p
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30K
KworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7
CisgICAgICAgIGNsYXNzIEMgeyB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJu
IGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAg
ICBvLnAgPSAyMDsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDsgKytpKSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBvYmouX19wcm90b19fID0gbnVsbDsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAgYXNz
ZXJ0KE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgYXNzZXJ0KG9i
ai5wID09PSAyMCk7CisKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAg
ICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSB7
IHNldCBwKHgpIHsgZ2xvYmFsID0geDsgfSB9OworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBh
c3NlcnQoIW9iai5oYXNPd25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3NlcnQoZ2xvYmFsID09PSAy
MCk7CisgICAgZ2xvYmFsID0gbnVsbDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyAr
K2kpIHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIHBlcmZvcm1T
ZXQob2JqKTsKKyAgICBhc3NlcnQob2JqLmhhc093blByb3BlcnR5KCJwIikpOworICAgIGFzc2Vy
dChvYmoucCA9PT0gMjApOworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBz
dGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlw
ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0
IGFsdGVybmF0ZVByb3RvID0geworICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsK
KyAgICB9Cit9OworCitsZXQgYWx0ZXJuYXRlUHJvdG8yID0geworICAgIGdldCB5KCkgeyByZXR1
cm4gMjI7IH0sCisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307
CisKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBn
ZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5feDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygp
IHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICB0
aGlzLl94ID0gNDI7CisgICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKwor
ZnVuY3Rpb24gdmFsaWRhdGUobywgcCkgeworICAgIGFzc2VydChvLnggPT09IHApOworfQorbm9J
bmxpbmUodmFsaWRhdGUpOworCitsZXQgYXJyID0gW107Citmb28oKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMjU7ICsraSkKKyAgICBhcnIucHVzaChmb28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUo
YSwgNDIpOworfQorCitmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0
ZXJuYXRlUHJvdG87Cit9Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9y
IChsZXQgYSBvZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQor
Citmb3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8y
OworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBv
ZiBhcnIpIHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgICAgIGFzc2VydChhLnkg
PT09IDIyKTsKKyAgICB9Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRl
ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwko
bm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAg
IGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitsZXQg
Y2FsbGVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1
bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rv
cigpIAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSBudWxsOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBzZXQgcCh4KQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IHg7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBnZXQgcCgpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX3A7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAg
ICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytp
KSB7CisgICAgICAgIGFzc2VydChmb28oKS5wID09PSBudWxsKTsKKyAgICB9CisgICAgcmV0dXJu
IGZvbygpOworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30K
KworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgICBp
dGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAgICAg
ICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5fcCA9PT0gaSk7CisgICAgICAg
IGFzc2VydChjYWxsZWQgPT09IHRydWUpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9
Cit9CisKK2l0ZW1zLmZvckVhY2gobyA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZihv
LCBudWxsKTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9
IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5w
ID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gZmFsc2UpOworICAgIH0KK30KKwor
aWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3Rz
L3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0ZW50
KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlm
ICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVuY3Rpb24gZm9v
KCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHRoaXMueSA9IDIyOworICAgICAgICB9CisgICAgICAgIGdldCBiYXooKSB7IHJl
dHVybiB0aGlzLng7IH0KKyAgICB9CisgICAgQy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBu
ZXcgQzsKKyAgICByZXR1cm4gQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisg
ICAgZm9vKCk7CisKK2Z1bmN0aW9uIGJhcihwKSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgewor
ICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAg
ICB0aGlzLnggPSAyMjsKKyAgICAgICAgfQorICAgIH07CisgICAgbGV0IHJlc3VsdCA9IG5ldyBD
OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQor
ICAgIGJhcihmb28oKSk7CisKK2xldCBpbnN0YW5jZXMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgNDA7ICsraSkKKyAgICBpbnN0YW5jZXMucHVzaChiYXIoZm9vKCkpKTsKKworZnVuY3Rpb24g
dmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsKKyAgICBhc3NlcnQo
aXRlbS5iYXogPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOworfQorCits
ZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkg
eworICAgIGluc3RhbmNlcy5mb3JFYWNoKCh4KSA9PiB2YWxpZGF0ZSh4KSk7Cit9CitpZiAoZmFs
c2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3ByaW1pdGl2ZS1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3By
aW1pdGl2ZS1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3By
aW1pdGl2ZS1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKK2xl
dCB5ID0gNDI7CitmdW5jdGlvbiBtYWtlUG9seVByb3RvSW5zdGFuY2UoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkg
eyB0aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0geTsK
KyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
NTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwb2x5
UHJvdG9JbnN0YW5jZSA9IG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpOworU3RyaW5nLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9JbnN0YW5jZTsKK1N5bWJvbC5wcm90b3R5cGUuX19wcm90
b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitsZXQgc3RyaW5ncyA9IFsKKyAgICAiZm9vIiwKKyAg
ICBTeW1ib2woImZvbyIpLAorICAgICJiYXIiLAorICAgIFN5bWJvbCgiYmFyIiksCitdOworCitm
dW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgYXNzc2VydGlvbiIpCit9Citub0lubGluZShhc3NlcnQpOworCitmdW5jdGlvbiB2YWxp
ZGF0ZShzKSB7CisgICAgYXNzZXJ0KHMueCA9PT0gMjApOworICAgIGFzc2VydChzLnkgPT09IHkp
OworICAgIGFzc2VydChzLm5vbkV4aXN0ZW50UHJvcGVydHkgPT09IHVuZGVmaW5lZCk7CisgICAg
YXNzZXJ0KHR5cGVvZiBzLmhhc093blByb3BlcnR5ID09PSAiZnVuY3Rpb24iKTsKKyAgICBhc3Nl
cnQocy5oYXNPd25Qcm9wZXJ0eSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7
Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytp
KSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOwor
ICAgIH0KK30KKworeSA9IDI3OworcG9seVByb3RvSW5zdGFuY2UuX19wcm90b19fID0ge3o6NDAw
LCB5OiB5fTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQg
cyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KSW5kZXg6IEpT
VGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvc3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBmdW5jdGlv
biBiYXIoKSB7CisgICAgICAgIHRoaXMueCA9IDQyOworICAgIH0KKyAgICBiYXIucHJvdG90eXBl
ID0gNTA7CisgICAgcmV0dXJuIG5ldyBiYXIoKTsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsK
KyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2xldCBp
dGVtcyA9IFsKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwK
KyAgICBmb28oKSwKKyAgICBmb28oKSwKK107CisKK2Z1bmN0aW9uIHZhbGlkYXRlKGl0ZW0pIHsK
KyAgICBhc3NlcnQoaXRlbS5ub3RUaGVyZSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQoaXRl
bS54ID09PSA0Mik7CisgICAgYXNzZXJ0KGl0ZW0uX19wcm90b19fID09PSBPYmplY3QucHJvdG90
eXBlKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgaXRlbSBvZiBpdGVtcykKKyAgICAgICAgdmFsaWRhdGUoaXRlbSk7Cit9CkluZGV4OiBKU1Rl
c3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNU
ZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM2IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtl
UG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3Mg
QyB7IH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1
bmN0aW9uIHRyeUdldEJ5SWRUZXh0KHByb3BlcnR5TmFtZSkgeyByZXR1cm4gYChmdW5jdGlvbiAo
YmFzZSkgeyByZXR1cm4gQHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJvcGVydHlOYW1lfScpOyB9KWA7
IH0KK2xldCBnZXRGb28gPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJmb28iKSk7Cits
ZXQgZ2V0QmFyID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiYmFyIikpOworbGV0IGdl
dE5vbkV4aXN0ZW50RmllbGQgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJub25FeGlz
dGVudEZpZWxkIikpOworCitsZXQgeCA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK3guX19wcm90
b19fID0geyBmb286IDQyLCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7IH0gfTsKK2xldCBiYXJHZXR0
ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHguX19wcm90b19fLCAiYmFyIiku
Z2V0OworYXNzZXJ0KHR5cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5jdGlvbiIpOworYXNzZXJ0KGJh
ckdldHRlcigpID09PSAyMik7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQo
Z2V0Rm9vKHgpID09PSA0Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVy
KGdldEJhcih4KSkgPT09IGJhckdldHRlcik7CisgICAgYXNzZXJ0KGdldE5vbkV4aXN0ZW50Rmll
bGQoeCkgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFsaWRhdGUoeCk7Cit9CkluZGV4OiBKU1Rl
c3RzL3R5cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5
cGVQcm9maWxlci9pbmhlcml0YW5jZS5qcwkocmV2aXNpb24gMjIyNjYzKQorKysgSlNUZXN0cy90
eXBlUHJvZmlsZXIvaW5oZXJpdGFuY2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcg
QEAgYXNzZXJ0KHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYQogYXNzZXJ0KHR5cGVz
Lmluc3RydWN0aW9uVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09ICJDIiwgInZhcmlhYmxlICd0
aGVDJyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0MnIik7CiAKIHR5cGVzID0gZmluZFR5
cGVGb3JFeHByZXNzaW9uKHdyYXBwZXIsICJoaWVyYXJjaHlUZXN0ID0gbmV3IEI7Iik7Ci1hc3Nl
cnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxl
ICdoaWVyYXJjaHlUZXN0JyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIik7Cithc3Nl
cnQodHlwZXMuZ2xvYmFsVHlwZVNldC5kaXNwbGF5VHlwZU5hbWUgPT09ICJBIiwgInZhcmlhYmxl
ICdoaWVyYXJjaHlUZXN0JyBzaG91bGQgaGF2ZSBkaXNwbGF5VHlwZU5hbWUgJ0EnIiArICIgYnV0
IHdhczogIiArIHR5cGVzLmdsb2JhbFR5cGVTZXQuZGlzcGxheVR5cGVOYW1lKTsKIAogdHlwZXMg
PSBmaW5kVHlwZUZvckV4cHJlc3Npb24od3JhcHBlciwgImhpZXJhcmNoeVRlc3QgPSBuZXcgQzsi
KTsKIGFzc2VydCh0eXBlcy5nbG9iYWxUeXBlU2V0LmRpc3BsYXlUeXBlTmFtZSA9PT0gIkEiLCAi
dmFyaWFibGUgJ2hpZXJhcmNoeVRlc3QnIHNob3VsZCBoYXZlIGRpc3BsYXlUeXBlTmFtZSAnQSci
KTsKSW5kZXg6IEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCShyZXZpc2lvbiAyMjI2NjMpCisrKyBK
U1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5
LDggQEAgdmFyIG9sZFByb3RvOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3Vu
dFdpdGhvdXRPdmVyZmxvdzsgaSsrKSB7CiAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCBhIG5ldyBw
cm90b3R5cGUgY2hhaW4gb24gZWFjaCBhc3NpZ25tZW50IHRvIHggYmVjYXVzZSBvYmplY3RzIHdp
dGggc2hhcmVkIHByb3RvdHlwZSBjaGFpbnMgd2lsbCBiZSBtZXJnZWQuCiAgICAgeCA9IG5ldyBQ
cm90bzsKKyAgICB4WydmaWVsZCcgKyBpXSA9IDIwOworICAgIHggPSB4CiAgICAgb2xkUHJvdG8g
PSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3RvdHlwZTsKQEAgLTIwLDYgKzIyLDggQEAgUHJvdG8g
PSBmdW5jdGlvbigpIHt9Owogb2xkUHJvdG8gPSBudWxsOwogZm9yICh2YXIgaSA9IDA7IGkgPCBN
YXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVyZmxvdyAtIDE7IGkrKykgewogICAgIHkgPSBuZXcg
UHJvdG87CisgICAgeVsnZmllbGQnICsgaV0gPSAyMDsKKyAgICB5ID0geQogICAgIG9sZFByb3Rv
ID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlvbigpIHt9OwogICAgIFByb3RvLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5cGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1Nv
dXJjZXMudHh0CShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291
cmNlcy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyNyw2ICsyMjcsNyBAQCBieXRlY29kZS9MYXp5
T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVBy
b2ZpbGUuY3BwCiBieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNv
ZGUvTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5jcHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29k
ZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKQEAg
LTIzNCw2ICsyMzUsNyBAQCBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKIGJ5dGVjb2Rl
L1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHAKIGJ5dGVjb2RlL1Byb2dyYW1Db2RlQmxvY2suY3BwCiBi
eXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKK2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0No
YWluLmNwcAogYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL1B1dEJ5
SWRGbGFncy5jcHAKIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk1Myw2ICs5NTMsOTAgQEAgdm9pZCBET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0OjpmaW5pc2hDcgogICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCBn
bG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZnVuYyIpLCAwLCBzYWZl
RnVuY3Rpb24sIE5vSW50cmluc2ljLCAmRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdFNpZ25hdHVy
ZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkpOwog
fQogCitjbGFzcyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QgOiBwdWJsaWMgRE9NSklUTm9kZSB7
CitwdWJsaWM6CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIHsKKyAgICB9
CisKKyAgICBERUNMQVJFX0lORk87CisgICAgdXNpbmcgQmFzZSA9IERPTUpJVE5vZGU7CisgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxh
Z3M7CisKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IFR5cGVJbmZvKEpTQzo6SlNUeXBlKExhc3RKU0NPYmplY3RUeXBlICsgMSksIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKKyAgICB9CisKKyAgICBzdGF0aWMgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0KiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICB7CisgICAgICAg
IERPTUpJVEdldHRlckJhc2VKU09iamVjdCogZ2V0dGVyID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0Pih2bS5oZWFwLCBzaXplb2YoRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0KSkpIERPTUpJVEdldHRlckJhc2VKU09iamVjdCh2bSwgc3RydWN0dXJl
KTsKKyAgICAgICAgZ2V0dGVyLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBn
ZXR0ZXI7CisgICAgfQorCisgICAgY2xhc3MgRE9NSklUQXR0cmlidXRlIDogcHVibGljIERPTUpJ
VDo6R2V0dGVyU2V0dGVyIHsKKyAgICBwdWJsaWM6CisgICAgICAgIGNvbnN0ZXhwciBET01KSVRB
dHRyaWJ1dGUoKQorICAgICAgICAgICAgOiBET01KSVQ6OkdldHRlclNldHRlcigKKyAgICAgICAg
ICAgICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmN1c3RvbUdldHRlciwKKyNpZiBFTkFC
TEUoSklUKQorICAgICAgICAgICAgICAgICZjYWxsRE9NR2V0dGVyLAorI2Vsc2UKKyAgICAgICAg
ICAgICAgICBudWxscHRyLAorI2VuZGlmCisgICAgICAgICAgICAgICAgU3BlY0J5dGVjb2RlVG9w
KQorICAgICAgICB7CisgICAgICAgIH0KKworI2lmIEVOQUJMRShKSVQpCisgICAgICAgIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIHNsb3dDYWxsKEV4ZWNTdGF0ZSogZXhlYywg
dm9pZCogcG9pbnRlcikKKyAgICAgICAgeworICAgICAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKKyAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsK
KyAgICAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+KHBv
aW50ZXIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShvYmplY3QtPmdldFBy
b3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBSZWY8RE9NSklU
OjpDYWxsRE9NR2V0dGVyU25pcHBldD4gY2FsbERPTUdldHRlcigpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBzbmlwcGV0ID0gRE9NSklU
OjpDYWxsRE9NR2V0dGVyU25pcHBldDo6Y3JlYXRlKCk7CisgICAgICAgICAgICBzbmlwcGV0LT5y
ZXF1aXJlR2xvYmFsT2JqZWN0ID0gZmFsc2U7CisgICAgICAgICAgICBzbmlwcGV0LT5zZXRHZW5l
cmF0b3IoWz1dKENDYWxsSGVscGVycyYgaml0LCBTbmlwcGV0UGFyYW1zJiBwYXJhbXMpIHsKKyAg
ICAgICAgICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRzID0gcGFyYW1zWzBdLmpzVmFsdWVSZWdz
KCk7CisgICAgICAgICAgICAgICAgR1BSUmVnIGRvbSA9IHBhcmFtc1sxXS5ncHIoKTsKKyAgICAg
ICAgICAgICAgICBwYXJhbXMuYWRkU2xvd1BhdGhDYWxsKGppdC5qdW1wKCksIGppdCwgc2xvd0Nh
bGwsIHJlc3VsdHMsIGRvbSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIENDYWxsSGVscGVyczo6
SnVtcExpc3QoKTsKKworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gc25pcHBl
dDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgfTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJik7CisKKyAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3VzdG9tR2V0dGVy
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
CisgICAgeworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICBKU09iamVjdCog
dGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVCh0aGlzT2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3Qo
KSk7CisgICAgfQorfTsKKworc3RhdGljIGNvbnN0IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6
RE9NSklUQXR0cmlidXRlIERPTUpJVEdldHRlckJhc2VKU09iamVjdERPTUpJVDsKKwordm9pZCBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgY29uc3QgRE9NSklUOjpHZXR0ZXJTZXR0ZXIq
IGRvbUpJVCA9ICZET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisgICAgYXV0byogY3Vz
dG9tR2V0dGVyU2V0dGVyID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGRv
bUpJVC0+Z2V0dGVyKCksIG51bGxwdHIsIERPTUF0dHJpYnV0ZUFubm90YXRpb24geyBKU09iamVj
dDo6aW5mbygpLCBkb21KSVQgfSk7CisgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiY3VzdG9tR2V0dGVyIiksIGN1c3RvbUdldHRlclNl
dHRlciwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkN1
c3RvbUFjY2Vzc29yKTsKK30KKwogY29uc3QgQ2xhc3NJbmZvIEVsZW1lbnQ6OnNfaW5mbyA9IHsg
IkVsZW1lbnQiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEVsZW1lbnQpIH07CiBjb25zdCBDbGFzc0luZm8gTWFzcXVlcmFkZXI6OnNfaW5mbyA9
IHsgIk1hc3F1ZXJhZGVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShNYXNxdWVyYWRlcikgfTsKIGNvbnN0IENsYXNzSW5mbyBSb290OjpzX2lu
Zm8gPSB7ICJSb290IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01F
VEhPRF9UQUJMRShSb290KSB9OwpAQCAtOTY1LDYgKzEwNDksNyBAQCBjb25zdCBDbGFzc0luZm8g
RE9NSklUTm9kZTo6c19pbmZvID0geyAiCiAjZW5kaWYKIGNvbnN0IENsYXNzSW5mbyBET01KSVRH
ZXR0ZXI6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyKSB9OwogY29uc3QgQ2xh
c3NJbmZvIERPTUpJVEdldHRlckNvbXBsZXg6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckNvbXBs
ZXgiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KERPTUpJVEdldHRlckNvbXBsZXgpIH07Citjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQmFz
ZUpTT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCAmQmFzZTo6
c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRl
ckJhc2VKU09iamVjdCkgfTsKICNpZiBFTkFCTEUoSklUKQogY29uc3QgQ2xhc3NJbmZvIERPTUpJ
VEZ1bmN0aW9uT2JqZWN0OjpzX2luZm8gPSB7ICJET01KSVRGdW5jdGlvbk9iamVjdCIsICZCYXNl
OjpzX2luZm8sIG51bGxwdHIsICZET01KSVRGdW5jdGlvbk9iamVjdDo6Y2hlY2tTdWJDbGFzc1Nu
aXBwZXQsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklURnVuY3Rpb25PYmplY3QpIH07CiAjZWxz
ZQpAQCAtMTA1Nyw2ICsxMTQyLDg0IEBAIHByaXZhdGU6CiAgICAgRGVxdWU8U3RyaW5nPiBtX3Jl
cG9ydHM7CiB9OwogCitjbGFzcyBKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIgOiBwdWJsaWMgSlNO
b25GaW5hbE9iamVjdCB7CitwdWJsaWM6CisgICAgdXNpbmcgQmFzZSA9IEpTTm9uRmluYWxPYmpl
Y3Q7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3Ry
dWN0dXJlRmxhZ3M7CisKKyAgICBKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUpCisgICAgeyB9
CisKKyAgICBzdGF0aWMgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKiBjcmVhdGUoVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgSlNU
ZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKiByZXN1bHQgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI+KHZtLmhlYXAsIHNpemVvZihKU1Rlc3RDdXN0b21H
ZXR0ZXJTZXR0ZXIpKSkgSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyKHZtLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICByZXN1bHQtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSk7CisKKyAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIFR5cGVJbmZvKE9i
amVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisKKyAgICBERUNMQVJF
X0lORk87Cit9OworCisKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjdXN0b21HZXRBY2Nlc3NvcihF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK3sKKyAg
ICAvLyBQYXNzZWQgfHRoaXN8CisgICAgcmV0dXJuIHRoaXNWYWx1ZTsKK30KKworc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIGN1c3RvbUdldFZhbHVlKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgc2xvdFZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoSlNWYWx1
ZTo6ZGVjb2RlKHNsb3RWYWx1ZSkuaW5oZXJpdHMoZXhlYy0+dm0oKSwgSlNUZXN0Q3VzdG9tR2V0
dGVyU2V0dGVyOjppbmZvKCkpKTsKKyAgICAvLyBQYXNzZWQgcHJvcGVydHkgaG9sZGVyLgorICAg
IHJldHVybiBzbG90VmFsdWU7Cit9CisKK3N0YXRpYyBib29sIGN1c3RvbVNldEFjY2Vzc29yKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgdGhpc09iamVjdCwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisKKyAgICBKU1ZhbHVl
IHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CisgICAgUkVMRUFTRV9BU1NF
UlQodmFsdWUuaXNPYmplY3QoKSk7CisgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHZh
bHVlKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChvYmplY3QpOworICAgIG9iamVjdC0+cHV0
KG9iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJyZXN1bHQiKSwgSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNPYmplY3QpLCBzbG90KTsKKworICAgIHJldHVybiB0cnVlOworfQor
CitzdGF0aWMgYm9vbCBjdXN0b21TZXRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIHNsb3RWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CisKKyAgICBSRUxFQVNFX0FTU0VSVChKU1ZhbHVlOjpkZWNvZGUoc2xv
dFZhbHVlKS5pbmhlcml0cyhleGVjLT52bSgpLCBKU1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXI6Omlu
Zm8oKSkpOworCisgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFs
dWUpOworICAgIFJFTEVBU0VfQVNTRVJUKHZhbHVlLmlzT2JqZWN0KCkpOworICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qob2Jq
ZWN0KTsKKyAgICBvYmplY3QtPnB1dChvYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb21TdHJp
bmcoJnZtLCAicmVzdWx0IiksIEpTVmFsdWU6OmRlY29kZShzbG90VmFsdWUpLCBzbG90KTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIEpTVGVzdEN1c3RvbUdldHRlclNldHRlcjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBJ
ZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbVZhbHVlIiksCisgICAgICAgIEN1c3Rv
bUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBjdXN0b21HZXRWYWx1ZSwgY3VzdG9tU2V0VmFsdWUp
LCAwKTsKKyAgICBwdXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0
cmluZygmdm0sICJjdXN0b21BY2Nlc3NvciIpLAorICAgICAgICBDdXN0b21HZXR0ZXJTZXR0ZXI6
OmNyZWF0ZSh2bSwgY3VzdG9tR2V0QWNjZXNzb3IsIGN1c3RvbVNldEFjY2Vzc29yKSwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvcikpOworfQor
Citjb25zdCBDbGFzc0luZm8gSlNUZXN0Q3VzdG9tR2V0dGVyU2V0dGVyOjpzX2luZm8gPSB7ICJK
U1Rlc3RDdXN0b21HZXR0ZXJTZXR0ZXIiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRy
LCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdEN1c3RvbUdldHRlclNldHRlcikgfTsKKwogc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVQcm94eShFeGVj
U3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3Jl
YXRlUnVudGltZUFycmF5KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVJbXB1cmVHZXR0ZXIoRXhlY1N0YXRlKik7CkBAIC0xMDY2
LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdl
dHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSop
Owogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01K
SVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhl
Y1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNy
ZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUo
RXhlY1N0YXRlKik7CkBAIC0xMTc3LDYgKzEzNDEsOCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBm
dW5jdGlvbldhaXRGb3JSZXBvcnQoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYXBDYXBhY2l0eShFeGVjU3RhdGUqKTsKIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uRmxhc2hIZWFwQWNjZXNzKEV4ZWNT
dGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Mb2Fk
R2V0dGVyRnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlcihFeGVj
U3RhdGUqKTsKIAogc3RydWN0IFNjcmlwdCB7CiAgICAgZW51bSBjbGFzcyBTdHJpY3RNb2RlIHsK
QEAgLTEzODIsNiArMTU0OCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgYWRkRnVuY3Rpb24odm0s
ICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRH
ZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVE
T01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3Qs
IDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NP
YmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QsIDApOworICAg
ICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCIsIGZ1
bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVu
Y3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVuY3Rpb25DcmVhdGVCdWlsdGluLCAyKTsKICAg
ICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVHbG9iYWxPYmplY3QiLCBmdW5jdGlvbkNyZWF0
ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAic2V0SW1wdXJlR2V0
dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlLCAyKTsKQEAgLTE0
NjYsNiArMTYzMyw5IEBAIHByb3RlY3RlZDoKIAogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImhl
YXBDYXBhY2l0eSIsIGZ1bmN0aW9uSGVhcENhcGFjaXR5LCAwKTsKICAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJmbGFzaEhlYXBBY2Nlc3MiLCBmdW5jdGlvbkZsYXNoSGVhcEFjY2VzcywgMCk7CisK
KyAgICAgICAgYWRkRnVuY3Rpb24odm0sICJsb2FkR2V0dGVyRnJvbUdldHRlclNldHRlciIsIGZ1
bmN0aW9uTG9hZEdldHRlckZyb21HZXR0ZXJTZXR0ZXIsIDEpOworICAgICAgICBhZGRGdW5jdGlv
bih2bSwgImNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIiLCBmdW5jdGlvbkNyZWF0ZUN1c3Rv
bVRlc3RHZXR0ZXJTZXR0ZXIsIDEpOwogICAgIH0KICAgICAKICAgICB2b2lkIGFkZEZ1bmN0aW9u
KFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCwgY29uc3QgY2hhciogbmFtZSwgTmF0aXZlRnVuY3Rp
b24gZnVuY3Rpb24sIHVuc2lnbmVkIGFyZ3VtZW50cykKQEAgLTIxMTUsNiArMjI4NSwxNiBAQCBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlCiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sK
KyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKyAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRl
U3RydWN0dXJlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGpzTnVsbCgpKTsKKyAg
ICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIHJlc3VsdCA9IERPTUpJVEdldHRlckJhc2VKU09i
amVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
cmVzdWx0KTsKK30KKworCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0
SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CkBAIC0yODMyLDYgKzMwMTIsMjQgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBmdW5jdGlvbkZsYQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Mb2FkR2V0dGVy
RnJvbUdldHRlclNldHRlcihFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKKyAgICBSRUxFQVNFX0FTU0VSVChleGVjLT5hcmd1bWVudENvdW50KCkgPj0gMSk7Cisg
ICAgR2V0dGVyU2V0dGVyKiBnZXR0ZXJTZXR0ZXIgPSBqc0R5bmFtaWNDYXN0PEdldHRlclNldHRl
cio+KHZtLCBleGVjLT5hcmd1bWVudCgwKSk7CisgICAgUkVMRUFTRV9BU1NFUlQoZ2V0dGVyU2V0
dGVyKTsKKyAgICBKU09iamVjdCogZ2V0dGVyID0gZ2V0dGVyU2V0dGVyLT5nZXR0ZXIoKTsKKyAg
ICBSRUxFQVNFX0FTU0VSVChnZXR0ZXIpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZ2V0
dGVyKTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUN1
c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdEN1c3Rv
bUdldHRlclNldHRlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIEpTVGVzdEN1c3RvbUdldHRl
clNldHRlcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmplY3QpKSk7Cit9CisKIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPCFzdGQ6Omlz
X2Z1bmRhbWVudGFsPFZhbHVlVHlwZT46OnZhbHVlPjo6dHlwZSBhZGRPcHRpb24oVk0mLCBKU09i
amVjdCosIElkZW50aWZpZXIsIFZhbHVlVHlwZSkgeyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtMTA1OSw2ICsxMDU5LDcgQEAKIAkJNzkxOUI3ODAxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29t
cGlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkx
OUI3N0YxRTAzNTU5QzAwNUJFRUQ4IC8qIEIzQ29tcGlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MjMzQzJCMUQzNDcxNTcwMEM1QTgzNCAv
KiBKSVRNYXRoSUMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc5MjMzQzI5MUQzNDcxNTcwMEM1QTgzNCAvKiBKSVRNYXRoSUMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTJDQjM0QTFDNEVFRDVDMDBE
MTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5MkNCMzQ4MUM0RUVENUMwMEQxM0FGMyAvKiBQQ1RvQ29kZU9y
aWdpbk1hcC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTc5NDU3NUNFMUY3MzQ5NzYwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk0NTc1Q0QxRjcz
NDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NDY1NkExQjk1MkZGMDAwMzA1OUVF
IC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk2NUMyMTcxRTVENzk5
NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY1QzIxNTFFNUQ3OTk2
MDBCNzU5MUQgLyogQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTZEQUEyQjFFODlD
Q0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzk2REFBMkExRTg5Q0NENjAwNURGMjRBIC8qIENhbGxlZUJpdHMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzQ5
OCw2ICszNDk5LDggQEAKIAkJNzkyMzNDMjkxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRNYXRoSUMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDcxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2Rl
T3JpZ2luTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBDVG9D
b2RlT3JpZ2luTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzkyQ0IzNDgx
QzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBDVG9Db2RlT3JpZ2luTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTc5NDU3NUNDMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFp
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5NDU3NUNEMUY3MzQ5NzIwMEJBNDYwMyAvKiBQcm90
b3R5cGVBY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm90b3R5cGVBY2Nlc3NDaGFpbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTVGMDk5QzFFMDM2MDA1MDBCQkUzN0Yg
LyogQjNDb21waWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEIz
Q29tcGlsZS5jcHA7IHBhdGggPSBiMy9CM0NvbXBpbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5NjVDMjE0MUU1RDc5OTYwMEI3NTkxRCAvKiBBaXJBbGxvY2F0ZVJl
Z2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBBaXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHBhdGggPSBi
My9haXIvQWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzM2NSw2ICs3MzY4LDggQEAKIAkJCQkxNEFEOTEwQTFEQ0E5
Mjk0MDAxNEY5RkUgLyogUHJvZ3JhbUNvZGVCbG9jay5oICovLAogCQkJCTBGRDNFNDA3MUI2MThC
NjYwMEM4MEUxRSAvKiBQcm9wZXJ0eUNvbmRpdGlvbi5jcHAgKi8sCiAJCQkJMEZEM0U0MDgxQjYx
OEI2NjAwQzgwRTFFIC8qIFByb3BlcnR5Q29uZGl0aW9uLmggKi8sCisJCQkJNzk0NTc1Q0MxRjcz
NDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLywKKwkJCQk3OTQ1NzVD
RDFGNzM0OTcyMDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLywKIAkJCQkwRjE1
Q0QyMDFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmNwcCAqLywKIAkJCQkwRjE1Q0Qy
MTFCQTVGOTg2MDAzMUZGRDMgLyogUHV0QnlJZEZsYWdzLmggKi8sCiAJCQkJMEY5MzMyOTkxNENB
N0RDMTAwODVGM0M2IC8qIFB1dEJ5SWRTdGF0dXMuY3BwICovLApAQCAtODU1NCw2ICs4NTU5LDcg
QEAKIAkJCQlBMUI5RTIzRTFCNEUwRDY3MDBCQzdGRUQgLyogSW50bENvbGxhdG9yUHJvdG90eXBl
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTgxOTNFNDFCNEUwQ0RCMDBGQzEwMjkgLyogSW50bENv
bGxhdG9yUHJvdG90eXBlLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENkUxQjREQzE0
MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzk0
NTc1Q0UxRjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBMTU4N0Q3MDFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0
Q29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNTg3RDc1MUI0REMxQzYwMEQ2OTg0
OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExNTg3RDcyMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5
cGUuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5z
L0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AKICN1
bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBTeW1ib2xJbXBsOjpTdGF0
aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC4kdm0iLCBT
eW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbEltcGw6OlN0YXRpY1N5bWJvbElt
cGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC5fX3Byb3RvX18i
LCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAvLyBuYW1lc3BhY2UgU3ltYm9s
cwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRp
bnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNiw2
ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9QCiAjdW5k
ZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0ZXJuIFN5bWJvbEltcGw6OlN0
YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4dGVybiBTeW1ib2xJbXBsOjpT
dGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogfQogCiAjZGVmaW5l
IElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFtZSkgbV9wcml2YXRlVG9QdWJs
aWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCksICZtXyMjbmFtZSk7CkBAIC0y
MzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JVSUxUSU5fU1lNQk9MUykK
ICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiJHZt
IikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQo
dm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2YXRlTmFt
ZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6
ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjp1bmRlcnNjb3Jl
UHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9G
VU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAgICAgICAg
IEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElB
TElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2ICsyNDAsOCBAQCBwdWJsaWM6
CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05f
U1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKQogICAgICAg
ICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVByaXZhdGVOYW1lLmltcGwoKSwg
Jm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKG1fZG9s
bGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFtZSk7CisgICAgICAgIG1fcHJp
dmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lLmltcGwoKSwg
JmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOworICAgICAgICBtX3B1YmxpY1Rv
UHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90by5pbXBsKCks
ICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9CiAKICAgICBjb25zdCBJZGVu
dGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7CkBAIC0y
NTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1Ip
CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1YmxpY05hbWUoKSBjb25zdCB7
IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9s
bGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsg
fQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUo
KSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOyB9CiAKIHByaXZh
dGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKQEAgLTI1OCw2ICsyNjMsNyBA
QCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExf
S05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQogICAgIGNvbnN0IEpTQzo6SWRl
bnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xs
YXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX3VuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmlu
Z0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJlcEhhc2g+IEJ1aWx0aW5OYW1l
c01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1ByaXZhdGVNYXA7CiAgICAgQnVp
bHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNlIEFjY2Vzc0Nhc2VJbnRlcm5hbCB7CiBz
dGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUFjY2Vzc0Nhc2U6OkFjY2Vz
c0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQp
CisgICAgLCBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hh
aW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVy
ZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CiB9CiAKLXN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFj
Y2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgSW5IaXQ6CiAgICAg
Y2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAg
Y2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJlY3RBcmd1bWVudHNMZW5ndGg6CiAgICAg
Y2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBNb2R1bGVOYW1lc3BhY2VMb2Fk
OgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXByb3RvdHlwZUFj
Y2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7
CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLCBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hh
aW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3RydWN0dXJlID09IG5ld1N0cnVjdHVyZS0+
cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAg
IHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93
bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7Cisg
ICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwg
b3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3ND
YXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vz
c0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiByZXN1bHQ7CiAKICAgICBp
ZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBv
aW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNo
cG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0
Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluICYmIG1fcHJvdG90
eXBlQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkpCiAgICAgICAg
IHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2ludFNldEZvckltcHVyZVByb3BlcnR5KGlk
ZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgpKQpAQCAtMTUxLDYgKzE1NSw5IEBAIGJv
b2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sKICAgICBpZiAodmlhUHJveHko
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAg
Y2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIxMCw2ICsyMTcs
MTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogICAgICAgICBy
ZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVs
ZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBkZWZhdWx0OgorICAgICAgICBpZiAob3Ro
ZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgaWYgKCFvdGhlci5t
X3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hlY2sgd2UgbmVlZCBzaW5jZSBQcm90b3R5
cGVBY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICAv
LyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWluIG9ubHkgdGhlIHByb3RvdHlwZSBjaGFp
biwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAgICAgICAgICAgLy8gdGhpcyB0byBjaGVj
ayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCkgPT0g
b3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAgICAmJiAqbV9wcm90b3R5cGVBY2Nlc3ND
aGFpbiA9PSAqb3RoZXIubV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICAgICAgfQorCiAgICAg
ICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAhb3RoZXIuZ3VhcmRlZEJ5U3Ry
dWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjE5LDIyICsy
MzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogCiB2b2lk
IEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBvdXQucHJp
bnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwgbV90eXBlLCAiOigiKTsKIAog
ICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmludChjb21tYSwgbV9zdGF0ZSk7
CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAgICAgIG91dC5wcmludChjb21t
YSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2lu
dGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQotICAg
ICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVj
dHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQobV9vZmZzZXQpKQogICAgICAg
ICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNldCk7CiAgICAgaWYgKCFtX2Nv
bmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgImNvbmRpdGlv
bnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNoYWluID0g
Iik7CisgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmR1bXAoc3RydWN0dXJlKCksIG91
dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAg
ICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3Ry
dWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAg
IGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3Ry
dWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAg
ICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2
ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewog
ICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4p
IHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcHJvdG90eXBlQWNjZXNz
Q2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0
dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAg
ICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDQsMTEgQEAgYm9vbCBB
Y2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkK
ICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAor
ICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgOiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5jaGFpbigpKQorICAgICAgICAg
ICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAgfQorCiAg
ICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAgIGlmIChI
ZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAg
LTM3MiwyNiArNDA4LDY0IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAg
ICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewotICAgICAg
ICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAot
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5
cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQubG9hZFB0
cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkp
LCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAg
ICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRk
cmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3ND
aGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFIgPSBzdGF0ZS5zY3Jh
dGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFzZUdQUiwgYmFzZUZvckFjY2Vz
c0dQUik7CisgICAgICAgICAgICBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluLT5mb3JFYWNoKHN0cnVj
dHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIGF0RW5kKSB7CisgICAgICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJh
bmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNl
Rm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgaWYgKGF0RW5kKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09IE1pc3MgfHwgbV90eXBlID09IEluTWlz
cyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90
eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBhIE1pc3MvSW5NaXNzL1Ry
YW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBlbmQgd2hlbiB0aGUgbGFzdCBp
dGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmFuc2l0aW9u
cyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVyaWZ5IHRoZXJlIGlzbid0IGEg
c2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1pc3MvSW5N
aXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNuJ3QgYSBuZXcgaXRlbSBhdCB0
aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYXMg
dGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFz
ZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBm
YWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGJh
c2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90
eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChw
cm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlz
T2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdl
IHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAgICAgICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zm
c2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIs
IG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxI
ZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
NjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAgICAgICAgICAg
ICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZz
ZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICBp
ZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAg
ICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndh
cmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNo
R1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwMiw4IEBAIHZvaWQgQWNjZXNzQ2Fz
ZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQobV9jb25kaXRpb25TZXQuc3Ry
dWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSk7
CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBjb25kaXRpb24gOiBt
X2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9wcm90b3R5cGVBY2Nl
c3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25kaXRpb24ub2Jq
ZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25kaXRpb24uaXNXYXRjaGFibGVB
c3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC01MDQsMTMgKzU4MCwyMyBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgICAgICBi
YXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQ
UjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAg
IGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihh
bHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOworICAgICAgICBp
ZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy9kYXRhTG9nTG4oIkdl
bmVyYXRpbmcgcHJvdG90eXBlIGFjY2VzcyBjaGFpbjoiKTsKKyAgICAgICAgICAgIC8vZGF0YUxv
Z0xuKCp0aGlzKTsKKyAgICAgICAgICAgIC8vZGF0YUxvZ0xuKCItLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIik7CisKKyAgICAgICAgICAgIC8vIFRoaXMgaXNuJ3QgcHJldHR5LCBi
dXQgd2Uga25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJhdGVXaXRoR3VhcmQsCisgICAgICAgICAg
ICAvLyBhbmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2VzcyBpbnNpZGUgc2NyYXRjaEdQUi4gV2Ug
Y291bGQgcmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAgICAgICAgLy8gYnV0IGl0J2QgcmVxdWly
ZSBlbWl0dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQgdGhlIGJhc2UgdHdpY2UuCiAgICAgICAg
ICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKLSAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKSB7CisgICAgICAg
ICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3JhdGNoR1BSKTsKKyAgICAgICAgICAgICAg
ICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIH0gZWxzZQorICAg
ICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICB9
CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BSID0gSW52YWxpZEdQUlJlZzsKICAgICAg
ICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNj
ZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZhbHVlU2V0dGVyICYmIG1fdHlwZSAhPSBD
dXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3ICsxMTAyLDcgQEAgdm9pZCBBY2Nlc3ND
YXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAgICAgICAKICAgICBjYXNlIEludHJpbnNp
Y0dldHRlcjogewogICAgICAgICBSRUxFQVNFX0FTU0VSVChpc1ZhbGlkT2Zmc2V0KG9mZnNldCgp
KSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBnZXR0ZXIg
dmFsdWUgZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVzLiBOb3RlIHRoYXQgR2V0dGVyU2V0dGVy
cwogICAgICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdlIGp1c3QgbmVlZCB0byB3YXRjaCB0aGUg
cHJvcGVydHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQuCiAgICAgICAgIFN0cnVjdHVyZSogY3Vy
clN0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3ND
YXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vz
c0Nhc2UuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNsdWRlICJPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldC5oIgorI2luY2x1ZGUgIlByb3RvdHlwZUFjY2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8
d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTEyMCwxMSArMTIxLDEx
IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
ID0gaW52YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkp
OworICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgLy8gVGhpcyBjcmVhdGUg
bWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0aW9ucy4KICAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwKLSAgICAgICAgU3RydWN0dXJlKiBuZXdT
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
ZnJvbVN0cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxsKiBvd25lciwgU3RydWN0dXJlU3R1Yklu
Zm8mKTsKIApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nl
c3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJvdG8oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuICEhbV9wcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAgICB9CisKIHByb3RlY3RlZDoK
LSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0g
ICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nh
c2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nlc3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBk
ZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYgb3RoZXIpCisgICAgICAg
IDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAgLCBtX3N0YXRlKG90aGVyLm1fc3RhdGUp
CisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZzZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1
cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwgbV9jb25kaXRpb25TZXQob3RoZXIubV9j
b25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAob3RoZXIubV9wcm90b3R5cGVBY2Nlc3ND
aGFpbikKKyAgICAgICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBvdGhlci5tX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0KKwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJh
dG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkg
eyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0yMjcsNiArMjQ0LDggQEAgcHJpdmF0ZToK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKIAogICAgIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0OworCisgICAgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBtX3Byb3RvdHlwZUFjY2Vzc0NoYWluOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5Myw3ICs1OTMsNyBA
QCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICBp
bnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29wTGVuZ3RoIC0gMl0udS5vcGVyYW5kOwog
CiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9wTGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0
aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxp
emVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1fZ2xvYmFsT2JqZWN0LmdldCgpLCB0aGlz
LCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCksIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHJldmlzaW9uIDIyMjY2
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBAIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0
YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9
IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1
ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1
cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2Uu
Y3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0Miwx
NyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZUludGVybmFsCiBzdGF0aWMgY29u
c3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdldHRlclNldHRlckFjY2Vzc0Nhc2U6Okdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkKK0dldHRlclNldHRlckFjY2Vz
c0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJv
b2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5
cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAgbV9jdXN0b21TbG90QmFzZS5zZXRNYXlC
ZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmpl
Y3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+
IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlw
ZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwKKyAgICBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
YyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwKKyAgICBzdGQ6Om9wdGlv
bmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRy
PFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAgLTYzLDE4ICs2MywxOCBAQCBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQs
IGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICBy
ZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0
b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVz
dWx0KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vz
c0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwKLSAgICBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWlu
PiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3Vz
dG9tU2V0dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKIHsKICAgICBBU1NFUlQo
dHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21WYWx1ZVNldHRlciB8fCB0eXBlID09IEN1
c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3Rv
bVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+
IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNl
dCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFz
ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fY3VzdG9t
QWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3Vs
dCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAgICAgVk0mLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwKLSAgICAgICAgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwK
LSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAotICAgICAgICBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRy
LAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+ID0gc3RkOjpu
dWxsb3B0KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlv
bmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3Jl
YXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgU3RydWN0dXJlKiwgUHJvcGVydHlP
ZmZzZXQsCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCogY3Vz
dG9tU2xvdEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+LAorICAgICAg
ICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsIEpTT2JqZWN0KiBjdXN0
b21TbG90QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYs
IENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNjcsNyArNjMsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUFjY2Vz
c29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
LCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpOworICAgIEdldHRlclNl
dHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwg
U3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJh
c2UsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwogCiAgICAgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlv
blByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlv
blByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOCArNDYsMTEgQEAgcHJpdmF0ZToKIGlu
bGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRl
QWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgU3RydWN0dXJlKiBi
YXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUu
Z2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpKTsKKyAgICBB
U1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOwogCiAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90
b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4gdHlwZXM6CisgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIGlmIChwcm90b3R5cGUg
PT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpCiAgICAgICAgIHN0cnVjdHVyZSA9
IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAko
cmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBA
CiBuYW1lc3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6SW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiBjb25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKQotICAgIDog
QmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpCiB7CiAgICAgbV9pbnRyaW5zaWNGdW5j
dGlvbi5zZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5jdGlvbik7CiB9CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJB
Y2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQy
LDYgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNhbkVtaXRJbnRyaW5zaWNHZXR0
ZXIoSlNGdW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgZW1pdEludHJpbnNpY0dldHRl
cihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAgIC8vIEZJWE1FOiBNYWtlIHRoaXMgd29y
ayB3aXRoIHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
Y3JlYXRlKFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24p
OwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJp
ZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBN
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QqIG1vZHVsZU5hbWVzcGFj
ZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52aXJvbm1lbnQsIFNjb3BlT2Zm
c2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIE1vZHVsZU5hbWVzcGFjZUxv
YWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkp
CisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNl
dCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgbnVsbHB0cikKICAgICAs
IG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9tb2R1bGVOYW1lc3BhY2VPYmpl
Y3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0KTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oIgor
CisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgi
CisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjppbml0
aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2Vs
bCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAgIEFTU0VSVCghbV9hbGxvY2F0
b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFTU0VSVCghbV9pbmxpbmVDYXBh
Y2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5IHByb3RvLCB3ZSBzaG91bGQg
bWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3JlYXRlX3RoaXMnIGZhc3QgcGF0
aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4KKyAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgYm9vbCBpc1BvbHlQcm90
byA9IGZhbHNlOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IG51bGxwdHI7
CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIGV4ZWN1dGFibGUgPSBjb25zdHJ1Y3Rv
ci0+anNFeGVjdXRhYmxlKCk7CisKKyAgICAgICAgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAg
ICAgaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAgICBpc1BvbHlQcm90
byA9IHRydWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gZXhlY3V0
YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpLmhhc0JlZW5JbnZhbGlkYXRlZCgpICYm
IGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOzsK
KworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpKSB7Cisg
ICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUo
KSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gbnVs
bHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1
cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGlu
ZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisKKyAgICAgICAgLy9JbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yID0g
cHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0pLT5lbnN1cmVSYXJlRGF0YSh2bSktPmVuc3VyZUluZmVy
cmVkQ29uc3RydWN0b3Iodm0pOworICAgICAgICAvL2Jvb2wgcGFyZW50UHJvdG90eXBlSXNQb2x5
UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgLy9pZiAoSlNPYmplY3QqIHByb3RvdHlwZU9mUHJvdG90
eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBwcm90b3R5cGUtPmdldFByb3RvdHlw
ZURpcmVjdCgpKSkgeworICAgICAgICAvLyAgICBpZiAocHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0
cnVjdHVyZSh2bSktPmhhc1JhcmVEYXRhKCkpIHsKKyAgICAgICAgLy8gICAgICAgIFN0cnVjdHVy
ZVJhcmVEYXRhKiByYXJlRGF0YSA9IHByb3RvdHlwZU9mUHJvdG90eXBlLT5zdHJ1Y3R1cmUodm0p
LT5yYXJlRGF0YSgpOworICAgICAgICAvLyAgICAgICAgcGFyZW50UHJvdG90eXBlSXNQb2x5UHJv
dG8gPSByYXJlRGF0YS0+aW5mZXJyZWRDb25zdHJ1Y3RvcigpICYmIHJhcmVEYXRhLT5pbmZlcnJl
ZENvbnN0cnVjdG9yKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICAvLyAgICB9Cisg
ICAgICAgIC8vfQorCisgICAgICAgIC8vaW5mZXJyZWRDb25zdHJ1Y3Rvci0+bm90aWZ5V3JpdGUo
dm0sIGNvbnN0cnVjdG9yLCAiU2V0dGluZyBpbmZlcnJlZCBjb25zdHJ1Y3RvciBpbiBPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZSIpOworCisgICAgICAgIC8vaXNQb2x5UHJvdG8gPSAoaW5mZXJyZWRD
b25zdHJ1Y3Rvci0+aGFzQmVlbkludmFsaWRhdGVkKCkgfHwgcGFyZW50UHJvdG90eXBlSXNQb2x5
UHJvdG8pICYmIGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlk
YXRlZCgpOworICAgICAgICAvL2lmIChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAgICAg
ICAvLyAgICBpc1BvbHlQcm90byA9IHRydWU7CisKKyAgICAgICAgLy9pZiAoaXNQb2x5UHJvdG8p
IHsKKyAgICAgICAgLy8gICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZXhlY3V0YWJsZS0+
Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgLy8gICAgICAgIFJFTEVBU0Vf
QVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBlKTsK
KyAgICAgICAgLy8gICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgLy8gICAg
ICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAgIC8vICAg
ICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAg
ICAgICAvLyAgICAgICAgcmV0dXJuOworICAgICAgICAvLyAgICB9CisgICAgICAgIC8vfQorICAg
IH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7
CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5h
bHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0
UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5s
aW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNv
IG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAg
IC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdp
dGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNl
IGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGlu
ZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2Vh
ayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAg
ICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Cisg
ICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNp
dHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElu
bGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJn
ZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAg
ICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1p
bihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Cisg
ICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGlu
ZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworCisgICAg
c2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5s
aW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNw
YWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFn
ZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgor
ICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5j
ZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3du
Pik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVD
YXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAg
ICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Cisg
ICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAg
ICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgbV9h
bGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICBleGVjdXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJv
dG9TdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGV4
ZWN1dGFibGUpIHsKKyAgICAgICAgICAgIGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dhdGNo
cG9pbnQoKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZW5zdXJlUmFyZURhdGEodm0pLT5zZXRT
aGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KGV4ZWN1dGFibGUtPnNoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKSk7CisgICAgICAgIH0KKworICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsK
KyAgICB9CisKKyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBz
dHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3Jl
U3RvcmVGZW5jZSgpOworCisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJl
KTsKKyAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVk
IE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZN
JiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3Rv
dHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4g
MDsKKworICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVy
dHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJp
dmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdl
dFByb3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVy
YXRpb25Nb2RlKCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVj
dG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3Bl
cnR5TmFtZVZlY3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1l
VmVjdG9yLnNpemUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUt
PmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5j
dGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhh
dCBhcmUgbm90IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rp
b24qPih2bSwgdmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3Vu
dDsKKworICAgIH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC00OCw1OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJu
ICFtX3N0cnVjdHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwg
dW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCgh
bV9hbGxvY2F0b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNT
RVJUKCFtX2lubGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSA9IDA7Ci0gICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVj
dDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJp
bmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZl
cnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHBy
b3RvdHlwZSk7Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewot
ICAgICAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5
IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUg
dGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBl
ciBmdW5jdGlvbnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpT
RmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNl
IGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGlu
ZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJl
IHdlYWsgZ3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAg
ICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAg
ICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNh
cGFjaXR5KCk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0
eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChp
bmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAg
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOwotICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7
Ci0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFs
T2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFs
bG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9u
U2l6ZSk7Ci0gICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxp
bmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxs
b2NhdG9yKSB7Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXpl
KCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAg
ICAgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5l
Q2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KTsKLSAgICAgICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90
eXBlTWFwLmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5v
dGhlciB0aHJlYWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBj
cmVhdGVkCi0gICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxv
Y2F0b3IgPSBhbGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0
cnVjdHVyZSk7Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAg
ICB9CisgICAgdm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVk
IGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0
cik7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRv
ciA9IDA7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1
cmUuY2xlYXIoKTsKICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VS
VChpc051bGwoKSk7CkBAIC0xMjYsMjcgKzc0LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogCi0g
ICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0
KiBwcm90b3R5cGUpCi0gICAgewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+
Z2xvYmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICAgICAgc2l6ZV90IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkg
cHJvcGVydHlOYW1lQXJyYXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9s
cywgUHJpdmF0ZVN5bWJvbE1vZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVj
dHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJy
YXksIEVudW1lcmF0aW9uTW9kZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQ
cm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5
LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1Zh
bHVlIHZhbHVlID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3Rvcltp
XSk7Ci0KLSAgICAgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFs
bHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAg
ICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIGNvdW50OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQ
cm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRB
bGxvY2F0b3IqIG1fYWxsb2NhdG9yOyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNp
ZXIgZm9yIGdlbmVyYXRlZCBjb2RlLgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3Ry
dWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbiBnZW5lcmF0ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAg
ICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmICghc3RydWN0
dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
bjo6YWJzZW5jZSgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+
c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogewor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0gT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZt
LCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYyLDE1IEBAIE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgICAgICAgICBkYXRhTG9n
KCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAgICAgIHJldHVybiBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAgICB9CisKKyAgICAgICAg
aWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAvLyBG
SVhNRTogSW50ZWdyYXRlIHRoaXMgd2l0aCBQcm90b3R5cGVBY2Nlc3NDaGFpbjoKKyAgICAgICAg
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAg
ICAgICAgICAgIC8vIE9yIGF0IGxlYXN0IGFsbG93IE9QQyBzZXQgZ2VuZXJhdGlvbiB3aGVuIHRo
ZQorICAgICAgICAgICAgLy8gYmFzZSBpcyBub3QgcG9seSBwcm90bzoKKyAgICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3MjEKKyAgICAgICAg
ICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOworICAgICAg
ICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3RydWN0dXJlLT5wcm90b3R5
cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkBAIC0zNjEsMjQgKzM3NCw2IEBA
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAgfSk7CiB9
CiAKLU9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3Rv
dHlwZVByb3BlcnR5SGl0Q3VzdG9tKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIEpTT2JqZWN0KiBwcm90b3R5cGUs
Ci0gICAgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKLXsKLSAgICByZXR1cm4gZ2VuZXJhdGVDb25k
aXRpb25zKAotICAgICAgICB2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBoZWFkU3Ry
dWN0dXJlLCBwcm90b3R5cGUsCi0gICAgICAgIFsmXSAoVmVjdG9yPE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uPiYgY29uZGl0aW9ucywgSlNPYmplY3QqIG9iamVjdCkgLT4gYm9vbCB7Ci0gICAgICAg
ICAgICBpZiAob2JqZWN0ID09IHByb3RvdHlwZSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIHJlc3VsdCA9Ci0gICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb24odm0sIG93bmVyLCBvYmplY3QsIHVpZCwgUHJvcGVy
dHlDb25kaXRpb246OkFic2VuY2UpOwotICAgICAgICAgICAgaWYgKCFyZXN1bHQpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY29uZGl0aW9ucy5hcHBlbmQocmVz
dWx0KTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9KTsKLX0KLQogT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlRXF1aXZh
bGVuY2VDb25jdXJyZW50bHkoCiAgICAgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIGhlYWRTdHJ1Y3R1cmUsIEpTT2JqZWN0KiBwcm90b3R5cGUsIFVuaXF1
ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaAkocmV2aXNp
b24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2NSw5ICsxNjUsNiBAQCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpCiBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKICAgICBW
TSYsIEpTQ2VsbCogb3duZXIsIEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSogaGVhZFN0cnVjdHVyZSwg
SlNPYmplY3QqIHByb3RvdHlwZSwKICAgICBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKTsKLU9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3Bl
cnR5SGl0Q3VzdG9tKAotICAgIFZNJiwgSlNDZWxsKiBvd25lciwgRXhlY1N0YXRlKiwgU3RydWN0
dXJlKiBoZWFkU3RydWN0dXJlLCBKU09iamVjdCogcHJvdG90eXBlLAotICAgIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpOwogCiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRp
dGlvbnNGb3JQcm90b3R5cGVFcXVpdmFsZW5jZUNvbmN1cnJlbnRseSgKICAgICBWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiBoZWFkU3RydWN0dXJlLCBKU09iamVjdCogcHJvdG90eXBl
LApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgs
NiArMjU4LDI0IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAg
ICBpZiAoY2FzZXNUb0FkZC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0
aW9uUmVzdWx0OjpNYWRlTm9DaGFuZ2VzOwogCisgICAgYm9vbCBzaG91bGRSZXNldCA9IGZhbHNl
OworICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgeworICAgICAgICBmb3Ig
KGF1dG8mIGV4aXN0aW5nQ2FzZSA6IG1fbGlzdCkgeworICAgICAgICAgICAgU3RydWN0dXJlKiBh
ID0gY2FzZVRvQWRkLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGV4
aXN0aW5nQ2FzZS0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91
bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAvLyBPT1BTOiBt
YXliZSB0aGlzIHdpbGwgZGVzdHJveSBvdXJzZWx2ZXMgaWYgd2Ugc3RhcnQgd2F0Y2hpbmcgZm9y
IHRoZXNlPyBJZiBzbywgaGF2ZSBhIHdheSB0byBjb2xsZWN0LCBhbmQgZmlyZQorICAgICAgICAg
ICAgICAgIC8vIHRoZW0gaW4gZGVsYXllZCBmYXNoaW9uLgorICAgICAgICAgICAgICAgIEFTU0VS
VChhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+
cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRSZXNldCB8PSBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOyAvLyBXZSBvbmx5IHJlc2V0IGlmIHRoaXMg
aXMgb3VyIGZpcnN0IHRpbWUgaW52YWxpZGF0aW5nIHRoaXMgd2F0Y2hwb2ludC4KKyAgICAgICAg
ICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFs
aWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5p
dHkuIikpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHNob3Vs
ZFJlc2V0KQorICAgICAgICByZXR1cm4gQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6Q2xlYXJTdHVi
OworCiAgICAgLy8gTm93IGFkZCB0aGluZ3MgdG8gdGhlIG5ldyBsaXN0LiBOb3RlIHRoYXQgYXQg
dGhpcyBwb2ludCwgd2Ugd2lsbCBzdGlsbCBoYXZlIG9sZCBjYXNlcyB0aGF0CiAgICAgLy8gbWF5
IGJlIHJlcGxhY2VkIGJ5IHRoZSBuZXcgb25lcy4gVGhhdCdzIGZpbmUuIFdlIHdpbGwgc29ydCB0
aGF0IG91dCB3aGVuIHdlIHJlZ2VuZXJhdGUuCiAgICAgZm9yIChhdXRvJiBjYXNlVG9BZGQgOiBj
YXNlc1RvQWRkKSB7CkBAIC0zMzksNyArMzU3LDcgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBQ
b2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vzc0ludGVybmFsOjp2ZXJi
b3NlKQogICAgICAgICBkYXRhTG9nKCJSZWdlbmVyYXRlIHdpdGggbV9saXN0OiAiLCBsaXN0RHVt
cChtX2xpc3QpLCAiXG4iKTsKICAgICAKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3RhdGUo
dm0pOworICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSwgY29kZUJsb2NrLT5nbG9i
YWxPYmplY3QoKSk7CiAKICAgICBzdGF0ZS5hY2Nlc3MgPSB0aGlzOwogICAgIHN0YXRlLnN0dWJJ
bmZvID0gJnN0dWJJbmZvOwpAQCAtNTkwLDYgKzYwOCw5IEBAIHZvaWQgcHJpbnRJbnRlcm5hbChQ
cmludFN0cmVhbSYgb3V0LCBBY2MKICAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6Okdl
bmVyYXRlZEZpbmFsQ29kZToKICAgICAgICAgb3V0LnByaW50KCJHZW5lcmF0ZWRGaW5hbENvZGUi
KTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6Q2xl
YXJTdHViOgorICAgICAgICBvdXQucHJpbnQoIkNsZWFyU3R1YiIpOworICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3Mu
aAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Bv
bHltb3JwaGljQWNjZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDggQEAgcHVibGlj
OgogICAgICAgICBHYXZlVXAsCiAgICAgICAgIEJ1ZmZlcmVkLAogICAgICAgICBHZW5lcmF0ZWRO
ZXdDb2RlLAotICAgICAgICBHZW5lcmF0ZWRGaW5hbENvZGUgLy8gR2VuZXJhdGVkIHNvIG11Y2gg
Y29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJhdGUgY29kZSBhZ2Fpbi4KKyAgICAgICAg
R2VuZXJhdGVkRmluYWxDb2RlLCAvLyBHZW5lcmF0ZWQgc28gbXVjaCBjb2RlIHRoYXQgd2UgbmV2
ZXIgd2FudCB0byBnZW5lcmF0ZSBjb2RlIGFnYWluLgorICAgICAgICBDbGVhclN0dWIgLy8gV2Ug
Zm91bmQgb3V0IHNvbWUgZGF0YSB0aGF0IG1ha2VzIHVzIHdhbnQgdG8gc3RhcnQgb3ZlciBmcmVz
aCB3aXRoIHRoaXMgc3R1Yi4gQ3VycmVudGx5LCB0aGlzIGhhcHBlbnMgd2hlbiB3ZSBkZXRlY3Qg
cG9seSBwcm90by4KICAgICB9OwogICAgIAogICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQoKQpA
QCAtOTgsNiArOTksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBidWZmZXJlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fa2luZCA9PSBCdWZmZXJlZDsgfQogICAgIGJvb2wgZ2VuZXJhdGVkTmV3Q29kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fa2luZCA9PSBHZW5lcmF0ZWROZXdDb2RlOyB9CiAgICAgYm9vbCBnZW5l
cmF0ZWRGaW5hbENvZGUoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gR2VuZXJhdGVkRmluYWxD
b2RlOyB9CisgICAgYm9vbCBzaG91bGRDbGVhclN0dWIoKSBjb25zdCB7IHJldHVybiBtX2tpbmQg
PT0gQ2xlYXJTdHViOyB9CiAgICAgCiAgICAgLy8gSWYgd2UgZ2F2ZSB1cCBvbiB0aGlzIGF0dGVt
cHQgdG8gZ2VuZXJhdGUgY29kZSwgb3IgaWYgd2UgZ2VuZXJhdGVkIHRoZSAiZmluYWwiIGNvZGUs
IHRoZW4gd2UKICAgICAvLyBzaG91bGQgZ2l2ZSB1cCBhZnRlciB0aGlzLgpAQCAtMTcxLDE0ICsx
NzMsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgewot
ICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlvblN0
YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBtX3Zt
KHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgICAgICwg
bV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2FsbEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNlKQog
ICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVSZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkKICAg
ICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9CiAg
ICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAgIEND
YWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRv
ciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVkU3Rh
dGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJTdGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNpb24g
MjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDE0ICsxMDcsMzAgQEAgYm9vbCBQcm9wZXJ0
eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgp
KSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRp
dmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZl
IHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3Jh
dGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3Vy
cmVudE9mZnNldCA9IHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAg
aWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52YWxpZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFBy
b3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgICAgICAgICAgZGF0YUxv
ZygiSW52YWxpZCBiZWNhdXNlIHRoZSBwcm9wZXJ0eSBleGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJy
ZW50T2Zmc2V0LCAiXG4iKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkg
IT0gcHJvdG90eXBlKCkpIHsKKworICAgICAgICBKU09iamVjdCogY3VycmVudFByb3RvdHlwZTsK
KyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsK
KyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChiYXNlKTsKKyAgICAg
ICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVj
dHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0gcHJvdG90eXBlKCkpIHsKICAgICAgICAgICAg
IGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKSB7CiAgICAgICAgICAgICAg
ICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgYmVjYXVzZSB0aGUgcHJv
dG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCksICIgZXZlbiB0aG91Z2gg
IgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFs
aWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUu
IFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRo
ZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGlu
ZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBwcm90b3R5cGUoKSkgewogICAgICAgICAgICAg
aWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2UpIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWlu
LmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
dG90eXBlQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJQcm90b3R5cGVBY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVkZSAi
SlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0ZDo6dW5pcXVlX3B0cjxQcm90b3R5
cGVBY2Nlc3NDaGFpbj4gUHJvdG90eXBlQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwg
Ym9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU09iamVjdCogdGFyZ2V0ID0gc2xvdC5pc1Vu
c2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworICAgIHJldHVybiBjcmVhdGUoZ2xv
YmFsT2JqZWN0LCBiYXNlLCB0YXJnZXQsIHVzZXNQb2x5UHJvdG8pOworfQorCitzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBKU09iamVjdCogdGFy
Z2V0LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTQ2VsbCogY3VycmVudCA9IGJhc2U7
CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisK
KyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90
eXBlQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUHJvdG90eXBlQWNjZXNzQ2hhaW4oKSk7CisKKyAg
ICBmb3IgKHVuc2lnbmVkIGl0ZXJhdGlvbk51bWJlciA9IDA7IHRydWU7ICsraXRlcmF0aW9uTnVt
YmVyKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hl
YWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0cnVj
dHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChzdHJ1
Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZs
YXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
ICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBhc09iamVj
dChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBUbyBzYXZlIG1lbW9yeSwgd2Ug
ZG9uJ3QgaW5jbHVkZSB0aGUgYmFzZSBpbiB0aGUgY2hhaW4uIFdlIGxldAorICAgICAgICAvLyBB
Y2Nlc3NDYXNlIHByb3ZpZGUgdGhlIGJhc2UgdG8gdXMgYXMgbmVlZGVkLgorICAgICAgICBpZiAo
aXRlcmF0aW9uTnVtYmVyKQorICAgICAgICAgICAgcmVzdWx0LT5tX2NoYWluLmFwcGVuZChzdHJ1
Y3R1cmUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50
ID09IGJhc2UpOworCisgICAgICAgIGlmIChjdXJyZW50ID09IHRhcmdldCkgeworICAgICAgICAg
ICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAg
ICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIgcHJv
dG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBwcm90byBwcm90b2NvbC4gSWYgdGhlIHNs
b3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisgICAgICAgIC8vIHRoaW5nIGluIHRoZSBj
aGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24gaXQsIHRoZW4gd2UncmUgbm90CisgICAg
ICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQb2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+
aGFzU3RvcmVkUHJvdG90eXBlKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1
Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGN1cnJlbnQpOworICAgICAg
ICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGN1
cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KKworICAgIGlmICghZm91bmQgJiYg
ISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hw
b2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hhaW4p
IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgp
KQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30K
KworYm9vbCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6b3BlcmF0b3I9PShjb25zdCBQcm90b3R5cGVB
Y2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2hhaW4gPT0gb3RoZXIu
bV9jaGFpbjsKK30KKwordm9pZCBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6ZHVtcChTdHJ1Y3R1cmUq
IGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnByaW50
KCJQb2x5UHJvdG90eXBlQWNjZXNzQ2hhaW4iKTsKKyAgICBvdXQucHJpbnQoIjogW1xuIik7Cisg
ICAgZm9yRWFjaChiYXNlU3RydWN0dXJlLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29s
KSB7CisgICAgICAgIG91dC5wcmludCgiXHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91
dCk7CisgICAgICAgIG91dC5wcmludCgiXG4iKTsKKyAgICB9KTsKK30KKworfQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0No
YWluLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b3RvdHlwZUFjY2Vzc0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpT
R2xvYmFsT2JqZWN0OworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFz
cyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFByb3RvdHlwZUFjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm90b3R5cGVBY2Nl
c3NDaGFpbik7CisKK3B1YmxpYzoKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbihQcm90b3R5cGVB
Y2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsKKworICAgIC8vIFJldHVybnMgbnVsbHB0ciB3aGVuIGlu
dmFsaWQuCisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3Qg
UHJvcGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9seVByb3RvKTsKKyAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBjcmVhdGUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBib29sJiB1c2Vz
UG9seVByb3RvKTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
Y2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UHJvdG90eXBl
QWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJl
Kj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFN0
cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAgICBi
b29sIG9wZXJhdG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsK
KyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKwor
ICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0OworCisgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIEZ1bmM+CisgICAgdm9pZCBmb3JFYWNoKFN0cnVjdHVyZSogYmFzZVN0
cnVjdHVyZSwgY29uc3QgRnVuYyYgZnVuYykgY29uc3QKKyAgICB7CisgICAgICAgIGJvb2wgYXRF
bmQgPSAhbV9jaGFpbi5zaXplKCk7CisgICAgICAgIGZ1bmMoYmFzZVN0cnVjdHVyZSwgYXRFbmQp
OworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFpbi5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgYXRFbmQgPSBpICsgMSA9PSBtX2NoYWluLnNpemUoKTsKKyAgICAgICAg
ICAgIGZ1bmMobV9jaGFpbltpXSwgYXRFbmQpOworICAgICAgICB9CisgICAgfQorCitwcml2YXRl
OgorICAgIFByb3RvdHlwZUFjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAgLy8gVGhpcyBk
b2VzIG5vdCBpbmNsdWRlIHRoZSBiYXNlLiBXZSByZWx5IG9uIEFjY2Vzc0Nhc2UgcHJvdmlkaW5n
IGl0IGZvciB1cy4gVGhhdCBzYWlkLCB0aGlzIGRhdGEKKyAgICAvLyBzdHJ1Y3R1cmUgaXMgdGll
ZCB0byB0aGUgYmFzZSB0aGF0IGl0IHdhcyBjcmVhdGVkIHdpdGguCisgICAgVmVjdG9yPFN0cnVj
dHVyZSo+IG1fY2hhaW47IAorfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIy
NjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLVByb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBK
U0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCkKK1Byb3h5YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBw
cm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBv
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0No
YWluKSkKICAgICAsIG1fdmlhUHJveHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQo
YWRkaXRpb25hbFNldCkKIHsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5
YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
dHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlh
UHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQcm90
b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5
cGUgPT0gTG9hZCB8fCB0eXBlID09IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJl
dHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJs
ZUFjY2Vzc0Nhc2UoKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5
YWJsZUFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMywxMyArMzMsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJs
ZUFjY2Vzc0Nhc2UgOiBwdWJsaWMgQWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBB
Y2Nlc3NDYXNlIEJhc2U7CisgICAgdXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29s
IHZpYVByb3h5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2Fk
ZGl0aW9uYWxTZXQuZ2V0KCk7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5
ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBzdGQ6OnVu
aXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1
bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00
Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90
ZWN0ZWQ6Ci0gICAgUHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAg
IFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHV0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQ
dXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25z
dCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChpKTsKICAgICAgICAgICAgIGlmIChhY2Nl
c3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93
UGF0aFN0YXRlKTsKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBQdXRCeUlkVmFyaWFudCB2YXJpYW50OwogICAgICAgICAgICAg
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1
cmVTdHViSW5mby5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2
ICsxMzEsMTEgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCBTdHJ1Y3R1cmVTdHViSW5mbwogICAg
ICAgICBpZiAoU3RydWN0dXJlU3R1YkluZm9JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAg
IGRhdGFMb2coIkhhZCBzdHViLCByZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAg
aWYgKHJlc3VsdC5zaG91bGRDbGVhclN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJs
b2NrKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBp
ZiAoIXJlc3VsdC5idWZmZXJlZCgpKSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMu
Y2xlYXIoKTsKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBA
IEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0
cnVjdHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJD
cmVhdGVkIHN0dWIsIHJlc3VsdDogIiwgcmVzdWx0LCAiXG4iKTsKIAorICAgICAgICBpZiAocmVz
dWx0LnNob3VsZENsZWFyU3R1YigpKSB7CisgICAgICAgICAgICByZXNldChjb2RlQmxvY2spOwor
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghcmVz
dWx0LmJ1ZmZlcmVkKCkpIHsKICAgICAgICAgICAgIGJ1ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigp
OwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzczMyw2ICszNzMzLDExIEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAog
ICAgICAgICAgICAgICAgIC8vIHRoZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVy
ZVNldCgpIGFncmVlIG9uIHRoZSBwcm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAg
ICAgLy8gaGlsYXJpb3VzbHkgcmFyZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUg
cmVseWluZyBvbiBzdHJ1Y3R1cmVTZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBs
ZWFzdCBvbmUgZWxlbWVudC4gVGhhdCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBv
ZiBob3cgR2V0QnlJZFN0YXR1cy9QdXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogcmlnaHQgbm93LCBpZiB3ZSBoYXZlIGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBw
cm90by4gSG93ZXZlciwgdGhpcyB3aWxsCisgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSBj
aGFuZ2VkIGluIHRoZSBmdXR1cmUgb25jZSB3ZSBoYXZlIGEgaHlicmlkIGRhdGEgc3RydWN0dXJl
IGZvcgorICAgICAgICAgICAgICAgIC8vIHBvbHkgcHJvdG86CisgICAgICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQogICAgICAgICAg
ICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5z
dHJ1Y3R1cmVTZXQoKS5zaXplKCk7ICsraSkgewpAQCAtNDMzMCwxMiArNDMzNSwxNiBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVu
Y3Rpb24pIHsKICAgICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEg
PSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVE
YXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdp
c3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxy
ZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdl
IHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFw
aC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgu
d2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hw
b2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlz
IHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwg
YWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0
cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcs
OCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RTcHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQ
cm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgp
LT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVByb3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9
IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1
Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlwZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkKKyAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUt
PmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRs
eShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3ltYm9sLmltcGwoKSkgPT0gaW52YWxpZE9m
ZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5j
cHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQogICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlw
ZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAgIGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8
SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkp
OwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLSAgICAgICAg
cmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOworICAg
ICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0
dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAg
ICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0
KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1
Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBK
U1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5w
cm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Mzk0
LDcgKzQzOTQsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVy
OjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVy
OjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFs
bG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxv
Y2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGls
ZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0
cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9q
aXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisK
ICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRyLCBhbGxvY2F0
b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUiwgc2xvd1Bh
dGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVz
cyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhR1BS
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVzdWx0KG5v
ZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVj
dChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2Ny
YXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3Rv
dHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNj
cmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFuIG9iamVjdC4K
ICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJy
YW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5LDE1IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxl
cjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1E
ZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwK
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUpKTsKLSAgICBt
X2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaFJl
Zywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2Fk
T2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0
LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgLy9tX2pp
dC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6
cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAg
IG1faml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0
dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQ
cm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsK
KyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOwor
ICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0
Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5l
U3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7
CisgICAgbV9qaXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fz
c2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVy
OjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxv
b3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90
eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2go
dGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3Rv
dHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBz
Y3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIo
KTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAg
IAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNl
bGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVl
LmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXND
ZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcs
IHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAg
ICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE2LDE1
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhp
cyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2
YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5
cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQ
UlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1Jl
ZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0
KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsK
KyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBl
UmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3Nl
ZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI2NjMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcg
Y29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2
ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJv
b2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAg
ICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZh
bHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywg
R1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0
KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3Jh
dGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7
CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5z
dGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODkw
MywxMCArODkwMywxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sg
aXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3Ag
PSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0
cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8g
PSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBl
ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2Ug
PSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBt
X291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0
ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3Rh
bmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVh
dGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0
aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVz
ZSkKQEAgLTg5MjQsMTYgKzg5MjYsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVt
cChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90
b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBl
Qml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxW
YWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUs
IG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAg
ICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmpl
Y3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJl
bHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJv
dG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAg
bV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAg
ICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAg
ICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAg
TFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBz
LlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0g
bV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90
eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1
bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAg
ICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAg
ICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25z
dEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1f
b3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9o
ZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwg
SlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1w
KGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90
b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUg
PSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBW
YWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xl
YW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwo
Y3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2Niwx
MyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBM
b2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1
YWwgdG8gcmVnVDEgLSBXSU4hCiAgICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQg
bnVsbCAtIGlmIHdlIGhhdmUgdGhlbiBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFn
YWluLgotICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsK
LSAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSks
IHJlZ1QyKTsKKyAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdU
Myk7CisgICAgbG9hZDY0KEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0
KCkpLCByZWdUNCk7CisgICAgYXV0byBoYXNTdG9yZWRQcm90b3R5cGUgPSBicmFuY2hJZk5vdElu
dDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7CisgICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJl
Z1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNP
YmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgcmVnVDQpOworICAgIGhhc1N0b3JlZFBy
b3RvdHlwZS5saW5rKHRoaXMpOworICAgIG1vdmUocmVnVDQsIHJlZ1QyKTsKICAgICBKdW1wIGlz
SW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1QyLCByZWdUMSk7CiAgICAgZW1pdEp1bXBJ
ZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0NCw2ICsyNDQsOCBA
QCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7
CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNl
VmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0
cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2
bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgJiYgc3RydWN0dXJlLT50eXBl
SW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKLSAgICAgICAgICAgIGlmIChz
bG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRl
Q29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVC
bG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAotICAgICAgICAgICAgICAg
ICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgYm9v
bCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFp
biA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpLCBiYXNlQ2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXBy
b3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRv
IGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICByZXR1cm4g
R2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgb2Zmc2V0ID0gc2xv
dC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0
aW9uKCkub2Zmc2V0KCk7CisgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNl
bGwtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAg
IC8vIFdlIHVzZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIg
YWNjZXNzZXMuCisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRy
OworCisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygK
KyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwg
cHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVj
LCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBy
b3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNs
b3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAg
ICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEz
ICszMDcsMTcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUo
dm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9h
ZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2Ug
aWYgKCFsb2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAg
ICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9j
aywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4p
KTsKKyAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYg
SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIs
IHN0cnVjdHVyZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBv
dXIgb3duIHNhbml0eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBw
b2ludGVyIGNoZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRo
aXMgd29yayB3b3VsZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9t
IGJ1aWx0aW4gdHlwZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAg
bmV3Q2FzZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2Nr
LCBzbG90LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsK
LSAgICAgICAgZWxzZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5p
c0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBu
ZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3Qu
aXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAg
ICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRG
cm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53
YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBl
OwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYs
NyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBz
bG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0
b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFi
bGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAg
ICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfQpAQCAtMzg2LDYgKzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNo
ZVB1dEJ5SUQKICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZh
bHVlLmFzQ2VsbCgpOwogCiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90
LmlzQ2FjaGVhYmxlUHV0KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3Bl
cnR5U2xvdDo6RXhpc3RpbmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODMgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFu
ZXdTdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1
Y3R1cmUtPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAg
ICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAg
ICAgaWYgKHB1dEtpbmQgPT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9u
U2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlT
ZXR0ZXJNaXNzKAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
bmV3U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0
aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBm
YWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFj
Y2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwg
bnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVB
Y2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNj
ZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
R2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAo
IXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQcm90b3R5
cGUoKSkgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxw
dHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAg
ICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1pc3MoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJlLCBp
ZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1Zh
bGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAg
ICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgbmV3Q2FzZSA9
IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQsIHN0cnVjdHVyZSwgbmV3
U3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nh
c2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQsIHN0cnVjdHVyZSwgbmV3U3RydWN0dXJl
LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAg
fQogICAgIH0gZWxzZSBpZiAoc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpIHx8IHNsb3QuaXNDYWNo
ZWFibGVTZXR0ZXIoKSkgewogICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpKSB7
CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7Cisg
ICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVl
KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAg
Z2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXRDdXN0b20oCi0gICAgICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFz
ZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0Lmlz
VmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAg
ICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWlu
OjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNl
KCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0
aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVV
cE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2Vz
UG9seVByb3RvIHx8IGJhc2VDZWxsLT5zdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOwor
ICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAg
ICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJh
c2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25T
ZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdD
YXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9t
QWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJl
LCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0gICAgICAgICAgICAgICAgc2xvdC5jdXN0
b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0
ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zm
c2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNl
dDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldDsKKyAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47Cisg
ICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwog
CiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0gYmFzZVZhbHVlKSB7Ci0gICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgICAgICAgICB2bSwg
Y29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOwot
ICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAg
ICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBwcm90b3R5
cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOwor
ICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
ICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0
eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Ci0gICAgICAgICAg
ICAgICAgb2Zmc2V0ID0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7
Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBzbG90LmNhY2hl
ZE9mZnNldCgpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNl
c1BvbHlQcm90byB8fCBiYXNlQ2VsbC0+c3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgp
KSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsK
KyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAg
ICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5i
YXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9u
U2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOworCisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG9mZnNldCA9PSBjb25k
aXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNz
Q2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAg
ICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zm
c2V0LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtNTE3LDE1ICs1NzEsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0
aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICAKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgIE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAod2FzRm91bmQp
IHsKLSAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7Ci0gICAgICAgICAgICBj
b25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgK
LSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xv
dEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBi
YXNlKSB7IAorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3RvdHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUo
ZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsK
KyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgorICAg
ICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2UtPnN0cnVjdHVyZSgpLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVs
bHB0cjsKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNG
b3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICB2bSwgY29k
ZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIGJvb2wgdXNl
c1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFByb3Rv
dHlwZUFjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNl
LCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlw
ZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2UtPnN0cnVjdHVyZSgpLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBu
dWxscHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVj
dHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcg
KzYwNyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgTE9H
X0lDKChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlk
ZW50KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vz
c0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3ND
YXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJl
LCBjb25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vz
c0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogCiAgICAg
QWNjZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBzdHViSW5mby5hZGRBY2Nlc3NDYXNlKGxv
Y2tlciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShuZXdDYXNlKSk7CiAgICAgCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlz
aW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2NjcsMjQgQEAgTExJTlRfU0xPV19QQVRI
X0RFQ0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkK
ICAgICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7CiAKKyAgICAgICAgeworICAgICAgICAg
ICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOworICAg
ICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAgICAgICAgICAgICAgYXV0byBvcGNv
ZGUgPSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0pOworICAgICAgICAgICAgICAgIGlm
IChvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkCisgICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9
PSBvcF9nZXRfYnlfaWRfdW5zZXQKKyAgICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9w
X2dldF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSog
YSA9IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAg
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKHZtKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252
ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChh
LT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFy
ZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+
aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBv
cnR1bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFz
ZVZhbHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxs
LT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgaWYgKHNsb3QuaXNWYWx1ZSgpICYmIHNsb3Quc2xvdEJh
c2UoKSA9PSBiYXNlVmFsdWUpIHsKQEAgLTczNyw2ICs3NTUsMjIgQEAgTExJTlRfU0xPV19QQVRI
X0RFQ0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkK
ICAgICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAKKworICAgICAgICB7CisgICAg
ICAgICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJRCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7
CisgICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQpIHsKKyAgICAgICAgICAgICAgICBTdHJ1
Y3R1cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQp
OworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3Ry
dWN0dXJlKHZtKTsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVy
dHlTbG90OjpOZXdQcm9wZXJ0eSkKKyAgICAgICAgICAgICAgICAgICAgYiA9IGItPnByZXZpb3Vz
SUQoKTsKKworICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1Bv
bHlQcm90byhhLCBiKSkgeworICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFy
ZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwo
IkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAg
ICBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUo
dm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAg
IC8vIFN0YXJ0IG91dCBieSBjbGVhcmluZyBvdXQgdGhlIG9sZCBjYWNoZS4KICAgICAgICAgcGNb
NF0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xkIHN0cnVjdHVyZQogICAgICAgICBwY1s1XS51
LnBvaW50ZXIgPSBudWxscHRyOyAvLyBvZmZzZXQKQEAgLTc2MCwxNiArNzk0LDE3IEBAIExMSU5U
X1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICBpZiAo
IXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPm91
dE9mTGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAg
ICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNp
dGlvbldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7CiAKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52
YWxpZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgc2F3UG9seVBy
b3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXpl
UHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG8pOworICAgICAgICAg
ICAgICAgICAgICBpZiAocmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVDaGFpbiAmJiAhc2F3UG9s
eVByb3RvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2
aW91c0lEKCktPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNF0udS5z
dHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pZCgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7
CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShwY1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1
dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVD
aGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNlbGwpKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBj
WzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNb
N10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVCbG9jaywgY2hhaW4pOwogICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlk
RmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+KAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMg
aW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wg
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBv
YmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZN
JiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBhdXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0g
ICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAKIHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2lu
KEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0
b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2MDksNyBAQCBzdGF0aWMgaW5saW5lIEpT
VmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJh
bENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNL
bm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tu
b3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC02MzQsNyArNjMzLDcgQEAg
c3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAg
IGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAg
ICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAg
ICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVP
SyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtODE2LDcgKzgxNSw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1
dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRv
IGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRh
aW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhl
YywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAm
JiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlm
IChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7
Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
T2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwg
ZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVj
dCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0gKnRoaXNPYmplY3QtPmJ1dHRlcmZseSgp
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVu
Z3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMo
KSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAg
ICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRh
ID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBk
YXRhICsgbGVuZ3RoKTsKQEAgLTExNzYsNyArMTE3NSw3IEBAIHN0YXRpYyBib29sIG1vdmVFbGVt
ZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5p
bmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0dXJlKCktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNv
dXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5n
dGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5k
ZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0OSw5IEBAIENsb25lZEFyZ3VtZW50cyog
Q2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJm
bHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm1heUludGVyY2VwdElu
ZGV4ZWRBY2Nlc3NlcygpIHx8IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5
U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxl
bmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5W
ZWN0b3IgPSB2ZWN0b3JMZW5ndGg7Ci0KICAgICB9IGVsc2UgewogICAgICAgICBJbmRleGluZ0hl
YWRlciBpbmRleGluZ0hlYWRlcjsKICAgICAgICAgaW5kZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVu
Z3RoKHZlY3Rvckxlbmd0aCk7CkBAIC04MSw3ICs4MCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xv
bmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVj
dCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwg
b2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBi
dXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRl
RW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3Ry
dWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJl
KHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUs
MTQgKzEyNCwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAg
ICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9u
ZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFT
U0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aE1hY2hp
bmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3Vt
ZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdp
dGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAg
QVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAg
ICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93
UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTsp
CiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtp
XS5qc1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGlu
Z1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIy
NjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3df
cGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10u
dS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5y
YXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkt
PnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVj
LCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJlLT5wb2x5UHJv
dG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhl
YykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwu
b3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3JlYXRlZnJvbWNvbnN0cnVjdG9yCiAgICAg
ICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFzT2JqZWN0LT5nZXQoZXhlYywgdm0ucHJv
cGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjIyNjYzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQCB2b2lkIEZ1bmN0aW9uRXhlY3V0YWJsZTo6
dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNvZGVCbG9ja0ZvckNvbnN0cnVjdC0+dmlzaXRXZWFr
bHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV91bmxpbmtlZEV4
ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc2luZ2xldG9uRnVu
Y3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUG9seVByb3Rv
U3RydWN0dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRhYmxlKiBGdW5jdGlvbkV4ZWN1dGFibGU6
OmZyb21HbG9iYWxDb2RlKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMy0y
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
OS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
YWJsZS5oIgogI2luY2x1ZGUgIlNvdXJjZUNvZGUuaCIKKyNpbmNsdWRlIDx3dGYvQm94Lmg+CiAK
IG5hbWVzcGFjZSBKU0MgewogCkBAIC0xNzIsNiArMTczLDE4IEBAIHB1YmxpYzoKICAgICBERUNM
QVJFX0lORk87CiAKICAgICBJbmZlcnJlZFZhbHVlKiBzaW5nbGV0b25GdW5jdGlvbigpIHsgcmV0
dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0KKyAgICAvLyBDYWNoZWQgcG9seSBwcm90
byBzdHJ1Y3R1cmUgZm9yIHRoZSByZXN1bHQgb2YgY29uc3RydWN0aW5nIHRoaXMgZXhlY3V0YWJs
ZS4KKyAgICBTdHJ1Y3R1cmUqIGNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpIHsgcmV0dXJuIG1f
Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlLmdldCgpOyB9CisgICAgdm9pZCBzZXRDYWNoZWRQb2x5
UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkgeyBtX2NhY2hlZFBv
bHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVjdHVyZSk7IH0KKworICAgIElubGlu
ZVdhdGNocG9pbnRTZXQmIGVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKQorICAgIHsKKyAgICAg
ICAgaWYgKCFtX3BvbHlQcm90b1dhdGNocG9pbnQpCisgICAgICAgICAgICBtX3BvbHlQcm90b1dh
dGNocG9pbnQgPSBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD46OmNyZWF0ZShJc1dhdGNoZWQpOwor
ICAgICAgICByZXR1cm4gKm1fcG9seVByb3RvV2F0Y2hwb2ludDsKKyAgICB9CisKKyAgICBCb3g8
SW5saW5lV2F0Y2hwb2ludFNldD4gc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsg
cmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTE4OSw2ICsyMDIsOCBAQCBwcml2YXRlOgogICAgIFdy
aXRlQmFycmllcjxGdW5jdGlvbkNvZGVCbG9jaz4gbV9jb2RlQmxvY2tGb3JDb25zdHJ1Y3Q7CiAg
ICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJuU3RhdGVtZW50VHlwZVNldDsKICAgICBXcml0ZUJh
cnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9zaW5nbGV0b25GdW5jdGlvbjsKKyAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZTsKKyAgICBCb3g8SW5saW5l
V2F0Y2hwb2ludFNldD4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVE
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDkg
Kzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFyZURhdGEoKQogewogfQogCi12
b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRp
YWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSk7
CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2bSwgZ2xv
YmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1Y3Rvcik7
CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhciogcmVhc29uKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURh
dGEuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw3ICs3OSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVhc29uKTsKIAotICAgIHZvaWQgaW5p
dGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09i
amVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpOworICAgIHZvaWQgaW5pdGlh
bGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVj
dG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9uUHJvZmlsZUluaXRpYWxpemVkKCkg
eyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaXNOdWxsKCk7IH0KIApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5j
cHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NiwxMiArOTYsMTMgQEAgY29u
c3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0ZQogCiBTdHJ1Y3R1cmUqIEludGVy
bmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJlU2xvdyhFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VDbGFzcykKIHsKLQogICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0p
OwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1RhcmdldC5pc0NvbnN0cnVjdG9yKCkpOwog
ICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9IGV4ZWMtPmpzQ2FsbGVlKCkpOwog
CisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworCiAgICAgLy8g
bmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdlIHdlcmUgY2FsbGVkIGZy
b20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0RnVuY3Rpb24gPSBq
c0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsKICAgICBKU0dsb2JhbE9i
amVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lv
biAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODgyLDcgKzg4Miw3IEBAIEpTQXJyYXkqIEpTQXJyYXk6OmZhc3RT
bGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMyOgogICAgIGNhc2UgQXJy
YXlXaXRoQ29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVjLnZtKCk7Ci0gICAgICAg
IGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlmIChjb3VudCA+PSBNSU5f
U1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAg
ICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMubGV4aWNhbEdsb2Jh
bE9iamVjdCgpOwpAQCAtOTE3LDcgKzkxNyw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdp
dGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkgY29udGFpbnMgaG9sZXMg
b3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAgIC8vIHVzZSB0aGUgZ2Vu
ZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYgKChzdG9yYWdlLT5oYXNI
b2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSAKICAgICAgICAgfHwg
aGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQdXQoaW5kZXhpbmdUeXBl
KCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEwNDgsNyArMTA0OCw3IEBAIGJvb2wg
SlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0
byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNv
IHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcg
YW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2Rl
LgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYg
KHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsK
KyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5k
ZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZs
eS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVO
TElLRUxZKCF2KSkgewpAQCAtMTA4OSw3ICsxMDg5LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENv
dW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xl
cyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBn
ZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXpl
IHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2ln
bmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJl
KHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhp
cy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkg
ewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytp
KSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3Vi
bGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7
CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZh
c3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJv
dG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJl
dmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJ
bmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDggKzYzLDggQEAgaW5saW5lIGJvb2wgSlNB
cnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8g
RklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVz
IG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQg
b2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhl
ckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90
aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2
aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6
ZHVtcEluQ29udGV4dEFzc3VtaW5nU3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5j
bGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAg
ICBvdXQucHJpbnQoIk9iamVjdDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAg
ICAgb3V0LnByaW50KCIgd2l0aCBidXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0Nl
bGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250
ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIg
KFN0cnVjdHVyZSAiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIo
YXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVj
dHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAg
ICAgICBvdXQucHJpbnQoIiwgSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAg
ICAgb3V0LnByaW50KCIsIFN0cnVjdHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7
CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRy
dWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
Y3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDE2ICsxMjYsMjIgQEAgRnVuY3Rp
b25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRh
LmdldCgpOwogfQogCitKU09iamVjdCogSlNGdW5jdGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0
aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CisgICAgaWYgKHByb3RvdHlw
ZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4gYXNPYmplY3QocHJvdG90eXBlKTsKKworICAg
IHJldHVybiBnbG9iYWxPYmplY3Qodm0pLT5vYmplY3RQcm90b3R5cGUoKTsKK30KKwogRnVuY3Rp
b25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVBbmRJbml0aWFsaXplUmFyZURhdGEoRXhl
Y1N0YXRlKiBleGVjLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgQVNTRVJUKCFtX3Jh
cmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5
cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5h
bWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhp
cy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90
eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKKyAgICBKU09iamVjdCogcHJv
dG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKTsKICAgICBGdW5jdGlv
blJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFyZURhdGE6OmNyZWF0ZSh2bSk7Ci0gICAg
cmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByYXJlRGF0YS0+aW5pdGlhbGl6
ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUs
IGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBpbGF0aW9uIHRocmVh
ZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8vIFdlIHdhbnQgdG8g
ZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAgLTE0OSwxMSArMTU1
LDggQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6aW5pdGlhbGl6ZQogewogICAgIEFT
U0VSVCghIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmpl
Y3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAg
ICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOwotICAgIG1f
cmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBKU09iamVjdCogcHJvdG90eXBl
ID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKTsKKyAgICBtX3JhcmVEYXRhLT5p
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHBy
b3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogICAgIHJldHVybiBtX3JhcmVEYXRhLmdl
dCgpOwogfQogCkBAIC0zNzEsNyArMzc0LDYgQEAgYm9vbCBKU0Z1bmN0aW9uOjpnZXRPd25Qcm9w
ZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zmc2V0ID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0
T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGF0dHJpYnV0ZXMpOwogICAg
ICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAgICAgIH0KLQogICAg
ICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXMsIHRoaXNPYmplY3QtPmdl
dERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWUoRXhlY1N0
YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJldHVybnMgdGhlIF9fcHJvdG9fXyBmb3Ig
dGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBiZSBjb25zdHJ1Y3Rl
ZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiwgRXhlY1N0YXRl
Kik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rp
b25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1
Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb24KICAgICBpZiAo
c3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAgICAgICAgIHJldHVy
biB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFs
T2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0g
Z2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpT
TWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2Jq
ZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3Rv
dHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3
MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkp
IHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRP
bmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNo
YWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7
CisgICAgICAgICAgICAgICAgQVNTRVJUKHRoaXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVND
SUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAK
QEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJ
bmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwog
ICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VO
VVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VS
VCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNl
KCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAg
ICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0
eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRl
QXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0
b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9sZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5n
dGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVsbCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3Vs
dCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1
Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJl
LCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlv
bih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwog
ICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdC
dXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1
cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6
Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNp
ZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVk
VG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRy
YW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2
bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0Rv
dWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyAr
MTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQog
ewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZt
KS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVy
dEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29u
dGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBz
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpT
T2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVy
dHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3Jh
Z2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6
OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91
c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwog
fQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1Zh
bHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2Jq
ZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8
fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3Vz
SlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAg
ICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6
OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4
aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBu
ZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91
YmxlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAg
ICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpl
bnN1cmVDb250aQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNl
IEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5n
U2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVk
c1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1
ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAg
ICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVu
c3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5H
X1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAg
ICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAg
ICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252
ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9J
TlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3Bh
cnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAg
ICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBj
YXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdT
aG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygp
KTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAg
ICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFT
U0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Ns
b3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywx
NyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHBy
b3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBl
KGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJl
ID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0p
LCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAK
LSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oYXNTdG9yZWRQcm90b3R5cGUo
KSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdl
UHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKKyAgICAg
ICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOworICAgIH0gZWxzZQorICAgICAgICBw
dXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQcm90b09mZnNldCgpLCBwcm90b3R5cGUp
OworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2Vz
KCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpZiAodm0ucHJvdG90eXBlTWFwLmlzUHJv
dG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhh
dmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVyZSh2bSktPmdsb2JhbE9iamVjdCgpLT5o
YXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIApAQCAtMTk1MSw3
ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3JkaW5hcnlUb1ByaW1pdGl2ZShFeAogCiAg
ICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVmYXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJl
IGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4gYXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hl
ZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGll
c0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOworICAgIGZvciAoY29uc3QgSlNPYmplY3Qq
IG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5z
dG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUo
dm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAg
ICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3
MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4K
ICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5
U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAvLyBDb252ZXJ0IHRoZSBpbmRleGluZyB0
eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFuZCByZXRyeS4KICAgICAgICAgICAgIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBp
ICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXgodGhpcywgZXhlYywgaSwgdmFs
dWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRl
eEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhl
YywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwg
MCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAg
ICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkg
KyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHN0
b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwogICAgICAgICAgICAgc3Rv
cmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICszNTYyLDcgQEAgdWludDMy
X3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7
Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAg
ICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCkp
CiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5pbmRleGluZ1R5cGUoKSkg
ewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2
IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChFeGVjU3RhdGUqIGUKICAgICByZXR1cm4g
bWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBWTSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAg
ICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0gdGhpczsgOykgeworICAgICAgICBpZiAo
Y3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAgIGlmIChwcm90b3R5
cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAg
ICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmpl
Y3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKKyAg
ICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
KTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gdGhpczsgOykgeworICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOworICAg
ICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgICAg
IAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOworICAgICAgICBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0
cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgKFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3Nvcikp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7Cit9CisKK05vblBy
b3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlv
bigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCisgICAgICAgIHJl
dHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsK
KyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3Rv
cmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcg
QEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUuaCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0
eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKKyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAj
aW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpAQCAtNzMzLDYgKzczNCwxMiBAQCBwdWJs
aWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgaXNFeHRlbnNpYmxlKEpTT2Jq
ZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1NlYWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0
cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAgIGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7
IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2bSk7IH0KKworICAgIGJvb2wgYW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgIEpTX0VY
UE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwg
UHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Cisg
ICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxl
SW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04
NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwotICAgICAg
ICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlz
KSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IGdldFByb3RvdHlwZURpcmVjdCgp
LmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVE
aXJlY3QoKSkpOwogICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAg
ICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAg
aW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1
ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3Ry
dWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJv
dG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxX
QVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7
CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1
Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0
aGUgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3MjU3MgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2Jq
ZWN0KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJv
dG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5s
aW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0SW5saW5lcy5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3
IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJ
S0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0g
ZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3Rv
dHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAg
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1
MCw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAg
fQogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFBy
b3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50
ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVj
dC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJv
dG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZ
U19JTkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhp
c09iamVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAg
ICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1h
eUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRo
aXNPYmplY3QtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlO
YW1lKSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9k
ZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0
dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRl
cmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJv
cGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAg
ICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUt
PmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51bWVyYXRvci0+
Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMp
KQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVj
dHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVybiBlbnVtZXJh
dG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9IDA7CkBAIC0x
MzMsMTIgKzEzMywxNSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0
CiAKICAgICBBU1NFUlQocHJvcGVydHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFYKTsKIAotICAg
IGJvb2wgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluID0gbm9ybWFsaXplUHJvdG90eXBlQ2hh
aW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisgICAgYm9vbCBz
YXdQb2x5UHJvdG87CisgICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90bykgIT0gSW52
YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgsIG51bWJlclN0cnVj
dHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAgIGVudW1lcmF0b3It
PnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4
ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENo
YWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAg
ICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVy
YXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxseU5vcm1hbGl6ZWRD
aGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgeworICAgICAgICBlbnVt
ZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVD
aGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVy
dHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5zZXRDYWNoZWRQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAgICAgcmV0dXJuIGVu
dW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5j
cHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTU2V0Ojppc0l0
ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxPYmpl
Y3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUo
KSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFBy
b3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxP
YmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNhbkNsb25lRmFzdEFu
ZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzU2V0UHJvdG90eXBl
QWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAor
ICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NT
dHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
YXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
MSwxMyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29u
Y3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2JqZWN0KiBwcm90b3R5cGVDb25jdXJy
ZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
Z2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAog
ICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRseSgpIGNvbnN0CiAgICAgewogICAg
ICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTM2LDEzICsxMzYsMTkgQEAgYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUgdikKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitzaXplX3Qgbm9ybWFsaXpl
UHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBib29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwog
ICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFsc2U7CiAgICAgd2hp
bGUgKDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAg
cmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKworICAgICAgICBzYXdQb2x5UHJvdG8gfD0g
IXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JM
b29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0
aW9ucy5oCShyZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgSlNWYWx1ZSBq
c1R5cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JW
YWx1ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBib29sIGpzSXNPYmplY3RUeXBl
T3JOdWxsKENhbGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFs
dWUpOwotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVy
ZSopOworc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVy
ZSosIGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3Ry
aW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBKU1N0cmluZyogczIpCiB7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsK
ICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYg
dHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4g
ZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAg
ICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFs
LCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNt
IHRvIEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2wsIHVzZU9iamVjdFJlc3RTcHJlYWQsIHRydWUs
IE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIE9iamVjdCBSZXN0L1NwcmVhZCBmZWF0
dXJlLiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwg
Tm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9u
IHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMg
Y2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Q
cm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwg
YXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9m
aWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKVwKKyAgICB2KGJvb2wsIGZv
cmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBh
bHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikKIAog
CiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQcm90b3R5cGUoSlNPYmpl
Y3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBQ
cm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29u
c3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVh
dGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCog
cHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xh
c3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0
eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1dG8ga2V5ID0gc3RkOjpt
YWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2Jq
ZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7IC8vIFdlIHVzZSBudWxscHRy
IGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1lYW4gcG9seSBwcm90bywgc28g
dXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVsbCBwcm90b3R5cGVzLgorCisg
ICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51
bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVj
dCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkp
KSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgICAgICBh
ZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFzdHJ1
Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICAg
ICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwogICAgICAgICByZXR1cm4gc3RydWN0
dXJlOwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVjdC0+
dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4
aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52
bSgpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIGlmIChtYWtlUG9seVByb3RvU3Ry
dWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAg
ICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
dHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAg
ICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGlu
ZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBtX3N0cnVjdHVyZXMuc2V0
KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOworCiAgICAgcmV0dXJuIHN0cnVjdHVy
ZTsKIH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0
eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNh
cGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1
bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4K
ICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdU
eXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRl
eGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUp
KQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBlICYgfkluZGV4aW5nU2hhcGVN
YXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAotICAgIHJldHVybiBjcmVhdGVFbXB0
eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUlu
Zm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCk7CisgICAg
cmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNl
U3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhp
bmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK1N0cnVjdHVyZSog
UHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVD
YXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIHJldHVybiBjcmVh
dGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6
dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygp
LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5
cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogdm9pZCBQ
cm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUob2Jq
ZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3Qp
KTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShudWxscHRyLCBpbmxp
bmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDE4ICs0Niwx
OCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVj
dHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBKU19FWFBPUlRfUFJJVkFU
RSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2Jq
ZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVBy
b3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSog
ZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0cnVjdHVyZShKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBjbGVhckVtcHR5T2JqZWN0U3Ry
dWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRQcm90b3R5cGUo
SlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQcm90b3R5cGUoSlNPYmplY3QqKSBj
b25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4KIAogcHJpdmF0ZToKLSAg
ICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmpl
Y3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGlu
Z1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVt
cHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3Qg
VHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgV2Vha0dDTWFw
PEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0
aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmpl
Y3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0
dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0dXJlTWFwID0gV2Vha0dDTWFwPHN0
ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxP
YmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShy
ZXZpc2lvbiAyMjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4LDcgQEAgU3RydWN0dXJlOjpTdHJ1
Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogICAgICwgbV9jbGFzc0luZm8oY2xhc3NJbmZvKQog
ICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNl
dChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2goMCkKIHsKICAgICBzZXREaWN0
aW9uYXJ5S2luZChOb25lRGljdGlvbmFyeUtpbmQpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlU
YWJsZShmYWxzZSk7CkBAIC0yMjAsNiArMjIxLDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0m
IHZtKQogICAgICwgbV9jbGFzc0luZm8oaW5mbygpKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hw
b2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwg
bV9wcm9wZXJ0eUhhc2goMCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2luZChOb25lRGljdGlvbmFy
eUtpbmQpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yNDcsMTAg
KzI0OSwxMSBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAg
OiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5l
Q2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDAp
Ci0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgp
KQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQo
KSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJh
bnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9m
ZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKHByZXZpb3VzLT5tX3Byb3BlcnR5SGFzaCkKIHsK
ICAgICBzZXREaWN0aW9uYXJ5S2luZChwcmV2aW91cy0+ZGljdGlvbmFyeUtpbmQoKSk7CiAgICAg
c2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTI5Niw2ICsyOTksMjMgQEAgdm9p
ZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVj
dHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZv
LCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRl
eGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9mTGluZUNh
cGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOworICAgIHJlc3VsdC0+YWRkUHJv
cGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1
aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCksIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLAorICAgICAgICBbJl0gKGNvbnN0
IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVy
dHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoU3Ry
dWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVD
YXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZz
ZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpz
TnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xh
c3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQg
U3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihWZWN0b3I8
U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJvcGVy
dHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBA
IC0zOTksMjYgKzQxOSwxNCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFu
c2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJ
bXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29sIFN0cnVj
dHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0
Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNP
YmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgaWYg
KHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
Ci0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKLSAg
ICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAKLWJvb2wg
U3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25zdAotewog
ICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0
dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlw
ZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKGJhc2Up
OwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQyNyw3ICs0
MzUsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgICAg
IFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAg
aWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVj
dHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKCk7Cisg
ICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAg
ICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQzNywyMCArNDQ1
LDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVy
biBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci19
Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQot
ICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJh
eVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2Nh
dGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRy
YW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsK
ICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhp
c3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTMsNiArNTQ3LDggQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVlIHByb3Rv
dHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgcHJvdG90eXBlLmlz
TnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2bS5oZWFwKTsKICAgICBTdHJ1Y3R1cmUq
IHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7CiAKQEAgLTEwNjgsMTEgKzEwNjQs
NiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RyCiAgICAgICAgIG1f
dHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0dXJlRmlyZURldGFp
bCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoQ29k
ZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1
cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBTdHJ1
Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0xMTEwLDcg
KzExMDEsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKCkKICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0
dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9nbG9i
YWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8
IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7Cisg
ICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIXN0b3JlZFByb3RvdHlwZU9iamVj
dCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgp
KSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYgdmlzaXRv
cikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNoZWFwKFNs
b3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAgICByZXR1
cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwotICAgIAot
ICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJv
dG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAg
ICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsKLSAgICAg
ICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKLSAg
ICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0K
LQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1
ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBl
KEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBSZWY8
U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKICAg
ICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBlLnB0cigpOwogICAg
IFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVlIGN1clZhbHVlID0g
dmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgd2hpbGUgKGN1
clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfD0gIWN1clN0cnVj
dHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAgICAgICAgIGN1clN0cnVjdHVyZS0+Zm9yRWFj
aFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAgWyZdIChjb25zdCBQcm9wZXJ0eU1h
cEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAgICAgY3VyU2hhcGUtPmFkZFBy
b3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGlmICghUHJvcGVydHlOYW1lKGVu
dHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAgICAgICAgICAgICBjdXJTaGFwZS0+
YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTEzOSwyNCBAQCBSZWY8U3RydWN0dXJlU2hh
cGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAgY3VyU2hhcGUtPm1hcmtBc0ZpbmFs
KCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRl
KCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsK
LSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7Ci0gICAgICAgICAgICBj
dXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNP
YmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBpZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1
cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5j
b3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOworICAgICAg
ICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAgICAgY3VyU3RydWN0dXJlID0gcHJv
dG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIGJhc2VT
aGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0
dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5s
aW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3Rv
cmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0g
b3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVy
KHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAzLDcg
KzExNzEsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAg
CiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7
CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmICghaGFz
U3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5UHJvdG8gb2Zmc2V0
OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5p
c0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1BvaW50ZXIobV9wcm90
b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlvbmFyeUtpbmQoKSkg
ewpAQCAtMTI4OCw5ICsxMjU4LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNhbkNhY2hlUHJvcGVydHlO
YW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGlmICghc3RydWN0dXJlLT5nZXQo
KSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RydWN0dXJlLT5nZXQoKS0+aXNE
aWN0aW9uYXJ5KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFyeSgpIHx8IHN0cnVjdHVyZS0+
Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1cmUrKzsKICAgICB9CkBAIC0xMzA5LDQg
KzEyNzcsNTIgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNhbkFjY2Vzc1Byb3BlcnRpZXNRdWljawogICAg
IHJldHVybiB0cnVlOwogfQogCisvLyBPT1BTOiBsZXRzIGlubGluZSB0aGlzIGZ1bmN0aW9uLgor
Ym9vbCBTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byhjb25zdCBTdHJ1Y3R1cmUq
IGEsIGNvbnN0IFN0cnVjdHVyZSogYikKK3sKKyAgICBpZiAoIWEgfHwgIWIpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmIChhID09IGIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIGlmIChhLT5wcm9wZXJ0eUhhc2goKSAhPSBiLT5wcm9wZXJ0eUhhc2goKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IG9iamVjdHMgY3JlYXRl
ZCB2aWEgYSBjb25zdHJ1Y3RvcidzIHRvX3RoaXMuIFRoZXNlCisgICAgLy8gYWxsIGhhdmUgU3Ry
dWN0dXJlcyB3aXRoIHJhcmUgZGF0YSBhbmQgYSBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50Lgor
ICAgIGlmICghYS0+aGFzUmFyZURhdGEoKSB8fCAhYi0+aGFzUmFyZURhdGEoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IFN0cnVjdHVyZSdzIGdl
bmVyYXRlZCBmcm9tIGZ1bmN0aW9ucyB0aGF0IHNoYXJlCisgICAgLy8gdGhlIHNhbWUgZXhlY3V0
YWJsZS4KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIGFJbmxpbmVXYXRjaHBv
aW50U2V0ID0gYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAg
IGNvbnN0IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiYgYklubGluZVdhdGNocG9pbnRTZXQgPSBi
LT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCk7CisgICAgaWYgKGFJbmxp
bmVXYXRjaHBvaW50U2V0LmdldCgpICE9IGJJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpIHx8ICFh
SW5saW5lV2F0Y2hwb2ludFNldCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEFTU0VSVChh
SW5saW5lV2F0Y2hwb2ludFNldCAmJiBiSW5saW5lV2F0Y2hwb2ludFNldCAmJiBhSW5saW5lV2F0
Y2hwb2ludFNldC5nZXQoKSA9PSBiSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSk7CisKKyAgICBp
ZiAoIWEtPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFiLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnN0b3JlZFByb3RvdHlwZSgpID09
IGItPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBWTSYg
dm0gPSAqYS0+dm0oKTsKKyAgICBKU09iamVjdCogYU9iaiA9IGEtPnN0b3JlZFByb3RvdHlwZU9i
amVjdCgpOworICAgIEpTT2JqZWN0KiBiT2JqID0gYi0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7
CisgICAgd2hpbGUgKGFPYmogJiYgYk9iaikgeworICAgICAgICBhID0gYU9iai0+c3RydWN0dXJl
KHZtKTsKKyAgICAgICAgYiA9IGJPYmotPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKGEt
PnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIGFPYmogPSBhLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoYU9iaik7
CisgICAgICAgIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoYk9iaik7CisgICAgfQor
CisgICAgcmV0dXJuICFhT2JqICYmICFiT2JqOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2Vs
bCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6
OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBv
bHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShW
TSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwg
Y29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1Rh
ZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsx
NDAsMTkgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90
b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VS
VChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJv
dG90eXBlLmlzSW50MzIoKSk7CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIGNvbnN0IFN0cnVjdHVyZSogcHJldmlvdXMpCisgICAgeworICAgICAgICB0aGlzLT5maW5p
c2hDcmVhdGlvbih2bSk7CisgICAgICAgIGlmIChwcmV2aW91cy0+aGFzUmFyZURhdGEoKSkgewor
ICAgICAgICAgICAgY29uc3QgU3RydWN0dXJlUmFyZURhdGEqIHByZXZpb3VzUmFyZURhdGEgPSBw
cmV2aW91cy0+cmFyZURhdGEoKTsKKyAgICAgICAgICAgIGlmIChwcmV2aW91c1JhcmVEYXRhLT5o
YXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpIHsKKyAgICAgICAgICAgICAgICBlbnN1cmVS
YXJlRGF0YSh2bSk7CisgICAgICAgICAgICAgICAgcmFyZURhdGEoKS0+c2V0U2hhcmVkUG9seVBy
b3RvV2F0Y2hwb2ludChwcmV2aW91c1JhcmVEYXRhLT5jb3B5U2hhcmVkUG9seVByb3RvV2F0Y2hw
b2ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIAogICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxODEs
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9u
VG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRv
RXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVBy
b3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlP
ZmZzZXQmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQ
cm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOwor
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1
Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IFN0cnVjdHVyZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFBy
b3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIFN0cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0
cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51
bGxwdHIpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJh
bnNpdGlvbihWTSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIyMiw3IEBAIHB1YmxpYzoKICAg
ICB7CiAgICAgICAgIHJldHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVy
ZUZvclByb3BlcnR5QWJzZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVy
ZVByb3BlcnR5V2F0Y2hwb2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nl
c3Nlc0FyZUNhY2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI1NCwzOSBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhl
ZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29s
IGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAg
ICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAgICAK
LSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlU
cmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBi
b29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7CiAg
ICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVy
biBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hv
dWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2lu
Y2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0
byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxP
YmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2Jq
ZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVl
IHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisK
KyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9y
ZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3Rv
cmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAg
fQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1
cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3Jl
ZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0KiBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmUqIHN0
b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0OworCiAgICAgSlNP
YmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVjdHVyZSogc3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JM
b29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAo
SlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChD
b2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0m
LCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVD
aGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChK
U0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4q
IHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogYmFzZSkgY29u
c3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSosIEpTT2Jq
ZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCos
IFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hlYXAgdG8gbWFy
ayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291bGQgb25seSBhZGQgYSBzbWFsbCBhbmQgYm91bmRl
ZCBhbW91bnQKQEAgLTI3MiwxNCArMjk5LDMwIEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBSZXR1
cm5zIHRydWUgaWYgdGhpcyBzdHJ1Y3R1cmUgaXMgbm93IG1hcmtlZC4KICAgICBib29sIG1hcmtJ
ZkNoZWFwKFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAotICAgIC8vIFdpbGwganVzdCB0aGUgcHJv
dG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAgICBKU19FWFBP
UlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFBy
b3BlcnR5TmFtZSk7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0CiAgICAgewog
ICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CiAg
ICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkKKyAgICB7CisgICAgICAg
IEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVj
dHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAg
IGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAgeworICAgICAg
ICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25z
dCBTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9
CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZtKQorICAgIHsK
KyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2NhdGVSYXJlRGF0
YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAKICAgICBTdHJ1
Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiArNTc2LDYgQEAgcHVi
bGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZtKTsKICAgICB9
CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nh
cnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3IgKFN0cnVjdHVyZSog
c3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJlLT5zdGFydFdhdGNo
aW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0KLQogICAgIGJvb2wg
aGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gISFtX2luZmVy
cmVkVHlwZVRhYmxlOwpAQCAtNTg4LDExICs2MjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIHdpbGxT
dG9yZVZhbHVlU2xvdyh2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxkT3B0aW1pemUsIElu
ZmVycmVkVHlwZVRhYmxlOjpPbGRQcm9wZXJ0eSk7CiAgICAgfQogCi0gICAgUmVmPFN0cnVjdHVy
ZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwotICAgIAotICAgIC8vIERldGVybWlu
ZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRoaXMgb25lIGNvdWxk
IGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVyIG9uZS4KLSAgICBi
b29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7CisgICAgUmVmPFN0cnVjdHVy
ZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVj
dHVyZSk7CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdm9p
ZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBjb25zdDsKQEAgLTYw
MSw2ICs2MzQsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGR1bXBDb250ZXh0SGVhZGVy
KFByaW50U3RyZWFtJik7CiAgICAgCiAgICAgQ29uY3VycmVudEpTTG9jayYgbG9jaygpIHsgcmV0
dXJuIG1fbG9jazsgfQorCisgICAgdW5zaWduZWQgcHJvcGVydHlIYXNoKCkgY29uc3QgeyByZXR1
cm4gbV9wcm9wZXJ0eUhhc2g7IH0KKworICAgIHN0YXRpYyBib29sIHNob3VsZENvbnZlcnRUb1Bv
bHlQcm90byhjb25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSogYik7CiAgICAgCiAg
ICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIApAQCAtNzIwLDggKzc1Nyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNldCwgbV9pbmxp
bmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAgICBib29sIGlz
VmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBj
b25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiog
Y2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAogICAgIC8vIFlv
dSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0mLCBQcm9wZXJ0
eVRhYmxlKik7CkBAIC03MzIsMTIgKzc2OCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBj
ZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAgICB9CiAKLSAg
ICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNT
RVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJl
UmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQotCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3Rl
bmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0OwogICAgIGJvb2wg
Y2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpAQCAtNzg3LDYgKzgxNyw4IEBAIHByaXZh
dGU6CiAKICAgICAvLyBtX29mZnNldCBkb2VzIG5vdCBhY2NvdW50IGZvciBhbm9ueW1vdXMgc2xv
dHMKICAgICBQcm9wZXJ0eU9mZnNldCBtX29mZnNldDsKKworICAgIHVpbnQzMl90IG1fcHJvcGVy
dHlIYXNoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZpc2lvbiAyMjI2NjMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJlQ2hhaW46OnZpc2l0
Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hhaW46OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNPYmplY3QqIGN1cnJl
bnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7CisKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtl
X3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7CisKKyAgICBzaXpl
X3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1
cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3Vy
cmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudC0+c3RydWN0
dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAgICBtX3ZlY3Rv
ciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlzKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTQy
LDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBT
dHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVyZUNoYWluKiBjcmVh
dGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBTdHJ1Y3R1cmVDaGFp
biogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmVDaGFpbj4odm0u
aGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0cnVjdHVyZS5nZXQo
KSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7CkBAIC02MiwyMiAr
NjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKIAogcHJv
dGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQp
Ci0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAgIHNpemVf
dCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJy
ZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDog
YXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAg
ICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAgICBmb3Ig
KFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2krK10uc2V0KHZt
LCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAubXV0YXRvckZlbmNl
KCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAgIH0KKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShyZXZpc2lvbiAyMjI2
NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTUxLDE2ICs1MSwxNyBAQCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmNyZWF0ZVN0cnVjCiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KIAotaW5saW5lIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
RGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqIGRlZmVycmVkKQoraW5s
aW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHByZXZp
b3VzLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogZGVmZXJyZWQp
CiB7CiAgICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVjdHVyZSk7Ci0gICAgU3RydWN0dXJlKiBu
ZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhl
YXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSwgZGVmZXJyZWQpOwotICAgIG5ld1N0cnVjdHVy
ZS0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlPih2bS5oZWFwKSkgU3RydWN0dXJlKHZt
LCBwcmV2aW91cywgZGVmZXJyZWQpOworICAgIG5ld1N0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24o
dm0sIHByZXZpb3VzKTsKICAgICByZXR1cm4gbmV3U3RydWN0dXJlOwogfQogCiBpbmxpbmUgSlNP
YmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3QKIHsKKyAgICBS
RUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1
cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFBy
b3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzU3RvcmVk
UHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQcm90b3R5cGVPYmpl
Y3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0
dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBTdHJ1
Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAorewor
ICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYg
KGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7
CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsKKyAgICBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAg
cmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJTkUgSlNP
YmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2JqZWN0KiBv
YmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9
PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBz
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXRE
aXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxX
QVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90
byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8t
PnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDE1ICsxOTYsMzIgQEAg
aW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2
ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYg
KHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0
dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFs
T2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgpKTsKICAgICBpZiAo
aXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0
eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2Jq
ZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgp
OworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVj
dCwgdGhpcyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlw
ZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CitpbmxpbmUg
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQoYmFz
ZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkpCisgICAgICAgIHJl
dHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJldHVybiBwcm90b3R5
cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7CiB9CiAKIGlubGlu
ZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykg
Y29uc3QKQEAgLTE4MiwyNyArMjI5LDI4IEBAIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJv
dG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpw
cm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0
CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsK
KyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogICAgIC8v
IFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0
LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4u
Z2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3Vw
KGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0
aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyAwIDog
YXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xv
YmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkgeworICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJh
c2UpOworICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0
dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6IGFzT2Jq
ZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hh
aW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5
cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0
cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFzZSkg
Y29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0o
KSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5saW5lIGJvb2wg
U3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVy
ZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29sIFN0cnVjdHVy
ZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiog
Y2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewogICAgIGlmICgh
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEpTVmFs
dWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gY2FjaGVkUHJv
dG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJv
dG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1
Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsyNjEsNiBAQCBp
bmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0dXJuIHByb3Rv
dHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5lIGJvb2wgU3Ry
dWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFBy
b3RvdHlwZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUgdm9pZCBT
dHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAg
ICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC0zNDEsNiArMzg0LDggQEAgaW5saW5l
IFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZNJgogICAgIGF1dG8gcmVwID0gcHJvcGVy
dHlOYW1lLnVpZCgpOwogCiAgICAgUHJvcGVydHlPZmZzZXQgbmV3T2Zmc2V0ID0gdGFibGUtPm5l
eHRPZmZzZXQobV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBtX3Byb3BlcnR5SGFzaCA9IG1fcHJv
cGVydHlIYXNoIF4gcmVwLT5leGlzdGluZ0hhc2goKTsKICAgICAKICAgICBQcm9wZXJ0eU9mZnNl
dCBuZXdMYXN0T2Zmc2V0ID0gbV9vZmZzZXQ7CiAgICAgdGFibGUtPmFkZChQcm9wZXJ0eU1hcEVu
dHJ5KHJlcCwgbmV3T2Zmc2V0LCBhdHRyaWJ1dGVzKSwgbmV3TGFzdE9mZnNldCwgUHJvcGVydHlU
YWJsZTo6UHJvcGVydHlPZmZzZXRNYXlDaGFuZ2UpOwpAQCAtNDAwLDcgKzQ0NSw3IEBAIGlubGlu
ZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHBy
b3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVy
dHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lk
IFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxl
KQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRh
YmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJh
cmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNpbmNsdWRl
ICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisjaW5jbHVk
ZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
IgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpAQCAtNzAs
NiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTCiAgICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAgdmlzaXRvci5hcHBl
bmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IpOworICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvcik7CiB9CiAKIEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hlZFByb3BlcnR5TmFt
ZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3NywxMyBAQCBpbmxpbmUgdm9pZCBTdHJ1
Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFy
KCk7CiB9CiAKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjplbnN1cmVJbmZlcnJl
ZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBpZiAoIW1faW5mZXJyZWRDb25zdHJ1Y3RvcikK
KyAgICAgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywgSW5mZXJyZWRWYWx1
ZTo6Y3JlYXRlKHZtKSk7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1Y3Rvci5nZXQoKTsK
K30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJvdG90eXBlLnRvU3Ry
aW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0tLQogCiBPYmplY3RU
b1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9TdHJpbmdBZGFwdGl2
ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGtleSwg
U3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0
YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
CitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwog
Y2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMCBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9p
ZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9mIGEgcHJvdG90eXBl
LCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBzdWNoIHRoYXQgZnVu
Y3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdlJ3JlIHRoZSBTdHJ1
Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qgd2hpY2ggbWlnaHQg
YmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1Y3Rvci4gSWYgd2Un
cmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3ZSBoYXZlIGEgY29u
c3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9pbmZlcnJlZENvbnN0
cnVjdG9yIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBhIEpTRnVuY3Rpb24u
CisgICAgLy8gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywgdGhlbiB0aGlzIHdp
bGwgYmVjb21lIGludmFsaWRhdGVkLgorICAgIEluZmVycmVkVmFsdWUqIGVuc3VyZUluZmVycmVk
Q29uc3RydWN0b3IoVk0mKTsKKyAgICAvLyBNYXkgYmUgbnVsbHB0ci4KKyAgICBJbmZlcnJlZFZh
bHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yKCkgeyByZXR1cm4gbV9pbmZlcnJlZENvbnN0cnVjdG9y
LmdldCgpOyB9CisKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gY29weVNoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7IH0K
KyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIHNoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7IH0KKyAgICB2b2lk
IHNldFNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiYg
c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCkgeyBtX3BvbHlQcm90b1dhdGNocG9pbnQgPSBXVEZN
b3ZlKHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpOyB9CisgICAgYm9vbCBoYXNTaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obV9wb2x5
UHJvdG9XYXRjaHBvaW50KTsgfQorCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0
ZToKQEAgLTc2LDExICs5MSwxMyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3Ry
aW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9j
YWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwotICAgIAorICAgIFdyaXRlQmFycmllcjxJbmZl
cnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CisKICAgICB0eXBlZGVmIEhhc2hNYXA8
UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3Bl
cnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9m
ZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVy
dHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CiAgICAgQmFnPE9i
amVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50PiBtX29iamVjdFRvU3RyaW5n
QWRhcHRpdmVXYXRjaHBvaW50U2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxPYmplY3RUb1N0cmlu
Z0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmlu
Z0FkYXB0aXZlSW5mZXJyZWRWYWx1ZVdhdGNocG9pbnQ7CisgICAgQm94PElubGluZVdhdGNocG9p
bnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKICAgICBib29sIG1fZ2l2ZVVwT25PYmplY3RU
b1N0cmluZ1ZhbHVlQ2FjaGU7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xv
Z0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICB9CiAKKyAg
ICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Q
cm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwg
UmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVzOworCiAgICAgTG9n
RW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGlsZSAoZW50cnkgIT0g
bV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+
c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAg
ICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7
CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlm
IChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwo
KSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAgIGF1dG8gaXRlciA9
IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYgKGl0ZXIgPT0gc2Vl
blNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0
cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1
Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUu
YXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAgICAgICAgIGF1dG8g
aXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7CisgICAgICAgICAg
ICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAg
ICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkp
OworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5maW5k
KGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9seVByb3RvU2hhcGVz
LmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CisgICAg
ICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkgeworICAgICAgICAgICAgICAg
ICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVBy
b3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVj
dHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90b1NoYXBlcy5zZXQo
a2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUg
PSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAgdm9pZCBUeXBlUHJv
ZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0
aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUg
PSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAg
ICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBz
aGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0
aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUlu
Zm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9T
dHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5
cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjY2MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNl
dDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVT
ZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlw
ZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBl
SXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFw
ZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1
Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICAv
LyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5IHByb3RvIGNoYWlu
cworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBjaGFpbjoKKyAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzYyNworICAg
ICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlu
cyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkg
ewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAg
ICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9u
IDIyMjY2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29y
a2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZv
aWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+
JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3Rv
U3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1w
VHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAy
MjI2NjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVu
ZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQog
ICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1Zh
bHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJu
IGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBn
ZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCku
aXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0
KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dURi93dGYvQm94LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi93dGYvQm94LmgJKHJldmlzaW9uIDIyMjY2MykKKysrIFNvdXJj
ZS9XVEYvd3RmL0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYsMTcgQEAgbmFtZXNw
YWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogY2xhc3MgQm94IHsKIHB1YmxpYzoKLSAg
ICBCb3goKQotICAgIHsKLSAgICB9CisgICAgQm94KCkgPSBkZWZhdWx0OworICAgIEJveChCb3gm
JikgPSBkZWZhdWx0OworICAgIEJveChjb25zdCBCb3gmKSA9IGRlZmF1bHQ7CiAKICAgICBCb3go
c3RkOjpudWxscHRyX3QpCiAgICAgewogICAgIH0KIAorICAgIEJveCYgb3BlcmF0b3I9KEJveCYm
KSA9IGRlZmF1bHQ7CisgICAgQm94JiBvcGVyYXRvcj0oY29uc3QgQm94JikgPSBkZWZhdWx0Owor
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIHN0YXRpYyBCb3ggY3Jl
YXRlKEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKICAgICB7CkBAIC01Nyw3ICs2MCw3IEBAIHB1
YmxpYzoKICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBtX2RhdGEtPnZhbHVlOyB9
CiAgICAgVCogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuICZtX2RhdGEtPnZhbHVlOyB9CiAK
LSAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgeyByZXR1cm4gbV9kYXRhOyB9CisgICAgZXhw
bGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1f
ZGF0YSk7IH0KICAgICAKIHByaXZhdGU6CiAgICAgc3RydWN0IERhdGEgOiBUaHJlYWRTYWZlUmVm
Q291bnRlZDxEYXRhPiB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAkocmV2aXNpb24gMjIyNjYzKQorKysgU291cmNl
L1dURi93dGYvUmVmUHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDggQEAgcHVibGlj
OgogICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVy
c2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KICAgICB0eXBlZGVm
IFQqIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKICAgICBvcGVyYXRvciBVbnNwZWNp
ZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUmVmUHRyOjptX3B0ciA6IG51
bGxwdHI7IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAh
IW1fcHRyOyB9CiAgICAgCiAgICAgUmVmUHRyJiBvcGVyYXRvcj0oY29uc3QgUmVmUHRyJik7CiAg
ICAgUmVmUHRyJiBvcGVyYXRvcj0oVCopOwpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0
cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRl
c3RzCShyZXZpc2lvbiAyMjI2NjMpCisrKyBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRl
c3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgq
b3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRCM08xKCpvcHRp
b25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0t
dXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExfT1BUSU9OUyArIE5PX0NK
SVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykp
CisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmls
aW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19D
SklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMp
KQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdlck5vQ0pJVFZhbGlkYXRl
KCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlvbmFsVGVzdFNwZWNpZmlj
T3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9y
PXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9V
U0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRs
LWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICItLWZvcmNlUG9seVBy
b3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElO
VU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRl
ZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC04
NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAgcnVuKCJmdGwtbm8tY2pp
dC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05T
ICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVyIiwgIi0tdXNl
VHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBydW4oImZ0bC10eXBlLXBy
b2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRy
dWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElP
TlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322355</attachid>
            <date>2017-10-01 23:52:57 -0700</date>
            <delta_ts>2017-10-02 11:46:34 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>217621</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7
IHRoaXMuX2ZpZWxkID0gNDI7IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOwor
ICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOwor
ICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCAyNTsgKytpKSB7CisgICAgbGV0IGl0ZW0gPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgaXRlbS5fX3Byb3RvX18gPSBudWxsOworICAgIGl0ZW1zLnB1c2goaXRlbSk7Cit9CisK
K2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAg
ICBsZXQgb2JqID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICAgICAg
YXNzZXJ0KE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgICAgIGFz
c2VydChvYmoucCA9PT0gMjApOworICAgICAgICBhc3NlcnQob2JqLl9maWVsZCA9PT0gNDIpOwor
ICAgIH0KKworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7Cklu
ZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXNldHRlci1zcGVlZC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXNldHRlci1z
cGVlZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXNldHRlci1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACitmdW5j
dGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQ6IiArIG0pOworfQorCitsZXQgY2FsbGVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWtlUG9s
eVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHRoaXMuX3AgPSBudWxsOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzZXQgcCh4
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgdGhpcy5fcCA9IHg7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgODsgKytpKSB7CisgICAgaXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkp
OworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCits
ZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBs
ZXQgbyA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3Nl
cnQoby5fcCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IHRydWUpOworICAgICAg
ICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5u
b3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0
dXJuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0
dXJuLmpzCShyZXZpc2lvbiAyMjI2OTgpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13
aXRoLXJldHVybi5qcwkod29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0
cyA9IFsKICAgICBuZXcgVGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwog
Ci10ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0
b3IoKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1
bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJl
c3VsdDogIiArIHJlc3VsdDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAg
dGVzdHMuZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1
Y3RvcigpIHsKKyAgICAgICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2
YXIgcmVzdWx0ID0gbmV3IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0
KSB7CisgICAgICAgICAgICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1
Y3RvcikpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDog
SlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzOSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5f
ZmllbGQgPSAyNTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZv
bygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHByb3RvID0gY3JlYXRlRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2Jq
Ll9fcHJvdG9fXyA9IHByb3RvOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2KSB7CisgICAgYXNz
ZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4LmN1c3RvbUdldHRlcik7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRl
KG9iaiwgcHJvdG8pOworCitwcm90by5mb28gPSAyNTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitSZWZsZWN0LnNldFByb3RvdHlw
ZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxp
ZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQor
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7IAorICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMuZmll
bGQgPSAyMDsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmll
bGQgPT09IDIwKTsKKyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgaXRlbXMgPSBb
CisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorXTsKKwor
bGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoKTsK
K2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJvdG9fXyA9IGN1c3RvbUdldHRlclNl
dHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1c3RvbUdldHRlclNldHRlcik7Cit9
KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1bHQsIGFjY2Vzc29yUmVzdWx0KSB7
CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVlUmVzdWx0KTsKKworICAgIGFzc2Vy
dCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBsZXQgbyA9IHt9
OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gdmFsdWVS
ZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9tQWNjZXNzb3IgPSBvOworICAgIGFz
c2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOworCisgICAgYXNzZXJ0KHgucmFuZG9t
UHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUo
dmFsaWRhdGUpOworCisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0
ZW1zW2ldKTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNldHRlci5yYW5kb21Qcm9wID0gNDI7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1
c3RvbUdldHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaCgo
eCkgPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoeCwgeworICAgICAgICBnZXQgY3Vz
dG9tVmFsdWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAgZ2V0IGN1c3RvbUFjY2Vzc29yKCkg
eyByZXR1cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21WYWx1ZSh4KSB7IHgucmVzdWx0ID0g
NDI7IH0sCisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4KSB7IHgucmVzdWx0ID0gMjI7IH0s
CisgICAgfSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0
ZShpdGVtc1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CisKK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRy
aW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5l
c3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkISIpOworfQorCitm
dW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAg
ICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLl9maWVsZCA9IDQyOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkK
KyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgeCA9IG5ldyBVaW50
MzJBcnJheSgxMCk7CitsZXQgcCA9IHguX19wcm90b19fLl9fcHJvdG9fXzsKK2xldCBvYmogPSBt
YWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcDsKK3guX19wcm90b19fID0g
b2JqOworCitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiB4LmJ5dGVMZW5ndGg7Cit9Citu
b0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGFz
c2VydChmb28oeCkgPT09IDEwICogNCk7Cit9OworCitvYmouX19wcm90b19fID0ge307CisKK2Fz
c2VydChmb28oeCkgPT09IHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLW1pc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNz
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAg
IGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9Cisg
ICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSA0MjsKKyAgICAgICAgbGV0IHJlc3Vs
dCA9IG5ldyBDOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBsZXQgcmVzdWx0ID0gZm9v
KCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2VzID0gWworICAgIG1ha2VQ
b2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0lu
c3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRo
TnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90
eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorXTsKKworbGV0IHAgPSB1
bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KHgueCA9PT0gMjAp
OworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisg
ICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9w
LWluLWNhY2hpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1vcC1pbi1jYWNoaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAg
ZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgICAgIHRoaXMuZmllbGQgPSA0MjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLmZpZWxkID09PSA0Mik7
CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgYikg
eworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisK
K2xldCBzdGFydCA9IERhdGUubm93KCk7CisKK2xldCBvYmpzID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwOyArK2kpCisgICAgb2Jqcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7CisK
K29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSkp
OworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmog
b2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCB0cnVlKTsKK30KKworb2Jqcy5mb3JFYWNo
KG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAgICB2
YWxpZGF0ZShvYmosIGZhbHNlKTsKK30KKworCitmdW5jdGlvbiB2YWxpZGF0ZTIobywgYikgewor
ICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZTIpOworCitv
YmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBudWxsKSk7Citm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Ygb2Jq
cykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgZmFsc2UpOworfQorCitvYmpzLmZvckVhY2gob2Jq
ID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAgICB2
YWxpZGF0ZTIob2JqLCB0cnVlKTsKK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93
KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0
aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5z
aXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQt
dHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACitmdW5jdGlvbiBh
c3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6
IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rvcigp
IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9maWVsZCA9IDQyOworICAgICAgICAgICAgfQorICAg
ICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30K
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytp
KSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90
b19fID0gbnVsbDsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAgYXNzZXJ0KE9iamVjdC5oYXNP
d25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7CisK
K30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2JqID0gbWFr
ZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSB7IHNldCBwKHgpIHsgZ2xv
YmFsID0geDsgfSB9OworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoIW9iai5oYXNP
d25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3NlcnQoZ2xvYmFsID09PSAyMCk7CisgICAgZ2xvYmFs
ID0gbnVsbDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQg
b2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBh
c3NlcnQob2JqLmhhc093blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChvYmoucCA9PT0gMjAp
OworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3Rv
ID0geworICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCits
ZXQgYWx0ZXJuYXRlUHJvdG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAg
Z2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZp
bmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkg
eyByZXR1cm4gdGhpcy5feDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBD
IHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7Cisg
ICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRh
dGUobywgcCkgeworICAgIGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUp
OworCitsZXQgYXJyID0gW107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkK
KyAgICBhcnIucHVzaChmb28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBhIG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitm
b3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
IHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9m
IGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAg
ICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9
Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDcxIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitsZXQgY2FsbGVkID0gZmFsc2U7
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIAorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSBudWxsOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBzZXQgcCh4KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxl
ZCA9IHRydWU7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBnZXQgcCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3A7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcg
QzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFz
c2VydChmb28oKS5wID09PSBudWxsKTsKKyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0g
W107Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAg
IHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7
ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8s
IGkpOworICAgICAgICBhc3NlcnQoby5fcCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQg
PT09IHRydWUpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK2l0ZW1zLmZv
ckVhY2gobyA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvLCBudWxsKTsKK30pOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAg
ICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5wID09PSBpKTsKKyAgICAg
ICAgYXNzZXJ0KGNhbGxlZCA9PT0gZmFsc2UpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAg
IHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUxIEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNz
IEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMu
eSA9IDIyOworICAgICAgICB9CisgICAgICAgIGdldCBiYXooKSB7IHJldHVybiB0aGlzLng7IH0K
KyAgICB9CisgICAgQy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBuZXcgQzsKKyAgICByZXR1
cm4gQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgZm9vKCk7CisKK2Z1
bmN0aW9uIGJhcihwKSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgeworICAgICAgICBjb25zdHJ1
Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLnggPSAyMjsK
KyAgICAgICAgfQorICAgIH07CisgICAgbGV0IHJlc3VsdCA9IG5ldyBDOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGJhcihmb28oKSk7
CisKK2xldCBpbnN0YW5jZXMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgNDA7ICsraSkKKyAg
ICBpbnN0YW5jZXMucHVzaChiYXIoZm9vKCkpKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkg
eworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIy
KTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOworfQorCitsZXQgc3RhcnQgPSBEYXRl
Lm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGluc3RhbmNl
cy5mb3JFYWNoKCh4KSA9PiB2YWxpZGF0ZSh4KSk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5
LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXBy
b3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXBy
b3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKK2xldCB5ID0gNDI7CitmdW5j
dGlvbiBtYWtlUG9seVByb3RvSW5zdGFuY2UoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsg
fQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0geTsKKyAgICAgICAgcmV0dXJu
IG5ldyBDOworICAgIH0KKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAg
ICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwb2x5UHJvdG9JbnN0YW5jZSA9
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpOworU3RyaW5nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBw
b2x5UHJvdG9JbnN0YW5jZTsKK1N5bWJvbC5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3Rv
SW5zdGFuY2U7CitsZXQgc3RyaW5ncyA9IFsKKyAgICAiZm9vIiwKKyAgICBTeW1ib2woImZvbyIp
LAorICAgICJiYXIiLAorICAgIFN5bWJvbCgiYmFyIiksCitdOworCitmdW5jdGlvbiBhc3NlcnQo
YikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlv
biIpCit9Citub0lubGluZShhc3NlcnQpOworCitmdW5jdGlvbiB2YWxpZGF0ZShzKSB7CisgICAg
YXNzZXJ0KHMueCA9PT0gMjApOworICAgIGFzc2VydChzLnkgPT09IHkpOworICAgIGFzc2VydChz
Lm5vbkV4aXN0ZW50UHJvcGVydHkgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KHR5cGVvZiBz
Lmhhc093blByb3BlcnR5ID09PSAiZnVuY3Rpb24iKTsKKyAgICBhc3NlcnQocy5oYXNPd25Qcm9w
ZXJ0eSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgcyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KKworeSA9
IDI3OworcG9seVByb3RvSW5zdGFuY2UuX19wcm90b19fID0ge3o6NDAwLCB5OiB5fTsKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7
CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3By
b3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAg
ICAgIHRoaXMueCA9IDQyOworICAgIH0KKyAgICBiYXIucHJvdG90eXBlID0gNTA7CisgICAgcmV0
dXJuIG5ldyBiYXIoKTsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2xldCBpdGVtcyA9IFsKKyAgICBm
b28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAg
ICBmb28oKSwKK107CisKK2Z1bmN0aW9uIHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRl
bS5ub3RUaGVyZSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQoaXRlbS54ID09PSA0Mik7Cisg
ICAgYXNzZXJ0KGl0ZW0uX19wcm90b19fID09PSBPYmplY3QucHJvdG90eXBlKTsKK30KKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVt
cykKKyAgICAgICAgdmFsaWRhdGUoaXRlbSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdHJ5
LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0
KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAg
ICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkK
KyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB0cnlHZXRC
eUlkVGV4dChwcm9wZXJ0eU5hbWUpIHsgcmV0dXJuIGAoZnVuY3Rpb24gKGJhc2UpIHsgcmV0dXJu
IEB0cnlHZXRCeUlkKGJhc2UsICcke3Byb3BlcnR5TmFtZX0nKTsgfSlgOyB9CitsZXQgZ2V0Rm9v
ID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiZm9vIikpOworbGV0IGdldEJhciA9IGNy
ZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImJhciIpKTsKK2xldCBnZXROb25FeGlzdGVudEZp
ZWxkID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgibm9uRXhpc3RlbnRGaWVsZCIpKTsK
KworbGV0IHggPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7Cit4Ll9fcHJvdG9fXyA9IHsgZm9vOiA0
MiwgZ2V0IGJhcigpIHsgcmV0dXJuIDIyOyB9IH07CitsZXQgYmFyR2V0dGVyID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih4Ll9fcHJvdG9fXywgImJhciIpLmdldDsKK2Fzc2VydCh0
eXBlb2YgYmFyR2V0dGVyID09PSAiZnVuY3Rpb24iKTsKK2Fzc2VydChiYXJHZXR0ZXIoKSA9PT0g
MjIpOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KGdldEZvbyh4KSA9PT0g
NDIpOworICAgIGFzc2VydChsb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihnZXRCYXIoeCkpID09
PSBiYXJHZXR0ZXIpOworICAgIGFzc2VydChnZXROb25FeGlzdGVudEZpZWxkKHgpID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIHZhbGlkYXRlKHgpOworfQpJbmRleDogSlNUZXN0cy90eXBlUHJvZmls
ZXIvb3ZlcmZsb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZs
b3cuanMJKHJldmlzaW9uIDIyMjY5OCkKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZh
ciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAg
ICAvLyBNYWtlIHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2ln
bm1lbnQgdG8geCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3
aWxsIGJlIG1lcmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpAQCAtMjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9
IG51bGw7CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJm
bG93IC0gMTsgaSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9
IDIwOworICAgIHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0
aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3Rv
dHlwZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjY5OCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MjI3LDYgKzIyNyw3IEBAIGJ5dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0
ZWNvZGUvTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNw
cAorYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvbi5jcHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
LmNwcAogYnl0ZWNvZGUvT3Bjb2RlLmNwcApAQCAtMjM0LDYgKzIzNSw3IEBAIGJ5dGVjb2RlL1Bv
bHltb3JwaGljQWNjZXNzLmNwcAogYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0
ZWNvZGUvUHJvZ3JhbUNvZGVCbG9jay5jcHAKIGJ5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNw
cAorYnl0ZWNvZGUvUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qcm94eWFibGVB
Y2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvUHV0QnlJZEZsYWdzLmNwcAogYnl0ZWNvZGUvUHV0QnlJ
ZFN0YXR1cy5jcHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI2OTgpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYg
Kzk1Myw5MCBAQCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAg
cHV0RGlyZWN0TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJv
bVN0cmluZygmdm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01K
SVRDaGVja1N1YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VK
U09iamVjdCA6IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNl
KHZtLCBzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1
c2luZyBCYXNlID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
VmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpT
Q09iamVjdFR5cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAg
IHN0YXRpYyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBn
ZXR0ZXIgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3Q+KHZtLmhlYXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENy
ZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBE
T01KSVRBdHRyaWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1Ymxp
YzoKKyAgICAgICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERP
TUpJVDo6R2V0dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09i
amVjdDo6Y3VzdG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNh
bGxET01HZXR0ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAg
ICAgICAgICAgICAgICBTcGVjQnl0ZWNvZGVUb3ApCisgICAgICAgIHsKKyAgICAgICAgfQorCisj
aWYgRU5BQkxFKEpJVCkKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gc2xvd0NhbGwoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBwb2ludGVyKQorICAgICAgICB7Cisg
ICAgICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICAgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAgICAgSlNPYmplY3QqIG9iamVj
dCA9IHN0YXRpY19jYXN0PEpTT2JqZWN0Kj4ocG9pbnRlcik7CisgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9
CisKKyAgICAgICAgc3RhdGljIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBjYWxs
RE9NR2V0dGVyKCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmPERPTUpJVDo6Q2FsbERPTUdl
dHRlclNuaXBwZXQ+IHNuaXBwZXQgPSBET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0OjpjcmVh
dGUoKTsKKyAgICAgICAgICAgIHNuaXBwZXQtPnJlcXVpcmVHbG9iYWxPYmplY3QgPSBmYWxzZTsK
KyAgICAgICAgICAgIHNuaXBwZXQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQs
IFNuaXBwZXRQYXJhbXMmIHBhcmFtcykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHJl
c3VsdHMgPSBwYXJhbXNbMF0uanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBHUFJSZWcg
ZG9tID0gcGFyYW1zWzFdLmdwcigpOworICAgICAgICAgICAgICAgIHBhcmFtcy5hZGRTbG93UGF0
aENhbGwoaml0Lmp1bXAoKSwgaml0LCBzbG93Q2FsbCwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCgpOworCisgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIHJldHVybiBzbmlwcGV0OworICAgICAgICB9CisjZW5kaWYKKyAgICB9
OworCitwcml2YXRlOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKworICAgIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBjdXN0b21HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CisgICAgICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHRoaXNPYmplY3QpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRo
aXNPYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICB9Cit9OworCitzdGF0aWMgY29u
c3QgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGUgRE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0RE9NSklUOworCit2b2lkIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAg
ICBjb25zdCBET01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gJkRPTUpJVEdldHRlckJhc2VK
U09iamVjdERPTUpJVDsKKyAgICBhdXRvKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBET01BdHRyaWJ1
dGVHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgbnVsbHB0ciwgRE9N
QXR0cmlidXRlQW5ub3RhdGlvbiB7IEpTT2JqZWN0OjppbmZvKCksIGRvbUpJVCB9KTsKKyAgICBw
dXREaXJlY3RDdXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJj
dXN0b21HZXR0ZXIiKSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVh
ZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpOworfQorCiBjb25zdCBD
bGFzc0luZm8gRWxlbWVudDo6c19pbmZvID0geyAiRWxlbWVudCIsICZCYXNlOjpzX2luZm8sIG51
bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRWxlbWVudCkgfTsKIGNvbnN0IENs
YXNzSW5mbyBNYXNxdWVyYWRlcjo6c19pbmZvID0geyAiTWFzcXVlcmFkZXIiLCAmQmFzZTo6c19p
bmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hc3F1ZXJhZGVyKSB9
OwogY29uc3QgQ2xhc3NJbmZvIFJvb3Q6OnNfaW5mbyA9IHsgIlJvb3QiLCAmQmFzZTo6c19pbmZv
LCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJvb3QpIH07CkBAIC05NjUs
NiArMTA0OSw3IEBAIGNvbnN0IENsYXNzSW5mbyBET01KSVROb2RlOjpzX2luZm8gPSB7ICIKICNl
bmRpZgogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlcjo6c19pbmZvID0geyAiRE9NSklUR2V0
dGVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJM
RShET01KSVRHZXR0ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQ29tcGxleDo6
c19pbmZvID0geyAiRE9NSklUR2V0dGVyQ29tcGxleCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQ29tcGxleCkgfTsKK2Nv
bnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJ
VEdldHRlckJhc2VKU09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENS
RUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSB9OwogI2lmIEVOQUJM
RShKSVQpCiBjb25zdCBDbGFzc0luZm8gRE9NSklURnVuY3Rpb25PYmplY3Q6OnNfaW5mbyA9IHsg
IkRPTUpJVEZ1bmN0aW9uT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgJkRPTUpJVEZ1
bmN0aW9uT2JqZWN0OjpjaGVja1N1YkNsYXNzU25pcHBldCwgQ1JFQVRFX01FVEhPRF9UQUJMRShE
T01KSVRGdW5jdGlvbk9iamVjdCkgfTsKICNlbHNlCkBAIC0xMTQ0LDYgKzEyMjksNyBAQCBzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3Qo
RXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
bkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2Jq
ZWN0KEV4ZWNTdGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVu
Y3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0
YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0
ZUdsb2JhbE9iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0x
NDYyLDYgKzE1NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3Jl
YXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVy
Q29tcGxleE9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
RnVuY3Rpb25PYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0LCAwKTsK
ICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0
IiwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0LCAwKTsKKyAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCBmdW5jdGlv
bkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9u
KHZtLCAiY3JlYXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbiwgMik7CiAgICAgICAg
IGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVHbG9i
YWxPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgInNldEltcHVyZUdldHRlckRl
bGVnYXRlIiwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBAIC0yMTk4LDYg
KzIyODUsMTYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3Rh
dGUqIGV4ZWMpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIg
bG9jayh2bSk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNlSlNP
YmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBq
c051bGwoKSk7CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01KSVRH
ZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDU5LDYgKzEw
NTksNyBAQAogCQk3OTE5Qjc4MDFFMDM1NTlDMDA1QkVFRDggLyogQjNDb21waWxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTE5Qjc3RjFFMDM1NTlD
MDA1QkVFRDggLyogQjNDb21waWxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzkyMzNDMkIxRDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzkyMzNDMjkx
RDM0NzE1NzAwQzVBODM0IC8qIEpJVE1hdGhJQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5MkNCMzRBMUM0RUVENUMwMEQxM0FGMyAvKiBQQ1Rv
Q29kZU9yaWdpbk1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzkyQ0IzNDgxQzRFRUQ1QzAwRDEzQUYzIC8qIFBDVG9Db2RlT3JpZ2luTWFwLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzk0NTc1Q0Ux
RjczNDk3NjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTQ1NzVDRDFGNzM0OTcyMDBCQTQ2MDMg
LyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5m
by5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NDY1
NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OTY1QzIxNzFFNUQ3OTk2MDBCNzU5MUQgLyog
QWlyQWxsb2NhdGVSZWdpc3RlcnNCeUdyYXBoQ29sb3JpbmcuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjVDMjE1MUU1RDc5OTYwMEI3NTkxRCAvKiBB
aXJBbGxvY2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5NkRBQTJCMUU4OUNDRDYwMDVERjI0QSAv
KiBDYWxsZWVCaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3OTZEQUEyQTFFODlDQ0Q2MDA1REYyNEEgLyogQ2FsbGVlQml0cy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDk4LDYgKzM0OTksOCBA
QAogCQk3OTIzM0MyOTFEMzQ3MTU3MDBDNUE4MzQgLyogSklUTWF0aElDLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVE1hdGhJQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3OTJDQjM0NzFDNEVFRDVDMDBEMTNBRjMgLyogUENUb0NvZGVPcmlnaW5NYXAuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUENUb0NvZGVPcmlnaW5NYXAu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTJDQjM0ODFDNEVFRDVDMDBEMTNB
RjMgLyogUENUb0NvZGVPcmlnaW5NYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUENUb0NvZGVPcmlnaW5NYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzk0
NTc1Q0MxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNzk0NTc1Q0QxRjczNDk3MjAwQkE0NjAzIC8qIFByb3RvdHlwZUFjY2Vzc0No
YWluLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3RvdHlwZUFjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTc5NUYwOTlDMUUwMzYwMDUwMEJCRTM3RiAvKiBCM0NvbXBpbGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQjNDb21waWxlLmNwcDsg
cGF0aCA9IGIzL0IzQ29tcGlsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5
NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzk2NUMyMTQxRTVENzk5NjAwQjc1OTFEIC8qIEFpckFsbG9jYXRlUmVnaXN0ZXJzQnlHcmFw
aENvbG9yaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFpckFs
bG9jYXRlUmVnaXN0ZXJzQnlHcmFwaENvbG9yaW5nLmNwcDsgcGF0aCA9IGIzL2Fpci9BaXJBbGxv
Y2F0ZVJlZ2lzdGVyc0J5R3JhcGhDb2xvcmluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC03MzY1LDYgKzczNjgsOCBAQAogCQkJCTE0QUQ5MTBBMURDQTkyOTQwMDE0RjlGRSAv
KiBQcm9ncmFtQ29kZUJsb2NrLmggKi8sCiAJCQkJMEZEM0U0MDcxQjYxOEI2NjAwQzgwRTFFIC8q
IFByb3BlcnR5Q29uZGl0aW9uLmNwcCAqLywKIAkJCQkwRkQzRTQwODFCNjE4QjY2MDBDODBFMUUg
LyogUHJvcGVydHlDb25kaXRpb24uaCAqLywKKwkJCQk3OTQ1NzVDQzFGNzM0OTcyMDBCQTQ2MDMg
LyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTc5NDU3NUNEMUY3MzQ5NzIwMEJB
NDYwMyAvKiBQcm90b3R5cGVBY2Nlc3NDaGFpbi5oICovLAogCQkJCTBGMTVDRDIwMUJBNUY5ODYw
MDMxRkZEMyAvKiBQdXRCeUlkRmxhZ3MuY3BwICovLAogCQkJCTBGMTVDRDIxMUJBNUY5ODYwMDMx
RkZEMyAvKiBQdXRCeUlkRmxhZ3MuaCAqLywKIAkJCQkwRjkzMzI5OTE0Q0E3REMxMDA4NUYzQzYg
LyogUHV0QnlJZFN0YXR1cy5jcHAgKi8sCkBAIC04NTU0LDYgKzg1NTksNyBAQAogCQkJCUExQjlF
MjNFMUI0RTBENjcwMEJDN0ZFRCAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExODE5M0U0MUI0RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5
cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTU4N0Q2RTFCNERDMTQxMDBENjk4NDkgLyog
SW50bERhdGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLywKKwkJCQk3OTQ1NzVDRTFGNzM0OTc2
MDBCQTQ2MDMgLyogUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
NTg3RDcwMUI0REMxNDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRDb25zdHJ1Y3Rvci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzUxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRl
VGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1ODdENzIx
QjREQzE0MTAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdFByb3RvdHlwZS5oIGluIEhlYWRl
cnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAg
SlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIElOSVRJQUxJ
WkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwg
ZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2bSIsIFN5bWJvbEltcGw6OnNf
ZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3Jl
UHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJvdG9fXyIsIFN5bWJvbEltcGw6
OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFt
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIEpT
Q19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBERUNMQVJFX0JV
SUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1w
bCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbElt
cGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNkZWZpbmUgSU5JVElBTElaRV9Q
UklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8j
I25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsKQEAgLTIzMCw2ICsyMzEsNyBA
QCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dF
TExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1f
ZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKICAgICAgICAg
LCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19j
YXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZhdGVOYW1lKSkpCisgICAgICAg
ICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAm
c3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUo
SU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAgICAgICAgSlNDX0NPTU1PTl9Q
UklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX1BSSVZBVEVf
VE9fUFVCTElDX0VOVFJZKQpAQCAtMjM4LDYgKzI0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElB
TElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgICAgIG1fcHJpdmF0ZVRv
UHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTU5h
bWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQobV9kb2xsYXJWTU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNN
YXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1wbCgpLCAmY29tbW9uSWRlbnRp
ZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFk
ZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmltcGwoKSwgJm1fdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0IElkZW50aWZpZXIqIGxvb2tV
cFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKQEAgLTI1MCw2ICsyNTQsNyBA
QCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NFU1NPUikKICAgICBjb25zdCBK
U0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9s
bGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVByaXZhdGVO
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVOYW1lOyB9CisgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBJZGVu
dGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU4LDYgKzI2Myw3IEBAIHByaXZhdGU6CiAg
ICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wo
REVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9s
bGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNUHJpdmF0ZU5h
bWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5h
bWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0
IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1
aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAg
bV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDM2
ICs1NSwzOSBAQCBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBi
b29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNv
bmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4p
CiAgICAgOiBtX3R5cGUodHlwZSkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4oV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAg
bV9zdHJ1Y3R1cmUuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJlKTsKICAgICBtX2Nv
bmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
dHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK3N0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6
dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7
CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBJbkhpdDoKICAgICBjYXNlIEluTWlzczoK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xl
bmd0aDoKICAgICBjYXNlIERpcmVjdEFyZ3VtZW50c0xlbmd0aDoKICAgICBjYXNlIFNjb3BlZEFy
Z3VtZW50c0xlbmd0aDoKICAgICBjYXNlIE1vZHVsZU5hbWVzcGFjZUxvYWQ6CiAgICAgY2FzZSBS
ZXBsYWNlOgorICAgICAgICBSRUxFQVNFX0FTU0VSVCghcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwog
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9OwogCi0gICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3du
ZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1cm4g
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6
OmNyZWF0ZSgKICAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLAotICAg
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCisgICAgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBS
RUxFQVNFX0FTU0VSVChvbGRTdHJ1Y3R1cmUgPT0gbmV3U3RydWN0dXJlLT5wcmV2aW91c0lEKCkp
OwogCkBAIC05Niw3ICs5OSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3ND
YXNlOjoKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRp
b24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1cm4gc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNp
dGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogQWNjZXNzQ2FzZTo6fkFjY2Vzc0Nhc2UoKQpAQCAtMTM1
LDcgKzEzOCw4IEBAIFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4gQWNjZXNzQ2FzZTo6Y28KICAg
ICBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IHJlc3VsdDsKIAogICAgIGlmICgoc3RydWN0dXJl
KCkgJiYgc3RydWN0dXJlKCktPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKLSAgICAg
ICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAg
ICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkKKyAg
ICAgICAgfHwgKG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4gJiYgbV9wcm90b3R5cGVBY2Nlc3NDaGFp
bi0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSkKICAgICAgICAgcmVzdWx0LmFwcGVu
ZCh2bS5lbnN1cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRlbnQpKTsKIAogICAg
IGlmIChhZGRpdGlvbmFsU2V0KCkpCkBAIC0xNTEsNiArMTU1LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVu
Z3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxNywxOSBAQCBib29sIEFj
Y2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJldHVybiB0aGlzQ2Fz
ZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KCk7CiAgICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIGlmIChvdGhlci50eXBlKCkgIT0g
dHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGlmIChtX3Byb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICBpZiAoIW90aGVyLm1fcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgLy8g
VGhpcyBpcyB0aGUgb25seSBjaGVjayB3ZSBuZWVkIHNpbmNlIFByb3RvdHlwZUFjY2Vzc0NoYWlu
IGNvbnRhaW5zIHRoZSBiYXNlIHN0cnVjdHVyZS4KKyAgICAgICAgICAgIC8vIElmIHdlIGV2ZXIg
Y2hhbmdlIGl0IHRvIGNvbnRhaW4gb25seSB0aGUgcHJvdG90eXBlIGNoYWluLCB3ZSdsbCBhbHNv
IG5lZWQgdG8gY2hhbmdlCisgICAgICAgICAgICAvLyB0aGlzIHRvIGNoZWNrIHRoZSBiYXNlIHN0
cnVjdHVyZS4KKyAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUoKSA9PSBvdGhlci5zdHJ1Y3R1
cmUoKQorICAgICAgICAgICAgICAgICYmICptX3Byb3RvdHlwZUFjY2Vzc0NoYWluID09ICpvdGhl
ci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICB9CisKICAgICAgICAgaWYgKCFndWFy
ZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yMTksMjIgKzIzOSwyNyBAQCBib29s
IEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAKIHZvaWQgQWNjZXNzQ2FzZTo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91dC5wcmludChtX3R5cGUsICI6
KCIpOworICAgIG91dC5wcmludCgiXG4iLCBtX3R5cGUsICI6KCIpOwogCiAgICAgQ29tbWFQcmlu
dGVyIGNvbW1hOwogCiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3N0YXRlKTsKIAotICAgIGlmICht
X3R5cGUgPT0gVHJhbnNpdGlvbikKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJl
ID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0
cnVjdHVyZSgpKSk7Ci0gICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUpCi0gICAgICAgIG91dC5wcmlu
dChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7
Ci0KICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAgICAgICAgIG91dC5wcmludChj
b21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAoIW1fY29uZGl0aW9uU2V0Lmlz
RW1wdHkoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiY29uZGl0aW9ucyA9ICIsIG1fY29u
ZGl0aW9uU2V0KTsKIAorICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAg
IG91dC5wcmludChjb21tYSwgInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiKTsKKyAgICAgICAg
bV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+ZHVtcChzdHJ1Y3R1cmUoKSwgb3V0KTsKKyAgICB9IGVs
c2UgeworICAgICAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCisgICAgICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUoKSksICIg
LT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKKyAgICAgICAgZWxzZSBpZiAobV9z
dHJ1Y3R1cmUpCisgICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBw
b2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOworICAgIH0KKwogICAgIGR1bXBJbXBsKG91
dCwgY29tbWEpOwogICAgIG91dC5wcmludCgiKSIpOwogfQpAQCAtMjQzLDYgKzI2OCwxMiBAQCBi
b29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYgdm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3Ry
dWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAobV9wcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICBm
b3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wcm90b3R5cGVBY2Nlc3NDaGFpbi0+Y2hhaW4o
KSkgeworICAgICAgICAgICAgaWYgKCFIZWFwOjppc01hcmtlZChzdHJ1Y3R1cmUpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KICAgICBpZiAoIW1fY29u
ZGl0aW9uU2V0LmFyZVN0aWxsTGl2ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KGlzQWNjZXNzb3IoKSkgewpAQCAtMjczLDYgKzMwNCwxMSBAQCBib29sIEFjY2Vzc0Nhc2U6OnBy
b3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1fc3RydWN0dXJlKQogICAgICAgICByZXN1
bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0b3IpOwogCisgICAgaWYgKG1fcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6
IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmNoYWluKCkpCisgICAgICAgICAgICByZXN1bHQgJj0g
c3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKKyAgICB9CisKICAgICBzd2l0Y2ggKG1f
dHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlvbjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2Vk
Q29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5wcmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICs0MDgs
NjQgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBk
ZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQcm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwK
LSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndh
cmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIp
OwotCi0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hH
UFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0
cnVjdHVyZSgpKSk7CisgICAgICAgIGlmIChtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAg
ICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAg
ICAgICAgICBqaXQubW92ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAg
ICAgICAgIG1fcHJvdG90eXBlQWNjZXNzQ2hhaW4tPmZvckVhY2goc3RydWN0dXJlKCksIFsmXSAo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wgYXRFbmQpIHsKKyAgICAgICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUo
CisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIs
IEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKChtX3R5cGUgPT0gTWlzcyB8fCBtX3R5cGUgPT0gSW5NaXNzIHx8IG1fdHlwZSA9
PSBUcmFuc2l0aW9uKSAmJiAhc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGEgTWlzcy9Jbk1pc3MvVHJhbnNpdGlvbiwgd2Ug
bXVzdCBlbnN1cmUgd2UncmUgYXQgdGhlIGVuZCB3aGVuIHRoZSBsYXN0IGl0ZW0gaXMgcG9seSBw
cm90by4KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyYW5zaXRpb25zIG11c3QgZG8gdGhp
cyBiZWNhdXNlIHRoZXkgbmVlZCB0byB2ZXJpZnkgdGhlcmUgaXNuJ3QgYSBzZXR0ZXIgaW4gdGhl
IGNoYWluLgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWlzcy9Jbk1pc3MgbmVlZCB0byBk
byB0aGlzIHRvIGVuc3VyZSB0aGVyZSBpc24ndCBhIG5ldyBpdGVtIGF0IHRoZSBlbmQgb2YgdGhl
IGNoYWluIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhcyB0aGUgcHJvcGVydHku
CisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1
cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBq
aXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBi
YXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFzZUZvckFjY2Vzc0dQ
UiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAo
c3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgaml0
Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0KHByb3RvdHlwZSkpLCBi
YXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7IC8v
IFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlwZS4gV2UgdXNlIHByb3RvdHlw
ZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRp
dmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6OkVxdWFs
LCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwp
KSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgK
LSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAg
ICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgp
KSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAg
ICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6
Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlw
ZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVz
cyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhz
Y3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNo
U3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BS
LCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAg
c3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsK
ICAgICB9IH07CkBAIC00MjgsNiArNTAyLDggQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUlt
cGwoQWNjZXNzR2VuZQogICAgIEFTU0VSVChtX2NvbmRpdGlvblNldC5zdHJ1Y3R1cmVzRW5zdXJl
VmFsaWRpdHlBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKTsKIAogICAgIGZvciAo
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IG1fY29uZGl0aW9uU2V0
KSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Byb3RvdHlwZUFjY2Vzc0NoYWluKTsKKwog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbmRpdGlvbi5vYmplY3QoKS0+c3RydWN0
dXJlKCk7CiAKICAgICAgICAgaWYgKGNvbmRpdGlvbi5pc1dhdGNoYWJsZUFzc3VtaW5nSW1wdXJl
UHJvcGVydHlXYXRjaHBvaW50KCkpIHsKQEAgLTUwNCwxMyArNTgwLDIzIEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIg
PSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBp
ZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUoCi0g
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2Uo
KSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7CisgICAgICAgIGlmIChtX3Byb3RvdHlw
ZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvL2RhdGFMb2dMbigiR2VuZXJhdGluZyBwcm90
b3R5cGUgYWNjZXNzIGNoYWluOiIpOworICAgICAgICAgICAgLy9kYXRhTG9nTG4oKnRoaXMpOwor
ICAgICAgICAgICAgLy9kYXRhTG9nTG4oIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0iKTsKKworICAgICAgICAgICAgLy8gVGhpcyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdl
IGdvdCBoZXJlIHZpYSBnZW5lcmF0ZVdpdGhHdWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBs
ZWZ0IHRoZSBiYXNlRm9yQWNjZXNzIGluc2lkZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJp
dmUgdGhlIGJhc2UsCisgICAgICAgICAgICAvLyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRo
ZSBzYW1lIGNvZGUgdG8gbG9hZCB0aGUgYmFzZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JB
Y2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VG
b3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BSOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQu
bW92ZSgKKyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFs
dGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nl
c3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
YmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBH
UFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBl
ICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAm
JiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29y
U2V0dGVyKSB7CkBAIC0xMDE2LDcgKzExMDIsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRl
SW1wbChBY2Nlc3NHZW5lCiAgICAgICAgIAogICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAg
CisKICAgICAgICAgLy8gV2UgbmVlZCB0byBlbnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5v
dCBtb3ZlIGZyb20gdW5kZXIgdXMuIE5vdGUgdGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8v
IGFyZSBpbW11dGFibGUgc28gd2UganVzdCBuZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3Qg
YW55IHZhbHVlIGluc2lkZSBpdC4KICAgICAgICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZp
c2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0
aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisj
aW5jbHVkZSAiUHJvdG90eXBlQWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmlu
dGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgog
ICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZN
JiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zm
c2V0LAotICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0
cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxk
IGJlIHVzZWQgZm9yIHRyYW5zaXRpb25zLgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVj
dHVyZSogb2xkU3RydWN0dXJlLAotICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4p
OwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJl
U3R1YkluZm8oVk0mLCBKU0NlbGwqIG93bmVyLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0x
ODYsOSArMTg3LDI1IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAor
ICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFt
X3Byb3RvdHlwZUFjY2Vzc0NoYWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nh
c2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNl
KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nl
c3NDaGFpbj4pOworICAgIEFjY2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAg
QWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3Ro
ZXIubV90eXBlKQorICAgICAgICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBt
X29mZnNldChvdGhlci5tX29mZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0
cnVjdHVyZSkKKyAgICAgICAgLCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkK
KyAgICB7CisgICAgICAgIGlmIChvdGhlci5tX3Byb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgICAg
ICAgICAgbV9wcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG90aGVyLm1fcHJvdG90eXBlQWNjZXNzQ2hh
aW4tPmNsb25lKCk7CisgICAgfQorCiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFj
Y2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQ
cmltb3JkaWFsOyB9CiAKQEAgLTIyNyw2ICsyNDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IG1fcHJvdG90eXBlQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJs
b2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElu
bGluZUNhcGFjaXR5ID0gcGNbb3BMZW5ndGggLSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAg
IGluc3RydWN0aW9uc1tpICsgb3BMZW5ndGggLSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxl
OwotICAgICAgICAgICAgb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisg
ICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0s
CiAgICAgICAgICAgICAgICAgbV9nbG9iYWxPYmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2Jq
ZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlz
dEluZGV4KTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAg
ICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAg
ICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9u
IDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFj
ZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJv
c2UgPSBmYWxzZTsKIH0KIAotR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2lu
dFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFz
ZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNz
VHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWlu
KQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSkKIHsKICAgICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3du
ZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25T
ZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRl
KQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRl
ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmli
dXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlLCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewog
ICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsMTggKzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
fTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQo
bmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJh
c2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0
KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RC
YXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21B
dHRyaWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdl
dHRlciA9IGN1c3RvbUdldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1
c3RvbVNldHRlciwKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFj
Y2Vzc0NoYWluLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAg
ICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRl
ciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JT
ZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1
bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0
ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgs
MTYgKzQ4LDEyIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29s
IHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQg
PSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIs
Ci0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0
ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAg
ICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdh
dGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAor
ICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmli
dXRlQW5ub3RhdGlvbj4sIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4pOwog
CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAg
ICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9
IG51bGxwdHIpOworICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0
ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0g
bnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVy
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25l
KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC02Nyw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBj
dXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9
CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlx
dWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0
aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVy
ZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3Ry
dWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0Nl
bGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUp
CiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJ
bmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3Ry
dWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1
YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVy
ZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmlu
c2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI2
OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBK
U0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3ND
YXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25l
ciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAg
IDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNv
bmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwg
b3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAko
cmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9u
KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVy
YXRpb25TdGF0ZSYpOwogCisgICAgLy8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBw
cm90bzoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
MzE4CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBK
U0NlbGwqLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFj
ZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01v
ZHVsZUVudmlyb25tZW50KiBtb2R1bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZz
ZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9m
ZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uo
dm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNl
dChzY29wZU9mZnNldCkKIHsKICAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93
bmVyLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShu
b25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNzcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNl
IEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNP
YmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5j
dGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNT
RVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAg
IC8vIEZJWE1FOiBXaGVuIGdvaW5nIHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9j
YXRvciBhbmQgdGVhY2gKKyAgICAvLyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxv
Y2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7Cisg
ICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gbnVsbHB0cjsKKyAgICBpZiAoY29u
c3RydWN0b3IpIHsKKyAgICAgICAgZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1dGFi
bGUoKTsKKworICAgICAgICBpc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBpZiAoT3B0aW9u
czo6Zm9yY2VQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gdHJ1ZTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBleGVjdXRhYmxlLT5lbnN1cmVQ
b2x5UHJvdG9XYXRjaHBvaW50KCkuaGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+
c2luZ2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7OworCisgICAgICAgIGlm
IChpc1BvbHlQcm90bykgeworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
ZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IEZpbmFsT2Jq
ZWN0VHlwZSk7CisgICAgICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAg
ICAgICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAg
ICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAg
ICAgICAvL0luZmVycmVkVmFsdWUqIGluZmVycmVkQ29uc3RydWN0b3IgPSBwcm90b3R5cGUtPnN0
cnVjdHVyZSh2bSktPmVuc3VyZVJhcmVEYXRhKHZtKS0+ZW5zdXJlSW5mZXJyZWRDb25zdHJ1Y3Rv
cih2bSk7CisgICAgICAgIC8vYm9vbCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90byA9IGZhbHNl
OworICAgICAgICAvL2lmIChKU09iamVjdCogcHJvdG90eXBlT2ZQcm90b3R5cGUgPSBqc0R5bmFt
aWNDYXN0PEpTT2JqZWN0Kj4odm0sIHByb3RvdHlwZS0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpKSB7
CisgICAgICAgIC8vICAgIGlmIChwcm90b3R5cGVPZlByb3RvdHlwZS0+c3RydWN0dXJlKHZtKS0+
aGFzUmFyZURhdGEoKSkgeworICAgICAgICAvLyAgICAgICAgU3RydWN0dXJlUmFyZURhdGEqIHJh
cmVEYXRhID0gcHJvdG90eXBlT2ZQcm90b3R5cGUtPnN0cnVjdHVyZSh2bSktPnJhcmVEYXRhKCk7
CisgICAgICAgIC8vICAgICAgICBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90byA9IHJhcmVEYXRh
LT5pbmZlcnJlZENvbnN0cnVjdG9yKCkgJiYgcmFyZURhdGEtPmluZmVycmVkQ29uc3RydWN0b3Io
KS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy99CisK
KyAgICAgICAgLy9pbmZlcnJlZENvbnN0cnVjdG9yLT5ub3RpZnlXcml0ZSh2bSwgY29uc3RydWN0
b3IsICJTZXR0aW5nIGluZmVycmVkIGNvbnN0cnVjdG9yIGluIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlIik7CisKKyAgICAgICAgLy9pc1BvbHlQcm90byA9IChpbmZlcnJlZENvbnN0cnVjdG9yLT5o
YXNCZWVuSW52YWxpZGF0ZWQoKSB8fCBwYXJlbnRQcm90b3R5cGVJc1BvbHlQcm90bykgJiYgZXhl
Y3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAg
ICAgIC8vaWYgKE9wdGlvbnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgIC8vICAgIGlzUG9s
eVByb3RvID0gdHJ1ZTsKKworICAgICAgICAvL2lmIChpc1BvbHlQcm90bykgeworICAgICAgICAv
LyAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBleGVjdXRhYmxlLT5jYWNoZWRQb2x5UHJv
dG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAvLyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0
dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAvLyAg
ICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAgICAvLyAgICAgICAgbV9zdHJ1Y3R1
cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgLy8gICAgICAgIG1faW5saW5l
Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgIC8vICAgICAg
ICByZXR1cm47CisgICAgICAgIC8vICAgIH0KKyAgICAgICAgLy99CisgICAgfQorCisgICAgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5
IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8g
VHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAg
ICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50
KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkg
eworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkg
dGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSBy
ZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
eworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNv
IGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3Qg
aW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkg
PSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAg
QVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBp
ZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQor
ICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGlu
ZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFj
aXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBB
U1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2Nh
dGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7
CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9y
Rm9yKGFsbG9jYXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlu
bGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9j
YXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBh
bGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAg
aW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNG
aW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlz
UG9seVByb3RvKTsKKworICAgIGlmIChpc1BvbHlQcm90bykgeworICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICBtX2FsbG9jYXRvciA9IG51
bGxwdHI7CisgICAgICAgIGV4ZWN1dGFibGUtPnNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSh2
bSwgc3RydWN0dXJlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZXhlY3V0YWJsZSkgewor
ICAgICAgICAgICAgZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAg
ICAgICAgICAgc3RydWN0dXJlLT5lbnN1cmVSYXJlRGF0YSh2bSktPnNldFNoYXJlZFBvbHlQcm90
b1dhdGNocG9pbnQoZXhlY3V0YWJsZS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKTsKKyAg
ICAgICAgfQorCisgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIH0KKworICAg
IC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQg
d2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5s
aW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVj
dCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxP
YmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6
ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgm
dm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9k
ZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1l
c0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7
CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5
TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9y
KCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZt
LCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29t
bW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3Zl
cnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1
ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQor
ICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0
OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJl
OyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZl
cnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7
Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5l
Q2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAg
ICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5s
aW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0
IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQot
ICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAg
ICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBh
bmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0
aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4K
LSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6
ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkg
ewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2Vz
LCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8v
IG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAg
ICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkg
PSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5
ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBp
bmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNT
RVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkp
OwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9j
YXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxv
Y2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAg
ICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBh
dmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAg
ICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRp
b25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5s
aW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpT
RmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9
Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlP
YmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBz
ZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAg
ICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9j
YXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAg
ICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lk
IGluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGNsZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0gMDsKKyAgICAg
ICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5jbGVhcigpOwog
ICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlzTnVsbCgpKTsK
QEAgLTEyNiwyNyArNzQsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAKLSAgICB1bnNpZ25lZCBw
b3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkK
LSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3Qo
KS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBz
aXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVB
cnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3lt
Ym9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFBy
b3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRp
b25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZl
Y3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9w
ZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0
eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBw
cm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAg
ICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZl
bCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
Y291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQo
Vk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9h
bGxvY2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJh
dGVkIGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
IGdlbmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVy
dHlDb25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhhc1N0b3Jl
ZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
KCk7CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlKAog
ICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2Fz
ZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAgICAgIGlmICgh
c3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmpl
Y3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwog
ICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94
eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cnVjdHVy
ZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbnRlZ3Jh
dGUgdGhpcyB3aXRoIFByb3RvdHlwZUFjY2Vzc0NoYWluOgorICAgICAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgLy8g
T3IgYXQgbGVhc3QgYWxsb3cgT1BDIHNldCBnZW5lcmF0aW9uIHdoZW4gdGhlCisgICAgICAgICAg
ICAvLyBiYXNlIGlzIG5vdCBwb2x5IHByb3RvOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyMQorICAgICAgICAgICAgcmV0dXJuIE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAg
CiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChn
bG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2aXNpb24gMjIyNjk4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCwyNCBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKGNhc2VzVG9BZGQuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4gQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6TWFkZU5vQ2hhbmdlczsKIAorICAgIGJv
b2wgc2hvdWxkUmVzZXQgPSBmYWxzZTsKKyAgICBmb3IgKGF1dG8mIGNhc2VUb0FkZCA6IGNhc2Vz
VG9BZGQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBleGlzdGluZ0Nhc2UgOiBtX2xpc3QpIHsKKyAg
ICAgICAgICAgIFN0cnVjdHVyZSogYSA9IGNhc2VUb0FkZC0+c3RydWN0dXJlKCk7CisgICAgICAg
ICAgICBTdHJ1Y3R1cmUqIGIgPSBleGlzdGluZ0Nhc2UtPnN0cnVjdHVyZSgpOworICAgICAgICAg
ICAgaWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAg
ICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGhpcyB3aWxsIGRlc3Ryb3kgb3Vyc2VsdmVzIGlm
IHdlIHN0YXJ0IHdhdGNoaW5nIGZvciB0aGVzZT8gSWYgc28sIGhhdmUgYSB3YXkgdG8gY29sbGVj
dCwgYW5kIGZpcmUKKyAgICAgICAgICAgICAgICAvLyB0aGVtIGluIGRlbGF5ZWQgZmFzaGlvbi4K
KyAgICAgICAgICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0
Y2hwb2ludCgpLmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9p
bnQoKS5nZXQoKSk7CisgICAgICAgICAgICAgICAgc2hvdWxkUmVzZXQgfD0gYS0+cmFyZURhdGEo
KS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsgLy8g
V2Ugb25seSByZXNldCBpZiB0aGlzIGlzIG91ciBmaXJzdCB0aW1lIGludmFsaWRhdGluZyB0aGlz
IHdhdGNocG9pbnQuCisgICAgICAgICAgICAgICAgYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVBy
b3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3Rl
ZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmIChzaG91bGRSZXNldCkKKyAgICAgICAgcmV0dXJuIEFjY2Vzc0dlbmVy
YXRpb25SZXN1bHQ6OkNsZWFyU3R1YjsKKwogICAgIC8vIE5vdyBhZGQgdGhpbmdzIHRvIHRoZSBu
ZXcgbGlzdC4gTm90ZSB0aGF0IGF0IHRoaXMgcG9pbnQsIHdlIHdpbGwgc3RpbGwgaGF2ZSBvbGQg
Y2FzZXMgdGhhdAogICAgIC8vIG1heSBiZSByZXBsYWNlZCBieSB0aGUgbmV3IG9uZXMuIFRoYXQn
cyBmaW5lLiBXZSB3aWxsIHNvcnQgdGhhdCBvdXQgd2hlbiB3ZSByZWdlbmVyYXRlLgogICAgIGZv
ciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgewpAQCAtMzM5LDcgKzM1Nyw3IEBAIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoUG9seW1vcnBo
aWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0YUxvZygiUmVnZW5lcmF0ZSB3
aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7CiAgICAgCi0gICAgQWNjZXNz
R2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3Rh
dGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAgICAgc3RhdGUuYWNjZXNzID0g
dGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsKQEAgLTU5MCw2ICs2MDgsOSBA
QCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgQWNjCiAgICAgY2FzZSBBY2Nl
c3NHZW5lcmF0aW9uUmVzdWx0OjpHZW5lcmF0ZWRGaW5hbENvZGU6CiAgICAgICAgIG91dC5wcmlu
dCgiR2VuZXJhdGVkRmluYWxDb2RlIik7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEFjY2Vz
c0dlbmVyYXRpb25SZXN1bHQ6OkNsZWFyU3R1YjoKKyAgICAgICAgb3V0LnByaW50KCJDbGVhclN0
dWIiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw3ICs1Miw4IEBAIHB1YmxpYzoKICAgICAgICAgR2F2ZVVwLAogICAgICAgICBCdWZmZXJl
ZCwKICAgICAgICAgR2VuZXJhdGVkTmV3Q29kZSwKLSAgICAgICAgR2VuZXJhdGVkRmluYWxDb2Rl
IC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZlciB3YW50IHRvIGdlbmVyYXRl
IGNvZGUgYWdhaW4uCisgICAgICAgIEdlbmVyYXRlZEZpbmFsQ29kZSwgLy8gR2VuZXJhdGVkIHNv
IG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJhdGUgY29kZSBhZ2Fpbi4KKyAg
ICAgICAgQ2xlYXJTdHViIC8vIFdlIGZvdW5kIG91dCBzb21lIGRhdGEgdGhhdCBtYWtlcyB1cyB3
YW50IHRvIHN0YXJ0IG92ZXIgZnJlc2ggd2l0aCB0aGlzIHN0dWIuIEN1cnJlbnRseSwgdGhpcyBo
YXBwZW5zIHdoZW4gd2UgZGV0ZWN0IHBvbHkgcHJvdG8uCiAgICAgfTsKICAgICAKICAgICBBY2Nl
c3NHZW5lcmF0aW9uUmVzdWx0KCkKQEAgLTk4LDYgKzk5LDcgQEAgcHVibGljOgogICAgIGJvb2wg
YnVmZmVyZWQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQnVmZmVyZWQ7IH0KICAgICBib29s
IGdlbmVyYXRlZE5ld0NvZGUoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gR2VuZXJhdGVkTmV3
Q29kZTsgfQogICAgIGJvb2wgZ2VuZXJhdGVkRmluYWxDb2RlKCkgY29uc3QgeyByZXR1cm4gbV9r
aW5kID09IEdlbmVyYXRlZEZpbmFsQ29kZTsgfQorICAgIGJvb2wgc2hvdWxkQ2xlYXJTdHViKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kID09IENsZWFyU3R1YjsgfQogICAgIAogICAgIC8vIElmIHdl
IGdhdmUgdXAgb24gdGhpcyBhdHRlbXB0IHRvIGdlbmVyYXRlIGNvZGUsIG9yIGlmIHdlIGdlbmVy
YXRlZCB0aGUgImZpbmFsIiBjb2RlLCB0aGVuIHdlCiAgICAgLy8gc2hvdWxkIGdpdmUgdXAgYWZ0
ZXIgdGhpcy4KQEAgLTE3MSwxNCArMTczLDE2IEBAIHByaXZhdGU6CiB9OwogCiBzdHJ1Y3QgQWNj
ZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtKQor
ICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwgbV9nbG9iYWxPYmplY3QoZ2xv
YmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lzdGVyc0ZvckNhbGxBbmRFeGNl
cHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRzVG9SZXN0b3JlUmVnaXN0ZXJz
SWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxhdGVkQ2FsbFNpdGVJbmRleChm
YWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAgIEpTR2xvYmFsT2JqZWN0KiBt
X2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7IG51bGxwdHIgfTsKICAgICBT
Y3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAgICBTY3JhdGNoUmVnaXN0ZXJB
bGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNlZFJlZ2lzdGVyU3RhdGU7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNv
bmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNywxNCAr
MTA3LDMwIEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGlmICghc3RydWN0dXJl
LT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsg
dGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgor
ICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2Ug
dGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBw
cm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJl
bnRseSh1aWQoKSk7CiAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQp
IHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQog
ICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvcGVydHkgZXhp
c3RzIGF0IG9mZnNldDogIiwgY3VycmVudE9mZnNldCwgIlxuIik7CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlwZSgpKSB7CisKKyAgICAgICAgSlNPYmpl
Y3QqIGN1cnJlbnRQcm90b3R5cGU7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFBy
b3RvdHlwZSgpKQorICAgICAgICAgICAgY3VycmVudFByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZSk7CisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0ganNEeW5hbWlj
Q2FzdDxKU09iamVjdCo+KCpzdHJ1Y3R1cmUtPnZtKCksIGJhc2UtPmdldFByb3RvdHlwZURpcmVj
dCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjdXJyZW50UHJvdG90eXBlICE9IHByb3Rv
dHlwZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVy
Ym9zZSkgewogICAgICAgICAgICAgICAgIGRhdGFMb2coCiAgICAgICAgICAgICAgICAgICAgICJJ
bnZhbGlkIGJlY2F1c2UgdGhlIHByb3RvdHlwZSBpcyAiLCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpLCAiIGV2ZW4gdGhvdWdoICIKQEAgLTE0NSw2ICsxNjEsMTQgQEAgYm9vbCBQcm9wZXJ0
eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIGlmICghc3RydWN0dXJlLT5o
YXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhp
cyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAg
ICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhp
cyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90
by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgICAgICAK
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90
eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJi
b3NlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvdG90eXBlQWNj
ZXNzQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3RvdHlwZUFjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDEyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHJvdG90eXBlQWNjZXNz
Q2hhaW4uaCIKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitz
dGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IFByb3RvdHlwZUFjY2Vzc0NoYWlu
OjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25z
dCBQcm9wZXJ0eVNsb3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNPYmpl
Y3QqIHRhcmdldCA9IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsK
KyAgICByZXR1cm4gY3JlYXRlKGdsb2JhbE9iamVjdCwgYmFzZSwgdGFyZ2V0LCB1c2VzUG9seVBy
b3RvKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBQcm90b3R5
cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2Vs
bCogYmFzZSwgSlNPYmplY3QqIHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBK
U0NlbGwqIGN1cnJlbnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAg
Ym9vbCBmb3VuZCA9IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAg
c3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiByZXN1bHQobmV3IFByb3RvdHlw
ZUFjY2Vzc0NoYWluKCkpOworCisgICAgZm9yICh1bnNpZ25lZCBpdGVyYXRpb25OdW1iZXIgPSAw
OyB0cnVlOyArK2l0ZXJhdGlvbk51bWJlcikgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnBy
b3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7Cisg
ICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFy
eVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAg
Ly8gVG8gc2F2ZSBtZW1vcnksIHdlIGRvbid0IGluY2x1ZGUgdGhlIGJhc2UgaW4gdGhlIGNoYWlu
LiBXZSBsZXQKKyAgICAgICAgLy8gQWNjZXNzQ2FzZSBwcm92aWRlIHRoZSBiYXNlIHRvIHVzIGFz
IG5lZWRlZC4KKyAgICAgICAgaWYgKGl0ZXJhdGlvbk51bWJlcikKKyAgICAgICAgICAgIHJlc3Vs
dC0+bV9jaGFpbi5hcHBlbmQoc3RydWN0dXJlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoY3VycmVudCA9PSBiYXNlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9
PSB0YXJnZXQpIHsKKyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2Ug
bmVlZCB0byBhY2Nlc3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJv
dG8gcHJvdG9jb2wuIElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAg
ICAgICAvLyB0aGluZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0
LCB0aGVuIHdlJ3JlIG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9s
eVByb3RvIHw9ICFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpOworCisgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2Jq
ZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9
CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om5l
ZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1
cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUHJvdG90eXBlQWNjZXNzQ2hhaW46Om9wZXJh
dG9yPT0oY29uc3QgUHJvdG90eXBlQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJl
dHVybiBtX2NoYWluID09IG90aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUHJvdG90eXBlQWNjZXNz
Q2hhaW46OmR1bXAoU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBj
b25zdAoreworICAgIG91dC5wcmludCgiUG9seVByb3RvdHlwZUFjY2Vzc0NoYWluIik7CisgICAg
b3V0LnByaW50KCI6IFtcbiIpOworICAgIGZvckVhY2goYmFzZVN0cnVjdHVyZSwgWyZdIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCkgeworICAgICAgICBvdXQucHJpbnQoIlx0Iik7CisgICAg
ICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQucHJpbnQoIlxuIik7CisgICAg
fSk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5
cGVBY2Nlc3NDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qcm90b3R5cGVBY2Nlc3NDaGFpbi5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVz
cGFjZSBKU0MgeworCitjbGFzcyBKU0dsb2JhbE9iamVjdDsKK2NsYXNzIEpTT2JqZWN0OworY2xh
c3MgUHJvcGVydHlTbG90OworY2xhc3MgU3RydWN0dXJlOworCitjbGFzcyBQcm90b3R5cGVBY2Nl
c3NDaGFpbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUHJvdG90eXBlQWNjZXNzQ2hhaW4pOworCitwdWJsaWM6CisgICAgUHJvdG90eXBl
QWNjZXNzQ2hhaW4oUHJvdG90eXBlQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBS
ZXR1cm5zIG51bGxwdHIgd2hlbiBpbnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQ
cm90byk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQcm90b3R5cGVBY2Nlc3NDaGFpbj4g
Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNPYmpl
Y3QqIHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
UHJvdG90eXBlQWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6
Om1ha2VfdW5pcXVlPFByb3RvdHlwZUFjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAg
Y29uc3QgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47
IH0KKworICAgIHZvaWQgZHVtcChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0OworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFByb3RvdHlwZUFjY2Vz
c0NoYWluJiBvdGhlcikgY29uc3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFByb3RvdHlw
ZUFjY2Vzc0NoYWluJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlz
ID09IG90aGVyKTsKKyAgICB9CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSBjb25zdDsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9y
RWFjaChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0Cisg
ICAgeworICAgICAgICBib29sIGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5j
KGJhc2VTdHJ1Y3R1cmUsIGF0RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fY2hhaW4uc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9j
aGFpbi5zaXplKCk7CisgICAgICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAg
ICAgfQorICAgIH0KKworcHJpdmF0ZToKKyAgICBQcm90b3R5cGVBY2Nlc3NDaGFpbigpID0gZGVm
YXVsdDsKKworICAgIC8vIFRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBv
biBBY2Nlc3NDYXNlIHByb3ZpZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisg
ICAgLy8gc3RydWN0dXJlIGlzIHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3
aXRoLgorICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMw
LDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFi
bGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNl
OjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAor
ICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQ
cm90b3R5cGVBY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZt
LCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQog
ICAgICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0No
YWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUg
PT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5l
dyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25l
ciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0
aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJs
ZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNp
b24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFj
Y2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBK
U0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2Ugewog
cHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBB
Y2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5
cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZp
YVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsK
KyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFs
U2V0ID0gbnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiA9IG51
bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYp
IGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgp
IGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJs
ZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0m
LCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6
CiAgICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xODQsNiArMTg0LDggQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRl
Rm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7
CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIFB1dEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNz
LnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhz
bG93UGF0aFN0YXRlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQg
dmFyaWFudDsKICAgICAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCShyZXZpc2lvbiAyMjI2OTgpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMxLDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQg
U3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJuYWw6
OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJIYWQgc3R1YiwgcmVzdWx0OiAiLCByZXN1
bHQsICJcbiIpOwogCisgICAgICAgIGlmIChyZXN1bHQuc2hvdWxkQ2xlYXJTdHViKCkpIHsKKyAg
ICAgICAgICAgIHJlc2V0KGNvZGVCbG9jayk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0Owor
ICAgICAgICB9CisKICAgICAgICAgaWYgKCFyZXN1bHQuYnVmZmVyZWQoKSkgewogICAgICAgICAg
ICAgYnVmZmVyZWRTdHJ1Y3R1cmVzLmNsZWFyKCk7CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OwpAQCAtMTUyLDYgKzE1NywxMSBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFN0cnVjdHVyZVN0
dWJJbmZvCiAgICAgICAgIGlmIChTdHJ1Y3R1cmVTdHViSW5mb0ludGVybmFsOjp2ZXJib3NlKQog
ICAgICAgICAgICAgZGF0YUxvZygiQ3JlYXRlZCBzdHViLCByZXN1bHQ6ICIsIHJlc3VsdCwgIlxu
Iik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRDbGVhclN0dWIoKSkgeworICAgICAgICAg
ICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAg
IH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgpKSB7CiAgICAgICAgICAgICBidWZm
ZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAko
cmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NDQsNiArMzc0NCwxMSBAQCBOb2RlKiBC
eXRlQ29kZVBhcnNlcjo6bG9hZCgKICAgICAgICAgICAgICAgICAvLyB0aGUgc3RydWN0dXJlcyBp
biB0aGUgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKSBhZ3JlZSBvbiB0aGUgcHJvdG90eXBlIChpdCB3
b3VsZCBiZQogICAgICAgICAgICAgICAgIC8vIGhpbGFyaW91c2x5IHJhcmUgaWYgdGhleSBkaWRu
J3QpLiBOb3RlIHRoYXQgd2UgYXJlIHJlbHlpbmcgb24gc3RydWN0dXJlU2V0KCkgaGF2aW5nCiAg
ICAgICAgICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIGVsZW1lbnQuIFRoYXQgd2lsbCBhbHdheXMg
YmUgdHJ1ZSBoZXJlIGJlY2F1c2Ugb2YgaG93IEdldEJ5SWRTdGF0dXMvUHV0QnlJZFN0YXR1cyB3
b3JrLgorCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IHJpZ2h0IG5vdywgaWYgd2UgaGF2ZSBh
biBPUENTLCB3ZSBoYXZlIG1vbm8gcHJvdG8uIEhvd2V2ZXIsIHRoaXMgd2lsbAorICAgICAgICAg
ICAgICAgIC8vIG5lZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlIG9uY2Ugd2UgaGF2ZSBh
IGh5YnJpZCBkYXRhIHN0cnVjdHVyZSBmb3IKKyAgICAgICAgICAgICAgICAvLyBwb2x5IHByb3Rv
OgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzczMzkKICAgICAgICAgICAgICAgICBKU09iamVjdCogcHJvdG90eXBlID0gdmFyaWFu
dC5zdHJ1Y3R1cmVTZXQoKVswXS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgICAgICAg
ICAgICAgYm9vbCBhbGxBZ3JlZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMTsgaSA8IHZhcmlhbnQuc3RydWN0dXJlU2V0KCkuc2l6ZSgpOyArK2kpIHsKQEAgLTQz
NDEsMTIgKzQzNDYsMTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25l
ZAogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0
aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJhcmVEYXRhKCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFs
bG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5m
cmVlemUocmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBv
aW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0
KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZl
IHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBo
YW50b20sIGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVj
dCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJsZSB0byBhbGxvY2F0ZSBhIHBvbHkg
cHJvdG8gb2JqZWN0IGhlcmU6CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5h
bGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFw
aC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI2
OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTc4Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5v
ZGUqIG5vZGUsIAogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9i
amVjdEZvcihub2RlLT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUo
KTsKICAgICBib29sIGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVh
Y2goWyZdIChSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29k
ICY9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAg
ICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpCisgICAgICAgICAg
ICAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAg
ICAgICAgICAmJiAhc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3Ry
dWN0dXJlLT5nZXRDb25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJv
bC5pbXBsKCkpID09IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQs
NyArMjQ0LDExIEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAg
ICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBh
dXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRh
KGV4ZWMsIGlubGluZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgbnVsbHB0cik7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBy
YXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSgpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmICghc3RydWN0dXJlLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1
Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9y
KS0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CisgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQogCiAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yLT5nZXQoZXhl
Yywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMjIyNjk4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDI5Miw3ICs0MjkyLDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNo
VGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgcmFyZURhdGFHUFIpKTsKICAgICAgICAgbV9q
aXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJl
RGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGU6Om9mZnNldE9mQWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JHUFIpOwogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJh
cmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVyZUdQUik7CisKICAgICAg
ICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olpl
cm8sIGFsbG9jYXRvckdQUikpOworCiAgICAgICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0KHJlc3Vs
dEdQUiwgbnVsbHB0ciwgYWxsb2NhdG9yR1BSLCBzdHJ1Y3R1cmVHUFIsIFRydXN0ZWRJbW1QdHIo
MCksIHNjcmF0Y2hHUFIsIHNsb3dQYXRoKTsKICAgICAgICAgCiAgICAgICAgIG1faml0LmxvYWRQ
dHIoSklUQ29tcGlsZXI6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJh
cmVEYXRhKCkpLCByYXJlRGF0YUdQUik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyMzcsNyArMzIzNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQdXRCeVZh
bEZvckMKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHBy
b3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZykKK3ZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcg
dmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcg
c2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZykKIHsKICAgICAvLyBDaGVjayB0aGF0IHBy
b3RvdHlwZSBpcyBhbiBvYmplY3QuCiAgICAgc3BlY3VsYXRpb25DaGVjayhCYWRUeXBlLCBKU1Zh
bHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChwcm90b3R5cGVSZWcpKTsKQEAg
LTMyNDksOCArMzI0OSwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VP
ZkZvCiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AoJm1faml0KTsKICAgICBNYWNyb0Fz
c2VtYmxlcjo6SnVtcCBwZXJmb3JtRGVmYXVsdEhhc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoOChN
YWNyb0Fzc2VtYmxlcjo6RXF1YWwsCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNj
cmF0Y2hSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoUHJv
eHlPYmplY3RUeXBlKSk7Ci0gICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCks
IHNjcmF0Y2hSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKLSAgICBtX2ppdC5sb2FkUHRy
KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBl
T2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcpOworICAgIG1faml0LmVt
aXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgc2Ny
YXRjaDJSZWcpOworICAgIC8vbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhz
Y3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgQ2VsbFBheWxvYWRPZmZz
ZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3Moc2NyYXRjaDNSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoM1Jl
Zyk7CisgICAgYXV0byBub3RQb2x5UHJvdG8gPSBtX2ppdC5icmFuY2hJZk5vdEludDMyKEpTVmFs
dWVSZWdzKHNjcmF0Y2gzUmVnKSk7CisgICAgbV9qaXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRj
aDNSZWcsIHNjcmF0Y2gzUmVnKTsKKyAgICBtX2ppdC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJ
bmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpT
T2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHNjcmF0Y2gzUmVnKTsKKyAgICBub3RQ
b2x5UHJvdG8ubGluaygmbV9qaXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0
Y2hSZWcpOworCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJy
YW5jaFB0cihNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7
CiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Mo
c2NyYXRjaFJlZykpLmxpbmtUbyhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM4OCwxMiBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1
bGF0ZUNlbGxPcGVyYW5kIHByb3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRj
aDIodGhpcyk7CisgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAg
CiAgICAgICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAg
IEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0
Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNj
cmF0Y2gzLmdwcigpOwogICAgICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXND
ZWxsID0gbV9qaXQuYnJhbmNoSWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBH
UFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMz
OTQsNyArMzQwMyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4K
ICAgICAgICAgCiAgICAgICAgIGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAgICAg
ICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVn
LCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gy
UmVnLCBzY3JhdGNoM1JlZyk7CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsK
IApAQCAtMzQwNywxMyArMzQxNiwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5z
dGFuY2VPZihOCiAgICAgCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BS
VGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlz
KTsKICAgICAKICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcg
cHJvdG90eXBlUmVnID0gcHJvdG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0g
c2NyYXRjaC5ncHIoKTsKICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsK
KyAgICBHUFJSZWcgc2NyYXRjaDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21w
aWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoMlJlZyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9k
ZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0
Y2gzUmVnKTsKIAogICAgIGJsZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwog
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
aAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgbm9uU3BlY3VsYXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGlu
dmVydCA9IGZhbHNlKTsKICAgICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJv
b2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JP
YmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVn
IHNjcmF0Y2hBbmRSZXN1bHRSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21w
aWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJv
dG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVn
LCBHUFJSZWcgc2NyYXRjaDNSZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSop
OwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAy
MjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg5NTMsMTAgKzg5NTMsMTIgQEAgcHJpdmF0ZToKICAgICAgICAg
CiAgICAgICAgIExCYXNpY0Jsb2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwogICAg
ICAgICBMQmFzaWNCbG9jayBsb29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2lj
QmxvY2sgbG9hZFByb3RvdHlwZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFz
aWNCbG9jayBsb2FkUG9seVByb3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2lj
QmxvY2sgY29tcGFyZVByb3RvdHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNp
Y0Jsb2NrIG5vdFlldEluc3RhbmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2lj
QmxvY2sgY29udGludWF0aW9uID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxv
Y2sgbG9hZFByb3RvdHlwZURpcmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNp
Y0Jsb2NrIGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAgICAg
ICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICAK
ICAgICAgICAgTFZhbHVlIGNvbmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCku
dXNlS2luZCgpID09IFVudHlwZWRVc2UpCkBAIC04OTc0LDE2ICs4OTc2LDI4IEBAIHByaXZhdGU6
CiAgICAgICAgIFZhbHVlRnJvbUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2Vs
bCk7CiAgICAgICAgIG1fb3V0Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5h
cHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5k
VG8obG9vcCwgbG9hZFByb3RvdHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291
dC5waGkoSW50NjQsIG9yaWdpbmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0
LmxvYWQ4WmVyb0V4dDMyKHZhbHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAg
ICAgICBtX291dC5icmFuY2goCiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291
dC5jb25zdEludDMyKFByb3h5T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShsb2Fk
UHJvdG90eXBlRGlyZWN0KSwgcmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAg
ICAgICAgIHVzdWFsbHkobG9hZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3Rh
bmNlU2xvdykpOwogCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3Qs
IG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJp
dHMsIGxvYWRQb2x5UHJvdG8pOwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVj
dHVyZSh2YWx1ZSk7Ci0gICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9h
ZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAgICBM
VmFsdWUgcHJvdG90eXBlQml0cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3Ry
dWN0dXJlX3Byb3RvdHlwZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBl
ID0gbV9vdXQuYW5jaG9yKHByb3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2goaXNJ
bnQzMihwcm90b3R5cGVCaXRzKSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFy
ZVByb3RvdHlwZSkpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNv
bXBhcmVQcm90b3R5cGUpOworICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJv
dG90eXBlQml0cywgbV9vdXQuY29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1ZUZy
b21CbG9jayBwb2x5UHJvdG8gPSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5sb2Fk
NjQobV9vdXQuYmFzZUluZGV4KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1
ZSwgaW5kZXgsIFNjYWxlRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkp
KTsKKyAgICAgICAgbV9vdXQuanVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBtX291
dC5hcHBlbmRUbyhjb21wYXJlUHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExW
YWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwg
cG9seVByb3RvKTsKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1f
b3V0LmFuY2hvcihtX291dC5ib29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAg
ICAgICAgICAgIG1fb3V0LmVxdWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjY5
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE2Niw4ICsxNjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJ
bnN0cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4g
cmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lz
ZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2Yg
dGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwg
cmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVy
ZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZt
KCksIHJlZ1QyLCByZWdUNCwgcmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1
Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzU3RvcmVkUHJv
dG90eXBlID0gYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHplcm9F
eHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwg
cmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJl
Z1Q0KTsKKyAgICBoYXNTdG9yZWRQcm90b3R5cGUubGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0
LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwg
cmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI2
OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hl
R2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQg
OiBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBz
bG90LnNsb3RCYXNlKCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1NywzNSBAQCBzdGF0
aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRl
bkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNl
dCgpICYmIHN0cnVjdHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZv
clByb3BlcnR5QWJzZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hl
OwogCi0gICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBj
b25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1l
LmltcGwoKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJh
c2UoKSwKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFs
aWQoKSkKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8p
OworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAg
ICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRp
dGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1
c2VzUG9seVByb3RvIHx8IGJhc2VDZWxsLT5zdHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBl
KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQgaW5zdGVhZCBmb3IgZmFzdGVyIGFjY2Vzc2VzLgorICAgICAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKworICAgICAgICAgICAgICAgIGlmIChzbG90LmlzVW5z
ZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRp
dGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRl
Q29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90
LmNhY2hlZE9mZnNldCgpOwogICAgICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVy
ID0gbnVsbHB0cjsKQEAgLTI5MywxMyArMzA3LDE3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNl
dCgpKTsKLSAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIg
JiYgSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0
ZXIsIHN0cnVjdHVyZSkpCisgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3Zl
KHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRG
cm9tUHJveHkgJiYgZ2V0dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJ
bnRyaW5zaWNHZXR0ZXIoZ2V0dGVyLCBzdHJ1Y3R1cmUpICYmICFwcm90b3R5cGVBY2Nlc3NDaGFp
bikgeworICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aXRo
IHBvbHkgcHJvdG8sIGJ1dCBmb3Igb3VyIG93biBzYW5pdHksIHdlIHByb2JhYmx5CisgICAgICAg
ICAgICAvLyB3YW50IHRvIGRvIGEgcG9pbnRlciBjaGVjayBvbiB0aGUgYWN0dWFsIGdldHRlci4g
QSBnb29kIHRpbWUgdG8gbWFrZSB0aGlzIHdvcmsgd291bGQKKyAgICAgICAgICAgIC8vIGJlIHdo
ZW4gd2UgY2FuIGluaGVyaXQgZnJvbSBidWlsdGluIHR5cGVzIGluIHBvbHkgcHJvdG8gZmFzaGlv
bjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzczMTgKICAgICAgICAgICAgIG5ld0Nhc2UgPSBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
OjpjcmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5jYWNoZWRPZmZzZXQoKSwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQsIGdldHRlcik7Ci0gICAgICAgIGVsc2UgeworICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNVbnNldCgp
KSB7CiAgICAgICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZSh2bSwgY29kZUJsb2NrLCBzbG90LmlzVW5zZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3MgOiBBY2Nl
c3NDYXNlOjpMb2FkLAotICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRU
YXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFjY2Vz
c0Nhc2U6OkFjY2Vzc1R5cGUgdHlwZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hl
YWJsZUdldHRlcigpKQpAQCAtMzE2LDcgKzMzNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlv
biB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwK
ICAgICAgICAgICAgICAgICAgICAgc2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFi
bGVDdXN0b20oKSA/IHNsb3QuY3VzdG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAgICAgICAg
ICAgICAgICBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxs
cHRyLAotICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAgICAgICAg
ICAgICBkb21BdHRyaWJ1dGUsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTM4Niw2ICs0MDQsNyBAQCBzdGF0aWMgSW5s
aW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRCeUlECiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2U7CisgICAgSlND
ZWxsKiBiYXNlQ2VsbCA9IGJhc2VWYWx1ZS5hc0NlbGwoKTsKIAogICAgIGlmIChzbG90LmJhc2Uo
KSA9PSBiYXNlVmFsdWUgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAgICAgICAgIGlmIChz
bG90LnR5cGUoKSA9PSBQdXRQcm9wZXJ0eVNsb3Q6OkV4aXN0aW5nUHJvcGVydHkpIHsKQEAgLTQy
OSw0OCArNDQ4LDgzIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQK
ICAgICAgICAgICAgIEFTU0VSVCghbmV3U3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSk7CiAgICAg
ICAgICAgICBBU1NFUlQobmV3U3RydWN0dXJlLT5pc09iamVjdCgpKTsKICAgICAgICAgICAgIAor
ICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5
cGVBY2Nlc3NDaGFpbjsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNv
bmRpdGlvblNldDsKICAgICAgICAgICAgIGlmIChwdXRLaW5kID09IE5vdERpcmVjdCkgewotICAg
ICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRl
Q29uZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKLSAgICAgICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKLSAgICAg
ICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAg
Ym9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSwgYmFzZUNlbGwsIG51bGxwdHIsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAg
ICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvIHx8IGJhc2VDZWxsLT5zdHJ1Y3R1
cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVy
dHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywg
b2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAg
ICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zmc2V0LCBz
dHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFj
Y2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNoZWFibGVD
dXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxlU2V0dGVyKCkpIHsKICAgICAgICAgaWYgKHNsb3Qu
aXNDYWNoZWFibGVDdXN0b20oKSkgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgY29uZGl0aW9uU2V0OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlw
ZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKIAogICAgICAgICAgICAgaWYgKHNs
b3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9
Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3Bl
cnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3Ry
dWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAo
IWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVBy
b3RvID0gZmFsc2U7CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90
b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFz
ZUNlbGwsIHNsb3QuYmFzZSgpLCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAo
IXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52
YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlQ2VsbC0+c3RydWN0dXJlKCktPmhhc1N0
b3JlZFByb3RvdHlwZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0No
YWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5
SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0
cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAg
IGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFj
Y2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVT
ZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNldCwgY29uZGl0aW9uU2V0LAotICAgICAgICAg
ICAgICAgIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKKyAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1
c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVj
dHVyZSwgaW52YWxpZE9mZnNldCwKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQsIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pLCBzbG90LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2Uo
KSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCBjb25kaXRpb25TZXQ7Ci0gICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQ7Cisg
ICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvdG90eXBlQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5j
YWNoZWRPZmZzZXQoKTsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1
ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAg
IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwg
aWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlk
KCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwotICAgICAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRp
dGlvbigpLm9mZnNldCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8gfHwgYmFzZUNlbGwtPnN0cnVjdHVyZSgpLT5oYXNT
dG9yZWRQcm90b3R5cGUoKSkgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAg
ICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0
eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBz
dHJ1Y3R1cmUsIHNsb3QuYmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gR2l2ZVVwT25DYWNoZTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChvZmZzZXQgPT0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCkpOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNl
ID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBj
b2RlQmxvY2ssIEFjY2Vzc0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlv
blNldCk7CisgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVy
LCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vz
c0NoYWluKSk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTUxNywxNSArNTcxLDM1IEBAIHN0YXRp
YyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAg
CisgICAgc3RkOjp1bmlxdWVfcHRyPFByb3RvdHlwZUFjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nl
c3NDaGFpbjsKICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CiAg
ICAgaWYgKHdhc0ZvdW5kKSB7Ci0gICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0gYmFzZSkg
ewotICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90
eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3Ry
dWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgIGlmIChzbG90
LnNsb3RCYXNlKCkgIT0gYmFzZSkgeyAKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90byA9
IGZhbHNlOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nl
c3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwg
dXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7
CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlw
ZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlLT5zdHJ1Y3R1
cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2Vu
ZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAg
ICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVu
dC5pbXBsKCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOwor
ICAgICAgICBib29sIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgcHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBQcm90b3R5cGVBY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgIGlmICghcHJv
dG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nl
c3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghdXNlc1BvbHlQcm90byB8fCBiYXNlLT5z
dHJ1Y3R1cmUoKS0+aGFzU3RvcmVkUHJvdG90eXBlKCkpIHsKKyAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAg
ICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKQEAgLTUzMyw3ICs2MDcsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVw
YXRjaEluKAogICAgIExPR19JQygoSUNFdmVudDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpZGVudCkpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdh
c0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRP
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywg
d2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxp
ZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKIAogICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8u
YWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNvZGVCbG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkp
OwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjcsNiArNjY3LDI0IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfYnlfaWQKICAgICAgICAgJiYgYmFz
ZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGUoKSkgewogCisgICAg
ICAgIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVjdHVyZUlEID0gcGNbNF0udS5z
dHJ1Y3R1cmVJRDsKKyAgICAgICAgICAgIGlmIChvbGRTdHJ1Y3R1cmVJRCkgeworICAgICAgICAg
ICAgICAgIGF1dG8gb3Bjb2RlID0gSW50ZXJwcmV0ZXI6OmdldE9wY29kZUlEKHBjWzBdKTsKKyAg
ICAgICAgICAgICAgICBpZiAob3Bjb2RlID09IG9wX2dldF9ieV9pZAorICAgICAgICAgICAgICAg
ICAgICB8fCBvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkX3Vuc2V0CisgICAgICAgICAgICAgICAgICAg
IHx8IG9wY29kZSA9PSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZCkgeworICAgICAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3Ry
dWN0dXJlSUQpOworICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFsdWUu
YXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVj
dHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgp
LmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJv
dG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVk
IHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgSlNDZWxs
KiBiYXNlQ2VsbCA9IGJhc2VWYWx1ZS5hc0NlbGwoKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBiYXNlQ2VsbC0+c3RydWN0dXJlKCk7CiAgICAgICAgIGlmIChzbG90LmlzVmFsdWUo
KSAmJiBzbG90LnNsb3RCYXNlKCkgPT0gYmFzZVZhbHVlKSB7CkBAIC03MzcsNiArNzU1LDIyIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgJiYgYmFz
ZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogCisK
KyAgICAgICAgeworICAgICAgICAgICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0
XS51LnN0cnVjdHVyZUlEOworICAgICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAg
ICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0
KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFs
dWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisgICAgICAgICAgICAgICAgaWYgKHNsb3QudHlw
ZSgpID09IFB1dFByb3BlcnR5U2xvdDo6TmV3UHJvcGVydHkpCisgICAgICAgICAgICAgICAgICAg
IGIgPSBiLT5wcmV2aW91c0lEKCk7CisKKyAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpz
aG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgYS0+
cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBT
dHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3Rv
IG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKwogICAgICAgICAvLyBTdGFydCBvdXQgYnkgY2xlYXJpbmcgb3V0IHRoZSBvbGQgY2Fj
aGUuCiAgICAgICAgIHBjWzRdLnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9sZCBzdHJ1Y3R1cmUK
ICAgICAgICAgcGNbNV0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2Zmc2V0CkBAIC03NjAsMTYg
Kzc5NCwxNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAgICAg
ICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpICYmIHN0cnVjdHVyZS0+
cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpID09IHN0cnVjdHVyZS0+b3V0T2ZMaW5l
Q2FwYWNpdHkoKSkgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2
aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwog
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBz
dHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFpbikgeworICAgICAgICAgICAgICAgICAg
ICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBhdXRvIHJl
c3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSwgc2F3UG9seVBy
b3RvKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBJbnZhbGlkUHJvdG90eXBl
Q2hhaW4gJiYgIXNhd1BvbHlQcm90bykgewogICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pc09iamVjdCgpKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzRdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+aWQo
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVdLnUub3BlcmFuZCA9IHNsb3QuY2FjaGVk
T2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s2XS51LnN0cnVjdHVyZUlEID0g
c3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEocGNbOF0udS5w
dXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihl
eGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4g
PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGFzT2JqZWN0KGJhc2VDZWxsKSk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNoYWluKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCgKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgY2hhaW4pOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KHZtLCBjb2RlQmxvY2ssIGNo
YWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg
IHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nhc3Q8UHV0QnlJZEZsYWdzPigKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyB8CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShyZXZp
c2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3Rh
dGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShFeGVjU3RhdGUmIHN0
YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgYXV0byYgdm0g
PSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpOwogfQogCiBzdGF0aWMg
SlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0aGlzT2JqZWN0LCBK
U1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02MTAsNyArNjA5LDcgQEAg
c3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAg
ICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVjdCkpCisgICAgICAgICAg
ICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3Qp
KQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAg
ICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAt
NjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9pbihFeGVjU3RhdGUK
ICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJsZU51bWJlcih2YWx1
ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3du
VG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUo
dm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAgICAgICAgICAgICAg
ICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAg
ICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAg
IGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTgxNiw3ICs4
MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAg
IGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMoKS5kYXRhKCk7Ci0g
ICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xl
KGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2Jq
ZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0
YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7
CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVBy
b3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xlbmd0aCgpKQogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZseS5jb250aWd1b3Vz
RG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkg
JiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAg
ICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgc3Rk
OjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3RvcmFnZSA9ICp0aGlzT2Jq
ZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChsZW5ndGggPiBz
dG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChz
dG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0
aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwogICAgICAgICBzdGQ6
OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc2LDcgKzExNzUsNyBAQCBzdGF0
aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlT
dG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2UtPnN0cnVjdHVyZSgpLT5o
b2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlmIChMSUtFTFkoIWhhc0Fu
eUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBz
b3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAgIGlmICh2YWx1ZSkgewpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVu
dHMuY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksOSBAQCBD
bG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgICAgIHJldHVybiAw
OwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0gICAgaWYgKFVOTElLRUxZKHN0cnVjdHVy
ZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJl
LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgewogICAgICAgICBidXR0ZXJm
bHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIsIHN0cnVjdHVyZSwg
bGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgp
LT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwotCiAgICAgfSBlbHNlIHsKICAg
ICAgICAgSW5kZXhpbmdIZWFkZXIgaW5kZXhpbmdIZWFkZXI7CiAgICAgICAgIGluZGV4aW5nSGVh
ZGVyLnNldFZlY3Rvckxlbmd0aCh2ZWN0b3JMZW5ndGgpOwpAQCAtODEsNyArODAsNyBAQCBDbG9u
ZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgLy8gTkIuIFNvbWUgY2xp
ZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFsIG9iamVjdCBvZiBvZiB0aGlzIG9iamVj
dCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9mIHRoZSBjYWxsZWUuIFdlIGRvbid0IGRv
IHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3VsZC4KICAgICBDbG9uZWRBcmd1bWVudHMq
IHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNs
b25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUsIGxlbmd0aCk7Ci0gICAgQVNTRVJUKCFy
ZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNl
U2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNT
RVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChy
ZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApAQCAtMTI1LDE0ICsxMjQsMTQgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1
bWVudHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNTRVJUKG15RnJhbWUtPmxleGljYWxHbG9i
YWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCkgPT0gcmVzdWx0LT5zdHJ1Y3R1
cmUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRl
eGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBz
aG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVudHM6
OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBFeGVjU3RhdGUqIHRh
cmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVkQXJndW1lbnRzKiBy
ZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0RnJhbWUsIG51bGxw
dHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4
aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0NSw3ICsxNDQsNyBAQCBDbG9uZWRBcmd1
bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgCiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIGks
IGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3Vs
dC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5j
cHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Miw2ICsyNDIsOCBAQCBTTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMpCiAgICAgICAgIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpLT5vYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0
cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JDb25z
dHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNt
YS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21j
b25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+
Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJl
dmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
RXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5j
dGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRyZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JDb25z
dHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmpl
Y3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5t
X2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVu
Y3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFsQ29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjI2
OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1
ZGUgIlNjcmlwdEV4ZWN1dGFibGUuaCIKICNpbmNsdWRlICJTb3VyY2VDb2RlLmgiCisjaW5jbHVk
ZSA8d3RmL0JveC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMTcyLDYgKzE3MywxOCBAQCBw
dWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9u
RnVuY3Rpb24oKSB7IHJldHVybiBtX3NpbmdsZXRvbkZ1bmN0aW9uLmdldCgpOyB9CisgICAgLy8g
Q2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJlIGZvciB0aGUgcmVzdWx0IG9mIGNvbnN0cnVjdGlu
ZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3RydWN0dXJlKiBjYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1
cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIHZv
aWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUp
OyB9CisKKyAgICBJbmxpbmVXYXRjaHBvaW50U2V0JiBlbnN1cmVQb2x5UHJvdG9XYXRjaHBvaW50
KCkKKyAgICB7CisgICAgICAgIGlmICghbV9wb2x5UHJvdG9XYXRjaHBvaW50KQorICAgICAgICAg
ICAgbV9wb2x5UHJvdG9XYXRjaHBvaW50ID0gQm94PElubGluZVdhdGNocG9pbnRTZXQ+OjpjcmVh
dGUoSXNXYXRjaGVkKTsKKyAgICAgICAgcmV0dXJuICptX3BvbHlQcm90b1dhdGNocG9pbnQ7Cisg
ICAgfQorCisgICAgQm94PElubGluZVdhdGNocG9pbnRTZXQ+IHNoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7IH0KIAogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0YWJsZUJhc2U7CkBAIC0xODksNiArMjAyLDggQEAg
cHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2Nr
Rm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxUeXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVT
ZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVycmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247
CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7
CisgICAgQm94PElubGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVE
YXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFy
ZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6
ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0
eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0
IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzks
NyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7
CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsK
KyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1
bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAgICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVs
bCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVu
Y3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYs
MTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJbnRlcm5hbEZ1bmN0aW9uOjpjYWxjdWxhdGUKIAog
U3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZVNsb3co
RXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5ld1RhcmdldCwgU3RydWN0dXJlKiBiYXNlQ2xhc3Mp
CiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NFUlQoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQuaXND
b25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQobmV3VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBleGVj
LT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VSVChiYXNlQ2xhc3MtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUgYW4gSW50ZXJuYWxGdW5jdGlvbiBpZiB3
ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3RydWN0LgogICAgIEpTRnVuY3Rpb24qIHRh
cmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIG5ld1RhcmdldCk7
CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczOCw3ICs3MzgsNyBAQCBKU0FycmF5
KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBlCiAgICAgY2FzZSBBcnJheVdpdGhJbnQz
MjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6IHsKICAgICAgICAgVk0mIHZtID0gZXhl
Yy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBz
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAgICBp
ZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKQogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBl
eGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3Myw3ICs3NzMsNyBAQCBib29sIEpTQXJy
YXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAgICAgCiAgICAgLy8gSWYgdGhlIGFycmF5
IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBpbiBhbiBhYm5vcm1hbCBzdGF0ZSwKICAg
ICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGluIEFycmF5UHJvdG90eXBlLgotICAgIGlm
ICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYg
dGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlz
KSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAogICAgICAgICB8fCBzaG91bGRVc2VTbG93
UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC05MDQsNyAr
OTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAg
ICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRo
aW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhy
b3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJy
YXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50
OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSlNWYWx1
ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSArIGNvdW50XS5nZXQoKTsKICAgICAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05NDUsNyArOTQ1LDcgQEAgYm9vbCBKU0Fy
cmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNo
ZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhh
dCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQg
dGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAg
ICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhp
cy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAg
ICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsg
aSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAgZG91YmxlIHYgPSBidXR0ZXJmbHktPmNv
bnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VM
WSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBAQCBib29sIEpTQXJyYXk6OmlzSXRlcmF0
b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKKyAg
ICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlw
ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5l
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJ
bmxpbmVzLmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDggKzY0LDggQEAgaW5s
aW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0mIHZtLAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZlIGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhl
ZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBhbmQgT2JqZWN0LnByb3RvdHlwZQogICAg
IC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90eXBlIGNoYWluLiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTkyCi0gICAgaWYgKHN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkKLSAgICAgICAgfHwgb3RoZXJBcnJheS0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAo
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKQorICAg
ICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJu
IHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmNwcAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NywxMyArMjc3LDEzIEBAIHZv
aWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5nU3RydWMKICAgICAgICAgZWxzZSBpZiAo
c3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKEpTT2JqZWN0OjppbmZvKCkpKSB7
CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDogIiwgUmF3UG9pbnRlcihhc0NlbGwoKSkp
OwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBidXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihh
c09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7Ci0gICAgICAgICAgICBvdXQucHJpbnQo
IiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOworICAgICAgICAgICAg
b3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCks
ICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIkNlbGw6ICIs
IFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiICgiLCBpbkNv
bnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0KICNpZiBVU0UoSlNW
QUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJ
RCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVjdHVyZUlEOiAiLCBhc0NlbGwoKS0+c3Ry
dWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKGlzVHJ1ZSgpKQogICAgICAgICBv
dXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDE2ICsxMjYs
MjIgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVSYQogICAgIHJldHVy
biBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVjdCogSlNGdW5jdGlvbjo6cHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CisgICAg
aWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4gYXNPYmplY3QocHJvdG90
eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0pLT5vYmplY3RQcm90b3R5cGUoKTsK
K30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVBbmRJbml0aWFsaXpl
UmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAg
QVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAg
ICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKKyAgICBK
U09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKTsK
ICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFyZURhdGE6OmNyZWF0
ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByYXJlRGF0
YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0p
LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBp
bGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8v
IFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAg
LTE0OSwxMSArMTU1LDggQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6aW5pdGlhbGl6
ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwg
Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJv
dG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlw
ZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBKU09iamVj
dCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKTsKKyAgICBt
X3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9i
amVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogICAgIHJldHVybiBt
X3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNzEsNyArMzc0LDYgQEAgYm9vbCBKU0Z1bmN0aW9u
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zmc2V0ID0gdGhpc09iamVj
dC0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGF0dHJp
YnV0ZXMpOwogICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAg
ICAgIH0KLQogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXMsIHRo
aXNPYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAgIH0KIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2aXNpb24gMjIyNjk4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGdW5jdGlv
bk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJldHVybnMgdGhlIF9f
cHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBi
ZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZN
JiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1
bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9u
KFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNpb24gMjIyNjk4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmRO
b24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBl
RGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMs
OSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlm
ICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmhh
c1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJv
dG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElubGluZVNsb3coRXhlY1N0YXRl
KiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUodm0pLT5n
ZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAgICAgIGlmIChpc1ZhbGlkT2Zm
c2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSh2bSkt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBv
YmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRoaXMtPnByb3RvdHlwZUNoYWlu
TWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmlj
dE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAg
ICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmNy
ZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9IE1BWF9TVE9SQUdFX1ZFQ1RP
Ul9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0gaW5kZXhpbmdUeXBlKCk7CiAg
ICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkp
OwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAg
IEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgQVNTRVJUKCFpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpcy0+c3RydWN0
dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5ID0gc3RydWN0dXJlLT5vdXRP
ZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAgQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0ZXJmbHkgPSBj
cmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9sZFN0cnVjdHVyZSwgbGVuZ3Ro
LCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVsbCgpKTsKICAgICBBcnJheVN0
b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7Ci0gICAgU3RydWN0
dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwg
b2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRp
b24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0ZXJmbHkodm0sIG9sZFN0cnVj
dHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJl
KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2LDcgQEAgQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252
ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRVbmRlY2lkZWRUb0Fy
cmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAog
Q29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvRG91YmxlKFZNJiB2bSkK
QEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9BcnJheVN0b3Jh
Z2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBy
ZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6Y29udmVy
dERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcgKzEzMTcsNyBAQCBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNv
bnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlT
dG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2
bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC0xMzY2LDcgKzEzNjYsNyBA
QCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91CiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewot
ICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUo
dm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252
ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFu
c2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkRm9yVmFsdWUo
Vk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgQ29udGlndW91c0pT
VmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdU
eXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYg
KFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxk
QmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJldHVy
biBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxJbnQz
Mih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAgQ29udGlndW91c0RvdWJs
ZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBl
KCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVO
TElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVT
cGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJldHVybiBD
b250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbERvdWJsZSh2
bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAgQ29udGlndW91c0pTVmFsdWVz
IEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkp
IHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKLSAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQ
dXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFy
c2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAgICAgICAgIHJldHVybiBDb250
aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxDb250aWd1b3Vz
KHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIyIEBAIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAgICAgY2FzZSBBTExfVU5ERUNJ
REVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFy
c2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhp
bmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAg
IHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRz
U2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5n
KCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0pOwogICAg
ICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VS
VCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQ
dXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFn
ZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VPVVNfSU5ERVhJTkdfVFlQRVM6
CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNT
RVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNT
RVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRDb250
aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAtMTYz
MywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVEaXJlY3QoVk0mIHZt
CiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICB2bS5wcm90b3R5cGVNYXAu
YWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAgIAotICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKHZtLCBz
dHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0
dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oYXNTdG9y
ZWRQcm90b3R5cGUoKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90
eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOworICAgIH0gZWxz
ZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQcm90b09mZnNldCgp
LCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBpZiAodm0ucHJvdG90
eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVjdHVyZS0+Z2xvYmFs
T2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVyZSh2bSktPmdsb2Jh
bE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3JkaW5hcnlUb1ByaW1p
dGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVmYXVsdCB2YWx1ZSBt
ZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4gYXJlCiAgICAgLy8g
YmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRXYXRjaGluZ0ludGVy
bmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOworICAgIGZvciAoY29u
c3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0gb2JqZWN0LT5zdHJ1
Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgb2JqZWN0
LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nh
cnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9PSBQcmVmZXJTdHJp
bmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlv
bmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVu
Z3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBpLCB2YWx1ZSwgc2hv
dWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAg
ICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAg
IGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAvLyBDb252ZXJ0IHRo
ZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFuZCByZXRyeS4KICAg
ICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5ld1ZlY3Rvckxlbmd0
aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXgodGhpcywg
ZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4Miw3IEBAIGJvb2wg
SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAgICAgIHJldHVybiBw
dXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAg
ICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNyZWF0ZUFycmF5U3Rv
cmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjcmVhdGVBcnJheVN0
b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAg
ICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywgdmFsdWUpOwogICAg
ICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAtMzU1OCw3ICszNTYy
LDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgoRQogewogICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBvYmplY3QtPnN0
cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAob2JqZWN0LT5pbmRl
eGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgpAQCAtMzY2
OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChFeGVjU3RhdGUqIGUK
ICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWlu
TWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBWTSYgdm0gPSAqdGhp
cy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0gdGhpczsgOykgewor
ICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAgICAg
IGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9Cit9CisK
K2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0s
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNlSW5kZXgocHJvcGVy
dHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gdGhpczsg
OykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURp
cmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOworICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAgICAgIGlmIChhdHRy
aWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRl
OjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7
Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
CisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFy
cmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxv
Y2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUuaCIKICNpbmNsdWRl
ICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKKyNpbmNsdWRlICJT
dHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgIkpT
U3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpAQCAtNzMzLDYgKzcz
NCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgaXNFeHRl
bnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1NlYWxlZChWTSYgdm0p
IHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAgIGJvb2wgaXNGcm96
ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2bSk7IH0KKworICAg
IGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0
OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRT
dG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFn
ZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wg
aXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5zaWJsZSgpOyB9CiBw
dWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8o
KSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVh
cDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CisgICAg
ICAgIEFTU0VSVCghc3RydWN0dXJlKCktPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8IGdldFByb3Rv
dHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChn
ZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2Jq
ZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3
ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBp
bmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09i
amVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsx
NDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3Ry
dWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlT
bG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFBy
b3RvdHlwZSgpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdz
IGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3MgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJv
dG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0g
YXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
MTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAg
ICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQ
cm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlw
ZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAg
ICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAg
ICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAg
IGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0s
IGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpA
QCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5k
ZXgKICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJ
S0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0g
ZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3Bl
cnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3Rv
dHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAg
ICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAg
ICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIx
OSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAK
ICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5
TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAg
ICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2
bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50
ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAg
ICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUo
KSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJl
dHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0
dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0b3Ig
PSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgJiYg
ZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlw
ZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFp
bigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAgIHJl
dHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVydGll
cyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJvcGVydHlOYW1lcy5zaXplKCkgPCBVSU5UMzJf
TUFYKTsKIAotICAgIGJvb2wgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluID0gbm9ybWFsaXpl
UHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW47
CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVk
Q2hhaW4gPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQ
cm90bykgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgs
IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAg
IGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5
Tm9ybWFsaXplZENoYWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxs
eU5vcm1hbGl6ZWRDaGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgewor
ICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJl
LT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNh
bkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5z
ZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29s
IEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9
PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNT
ZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNh
bkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlz
U2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgICAgICBpZiAoIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMSwxMyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9zdHJ1
Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2JqZWN0KiBwcm90
b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0cnVjdHVyZSog
c3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RydWN0
dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRseSgpIGNvbnN0
CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI2
OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTM2LDEzICsxMzYsMTkgQEAgYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpT
VmFsdWUgdikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3JtYWxpemVQcm90b3R5
cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitzaXpl
X3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBib29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZy
YW1lLT52bSgpOwogICAgIHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFs
c2U7CiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQog
ICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKKworICAgICAgICBzYXdQ
b2x5UHJvdG8gfD0gIXN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIGlm
ICghc3RydWN0dXJlLT5oYXNTdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBJ
bnZhbGlkUHJvdG90eXBlQ2hhaW47CisKICAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKICAgICAgICAgaWYgKHYuaXNOdWxsKCkpCiAg
ICAgICAgICAgICByZXR1cm4gY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcg
QEAgSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNWYWx1ZSBqc1R5
cGVTdHJpbmdGb3JWYWx1ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBib29sIGpz
SXNPYmplY3RUeXBlT3JOdWxsKENhbGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBqc0lzRnVuY3Rp
b25UeXBlKEpTVmFsdWUpOwotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFt
ZSosIFN0cnVjdHVyZSopOworc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFt
ZSosIFN0cnVjdHVyZSosIGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFMV0FZU19JTkxJTkUgSlNT
dHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBKU1N0cmluZyog
czIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZp
c2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9w
dGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwg
Tm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3Jl
IGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lz
dGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywg
dHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGlu
ZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2wsIHVzZU9iamVjdFJlc3RT
cHJlYWQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5hYmxlIE9iamVjdCBSZXN0
L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2Zp
bGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJh
eSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUg
d2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAgdihib29sLCB1c2VBcnJh
eUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNl
IG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxs
b2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKVwKKyAg
ICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRl
X3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1
Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyNjk4
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQcm90
b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxpbmUg
U3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0
eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGlu
Z1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJvdG90
eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENs
YXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1dG8g
a2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5m
bywgZ2xvYmFsT2JqZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7IC8vIFdl
IHVzZSBudWxscHRyIGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1lYW4gcG9s
eSBwcm90bywgc28gdXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVsbCBwcm90
b3R5cGVzLgorCisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90b1N0
cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8s
IGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1
cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7Cisg
ICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKCFzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlwZSgpKTsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhhc1N0b3JlZFByb3RvdHlw
ZSgpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBlKHByb3RvdHlwZSkpOwogICAgICAgICBy
ZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAogICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwot
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCi0gICAgICAgIGds
b2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFz
c0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOworICAgIGlmIChtYWtl
UG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3Jl
YXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5UHJvdG8sIHZtLCBnbG9iYWxPYmplY3Qs
IHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBh
Y2l0eSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpjcmVh
dGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBj
bGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIH0KICAgICBtX3N0
cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+KHN0cnVjdHVyZSkpOworCiAgICAgcmV0
dXJuIHN0cnVjdHVyZTsKIH0KIApAQCAtNzMsMjAgKzg5LDIxIEBAIFN0cnVjdHVyZSogUHJvdG90
eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAvLyBXZSBjdXJyZW50bHkgZG8gbm90IGhh
dmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNpcyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxs
IGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBoYXZlIGEgZGVmYXVsdCBpbmxpbmUgY2Fw
YWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVy
ZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJv
cGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChwcm90b3R5cGUtPmFueU9iamVjdEluQ2hh
aW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhp
bmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5cGUgPSAoaW5kZXhpbmdUeXBlICYgfklu
ZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZTsKIAotICAgIHJldHVy
biBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgYmFzZVN0cnVj
dHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlw
ZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJv
dG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0lu
Zm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9CiAKLVN0cnVjdHVyZSogUHJvdG90eXBl
TWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkK
K1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKQogewotICAg
IHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNG
aW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2Jq
ZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgcmV0dXJuIGNy
ZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0
Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1
bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsK
IH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90
b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIG9iamVjdCwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1h
a2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBn
bG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShu
dWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmpl
Y3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2aXNpb24gMjIyNjk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEpTX0VYUE9SVF9Q
UklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9i
YWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBKU19F
WFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBl
KEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9v
bCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2UpOwogICAgIEpTX0VYUE9SVF9QUklWQVRF
IFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90b3R5cGVGcm9tQmFzZVN0cnVjdHVyZShK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBjbGVhckVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBh
ZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxpbmUgVHJpU3RhdGUgaXNQcm90b3R5cGUo
SlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNvbnNlcnZhdGl2ZSBlc3RpbWF0ZS4KIAog
cHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2Jq
ZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0lu
Zm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1
cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAg
ICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+IG1fcHJvdG90eXBlczsKICAgICAvLyBG
SVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAgIHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6
dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmpl
Y3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7CisgICAgdXNpbmcgU3RydWN0dXJlTWFwID0g
V2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZv
KiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsKICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1
Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODgsNiArMTg4LDcgQEAgU3Ry
dWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iagogICAgICwgbV9jbGFzc0luZm8o
Y2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAg
ICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2goMCkKIHsK
ICAgICBzZXREaWN0aW9uYXJ5S2luZChOb25lRGljdGlvbmFyeUtpbmQpOwogICAgIHNldElzUGlu
bmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yMjAsNiArMjIxLDcgQEAgU3RydWN0dXJlOjpT
dHJ1Y3R1cmUoVk0mIHZtKQogICAgICwgbV9jbGFzc0luZm8oaW5mbygpKQogICAgICwgbV90cmFu
c2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zm
c2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2goMCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2luZChO
b25lRGljdGlvbmFyeUtpbmQpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7
CkBAIC0yNDcsMTAgKzI0OSwxMSBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVj
dHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5nZXQoKSkKICAg
ICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1faW5saW5lQ2FwYWNpdHkpCiAgICAgLCBt
X2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPnN0b3Jl
ZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5tX3By
b3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykK
ICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZz
ZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKHByZXZpb3VzLT5tX3Byb3Bl
cnR5SGFzaCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2luZChwcmV2aW91cy0+ZGljdGlvbmFyeUtp
bmQoKSk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTI5Niw2ICsy
OTksMjMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogICAgIHN0YXRp
Y19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAor
U3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUlu
Zm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAgU3RydWN0dXJlKiBy
ZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIHVuc2lnbmVkIG9s
ZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRPZkxpbmVDYXBhY2l0eSgpOworICAgIHJl
c3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlvbigKKyAgICAgICAgdm0sIHZtLnByb3Bl
cnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKCksIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLAorICAgICAg
ICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xvY2tlciYsIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCkgeworICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBhY2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBv
bGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGlu
ZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+bV9wcm90b3R5cGUuc2V0KHZt
LCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5zZXRMYXN0
T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0dXJlc0FuZE1hcEZvck1hdGVyaWFsaXph
dGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVjdHVyZXMsIFN0cnVjdHVyZSomIHN0cnVj
dHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewogICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlz
RW1wdHkoKSk7CkBAIC0zOTksMjYgKzQxOSwxNCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRk
UHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3Rp
bmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBhdHRyaWJ1dGVzLCBvZmZzZXQpOwogfQog
Ci1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0gICAgZm9yIChjb25zdCBTdHJ1Y3R1
cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAgIGlmIChjdXJyZW50LT5tYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAK
LSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsK
LSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1
Y3R1cmUoKTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhp
cyk7CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZt
KSBjb25zdAotewogICAgIGlmICh0aGlzLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0
b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJv
dG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
QEAgLTQyNyw3ICs0MzUsNyBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJlID0gKm9iamVjdC0+c3RydWN0dXJlKHZt
KTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBl
KCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJv
dG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUo
b2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAg
LTQzNywyMCArNDQ1LDYgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FC
YWRUaW1lKCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAotewotICAgIGlmIChuZWVkc1Nsb3dQdXRJ
bmRleGluZygpKQotICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0
ZVNsb3dQdXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNp
dGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0KIFN0cnVjdHVyZSogU3RydWN0dXJlOjph
ZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQm
IG9mZnNldCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IGFkZFByb3BlcnR5VHJh
bnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01NTMsNiArNTQ3LDggQEAgU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgogCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBK
U1ZhbHVlIHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkgfHwg
cHJvdG90eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVyR0MgZGVmZXJHQyh2bS5oZWFwKTsKICAg
ICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7CiAKQEAgLTEw
NjgsMTEgKzEwNjQsNiBAQCB2b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3Ry
CiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0
dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVG
b3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHByb3Rv
dHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1
Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikK
IHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7
CkBAIC0xMTEwLDcgKzExMDEsNyBAQCBib29sIFN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKCkK
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAg
ICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3QgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJy
ZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAgICAgICAmJiAoIXN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpKSk7CisgICAgICAgICYmICghaGFzU3RvcmVkUHJvdG90eXBlKCkgfHwgIXN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90Vmlz
aXRvciYgdmlzaXRvcikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1h
cmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVj
dHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQot
ICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAg
ICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJl
KHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRy
aWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0
cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkK
IHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpj
cmVhdGUoKTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBl
LnB0cigpOwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVl
IGN1clZhbHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAg
ICAgd2hpbGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUg
fD0gIWN1clN0cnVjdHVyZS0+aGFzU3RvcmVkUHJvdG90eXBlKCk7CiAgICAgICAgIGN1clN0cnVj
dHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAgWyZdIChjb25z
dCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAgICAgY3Vy
U2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGlmICghUHJv
cGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAgICAgICAgICAg
ICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTEzOSwyNCBAQCBSZWY8
U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAgY3VyU2hhcGUt
Pm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVT
aGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUu
Y29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7Ci0g
ICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Ci0g
ICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAgICAgICAgICAg
YnJlYWs7CisKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGN1clZhbHVlKTsK
KyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBpZiAoIXByb3RvdHlwZU9i
amVjdCkKKyAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgIGF1dG8gbmV3U2hh
cGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBlLT5zZXRQcm90
byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hh
cGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAgICAgY3VyU3Ry
dWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAgICAgCiAgICAg
cmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRp
b25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9
PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9
PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRp
b25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lk
IFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmlu
dChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7
CkBAIC0xMjAzLDcgKzExNzEsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4
aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQor
ICAgIGlmICghaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQb2x5
UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3Byb3Rv
dHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJhd1Bv
aW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGljdGlv
bmFyeUtpbmQoKSkgewpAQCAtMTI4OCw5ICsxMjU4LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNhbkNh
Y2hlUHJvcGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGlmICghc3Ry
dWN0dXJlLT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RydWN0dXJl
LT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5
TmFtZXMoKSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFyeSgpIHx8
IHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1cmUrKzsKICAgICB9
CkBAIC0xMzA5LDQgKzEyNzcsNTIgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNhbkFjY2Vzc1Byb3BlcnRp
ZXNRdWljawogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPT1BTOiBsZXRzIGlubGluZSB0aGlz
IGZ1bmN0aW9uLgorYm9vbCBTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byhjb25z
dCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSogYikKK3sKKyAgICBpZiAoIWEgfHwgIWIp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhID09IGIpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIGlmIChhLT5wcm9wZXJ0eUhhc2goKSAhPSBiLT5wcm9wZXJ0eUhhc2go
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IG9i
amVjdHMgY3JlYXRlZCB2aWEgYSBjb25zdHJ1Y3RvcidzIHRvX3RoaXMuIFRoZXNlCisgICAgLy8g
YWxsIGhhdmUgU3RydWN0dXJlcyB3aXRoIHJhcmUgZGF0YSBhbmQgYSBzaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50LgorICAgIGlmICghYS0+aGFzUmFyZURhdGEoKSB8fCAhYi0+aGFzUmFyZURhdGEo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IFN0
cnVjdHVyZSdzIGdlbmVyYXRlZCBmcm9tIGZ1bmN0aW9ucyB0aGF0IHNoYXJlCisgICAgLy8gdGhl
IHNhbWUgZXhlY3V0YWJsZS4KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIGFJ
bmxpbmVXYXRjaHBvaW50U2V0ID0gYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hw
b2ludCgpOworICAgIGNvbnN0IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiYgYklubGluZVdhdGNo
cG9pbnRTZXQgPSBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCk7Cisg
ICAgaWYgKGFJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpICE9IGJJbmxpbmVXYXRjaHBvaW50U2V0
LmdldCgpIHx8ICFhSW5saW5lV2F0Y2hwb2ludFNldCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIEFTU0VSVChhSW5saW5lV2F0Y2hwb2ludFNldCAmJiBiSW5saW5lV2F0Y2hwb2ludFNldCAm
JiBhSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSA9PSBiSW5saW5lV2F0Y2hwb2ludFNldC5nZXQo
KSk7CisKKyAgICBpZiAoIWEtPmhhc1N0b3JlZFByb3RvdHlwZSgpIHx8ICFiLT5oYXNTdG9yZWRQ
cm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnN0b3JlZFBy
b3RvdHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBWTSYgdm0gPSAqYS0+dm0oKTsKKyAgICBKU09iamVjdCogYU9iaiA9IGEtPnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTT2JqZWN0KiBiT2JqID0gYi0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCk7CisgICAgd2hpbGUgKGFPYmogJiYgYk9iaikgeworICAgICAgICBhID0gYU9i
ai0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgYiA9IGJPYmotPnN0cnVjdHVyZSh2bSk7CisKKyAg
ICAgICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGFPYmogPSBhLT5zdG9yZWRQcm90b3R5cGVP
YmplY3QoYU9iaik7CisgICAgICAgIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoYk9i
aik7CisgICAgfQorCisgICAgcmV0dXJuICFhT2JqICYmICFiT2JqOworfQorCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5o
CShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0
eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAK
KyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
KFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUs
IGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJy
YXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAK
QEAgLTEzOCw3ICsxNDAsMTkgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBB
U1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7Cisg
ICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVs
bCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIoKSk7CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cnVjdHVyZSogcHJldmlvdXMpCisgICAgeworICAgICAg
ICB0aGlzLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIGlmIChwcmV2aW91cy0+aGFzUmFy
ZURhdGEoKSkgeworICAgICAgICAgICAgY29uc3QgU3RydWN0dXJlUmFyZURhdGEqIHByZXZpb3Vz
UmFyZURhdGEgPSBwcmV2aW91cy0+cmFyZURhdGEoKTsKKyAgICAgICAgICAgIGlmIChwcmV2aW91
c1JhcmVEYXRhLT5oYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpIHsKKyAgICAgICAgICAg
ICAgICBlbnN1cmVSYXJlRGF0YSh2bSk7CisgICAgICAgICAgICAgICAgcmFyZURhdGEoKS0+c2V0
U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludChwcmV2aW91c1JhcmVEYXRhLT5jb3B5U2hhcmVkUG9s
eVByb3RvV2F0Y2hwb2ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIAog
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAg
LTE2Nyw3ICsxODEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBV
bmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNl
dCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5
VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1
bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFt
ZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0
dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBw
cm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRp
b24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0
cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNp
dGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9p
bnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVE
aWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIyMiw3IEBA
IHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0
eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJv
b2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4g
cHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI1NCwzOSBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBN
YXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRf
UFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
KSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0
OwotICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAg
Tm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBj
b25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0
KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBj
b25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhp
cyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3Ry
dWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBp
cyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9p
ZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7
IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAK
LSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBl
LmdldCgpOyB9CisKKyAgICBib29sIGhhc1N0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAg
SlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUu
Z2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0
CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzU3RvcmVkUHJvdG90eXBlKCkpOwor
ICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBK
U1ZhbHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2Jq
ZWN0KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBT
dHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0
OworCiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0
cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7CiAgICAgSlNWYWx1ZSBw
cm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5
cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZUZvckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90
eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWlu
KiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU1ZhbHVlIHByb3RvdHlw
ZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSkgY29uc3Q7CisgICAgU3Ry
dWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNT
dGF0ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMg
Y2hlYXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291bGQgb25seSBhZGQgYSBzbWFs
bCBhbmQgYm91bmRlZCBhbW91bnQKQEAgLTI3MiwxNCArMjk5LDMwIEBAIHB1YmxpYzoKICAgICAK
ICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBzdHJ1Y3R1cmUgaXMgbm93IG1hcmtlZC4KICAg
ICBib29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAotICAgIC8vIFdpbGwg
anVzdCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8K
LSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNv
bnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0
YS5nZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwor
ICAgIH0KKworICAgIGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Cisg
ICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxjb25zdCBTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdl
dCgpKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0m
IHZtKQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxs
b2NhdGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAg
ICAKICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiAr
NTc2LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVz
KHZtKTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3Ig
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1
Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJl
LT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0K
LQogICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1
cm4gISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTg4LDExICs2MjUsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIHdpbGxTdG9yZVZhbHVlU2xvdyh2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxk
T3B0aW1pemUsIEluZmVycmVkVHlwZVRhYmxlOjpPbGRQcm9wZXJ0eSk7CiAgICAgfQogCi0gICAg
UmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwotICAgIAotICAg
IC8vIERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRo
aXMgb25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVy
IG9uZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7CisgICAg
UmVmPFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUsIGJvb2wmIHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSk7CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29u
c3Q7CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBj
b25zdDsKQEAgLTYwMSw2ICs2MzQsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGR1bXBD
b250ZXh0SGVhZGVyKFByaW50U3RyZWFtJik7CiAgICAgCiAgICAgQ29uY3VycmVudEpTTG9jayYg
bG9jaygpIHsgcmV0dXJuIG1fbG9jazsgfQorCisgICAgdW5zaWduZWQgcHJvcGVydHlIYXNoKCkg
Y29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eUhhc2g7IH0KKworICAgIHN0YXRpYyBib29sIHNob3Vs
ZENvbnZlcnRUb1BvbHlQcm90byhjb25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSog
Yik7CiAgICAgCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIApAQCAtNzIwLDggKzc1Nyw3IEBA
IHByaXZhdGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29m
ZnNldCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsK
LSAgICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3Rv
dHlwZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1
Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsK
IAogICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNl
LgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwg
Vk0mLCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc2OCw2IEBAIHByaXZhdGU6CiAgICAg
ICAgIHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsK
ICAgICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsK
LSAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAg
fQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09m
ZnNldENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0
OwogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpAQCAtNzg3LDYgKzgx
Nyw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBtX29mZnNldCBkb2VzIG5vdCBhY2NvdW50IGZvciBh
bm9ueW1vdXMgc2xvdHMKICAgICBQcm9wZXJ0eU9mZnNldCBtX29mZnNldDsKKworICAgIHVpbnQz
Ml90IG1fcHJvcGVydHlIYXNoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCShyZXZp
c2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVD
aGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDQgKzU1LDIzIEBAIHZvaWQgU3RydWN0dXJl
Q2hhaW46OnZpc2l0Q2hpbGRyZW4oSlNDZWwKICAgICB9CiB9CiAKK3ZvaWQgU3RydWN0dXJlQ2hh
aW46OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCit7CisgICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24odm0pOworCisgICAgc2l6ZV90IHNpemUgPSAwOworICAgIGZvciAoSlNP
YmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICArK3NpemU7
CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9y
ID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7
CisKKyAgICBzaXplX3QgaSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3Vy
cmVudC0+c3RydWN0dXJlKHZtKSk7CisgICAgCisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsK
KyAgICBtX3ZlY3RvciA9IFdURk1vdmUodmVjdG9yKTsKKyAgICB2bS5oZWFwLndyaXRlQmFycmll
cih0aGlzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIyMjY5OCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7
CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0
dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZUNo
YWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGljIFN0cnVjdHVy
ZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAogICAgICAgICBT
dHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1
cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1cmVDaGFpblN0
cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2bSwgaGVhZCk7
CkBAIC02MiwyMiArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0Nl
bGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTdHJ1
Y3R1cmUqIGhlYWQpCi0gICAgewotICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0g
ICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKLSAgICAgICAgICAgICsrc2l6ZTsKLQotICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPltdPihzaXplICsgMSk7Ci0KLSAgICAgICAgc2l6ZV90IGkgPSAwOwot
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQg
PSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9y
W2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50KTsKLSAgICAgICAgCi0gICAgICAgIHZtLmhlYXAu
bXV0YXRvckZlbmNlKCk7Ci0gICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3IpOwotICAg
IH0KKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpOwogCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCShy
ZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDE2ICs1MSwxNyBAQCBpbmxpbmUgU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZVN0cnVjCiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0K
IAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqIGRl
ZmVycmVkKQoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIHByZXZpb3VzLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50Rmly
ZSogZGVmZXJyZWQpCiB7CiAgICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVjdHVyZSk7Ci0gICAg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1
Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSwgZGVmZXJyZWQpOwotICAg
IG5ld1N0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgIFN0cnVjdHVyZSogbmV3U3Ry
dWN0dXJlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlPih2bS5oZWFwKSkg
U3RydWN0dXJlKHZtLCBwcmV2aW91cywgZGVmZXJyZWQpOworICAgIG5ld1N0cnVjdHVyZS0+Zmlu
aXNoQ3JlYXRpb24odm0sIHByZXZpb3VzKTsKICAgICByZXR1cm4gbmV3U3RydWN0dXJlOwogfQog
CiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29u
c3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNTdG9yZWRQcm90b3R5cGUoKSk7CiAgICAgSlNW
YWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051bGwoKSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5lIEpTT2Jq
ZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1
cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NF
UlQoaGFzU3RvcmVkUHJvdG90eXBlKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUg
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0
KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhp
cyk7CisgICAgaWYgKGhhc1N0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gc3RvcmVk
UHJvdG90eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQz
MigpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0lu
dDMyKCk7CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZ
U19JTkxJTkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0
IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5z
dHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzU3RvcmVkUHJvdG90eXBlKCkpCisgICAg
ICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0g
b2JqZWN0LT5nZXREaXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051
bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3Rv
KTsKK30KKworQUxXQVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90
eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpT
T2JqZWN0KiBwcm90byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBy
ZXR1cm4gcHJvdG8tPnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdB
WVNfSU5MSU5FIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDE1
ICsxOTYsMzIgQEAgaW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cFByaW1pdGl2ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkp
OworCisgICAgaWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkK
KyAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBB
U1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICBy
ZXR1cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNW
YWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc1N0b3JlZFByb3RvdHlwZSgp
KTsKICAgICBpZiAoaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgp
OwotICAgIGlmICh0eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1
cm4gZ2xvYmFsT2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKyAgICAgICAgcmV0dXJuIHN0b3Jl
ZFByb3RvdHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBs
KGdsb2JhbE9iamVjdCwgdGhpcyk7Cit9CiAKLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkg
PT0gU3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBl
KCk7CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0Cit7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkp
CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJl
dHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7
CiB9CiAKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNT
dGF0ZSogZXhlYykgY29uc3QKQEAgLTE4MiwyNyArMjI5LDI4IEBAIGlubGluZSBKU1ZhbHVlIFN0
cnVjdHVyZTo6cHJvdG90eXBlRm9yTG8KICAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiog
U3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBl
Q2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFz
ZSkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRo
aXMpOwogICAgIC8vIFdlIGNhY2hlIG91ciBwcm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMg
Y2FuIHNoYXJlIGl0LgotICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJv
dG90eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hh
aW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAo
IWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNl
KSkgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QsIGJhc2UpOworICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwg
dGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVs
bHB0ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkpKTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVk
UHJvdG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0
dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0
dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0o
KSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hh
aW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAot
aW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBi
b29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAog
ewogICAgIGlmICghY2FjaGVkUHJvdG90eXBlQ2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVj
dCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2Jq
ZWN0LCBiYXNlKTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJl
ID0gY2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhlYWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVj
dHVyZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90
b3R5cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNoZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDEx
ICsyNjEsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAg
cmV0dXJuIHByb3RvdHlwZS5pc051bGwoKSAmJiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5s
aW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hh
aW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgY2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBp
bmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJlcGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQpCiB7CiAgICAgaWYgKExJS0VMWSghaGFzUmFyZURhdGEoKSkpCkBAIC0zNDEsNiArMzg0
LDggQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6YWRkKFZNJgogICAgIGF1dG8g
cmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwogCiAgICAgUHJvcGVydHlPZmZzZXQgbmV3T2Zmc2V0
ID0gdGFibGUtPm5leHRPZmZzZXQobV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICBtX3Byb3BlcnR5
SGFzaCA9IG1fcHJvcGVydHlIYXNoIF4gcmVwLT5leGlzdGluZ0hhc2goKTsKICAgICAKICAgICBQ
cm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0ID0gbV9vZmZzZXQ7CiAgICAgdGFibGUtPmFkZChQ
cm9wZXJ0eU1hcEVudHJ5KHJlcCwgbmV3T2Zmc2V0LCBhdHRyaWJ1dGVzKSwgbmV3TGFzdE9mZnNl
dCwgUHJvcGVydHlUYWJsZTo6UHJvcGVydHlPZmZzZXRNYXlDaGFuZ2UpOwpAQCAtNDAwLDcgKzQ0
NSw3IEBAIGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1
cm4gcmVtb3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVy
ZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlT
X0lOTElORSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5
VGFibGUqIHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwo
dm0sIHRoaXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgi
CiAKICNpbmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNl
LmgiCisjaW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1l
RW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgpAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxk
cmVuKEpTCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcmV2aW91cyk7CiAgICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmplY3RUb1N0cmluZ1ZhbHVlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Ip
OworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1faW5mZXJyZWRDb25zdHJ1Y3Rvcik7
CiB9CiAKIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hl
ZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdApAQCAtMTc1LDYgKzE3NywxMyBAQCBpbmxp
bmUgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJPYmplCiAgICAgbV9vYmplY3RUb1N0cmlu
Z1ZhbHVlLmNsZWFyKCk7CiB9CiAKK0luZmVycmVkVmFsdWUqIFN0cnVjdHVyZVJhcmVEYXRhOjpl
bnN1cmVJbmZlcnJlZENvbnN0cnVjdG9yKFZNJiB2bSkKK3sKKyAgICBpZiAoIW1faW5mZXJyZWRD
b25zdHJ1Y3RvcikKKyAgICAgICAgbV9pbmZlcnJlZENvbnN0cnVjdG9yLnNldCh2bSwgdGhpcywg
SW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKHZtKSk7CisgICAgcmV0dXJuIG1faW5mZXJyZWRDb25zdHJ1
Y3Rvci5nZXQoKTsKK30KKwogLy8gLS0tLS0tLS0tLS0tLSBNZXRob2RzIGZvciBPYmplY3QucHJv
dG90eXBlLnRvU3RyaW5nKCkgaGVscGVyIHdhdGNocG9pbnQgY2xhc3NlcyAtLS0tLS0tLS0tLS0t
LQogCiBPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludDo6T2JqZWN0VG9T
dHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQoY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb24mIGtleSwgU3RydWN0dXJlUmFyZURhdGEqIHN0cnVjdHVyZVJhcmVEYXRhKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5o
CShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVz
cGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdBZGFwdGl2
ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywyMCBAQCBwdWJsaWM6CiAgICAgSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29u
c3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICAvLyBXZSBhcmUgYSB0aGUgc3RydWN0dXJlIG9m
IGEgcHJvdG90eXBlLCBhbmQgd2UncmUgaW5mZXJyaW5nIHdoYXQgb3VyIGZ1bmN0aW9uIGlzLCBz
dWNoIHRoYXQgZnVuY3Rpb24ucHJvdG90eXBlJ3Mgc3RydWN0dXJlIGlzIHVzLgorICAgIC8vIFdl
J3JlIHRoZSBTdHJ1Y3R1cmVSYXJlRGF0YSBmb3IgdGhlIFN0cnVjdHVyZSBvZiBhbiBvYmplY3Qg
d2hpY2ggbWlnaHQgYmUgdGhlICJwcm90b3R5cGUiIGZpZWxkCisgICAgLy8gb2YgYSBjb25zdHJ1
Y3Rvci4gSWYgd2UncmUgYSAicHJvdG90eXBlIiBmaWVsZCwgd2Ugd2FudCB0byBpbmZlciBpZiB3
ZSBoYXZlIGEgY29uc3RhbnQgY29uc3RydWN0b3IuCisgICAgLy8gSWYgd2UgZG8sIHRoZW4gbV9p
bmZlcnJlZENvbnN0cnVjdG9yIHBvaW50cyB0byBhbiBJbmZlcnJlZFZhbHVlIGluZmVycmluZyBh
IEpTRnVuY3Rpb24uCisgICAgLy8gSWYgd2Ugbm90aWNlIHRoYXQgd2UgZ28gcG9seSBwcm90bywg
dGhlbiB0aGlzIHdpbGwgYmVjb21lIGludmFsaWRhdGVkLgorICAgIEluZmVycmVkVmFsdWUqIGVu
c3VyZUluZmVycmVkQ29uc3RydWN0b3IoVk0mKTsKKyAgICAvLyBNYXkgYmUgbnVsbHB0ci4KKyAg
ICBJbmZlcnJlZFZhbHVlKiBpbmZlcnJlZENvbnN0cnVjdG9yKCkgeyByZXR1cm4gbV9pbmZlcnJl
ZENvbnN0cnVjdG9yLmdldCgpOyB9CisKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gY29w
eVNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dh
dGNocG9pbnQ7IH0KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIHNoYXJlZFBv
bHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7
IH0KKyAgICB2b2lkIHNldFNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoQm94PElubGluZVdhdGNo
cG9pbnRTZXQ+JiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCkgeyBtX3BvbHlQcm90b1dhdGNo
cG9pbnQgPSBXVEZNb3ZlKHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpOyB9CisgICAgYm9vbCBo
YXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
Ym9vbD4obV9wb2x5UHJvdG9XYXRjaHBvaW50KTsgfQorCiAgICAgREVDTEFSRV9FWFBPUlRfSU5G
TzsKIAogcHJpdmF0ZToKQEAgLTc2LDExICs5MSwxMyBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBt
X29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51
bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwotICAgIAorICAgIFdyaXRl
QmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CisKICAgICB0eXBl
ZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJ
bnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0
czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7
CiAgICAgQmFnPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50PiBtX29i
amVjdFRvU3RyaW5nQWRhcHRpdmVXYXRjaHBvaW50U2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxP
YmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludD4gbV9v
YmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRWYWx1ZVdhdGNocG9pbnQ7CisgICAgQm94PElu
bGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKICAgICBib29sIG1fZ2l2
ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGU7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIy
MjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxv
Zzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsK
ICAgICB9CiAKKyAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+
IGNhY2hlZE1vbm9Qcm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUq
LCBKU0NlbGwqPiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVz
OworCiAgICAgTG9nRW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0
cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGls
ZSAoZW50cnkgIT0gbV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQg
aWQgPSBlbnRyeS0+c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4g
c2hhcGU7IAorICAgICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBK
U1ZhbHVlIHZhbHVlID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7
CiAgICAgICAgIGlmIChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2
YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAg
IGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYg
KGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBlID0gc3Ry
dWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBzZWVuU2hh
cGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6
OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAg
ICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7
CisgICAgICAgICAgICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsK
KyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFs
dWUuYXNDZWxsKCkpOworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90
b1NoYXBlcy5maW5kKGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9s
eVByb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+
dmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkgeworICAg
ICAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1
ZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90
b1NoYXBlcy5zZXQoa2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBz
aGFwZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAg
ICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAg
dm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9j
YXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9s
YXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNl
dCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1h
dGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9u
LT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUo
c2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNl
dC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBz
YXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5
cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJl
LCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIy
MjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAK
LXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0
cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
Cit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQ
dHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2Vl
blR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYg
IXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNo
YXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAg
IGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAgICAgICAg
eworICAgICAgICAvLyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5
IHByb3RvIGNoYWlucworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBj
aGFpbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NzYyNworICAgICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVy
ZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90
b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIo
bV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsK
ICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVT
ZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0
LmgJKHJldmlzaW9uIDIyMjY5OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5
cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDog
cHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNl
dCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3Ry
dWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9u
KFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wg
c2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAg
IFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25z
dDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5o
CShyZXZpc2lvbiAyMjI2OTgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0
ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1f
dmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNv
bnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25z
dCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkgY29uc3Qg
eyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyBy
ZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3Qg
eyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dURi93dGYv
Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQm94LmgJKHJldmlzaW9uIDIyMjY5
OCkKKysrIFNvdXJjZS9XVEYvd3RmL0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxNCArMzYs
MTcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogY2xhc3MgQm94IHsK
IHB1YmxpYzoKLSAgICBCb3goKQotICAgIHsKLSAgICB9CisgICAgQm94KCkgPSBkZWZhdWx0Owor
ICAgIEJveChCb3gmJikgPSBkZWZhdWx0OworICAgIEJveChjb25zdCBCb3gmKSA9IGRlZmF1bHQ7
CiAKICAgICBCb3goc3RkOjpudWxscHRyX3QpCiAgICAgewogICAgIH0KIAorICAgIEJveCYgb3Bl
cmF0b3I9KEJveCYmKSA9IGRlZmF1bHQ7CisgICAgQm94JiBvcGVyYXRvcj0oY29uc3QgQm94Jikg
PSBkZWZhdWx0OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIHN0
YXRpYyBCb3ggY3JlYXRlKEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKICAgICB7CkBAIC01Nyw3
ICs2MCw3IEBAIHB1YmxpYzoKICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBtX2Rh
dGEtPnZhbHVlOyB9CiAgICAgVCogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuICZtX2RhdGEt
PnZhbHVlOyB9CiAKLSAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgeyByZXR1cm4gbV9kYXRh
OyB9CisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PGJvb2w+KG1fZGF0YSk7IH0KICAgICAKIHByaXZhdGU6CiAgICAgc3RydWN0IERhdGEgOiBU
aHJlYWRTYWZlUmVmQ291bnRlZDxEYXRhPiB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAkocmV2aXNpb24gMjIyNjk4
KQorKysgU291cmNlL1dURi93dGYvUmVmUHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgz
LDggQEAgcHVibGljOgogICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1w
bGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4K
ICAgICB0eXBlZGVmIFQqIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKICAgICBvcGVy
YXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUmVmUHRy
OjptX3B0ciA6IG51bGxwdHI7IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25z
dCB7IHJldHVybiAhIW1fcHRyOyB9CiAgICAgCiAgICAgUmVmUHRyJiBvcGVyYXRvcj0oY29uc3Qg
UmVmUHRyJik7CiAgICAgUmVmUHRyJiBvcGVyYXRvcj0oVCopOwpJbmRleDogVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1bi1q
c2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI2OTgpCisrKyBUb29scy9TY3JpcHRzL3J1bi1q
c2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVmIHJ1
bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExOb0NK
SVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8tY2pp
dC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExfT1BU
SU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNp
ZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxv
Y2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09Q
VElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVj
aWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxU
ZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdlck5v
Q0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJp
Z2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExF
Q1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQor
ICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICIt
LWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENP
TExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMp
KQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZpY09w
dGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAgcnVu
KCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAq
KEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXByb2Zp
bGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBydW4o
ImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNlVHlw
ZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyAr
IEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>
<flag name="commit-queue"
          id="342230"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>322360</attachid>
            <date>2017-10-02 01:05:30 -0700</date>
            <delta_ts>2017-10-02 11:46:34 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews117 for mac-elcapitan</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>415172</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
D3z/UzMEywrX4VBSqbYK73Yb1zoIJbmuwdEqKzONd/M0uUbyr3qvsu0dmb+V24b1Zy7j+fsq1ug9
y9q4HgohrDqOW8gw/GKVP6EvqSQP0sl+OP+KWr9TM7VyQA0TNPC8kocH2ZSobv5pvVWGIe/4TpWt
kiKed9lFAZZ+/+Pt4p9nyP8kwLUJ0wyrPV/yDIv3na8oCvubuOcn93vmrK7IYFEm18PhaanHLk38
H09tC9G/5MxyeUbZsUYoMfoW78n51WCLtRW7PLa58vOaJj4Kf1mdLKBB4+Jw+PPB4OA9KKSMNOst
XLWpN6T1dWGkZrtg7xkYQxLqPwSjmxTZ/YWcusFfIVduTmTh0XasLBAlvF3r9wzRZial1bFNzQy8
deroLWU9T83KihWQfVcBAyR/TYa3f0mlP8tFtD0NKW+De95sfWLkzyuXo0mdWL3zNcuKHhKYII3u
y/yKlIV+PSkR/4HSdoOmm2UZXs+sjxPUJvSQ8+mvOd9rzvea873mfK8532vO95rzveZ8rznf3z7n
M/5eOZ9uzp4RkJ8bH6t41D+9iswgqEzwecHmeWHm2c6/dLYG6XRkxPqe5Cec4dkPd7Ya64ZIMfuO
eP/v42v1V1+742uNH+ZrTfTDfK2FfqyvNV/316/769f99ev++nV//bq/ft1fv+6vX/fXf/v9tTWs
F4+1qvKrH2f0TwrJzJBVgLJEK7+WRZ/LrpTwOYRYwLaEykra1jO0nlH9ahGi1QtpZcVnHIpToHqR
luqghLZSqOfU5/Io3K3PJYzrrdziRxToon4l1gz7eoTetH9kMajm8wB59V8FSZbVrypADU033Ia9
W5VpsBmV2j2bVvbkVTZW1VGD5b2MjRPBL67+jry8ultCX57IL6+Ulry8WlrCX57I+ssT2Xh5Ipsv
T2Tr5f0e5uVlX/QF/urp5WVf9OVlX/TlZV/05WVf9OVlX/TlZV/05WVf9OVlXxiF69eklG+z+M3U
1+9LQdNCPnhnoGtqEBcHQwWhzL8bdry1BBqCegOhxBAY+6DJLNw3Imo0wGemhz6WTKJ40yKF4CHh
lnzoE8ryuM4E81Dz9VAyCZY7I0IhG/LOBvlqlMxssZcfeUSZWQ9DfJ/5MwwTImkRXB8BTboVsVA2
kPYI+ZGSENrBhMgG1hgSWNgXrGSitQGHTMLKYI9fazB0IzRnlbriZVMr61dooGw2b3EnmGL57ImM
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
vUC0rc2Lj5rWulRSt8tHxc7nU/du0hDHwUUWqkqgKnkeeUHVU3MYrOFf+xp4jAC0pque7GzGO34p
hu/O58lKNLAYElQQvUhqTIUwdE+ypXad6RJBfdcGYr58uYrnSbIcCXri+JbfQdq+UUDBZVBzt9L3
yieGwLERS0UwmyarOCgLoR2OOvW8AOuyPS18R/SkraeruDCFiC2glN6RTmWkW4IlT0V3W3WExiTS
N2yREDLiU9GCBRPueFqVcA3C2MAS6RuRSAD5WAdhZ0N5q2EG1GkvDTNIkjkqwsblp7OT8/ML53jm
2MOTk+Oz9875pyvn6twZOrPzT5f2RHUuJpfT88tTZ/rpzL46Pj9znOK4SCKsn11DI1T9kusqFseF
46SUKlNFdkSoRIy+FHUc1inCX6JoxQDO7EmKcSi564S2HZAiXFGJqjtNvN3teVX7JWLiXDddxVc8
ywdZHoDtHGRZngsxysmKE663IuN8I9/fFP928tSN8qy4965+U8QF382TtLwlv6udSVOqiWOcBr6i
VFcxZNCQ+ffDTnw32GAHnDOe3lYnvMVTak3r4oWKBzkU9+UFoV0OGjMGRfJdS8cLR9dRp4gIm1DL
Uq0nW0OcCTVnnLpR3M26eMrZwbrI26nej7Wpa6Ak0WApdKm3CQsUgrgGNRklZfxfz4OO2N/2Yk3V
AgKGy3I3FfsH2vZ8Iqto4gQCWdFw7XyFxIbPmzTrpAyiGoRjWFsiTP1ZjE95vkrjYrMrOjfvqS3L
RtEGuQYw5iLCDHkz0Pn2Z/lLedKlFU2ZfciZoQYVRiFng5a2lRg/2N1a21OVhRu71zz9DgXx0JW/
8luxaf+ZZA3FPD0JCMXh8P2OvbhOa2kSohvVPJ0gD/ygRXCrIIK3CtKenUvoz05i8h0Ss8CjIPFS
pM2Qk95+g83oO8XFDNfEFd39TkWNUbYR13/9+hB1B7e6Y1MI84Jcba8EesWjWefWTSPxSRFxI0ic
PFrwklNt213FEUQBR2R/b++vLlaQB777pbkFi+diliWolKXC292blQ58Qa5rcrBKi0zjbe005X5U
ce8tmr8RZUP1Mxf7+btyr6H9+o4R0jDh3KzjuIUMw81X2SP6EkpyIJ3sh/NH1Pqdmqn1a+sqkgeO
U/BwIJviZXeG3ltlKuQd36myVZxH8y6/yMHT1z/fL/46R/6LANcMpot+iaa9xKNF0tdeeuD3d3HH
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
y7kAasaScFbwnh8+lckzwddYyI/vYIWv9upyeLVv5KdBEHymYBUj8Llg/hpGIMEhZzATAjN5F91z
+IpFMWGlt6Won8GXHzHx35xiOTLoDXf6PEritj5XHo8mc/1/i//tLXaaFo8sA/yj0+m5jRnPNR0t
5pweOaqMTJnEggFanjJNhLL6wBEemGf6WKY9A5qd7qoCVRkR5Xm1vMqgYzmOkbR6C7NU8tUNhDhN
ufizNga9UakXj1zk2a6mnh0hz3fdXTR+fFgQhvh7ECSEkXQZCgwO+nEqXIlvPlSt/Qrt27Zrey1o
mEPx4QSanl0VT4wnnFzXgDr9y6czHkyj9mAlQ789NghSLIvrfiU4k+K0puKaDRdB3MVtr90FMlYh
A2PPGdlOl8xRHc/iT5V6N06AtVpECy4oyq3YlRUXI3dnxhEUZC3VkSAFpxSLysqOu34Xd1hzE+yj
Lq4qpCxGO4FO2RoziU0fdgHfL7ToNlPHvtNFxG9qk6nJT9k2uX8QGvFMQHV8IlwfmK26O7cmG4jX
+eoZYwkITfOF7TVlMzx0iacfMXNKcVQpjobIP1oAE4pX6oGQv89hmEkcUpCmBB72q0Va4f0Srzaq
Da0Gf88BAjHdB9Yy/dM2FNAyar+OGdvn/BajNwyNSboGEi4nb+p2/8hGEZfzzYZvWf45/gwzpN5y
D+uxN5xTyx0fW0MLGcOG+m3+cF9EPWWMbft6Atzu/0jIroVsG1iXCAGRKsJX9SHxWpNS9SFiDRuU
Y/gXoMrcBSD5m/8tF3l1O7zWW9r1TGTsC4w5zPJK5/ZyCcYlST5ut6cu7oK6DdSyE41x9vMbETID
VJPLjL1qkv9NStVedT0DDoF2OrDihZQojZqq0kc76Z5/Jv3YzvHKrbeabdmmo7VEthqyjWarWq57
dqu2GQsBVNdPON2eBsqYbe6A43Mt+atqfwBQSwMECgAAAAAAsgJCSwAAAAAAAAAAAAAAAB8AHABh
Y2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvVVQJAAMA6dFZLunRWXV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACADKAkJLY+8Kk3hDAAA/FgEAUwAcAGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNo
YW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS1jcmFzaC1sb2cudHh0
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
Y29sb3ItYWxwaGEtd2l0aC1vcGFjaXR5LWNyYXNoLWxvZy50eHRVVAkAA7fo0Vm36NFZdXgLAAEE
9QEAAAQUAAAAtY6xDoIwEEB3v+I2JmyLA5FZmIgmjU7GkNKe0AQ5cldi+Hv5CZM3veW92tqbraBx
ccIAiYDRBcjUQ5BF9WucQk9JtbFnx5tqaRB1iW6YSVL0FhfitJv1s1icA/KdEbtCmzLX57zQuTnp
nQ6/Ykx59OxkzCp41swzQfGCK4GsfoT33gdiCJHRJ+Kt+vPE4QdQSwMEFAACAAgAjAJCSzcitjT3
AwAA8Q0AAEsAHABjb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9yL2JhY2tncm91bmQtY29sb3It
YWxwaGEtd2l0aC1vcGFjaXR5LXN0ZGVyci50eHRVVAkAA7fo0Vm36NFZdXgLAAEE9QEAAAQUAAAA
7ZfbbuM2EIbv/RS62rWDtDpZsiUEAVI57iZNNkYUxBdFUVDkyOYuLRoU1SRv39HRzsFK2pu2QG/i
kJ7/m384JCWfxfH57d3FzVdjfnZxdT4LjTXJv5B8PRwNzHspig3k5oxoYp4vY3MJyS9cNx8/FVww
cwZJsTKLXJlCUiJMnlFRMDAfdGpqeNRmrBXPVhebrfhxPfQca2SERpHlfJUBM3imjeXdPAx3UWEI
jzzXOKptGFRmuR7YhmFYj7bl0NRzXKtURQoDBk7zhR2MIQmCD+LcTuUxMqGVkcs4qpQF1YWCMCSM
nQxfTsZrWQi24NnIPq4Vl/FN8g2oDsOtgi1RcCcXhZ5xhXNLrjFe3ymCFWsus5p3f/2pES+U3ILS
T1/JBo6frcvL0XMjR6Mw/CzIJmHkc838OYpJCpHMaKEUZPoyvpL0O6i6YMxXUfDP6PSvmPhvltjM
jAbjvT5P0+RQn1uPr4o5+b/F//YWe7sWU8ci/2g5A39nJvFtz0ikFK8ctUYuMg0qI6K5ZXYRaPVa
MhjZ7/Sxkd0TUbzdVQS1iljIcrUmrUFCA89KD3qLilzLzRmlkOdS/V0bo8G0yZeA7U9c38BnRyTL
U3cZz26ulzxj8iEMU57xfB0pIC/68VY4Jn98wrUOOjSjvjs5gKYlFF4WsOvZcf3EuIX0pAN08tNP
73iwrc5Dko6Dw7FhmIOux8M24UKrt3Mi195xGYU+7uG1+0Aap07DbBumrteX5tU6vot/a6n34xTZ
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
oNLCj1kWrX4psIcHth6e1TaUqWCrG4whTRn/uzI6rUHBhwaG07ccTfWOIcu+unt/9PQwjyhhr54X
RjRKl0MO6CAfp5Yr8vVGxdrdQRPsWP0z0DgDhUMHqpxd5R3jGcLrHcDO/MuHCxoMfachCHvu+bWe
l4LI79sl4VTw05wK16hwCYYm3POxewONmdMEgQEDy26iOYrjRfhToa6v4yhRm2jOeEwyKdZOSp84
NY99zKNEqJIgOItj4KWUmrp2E25vhzsAlzThqkCK/GkjoF2kxkA9w8VNgK9vlOhUroNrNyHCD/WR
KefHdGvcPljqM8mxKp8EdgXzLG/t1e0aQ5LtnhEIFMVptrH7Vdj0PnmLpveIOcU4KBlNQtyjDXAb
w0o1hGyeAywFDGOUphE+zNcZagXv7uCxrffPwhf9osTNNvlMzbFTlveKY1cO7CewQHgz2yTgyyRh
XNVAsywSBgQhruX32+xhkps/S0qzWHJJT3tU4Jff3QlJiseoeMAMm3iKILaPa98eXV7/zhOaJaEO
/V6wTzhiWGYYU8TTPdfSO8anSKZAsrPJ9hgBXJ03TKtCGxCnGS1RB5wZ+w40+hP4hLGk3bjc31C8
5IwymWad9WrbmGtJnCo4X7U65V3mV2+nhLj1mnFRybtUKCK7IrLre/4i0ThU2UijIIb3Ujo7ynDQ
s5ops3JByX7D2j9fbduIWRQLF7mYBLUNPgKsSEl2gDwN/XUjIK3VxmLRnEdqNFJ7Dy9RMft9qk0W
MaMLxVoUDDcAZNY92UfZDviZgnYjmFuCuTBww2OwCUNk23zYahWJi3hW/s2bthViwyHaT78qxDuu
5qXM23Ly62i/V3jeby3LKKx6FjZsPbfKEvMMqi6lSsa2yWtqQoPoRx5Y1WXEMvuTFz2F0voLUEsD
BBQAAgAIAHgCQkv0NcXyRAQAANUPAABHABwAY29tcG9zaXRpbmcvY2FudmFzL2FjY2VsZXJhdGVk
LWNhbnZhcy1jb21wb3NpdGluZy1zaXplLWxpbWl0LXN0ZGVyci50eHRVVAkAA5To0VmU6NFZdXgL
AAEE9QEAAAQUAAAA7VfbbttGEH3XV/ApkQInvFMiYQRwJLuRI8eCKVgPRVEsd4cWG2qXWC5jq1/f
pXjVjbL70hboiyRSM+ecmVnODK98//phMb3/rtxcTWfXE09ZofQrSlf9QU99ZHG2hlSdIIHU66Wv
LiH4Fony60sWxUSdQJA9qVnK1ZhhFKsRxXFGQH0WoSrgRai+4BF9mq6T+NOqbxvaQPGUjKbREwWi
RFQoy8WN5zVWngcvUSrkVSFDwYymoqcriqK96LruhJZharnXmEuDnlH+oZkWCVz3lXBm7WVjNMRb
Ibf+eOuZYZFx8DxEyGV//6a/YllM5hEd6BeFx61/H/wBWHhewiFBHBZsnolJxOW9ZSSkvVhwJCMW
EaMF3uPdu9J5zlkCXGy+ozVc7ORl/2pXyIeB572P0Tog6H2B+cvYRyGMGcUZ50DFrT9j+AfwImDJ
t0WRH4PPbxHx3wyxvDPoWa06j8LgVJ0rjQfBXP5f4n97ie2mxIGhoX80nJ7TiEGObisBY/GBokrI
lArgFMVll2kspNQ7RmCgn6lj6faI4ux4VSVQ5eHHLM/WsBJo4ZGthSe1jbNUsPUVxpCmjP9dGYPe
qORDI90Zmo4iZ8eY5U/drT+5v1tGlLBnzwsjGqWrMQe0V49j5pL8ZSNz7dbQBDvm8AQ0zkFhP4Cm
ZhfFxHiA8LIGqN0/vzujQddqDUFouadtPS8FUVz3K8K54Mc5Ja7e4BIMXbinc/cKGqOgCQIdRqbd
RXOQx7Pwx1LdtuMokYdoyXhMcilmLWVInFbEPuZRImRLEJzFMfBKSktdvwvXqnFH4JIuXJlIUdzt
BLTL0ujI0l3cBfj8SolOEzq4dhci/JQPmQx+SrfO/T1Tn2Ucy/ZJoG6YJ3lbf12/YEjy0zMBgaI4
zQ/2sEmbNiSv0fQWMccYRxWjQYh7cACuY1jLgZDvc4AzAeMYpWmE9+t1glrCuzU8trXhSfhyXlS4
+SFfyD12zopZcRjKnv8MnhDeLDYJ+FmSMC57oFE1CR2CELfq+3VxNyvcHzJK81zyjB6PqMSvnrsj
kiSP3vCAEXbxlEnsH/a+Hbqi/50mNCpCDYZWsEs4YTjLMeaIpzuhpTeMz1GWAllwgO1rBHD5vmGY
DdqION1oSbZOFuwH0OhP4DPGkn6nub+heMUZZVmaT9aL7WBuFXEu4Xw56mR0eVxWrYS47Z5xVsmb
VEgiuyGy22f+LNE0lNVIoyCGt1I6NWU4ssxuyrxdULI7sHbfr7ZjxCibhYtcTILWAZ8AlqQkf4E8
Dv1lIyBt9cbSaMkjuRrJs4dXqNz9PrQ2i5jRJ8laNgw3AGS0I9lF2S74uYJ+J5hbgbkwcsNDsBlD
ZDt82HodibN4ZvHMG7YZYt0hysdfJeINl/tSHm21+Q2U3xs877eeqZdelol1Wyu88sI8gOxLqZSx
HfKK3NAg+lkkVk4Zscp/FE1PovwFUEsDBAoAAAAAAHgCQksAAAAAAAAAAAAAAAAVABwAY29tcG9z
aXRpbmcvY2xpcHBpbmcvVVQJAAOU6NFZLunRWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAB4AkJL
BycYGHUEAAAVEAAAUQAcAGNvbXBvc2l0aW5nL2NsaXBwaW5nL2JvcmRlci1yYWRpdXMtb3ZlcmZs
b3ctaGlkZGVuLXN0YWNraW5nLWNvbnRleHQtY3Jhc2gtbG9nLnR4dFVUCQADlOjRWZTo0Vl1eAsA
AQT1AQAABBQAAADtV99vo0YQfvdfwdOdfUrP/DBgUHRSzk56Tp3EClb8UFXVsjvY9PAuWnYvcf/6
LgYM/kWSvrSV+oIN7HzfNzPLzOw90zBH2UpL2FKLmKREXbk2luv0ESgBPucAvqU7lv2508kEYVL4
2z/Aud+5CoLrx/nk4V67uZpMr8e+tkLZN4XX7XX6TyyRa8j6YyRQ/3oR9BcQ/hKL8uerjBPSH0Mo
l32Z8X7CMEr6McWJJNB/FlFfwIvoB4LHdDlZp8nnVdc29Z7ma5Jm8ZIC0WIqtMX8xvfrVb4PL3Em
1F0hQ8OMZqJjaJqmvxi653mGaem51Sj3u2OWL4Y2oNDz3ghn7awiD7l4K+Q2GG0tJRaSg+8jQi67
hw+DFZMJmcW0Z1wUFrfBQ/gHYOH7KYcUcZizmRTjmKtni1io9WLOkfJYxIwWeE93H0rjGWcpcLG5
R2u42IvL4d2+kE893/+YoHVI0McC8+dRgCIYMYol50DFbTBl+DvwwmHFt0VRl96X94j4b7pYPul1
Bo08D6PwXJ4rjUfOXP6f4n97iu06xUNTR/+oOx2nFuM6hq2FjCVHiiohEyqAU5SUVaZeoaTeMQI9
45U8lmZPKJGns6qAKosgYXm03Eqg69i2Hp3VNpKZYOsrjCHLGP+7MnqdYcFnmAiBazma6h0jln91
t8H44W4RU8KefT+KaZytRhzQQT5OLVfkLxsVa6+CDt2BY7lnoHEOCocO1Dm7KDrGI0SXO4Cd+ZcP
r2gw9J0GKxp459f6fgaiuO9WhDPBT3MqXKPGJRjacM/H7g00ZkFjkdAZWnYbzVEcX4U/FermOo5S
tYkWjCckl2JVUlBEnIbHAeZxKlRJEJwlCfBKSkNdtw13sHNRB4+04apAiuJpK6BdpmZgYcPDbYDP
b5To1K6DZ7chwg/1kSnnJ3Rr3D1YGjDJsSqfBHYF8yxv49X1C4Y03z1jEChOsnxju3XYdJe8RdN7
xJxiHFaM2Cbe0Qa4TmCtGkI+zwGWAkYJyrIYH+brDLWC93bwA1t3z8KX/aLCzTf5XM2xM1b0imNX
DuynsER4M9+kEMg0ZVzVQLMqEoOhFeFGfr/N76aF+aOkNI8ll/S0RyV+9d2dkKR4jJoHzKiNpwxi
97j27dEV9e88YVk+TAs57iDcJxwzLHOMGeLZnmvZDeMzJDMg+dlke4wArs4bplWjDYnTjpaqA86c
fQca/wl8yljabV0ebChecUaZzPLOerFtzI0kzhRcoFqd8i73a7BTYnvNmvGqknepUER2TWQ39/yr
RJNIZSOLwwTeS+nsKN3hwGqnzMsFJfsNa/98tW0jZlksDGINSNjY4GPAipTkB8jT0F83ArJGbSwX
LXisRiO19/AKlbPfp8ZkkTC6VKxlwTBgaJpNT/ZRtgN+rqDbCuZVYJYz9KJjsClDZNt82Hodi1fx
rPKbJ45nGw7RfvpVId5wNS/l3laTX0/7vcbzf+tYRmVFbMPWC6s8MY+g6lKmZGybvKYmNIh/FIFV
XUas8j9F0VMonb8AUEsDBBQAAgAIAHgCQkvKjTZtSAQAANUPAABOABwAY29tcG9zaXRpbmcvY2xp
cHBpbmcvYm9yZGVyLXJhZGl1cy1vdmVyZmxvdy1oaWRkZW4tc3RhY2tpbmctY29udGV4dC1zdGRl
cnIudHh0VVQJAAOU6NFZlOjRWXV4CwABBPUBAAAEFAAAAO1X227bRhB911fwKZECJxTvFxgBHMlu
5MixYArWQ1EUy92hxYbaJZbL2OrXdymSInWj7L60BfoiidTMOWdmljPDqyC4fphP7r8rN1eT6fXY
V5Yo+4qyZX/QUx9Zkq8gU8dIIPV6EagLCL/Fovr6kscJUccQ5k9qnnE1YRglakxxkhNQn0WkCngR
aiB4TJ8mqzT5tOxb+nCg+EpOs/iJAlFiKpTF/Mb3Gyvfh5c4E/KqlKFgRjPR0xRFGb5oQ8/zNN0Y
Fl4jLg16evWHawEKPe+VcMbWK/KQgzdCboPRxjPHIufg+4iQy/7+zWDJ8oTMYjrQLkqP2+A+/AOw
8P2UQ4o4zNksF+OYy3uLWEh7MedIRixiRku8x7t3lfOMsxS4WH9HK7jYycv+1a6QDwPff5+gVUjQ
+xLzl1GAIhgxinPOgYrbYMrwD+BlwJJvgyI/Bp/fIuK/GWJ1Z9AzW3V2o/BUnWuNB8Fc/l/if3uJ
rabErj5E/2g4PbsR49iapYSMJQeKaiETKoBTlFRdprGQUu8YgYF2po6V2yNK8uNVlUC1R5CwIltO
LdCxLWsYndQ2yjPBVlcYQ5Yx/ndlDHpuyafpCIFj2IqcHSNWPHW3wfj+bhFTwp59P4ppnC1HHNBe
PY6ZS/KXtcy1V0OHjmkbzgloXIDCfgBNzS7KifEA0eUWYOv++d0ZDdpwq8GITO+0re9nIMrrfk04
E/w4p8TVGlyCoQv3dO5eQaOXNAYJbdewumgO8ngW/liq23YcpfIQLRhPSCHFqKWgiNitiAPM41TI
liA4SxLgtZSWun4XrrkNcQge6cKViRTl3U5AqyqNaWDNw12Az6+UaDehg2d1IcJP+ZDJ4Cd049zf
Mw1YzrFsnwS2DfMkb+uv6xcMaXF6xiBQnGTFwXaatA0d8hpNbxFzjNGtGbFFvIMDcJ3ASg6EYp8D
nAsYJSjLYrxfrxPUEt7bwpvW0DkJX82LGrc45HO5x85YOSsOQ9nzn8ITwuv5OoUgT1PGZQ/U6yZh
ukaEW/X9Or+blu4POaVFLnlOj0dU4dfP3RFJkkdreECPuniqJPYPe98OXdn/ThNW7UM3kO2Y4S7h
mOG8wJghnu2Elt0wPkN5BmTOATavEcDl+4ZuNGgusbvR0nyVztkPoPGfwKeMpf1O82BN8ZIzyvKs
mKwXm8HcKuJMwgVy1MnoirjMrRLLa/eMs0repEISWQ2R1T7zZ4kmkaxGFocJvJXS3lI6rml0Uxbt
gpLdgbX7frUZI3rVLDRimCRsHfAxYElKihfI49Bf1gKyVm+sjBY8lquRPHt4iard70Nrs0gYfZKs
VcPQwNX1diS7KJsFv1DQ7wTzajDDdr3oEGzKENkMH7ZaxeIsnlE988T2LM0mysdfJeINl/tSEW29
+Q2U3xs8/7eeodVexNKsYelVFOYBZF/KpIzNkFfkhgbxzzKxcsqIZfGjbHoS5S9QSwMECgAAAAAA
sgJCSwAAAAAAAAAAAAAAABsAHABjb21wb3NpdGluZy9jb2xvci1tYXRjaGluZy9VVAkAAwDp0Vku
6dFZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAHgCQktK/CdRBgQAAAwOAAA9ABwAY29tcG9zaXRp
bmcvY29sb3ItbWF0Y2hpbmcvaW1hZ2UtY29sb3ItbWF0Y2hpbmctY3Jhc2gtbG9nLnR4dFVUCQAD
lOjRWZTo0Vl1eAsAAQT1AQAABBQAAADtl9tu4zYQhu/9FLzatYN0dbJkiwgCpHbSJs3BiIz4oigK
ihzZ2qVFg6Ka7Nt3JFmyc7CS9qYt0BvHovl/888MSTG3inDN8hWRakkSVWQCPzWZFuvNPWQC9FwD
UM8OvNGXXi83QhWGVl9Aa9o7i6Lz+/nl3S25OLu8Pp9SsmL5z8jrD3rWg5LFGnJrygyzzheRtYD4
l9Rs//xYpFJYU4iLpVXk2pKKM2mlGZeFAOvRJJaBJ2NFRqfZ8nK9kV9Wfd+1B4SSIsvTZQaCpJkh
i/kFpbtZlMJTmht8qm0QrrLc9BxCiP3k2KPEHbueXaomZd49d/tDEI+dOAw/iPNaVWizEa+MXEWT
SllwU2iglAlx0n85GK1UIcUszQbOca24iu7ir8ANpRsNG6ZhrmaFmaYaxxapwflmrhlmbFKV1byH
m09b8UyrDWjz/Zat4fhZXV4+PTdyNKD0s2TrWLDPNfOnScQSmKiMF1pDZq6ia8W/ga4TxngVBT8G
p3/FxH8zxe3IoDfc6/M4iQ/1ufH4KpmT/1v8b2+xvzsAEtdm/2g6vWBnBgLHJ7FS8pWjxshlZkBn
TG5Pmd0MtHqjBAycd/q4lT0wWbzdVQQ1ikiqslqjxiBPuG8nB71Nityo9RnnkOdK/10bg964juc4
9nA08gKC746JKnfdVTS9u1mkmVCPlCZpluariQb2oh9vTcfgT9+x1mGDdmyBr7cDaF5C4WUCu54d
12+Me0hOWkArP/30jgfHbj3wZBgenktpDqZ+7jcBZ0a/HRO5zo4rOHRxD9fuA2HcOozrDZOx53eF
eVXHd/FvlXp/nmYbXEQLpaUorXitlbEI9jKOuE43Bo8Eo5WUoBsre+76Xdxhyw0hFF1cLKSpRzuB
fg20Q+E7Ie8CPn7QYtAQOTDotLiUKmay3q2dyFGbNRuN3S5kjCbxenSvlNlyUT5u5H5YnhLv5liP
7/RhrY+55wYBIz/8ioQLjacFqefXM3/rufb2OPI4425MBN5bq3kIxAAztT2hGzluOddpJWEy9CoJ
hnTdZhjGgediyEpwrZiYgoQlrhjyCPFDCo+0vKqW2MmKZUuYqgwoXprLa26kCs2BojGvxYW273Xi
RCouqk1Y/nqhdDWzZAybKjhuEgJR8Vf+u6oyPyJ4QZ4wKS9vZif749UeKan4bX/8tP+HSgXpHw36
g+e/bJ9ydMWN0gcJWCK/9eM4gU3K+E0yz/BvA14HeoEPdng7ERX+VdG64hwmj9rlJDxRbZAWDHoi
U7wpUGxDvmGGr6b77ShXxnYx2yM/RPluMe8x8FBZAf9WPkwU/tsABrCR81WaV5NKSthSnLGXfJSC
Ss/eKT3P61I2qtK25+zJAv+ATJa1xQWMgt6fUEsDBBQAAgAIAHgCQkuGds1p2wMAAMwNAAA6ABwA
Y29tcG9zaXRpbmcvY29sb3ItbWF0Y2hpbmcvaW1hZ2UtY29sb3ItbWF0Y2hpbmctc3RkZXJyLnR4
dFVUCQADlOjRWZTo0Vl1eAsAAQT1AQAABBQAAADtl11P40YUhu/zK3y1myC6/ort2EJI1IFuKCwR
RuSiqqrxzHHi3YknGo8b9t/3+DOBEMP2pq3UG8CT8z7nPefMTMxFFF3eP8zuvmhXF7Oby2mgrUj+
meSr4WigPwperCHXp0QR/XIR6QuIf01V8+vnIuVMn0JcLPUilzoXlHA9zSgvGOhblegKnpQeKZlm
y9l6wz+tho5ljLRAK7I8XWbAtDRT2uLhKgh2UUEAT2mu8Km2oVGR5WpgappmPJmGl1gTyzZKVSgx
YGA1H7jxxIx9/504u1P5BvFoZeQ6CitlQVUhIQgIY2fDl4vRShSczdNsZJ7WiuvoLv4KVAXBRsKG
SHgQ80JNU4lri1RhvHqQBCtWqchq3uPth0Y8l2IDUn3/QtZw+qwvL5+eGzkZBcFHTtYxIx9r5i9h
RBIIRUYLKSFT19GNoN9A1gVjvoqCP0bnP2Liv1liszIajPfmPEniY3NuPR4Uc/b/iP/tI3Z2F0Bi
GeQfLWfg7syAazpaLAQ/cNQamWUKZEZ4c8vsItDqrWAwMt+YYyN7JLx4faoIahURF2W3vNYgTahj
JEe9hUWuxPqCUshzIf+ujdFgUuczTWPsebar4XdHKMpTdx1N724XacbENgiSNEvzVSiBvJjHa+GY
/Ok79tpv0abBXNs7gqYlFF4WsJvZaf2NcQ/JWQfo5Ocf3vBgGp0Hmoz947FBkIOqn4dtwrmSr+dE
rrnjMgp93OO9e0caq05j2eNkYjt9aQ76+Cb+tVbvx0mywU20EJKz0ordWZkwd6/iiMp0o/BKUFJw
DrK1sudu2Mcdd1wffNbHxUaqerUX6NRAw2eO6dM+4PadFt2WSIFAr8UlFzHh9WntRXpd1cSbWH3I
GE3i69G9EKrhonzSyh2/vCXerLFe3+n9Wh9T23Jdov30GxKuJN4WWh1fR/4+sIzmOrIpoVassWK9
qeIQiAnmormhWzkeOcvsJH4ytisJprSsdhkmrm1hykpwIwibAocl7hhtC/FjCtugfFUtseGKZEuY
igyCRMjyNTcShaQQoDG7w/mGY/fiWMquqkNYfnolZBVZMsZtF0wr8UET8Vf6h6gqP9HwBTkknM9u
52f769UZKan41/76+fBPkTJteDIajp5/0jzl6IoqIY8SsEVO58c0XUMr87fFPMO/DjhM9ALv7vBG
wir8QdP68hwne912YjarDkgHBhnyFN8UAhxDviGKrqb74yh3RrOZDc/xUb7bzHsMvFRWQL+VD6HA
fxtAAQ7yYZXmVVBJ8TuKObGT91JQaRs7pW3bfcpWVdq2zT2Z6xyR8bK3uIFR8BdQSwMEFAACAAgA
sgJCS2UM8TGuAAAA7gIAADgAHABjb21wb3NpdGluZy9jb2xvci1tYXRjaGluZy9wZGYtaW1hZ2Ut
bWF0Y2gtY3Jhc2gtbG9nLnR4dFVUCQADAOnRWQDp0Vl1eAsAAQT1AQAABBQAAADFz70OgjAUhuHd
qzgbE5YWkZ9ZnIwmjU7GkEKP2gQ55rTEePd6AayE9Vu+96m1PukK9sb1aCEQMBoLkbh4ZC/a0fW2
pSAOrmXDX3Gghxc7Zx4D+eA6jW/i8F/G11vjYJHPjNioROZxUsaqiGWW5Zu0wY+XMl93bPwzquBa
Mw8E6gZHAj92T7j//4EYrGPsAvG3mjliVc8qz2NZqHJTLCqfjphdniRZqrYLy6ciVj9QSwMEFAAC
AAgAsgJCS1I/4HLeAwAAzA0AADUAHABjb21wb3NpdGluZy9jb2xvci1tYXRjaGluZy9wZGYtaW1h
Z2UtbWF0Y2gtc3RkZXJyLnR4dFVUCQADAOnRWQDp0Vl1eAsAAQT1AQAABBQAAADtl9tu4zYQhu/9
FLratRdpdaAlWUIQIJWTbtJkY0RBfFEUBUWObO3SokFRTfbtOzraOVhJe9MW6E0cUfN/88+MSMun
cXx2e3dx88U4P724OpuHxpoWn2mxHk9G5r0U5QYKc041Nc+WsbmE5JdMtx8/lZng5hyScmWWhTKF
ZFSYWc5EycF80Kmp4VGbsVZZvrrYbMWP67HrWBMjNMq8yFY5cCPLtbG8Ow/DXVQYwmNWaLxqbBhM
5oUe2YZhWI+2xQJOHGJVqkhhwMhpbySew5IgeCeO9CqSUJ/VRi7jqFaWTJcKwpByfjx+vhivZSn4
Issn9lGjuIxvkq/AdBhuFWypgju5KPU8U7i2zDTG6ztFsWKdybzh3V9/aMULJbeg9PcvdANHT/ry
/OqpkU+TMPwo6Cbh9GPD/DmKaQqRzFmpFOT6Mr6S7BuopmDMV1Pwz+Tkr5j4b5bYrkxG0705z9Lk
0Jw7jy+KOf5/xP/2Ebu7EVPHov9oOSNvZybwbNdIpBQvHHVGLnINKqeiPWV2EWj1WnKY2G/MsZXd
U1G+PlUEdYpYyKpbfmfQp75rpQe9RWWh5eaUMSgKqf6ujclo1uSzXZo6PvEM/O6IZLXrLuP5zfUy
y7l8CMM0y7NiHSmgz+bxWjgmf/yOvQ46dJLMPOIfQLMKCs8L2M3sqPnGuIX0uAf08pMPb3iwrd6D
n06Dw7FhWIBursddwoVWr+dErr3jcgZD3MO9e0cap0nj8ZTOiDuU5kUf38S/1ur9OEW3+BAtpRK8
skJ6K4R7exXHTGVbjUeCVlIIUJ2VPXfjIe60504h4ENcbKRuVgeBbjua6cyyAzYEfHinRa8j+gGF
QYsrIRMqmt06iPT7ql1/5gwhEzSJr0e3UuqWi/JZKwdrWp0Sb9bYrO/0Qa13LMzvedT44VcknCs8
LYwmvon8beQ0+8ei4CfMSQxebrZ1HAIxwUK2J3Qnxy3n2L2EplNSSzCl43TLQeARB1PWgitJ+RwE
rPCJMR4guc/gIaxeVStstKb5CuYyhzCVqnrNjWWpGIRojPQ4arlkEMczfl5vwuruuVR1ZMWYdl1I
0jQAQyZf2e+yrvyTgS/IERXi4npxvL9e75GKiv/tr5+M/5AZN8afJuPJ0zvtVYGumJbqIAFb5PZ+
wPYso8rfFfME/zrgZaJneG+Ht1Je4180bSjPYbLfkYESXm+QHgwqEhm+KYQ4hmJLNVvP98dRPRnt
w4w/Pqac7G2vPQYeKmtg36qLSOLPBtCAg7xbZ0UdVFGClmKnbEbS91JQSaydkhAypOxUlW1i78k8
94BMVL3FBxgFfwJQSwMECgAAAAAAeAJCSwAAAAAAAAAAAAAAABQAHABjb21wb3NpdGluZy9jb2x1
bW5zL1VUCQADlOjRWS7p0Vl1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAeAJCS2VXKPByBAAAFRAA
AD8AHABjb21wb3NpdGluZy9jb2x1bW5zL2FuY2VzdG9yLWNsaXBwZWQtaW4tcGFnaW5hdGVkLWNy
YXNoLWxvZy50eHRVVAkAA5To0VmU6NFZdXgLAAEE9QEAAAQUAAAA7Vffc+I2EH7nr/DTHdykB/4J
9mRuJgdJj5QkTMyEh06nI0trcM9IHlm6QP/6ytjG5pdJ+tJ2pi+Ajfb7vt2VdlePTMMcpUstZgst
ZJIS9cm1kVwlz0AJ8BkH8MyeY7qfW61UECaFt/0BnHutG9+/fZ6Nnx61u5vx5HbkaUuUflN47U6r
+8JiuYK0O0ICdW/nfncOwS+RKL6+yigm3REEctGVKe/GDKO4G1EcSwLdVxF2BaxF1xc8oovxKok/
L9u20etoniZpGi0oEC2iQpvP7jyvWuV5sI5SoZ5yGRpmNBUtXdO03lrvYWSBYfYyq2Hmd8so/ggc
1A9c941w5s4qs8NbIff+cGspsZAcPA8Rct0+fOkvmYzJNKId/Sq3uPefgj8AC89LOCSIw4xNpRhF
XL2bR0KtFzOOlMciYjTHe3n4UBhPOUuAi80jWsHVXlwOn/aFfOp43scYrQKCPuaYPw99FMKQUSw5
Byru/QnD34HnDiu+LYr66Hx5j4j/povFm07LquV5EAbn8lxqPHLm+v8U/9tTbFcpVuUF/aPutJxK
jOXothYwFh8pKoWMqQBOUVxUmWqFkvrACHT0C3kszF5QLE9nVQGVFn7Msmj1S4EDw7B74VltQ5kK
trrBGNKU8b8ro9Ma5Hy6HThO33Q01TuGLDt19/7o6WEeUcJePS+MaJQuhxzQQT5OLVfk642KtVtC
YwM7Zv8MNM5A4dCBKmdXecd4hvB6B7Az//Lhgga9t9MQhJZ7fq3npSDy53ZJOBX8NKfC1StcgqEJ
93zs3kBj5DQOODAw7SaaozhehD8V6vo6jhK1ieaMxySTYu6k9IlT89jHPEqEKgmCszgGXkqpqWs3
4Vo73AG4pAlXBVLkbxsB7SI1VmjpLm4CfH2jRKdyHVy7CRF+qEOmnB/TrXH7YKnPJMeqfBLYFcyz
vLW/btcYkmz3jECgKE6zjd2vwtbrk7doeo+YU4yDkrFPiHu0AW5jWKmGkM1zgKWAYYzSNMKH+TpD
reDdHTy2e/2z8EW/KHGzTT5Tc+yU5b3i2JUD+wksEN7MNgn4MkkYVzXQKIuEbQYhruX32+xhkps/
S0qzWHJJT3tU4Jfn7oQkxaNXPGCETTxFENvHtW+PLq9/5wmN8ijY0LeCfcIRwzLDmCKe7rmW3jE+
RTIFkt1NttcI4Oq+YZgV2oA4zWiJuuDM2Heg0Z/AJ4wl7cbl/obiJWeUyTTrrFfbxlxL4lTB+arV
Ke8yv6ydEuLWa8ZFJe9SoYjsisiu7/mLRONQZSONghjeS+nsKMOBZTZTZuWCkv2GtX+/2rYRoygW
FgFMgtoGHwFWpCS7QJ6G/roRkNZqY7FoziM1Gqm9h5eomP0+1SaLmNGFYi0KhhWayKh7so+yHfAz
Be1GsKI8WAAwcMNjsAlDZNt82GoViYt4Zn7mjV7fCnWHaD/9qhDvuJqXMm/Lya+j/V7heb+1TL20
GoS63cutssQ8g6pLqZKxbfKamtAg+pEHVnUZscx+5EVPobT+AlBLAwQUAAIACAB4AkJLZfjn7EcE
AADVDwAAPAAcAGNvbXBvc2l0aW5nL2NvbHVtbnMvYW5jZXN0b3ItY2xpcHBlZC1pbi1wYWdpbmF0
ZWQtc3RkZXJyLnR4dFVUCQADlOjRWZTo0Vl1eAsAAQT1AQAABBQAAADtV01v2zgQvftX6NTaRVpb
35YQFEjtZOvUaYzIiA+LxYIiR7G2MimQVBPvr1/Kkiz5S072srvAXmxLnnnvzQw5Q14FwfXDfHL/
Xbu5mkyvx762ROIrEstur9N/ZEm2AtEfI4n614ugv4DwWyzLry9ZnJD+GMLsqZ8J3k8YRkk/pjjJ
CPSfZdSX8CL7geQxfZqs0uTTsmsbg57maxkV8RMFosVUaov5je/XVr4PL7GQ6qmQoWFGhezomqYN
XvQBRhYY5iD3GnFl0DHKP0IHuaHnvRLO3Hrlfngj5DYYbTwzLDMOvo8IuezuvwyWLEvILKY9/aLw
uA3uwz8AS99POaSIw5zNMjmOuXq3iKWyl3OOVMQyZrTAe7x7VzrPOEuBy/V3tIKLnbzsP+0K+dDz
/fcJWoUEvS8wfxkFKIIRozjjHKi8DaYM/wBeBKz4Nijqo/f5LSL+myGWb3odq1HnYRSeqnOl8SCY
y/9L/G8vsV2XWLUX9I+G03FqMZaj21rIWHKgqBIyoRI4RUnZZWoLJfWOEejpZ+pYuj2iJDteVQVU
eQQJy7PlVgKHhmEPopPaRpmQbHWFMQjB+N+V0esMCz7dDh3HNR1NzY4Ry3fdbTC+v1vElLBn349i
GovliAPaq8cxc0X+sla59ipobGDHdE9A4xwU9gOoa3ZRTIwHiC63AFv3z+/OaNAHWw1hZHmnbX1f
gCyeuxXhTPLjnApXr3EJhjbc07l7BY1R0DjgwNC022gO8ngW/liqm3YcpWoRLRhPSC7F3EpxidOI
OMA8TqVqCZKzJAFeSWmo67bhWlvcIXikDVclUhZvWwHtsjRWZOkebgN8fqVEpw4dPLsNEX6qTaaC
n9CNc3fPNGAZx6p9Etg2zJO8jb+uXzCk+eoZg0RxIvKF7dZpG7jkNZreIuYY47BidAnxDhbAdQIr
NRDy8xzgTMIoQULEeL9eJ6gVvLeFx/bAPQlfzosKN1/kc3WOnbFiVhyGsuc/hSeE1/N1CkGWpoyr
HmhUTcI2wwg36vt1fjct3B8ySvNc8owej6jEr/bdEUmKR695wIjaeMokdg973w5d0f9OExrVVrDB
tcJdwjHDWY4xQ1zshCZuGJ+hTACZc4DNNQK4um8YZo02JE47Wpqt0jn7ATT+E/iUsbTbah6sKV5y
Rlkm8sl6sRnMjSLOFFygRp2KLo/L2iohXrNnnFXyJhWKyK6J7OaaP0s0iVQ1RBwm8FZKZ0sZDS2z
nTJvF5TsDqzd+9VmjBhls7AIYBI2FvgYsCIl+QXyOPSXtQTR6I2l0YLH6mik1h5eovLs96FxskgY
fVKsZcOwIhMZzUh2UTYH/FxBtxWsbA8WAAy96BBsyhDZDB+2WsXyLJ5Z7Hlj4FqR7hDt468K8Yar
81IebXXy62m/13j+bx1Tr7yGkW4PCq+8MA+g+pJQMjZDXlMnNIh/FolVU0Yu8x9F01MofwFQSwME
CgAAAAAAeAJCSwAAAAAAAAAAAAAAABwAHABjb21wb3NpdGluZy9jb250ZW50cy1mb3JtYXQvVVQJ
AAOU6NFZLunRWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAB4AkJL+bFG13QEAAAVEAAAXgAcAGNv
bXBvc2l0aW5nL2NvbnRlbnRzLWZvcm1hdC9zdWJwaXhlbC1hbnRpYWxpYXNlZC10ZXh0LWNvbmZp
Z3MtYW50aWFsaWFzaW5nLXN0eWxlLWNyYXNoLWxvZy50eHRVVAkAA5To0VmU6NFZdXgLAAEE9QEA
AAQUAAAA7Vffc+I2EH7nr/DTHdykh39gY3syN5ODpEdKEiZmwkOn0xHSGtwzkkeWLtC/vjK2sfll
kr60nekLYKP9vm93pd3VI9MwR+lSi9lCC5mkRH1ybShXyTNQAnzKAXxLd3rG51YrFYRJ4W9/AOd+
6yYIbp+no6dH7e5mNL4d+toSpd8UXrvT6r6wWK4g7Q6RQN3bWdCdwfyXSBRfX2UUk+4Q5nLRlSnv
xgyjuBtRHEsC3VcRdgWsRTcQPKKL0SqJPy/btql3NF+TNI0WFIgWUaHNpne+X63yfVhHqVBPuQwN
M5qKlqFpmr42dM8KPdPSM6tB5nfLLP5wdduce94b4aydlWOgPt4KuQ8GW0uJheTg+4iQ6/bhy2DJ
ZEwmEe0YV7nFffA0/wOw8P2EQ4I4TNlEimHE1btZJNR6MeVIeSwiRnO8l4cPhfGEswS42DyiFVzt
xeXwaV/Ip47vf4zRak7Qxxzz50GAQhgwiiXnQMV9MGb4O/DcYcW3RVEfnS/vEfHfdLF402n1anl2
w/m5PJcaj5y5/j/F//YU21WKdVNH/6g7LaeqRqFj2NqcsfhIUSlkRAVwiuKiylQrlNQHRqBjXMhj
YfaCYnk6qwqotAhilkWrXwo0MLH18Ky2gUwFW91gDGnK+N+V0Wm5OZ9h2obZtxxN9Y4By07dfTB8
ephFlLBX3w8jGqXLAQd0kI9TyxX5eqNi7e2gietY/TPQOAOFQweqnF3lHeMZwusdwM78y4cLGgx9
p6Ef9rzza30/BZE/t0vCieCnORWuUeESDE2452P3Bhozp7FcA7mW3URzFMeL8KdCXV/HUaI20Yzx
mGRSrJ0Uizg1jwPMo0SokiA4i2PgpZSaunYTbm+H2wOPNOGqQIr8bSOgnQMagHTDw02Ar2+U6FSu
g2c3IcIPdciU8yO6NW4fLA2Y5FiVTwK7gnmWt/bX7RpDku2eIQgUxWm2sftV2PQ+eYum94g5xeiW
jKZHvKMNcBvDSjWEbJ4DLAUMYpSmET7M1xlqBe/t4F1b75+FL/pFiZtt8qmaYycs7xXHrhzYj2GB
8Ga6SSCQScK4qoGmXu4Y6Ie4lt9v04dxbv4sKc1iySU97VGBX567E5IUj1HxgBk28RRBbB/Xvj26
vP6dJzRLQh31e/N9wiHDMsOYIJ7uuZbeMT5BMgWS3U221wjg6r5hWhWaS5xmtERdcKbsO9DoT+Bj
xpJ24/JgQ/GSM8pkmnXWq21jriVxouAC1eqUd5lfvZ0Sz6vXjItK3qVCEdkVkV3f8xeJRqHKRhrN
Y3gvpbOjnLs9q5kyKxeU7Des/fvVto2YRbEw+p5L5rUNPgSsSEl2gTwN/XUjIK3VxmLRjEdqNFJ7
Dy9RMft9qk0WMaMLxVoUDMMFx6x7so+yHfAzBe1GMK8E85DrhcdgY4bItvmw1SoSF/Gs4swTPSSG
Q7SfflWId1zNS5m35eTX0X6v8PzfWlZxgonqgYat51ZZYp5B1aVUydg2eU1NaBD9yAOruoxYZj/y
oqdQWn8BUEsDBBQAAgAIAHgCQkuFeKAtRwQAANUPAABbABwAY29tcG9zaXRpbmcvY29udGVudHMt
Zm9ybWF0L3N1YnBpeGVsLWFudGlhbGlhc2VkLXRleHQtY29uZmlncy1hbnRpYWxpYXNpbmctc3R5
bGUtc3RkZXJyLnR4dFVUCQADlOjRWZTo0Vl1eAsAAQT1AQAABBQAAADtV9tu20YQfddX8CmRAie8
iVcYARzJbuTIsWAK1kNRFKvdocWG2iWWy9jq13cpXnWj7L60BfoiidTMOWdmdmd2r4Lg+mE+uf+u
3FxNptdjX1mh9CtKV/1BT31kcbaGVB0jgdTrRaAuYPktEuXXlyyKiTqGZfakZilXY4ZRrEYUxxkB
9VmEqoAXoQaCR/Rpsk7iT6u+ZWgDxVcymkZPFIgSUaEs5je+31j5PrxEqZBPhQwFM5qKnq4oivai
a54Zeoap5V4jLg16RvmHq1nG0vNeCWfWXraOHLwVchuMtp4ZFhkH30eEXPb3XwYrlsVkFtGBflF4
3Ab3yz8AC99POCSIw5zNMjGOuHy3iIS0F3OOZMQiYrTAe7x7VzrPOEuAi813tIaLnbzsP+0K+TDw
/fcxWi8Jel9g/jIKUAgjRnHGOVBxG0wZ/gG8CFjybVHkx+DzW0T8N0Ms3wx6w1ad3XB5qs6VxoNg
Lv8v8b+9xFZTYs3Q0D8aTs9uulFo65ayZCw+UFQJmVABnKK47DKNhZR6xwgM9DN1LN0eUZwdr6oE
qjyCmOXZciqBOiaWFp7UNspSwdZXGEOaMv53ZQx6bsGnG5ZuOKatyNkxYvmuuw3G93eLiBL27Pth
RKN0NeKA9upxzFySv2xkrr0amri26ZyAxjko7AfQ1OyimBgPEF7WALX753dnNOharcEJh95pW99P
QRTP/YpwJvhxTomrN7gEQxfu6dy9gsYoaExXR65pddEc5PEs/LFUt+04SuQiWjAek1yKWUsxid2K
OMA8SoRsCYKzOAZeSWmp63fhDmvcIXikC1cmUhRvOwGtAlAHpOke7gJ8fqVEuwkdPKsLEX7KTSaD
n9Ctc3/PNGAZx7J9Eqgb5kne1l/XLxiSfPWMQaAoTvOF7TRp0xzyGk1vEXOM0a0YDY94BwvgOoa1
HAj5eQ5wJmAUozSN8H69TlBLeK+Gdy3NOQlfzosKN1/kc3mOnbFiVhyGsuc/hSeEN/NNAkGWJIzL
Hmho1YoBJ8St+n6d300L94eM0jyXPKPHIyrxq313RJLk0RseMMIunjKJ/cPet0NX9L/ThEZFqCFn
uNwlHDOc5RgzxNOd0NIbxmcoS4HMOcD2GgFc3jcMs0Fzid2NlmTrZM5+AI3+BD5lLOl3mgcbilec
UZal+WS92A7mVhFnEi6Qo05Gl8c1rJV4XrtnnFXyJhWSyGqIrPaaP0s0CWU10mgZw1sp7Zpy6Q7N
bsq8XVCyO7B271fbMWKUzUJ3PJcsWwt8DFiSkvwCeRz6y0ZA2uqNpdGCR/JoJNceXqHy7PehdbKI
GX2SrGXD0F2wjXYkuyjbA36uoN8J5lVgHnK98BBsyhDZDh+2XkfiLJ5Z7nmihUS3ifLxV4l4w+V5
KY+2OvkNlN8bPP+3nlnuYCJnoG5phVdemAeQfSmVMrZDXpEnNIh+FomVU0as8h9F05MofwFQSwME
CgAAAAAAeAJCSwAAAAAAAAAAAAAAABwAHABjb21wb3NpdGluZy9jb250ZW50cy1vcGFxdWUvVVQJ
AAOU6NFZLunRWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAB4AkJL8vqrqHMEAAAVEAAAOQAcAGNv
bXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9iYWNrZ3JvdW5kLWNsaXAtY3Jhc2gtbG9nLnR4dFVU
CQADlOjRWZTo0Vl1eAsAAQT1AQAABBQAAADtV9tu4zYQffdX6GnXXqRrXXwVggWydtJ16iRGZMQP
RVFQ5MhWVyYFitzE/fqOLMmSb0rSl7ZAEcCx5JlzzsyQM+S9MKgkycqIxNIIhOYMP6Ux1uv4ETgD
OZcArmP2Os7nRiNRTGjlbr+AlG7jyvOuH+eTh3vj5moyvR67xook3xCv2Wq0n0Sk15C0x0SR9vXC
ay/A/yVU+b+vOoxYewy+XrZ1ItuRoCRqh5xGmkH7WQVtBS+q7SkZ8uVkHUefV82ubbYM19A8CZcc
mBFyZSzmN65bWrkuvISJwqdMhkEFT1TDMgzDfLHMQcfq246Zeo3SuBt2/kMf//zh8I1wTukVkD7d
Crn1RltPTZWW4LqEscvm4UtvJXTEZiFvWReZx6334P8BVLluLCEmEuZiptU4lPhuESq0V3NJMGIV
Cp7hPd19yJ1nUsQg1eaerOFiLy+HT/tCPrVc92NE1j4jHzPMn0ceCWAkONVSAle33lTQ7yCzgJFv
i4IfrS/vEfHfDDF/02p0KnUeBP65Ohcaj4K5/L/E//YSd8sSg22SfzScRq8Uw3pW1/CFiI4UFUIm
XIHkJMq7TGmBUu8Eg5b1Sh1ztycS6dNVRaDCw4tEmq1+IdACv2sGZ7WNdKLE+opSSBIh/66MVmOQ
8VlW1+n1nZ6Bs2Mk0l13640f7hYhZ+LZdYOQh8lqJIEc1OOUOZK/bDDXwx10QHtO/ww0TUHhMICy
ZhfZxHiE4HIHsHP/8uEVDZa50+AHneF5W9dNQGXPzYJwpuRpTsS1SlxGoQ73fO7eQGNnNPbAgYHT
raM5yuOr8KdSXbWTJMZFtBAyYqkUZycFt04lYo/KMFbYEpQUUQSykFJR16zD7exwBzBkdbiYSJW9
rQXsZoAm0I41pHWAz2+U2CtDh2G3DhF+4CbD4Cd869w8MPWElhTbJ4NdwzzLW/np+oVCnK6eMSgS
Rkm6sPtl2rCXvUXTe8ScYhwUjB3GhkcL4DqCNQ6E9DwHVCsYRSRJQnpYrzPUCD/cwdOu2T8Ln8+L
Ajdd5HM8x85ENiuOQznwn8KS0M18E4On41hI7IF23iTMwPQDWqnvt/ndNHN/1JynuZSan44oxy/2
3QlJyGOVPGAHdTx5EpvHvW+PLut/5wntYivY0O/4+4RjQXWKMSMy2QstuRFyRnQCLL2bbK8RIPG+
YTsl2oD16tFivODMxXfg4Z8gp0LEzVpzb8PpSgoudJJO1ovtYK4UcYZwHo46jC6Nq7NTwobVnvGq
knepQKJuSdStrvlXiSYBViMJ/QjeS9nbUQaDjlNPmbYLzvYH1v79ajtG7LxZmH2fMr+ywMdAkZSl
F8jT0F83CpJKb8yNFjLEoxGuPboi+dnvU+VkEQm+RNa8YZhDk9jVSPZRtgf8VEGzFixvD+bAh8Ew
OAabCsK2w0es16F6Fc/J9zy1bMvqMeOnXxHxRuJ5KY22OPm1jN9LPPe3hmMVXj0c/WbmlRbmEbAv
JShjO+QNPKFB+CNLLE4ZtUq/ZE0PURp/AVBLAwQUAAIACAB4AkJL2kSgH0gEAADVDwAANgAcAGNv
bXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9iYWNrZ3JvdW5kLWNsaXAtc3RkZXJyLnR4dFVUCQAD
lOjRWZTo0Vl1eAsAAQT1AQAABBQAAADtV21v2kgQ/s6v8KcWqrT4BQO2okopJFdS0qAYhQ+n02m9
Ow6+ml1rvW7C/fobYxubN5Pcl7uTTkiA7ZnneWZmd2Z95XnXD/PJ/Xft5moyvR672pIkX0mybHda
3UcRpStIumOiSPd64XUX4H8LVfHzJQ0j1h2Dnz5100R2I0FJ1A05jVIG3WcVdBW8qK6nZMifJqs4
+rRs26be0Vwt5Un4xIFpIVfaYn7jupWV68JLmCi8ymVoVPBEtQxN0/QXQx/2jIFp6ZnXSKJByywe
DPDjO84r4azKKyADuhFy6402nilVqQTXJYxdtvdvekuRRmwW8o5xkXvcevf+H0CV68YSYiJhLmap
GocS7y1ChfZqLglGrELBc7zHu3eF80yKGKRafycruNjJy/7VrpAPHdd9H5GVz8j7HPOXkUcCGAlO
UymBq1tvKugPkHnAyLdBwa/O57eI+G+GWNzptHq1Og8D/1SdS40HwVz+X+J/e4ntqsRg6uQfDafV
r8SwvmFrvhDRgaJSyIQrkJxERZepLFDqnWDQMc7UsXB7JFF6vKoIVHp4kciyNSgFGuDbenBS2yhN
lFhdUQpJIuTfldFpDXM+w7Ct/sDqazg7RiLbdbfe+P5uEXImnl03CHmYLEcSyF49jpkj+csac+1s
oQPatwYnoGkGCvsBVDW7yCfGAwSXW4Ct++d3ZzQY+laDH/Sc07aum4DKr9sl4UzJ45yIa1S4jEIT
7uncvYLGzGnMoQVDy26iOcjjWfhjqa7bSRLjIloIGbFMirWVglunFrFHZRgrbAlKiigCWUqpqWs3
4fa2uENwWBMuJlLldxsB7RxQB9ozHNoE+PxKif0qdHDsJkT4iZsMg5/wjXN7z9QTqaTYPhlsG+ZJ
3tqj6xcKcbZ6xqBIGCXZwh5UacNe9hpNbxFzjHFYMvYYcw4WwHUEKxwI2XkOaKpgFJEkCel+vU5Q
I7yzhae2PjgJX8yLEjdb5HM8x85EPisOQ9nzn8IToev5OgYvjWMhsQeaRZPQA90PaK2+X+d309z9
IeU8y6VM+fGICvxy3x2RhDxGxQNm0MRTJLF92Pt26PL+d5rQLLeCCYOev0s4FjTNMGZEJjuhJTdC
zkiaAJtLgM1rBEh83zCtCm3I+s1ocbqK5+IH8PBPkFMh4najubfmdCkFF2mSTdaLzWCuFXGGcB6O
Oowui6u3VcKces84q+RNKpDIrojs+po/SzQJsBpJ6EfwVsr+ljIY9qxmyqxdcLY7sHbfrzZjxCya
hT7wKfNrC3wMFElZ9gJ5HPrLWkFS642F0UKGeDTCtUeXpDj7faidLCLBn5C1aBi6oxOzHskuyuaA
nyloN4IV7UEf+jB0gkOwqSBsM3zEahWqs3hWseepYRpGn2kff0XEG4nnpSza8uTX0X6v8NzfWpZR
evVx9Ou5V1aYB8C+lKCMzZDX8IQG4c88sThl1DL7kzc9RPkLUEsDBAoAAAAAAHkCQksAAAAAAAAA
AAAAAAAbABwAY29tcG9zaXRpbmcvY29udGVudHMtc2NhbGUvVVQJAAOV6NFZLunRWXV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACAB5AkJLbn2K63QEAAAVEAAAMgAcAGNvbXBvc2l0aW5nL2NvbnRlbnRz
LXNjYWxlL2FuaW1hdGluZy1jcmFzaC1sb2cudHh0VVQJAAOV6NFZlejRWXV4CwABBPUBAAAEFAAA
AO1X23LiRhB95yv0tAtbzqILAqRybZUX7CwOtimLMg+pVGo00wJlxYxqLmuTr88ISUjcZDsvSary
IpA0fc7p7lF3zz0zMEdiZSRsaURMUaKv3BirdfoIlACfcwDfMfs993OrJSRhSvrbP8C537oKguvH
+eTh3ri5mkyvx76xQuKbxmt3Wt0nlqg1iO4YSdS9XgTdBYS/xLL4+arihHTHEKplVwneTRhGSTem
OFEEus8y6kp4kd1A8pguJ+s0+bxqu7bZMXxDUREvKRAjptJYzG98v1rl+/ASC6nvchkGZlTIlmUY
hvlimb1oiGzHzKxGmd8tu3jhhOCEnvdGOGdnFdlogLdCboPR1lJhqTj4PiLksn34MFgxlZBZTDvW
RW5xGzyEfwCWvp9ySBGHOZspOY65fraIpV4v5xxpj2XMaI73dPehMJ5xlgKXm3u0hou9uBze7Qv5
1PH9jwlahwR9zDF/HgUoghGjWHEOVN4GU4a/A88d1nxbFH3pfHmPiP+mi8WTTqtXy/MwCs/ludR4
5Mzl/yn+t6fYrVJs2Sb6R91p9SsxZt9yjZCx5EhRKWRCJXCKkqLKVCu01DtGoGO9ksfC7Akl6nRW
NVBpESQsi9agFEhccM3orLaREpKtrzAGIRj/uzI6rWHBByZCA6dv6N4xYtlXdxuMH+4WMSXs2fej
mMZiNeKADvJxarkmf9noWHsltDUw+87gDDTOQOHQgSpnF3nHeITocgewM//y4RUNlllq6EdRzzu/
1vcFyPy+XRLOJD/NqXGtCpdgaMI9H7s30Ng5TeSE9tBxm2iO4vgq/KlQ19dxlOpNtGA8IZkUp5SC
QtKveRxgHqdSlwTJWZIAL6XU1LWbcHs7XAweacLVgZT500ZANwckyBlaHm4CfH6jxH7lOnhuEyL8
0B+Zdn5Ct8btg6UBUxzr8klgVzDP8tZeXb9gSLPdMwaJ4kRkG3tQhc0ckLdoeo+YU4zDkhFbxDva
ANcJrHVDyOY5wErCKEFCxPgwX2eoNby3gzddc3AWvugXJW62yed6jp2xvFccu3JgP4Ulwpv5JoVA
pSnjugbaZrljBlGEa/n9Nr+b5uaPitIsllzR0x4V+OV3d0KS5rEqHrCjJp4iiO3j2rdHl9e/84RF
+SAesge9cJ9wzLDKMGaIiz3XxA3jM6QEkOxssj1GANfnDdup0Iak34yW6gPOnH0HGv8JfMpY2m5c
HmwoXnFGmRJZZ73YNuZaEmcaLtCtTnuX+dXbKbG8es14Vcm7VGgityJy63v+VaJJpLMh4jCB91L2
d5TOsOc0U2blgpL9hrV/vtq2EbsoFsRxTBLWNvgYsCYl2QHyNPTXjQRRq43FogWP9Wik9x5eoWL2
+1SbLBJGl5q1KBikNwC77sk+ynbAzxS0G8G8Esyxh150DDZliGybD1uvY/kqnpN/89YQez2rT4yf
ftWIN1zPS5m35eTXMX6v8PzfWo5VWpGe5Zq5VZaYR9B1SWgZ2yZv6AkN4h95YHWXkavsT170NErr
L1BLAwQUAAIACAB5AkJLxiB0U0kEAADVDwAALwAcAGNvbXBvc2l0aW5nL2NvbnRlbnRzLXNjYWxl
L2FuaW1hdGluZy1zdGRlcnIudHh0VVQJAAOV6NFZlejRWXV4CwABBPUBAAAEFAAAAO1XTW/bRhC9
61fwlEiBE36JokgYARzJbuTIsWAK1qEoiuXu0GJD7RK7y9jqr+9SJEXqi7J7aQv0IonUzHtvZpYz
w6sguH6YT+6/azdXk+n12NeWSHxFYtntdfRHlmQrEPoYSaRfLwJ9AeG3WJZfX7I4IfoYwuxJzwTX
E4ZRoscUJxkB/VlGuoQXqQeSx/RpskqTT8uuYxk9zdcyKuInCkSLqdQW8xvfr618H15iIdVVIUPD
jArZMTVNM15Mox8NkWUbudeIK4OOVf5hh2CHnvdKOHvrFVnIxRsht8Fo45lhmXHwfUTIZXf/ZrBk
WUJmMe2ZF4XHbXAf/gFY+n7KIUUc5myWyXHM1b1FLJW9nHOkIpYxowXe49270nnGWQpcrr+jFVzs
5GX/alfIh57vv0/QKiTofYH5yyhAEYwYxRnnQOVtMGX4B/AiYMW3QVEfvc9vEfHfDLG80+v0G3Ue
RuGpOlcaD4K5/L/E//YSO3WJTctA/2g4nUEtxhiYjhYylhwoqoRMqAROUVJ2mdpCSb1jBHrmmTqW
bo8oyY5XVQFVHkHC8my5lUDigGNEJ7WNMiHZ6gpjEILxvyuj1xmWfGAg5NoDTc2OEcufuttgfH+3
iClhz74fxTQWyxEHtFePY+aK/GWtcu1V0KZrDGz3BDTOQWE/gLpmF8XEeIDocguwdf/87owG06g0
DKKo75229X0BsrjuVoQzyY9zKlyzxiUY2nBP5+4VNFZBE9mhNbSdNpqDPJ6FP5bqph1HqTpEC8YT
kkuxKykoJINGxAHmcSpVS5CcJQnwSkpDXbcNt7/FxeCRNlyVSFncbQV0CkCC7KHp4TbA51dKHNSh
g+e0IcJP9ZCp4Cd049zdMw1YxrFqnwS2DfMkb+Ov6xcMaX56xiBRnIj8YLt12gyXvEbTW8QcYxxW
jNgk3sEBuE5gpQZCvs8BziSMEiREjPfrdYJawXtbeMMx3JPw5byocPNDPld77IwVs+IwlD3/KTwh
vJ6vUwiyNGVc9UDLqE6MG0W4Ud+v87tp4f6QUZrnkmf0eEQlfvXcHZGkeMyaB6yojadMYvew9+3Q
Ff3vNGHZPoiHLLcf7hKOGc5yjBniYic0ccP4DGUCyJwDbF4jgKv3Dcuu0YZk0I6WZqt0zn4Ajf8E
PmUs7baaB2uKl5xRlol8sl5sBnOjiDMFF6hRp6LL4+pvlZhes2ecVfImFYrIqYmc5pk/SzSJVDVE
HCbwVsrBltIe9u12yrxdULI7sHbfrzZjxCqbBbFtg4SNAz4GrEhJ/gJ5HPrLWoJo9MbSaMFjtRqp
s4eXqNz9PjQ2i4TRJ8VaNgzSd8FqRrKLslnwcwXdVjCvArOtoRcdgk0ZIpvhw1arWJ7Fs4tn3hxi
r28OiPbxV4V4w9W+lEdbbX497fcaz/+tY5uVF+mbjlF45YV5ANWXhJKxGfKa2tAg/lkkVk0Zucx/
FE1PofwFUEsDBAoAAAAAAKUCQksAAAAAAAAAAAAAAAAUABwAY29tcG9zaXRpbmcvY3VsbGluZy9V
VAkAA+Xo0Vku6dFZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAGQCQktN8S29jwAAAPoAAAA0ABwA
Y29tcG9zaXRpbmcvY3VsbGluZy9jbGVhci1maXhlZC1pZnJhbWUtY3Jhc2gtbG9nLnR4dFVUCQAD
bOjRWWzo0Vl1eAsAAQT1AQAABBQAAAC1jrEOgjAQQHe/4jYmbIsDkVmYiCaNTsaQ0p7QBDlyV2L4
e/kJkze95b3a2putoHFxwgCJgNEFyNRDkEX1a5xCT0m1sWfHm2ppEHWJbphJUvQWF+K0m/WzWJwD
8p0Ru0KbMtfnvNC5OemdDr9iTHn07GTMKnjWzDNB8YIrgax+hPfeB2IIkdEn4q3688ThB1BLAwQU
AAIACABkAkJLTv2QRCcEAAC9DwAAMQAcAGNvbXBvc2l0aW5nL2N1bGxpbmcvY2xlYXItZml4ZWQt
aWZyYW1lLXN0ZGVyci50eHRVVAkAA2zo0Vls6NFZdXgLAAEE9QEAAAQUAAAA7VfbbuM2EH33V+hp
1y7S6n5FsEBqJ12nzsaIjPiZIkexGpkUKHIT79eXsiTL9yRFgbZAX2yQmjnnzAw1I17F8fXDbHz/
Tbu5Gk+uR5G2QOVXVC76g57+yHK5hFIfIYH063mszyH5PRPN368yy4k+gkQ+6bLkes4wyvWM4lwS
0F9Eqgt4FXoseEafxssi/2XRdy1joEWapGX2RIFoGRXafHYTRZ1VFMFrVgq1qmVomNFS9ExN04xX
0wAjJJZtVF5Drgx6VvMA49RLwvCdcHbrRQwX+Xgt5DYerj0lFpJDFCFCLvv7m/GCyZxMMzowL2qP
2/g++QOwiKKCQ4E4zNhUilHG1d48E8pezDhSEYuM0Rrv8e5T4zzlrAAuVt/QEi528rK/2hXy0yCK
PudomRD0ucb8bRijFIaMYsk5UHEbTxh+Bl4HrPjWKOpn8OUjIv6bITY7g56zVecgTU7VudV4EMzl
/yX+t5fY7UrsWAb6R8PpeZ0Y2zNdLWEsP1DUChlTAZyivOkynYWSescIDMw36ti4PaJcHq+qAmo9
4pxV2fJbgeCbrpGe1DaUpWDLK4yhLBn/qzIGvaDmM30zcX3b09TsGLLqrbuNR/d384wS9hJFaUaz
cjHkgPbqccxckb+uVK7DFtryE8/2T0DjChT2A+hqdlFPjAdILzcAG/cvn97QYBobDSh1wtO2UVSC
qNf9lnAq+HFOhWt2uATDOdzTuXsHjVXTBE5CAts9R3OQxzfhj6V6246jQh2iOeM5qaTYGyke8bYi
jjHPCqFaguAsz4G3UrbU9c/hOhtcH0JyDlclUtS7ZwHdGtBLHNsM8TnAl3dK9LrQIXTPIcJ39ZKp
4Md07dzfM42Z5Fi1TwKbhnmSd+vR9SuGojo9IxAoy8vqYPtd2gyfvEfTR8QcYwxaRoxJeHAArnNY
qoFQfc8BlgKGOSrLDO/X6wS1gg838Ilr+Cfhm3nR4laHfKa+Y6esnhWHoez5T+AJ4dVsVUAsi4Jx
1QMtoz0xAUrxVn2/zu4mtfuDpLTKJZf0eEQNfvveHZGkeMyOB6z0HE+TxP5h79uhq/vfacKmfXgI
Ed9JdglHDMsKY4p4uRNaecP4FMkSyIwDrK8RwNV9w7I7tIB459EKuSxm7Blo9gP4hLGif9Y8XlG8
4IwyWVaT9WI9mLeKOFVwsRp1KroqLmejBIfbPeNNJR9SoYjcjsjdPvNvEo1TVY0yS3L4KKW3oYTA
sc9TVu2Ckt2BtXu/Wo8Rq2kWnmMn4FlbPQewIiXVBXIfOs2luo91ls3jOc/UR1GF2bQDzw2CxHC0
E5bqKCuByjxszW0M2693az5hiKx51+MSSLVWMShX2+hckyA57UqZyNLVTQPQaR8irNYPUK67jtJu
mx1iGqQaZfTn7xkXEuWaWEj6rAn2N9D8CVBLAwQUAAIACAClAkJLAeCn5XUEAAAVEAAAPgAcAGNv
bXBvc2l0aW5nL2N1bGxpbmcvZmlsdGVyLW9jY2x1c2lvbi1hbHBoYS1sYXJnZS1jcmFzaC1sb2cu
dHh0VVQJAAPl6NFZ5ejRWXV4CwABBPUBAAAEFAAAAO1X32+jRhB+91/B0519Ss/8MBhQdFLOTnpO
ncQKVvxQVdWyO9j08C5adi9x//ouBgz+RZK+tJX6gg3sfN83M8vM7D3TMEfZSkvYUouYpERduTaW
6/QRKAE+5wC+pTuO87nTyQRhUvjbP8C537kKguvH+eThXru5mkyvx762Qtk3hdftdfpPLJFryPpj
JFD/ehH0FxD+Eovy56uME9IfQyiXfZnxfsIwSvoxxYkk0H8WUV/Ai+gHgsd0OVmnyedV1zb1nuZr
kmbxkgLRYiq0xfzG9+tVvg8vcSbUXSFDw4xmomNomqa/GPowdFzT0nOrUe53xyxfOENshJ73Rjhr
Z0V0NMRbIbfBaGspsZAcfB8Rctk9fBismEzILKY946KwuA0ewj8AC99POaSIw5zNpBjHXD1bxEKt
F3OOlMciZrTAe7r7UBrPOEuBi809WsPFXlwO7/aFfOr5/scErUOCPhaYP48CFMGIUSw5BypugynD
34EXDiu+LYq69L68R8R/08XySa8zaOTZjcJzea40Hjlz+X+K/+0ptusCEJk6+kfd6Ti1GHAMWwsZ
S44UVUImVACnKCmrTL1CSb1jBHrGK3kszZ5QIk9nVQFVFkHC8mgNK4GehW09OqttJDPB1lcYQ5Yx
/ndl9DpuwWfo2EVDy9FU7xix/Ku7DcYPd4uYEvbs+1FM42w14oAO8nFquSJ/2ahYexU0sXXHGp6B
xjkoHDpQ5+yi6BiPEF3uAHbmXz68osHQKw2DKBp459f6fgaiuO9WhDPBT3MqXKPGJRjacM/H7g00
ZkFjRJ7pWnYbzVEcX4U/FermOo5StYkWjCckl2JVUtyQOA2PA8zjVKiSIDhLEuCVlIa6bhvuYIeL
wSNtuCqQonjaCmiXqXEM1/BwG+DzGyU6tevg2W2I8EN9ZMr5Cd0adw+WBkxyrMongV3BPMvbeHX9
giHNd88YBIqTLN/Ywzps+pC8RdN7xJxidCtGZBDvaANcJ7BWDSGf5wBLAaMEZVmMD/N1hlrBezt4
3daHZ+HLflHh5pt8rubYGSt6xbErB/ZTWCK8mW9SCGSaMq5qoFkVCceOItzI77f53bQwf5SU5rHk
kp72qMSvvrsTkhSPUfOAGbXxlEHsHte+Pbqi/p0nLMuHbrvmcBDuE44ZljnGDPFsz7XshvEZkhmQ
/GyyPUYAV+cN06rRXOK0o6XqgDNn34HGfwKfMpZ2W5cHG4pXnFEms7yzXmwbcyOJMwUXqFanvMv9
GuyUGF6zZryq5F0qFJFdE9nNPf8q0SRS2cjiMIH3Ujo7SssdWO2UebmgZL9h7Z+vtm3ELIqFHkWq
YYWNDT4GrEhJfoA8Df11IyBr1MZy0YLHajRSew+vUDn7fWpMFgmjS8VaFgxdt8FserKPsh3wcwXd
VjCvAjNM14uOwaYMkW3zYet1LF7Fs8pvPnQdMByi/fSrQrzhal7Kva0mv572e43n/9axjMoKgWHr
hVWemEdQdSlTMrZNXlMTGsQ/isCqLiNW+Z+i6CmUzl9QSwMEFAACAAgApQJCS6YzNyNKBAAA1Q8A
ADsAHABjb21wb3NpdGluZy9jdWxsaW5nL2ZpbHRlci1vY2NsdXNpb24tYWxwaGEtbGFyZ2Utc3Rk
ZXJyLnR4dFVUCQAD5ejRWeXo0Vl1eAsAAQT1AQAABBQAAADtV01vo0gQvftXcJqxR5kxHwYDikbK
2MmOM87EClZ8WK1WTXcRs4O7UXcziffXb2PA4C+c7GV3pb3YBle996qqqSquguD6YT65/67dXE2m
12NfWyLxFYllt9fpP7IkW4Hoj5FE/etF0F9A+C2W5deXLE5Ifwxh9tTPBO8nDKOkH1OcZAT6zzLq
S3iR/UDymD5NVmnyadm1Tb2n+VpGRfxEgWgxldpifuP7tZXvw0sspLoqZGiYUSE7hqZp+ouhD0PH
NS099xpxZdAxyz+cITZCz3slnLX1Ijoa4o2Q22C08cywzDj4PiLksrt/M1iyLCGzmPaMi8LjNrgP
/wAsfT/lkCIOczbL5Djm6t4ilspezjlSEcuY0QLv8e5d6TzjLAUu19/RCi528rJ/tSvkQ8/33ydo
FRL0vsD8ZRSgCEaM4oxzoPI2mDL8A3gRsOLboKiP3ue3iPhvhlje6XUGjTq7UXiqzpXGg2Au/y/x
v73Edt0AIlNH/2g4HacWA45hayFjyYGiSsiESuAUJWWXqS2U1DtGoGecqWPp9oiS7HhVFVDlESQs
z9awEuhZ2Najk9pGmZBsdYUxCMH435XR67gFn6FjFw0tR1OzY8Typ+42GN/fLWJK2LPvRzGNxXLE
Ae3V45i5In9Zq1x7FTSxdccanoDGOSjsB1DX7KKYGA8QXW4Btu6f353RYOiVhkEUDbzTtr4vQBbX
3YpwJvlxToVr1LgEQxvu6dy9gsYsaIzIM13LbqM5yONZ+GOpbtpxlKpDtGA8IbkUq5LihsRpRBxg
HqdStQTJWZIAr6Q01HXbcAdbXAweacNViZTF3VZAuyyNY7iGh9sAn18p0alDB89uQ4Sf6iFTwU/o
xrm7ZxqwjGPVPglsG+ZJ3sZf1y8Y0vz0jEGiOBH5wR7WadOH5DWa3iLmGKNbMSKDeAcH4DqBlRoI
+T4HOJMwSpAQMd6v1wlqBe9t4XVbH56EL+dFhZsf8rnaY2esmBWHoez5T+EJ4fV8nUKQpSnjqgea
VZNw7CjCjfp+nd9NC/eHjNI8lzyjxyMq8avn7ogkxWPUPGBGbTxlEruHvW+Hruh/pwnL9qHbrjkc
hLuEY4azHGOGuNgJTdwwPkOZADLnAJvXCODqfcO0ajSXOO1oabZK5+wH0PhP4FPG0m6rebCmeMkZ
ZZnIJ+vFZjA3ijhTcIEadSq6PK7BVonhNXvGWSVvUqGI7JrIbp75s0STSFVDxGECb6V0tpSWO7Da
KfN2QcnuwNp9v9qMEbNoFnoUqYEVNg74GLAiJfkL5HHoL2sJotEbS6MFj9VqpM4eXqJy9/vQ2CwS
Rp8Ua9kwdN0GsxnJLspmwc8VdFvBvArMMF0vOgSbMkQ2w4etVrE8i2eVz3zoOmA4RPv4q0K84Wpf
yqOtNr+e9nuN5//WsYzKC4Fh64VXXpgHUH1JKBmbIa+pDQ3in0Vi1ZSRy/xH0fQUyl9QSwMECgAA
AAAAsgJCSwAAAAAAAAAAAAAAABQAHABjb21wb3NpdGluZy9maWx0ZXJzL1VUCQADAOnRWS7p0Vl1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAsgJCSwXLrJJ1BAAAFRAAAFEAHABjb21wb3NpdGluZy9m
aWx0ZXJzL29wYWNpdHktY2hhbmdlLW9uLWZpbHRlcmVkLXBhaW50cy1pbnRvLWFuY2VzdG9yLWNy
YXNoLWxvZy50eHRVVAkAAwDp0VkA6dFZdXgLAAEE9QEAAAQUAAAA7Vffb6NGEH73X8HTnX1Kz2B+
GRSdlLOTnlMnsYIVP1RVtewONj28i5bdS9y/vosBg3+RpC9tpb5gAzvf983MMjN7zzTMUbbSErbU
IiYpUVeujeU6fQRKgM85gG/qjuV97nQyQZgU/vYPcO53roLg+nE+ebjXbq4m0+uxr61Q9k3hdXud
/hNL5Bqy/hgJ1L9eBP0FhL/Eovz5KuOE9McQymVfZryfMIySfkxxIgn0n0XUF/Ai+oHgMV1O1mny
edW1B3pP8zVJs3hJgWgxFdpifuP79Srfh5c4E+qukKFhRjPRMTRN018MPQztwcDUc6tR7ndnUL5A
LgpDz3sjnLmzChFy8VbIbTDaWkosJAffR4Rcdg8fBismEzKLac+4KCxug4fwD8DC91MOKeIwZzMp
xjFXzxaxUOvFnCPlsYgZLfCe7j6UxjPOUuBic4/WcLEXl8O7fSGfer7/MUHrkKCPBebPowBFMGIU
S86BittgyvB34IXDim+Loi69L+8R8d90sXzS61iNPA+j8FyeK41Hzlz+n+J/e4rtOsXeQEf/qDsd
pxYzdAxbCxlLjhRVQiZUAKcoKatMvUJJvWMEesYreSzNnlAiT2dVAVUWQcLyaLmVQG/g2Hp0VttI
ZoKtrzCGLGP878rodYYFn2Fhd+iajqZ6x4jlX91tMH64W8SUsGffj2IaZ6sRB3SQj1PLFfnLRsXa
q6CJCY7pnoHGOSgcOlDn7KLoGI8QXe4AduZfPryiwdB3GkhkeefX+n4GorjvVoQzwU9zKlyjxiUY
2nDPx+4NNIOCxo6G+tC022iO4vgq/KlQN9dxlKpNtGA8IbkUs5LiesRpeBxgHqdClQTBWZIAr6Q0
1HXbcK0dLgKPtOGqQIriaSugXabG0R3Dw22Az2+U6NSug2e3IcIP9ZEp5yd0a9w9WBowybEqnwR2
BfMsb+PV9QuGNN89YxAoTrJ8Y7t12HSXvEXTe8ScYhzu9mJEvKMNcJ3AWjWEfJ4DLAWMEpRlMT7M
1xlqBe/t4MHW3bPwZb+ocPNNPldz7IwVveLYlQP7KSwR3sw3KQQyTRlXNXBQFQnHIhFu5Pfb/G5a
mD9KSvNYcklPe1TiV9/dCUmKx6h5YBC18ZRB7B7Xvj26ov6dJyzLh2W7umuF+4RjhmWOMUM823Mt
u2F8hmQGJD+bbI8RwNV5Y2DWaEPitKOl6oAzZ9+Bxn8CnzKWdluXBxuKV5xRJrO8s15sG3MjiTMF
F6hWp7zL/bIqJU7kNWvGq0repUIR2TWR3dzzrxJNIpWNLA4TeC+ls4uyMbTMdsq8XFCy37D2z1fb
NjIoi4UJEZCwscHHgBUpyQ+Qp6G/bgRkjdpYLlrwWI1Gau/hFSpnv0+NySJhdKlYy4Jh6RYeND3Z
R9kO+LmCbiuYV4Hp+tCLjsGmDJFt82HrdSxexTPLbz4a2pHhEO2nXxXiDVfzUu5tNfn1tN9rPP+3
jmlUVl5k2HphlSfmEVRdypSMbZPX1IQG8Y8isKrLiFX+pyh6CqXzF1BLAwQUAAIACACyAkJLJ8sP
oEkEAADVDwAATgAcAGNvbXBvc2l0aW5nL2ZpbHRlcnMvb3BhY2l0eS1jaGFuZ2Utb24tZmlsdGVy
ZWQtcGFpbnRzLWludG8tYW5jZXN0b3Itc3RkZXJyLnR4dFVUCQADAOnRWQDp0Vl1eAsAAQT1AQAA
BBQAAADtV9tu20YQfddX8CmRAifi/QYjgCPZjRw5FkzBeiiKYrk7tNhQu8RyGVv9+i5FUqRulN2X
tkBfJJGaOefMzHJmeBUE1w/zyf135eZqMr0e+8oSZV9RtuwPesNHluQryIZjJNDwehEMFxB+i0X1
9SWPEzIcQ5g/DfOMDxOGUTKMKU5yAsNnEQ0FvIhhIHhMnyarNPm07Fu6OlB8JadZ/ESBKDEVymJ+
4/uNle/DS5wJeVXKUDCjmehpiqKoL5oahpauG2rhNeLSoKdXfyAHhaHnvRLO2HqFCDl4I+Q2GG08
cyxyDr6PCLns798MlixPyCymA+2i9LgN7sM/AAvfTzmkiMOczXIxjrm8t4iFtBdzjmTEIma0xHu8
e1c5zzhLgYv1d7SCi5287F/tCvkw8P33CVqFBL0vMX8ZBSiCEaM45xyouA2mDP8AXgYs+TYo8mPw
+S0i/pshVncGPbNVZzcKT9W51ngQzOX/Jf63l9hqSuzpKvpHw+nZjRjX1iwlZCw5UFQLmVABnKKk
6jKNhZR6xwgMtDN1rNweUZIfr6oEqj2ChBXZcmqBnm5banRS2yjPBFtdYQxZxvjflTHouSWfZmLH
dQxbkbNjxIqn7jYY398tYkrYs+9HMY2z5YgD2qvHMXNJ/rKWufZqaGKAbTgnoHEBCvsBNDW7KCfG
A0SXW4Ct++d3ZzRo6lYDiUzvtK3vZyDK635NOBP8OKfE1RpcgqEL93TuXkGjlzRW5KquYXXRHOTx
LPyxVLftOErlIVownpBCilFLcTxityIOMI9TIVuC4CxJgNdSWur6XbjmFheBR7pwZSJFebcT0KpK
Y6u25uEuwOdXSrSb0MGzuhDhp3zIZPATunHu75kGLOdYtk8C24Z5krf11/ULhrQ4PWMQKE6y4mA7
TdpUh7xG01vEHGN0t2cxIt7BAbhOYCUHQrHPAc4FjBKUZTHer9cJagnvbeHBUp2T8NW8qHGLQz6X
e+yMlbPiMJQ9/yk8Ibyer1MI8jRlXPZAvW4Stkki3Krv1/ndtHR/yCktcslzejyiCr9+7o5Ikjxa
wwN61MVTJbF/2Pt26Mr+d5qwah+m5aiOGe4SjhnOC4wZ4tlOaNkN4zOUZ0DmHGDzGgFcvm/oRoPm
ErsbLc1X6Zz9ABr/CXzKWNrvNA/WFC85oyzPisl6sRnMrSLOJFwgR52MrojLrJXYkdfuGWeVvEmF
JLIaIqt95s8STSJZjSwOE3grpb3NsuaaRjdl0S4o2R1Yu+9XmzGiV83CgAhI2DrgY8CSlBQvkMeh
v6wFZK3eWBkteCxXI3n28BJVu9+H1maRMPokWauGYaom1tuR7KJsFvxCQb8TzKvBVNX1okOwKUNk
M3zYahWLs3hG9cxHrhVpNlE+/ioRb7jcl4po681voPze4Pm/9Qyt9vIizVJLr6IwDyD7UiZlbIa8
Ijc0iH+WiZVTRiyLH2XTkyh/AVBLAwQKAAAAAAB5AkJLAAAAAAAAAAAAAAAAFgAcAGNvbXBvc2l0
aW5nL2ZyYW1lc2V0cy9VVAkAA5Xo0Vku6dFZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAHkCQktG
tzufJQQAADEOAAA+ABwAY29tcG9zaXRpbmcvZnJhbWVzZXRzL2NvbXBvc2l0ZWQtZnJhbWUtYWxp
Z25tZW50LWNyYXNoLWxvZy50eHRVVAkAA5Xo0VmV6NFZdXgLAAEE9QEAAAQUAAAA7ZfbbuM2EIbv
/RS82rWD7FoHS5aIIEAqx23SHIzIiC+KoqDIka1dWTQoqknevqOjnYOdbG/aAr2xTYr/N/9wSIq+
kYQrlq9IKpcklkUm8FORSbHe3EEmQM0VALUN1zG/9nq5FrLQtPoBStHeWRie380vbm/I9Ozi6nxC
yYrlvyCvP+gN72VarCEfTphmw/NFOFxA9Guim6+fiiQVwwlExXJY5GqYSs7SYZLxtBAwfNDxUMOj
HoZaJdnyYr1Jv676jmUMCCVFlifLDARJMk0W8yml21GUwmOSa2zVNgiXWa57JiHEeDQNP/YtyzZK
VVDm3bOaB14EUeT7H8TZnSpmbMwrI5dhUCkLrgsFlDIhTvovO8OVLFIxS7KBeVwrLsPb6BtwTelG
wYYpmMtZoSeJwr5FonG8niuGGetEZjXv/vpTI54puQGln27YGo6fzcvL1nMjRwNKP6dsHQn2uWb+
HIQshkBmvFAKMn0ZXkn+HVSdMMarKPgxOP0RE//NFJueQW+0U2cvjvbVufX4KpmT/0v8by+xsy2x
bxnsH02n527NeK7pkEjK9JWj1shFpkFlLG1Ome0ItHotBQzMd+rYyO5ZWrxdVQS1ijCV5WyNW4PC
dR0j3ustKHIt12ecQ55L9XdtDHpeHc+0jcge2y7Bd0cgy113GU5urxdJJuQDpXGSJfkqUMBe1OOt
4Rj88Qnn2m/R5th37fEeNC+h8DKBbc2O6zfGHcQnHaCTn356x4NpdB68eOTvH0tpDrpu99uAM63e
jolcc8sVHA5x98/dB8JYdZiRHUWe7RwK82oe38W/NdW74xTb4CJaSJWK0ordWRkJdyfjkKtko/FI
0EqmKajWyo67/iHuqOM64ItDXJxIXfceBDo10GIj0/T5IeDDBy26LdFmDA5aXKYyYmm9Ww8ix13W
7tizDiEjNInXozspdcNFudfKuVOeEu/mWPdv9X6tF5xZrsvIl9+QMFV4WpB6fD3y955lNMfRyGbc
iojAe2s1DoEYYCabE7qV45azzE7ixyO7kmBIy2q7Hc+1LQxZCa4kExNIYYkrhjxAdJ/AAy2vqiU2
WLFsCROZAcVLc3nNDWWhOFA0Znc433DsgziRiGm1CcunU6mqkSVj1M6CZ8U+EBl943/IKvMjghfk
gKXpxfXsZLe/2iMlFX/t9p/2/5SJIP2jQX/w/EnTytEV11LtJeAUOZ0f03QNUsZvk3mGfxvwOtAL
vLvFG7Go8K8m7VCc/eRxt5yELaoN0oFBBWmCNwWKZcg3TPPVZLcc5cpoFrM15g7Kt4t5h4GHygr4
97IRSPzbABqwkPNVkleDSorfUiLh2fFHKai0m3eEhWscxjvvqYnk+P8q0624PslBlG3ckaXU3Eoj
L9ovzaRO4qdpA9ieDAFDR+IO8mpd48HQ+wtQSwMEFAACAAgAeQJCS+heHpj5AwAA8Q0AADsAHABj
b21wb3NpdGluZy9mcmFtZXNldHMvY29tcG9zaXRlZC1mcmFtZS1hbGlnbm1lbnQtc3RkZXJyLnR4
dFVUCQADlejRWZXo0Vl1eAsAAQT1AQAABBQAAADtl9tu4zYQhu/9FLratYO0OlmyJAQBUjnuJk02
RhTEF0VRUOTI5q4sGhTVJG/f0dk5WEl70xboTRzS83/zD4ek5LMoOr+9u7j5qi3OLq7O54G2IfkX
km/Gk5F+L9JiC7k+J4ro56tIX0H8C1fNx08FT5k+h7hY60Uu9VRQkuo8o2nBQH9Qia7gUemRkjxb
X2x36Y+bsWMZEy3Qiizn6wyYxjOlre4WQdBHBQE88lzhqLahUZHlamRqmmY8moaf+JZlG6UqlBgw
spovvBji2Pc/iLM7VULIjFZGLqOwUhZUFRKCgDB2Mn45GW1EkbIlzybmca24jG7ib0BVEOwk7IiE
O7Es1JxLnFtxhfHqThKsWHGR1bz760+NeCnFDqR6+kq2cPxsXV6Onhs5mgTB55RsY0Y+18yfw4gk
EIqMFlJCpi6jK0G/g6wLxnwVBf9MTv+Kif9mic3MZDTd67OXxIf63Hp8VczJ/y3+t7fY6VvsWwb5
R8sZub0ZzzUdLRYifeWoNXKRKZAZSZtbpo9Aq9eCwcR8p4+N7J6kxdtdRVCriFJRrtasNchc1zGS
g97CIldie0Yp5LmQf9fGZOTV+UzbiO2Z7Wr47AhFeeouo/nN9YpnTDwEQcIznm9CCeRFP94Kx+SP
T7jWfos2Z75rzw6gaQmFlwX0PTuunxi3kJx0gE5++ukdD6bRefCSqX84NghyUPV43CZcKvl2TuSa
PZdRGOIeXrsPpLHqNFM7jj3bGUrzah3fxb+11PtxkuxwE62ETFlpxe6sTJm7V3FEJd8pvBKUFGkK
srWy5248xJ12XAd8NsTFhVT17CDQqYEWmZqmT4eADx+06LZEmxAYtLhORUzS+rQOImdd1e7Ms4aQ
MZrE16NbIVTDRbnXyqlT3hLv1ljP93q/1jNKLNcl2g+/ImEh8bbQ6vg68reRZTTX0dQm1Io1Vmx3
VRwCMcFSNDd0K8cjZ5mdxE+mdiXBlJbVTjuea1uYshJcCcLmkMIad4z2APE9h4egfFUtseGGZGuY
iwyCRMjyNTcShaQQoDG7w/mGYw/iGGeL6hCW3y6ErCJLxrRdBc9KfNBE/I3+LqrKjzR8QQ5Jml5c
L0/256szUlLxv/350/EfgjNtfDQZT55/04xydEWVkAcJuERO58c0XUMr87fFPMO/DXid6AXe7fFG
wir8q0UbynOYPOu2E7NZdUA6MMgw5fimEGAb8h1RdDPfb0e5M5rNbM2og/J+M+8x8FLZAP1eDkKB
PxtAATbybsPzKqik+C0lZp6dfJSCSrt5Rli4x2G295yaC4q/rzLViuubHFg5xhNZSs1eGnvxYWkm
FE+eFg2gvxlCgo7YLeTVvsaL4U9QSwMEFAACAAgAswJCS/pavXbEAgAAVAgAAA0AHABlcnJvcl9s
b2cudHh0VVQJAAMB6dFZE+jRWXV4CwABBPUBAAAEFAAAAL1VXU/bMBR936+46gubtMROk5Imb6xl
o1r5EC3joapQmriNIbYj21nh3+8mhdIBBSqmqQ+p7Otzzj3XvndyrCScphZoGyiNvTD2I9fr+lFE
oU29cAoTY4p4mWiJf0uegU87QWcKB0fUi2gUg9cOXYo/Lw4CP6ZgmP7NNKRMWz7naWIZZIoZODkd
A5dpUWUMEgmDPixznuYgEpvmuG9z9nBWJoJ9mrykrB11Qxq8omx/pawb+jEMJLcxjJgxHKF6CdIA
NyCVhVTJOV9UmmUwybmsw0bD+8gmcLqNH3P23ub//874lHo0fFAmSnFVajZX+ibGfHnKnmmk3j56
dFDW2ZK2G2DV4fOF5Ldf4OzojHTcjut3YchnmqE3GNF2w03fHAc0M5XgcoGWapEUoEqmE4sWmu0a
g7V7qdJsqzgaBTH0lBCJzKDgksWwRyqjiZlxSXJrS1QwB/JLFZVghvQTm5DDyxG5ZLOf3N5/vlW8
yEifzaoFKZI7VVnHMmOdWnhhzQrHrZMCpwd9lSKWtOcKb0hrK/SwARojzgqA1JCmBU4K47uSmV7j
0S4AtQAiuGCurQEaKKzB4GTQ53pXoOZ0rzJWiaF6Tcb7LErSFJ/FVaEWrr21LbwBQmBpkeNQa6X/
BQWrgR4Z6uR59p0XDIgV5QPWqlb1NcGAg4InBsi1WSOpSqPQd5q1jm9tgAmW8WRnqObUXzAqY1o6
KzQsiNWqeC+Y65JRw15v9vB9kGOVVQWeehF1k3atu7mOOXYlLJubmp0teXr+bZLrj3Fcv02hWam0
/SDRGqRVP/YL7KjQmtVXc6ZsszTkxjK50ba72Ic2NiZx7E2fLm5Gd1+K7m6JxpnwPLpZTOth1Huc
EqunsFs3WbLZDbfO/aNhYu9pR257sR+6URDRsLPb1MDJlibVIrcwGvwYH54ffwWTV9bWgyBTS/np
D1BLAwQUAAIACADKAkJLy9yGIboDAAB5EAAAEQAcAGZ1bGxfcmVzdWx0cy5qc29uVVQJAAMr6dFZ
LunRWXV4CwABBPUBAAAEFAAAALVX32/bNhD+VwI9bYAZJ3aRrR76EDTBNrRbByttH4bBOFEniTBF
auTJiVrsf9+RlBOnWN5GP8k86X58d/fx7vrmZre9LT++vyu/+1oQevLF5mshwRwgPg2d0moIT4/C
VX2e5OcOobZGT+cd9TqIHA7WUbEptrc/s9ry1w+/F4sCHwaUhDWf/3FdlnwCkkbgL4q32+vyFz7o
wO881ehcsSE34j+LZ2YadGgkZrDDP37NqB5IWRPje1uW73BqHPTot6NGYfhJmFHrLHGu64h4B6ZF
QQ6Mb6zrhTICTS3wgIayxB3ekui9qjjDNAX1zw6EdOA7ca+oE/XEGCjJTmllUEhrKI9bi6IHGV2p
KidAOmumXhC0PouxA+iRw4nYB92n/8Xo0XHEjRWEDwRc7Nl9OLE5Y4y1Iqh0ltJfFB41fxbjC7pP
/opVlmBPLVxmt7DOg1pqkz1OOdU/70KPBEROVSNhFtgiXj24PbqZjhx/xsVom4aNi4Nij5gLB+tV
YMpQnwd0PjyG0s3tlBgcHpQdvTB8mIkQpe1TfKYNytMVgPOVOMuwFvFcgFat6TOxM/vC1+4wO1JZ
x0LhoFYMgGXcG23vRafqGo3wBHLPbybKeMjlD99/R1yUjpUhpR5jAYAeOhAaXJunOKVGcKJRDwy+
iuhnitFq67jgSHZzqDwXtOG+Oz3PY7tKSYzp5scGJKamSzTQcDlkCvpx1gvEo9FBqPF0Kk46Qnj1
BYVWvcpVYenG4wIf4O8Rj0i0zo48CMl8ABztegk6mp3nwVypfjQYBj1IN+9YDVzeWoAhxcwCnnMQ
6Y9fblTrnwQxFTTlGgkeZ+EnIEI5PLGfMl7VOJNPtj4c+zSMA4/9nrj7Ih9G82KAVpngVr5O/Kb9
XurKdSYXoPIMAeERbDsSX8RsGe8TDWah2dNuC4z3bQdGFkxcH7cC7lPJKPz/vixYVRP2zR1NA3fk
n8WbN8VfaVfz+1gHxebV68v1j4vCjP3OYevCyBQXuPXForDUodvF0QljGd2M/bDlfQrdnUMU64ur
12s+Z33/IVm9KLl6SXL16sVvooRFipveuXGIUKQog++98j7yPrutYeJM7+KmvasVo1EsP4VeQL+8
AYLl7edy+Rmrd4qW7+O7d3Ep5yUijWKMStI6gPchclYaeWXWiSbsEmy/Ae3ZgZq7iI1crjar1fVv
Z9acfZBkK3RnF6vF2eri8oc5Ozx9EU2slq/Ao/dciEFbzMTVnIlGw36KZnmTYXsx92m13vHYgHOt
ff/Tv1BLAwQUAAIACAA0AkJLWwRYDqIFAABNEAAACgAcAGh0dHBkLmNvbmZVVAkAAxPo0VkB6dFZ
dXgLAAEE9QEAAAQUAAAArVdtb9s2EP6uX0G4MLAVk5y4cecVQQDXcZYsSZ1ZTgMsSQ1aoiTWEqmR
VGJ76377jpTlF8lRA2wOEInH57k7HY/Ho0vEExEjzhVqtDIpGpZ1nSkyRwGNyYeWStLWHZleUmXd
UP8MZADbCFuRUqnvpNRvWK7HBfnIsXgRJjViqhFgZUwTwjOF3h0cWJeEpL2YPhE0ZNY1nq/HI/Jn
RqSS6HAbVVAPO+AsZW6KBXHNdwBQ83ckHctVWKgdwErvHRczI+scaGmfM0Y8RTmTN0T0Ixr72jD8
LOuKY/+a+xl8Gc4Up8wn80mSC2I6JXPitXCKvYi0WyCerEGO5NvkjNG5X0c0gBIJex6RcuLxJMWq
1uo2sKwkUxGb6CX4jt8r1B768lX05cv0iEv1fbpGleiUeXHm15peQUrEmIfgDgtoWMfdoEr0iGAf
MqSOu4KUiFLGdSSYLhESSOo6hp4vx1TSWs/0fInihbSOAdMlAiMhVxTrTVFH3IJpBW+2ly7BIUlw
Wrt2K0wl781mrM94AykTY4rraRpQIgnyLKiqXYQVpERMo7RTsFa/MhnGGqWJVl6JPuGEoMP2z84B
/B1a1vEpFVB8uFig1omldQxT82noQpcRItEZj2P+7C6SK8pmEl1nsaKfKXmWaACm+r9eANJsAWno
PY0egiVBfaJHuVIByQrxgbmffMIWGygKBE/0jHXcWvtyYlk9U1N0TTcuO5HKqwy4rIUS/YMaXx6c
H+7Po8f7sXr8+/7Uf7x35eNE//uxcfKy3VN42ZjVEhdSSAYL4+5xy+gHF24l6WPGGfVwbJyAY+Ic
igSD9yvOZ1kq0TAIdJUOr8gTidEzFsyyBkJwAbLdw4hoqd7yjpqrhiGdcZFgOAGbEWrGqJmhpkIP
jaZ4aKDmiUTNqR79NSIBEUR8oyDWY3BL2L2QMKVFDQRld0oZ8V+nsXlqGAlnO/iNFWSfoOZtA/LS
CHZRxjbObTeQeSkyy6UhwyoTJkzW8UVQVJh13nsnENxCflLGmErj5cvW8/0rzMIMDCAfI8efVcQs
Rg6LK2LCkENYVaxATCriQCAnEFWTkG9+FQ0L7JCqyUhn5xrdj7CQYO7CHdrdbucXu4scKnn+WuFS
8AuanLL4K3zzV7xPZfug3bZ/u4FpKiu0GXzOTLxIuxwZV+xZ9YsZhI1Vw8Y4iHlFnEIgUv7iF7dz
M2k1VCl8bqr2iO2p0DPwqEzGaomcOKvIPYiRh6uLJGGRqqGRT8iRT1UlgPZAv1dliAw5omp2Gdnj
O+TAQz2XI/CRhp2iFCOnGDlTeClD7y4+nQ7vXPuw3TkE86l5KYP6N93379f6vBRGLwZdmzJh3/hc
YC6HF117VKiZcdq1K0ly23dh3QpM5sn2PsTRNuKoghifQbavESroWgayu8+3z+zVdte/IsA3gnI4
7BZ6J8PWh20OmmGf+mb/wX6BvQF5DpkJWQj5lOcOLJbOE8gJWH9Y69Xa7JSblbfjRQondZrGUNa1
E625DY06clS4XGMGzOM+ZSGa27qpFXDuIOePPbPhkqbICZe79HPM/BjOHehrbOkJqtMe3iHD4103
4MajbykJ7CepH2UF0lRWO9Xx9QtMFcR8G0ubStOa1dVY0wxsauyeUJgrkw04cDZKXwecYvUaoC15
JjxiFMt9meFTsZ0R627AdCIov9aYYOWvhX+VRYaJSRDj0HTh5tiViLPdKRlxoSY8JWyiYAjTNWEr
+q+Vc6N8OGAhHLv6tNsSwmXOR3CaDn6/HbjjyfVgfD48/Ya+jEe9/mAbONLKnbfIRvdnjyXjn6lQ
GY51r4HefugeHb3LDe9t4cyEe7Xx5ri1xQd1b6w3qAdLQmyZEo8G1DO3bLmQiiQoFVzlt08HkKve
qiGk8P6PFmqrvdQNm/P2wXlwdP/kB3AJ/i8WtnrFfwFQSwMECgAAAAAANAJCSwAAAAAAAAAAAAAA
ABoAHABweXdlYnNvY2tldC53cy5sb2ctZXJyLnR4dFVUCQADFOjRWRTo0Vl1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAANAJCSwAAAAAAAAAAAAAAABoAHABweXdlYnNvY2tldC53cy5sb2ctb3V0LnR4
dFVUCQADFOjRWRTo0Vl1eAsAAQT1AQAABBQAAABQSwMECgAAAAAANQJCSwAAAAAAAAAAAAAAABsA
HABweXdlYnNvY2tldC53c3MubG9nLWVyci50eHRVVAkAAxXo0VkV6NFZdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAAAAADUCQksAAAAAAAAAAAAAAAAbABwAcHl3ZWJzb2NrZXQud3NzLmxvZy1vdXQudHh0
VVQJAAMV6NFZFejRWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADKAkJLj8pSWnEpAADGrwAADAAc
AHJlc3VsdHMuaHRtbFVUCQADLOnRWSzp0Vl1eAsAAQT1AQAABBQAAADNPWt3G7uN3/MrJkrbkWo9
7NykvfVDOamTNN7mdWxn226u12ckUdbEI406M/Kjt/7vC4Dvx4ykJD1nb3eTiEOCIAgCIAiCh49f
fTw+/8en19GsmmfDR4dldZ+x4aNRPrmPfn0UwX/zpLhKF/vR7gH9nOaLqjdN5ml2vx+9ZdkNq9Jx
0o3KZFH2SlakU6Nemf6L7Ud7e8vq4NHDIw51GP3egtzL2LTaj54t7w7M0ipfikJoONsTTUyozxCq
22Kv/5zNqc3S7mWUV1U+h2H0fxIVqmJ/kVftfsHKVVaVvSK/7UTVRDS7naUV65XLZAx9LfLbIlk2
tdqfpkVZ9fJpr7pfsjCMYp5kHMaEYNhtOqJRxe6qXlUAOafQYj/K8ltWjJOSiaai2jKZTNLFFYx4
eafoVM322XxZ3XcRI/qXW3tX1BPlvVs2uk6r3gpmDmYvY+MKMV0wTtnePP9X6BuA6I9hKhjMBv6d
pAtWSHoDsWcsvZpVsrc+DFaSZJxnebEfXRXJvccnJdAnYwVvY9BXNB0l4+urIl8tJj0BhejrV0+n
RTJn3cgunF/JWUknQKfo591dyXIS3T/wIgfel0lSJT12t0wWEzY5ak2TrGStCwFtkpbLLLk3KPOk
yvNslEh6LPMyrdIcVtA0vWMT3iPx6lPZf8G7V7+JBZIsvYJG9I3jNM3ypIJZ7AEmLHNnVi0gn07F
1ShpP33+vBvpP3b7f+qI+nkxYQVnpDLP0klUprCsC/Nrr0gm6arUK7LP6dEbrWBZLdbNkEF2EAYO
1ffUuH1MNJ8oOqeLDLitN8ry8fWBLaGin6DhrpRUmvAFy4BwNwKR8aooEbcJmyYwx4KbV0UB3Gxz
aYHTZX4Nj5pTyG1jVe3hlHoMkYxglCtJIOKJnpBPWMAF455c2yQ9gQmSq1rWozpU5YpNwnU5+TiK
JXS5ZJNesVoskK9YUmT3vTkry+SKWaPbJ9LyOXky2TV1wa2YxlGeTdZOleLWn+yF5kmRBhhNXCJZ
4VkteEc4mF+UhJA9iGHCWkAdl8klCVTjCz1f4jyWG8gnWRWIu1g5vahxBLSZXBmKbk+ltOcQ7nrl
LJnkt/yD/P8nP//884El30mfCK7LQR+loBn6T0tf3CDPHTSyqRBWDeKmbthZMlJiS82vmFicq1k6
mbCFSaJlnoKSKXrsBlZfaWomMQilYkzYgljCsPhJIlrDra4CqhuVFIrY2xIkedb7V57PPcatF/e7
5qretYTin/7wW5t/93a9mddFinZydoEP3C+ouFVxPRnrhxmQ/U93NxHUJlOCLI6eQx1SQLugdPj/
9f/4vNNASG0hGgPsTTN2Bz0aholX6qM1yhJXSyjGzWGcoFIBTc5469k5jG6/BNkAUjSdg9Rs4Adb
C4V7l0pyd/e3tpJ8pk2Tmu6GhgBrVDEhPuTAQMcB/YjbJOVxAc9hcVBHRVJydflEqBhQa2W12RKQ
9vczx+hRv8XQn8uRox0pyp5pU21T40ZyWB2mw2j21N3gwP+eoQHhNyw9MxrZ+iC0P5IT9kepxeVE
92BZluMiz2gPcDgQOy2+44pSMCxXC7AZwMqGTqmwNVS1oNq4SJfV8FE6jdq36QKWVx8xOwXVzYqO
kOPyd3+ymi9flucg2NtAh0c3YI1eXZZVgowwXS3GOD3RVZaPkuwMS9udR3yECP6xqCp3JPifKIqO
jDKylIAnZudIov3oy0XX//axmuGSdL8Bda/vPyVlWdN2lpRvq2opvpLJ7VU4QaZ9k6TZCnR5XSWk
QWOdeVqWMKen3OD3MSnkh18f7A/lLF9lk/P86ipjhArUqYqVA34KfQP4mmESc/0trWZnFay8AJ1g
9bF8VdU01xxjkVLVeXik/yxYtSoWmg2AxxUnvHz16vL09dnnd+dn7XSxXFWSHSwWkZsiYAKqJPhY
MKZk0agsxrBJWmXZpajf/1rmC2Jmp+pQYwB6K61e38GOsoSfbaSLxAGZFxie3UG/WA66vqxOsODj
tB33Y7GNQc4V1Y6i3p7JvGLoX7B1N2q1Lg58utDHfrkalRVKQNRWBK3TjZwvvJOdaK9zYVMRvy/D
YxgMonPYj+dFUtyjVOxGwIg59BCdw2axHJwRPcoBl7rL+wFocZj2S+KPAYgtgJ3j5rgcYJGg7OVt
Aaqp6C9hw49WcvSn533Z3ZuTv79/vR+dwiZnXOUFiP4ouclBJQKw6Qo5HkY+ZSDyxww/gnye0Ugj
2LVEyyIfwzYgWoCtXPYVfUOz9GXvop+xxRU0H0bPOy7Rsc6BSeggjF2HlPOkGs9YeUZeh7xoL/IJ
2Oyl+GkKK/zSF9W9zs2PbdUaBKLVmhP9vd1lGFawaj1ksFI2AuvXM2GahFkmuBH9OD2/X7IaqoC9
AgqFPsKKIfi81Qf4p7ksEM01hO44olChHFhBixVXbRrZgs1B+xFMiZyDTp9XOQaUJ7yeDWGaF6+T
8Yw+vUtx9c6APTOmBvuyAMOzD+xa5ehE64sGfbCRskArFz9cRSe0I2yD2DJWq1g+q5JFyWqS5lGV
XJWITvTy86uTj1xwv1DyiS9XEsAnQlQBvH4qpdQ7/V3KK2yGy0tLLw/IY1eQYRvUaUUydnsA42ws
2LOfF1dxh7c+sNouYcmniJwE8iJyGw76/f4gjvajONZtEU9oJZrvUM9aIHp470TmgAexkA9i4A8R
AyXsjApl+iswF0zqWXK+B51X1b2knqaZ1Y4IZvHsesAmSDFQd3wmCBT8kvvVRAJ3fOBN214H/eUC
p0NoJaA4d0EQjcFkjw2hIcHA1NEnPRSAGu1A6Qt0CifVUXVXxZZYjQ8n6U00hp7LI9e1MTS+0UZ5
GMMwaKwwVYcD+Do8xCLZP5RyNR7zycYCVOBOnSFvGturqkKLCOhGNlGb84xcWVsi2+LbetqdoCHX
Ej0e4laHV0kW8BUMIOotIlct75KQV/RTrEvjgOYNuLPXZFQl5Lpogyicg7QyrRHu2nuXLq5hwsV3
vYz11z6hqGbU9wgaE2zD1CD+uWLFvRLPcT8ExOAgoyV+O+ZOemS+eMfrzR6nainYG1epagCbrSxZ
lqy+iUnGdbUFLeuQRVwPDGqDCNcW+ml+i6LI1IMaThfkGfpA445HOMOjb5qMPnRNpdUS+AkHQZ5/
bgX79bt8V+GQINS2wMppKQvVooC9XMmqlxWIG5hX1o6tE4fYasMx59CJ58/FcjuHnULRdrBIlkvY
0789f/9OaHY85vPMp3RRsqJ6OfmajIGoWFvToKZCOx4xEEXs9QLxI6gBrhGNYVVjGxRgWNNGsZkV
jVVXrJv4wlStvN45Oc2PiMTa6tiIt6jpJlykgS1QSyD7/rJ6urv3k+DhWi7n9RtZ0dCSmzIjbkEN
jcYlrmmuaeuD3fIBT/LxCmVYf1ww7INLtLZBUV7VkGcwSJMUBybQY5ZlTVAnBlSs2wdxcQbDEvNk
kfwlmHHUQtgQB1rn8v6RrmVtS+nlhwVybXIH2j+mmkIItIqlT7iI2rTvhPLdA/jr0OxO4hKlOzuu
eZZxCW7U/pJe2FYY/+bYMSGJTXoPDEbH5xJCHmf9IOC3wE+WPqaOrnxpwxVk3DFY58FezBZQy3Qm
mDMAIDUR/meKHj7PXdGqc6DYUJhQgr14E7EZ4G060guul6RTC5eJ6Da0RHgNtSy2kp719QyxBLPx
32mZjjL20jJFjAXQIETcw2VEs3UR9S2zxtRXj2v6M5lknLGkOEGX/02StW0fjsUNso4x6RvUxl3l
Sh6U+DLG8CNu0LOBdmW40tpbowQaVA3ZhNSNnu7u7iqT3dKO5f1i3Maf3Sgprko5rQDqnPvd2rJu
GxCN8AeyX3bfRgKIRgfRQxc99g7z3PBJoi1QO19Wl8rCNblHe6SPIqtS9O9/KwbSs58vsvuzWX77
WTn+pG+z3fFcCwpWSKTiUuKRLBJSJw6p8E1hxeHhv1bKr7R8zFsNJLyQascR1RjJdWNrAF8Dybdf
oLZlwoS3CyipQ4QJaZ1uBFrG2gsYegf0EfybKyAtcYmdfXuqG30xgIA6uqgx1///DCK0gVg7DO6Q
/1wydG3YLCdm+nHQn903na2Xk5TW3uMsH1O/IHDOuB+go70t0zRj+4MB39bv2mgY7pA/JyX7lFQz
i5IjUahXdQhx164oGNI8R2KGByEraLkpO0JjbVZVS0DY9RIFKu8c6b5eRO14AETPi4r2/vJDB30X
gxHoL9gX1ACJobPV4npgeYJMD1AIzw3nB7bxA9v9oYn6wI+75iCnYdJKdWLVQhIMuEO9LLNBa58X
lUCWvad/7O/C//b2f3727Cf+ueu1ki3sBqBc7Mq3y8qsinyUzfKy2v8Z6g7+xkZ/TSvVIsVDARBa
g9ufxuj97y2zpEIfT8/r0wHUsh0XUPs8/3z6rs0POQwmRLJI/qPVmbEqumb3ePogqeS6hfmRR5UU
/HSqDdXDvmAJ4AvUuEDvkH1WAqXa+ee7jFtiHbWgpYMxlLSoHCHWrC85XFOxBNeSK/GDS1T0ZbFV
A1l1Q1eaztj4+gwMEVaclKc8tKpNoRfb4mlsdlYF2jgEpQ/TAgY8GdxahkAFc8IUZeuAclBg9ePf
r3gonJLhrBrPEGI3+nUO+2XgwUXeG+dF2XoAA2zGFm0g19HQYBpxJC2FJuAKzcVq70Zu7SRjRdVu
vT0//wTGFlIKlDDsY0CPw282pwMpFom4tG60BIO2ZOSNh96xXMYn4NqYRPw4sSWNPGdCcOqQwhav
KE9kIhyJFCBAu7d8Mc7S8fVRq2EmWxGSnztIAwzJHY2xYCnuZU2GhyXucnl3FJunelot8He7mqVl
pzWMflk9/cOf9g4HWN91UYqq+IepVTg/vUGo1lYW0fqQ3KRXCdg0FBGIJW3LjYKl2nPWNWDVUBJZ
jOv+P5NhFKasMVo7blINO+BuFSSobUw22HBH0EaSSBBaz7KP9/9XnENHUmocn2hXDjOymtLfIui6
rOViw99hcKgGhf58gkUc6vnL7ZqChWWnko0jhyPTUtjur4UF3pamOOyQxtUqyayj/FJWs9wWKMN4
ZfKVn/315FPs2kASLB36cauSfvfpTLkdR+ZRDjbgAGV1/itYOeTwMRrXOXzsfv47yVZM9UMNLd+P
4aPXw1A2pQFDHBZFv/ud1Rb/q2kcv3l58k4eMoH56rWLTPhE4fPXfz+PoYvI/XDy/uVfXu/Ufqbz
z7jjmAM0NnNmDRFUE4miqztH3Dz24C/aFHyTF7QaPo6+Qn2TmUi68rAQ/rFvH6kaH2ZJeVlSlE2n
zrNgB+P0l6tyZvYrNKfdyAxU8gxY6yNsKsg6UnNG1qLaQjyymckeFS87sN3NxjLSNVUpdBd/enl2
FmtqhK1r0KrlJTPk2SXaDppIBnBrhjdY9sbBlBwVcND7k7Ozkw9/sZa3PnKfJ9cMZFSBqj6p0DXY
M/Q9j8Yrlyn8CUo3AoHbE+u6uqsixBwXswmXN7mFeY1EzzKmq1/DCHZIWIAPGhxfegbP82u2KOvl
Dj+lKEs2QZ4jZ9XHRXYviHqyOGVVocUWh/Zl94JI6KxO8XGPf6QFHLtiVddRzTQrEqOIkAHknHbN
TpkCYMVGjC2SUQacAODWDsPaztqg7UjA7YjtMBaNAvFRi+CxLHU3OFYNTjAa9+bDFstZrAxQmRSY
RTe5XBVhAw0E7TWM+mGL8R+fvjx7G9eTWgdrfheZz0/ev/74+byhIzNqceOulHBz+MMIoAzA8k/v
pQPZtDnkMUmTqy/ocletMfxgHQRVMW50hnFswn4wx+JJxVECb+KdJNGtoiMDQasGV4B3lXeupIS4
GKrDrn4b0Pp8+nkDx6TBsj5GiQhMmo6X0IaUAhvjYtzTpg1QcbD/XmSUEemgEzgvQERO9cGeE9tC
h0HVPLNO/0SdrtkRxu50KRyEfiMej+wDNqelVnDYjv9a32qSTqeyDf7bihMJyzm0kXic1eUSAwO1
EUAD26kZGW/CO8SK2CMvi7bo+BbrbtjjrdXXrdWLMC/9SAPiB6HU8WzRECTdyNxtCeslcmMP4tgz
aLQK5UqkEw7aQ+gq5hUPq/wgWMN+xZjauuMvN+5dbaI8/11AM6FurPmkB/L4KDQKEajizEiTI+2T
x/k9MKwo4LQvt5qKBF2MJ5hGsoK5Nwv3bPdgSBRjhawRLt9LqKNaQv0IYtXRiIdsuwR68EZms41/
WWEznG3ccJ2VatnJ8AQHkxCpNwFuCWJLPh5sDWsdPxjGjblMcXz2dorGeInll0tWjNVh7DYUk2gQ
9DZOK/0LlM9vO3HHVzm1IkZvnB4L/4C9ObsUG5dLwtpw/G5FrSVdDcCqrkgFOE54Ntju6QI26xjI
NMqTYvL59B3s1vmht8atdPfsGJUNhG616uNtjNbKVNrZSa2AAQlpx5wzNIKEG8CSiSlSzYca9SIn
ZNgE2+q2LFNYOtzEmYyxK+1JXWbEUk8kWcqBItWlKqSF9ARW5i2Yj6erRXmEkvx3tM04QjaBhZ5P
2OfTk+N8vswXGD0lcXMtX9yTnOa3tpvEchcIFXbIvbzf6RMQHBXLOF3Eth12FLwwVjKFlXPneBx0
0nyPsvKRk9pENCXyymNDUWd4WBVDqdZl4WE1sVzKQdexqa+5ZxRbGX4cw5V6FLobZAI48Pt3ggsb
vEK18oK8BAEV5VkU5iU5L5hMYOUav3p4HW8HF0JG+A19bDbWC7fJjakX+MUMU4BuKOcEHEHRraGY
djUSBYFIA3Q7AR46dfWFOSHY+RZzSA6ULrBokb6+SxzWN/UoyGL3taFnbPBLuTMwtt1jHka6pdWu
/GRmzByBcrxl+tKaITo26RNGB4uZlYPYsd0cP1vHlSooIKRooY5cqbGtPEYflMtiUb08lH0Lxv/e
3us7aOB7fkDxIuixVsrBQssEfpgYh1rNxscX3cOFOI6dgd7Mi3s6iQ32MABdAH+gghza4SW+5cPv
mdFZqrhc1qUAvqpgjP/L9w7gNxHnR/+E6QsTnEwAw0sstYgGS+59OQBlPomoDgTu7kAX7FYpIwHi
RdTW12KImzHMA6YB/rKlhLSgJXCK9ggdhGmikxoRNQ8888rQfRhNKnE7cOKcia41flE/ODk4JwqJ
ru4mGAwKremu+jE6SR3/oZi48GTl2OpyzJsdbDQh30cua3pqvLw0lBrXqz1uUP86CJMqu6fLVNYv
8zlT4bCRCHP4VUXW8aMtfaTnRWHwYGqcnAzW4XG+WlSayPKeZ5N3VQRoUBoHaIyBCio6l0pcljdj
a614B6pNG7Ib98QYOzmW7Up7FWwWsyrnTEOB7r81FNcLWf026LEZmE+jd5yqNkh114JH07hbvisE
PGPJhBXuHZ1KHINawc8W7XU7OQHaV04sQCCMqeUc6UytFe1im6s1AS8CrBXaEhie3F+9JTTfwgZN
YOxFXMz2SNfxr3Rjsm0GgDjcKqM+OvuRUmJPWkYsUC8Bg0AFmUgqi8gSChaCClx1Yc8HQazlKDlS
Xb4tPFEXzeRCLipjISfdaGQs5ISkDAVyZQz3nTB57ZHY5jx0jP2N8HXTXU7S+nQ3wZMltI3jeNBh
Gz+D71FRTPdhdciMu0vEtCj8zilvj3dOzVud9bNFZgQ1U2peHzEnkwnFkSnLY8rXMQZCr+akCpDa
VIciDHAeS5QB29hHxq1ejj0evdBJaSlH7zm7AWccAJiJsyH2DNbIjH64qPIPA17bswMcN0rjhSVb
B2HtwDFTfZSFgz1JG1tsfptNacG13Aw1foa1bNbghbA6I5eAsQXfYhpNOG48minOPXhkQ/RIc/MQ
h7Wgw+FsDVrDxasOQGBW1cbFPWUwRmDTO9izsXkMpUrBbSSHIreR/Fe8jngbToaz3fjWGYm+dWwc
VpZfyeFRQQQFa0cYQuPX/ywe205cMl9mTE0c/QocwLgDE4ECjUPTchsNMDCnx9lqwmRmJLGbHZBL
XSYogqmjvm6Z+AztMGaIQoZkJZSWEgiXkjWsY/u9QhSwnPjBJfJ460Wul91/Ztfr9uVtfbk/z6xC
6lTlTWg8a61yClBUKVgc88lN21KC2cPspC2uh7tI521+q8CBxQtBsSyzZMzag//98kv5y12ye7Hz
b/Wv3wwwwFlc3QKG+q8VJjri6Y0wPTMxAzrbo3mySK7opnKf7pGc46DP8I4GbiN+fQDqGUX9S2h4
C5MAAxL+9fLmKqKsbUctnr6OEjeKtHD479bwcJln91cY6oiJGUGv7XZ3oz3843l3b7clm4NCzPaf
jMdjyp11c0VTZ3WO2fB+RO971P0e9r9N9yVdXTmW4cFH2miXBmiCiDnzRWVk3ZFph/PKq5t7ko6q
QNVp3qy++XaSG37H8lq6hQNs999apjttHKA5L226oKtrmVdvdanruDWhkjvDr6bDn19mBXy9P2U3
sNWiSErdnN+wR/bvi01d2Y4LUdMVz3So5YLzw3KD0EVqplrYnvlQCwmM6TCY4EGwAcLegYY/HDza
eCT+nH0zAR6cu+nhMdsduvxpj07vZlHC0oV0vtdwXS3ic00ShC+80YVNoofAsgQY4cWAl/Alpzj7
dgJiLosrVomsDX++P6FZ5vfWhdoy0ikQaDo6EnJfAwwNZaZ2/XJNHvOd15EEpXzHejGZqR/46Dbr
jDtADG+8swWWO2AzZhgjWGHmYXVWeVSulnhJL8rYXTrOr4pkOUvHhDWpjQVMl33r4JyH5dXxA3ao
x+w4oEbrGo9qGluh1FwpcRzZP9Hbf4MB/GU0uue7OdrkezJMzAKelHA0jjg+wTsP3NFCHsmmke46
q1EMcn3bkd+WztR02yMNyBd7YkXtHoSuLWoghwYyL/BsQmUTDlhzRVDIaphAskMxgy8iBGUmYAsk
0wi2M3FQDpdgRhJkZXNnb/lFxIIws2VgA9jc+9LKWoGGUxVLPqzmI1uHqiW5hayokQJfzD6E18GT
ZZYMcDDnfv5j9JqZqLM6fJm4Pam1upbv5PNS2boQvWCk8lb4UYVGq2QDq8bqwA7q0EZESE/V2xBS
7krLUQF6ETVYmPtRre174ChLnfXpKGowGk3FpPAxRxnUbEF1pq5+f8Jo/f/J87k22Y0iDIW7/bh4
xTK6FMadx+b3S8zv/YZnTT2K/iDSJ1/zPeDf0KiG4p/xDQSj/C1Z2FgfP/AvBG9it7PA/D6q6ffA
B6A6sDtsAOEPigL/jo1TEcWVqyKry0pSl8bJODzR5w9WgijKk+6kKbcCZNKK7A28ukxxOu3BL732
l//9pXfx+84vGI420JGwRqpNTAm4EV5U1caJimLzsykgHZgokDFfWJsw7XijNZsSMHd5pi7BN0Da
bmNjH079Hod65RKBx8i3TdAiOF5dzxaFuOfr30ou9VkXtmPLu9hvMlN8GeDWukY8UT+OyEnVHwdp
YNKZhzY2zYTd2JwSN5cNSQxrlfBpCS4RS6VUIq+cnY1O6BZ9lfrAib6rQjnl7Lx1hP2rdDptTmyW
fEGX0G+OWrhMWhdeLrofs4JD7x243CaPgdxyK0+TyGvpjcUYiBFcrMdDLjQXkHuCocIjvJpNlz8O
jAPREButkZ5G6IQdudz5kZCNyNyOH2YXMgpt/gmbh9+Glg0Zg2wp5Zu0UBWXeUnaxs5atDqaFAmG
v4rUa94ncwU6C9u93yXjto7Dp+FtnlH3wF8if8bnJEq/OTAPfQKOAgMThnYKgBxZSuIMn9LA1L8O
RCFOB9HTqGcPWoSS/x3Uty9qO7Vis8qXoW6ECK7v5x9uP1w8645ClH9JkXA6/9kWkRrbPJOCYRxe
3z4zcDv/fb4q2cdVFZTLdK2zT6+ssMk5SWK6C2oX9c0cyydvTl++fx3XpEiBjfTJ1G0fpWXEk7/d
sviGRXNEaUIHC/mUTowVZZqFsetzDMpaQwwa6eM0tuTDMtdXPdneQ1WbbpGmmzUDc1ldJMHr2IkF
ZWq85jZGUGGdkqwZckMWnO8mpJM81FT0CjNTBao0pyao6IXe04s2sDOqHaUPwIhMdfHAzGNOWVCM
uR7oAHfUcMiau+sc73c6j48iS6M4DIs3ouqYKv8dZJMNm8RmB8SWU0xSsx7qP0yo//ChgpAMAOUy
0mDKx5omDilr9oquD6yR/Xk+ylASSc9P1WR/tpl7Z6mLjyF1Qj6toNNqY+A1V7EbVLVaf8lk8hpz
IqHHgSHcmKiBjBfbst2RRjpx9jpYQMR6UKAPNCR+ZmeGgKlTOysuDNYYs9SInBq7mnj4EQvlAwLS
pefHmV2BjhDxb9jjg9snx/mv7J6GaMliNzsYz841Z1UC1VEo8IJylk4rq2RcFRkU1MjM8jaFbXXU
5gkM+9Minx/PkuIY97SivfhpCRR8bTaK03jfYjN7MJf8Lavz/A0+Ykshdg5bjoDdrg8coF83A/oB
dt4bw7zeDOYnzF4IDLMx3GwzuO+SLcbPmmHytFHHmus2AjpuBiqTaW4LtmoGy7MtbAt0uiXQN3xh
NcB+8Feaz5whUxYXmtuOVeaAdg1jpKYHZ/z1qEg2CWEiE4d7obOGqdCMaWbs9uhG449DXK7FzUjo
S0z7MsqmUkSFCzWPe03nOz+UEqYE+Y9SwxUpP4YYP4YtDLDCq7M1O8ssnORHaEb6Yg0Kr81nUzxE
REfNI2h3NnxkxUfEE9chJAIPXGwyHplXdL0wD3UafIHlO7r15HKo00BqxB/ZpVAFdRxXaY5cN+GN
qTElnC6/1KIf8nGO1ITJF3dUVJkIUzznB+zS/uRXDhZxFV0v8tsoWdxXM3x+LxnhRoGgoHEWnVSi
KmbAGyWj7D4a06UAjE/MI02BIkKoYAYTnP6j8DisqBNMY4t+OesChEM74fRVdb1VoTKkxh1+vIfn
Iwf2rV8DvHNRn8N0YmgUDZvub0i7+ovE8gLQ3Kt5TCzUlYz1CfQ2geFVbKNOra2y3YAf274xmgVl
p1+tjpcNDJDIo/yu6azdeqrWci/4cFznuVFjy4Mq8Yyr17qf4hKNww/vxmvaWscP0yxP8HmbHkgK
dWpX361x4hwfzp4OpbwgSh8OoORwWfCndi2KtWSG09eTVMa4QkUz/r/euR1CxYyi/wEzaXhnnG2m
CGm/Zvc8Ca3FufJelVHEA5/MEAC2TAqxS65FCvbYvQW7xRdGAac+ZUXmiR1+WdBliij2uhJjtSbF
wuRrni7aqnuB0kZ0MT1pwjEu3j13+xDmMCBKaOKz53HQvrPMKFdwkh2yjaWuGkWH0a7ME8gLhkeR
aal7iclF1lTt8LTQ2tBgUj5B/clw4erCgIQUX9V9wbXeEDU00eCbEQ7jRUrCRUrGSlLkRr21vsZY
MZyd2xgNJFZ1uwZndZHfnopbVap6sxMVTAjZKC3x3jB3coJ4yotJGbXTPuurZ+TRJrhJ2S2GJmLO
7hxvO3zFuPbbZEEWA15zwzypeGwEP/FsQgxKPESuXmrvB07wJBmXdAOEo4XO1QDJ6y/GHs+SRYPJ
ZnNLrUffYADtvg0xd+D4Jl/Z3YzYGLXLLJ1M2IJepGKVSRrFl/2N3qrBE6Yw62pDUSey+sZtsBWa
CvOQz5crz2hx8fdeJasTWRutcy61ZFCuSXzDCdPgxgUVBSq1LONu1OQUNRy5+upHE/3tjV69ClNN
ZZomrcgOnOvwiI/uSmYBIUZW/X1cYuW/8ee3y+RGhdioJ8gcPGsehwyPZpNhkOKLO04UfSOr6mOr
WCfd+DUSynM/Qv14ED3Ix3+N8bi39kP7p7VCoK0j9EzySf+8RdJLTJyAh29O5udeTrXK2G2Ac1An
ZUSb5uSt4qVZfNfeDBLAkBGBYX1CV9HBRhldeV3dyLpsi7194R/Air5QtTSr6vMZTA6tQVPs6hkM
hqIFWHVSsXnbI2k3+q+zjx/6/MZUOr1vY4cqsAS2m3RagCnS3XTJRcGzTzw+ilpnDNZ/Wt2/Loq8
aDmZD2YY6QTVDbFgoUHPp9XN1NdSvl9kjw7LUQiZg7yqG2TzcLYYjTcWrX0QIf9xTmAkjo0lW2sO
WgVn0YSAFVyyNgF1+WyCdgBNk5saGFm1wWxPJ06qJ2pgzxYVKYP+iPMfMJ7JZ6Gh+bLM/L55pMgT
sQh68H0lF5+R+4GjDDKKI5ovxkIM++lFuNzmCS4/l+yD2K+sl9gb7uSDHfFMmtvpBvvpzjA13Tre
Oy+8+6ZNG/ee9WSOTluCrMsNisfXRmHQx8M/mVy5wYTT9ppynTwRucb4BYFOpLOgfHHS9l10Ii/a
kV5CuWFFdZ5LWr0V2YIU84j8S24OW5HQqS5jclN604eO/WTIf2i06fzqS1mMNxuuFfOoRbljN26A
bF0gptH3h3zhdq/puCVt3HTrzd0Y6UpGZZ6B9Wu/jNM4y+KVWruleggnNL8P270TC2vv1I7ZoVvM
jnHK39qW4Wf8oYa/UGoKK3SIv9MdChuK9ulBbfftxk0Y442o7qCkb6Uguo6C4U+O1WNNHzCYnKNl
vEdmvknGA/vtGNnfxJ1gmFIdHUPpEUzYOkr2N3EndFdNJM4K0bnuuXjT2V17IbUO4X4OfCbdXsGJ
cNMIUH6dTnP6+fXr8FumWUVP0yRuFDC90bBtjEJ58L08z/TCZE2rpozOD4FXIIQ18h4MC0t/kqXR
oDdNi0TCx39bnum2W4IvbJJHQbRTPkezNGRHUATTq/zWiWN9XBdN+MTGjwe4igC9VKSZEDU48/ou
7OYR2x54D/11kVoTGApMkDM4Y1uvE4kZ73rQJS+ZvIou23TB8rUIYuYx8tymsXmtaEGXCfOpvxGl
KHnD+cdzJr+1LzBslkTJOHAywWC+EDMVs7huaQrFx7LcSF5kS8P6AezseNuImbzZyPNw2Q+Fe8m4
jIxTIm/ZkZ9/S9DSqGFkQ7aSbfF7UUZCLpFzi85YsE064UlIVFqrwsrfFVt5rtwvBAVlr/TZ9DhK
raH4Xd+KB5m7zfg1Aavxd+c+NaiEgxG5Va0sXXXpuwKExrpbpHsRGdYCeV7soaU82w49tVSTesZB
QuBZ1iIqEsZY+cdkNhiZEs9eGoEUMoGdD3KUJbCxlMcv1mbgxCru7SNxt7DuHJO+S/lOP9xnZvi7
xfww/1SmDCryOSUl0Ug5B1c4dut8kC8R114EgQkQPiXGttEav5USkT/YGXoVT9ezU5f6Wfow0/4a
Tk9h6EWxWlrySKb/aR0uhZiIgc1gfJOeeJ21x5IiuwcVUZZoyA8RW5wsdpciw9PX/uFgOWzVIWA8
S+XKdztpGZChriWoRn4oSo/G8WSsE5Xcyub5g0ZEeObUb0GEWkKX9HckJgNxqE38JNeVAO6rxPqn
sLpa6BkDxxqYtAJYeUD3IAY8+TflJ1eJub+1f/tdvDAGs2QClqROrSizbbVVUMuC3XYQF2tL3DAr
1mNiW86L2dZmEfxC13YojXsoDVk9Qs47kdviZDfveuTjae8Qt+XKyIP3rUxjva9nTNob/CAytrYl
48xYNMUzKHxjOQIjTjztF9HTtPiQH+IT0CPfmsEc7Nf1r+NtSeAACEVkxZdVTpSLYKMjxkhvn1ip
BGsHZb7rae6ndLK05ZC/TJ2MUWpjcj0j8SsvvBQp+FpD+zfX4EvLsOHGjQTK0FXtwKQyDdL6qSBa
1mPthmAOW7qeCImRoV5iUzdTmlxocEWgTROBmOTaOHmIv9mgPLl4mBjOBaI3HOqEM5jupL3rWuff
nq3U2rJtdRLZlXkJ/HgWGbTSgKPzfoeNVL1/2LervdPEeG3H1lNkrueltu+Qdd7Y+ebkddzeW1D2
wff8+ceegRMDiiCQFpt/1MV9hYcD/kT98NEhZQ7IF1mewD7FtgRbQ23E4m5Opr0Va1H7AkVFVY82
SnmejZJC5pRu2cFzbgtRaZFXrDX8XDKS/Gk3+tqNrknuZ5hmHmNHZCQrbMnh/8ZYwiOaqZqMM+7S
rymJ1Sy54vJBdyml1NfkJuGU2L/J0wkMWee85lBfZpkVQAxEkd3x/NfbAZX4BcDKT1sBBkqb/hX3
WXjL69Qaiqo2dDlhpt9FzZrhcDGmjNoRIw8P+bkfAvBFSSvCbJowajzsGeV3AFac7cmjM+ihOcCh
NaTcZxq23i9zBNYgZS3AzfEJnae1huKYiwNrQIDv4I5ayMgyUjFKF6AswJzKpxHl+CRmFhGHTAYK
cvunZZHVCHfcdgDWySNfWAY+qlMUKocD6tJgDL1mxD8fKV4xVXJrqD4PKF/ro/8DUEsDBBQAAgAI
AMoCQkufbIP5GQQAAAEMAAAKABwAc3RhdHMuanNvblVUCQADK+nRWSvp0Vl1eAsAAQT1AQAABBQA
AAClVk1z2zgM/SuenMOMSOqz191bb+3ednygJcrmRCJdknLq7eS/L0hCsp1IM51pDoEsiXgPwAOE
X0+t0Bfhnr7sfj2dT2pQ53jppfPpJute0isvVorO6OH6cvLjEJ9Z6aYhvvdv9bzLnnc8K2n9vKtp
U1MwLGNs//68e3DSSyt1K7e80OilLOCKZVVVRVtn1f4d/sBVa8azccorfYyneytG6SSynZ/KjsQH
RAzqqEep/Soe4zPtgiZAniFwsU9wkJHzjHUwtpOWWNGpyRFzkbYfzBs5qa6Tmjgv2ld4lbRGe/lz
HZEWMyLHEPM82YYh4jQMS3Bq8ABo2naYnDIawjmfBBmEPa4nkNElg2VyW6fAakr3KR4pLOnVT8iQ
iina9JNo5lCBOitoGU2ZI0kzGEtG4dvTzFWN4ijJ44P1FJRLCrC6VUpBQ8vk/ZASmXIO171oJbko
pw4gUH8lPRRl3fVST471pJiGMkPiN7mLtpWDtCKIJd0md+IiTv0nyaBGtVHIfIHiEaJErVa0mXME
MtDeEdeKQSZIDVnyW4lh2ZJ01EaGUeTlB5e9seAoOnDT4QzlHIjQXoHchYN4gv6CDnt1dLcHMSx/
HdZrHjoX4RNsWWPyOEoT6Rt9F0xI3q3plHaqk9gRqyjNDMIYCpShQOsPMZqz+DHJRQRHayYNYJu1
XzznWJCiTrYpbrKavQSZfnIdtZta7E35U2DQgt7W4VKHaOhWAKW0yAJqUVRVdkP7INxNQfNuHWMR
BENB8BrHEyZLHJwZJi/nxJvJE9ODa/mWmnzV71JohtMub7AWxR67exo1dgnMauchL3ESxhKTszgq
HUq/znr5FnB0ix2SWEfa0HruISsPd0hrhTulGnRXLUbVAixMRUlQHavA2TL74KrKWag/mCaPQY2i
TUiHAxS5tUZfR+LF0a0HMceQhcHHi/ClAFOmKXoRwwRcTkIfk0Dvb5DJwcxWujexDQV8N1ch+EKX
B56UJ1OyTxB3HjF+2SkvDhuNvAzBoJ+a8TqanGEXO5h6rY/c0gC5/SZsfTAtTMFUPMoGTJGScX+e
bp3HZNaRSROXg4JVn87zrfMsng8HoaJ1EwyfJ0bSzqu8blUSyVeBNa1YMPC12X+WIgoP1gnhvVUH
6KwtpWFAeYikZGU0qI4YySjsq7S4TC2/ydnKizKwPeitDSFf+OKAbFLvg//UnCdhRRvXgr4HpmmO
DJKkLxcsCaARWE3ivhDks4WCGmGBOqtiSTjl2KF/T+P5m9Sw7vxjpSSBTv7RB6Hz/Ev/Q1b2D9+J
NEL++v79q7ymRe3bBEx12MzCmVVqy4ZEcTPi5W18gHfepVUvtYa3QrvwOQyDCQgTedmaD8veMS8F
TYaZbTajbvhvR71ymP3J4fJPDv9msd7/B1BLAwQUAAIACAA2AkJLXpKO7UIFAADUIgAAGQAcAHdw
dHdrX3Byb2Nlc3NfbG9nLm91dC50eHRVVAkAAxfo0VkW6NFZdXgLAAEE9QEAAAQUAAAA5Vlbb9s2
FH7Xr+DDgCRLLMkXyTaxbpBvRdEuHeKmHbCsAS3RNmtJVEnKqv/9DhXHjhMnrWzHTjECSRSK5/ad
j+eAVKfbunyNMzooJSFRQy6ikqJSSfyas3iEFEeppCjhQqFa03Eco1NMwDXenPfer11PYyqI0kIx
zVDbQyxG1kcephGVVocoYnU/9a1PdPCWqfmfVsrCwOrQQTqyQjLjqcqVlQSVaaikdZ0l6tqnQskn
/FzaJahi1xpowBS66HsoEWxKFEUTOjPMNeP09HTt/P01mWCLsO7o1Ngc7SxAyyeg00xodGSU9DAe
D/lSand8Hg/ZKNWx8xgNBY92B7fFExpLGZr+cGS0x9SfIDUmCn5RJOjXFKRQRJQ/pjKfk2wUE5UK
avRvnxCfGG3QxYbM14h1qCIslNhA89GngpEQnafRgAqMGjWn7DTQsf3Np47rnizWfSQhC5iaLSb0
OOcKtShgQjF67yuEKsiu43Id1ypAgnIdvf7zwwMBb6ioQBiepwiVnxDop4Mv1Fd4RYPPo4jH5ySi
6N54hR4maSH6t2M3p1VEvylAFDIlV7XOX7eIZD5qw2slCIshyci4b6bt4Q8Xl9114nOH0Vug5ZuA
xhp1DeoDHXYT2y7uOLjdwGUP12rYgWcbuxXcqmK3jesV3OziTl2/qrRwq4V7Nex1cLe3zq6XqjGH
7TH7vmVgNwvwruzr0WFCZwNb7fNXTyTgdsicb9hu466DXddYF4+O4lKSEV0H/x0ya5avk+/qLAc0
eFLRh3d9BBtSb4Ap8FFjqHHz8428smeY1EVmQJF/MwmKU1gZPspgdFy1UUBm8sQwPkFeYBemCiYU
GRAo4xlTYxDThQwsCkahrsI7zT6KLhNYRwPjRyv8mEMR0I49R21+WeN+p9hfVwi5T0KNtAm6/8+d
oXnbGeo/V2dYJPB5GkLPe9ffriO4Vey52O3icg83qrrmNurYq+CejZuenmnWsV3GZRt7DnagOvdw
uYkdG1ecg3eEoiW8w0ZMAbMWVDyDjMfogiZpwPLdcpbLd2OfJWMqIvD+mcr8EynzQiAj+MemFOUN
bk0g5328YNZZ/m+WZea9qW9xqRQ3vriBdKphlk3E1/G00iDrloVTWnJDEpgPtVbWzJWXcy+2YZVC
ksZQhwQeK5Wc5WcY3GjYNjwC76q245YLipaXopXvimZSziXzg9NS1P4B0YWkfceo0/whf2+Fm7Va
dWm1+njXuADM4YxHlOYdRp+tY/PXk19ubEU8uE5mICS5P6HKlIrEAQl5TE0gdz+fvGE4bguqOXCz
EHHQBMk9Q+D/0dHtz8kutFa2VtpicfCoh4VwujKT2QZYLR3YPpj+hCVoMEND6KKpbntUCC6Oaw1Q
5wUB9HCJSAgwBjN9Jofz/AZG3jEJNW9XmEFzk4Day2BkUd/j2ZWZcTGh4sr8UjiMOWE2MTpWUbiB
6GZYF7SSAaF5trGPO8H0WUpLURzmQWyBw/7SvEXaoKrwVPhwotALxkTEUGYE1Y1HZ3AHDNhpTd9l
fd4XI9ZCfGX6Uv6ynx6xBXkP1l7mx9qiNWzXdN54Xy39L9wonuLLvjh71/3CFenwuVtxf4uedPAs
Pgjkp8jkXZs72UEHyuFKHDvZSvtPodSFWUf+0ybw+I+/fpMJ9X//57P17+mJpTgP5XacPFwuN3P+
cEm8ml8XFz5MvJyk3ZgWaRxTYaX5ZdPVdURiNoT1RUHdY/5W/C5q8bB5ewGQHwS9Z4h7JYLHPun1
FRH5Vyx9b4jkzU01j5dfLfJbz+3E7S3E9RWm8R9QSwECHgMUAAIACADKAkJLk6fXQU5BAAD4CgEA
IgAYAAAAAAABAAAApIEAAAAARHVtcFJlbmRlclRyZWUtMzA2NjQtY3Jhc2gtbG9nLnR4dFVUBQAD
K+nRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMoCQkulZPgO5UAAAFQMAQAiABgAAAAAAAEA
AACkgapBAABEdW1wUmVuZGVyVHJlZS0zMDY5Mi1jcmFzaC1sb2cudHh0VVQFAAMr6dFZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAygJCSwTYN4HYQAAAlAoBACIAGAAAAAAAAQAAAKSB64IAAER1
bXBSZW5kZXJUcmVlLTMwNjkzLWNyYXNoLWxvZy50eHRVVAUAAyvp0Vl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADKAkJLUere/ERBAADqCwEAIgAYAAAAAAABAAAApIEfxAAARHVtcFJlbmRlclRy
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
Y2Nlc3NpYmlsaXR5LWNyYXNoLXdpdGgtZHluYW1pYy1pbmxpbmUtY29udGVudC1jcmFzaC1sb2cu
dHh0VVQFAAMr6dFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAjAJCS7jW9XooBAAAvQ8AAEgA
GAAAAAAAAQAAAKSBJAcCAGFjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1jcmFzaC13aXRoLWR5
bmFtaWMtaW5saW5lLWNvbnRlbnQtc3RkZXJyLnR4dFVUBQADt+jRWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALICQksIpyE/4EAAAGAMAQBAABgAAAAAAAEAAACkgc4LAgBhY2Nlc3NpYmlsaXR5
L2FjY2Vzc2liaWxpdHktbm9kZS1tZW1vcnktbWFuYWdlbWVudC1jcmFzaC1sb2cudHh0VVQFAAMA
6dFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsgJCS7vmPj/PAwAAXA8AAD0AGAAAAAAAAQAA
AKSBKE0CAGFjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS1ub2RlLW1lbW9yeS1tYW5hZ2VtZW50
LXN0ZGVyci50eHRVVAUAAwDp0Vl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACyAkJLAAAAAAAA
AAAAAAAAEgAYAAAAAAAAABAA7UFuUQIAYWNjZXNzaWJpbGl0eS9tYWMvVVQFAAMA6dFZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAygJCS63sNTVqQwAAKxUBADEAGAAAAAAAAQAAAKSBulECAGFj
Y2Vzc2liaWxpdHkvbWFjL2FiYnItYWNyb255bS10YWdzLWNyYXNoLWxvZy50eHRVVAUAAyvp0Vl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABlAkJLgdXpw80DAABcDwAALgAYAAAAAAABAAAApIGP
lQIAYWNjZXNzaWJpbGl0eS9tYWMvYWJici1hY3JvbnltLXRhZ3Mtc3RkZXJyLnR4dFVUBQADbejR
WXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMoCQktOLsyYSUIAAFYMAQApABgAAAAAAAEAAACk
gcSZAgBhY2Nlc3NpYmlsaXR5L21hYy9hY2Nlc3NrZXktY3Jhc2gtbG9nLnR4dFVUBQADK+nRWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIwCQkuDiMg5SgQAANUPAAAmABgAAAAAAAEAAACkgXDc
AgBhY2Nlc3NpYmlsaXR5L21hYy9hY2Nlc3NrZXktc3RkZXJyLnR4dFVUBQADt+jRWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALICQkulZPgO5UAAAFQMAQAzABgAAAAAAAEAAACkgRrhAgBhY2Nl
c3NpYmlsaXR5L21hYy9hbHQtZm9yLWNzcy1jb250ZW50LWNyYXNoLWxvZy50eHRVVAUAAwDp0Vl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyAkJLfgrEb80DAABcDwAAMAAYAAAAAAABAAAApIFs
IgMAYWNjZXNzaWJpbGl0eS9tYWMvYWx0LWZvci1jc3MtY29udGVudC1zdGRlcnIudHh0VVQFAAMA
6dFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAsgJCSwAAAAAAAAAAAAAAAB4AGAAAAAAAAAAQ
AO1BoyYDAGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC10ZXh0L1VUBQADAOnRWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAMoCQkvsyNKoZkMAACYWAQA5ABgAAAAAAAEAAACkgfsmAwBhY2Nlc3Np
YmlsaXR5L21hYy9zZWxlY3QtdGV4dC9zZWxlY3QtdGV4dC0xLWNyYXNoLWxvZy50eHRVVAUAAyvp
0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkAkJLNzDs3csDAABcDwAANgAYAAAAAAABAAAA
pIHUagMAYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LXRleHQvc2VsZWN0LXRleHQtMS1zdGRlcnIu
dHh0VVQFAANs6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAygJCS7uvTyfbQAAAbAwBADkA
GAAAAAAAAQAAAKSBD28DAGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC10ZXh0L3NlbGVjdC10ZXh0
LTItY3Jhc2gtbG9nLnR4dFVUBQADK+nRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIsCQkup
vRStzQMAAFwPAAA2ABgAAAAAAAEAAACkgV2wAwBhY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3QtdGV4
dC9zZWxlY3QtdGV4dC0yLXN0ZGVyci50eHRVVAUAA7bo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACADKAkJLn0Z4espAAABaDAEAOQAYAAAAAAABAAAApIGatAMAYWNjZXNzaWJpbGl0eS9tYWMv
c2VsZWN0LXRleHQvc2VsZWN0LXRleHQtMy1jcmFzaC1sb2cudHh0VVQFAAMr6dFZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAsgJCS/aFFYrPAwAAXA8AADYAGAAAAAAAAQAAAKSB1/UDAGFjY2Vz
c2liaWxpdHkvbWFjL3NlbGVjdC10ZXh0L3NlbGVjdC10ZXh0LTMtc3RkZXJyLnR4dFVUBQADAOnR
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALICQksAAAAAAAAAAAAAAAAfABgAAAAAAAAAEADt
QRb6AwBhY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvVVQFAAMA6dFZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAygJCS2PvCpN4QwAAPxYBAFMAGAAAAAAAAQAAAKSBb/oDAGFjY2Vzc2li
aWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0
YWJsZS1jcmFzaC1sb2cudHh0VVQFAAMr6dFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZAJC
S36+7H7MAwAAXA8AAFAAGAAAAAAAAQAAAKSBdD4EAGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNo
YW5nZS92YWx1ZS1jaGFuZ2UtdXNlci1pbmZvLWNvbnRlbnRlZGl0YWJsZS1zdGRlcnIudHh0VVQF
AANs6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAygJCS/nPalbsQAAApAoBAEwAGAAAAAAA
AQAAAKSBykIEAGFjY2Vzc2liaWxpdHkvbWFjL3ZhbHVlLWNoYW5nZS92YWx1ZS1jaGFuZ2UtdXNl
ci1pbmZvLXRleHRhcmVhLWNyYXNoLWxvZy50eHRVVAUAAyvp0Vl1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACMAkJLW/vO6c8DAABcDwAASQAYAAAAAAABAAAApIE8hAQAYWNjZXNzaWJpbGl0eS9t
YWMvdmFsdWUtY2hhbmdlL3ZhbHVlLWNoYW5nZS11c2VyLWluZm8tdGV4dGFyZWEtc3RkZXJyLnR4
dFVUBQADt+jRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALICQksE2DeB2EAAAJQKAQBNABgA
AAAAAAEAAACkgY6IBABhY2Nlc3NpYmlsaXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdl
LXVzZXItaW5mby10ZXh0ZmllbGQtY3Jhc2gtbG9nLnR4dFVUBQADAOnRWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALICQkt0RJqO0AMAAFwPAABKABgAAAAAAAEAAACkge3JBABhY2Nlc3NpYmls
aXR5L21hYy92YWx1ZS1jaGFuZ2UvdmFsdWUtY2hhbmdlLXVzZXItaW5mby10ZXh0ZmllbGQtc3Rk
ZXJyLnR4dFVUBQADAOnRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKUCQksAAAAAAAAAAAAA
AAAaABgAAAAAAAAAEADtQUHOBABhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL1VUBQAD5ejRWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMoCQksocLo6u0MAAPMVAQBZABgAAAAAAAEAAACkgZXO
BABhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL2NoYXJhY3Rlci1vZmZzZXQtdmlzaWJsZS1wb3Np
dGlvbi1jb252ZXJzaW9uLWhhbmctY3Jhc2gtbG9nLnR4dFVUBQADK+nRWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAGQCQksMySQ2zQMAAFwPAABWABgAAAAAAAEAAACkgeMSBQBhY2Nlc3NpYmls
aXR5L3RleHQtbWFya2VyL2NoYXJhY3Rlci1vZmZzZXQtdmlzaWJsZS1wb3NpdGlvbi1jb252ZXJz
aW9uLWhhbmctc3RkZXJyLnR4dFVUBQADbOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKUC
QkuGWIpk+QMAAJwPAABBABgAAAAAAAEAAACkgUAXBQBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2Vy
L3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQtY3Jhc2gtbG9nLnR4dFVUBQAD5ejRWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAKUCQkseicz8zQMAAFwPAAA+ABgAAAAAAAEAAACkgbQbBQBhY2Nl
c3NpYmlsaXR5L3RleHQtbWFya2VyL3RleHQtbWFya2VyLXByZXZpb3VzLW5leHQtc3RkZXJyLnR4
dFVUBQAD5ejRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHgCQksAAAAAAAAAAAAAAAALABgA
AAAAAAAAEADtQfkfBQBhbmltYXRpb25zL1VUBQADk+jRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAHgCQksAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQT4gBQBhbmltYXRpb25zLzNkL1VUBQAD
k+jRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHgCQksBrBv9cwQAABUQAAA5ABgAAAAAAAEA
AACkgYYgBQBhbmltYXRpb25zLzNkL2NoYW5nZS10cmFuc2Zvcm0taW4tZW5kLWV2ZW50LWNyYXNo
LWxvZy50eHRVVAUAA5Po0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4AkJLb8hVPUgEAADV
DwAANgAYAAAAAAABAAAApIFsJQUAYW5pbWF0aW9ucy8zZC9jaGFuZ2UtdHJhbnNmb3JtLWluLWVu
ZC1ldmVudC1zdGRlcnIudHh0VVQFAAOT6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJC
SyBuWVb7AwAAnA8AADMAGAAAAAAAAQAAAKSBJCoFAGFuaW1hdGlvbnMvQ1NTS2V5ZnJhbWVzUnVs
ZS1uYW1lLW51bGwtY3Jhc2gtbG9nLnR4dFVUBQADk+jRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAHgCQkt4xx3vzwMAAFwPAAAwABgAAAAAAAEAAACkgYwuBQBhbmltYXRpb25zL0NTU0tleWZy
YW1lc1J1bGUtbmFtZS1udWxsLXN0ZGVyci50eHRVVAUAA5Po0Vl1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAABkAkJLAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UHFMgUAY2FudmFzL1VUBQADbOjR
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGQCQksAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADt
QQYzBQBjYW52YXMvcGhpbGlwL1VUBQADbOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKUC
QksAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQU4zBQBjYW52YXMvcGhpbGlwL3Rlc3RzL1VUBQAD
5ejRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGQCQktN8S29jwAAAPoAAAA0ABgAAAAAAAEA
AACkgZwzBQBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNhbnZhcy5yZWFkb25seS1jcmFzaC1sb2cu
dHh0VVQFAANs6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZAJCS9L6FZPRAwAAXA8AADEA
GAAAAAAAAQAAAKSBmTQFAGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2FudmFzLnJlYWRvbmx5LXN0
ZGVyci50eHRVVAUAA2zo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAClAkJLedqLUfsDAACc
DwAANQAYAAAAAAABAAAApIHVOAUAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jYW52YXMucmVmZXJl
bmNlLWNyYXNoLWxvZy50eHRVVAUAA+Xo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAClAkJL
7Smhr88DAABcDwAAMgAYAAAAAAABAAAApIE/PQUAY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jYW52
YXMucmVmZXJlbmNlLXN0ZGVyci50eHRVVAUAA+Xo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AACyAkJLAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UF6QQUAY29tcG9zaXRpbmcvVVQFAAMA6dFZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJCS7WAIEtyBAAAFRAAADsAGAAAAAAAAQAAAKSB
wEEFAGNvbXBvc2l0aW5nL2Fic29sdXRlLWluc2lkZS1vdXQtb2Ytdmlldy1maXhlZC1jcmFzaC1s
b2cudHh0VVQFAAOT6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJCS99X4KJGBAAA1Q8A
ADgAGAAAAAAAAQAAAKSBp0YFAGNvbXBvc2l0aW5nL2Fic29sdXRlLWluc2lkZS1vdXQtb2Ytdmll
dy1maXhlZC1zdGRlcnIudHh0VVQFAAOT6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAeAJC
SwAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BX0sFAGNvbXBvc2l0aW5nL2FuaW1hdGlvbi9VVAUA
A5Po0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4AkJLxazREPoDAACcDwAARQAYAAAAAAAB
AAAApIGvSwUAY29tcG9zaXRpbmcvYW5pbWF0aW9uL2FuaW1hdGVkLWNvbXBvc2l0ZWQtaW5zaWRl
LWhpZGRlbi1jcmFzaC1sb2cudHh0VVQFAAOT6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
eAJCS/xYhMPPAwAAXA8AAEIAGAAAAAAAAQAAAKSBKFAFAGNvbXBvc2l0aW5nL2FuaW1hdGlvbi9h
bmltYXRlZC1jb21wb3NpdGVkLWluc2lkZS1oaWRkZW4tc3RkZXJyLnR4dFVUBQADk+jRWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAHgCQksAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQXNUBQBj
b21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5L1VUBQADlOjRWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAHgCQksiQbpSdAQAABUQAABEABgAAAAAAAEAAACkgc1UBQBjb21wb3NpdGluZy9i
YWNrZmFjZS12aXNpYmlsaXR5L2JhY2tmYWNlLXZpc2liaWxpdHktM2QtY3Jhc2gtbG9nLnR4dFVU
BQADlOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHgCQksHavBSSQQAANUPAABBABgAAAAA
AAEAAACkgb9ZBQBjb21wb3NpdGluZy9iYWNrZmFjZS12aXNpYmlsaXR5L2JhY2tmYWNlLXZpc2li
aWxpdHktM2Qtc3RkZXJyLnR4dFVUBQADlOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIwC
QksAAAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQYNeBQBjb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNv
bG9yL1VUBQADt+jRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIwCQktN8S29jwAAAPoAAABO
ABgAAAAAAAEAAACkgdpeBQBjb21wb3NpdGluZy9iYWNrZ3JvdW5kLWNvbG9yL2JhY2tncm91bmQt
Y29sb3ItYWxwaGEtd2l0aC1vcGFjaXR5LWNyYXNoLWxvZy50eHRVVAUAA7fo0Vl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACMAkJLNyK2NPcDAADxDQAASwAYAAAAAAABAAAApIHxXwUAY29tcG9z
aXRpbmcvYmFja2dyb3VuZC1jb2xvci9iYWNrZ3JvdW5kLWNvbG9yLWFscGhhLXdpdGgtb3BhY2l0
eS1zdGRlcnIudHh0VVQFAAO36NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAeAJCSwAAAAAA
AAAAAAAAABQAGAAAAAAAAAAQAO1BbWQFAGNvbXBvc2l0aW5nL2JhY2tpbmcvVVQFAAOU6NFZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJCSyEc/o1xBAAAFRAAADoAGAAAAAAAAQAAAKSBu2QF
AGNvbXBvc2l0aW5nL2JhY2tpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS1mbGlwLWNyYXNoLWxvZy50
eHRVVAUAA5To0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4AkJLZTe7hUYEAADVDwAANwAY
AAAAAAABAAAApIGgaQUAY29tcG9zaXRpbmcvYmFja2luZy9iYWNrZmFjZS12aXNpYmlsaXR5LWZs
aXAtc3RkZXJyLnR4dFVUBQADlOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHgCQksAAAAA
AAAAAAAAAAATABgAAAAAAAAAEADtQVduBQBjb21wb3NpdGluZy9jYW52YXMvVVQFAAOU6NFZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJCS6PGio5xBAAAFRAAAEoAGAAAAAAAAQAAAKSBpG4F
AGNvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVyYXRlZC1jYW52YXMtY29tcG9zaXRpbmctc2l6ZS1s
aW1pdC1jcmFzaC1sb2cudHh0VVQFAAOU6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJC
S/Q1xfJEBAAA1Q8AAEcAGAAAAAAAAQAAAKSBmXMFAGNvbXBvc2l0aW5nL2NhbnZhcy9hY2NlbGVy
YXRlZC1jYW52YXMtY29tcG9zaXRpbmctc2l6ZS1saW1pdC1zdGRlcnIudHh0VVQFAAOU6NFZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAeAJCSwAAAAAAAAAAAAAAABUAGAAAAAAAAAAQAO1BXngF
AGNvbXBvc2l0aW5nL2NsaXBwaW5nL1VUBQADlOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AHgCQksHJxgYdQQAABUQAABRABgAAAAAAAEAAACkga14BQBjb21wb3NpdGluZy9jbGlwcGluZy9i
b3JkZXItcmFkaXVzLW92ZXJmbG93LWhpZGRlbi1zdGFja2luZy1jb250ZXh0LWNyYXNoLWxvZy50
eHRVVAUAA5To0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4AkJLyo02bUgEAADVDwAATgAY
AAAAAAABAAAApIGtfQUAY29tcG9zaXRpbmcvY2xpcHBpbmcvYm9yZGVyLXJhZGl1cy1vdmVyZmxv
dy1oaWRkZW4tc3RhY2tpbmctY29udGV4dC1zdGRlcnIudHh0VVQFAAOU6NFZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAsgJCSwAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BfYIFAGNvbXBvc2l0
aW5nL2NvbG9yLW1hdGNoaW5nL1VUBQADAOnRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHgC
QktK/CdRBgQAAAwOAAA9ABgAAAAAAAEAAACkgdKCBQBjb21wb3NpdGluZy9jb2xvci1tYXRjaGlu
Zy9pbWFnZS1jb2xvci1tYXRjaGluZy1jcmFzaC1sb2cudHh0VVQFAAOU6NFZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAeAJCS4Z2zWnbAwAAzA0AADoAGAAAAAAAAQAAAKSBT4cFAGNvbXBvc2l0
aW5nL2NvbG9yLW1hdGNoaW5nL2ltYWdlLWNvbG9yLW1hdGNoaW5nLXN0ZGVyci50eHRVVAUAA5To
0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyAkJLZQzxMa4AAADuAgAAOAAYAAAAAAABAAAA
pIGeiwUAY29tcG9zaXRpbmcvY29sb3ItbWF0Y2hpbmcvcGRmLWltYWdlLW1hdGNoLWNyYXNoLWxv
Zy50eHRVVAUAAwDp0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyAkJLUj/gct4DAADMDQAA
NQAYAAAAAAABAAAApIG+jAUAY29tcG9zaXRpbmcvY29sb3ItbWF0Y2hpbmcvcGRmLWltYWdlLW1h
dGNoLXN0ZGVyci50eHRVVAUAAwDp0Vl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB4AkJLAAAA
AAAAAAAAAAAAFAAYAAAAAAAAABAA7UELkQUAY29tcG9zaXRpbmcvY29sdW1ucy9VVAUAA5To0Vl1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4AkJLZVco8HIEAAAVEAAAPwAYAAAAAAABAAAApIFZ
kQUAY29tcG9zaXRpbmcvY29sdW1ucy9hbmNlc3Rvci1jbGlwcGVkLWluLXBhZ2luYXRlZC1jcmFz
aC1sb2cudHh0VVQFAAOU6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJCS2X45+xHBAAA
1Q8AADwAGAAAAAAAAQAAAKSBRJYFAGNvbXBvc2l0aW5nL2NvbHVtbnMvYW5jZXN0b3ItY2xpcHBl
ZC1pbi1wYWdpbmF0ZWQtc3RkZXJyLnR4dFVUBQADlOjRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAHgCQksAAAAAAAAAAAAAAAAcABgAAAAAAAAAEADtQQGbBQBjb21wb3NpdGluZy9jb250ZW50
cy1mb3JtYXQvVVQFAAOU6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeAJCS/mxRtd0BAAA
FRAAAF4AGAAAAAAAAQAAAKSBV5sFAGNvbXBvc2l0aW5nL2NvbnRlbnRzLWZvcm1hdC9zdWJwaXhl
bC1hbnRpYWxpYXNlZC10ZXh0LWNvbmZpZ3MtYW50aWFsaWFzaW5nLXN0eWxlLWNyYXNoLWxvZy50
eHRVVAUAA5To0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB4AkJLhXigLUcEAADVDwAAWwAY
AAAAAAABAAAApIFjoAUAY29tcG9zaXRpbmcvY29udGVudHMtZm9ybWF0L3N1YnBpeGVsLWFudGlh
bGlhc2VkLXRleHQtY29uZmlncy1hbnRpYWxpYXNpbmctc3R5bGUtc3RkZXJyLnR4dFVUBQADlOjR
WXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHgCQksAAAAAAAAAAAAAAAAcABgAAAAAAAAAEADt
QT+lBQBjb21wb3NpdGluZy9jb250ZW50cy1vcGFxdWUvVVQFAAOU6NFZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAeAJCS/L6q6hzBAAAFRAAADkAGAAAAAAAAQAAAKSBlaUFAGNvbXBvc2l0aW5n
L2NvbnRlbnRzLW9wYXF1ZS9iYWNrZ3JvdW5kLWNsaXAtY3Jhc2gtbG9nLnR4dFVUBQADlOjRWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHgCQkvaRKAfSAQAANUPAAA2ABgAAAAAAAEAAACkgXuq
BQBjb21wb3NpdGluZy9jb250ZW50cy1vcGFxdWUvYmFja2dyb3VuZC1jbGlwLXN0ZGVyci50eHRV
VAUAA5To0Vl1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB5AkJLAAAAAAAAAAAAAAAAGwAYAAAA
AAAAABAA7UEzrwUAY29tcG9zaXRpbmcvY29udGVudHMtc2NhbGUvVVQFAAOV6NFZdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAeQJCS259iut0BAAAFRAAADIAGAAAAAAAAQAAAKSBiK8FAGNvbXBv
c2l0aW5nL2NvbnRlbnRzLXNjYWxlL2FuaW1hdGluZy1jcmFzaC1sb2cudHh0VVQFAAOV6NFZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAeQJCS8YgdFNJBAAA1Q8AAC8AGAAAAAAAAQAAAKSBaLQF
AGNvbXBvc2l0aW5nL2NvbnRlbnRzLXNjYWxlL2FuaW1hdGluZy1zdGRlcnIudHh0VVQFAAOV6NFZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAApQJCSwAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B
GrkFAGNvbXBvc2l0aW5nL2N1bGxpbmcvVVQFAAPl6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAZAJCS03xLb2PAAAA+gAAADQAGAAAAAAAAQAAAKSBaLkFAGNvbXBvc2l0aW5nL2N1bGxpbmcv
Y2xlYXItZml4ZWQtaWZyYW1lLWNyYXNoLWxvZy50eHRVVAUAA2zo0Vl1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABkAkJLTv2QRCcEAAC9DwAAMQAYAAAAAAABAAAApIFlugUAY29tcG9zaXRpbmcv
Y3VsbGluZy9jbGVhci1maXhlZC1pZnJhbWUtc3RkZXJyLnR4dFVUBQADbOjRWXV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAKUCQksB4KfldQQAABUQAAA+ABgAAAAAAAEAAACkgfe+BQBjb21wb3Np
dGluZy9jdWxsaW5nL2ZpbHRlci1vY2NsdXNpb24tYWxwaGEtbGFyZ2UtY3Jhc2gtbG9nLnR4dFVU
BQAD5ejRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKUCQkumMzcjSgQAANUPAAA7ABgAAAAA
AAEAAACkgeTDBQBjb21wb3NpdGluZy9jdWxsaW5nL2ZpbHRlci1vY2NsdXNpb24tYWxwaGEtbGFy
Z2Utc3RkZXJyLnR4dFVUBQAD5ejRWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALICQksAAAAA
AAAAAAAAAAAUABgAAAAAAAAAEADtQaPIBQBjb21wb3NpdGluZy9maWx0ZXJzL1VUBQADAOnRWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALICQksFy6ySdQQAABUQAABRABgAAAAAAAEAAACkgfHI
BQBjb21wb3NpdGluZy9maWx0ZXJzL29wYWNpdHktY2hhbmdlLW9uLWZpbHRlcmVkLXBhaW50cy1p
bnRvLWFuY2VzdG9yLWNyYXNoLWxvZy50eHRVVAUAAwDp0Vl1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACyAkJLJ8sPoEkEAADVDwAATgAYAAAAAAABAAAApIHxzQUAY29tcG9zaXRpbmcvZmlsdGVy
cy9vcGFjaXR5LWNoYW5nZS1vbi1maWx0ZXJlZC1wYWludHMtaW50by1hbmNlc3Rvci1zdGRlcnIu
dHh0VVQFAAMA6dFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAeQJCSwAAAAAAAAAAAAAAABYA
GAAAAAAAAAAQAO1BwtIFAGNvbXBvc2l0aW5nL2ZyYW1lc2V0cy9VVAUAA5Xo0Vl1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAB5AkJLRrc7nyUEAAAxDgAAPgAYAAAAAAABAAAApIES0wUAY29tcG9z
aXRpbmcvZnJhbWVzZXRzL2NvbXBvc2l0ZWQtZnJhbWUtYWxpZ25tZW50LWNyYXNoLWxvZy50eHRV
VAUAA5Xo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAB5AkJL6F4emPkDAADxDQAAOwAYAAAA
AAABAAAApIGv1wUAY29tcG9zaXRpbmcvZnJhbWVzZXRzL2NvbXBvc2l0ZWQtZnJhbWUtYWxpZ25t
ZW50LXN0ZGVyci50eHRVVAUAA5Xo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzAkJL+lq9
dsQCAABUCAAADQAYAAAAAAABAAAApIEd3AUAZXJyb3JfbG9nLnR4dFVUBQADAenRWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAMoCQkvL3IYhugMAAHkQAAARABgAAAAAAAEAAACkgSjfBQBmdWxs
X3Jlc3VsdHMuanNvblVUBQADK+nRWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADQCQktbBFgO
ogUAAE0QAAAKABgAAAAAAAEAAACkgS3jBQBodHRwZC5jb25mVVQFAAMT6NFZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAANAJCSwAAAAAAAAAAAAAAABoAGAAAAAAAAAAAAKSBE+kFAHB5d2Vic29j
a2V0LndzLmxvZy1lcnIudHh0VVQFAAMU6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAANAJC
SwAAAAAAAAAAAAAAABoAGAAAAAAAAAAAAKSBZ+kFAHB5d2Vic29ja2V0LndzLmxvZy1vdXQudHh0
VVQFAAMU6NFZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAANQJCSwAAAAAAAAAAAAAAABsAGAAA
AAAAAAAAAKSBu+kFAHB5d2Vic29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQADFejRWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAADUCQksAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgRDqBQBweXdl
YnNvY2tldC53c3MubG9nLW91dC50eHRVVAUAAxXo0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CADKAkJLj8pSWnEpAADGrwAADAAYAAAAAAABAAAApIFl6gUAcmVzdWx0cy5odG1sVVQFAAMs6dFZ
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAygJCS59sg/kZBAAAAQwAAAoAGAAAAAAAAQAAAKSB
HBQGAHN0YXRzLmpzb25VVAUAAyvp0Vl1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA2AkJLXpKO
7UIFAADUIgAAGQAYAAAAAAABAAAApIF5GAYAd3B0d2tfcHJvY2Vzc19sb2cub3V0LnR4dFVUBQAD
F+jRWXV4CwABBPUBAAAEFAAAAFBLBQYAAAAAfAB8AKA3AAAOHgYAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322403</attachid>
            <date>2017-10-02 11:46:34 -0700</date>
            <delta_ts>2017-10-02 12:25:53 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>214151</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7
IHRoaXMuX2ZpZWxkID0gNDI7IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOwor
ICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOwor
ICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCAyNTsgKytpKSB7CisgICAgbGV0IGl0ZW0gPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgaXRlbS5fX3Byb3RvX18gPSBudWxsOworICAgIGl0ZW1zLnB1c2goaXRlbSk7Cit9CisK
K2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAg
ICBsZXQgb2JqID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICAgICAg
YXNzZXJ0KE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgICAgIGFz
c2VydChvYmoucCA9PT0gMjApOworICAgICAgICBhc3NlcnQob2JqLl9maWVsZCA9PT0gNDIpOwor
ICAgIH0KKworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7Cklu
ZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXNldHRlci1zcGVlZC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXNldHRlci1z
cGVlZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXNldHRlci1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACitmdW5j
dGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQ6IiArIG0pOworfQorCitsZXQgY2FsbGVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWtlUG9s
eVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHRoaXMuX3AgPSBudWxsOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzZXQgcCh4
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgdGhpcy5fcCA9IHg7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgODsgKytpKSB7CisgICAgaXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkp
OworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCits
ZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBs
ZXQgbyA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3Nl
cnQoby5fcCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IHRydWUpOworICAgICAg
ICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5u
b3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0
dXJuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0
dXJuLmpzCShyZXZpc2lvbiAyMjI3MTIpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13
aXRoLXJldHVybi5qcwkod29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0
cyA9IFsKICAgICBuZXcgVGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwog
Ci10ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0
b3IoKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1
bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJl
c3VsdDogIiArIHJlc3VsdDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAg
dGVzdHMuZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1
Y3RvcigpIHsKKyAgICAgICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2
YXIgcmVzdWx0ID0gbmV3IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0
KSB7CisgICAgICAgICAgICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1
Y3RvcikpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDog
SlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzOSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5f
ZmllbGQgPSAyNTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZv
bygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHByb3RvID0gY3JlYXRlRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2Jq
Ll9fcHJvdG9fXyA9IHByb3RvOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2KSB7CisgICAgYXNz
ZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4LmN1c3RvbUdldHRlcik7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRl
KG9iaiwgcHJvdG8pOworCitwcm90by5mb28gPSAyNTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitSZWZsZWN0LnNldFByb3RvdHlw
ZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxp
ZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQor
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7IAorICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMuZmll
bGQgPSAyMDsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmll
bGQgPT09IDIwKTsKKyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgaXRlbXMgPSBb
CisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorXTsKKwor
bGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoKTsK
K2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJvdG9fXyA9IGN1c3RvbUdldHRlclNl
dHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1c3RvbUdldHRlclNldHRlcik7Cit9
KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1bHQsIGFjY2Vzc29yUmVzdWx0KSB7
CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVlUmVzdWx0KTsKKworICAgIGFzc2Vy
dCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBsZXQgbyA9IHt9
OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gdmFsdWVS
ZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9tQWNjZXNzb3IgPSBvOworICAgIGFz
c2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOworCisgICAgYXNzZXJ0KHgucmFuZG9t
UHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUo
dmFsaWRhdGUpOworCisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0
ZW1zW2ldKTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNldHRlci5yYW5kb21Qcm9wID0gNDI7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1
c3RvbUdldHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaCgo
eCkgPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoeCwgeworICAgICAgICBnZXQgY3Vz
dG9tVmFsdWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAgZ2V0IGN1c3RvbUFjY2Vzc29yKCkg
eyByZXR1cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21WYWx1ZSh4KSB7IHgucmVzdWx0ID0g
NDI7IH0sCisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4KSB7IHgucmVzdWx0ID0gMjI7IH0s
CisgICAgfSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0
ZShpdGVtc1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CisKK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRy
aW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5l
c3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkISIpOworfQorCitm
dW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAg
ICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLl9maWVsZCA9IDQyOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkK
KyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgeCA9IG5ldyBVaW50
MzJBcnJheSgxMCk7CitsZXQgcCA9IHguX19wcm90b19fLl9fcHJvdG9fXzsKK2xldCBvYmogPSBt
YWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcDsKK3guX19wcm90b19fID0g
b2JqOworCitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiB4LmJ5dGVMZW5ndGg7Cit9Citu
b0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGFz
c2VydChmb28oeCkgPT09IDEwICogNCk7Cit9OworCitvYmouX19wcm90b19fID0ge307CisKK2Fz
c2VydChmb28oeCkgPT09IHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLW1pc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNz
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAg
IGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9Cisg
ICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSA0MjsKKyAgICAgICAgbGV0IHJlc3Vs
dCA9IG5ldyBDOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBsZXQgcmVzdWx0ID0gZm9v
KCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2VzID0gWworICAgIG1ha2VQ
b2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0lu
c3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRo
TnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90
eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorXTsKKworbGV0IHAgPSB1
bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KHgueCA9PT0gMjAp
OworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisg
ICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9w
LWluLWNhY2hpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1vcC1pbi1jYWNoaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAg
ZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgICAgIHRoaXMuZmllbGQgPSA0MjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLmZpZWxkID09PSA0Mik7
CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgYikg
eworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisK
K2xldCBzdGFydCA9IERhdGUubm93KCk7CisKK2xldCBvYmpzID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwOyArK2kpCisgICAgb2Jqcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7CisK
K29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSkp
OworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmog
b2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCB0cnVlKTsKK30KKworb2Jqcy5mb3JFYWNo
KG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAgICB2
YWxpZGF0ZShvYmosIGZhbHNlKTsKK30KKworCitmdW5jdGlvbiB2YWxpZGF0ZTIobywgYikgewor
ICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZTIpOworCitv
YmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBudWxsKSk7Citm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Ygb2Jq
cykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgZmFsc2UpOworfQorCitvYmpzLmZvckVhY2gob2Jq
ID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAgICB2
YWxpZGF0ZTIob2JqLCB0cnVlKTsKK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93
KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0
aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5z
aXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQt
dHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACitmdW5jdGlvbiBh
c3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6
IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rvcigp
IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9maWVsZCA9IDQyOworICAgICAgICAgICAgfQorICAg
ICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30K
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytp
KSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90
b19fID0gbnVsbDsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAgYXNzZXJ0KE9iamVjdC5oYXNP
d25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7CisK
K30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2JqID0gbWFr
ZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSB7IHNldCBwKHgpIHsgZ2xv
YmFsID0geDsgfSB9OworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoIW9iai5oYXNP
d25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3NlcnQoZ2xvYmFsID09PSAyMCk7CisgICAgZ2xvYmFs
ID0gbnVsbDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQg
b2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBh
c3NlcnQob2JqLmhhc093blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChvYmoucCA9PT0gMjAp
OworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3Rv
ID0geworICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCits
ZXQgYWx0ZXJuYXRlUHJvdG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAg
Z2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZp
bmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkg
eyByZXR1cm4gdGhpcy5feDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBD
IHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7Cisg
ICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRh
dGUobywgcCkgeworICAgIGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUp
OworCitsZXQgYXJyID0gW107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkK
KyAgICBhcnIucHVzaChmb28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBhIG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitm
b3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
IHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9m
IGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAg
ICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9
Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDcxIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitsZXQgY2FsbGVkID0gZmFsc2U7
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIAorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSBudWxsOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBzZXQgcCh4KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxl
ZCA9IHRydWU7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBnZXQgcCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3A7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcg
QzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFz
c2VydChmb28oKS5wID09PSBudWxsKTsKKyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0g
W107Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAg
IHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7
ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8s
IGkpOworICAgICAgICBhc3NlcnQoby5fcCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQg
PT09IHRydWUpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK2l0ZW1zLmZv
ckVhY2gobyA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvLCBudWxsKTsKK30pOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAg
ICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5wID09PSBpKTsKKyAgICAg
ICAgYXNzZXJ0KGNhbGxlZCA9PT0gZmFsc2UpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAg
IHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUxIEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNz
IEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMu
eSA9IDIyOworICAgICAgICB9CisgICAgICAgIGdldCBiYXooKSB7IHJldHVybiB0aGlzLng7IH0K
KyAgICB9CisgICAgQy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBuZXcgQzsKKyAgICByZXR1
cm4gQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgZm9vKCk7CisKK2Z1
bmN0aW9uIGJhcihwKSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgeworICAgICAgICBjb25zdHJ1
Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLnggPSAyMjsK
KyAgICAgICAgfQorICAgIH07CisgICAgbGV0IHJlc3VsdCA9IG5ldyBDOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGJhcihmb28oKSk7
CisKK2xldCBpbnN0YW5jZXMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgNDA7ICsraSkKKyAg
ICBpbnN0YW5jZXMucHVzaChiYXIoZm9vKCkpKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkg
eworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIy
KTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOworfQorCitsZXQgc3RhcnQgPSBEYXRl
Lm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGluc3RhbmNl
cy5mb3JFYWNoKCh4KSA9PiB2YWxpZGF0ZSh4KSk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5
LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXBy
b3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXBy
b3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKK2xldCB5ID0gNDI7CitmdW5j
dGlvbiBtYWtlUG9seVByb3RvSW5zdGFuY2UoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsg
fQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0geTsKKyAgICAgICAgcmV0dXJu
IG5ldyBDOworICAgIH0KKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAg
ICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwb2x5UHJvdG9JbnN0YW5jZSA9
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpOworU3RyaW5nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBw
b2x5UHJvdG9JbnN0YW5jZTsKK1N5bWJvbC5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3Rv
SW5zdGFuY2U7CitsZXQgc3RyaW5ncyA9IFsKKyAgICAiZm9vIiwKKyAgICBTeW1ib2woImZvbyIp
LAorICAgICJiYXIiLAorICAgIFN5bWJvbCgiYmFyIiksCitdOworCitmdW5jdGlvbiBhc3NlcnQo
YikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlv
biIpCit9Citub0lubGluZShhc3NlcnQpOworCitmdW5jdGlvbiB2YWxpZGF0ZShzKSB7CisgICAg
YXNzZXJ0KHMueCA9PT0gMjApOworICAgIGFzc2VydChzLnkgPT09IHkpOworICAgIGFzc2VydChz
Lm5vbkV4aXN0ZW50UHJvcGVydHkgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KHR5cGVvZiBz
Lmhhc093blByb3BlcnR5ID09PSAiZnVuY3Rpb24iKTsKKyAgICBhc3NlcnQocy5oYXNPd25Qcm9w
ZXJ0eSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgcyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KKworeSA9
IDI3OworcG9seVByb3RvSW5zdGFuY2UuX19wcm90b19fID0ge3o6NDAwLCB5OiB5fTsKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7
CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3By
b3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAg
ICAgIHRoaXMueCA9IDQyOworICAgIH0KKyAgICBiYXIucHJvdG90eXBlID0gNTA7CisgICAgcmV0
dXJuIG5ldyBiYXIoKTsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2xldCBpdGVtcyA9IFsKKyAgICBm
b28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAg
ICBmb28oKSwKK107CisKK2Z1bmN0aW9uIHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRl
bS5ub3RUaGVyZSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQoaXRlbS54ID09PSA0Mik7Cisg
ICAgYXNzZXJ0KGl0ZW0uX19wcm90b19fID09PSBPYmplY3QucHJvdG90eXBlKTsKK30KKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVt
cykKKyAgICAgICAgdmFsaWRhdGUoaXRlbSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdHJ5
LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0
KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAg
ICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkK
KyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB0cnlHZXRC
eUlkVGV4dChwcm9wZXJ0eU5hbWUpIHsgcmV0dXJuIGAoZnVuY3Rpb24gKGJhc2UpIHsgcmV0dXJu
IEB0cnlHZXRCeUlkKGJhc2UsICcke3Byb3BlcnR5TmFtZX0nKTsgfSlgOyB9CitsZXQgZ2V0Rm9v
ID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiZm9vIikpOworbGV0IGdldEJhciA9IGNy
ZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImJhciIpKTsKK2xldCBnZXROb25FeGlzdGVudEZp
ZWxkID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgibm9uRXhpc3RlbnRGaWVsZCIpKTsK
KworbGV0IHggPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7Cit4Ll9fcHJvdG9fXyA9IHsgZm9vOiA0
MiwgZ2V0IGJhcigpIHsgcmV0dXJuIDIyOyB9IH07CitsZXQgYmFyR2V0dGVyID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih4Ll9fcHJvdG9fXywgImJhciIpLmdldDsKK2Fzc2VydCh0
eXBlb2YgYmFyR2V0dGVyID09PSAiZnVuY3Rpb24iKTsKK2Fzc2VydChiYXJHZXR0ZXIoKSA9PT0g
MjIpOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KGdldEZvbyh4KSA9PT0g
NDIpOworICAgIGFzc2VydChsb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihnZXRCYXIoeCkpID09
PSBiYXJHZXR0ZXIpOworICAgIGFzc2VydChnZXROb25FeGlzdGVudEZpZWxkKHgpID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIHZhbGlkYXRlKHgpOworfQpJbmRleDogSlNUZXN0cy90eXBlUHJvZmls
ZXIvb3ZlcmZsb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZs
b3cuanMJKHJldmlzaW9uIDIyMjcxMikKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZh
ciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAg
ICAvLyBNYWtlIHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2ln
bm1lbnQgdG8geCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3
aWxsIGJlIG1lcmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpAQCAtMjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9
IG51bGw7CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJm
bG93IC0gMTsgaSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9
IDIwOworICAgIHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0
aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3Rv
dHlwZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjcxMikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MjI3LDkgKzIyNywxMSBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5
dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9Nb2R1bGVO
YW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5j
cHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0
UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKK2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWlu
LmNwcAogYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29kZS9QcmVjaXNlSnVt
cFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2pzYy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
c2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTMsNiArOTUzLDkwIEBAIHZvaWQgRE9NSklUQ2hl
Y2tTdWJDbGFzc09iamVjdDo6ZmluaXNoQ3IKICAgICBwdXREaXJlY3ROYXRpdmVGdW5jdGlvbih2
bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImZ1bmMiKSwgMCwg
c2FmZUZ1bmN0aW9uLCBOb0ludHJpbnNpYywgJkRPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3RTaWdu
YXR1cmUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
KTsKIH0KIAorY2xhc3MgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IDogcHVibGljIERPTUpJVE5v
ZGUgeworcHVibGljOgorICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdChWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICB7Cisg
ICAgfQorCisgICAgREVDTEFSRV9JTkZPOworICAgIHVzaW5nIEJhc2UgPSBET01KSVROb2RlOwor
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgewor
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhKU0M6OkpTVHlwZShMYXN0SlNDT2JqZWN0VHlwZSArIDEpLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCisgICAgc3RhdGljIERPTUpJVEdldHRlckJhc2VK
U09iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgeworICAg
ICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGdldHRlciA9IG5ldyAoTm90TnVsbCwgYWxs
b2NhdGVDZWxsPERPTUpJVEdldHRlckJhc2VKU09iamVjdD4odm0uaGVhcCwgc2l6ZW9mKERPTUpJ
VEdldHRlckJhc2VKU09iamVjdCkpKSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Qodm0sIHN0cnVj
dHVyZSk7CisgICAgICAgIGdldHRlci0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1
cm4gZ2V0dGVyOworICAgIH0KKworICAgIGNsYXNzIERPTUpJVEF0dHJpYnV0ZSA6IHB1YmxpYyBE
T01KSVQ6OkdldHRlclNldHRlciB7CisgICAgcHVibGljOgorICAgICAgICBjb25zdGV4cHIgRE9N
SklUQXR0cmlidXRlKCkKKyAgICAgICAgICAgIDogRE9NSklUOjpHZXR0ZXJTZXR0ZXIoCisgICAg
ICAgICAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIsCisjaWYg
RU5BQkxFKEpJVCkKKyAgICAgICAgICAgICAgICAmY2FsbERPTUdldHRlciwKKyNlbHNlCisgICAg
ICAgICAgICAgICAgbnVsbHB0ciwKKyNlbmRpZgorICAgICAgICAgICAgICAgIFNwZWNCeXRlY29k
ZVRvcCkKKyAgICAgICAgeworICAgICAgICB9CisKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBzbG93Q2FsbChFeGVjU3RhdGUqIGV4
ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CisgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhl
Yyk7CisgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNPYmplY3Qq
Pihwb2ludGVyKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgICAgIH0KKworICAgICAgICBzdGF0aWMgUmVmPERP
TUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNhbGxET01HZXR0ZXIoKQorICAgICAgICB7Cisg
ICAgICAgICAgICBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gc25pcHBldCA9IERP
TUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ6OmNyZWF0ZSgpOworICAgICAgICAgICAgc25pcHBl
dC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9IGZhbHNlOworICAgICAgICAgICAgc25pcHBldC0+c2V0
R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBlcnMmIGppdCwgU25pcHBldFBhcmFtcyYgcGFyYW1zKSB7
CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0cyA9IHBhcmFtc1swXS5qc1ZhbHVl
UmVncygpOworICAgICAgICAgICAgICAgIEdQUlJlZyBkb20gPSBwYXJhbXNbMV0uZ3ByKCk7Cisg
ICAgICAgICAgICAgICAgcGFyYW1zLmFkZFNsb3dQYXRoQ2FsbChqaXQuanVtcCgpLCBqaXQsIHNs
b3dDYWxsLCByZXN1bHRzLCBkb20pOworICAgICAgICAgICAgICAgIHJldHVybiBDQ2FsbEhlbHBl
cnM6Okp1bXBMaXN0KCk7CisKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIHNu
aXBwZXQ7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisKK3ByaXZhdGU6CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYpOworCisgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdl
dHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgSlNPYmpl
Y3QqIHRoaXNPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQodGhpc09iamVjdCk7Cisg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdC0+Z2V0UHJvdG90eXBlRGly
ZWN0KCkpOworICAgIH0KK307CisKK3N0YXRpYyBjb25zdCBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisKK3Zv
aWQgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0
dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0RE9NSklUOworICAgIGF1dG8q
IGN1c3RvbUdldHRlclNldHRlciA9IERPTUF0dHJpYnV0ZUdldHRlclNldHRlcjo6Y3JlYXRlKHZt
LCBkb21KSVQtPmdldHRlcigpLCBudWxscHRyLCBET01BdHRyaWJ1dGVBbm5vdGF0aW9uIHsgSlNP
YmplY3Q6OmluZm8oKSwgZG9tSklUIH0pOworICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbUdldHRlciIpLCBjdXN0b21HZXR0
ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRl
OjpDdXN0b21BY2Nlc3Nvcik7Cit9CisKIGNvbnN0IENsYXNzSW5mbyBFbGVtZW50OjpzX2luZm8g
PSB7ICJFbGVtZW50IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01F
VEhPRF9UQUJMRShFbGVtZW50KSB9OwogY29uc3QgQ2xhc3NJbmZvIE1hc3F1ZXJhZGVyOjpzX2lu
Zm8gPSB7ICJNYXNxdWVyYWRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENS
RUFURV9NRVRIT0RfVEFCTEUoTWFzcXVlcmFkZXIpIH07CiBjb25zdCBDbGFzc0luZm8gUm9vdDo6
c19pbmZvID0geyAiUm9vdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsKQEAgLTk2NSw2ICsxMDQ5LDcgQEAgY29uc3QgQ2xhc3NJ
bmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9IHsgIgogI2VuZGlmCiBjb25zdCBDbGFzc0luZm8gRE9N
SklUR2V0dGVyOjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXIiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlcikgfTsKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRHZXR0ZXJDb21wbGV4OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJD
b21wbGV4IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShET01KSVRHZXR0ZXJDb21wbGV4KSB9OworY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRl
ckJhc2VKU09iamVjdDo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRH
ZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAjaWYgRU5BQkxFKEpJVCkKIGNvbnN0IENsYXNzSW5mbyBE
T01KSVRGdW5jdGlvbk9iamVjdDo6c19pbmZvID0geyAiRE9NSklURnVuY3Rpb25PYmplY3QiLCAm
QmFzZTo6c19pbmZvLCBudWxscHRyLCAmRE9NSklURnVuY3Rpb25PYmplY3Q6OmNoZWNrU3ViQ2xh
c3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEZ1bmN0aW9uT2JqZWN0KSB9Owog
I2Vsc2UKQEAgLTExNDQsNiArMTIyOSw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
Q3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklURnVuY3Rpb25PYmpl
Y3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5j
dGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QoRXhlY1N0YXRlKik7CitzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJh
c2VKU09iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbihFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0KEV4ZWNTdGF0ZSop
Owogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVH
ZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqKTsKQEAgLTE0NjIsNiArMTU0OCw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2Jq
ZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAg
ICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9u
Q3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwg
ImNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENo
ZWNrU3ViQ2xhc3NPYmplY3QsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVu
Y3Rpb25DcmVhdGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVH
bG9iYWxPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFk
ZEZ1bmN0aW9uKHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVy
ZUdldHRlckRlbGVnYXRlLCAyKTsKQEAgLTIxOTgsNiArMjI4NSwxNiBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShy
ZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRl
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0g
PSBleGVjLT52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKyAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZt
LCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGpzTnVsbCgpKTsKKyAgICBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QqIHJlc3VsdCA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRl
KHZtLCBzdHJ1Y3R1cmUpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKK30K
KworCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVy
RGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTgxMCw2ICs4MTAsNyBAQAogCQk0NDQzQUUzMzE2RTE4OEQ5
MDA3NkYxMTAgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwRUI2MTA1Qzg2QzZCMDBFNkRGMUIgLyogRm91
bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTQ1MTUzOUI5MTJEQzk5NDUwMEVGN0FDNCAvKiBZ
YXJyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTE1
MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ3M0RBNEE0NzY0QzQ1RkU4NzFCMDQ4NSAvKiBEZWZp
bmVQcm9wZXJ0eUF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE2OTk0OEVERTY4RDQwNTRCMDFFRjc5NyAvKiBEZWZpbmVQcm9wZXJ0eUF0
dHJpYnV0ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyMTEzMUY2MUY4
MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUyMTMyMjQ2MUVDQkNFODIwMEY2NTYx
NSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTIxMzIyNDQxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2Vt
Ymx5RnVuY3Rpb25CYXNlLmggKi87IH07CiAJCTUyNTBEMkQyMUU4REEwNUEwMDI5QTkzMiAvKiBX
YXNtVGh1bmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MjUwRDJEMDFFOERBMDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUyNUMwRERBMUU5MzU4NDcwMDIx
ODRDRCAvKiBXYXNtQ2FsbGVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MjVDMEREODFFOTM1ODQ3MDAyMTg0Q0QgLyogV2FzbUNhbGxlZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMTIxLDYgKzMx
MjIsOCBAQAogCQk0Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNj
ZXNzQ2FzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjBFQjYxMDVD
ODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0g
Rm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9G
b3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJNTFG
MEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsg
bmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3Vy
Y2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk1MjExMzFGNTFGODJCRjExMDA3Q0NFRUUgLyog
UG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUG9seVByb3RvQWNj
ZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjExMzFGNjFGODJC
RjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9s
eVByb3RvQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIxMzIy
NDMxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNw
cDsgcGF0aCA9IGpzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTIxMzIyNDQxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVu
Y3Rpb25CYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkFzc2VtYmx5
RnVuY3Rpb25CYXNlLmg7IHBhdGggPSBqcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjUwRDJDRjFFOERBMDVBMDAyOUE5MzIgLyogV2Fz
bVRodW5rcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNtVGh1
bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTczNTYsNiArNzM1OSw4IEBA
CiAJCQkJOTY5QTA3OTUwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5oICovLAogCQkJCTBGMkJE
QzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICovLAogCQkJCUE3MDQ0N0U5MTdBMEJE
NDYwMEY1ODk4RSAvKiBPcGVyYW5kc0lubGluZXMuaCAqLywKKwkJCQk1MjExMzFGNTFGODJCRjEx
MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTUyMTEzMUY2MUY4
MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oICovLAogCQkJCTBGRjlDRTcx
MUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5jcHAgKi8sCiAJCQkJMEZGOUNF
NzIxQjlDRDZEMDAwNEVEQ0E2IC8qIFBvbHltb3JwaGljQWNjZXNzLmggKi8sCiAJCQkJMEY5ODIw
NUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgKi8sCkBAIC04MTk1
LDYgKzgyMDAsNyBAQAogCQkJCUE3OTg2RDU3MTdBMEJCMUUwMEE5NUREMCAvKiBERkdFZGdlVXNl
c1N0cnVjdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4RjE0MzQxQURGMDkwMTAwRUQ3OTJD
IC8qIERGR0Vwb2NoLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJDMEFFODE0OTZDN0M3MDBENEZC
REQgLyogREZHRXhpdFByb2ZpbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUyMTEzMUY3MUY4MkJG
MTQwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc4QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTdCRkYzQzAxNzk4Njg5NDAwMDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1
bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OEE5Nzc3MTc5NzM4QjgwMDlERjc0NCAvKiBERkdG
aW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BS
T1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBTeW1ib2xJbXBs
OjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC4k
dm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbEltcGw6OlN0YXRpY1N5
bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC5fX3By
b3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAvLyBuYW1lc3BhY2Ug
U3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9Q
CiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4dGVybiBTeW1ib2xJ
bXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogfQogCiAj
ZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFtZSkgbV9wcml2YXRl
VG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCksICZtXyMjbmFtZSk7
CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JVSUxUSU5fU1lN
Qk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZy
b21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2
YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoSWRlbnRp
Zmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjp1bmRl
cnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJ
TFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAg
ICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUo
SU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2ICsyNDAsOCBAQCBw
dWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExf
S05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKQog
ICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVByaXZhdGVOYW1lLmlt
cGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRk
KG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFtZSk7CisgICAgICAg
IG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lLmlt
cGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOworICAgICAgICBtX3B1
YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90by5p
bXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9CiAKICAgICBjb25z
dCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7
CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUND
RVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1YmxpY05hbWUoKSBj
b25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1Qcml2YXRl
TmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOyB9CiAK
IHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKQEAgLTI1OCw2ICsy
NjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNI
X1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQogICAgIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIg
bV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX3VuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJlcEhhc2g+IEJ1aWx0
aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1ByaXZhdGVNYXA7CiAg
ICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNlIEFjY2Vzc0Nhc2VJbnRlcm5h
bCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUFjY2Vzc0Nhc2U6
OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChv
ZmZzZXQpCisgICAgLCBtX3BvbHlQcm90b0FjY2Vzc0NoYWluKFdURk1vdmUocHJvdG90eXBlQWNj
ZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0
cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25T
ZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgSW5IaXQ6
CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQXJyYXlMZW5ndGg6
CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJlY3RBcmd1bWVudHNMZW5ndGg6
CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBNb2R1bGVOYW1lc3Bh
Y2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3
IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNz
Q2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLCBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3RydWN0dXJlID09IG5ld1N0cnVj
dHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
IAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0
KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIEFjY2Vzc0Nhc2U6On5B
Y2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+
IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiByZXN1bHQ7CiAK
ICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3Bl
cnR5V2F0Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3BvbHlQcm90b0FjY2Vzc0NoYWluICYmIG1f
cG9seVByb3RvQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkpCiAg
ICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2ludFNldEZvckltcHVyZVByb3Bl
cnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgpKQpAQCAtMTUxLDYgKzE1NSw5
IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sKICAgICBpZiAodmlh
UHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fcG9seVByb3RvQWNj
ZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7
CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIxMCw2
ICsyMTcsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogICAg
ICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkgPT0gb3RoZXJDYXNl
Lm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBkZWZhdWx0OgorICAgICAgICBp
ZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgaWYgKCFv
dGhlci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hlY2sgd2UgbmVlZCBzaW5jZSBQ
b2x5UHJvdG9BY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAg
ICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWluIG9ubHkgdGhlIHByb3RvdHlw
ZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAgICAgICAgICAgLy8gdGhpcyB0
byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJl
KCkgPT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAgICAmJiAqbV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbiA9PSAqb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbjsKKyAgICAgICAgfQor
CiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAhb3RoZXIuZ3VhcmRl
ZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjE5
LDIyICsyMzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2Vzcwog
CiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBv
dXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwgbV90eXBlLCAiOigi
KTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmludChjb21tYSwgbV9z
dGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAgICAgIG91dC5wcmlu
dChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAi
LCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYgKG1fc3RydWN0dXJl
KQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcCht
X3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQobV9vZmZzZXQpKQog
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNldCk7CiAgICAgaWYg
KCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgImNv
bmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNo
YWluID0gIik7CisgICAgICAgIG1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmR1bXAoc3RydWN0dXJl
KCksIG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9u
KQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1
bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7Cisg
ICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9
CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAg
LTI0Myw2ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25z
dAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUu
Z2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcG9seVByb3RvQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcG9seVByb3Rv
QWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQo
c3RydWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAg
ICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDQsMTEgQEAg
Ym9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVj
dHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9y
KTsKIAorICAgIGlmIChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jaGFpbigpKQorICAg
ICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAg
fQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAg
IGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgp
KSkKQEAgLTM3MiwyNiArNDA4LDY0IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3Vh
cmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewot
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFu
Y2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQu
bG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zm
c2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAot
ICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFIgPSBzdGF0
ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFzZUdQUiwgYmFzZUZv
ckFjY2Vzc0dQUik7CisgICAgICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5mb3JFYWNo
KHN0cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIGF0RW5kKSB7Cisg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBq
aXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgaWYgKGF0RW5k
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09IE1pc3MgfHwgbV90eXBlID09
IEluTWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgc3RydWN0dXJlLT5oYXNQb2x5UHJv
dG8oKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGEgTWlzcy9Jbk1pc3MvVHJh
bnNpdGlvbiwgd2UgbXVzdCBlbnN1cmUgd2UncmUgYXQgdGhlIGVuZCB3aGVuIHRoZSBsYXN0IGl0
ZW0gaXMgcG9seSBwcm90by4KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyYW5zaXRpb25z
IG11c3QgZG8gdGhpcyBiZWNhdXNlIHRoZXkgbmVlZCB0byB2ZXJpZnkgdGhlcmUgaXNuJ3QgYSBz
ZXR0ZXIgaW4gdGhlIGNoYWluLgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWlzcy9Jbk1p
c3MgbmVlZCB0byBkbyB0aGlzIHRvIGVuc3VyZSB0aGVyZSBpc24ndCBhIG5ldyBpdGVtIGF0IHRo
ZSBlbmQgb2YgdGhlIGNoYWluIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhcyB0
aGUgcHJvcGVydHkuCisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNl
KG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFz
ZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JM
b29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0KHByb3RvdHlw
ZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3Qo
KSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlwZS4gV2UgdXNlIHBy
b3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0
UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6
OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1
ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
LSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQ
cm94eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1By
b3h5VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6
QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwor
CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAg
ICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRk
cmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhi
YXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBi
cmVhazsKICAgICB9IH07CkBAIC00MjgsNiArNTAyLDggQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZUltcGwoQWNjZXNzR2VuZQogICAgIEFTU0VSVChtX2NvbmRpdGlvblNldC5zdHJ1Y3R1cmVz
RW5zdXJlVmFsaWRpdHlBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKTsKIAogICAg
IGZvciAoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IG1fY29uZGl0
aW9uU2V0KSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
KTsKKwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbmRpdGlvbi5vYmplY3QoKS0+
c3RydWN0dXJlKCk7CiAKICAgICAgICAgaWYgKGNvbmRpdGlvbi5pc1dhdGNoYWJsZUFzc3VtaW5n
SW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpIHsKQEAgLTUwNCwxMyArNTgwLDE5IEBAIHZvaWQg
QWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JH
ZXRHUFIgPSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAg
ICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1v
dmUoCi0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0
ZUJhc2UoKSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7CisgICAgICAgIGlmIChtX3Bv
bHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzbid0IHByZXR0eSwg
YnV0IHdlIGtub3cgd2UgZ290IGhlcmUgdmlhIGdlbmVyYXRlV2l0aEd1YXJkLAorICAgICAgICAg
ICAgLy8gYW5kIGl0IGxlZnQgdGhlIGJhc2VGb3JBY2Nlc3MgaW5zaWRlIHNjcmF0Y2hHUFIuIFdl
IGNvdWxkIHJlLWRlcml2ZSB0aGUgYmFzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBpdCdkIHJlcXVp
cmUgZW1pdHRpbmcgdGhlIHNhbWUgY29kZSB0byBsb2FkIHRoZSBiYXNlIHR3aWNlLgogICAgICAg
ICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAg
ICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAg
ICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAg
fQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAg
ICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFj
Y2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0g
Q3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKQEAgLTEwMTYsNyArMTA5OCw3IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgCiAgICAgY2FzZSBJbnRyaW5z
aWNHZXR0ZXI6IHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQo
KSkpOwotICAgICAgICAKKwogICAgICAgICAvLyBXZSBuZWVkIHRvIGVuc3VyZSB0aGUgZ2V0dGVy
IHZhbHVlIGRvZXMgbm90IG1vdmUgZnJvbSB1bmRlciB1cy4gTm90ZSB0aGF0IEdldHRlclNldHRl
cnMKICAgICAgICAgLy8gYXJlIGltbXV0YWJsZSBzbyB3ZSBqdXN0IG5lZWQgdG8gd2F0Y2ggdGhl
IHByb3BlcnR5IG5vdCBhbnkgdmFsdWUgaW5zaWRlIGl0LgogICAgICAgICBTdHJ1Y3R1cmUqIGN1
cnJTdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNz
Q2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2lu
Y2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQuaCIKKyNpbmNsdWRlICJQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUg
PHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xMjAsMTEgKzEyMSwx
MSBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCA9IGludmFsaWRPZmZzZXQsCi0gICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgp
KTsKKyAgICAgICAgU3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksIHN0ZDo6dW5pcXVlX3B0
cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIC8vIFRoaXMgY3JlYXRl
IG1ldGhvZCBzaG91bGQgYmUgdXNlZCBmb3IgdHJhbnNpdGlvbnMuCiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0
eU9mZnNldCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsCi0gICAgICAgIFN0cnVjdHVyZSogbmV3
U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPik7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IGZyb21TdHJ1Y3R1cmVTdHViSW5mbyhWTSYsIEpTQ2VsbCogb3duZXIsIFN0cnVjdHVyZVN0dWJJ
bmZvJik7CiAKQEAgLTE4Niw5ICsxODcsMjUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNj
ZXNzQ2FzZSgpOwogCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhIW1fcG9seVByb3RvQWNjZXNzQ2hhaW47CisgICAgfQorCiBwcm90ZWN0ZWQ6
Ci0gICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOwot
ICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKKyAgICBBY2Nlc3ND
YXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVj
dHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRy
PFBvbHlQcm90b0FjY2Vzc0NoYWluPik7CisgICAgQWNjZXNzQ2FzZShBY2Nlc3NDYXNlJiYpID0g
ZGVmYXVsdDsKKyAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmIG90aGVyKQorICAgICAg
ICA6IG1fdHlwZShvdGhlci5tX3R5cGUpCisgICAgICAgICwgbV9zdGF0ZShvdGhlci5tX3N0YXRl
KQorICAgICAgICAsIG1fb2Zmc2V0KG90aGVyLm1fb2Zmc2V0KQorICAgICAgICAsIG1fc3RydWN0
dXJlKG90aGVyLm1fc3RydWN0dXJlKQorICAgICAgICAsIG1fY29uZGl0aW9uU2V0KG90aGVyLm1f
Y29uZGl0aW9uU2V0KQorICAgIHsKKyAgICAgICAgaWYgKG90aGVyLm1fcG9seVByb3RvQWNjZXNz
Q2hhaW4pCisgICAgICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWluID0gb3RoZXIubV9wb2x5
UHJvdG9BY2Nlc3NDaGFpbi0+Y2xvbmUoKTsKKyAgICB9CisKICAgICBBY2Nlc3NDYXNlJiBvcGVy
YXRvcj0oY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgp
IHsgbV9zdGF0ZSA9IFByaW1vcmRpYWw7IH0KIApAQCAtMjI3LDYgKzI0NCw4IEBAIHByaXZhdGU6
CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNyArNTkzLDcg
QEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAg
aW50IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBwY1tvcExlbmd0aCAtIDJdLnUub3BlcmFuZDsK
IAogICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zW2kgKyBvcExlbmd0aCAtIDFdID0gb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGU7Ci0gICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5p
dGlhbGl6ZSh2bSwKKyAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFs
aXplUHJvZmlsZSh2bSwKICAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC5nZXQoKSwgdGhp
cywgbV9nbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpLCBpbmZlcnJlZElubGluZUNhcGFj
aXR5KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3Mg
PSBsaXN0LT5hdChsaXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgp
KQogICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRy
dWUpOworCisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0
dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIs
MTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNv
bnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJh
c2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3Vz
dG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90
eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5
QmVOdWxsKHZtLCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwKLSAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9u
PiBkb21BdHRyaWJ1dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94
eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRp
b25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIHN0ZDo6dW5pcXVlX3B0
cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dp
dGNoICh0eXBlKSB7CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02MywxOCArNjMsMTggQEAgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBjdXN0b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNl
dCwgY3VzdG9tU2xvdEJhc2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAg
cmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3Vz
dG9tQWNjZXNzb3IuZ2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJl
c3VsdCk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCi0gICAgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyLAorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4sIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1
c3RvbVNldHRlciwKICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJU
KHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBD
dXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0
b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
PiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJh
c2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5tX2N1c3Rv
bUFjY2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1
bHQpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OCwxNiArNDgsMTIgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCi0gICAgICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCks
Ci0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0
ciwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6
bnVsbG9wdCk7CisgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmMsCisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRp
b25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPik7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNy
ZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFN0cnVjdHVyZSosIFByb3BlcnR5
T2Zmc2V0LAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CisgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiwKKyAgICAg
ICAgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLCBKU09iamVjdCogY3Vz
dG9tU2xvdEJhc2UgPSBudWxscHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0m
LCBDb21tYVByaW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTY3LDcgKzYzLDcgQEAgcHVibGlj
OgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21BY2Nl
c3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZN
JiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQs
IFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIEdldHRl
clNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSYpOwogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2LDExIEBAIHByaXZhdGU6CiBp
bmxpbmUgU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGU6OmNyZWF0
ZUFsbG9jYXRpb25TdHJ1Y3R1cmVGcm9tQmFzZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIFN0cnVjdHVyZSog
YmFzZVN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQoIW1fc3RydWN0dXJlIHx8IG1fc3RydWN0dXJl
LmdldCgpLT5jbGFzc0luZm8oKSAhPSBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSk7CisgICAg
QVNTRVJUKGJhc2VTdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKTsKIAogICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBl
cyBmb3Igc3ViY2xhc3NlcyBvZiBidWlsdGluIHR5cGVzOgorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICBpZiAocHJvdG90eXBlID09IGJh
c2VTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKQogICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNl
U3RydWN0dXJlOwogICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogbmFt
ZXNwYWNlIEpTQyB7CiAKIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OkludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbikKLSAgICA6IEJhc2Uo
dm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQpCisgICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBudWxscHRyKQogewogICAgIG1faW50cmluc2ljRnVuY3Rpb24u
c2V0KHZtLCBvd25lciwgaW50cmluc2ljRnVuY3Rpb24pOwogfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjYW5FbWl0SW50cmluc2ljR2V0dGVyKEpT
RnVuY3Rpb24qLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGVtaXRJbnRyaW5zaWNHZXR0ZXIoQWNj
ZXNzR2VuZXJhdGlvblN0YXRlJik7CiAKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHdvcmsgd2l0
aCBwb2x5IHByb3RvOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzczMTgKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0
ZShWTSYsIEpTQ2VsbCosIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKTsKIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9N
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogTW9kdWxl
TmFtZXNwYWNlQWNjZXNzQ2FzZTo6TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBtb2R1bGVOYW1lc3BhY2VPYmpl
Y3QsIEpTTW9kdWxlRW52aXJvbm1lbnQqIG1vZHVsZUVudmlyb25tZW50LCBTY29wZU9mZnNldCBz
Y29wZU9mZnNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBp
bnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpKQorICAg
IDogQmFzZSh2bSwgb3duZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51
bGxwdHIsIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksIG51bGxwdHIpCiAgICAgLCBtX3Nj
b3BlT2Zmc2V0KHNjb3BlT2Zmc2V0KQogewogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNl
dCh2bSwgb3duZXIsIG1vZHVsZU5hbWVzcGFjZU9iamVjdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2lu
Y2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCitu
YW1lc3BhY2UgSlNDIHsKKwordm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6
ZVByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93
bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5
LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsK
KyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkp
OworCisgICAgLy8gRklYTUU6IFdoZW4gZ29pbmcgcG9seSBwcm90bywgd2Ugc2hvdWxkIG1ha2Ug
YW4gYWxsb2NhdG9yIGFuZCB0ZWFjaAorICAgIC8vIGNyZWF0ZV90aGlzJyBmYXN0IHBhdGggaG93
IHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QuCisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBm
YWxzZTsKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBudWxscHRyOworICAg
IGlmIChjb25zdHJ1Y3RvcikgeworICAgICAgICBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpz
RXhlY3V0YWJsZSgpOworCisgICAgICAgIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIGlm
IChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSB0
cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpc1BvbHlQcm90byA9IGV4ZWN1dGFibGUt
PmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKS5oYXNCZWVuSW52YWxpZGF0ZWQoKSAmJiBleGVj
dXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKworICAg
ICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpKSB7CisgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBG
aW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsK
KyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFj
aXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRp
YyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURl
ZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAg
ICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBw
ZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9
IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFy
ZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAg
ICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9y
IGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykg
eworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0
ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
KTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQo
aW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisK
KyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6
ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5j
ZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2
YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xh
c3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0
b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVu
a25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlu
bGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5l
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAgIGlmIChpc1BvbHlQcm90bykgewor
ICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7CisgICAgICAgIG1fYWxs
b2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgZXhlY3V0YWJsZS0+c2V0Q2FjaGVkUG9seVByb3Rv
U3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChleGVj
dXRhYmxlKSB7CisgICAgICAgICAgICBleGVjdXRhYmxlLT5lbnN1cmVQb2x5UHJvdG9XYXRjaHBv
aW50KCk7CisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmVuc3VyZVJhcmVEYXRhKHZtKS0+c2V0U2hh
cmVkUG9seVByb3RvV2F0Y2hwb2ludChleGVjdXRhYmxlLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBv
aW50KCkpOworICAgICAgICB9CisKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7Cisg
ICAgfQorCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3Ry
dWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RGOjpzdG9yZVN0
b3JlRmVuY2UoKTsKKworICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7
CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYg
dm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7CisgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5
cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5
TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZh
dGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQ
cm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0
aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3Rv
ciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0
eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZl
Y3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5n
ZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rp
b25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQg
YXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9u
Kj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICsrY291bnQ7
CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAh
bV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1f
YWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VS
VCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6
OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5r
IHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgotICAgICAgICAgICAgaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90
b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAg
ICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0
aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRo
ZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIg
ZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0Zp
bmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3
ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAg
ICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICAgICAg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBh
Y2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkg
PCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5s
aW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAg
ICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwot
ICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9i
amVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxv
Y2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNp
emUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5l
IGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9j
YXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgp
IC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7Ci0gICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwotICAgICAgICAgICAgaWYgKGlubGluZUNh
cGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAg
ICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlw
ZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3Ro
ZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3Jl
YXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2Nh
dG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1
Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAg
fQorICAgIHZvaWQgaW5pdGlhbGl6ZVByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTQ2Vs
bCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRvciA9IDA7CisgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsKICAgICAg
ICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChpc051bGwoKSk7CkBAIC0x
MjUsMjggKzczLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLQotICAgIHVuc2lnbmVk
IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBl
KQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVj
dCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAg
IHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFt
ZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVT
eW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0
UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJh
dGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1l
VmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnBy
b3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3Bl
cnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9
IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0gICAg
ICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxl
dmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAgICAgICBpZiAoanNE
eW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0gICAgICAgIHJldHVy
biBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3Vu
dChWTSYsIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2VkQWxsb2NhdG9yKiBtX2Fs
bG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFzaWVyIGZvciBnZW5lcmF0
ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjA0LDExICsyMDQsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24g
Z2VuZXJhdGVDb25kaXRpbwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0
eUNvbmRpdGlvbjo6QWJzZW5jZTogeworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJv
dG8oKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAg
ICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgKICAgICAgICAg
ICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVy
dHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAoc3RydWN0dXJl
LT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5j
ZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0
LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsK
QEAgLTI1OCw2ICsyNjIsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVD
b25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5c
biIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZh
bGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8o
KSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEludGVncmF0ZSB0aGlzIHdpdGggUG9seVByb3Rv
QWNjZXNzQ2hhaW46CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICAvLyBPciBhdCBsZWFzdCBhbGxvdyBPUEMg
c2V0IGdlbmVyYXRpb24gd2hlbiB0aGUKKyAgICAgICAgICAgIC8vIGJhc2UgaXMgbm90IHBvbHkg
cHJvdG86CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3NzIxCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1
ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CiAgICAgICAg
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0No
YWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eVByb3RvQWNjZXNzQ2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBvbHlQcm90b0FjY2Vzc0NoYWlu
LmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RkOjp1
bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3Jl
YXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJv
cGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTT2JqZWN0KiB0
YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisgICAg
cmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3QsIGJhc2UsIHRhcmdldCwgdXNlc1BvbHlQcm90byk7
Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gUG9seVByb3RvQWNj
ZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJh
c2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxs
KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIGJvb2wg
Zm91bmQgPSBmYWxzZTsKKworICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKworICAgIHN0ZDo6
dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcmVzdWx0KG5ldyBQb2x5UHJvdG9BY2Nl
c3NDaGFpbigpKTsKKworICAgIGZvciAodW5zaWduZWQgaXRlcmF0aW9uTnVtYmVyID0gMDsgdHJ1
ZTsgKytpdGVyYXRpb25OdW1iZXIpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBj
dXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmICghc3RydWN0dXJlLT5wcm9wZXJ0
eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1
Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFRv
IHNhdmUgbWVtb3J5LCB3ZSBkb24ndCBpbmNsdWRlIHRoZSBiYXNlIGluIHRoZSBjaGFpbi4gV2Ug
bGV0CisgICAgICAgIC8vIEFjY2Vzc0Nhc2UgcHJvdmlkZSB0aGUgYmFzZSB0byB1cyBhcyBuZWVk
ZWQuCisgICAgICAgIGlmIChpdGVyYXRpb25OdW1iZXIpCisgICAgICAgICAgICByZXN1bHQtPm1f
Y2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGN1cnJlbnQgPT0gYmFzZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFy
Z2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQg
dG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHBy
b3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAg
Ly8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhl
biB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90
byB8PSBzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50
KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAo
IWZvdW5kICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK2Jvb2wgUG9seVByb3RvQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9w
ZXJ0eVdhdGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
OiBtX2NoYWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdh
dGNocG9pbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgUG9seVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3Qg
UG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWlu
ID09IG90aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUG9seVByb3RvQWNjZXNzQ2hhaW46OmR1bXAo
U3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAg
IG91dC5wcmludCgiUG9seVBvbHlQcm90b0FjY2Vzc0NoYWluOiBbXG4iKTsKKyAgICBmb3JFYWNo
KGJhc2VTdHJ1Y3R1cmUsIFsmXSAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wpIHsKKyAgICAg
ICAgb3V0LnByaW50KCJcdCIpOworICAgICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICAg
ICAgb3V0LnByaW50KCJcbiIpOworICAgIH0pOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNj
ZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmpl
Y3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVy
ZTsKKworY2xhc3MgUG9seVByb3RvQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbHlQcm90b0FjY2Vzc0NoYWluKTsK
KworcHVibGljOgorICAgIFBvbHlQcm90b0FjY2Vzc0NoYWluKFBvbHlQcm90b0FjY2Vzc0NoYWlu
JikgPSBkZWZhdWx0OworCisgICAgLy8gUmV0dXJucyBudWxscHRyIHdoZW4gaW52YWxpZC4KKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBjcmVhdGUoSlNH
bG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYsIGJvb2wmIHVz
ZXNQb2x5UHJvdG8pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNz
Q2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRh
cmdldCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
dW5pcXVlPFBvbHlQcm90b0FjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3Qg
VmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKwor
ICAgIHZvaWQgZHVtcChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0OworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBvbHlQcm90b0FjY2Vzc0NoYWlu
JiBvdGhlcikgY29uc3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFBvbHlQcm90b0FjY2Vz
c0NoYWluJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90
aGVyKTsKKyAgICB9CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBj
b25zdDsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9yRWFjaChT
dHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0CisgICAgewor
ICAgICAgICBib29sIGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5jKGJhc2VT
dHJ1Y3R1cmUsIGF0RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hh
aW4uc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9jaGFpbi5z
aXplKCk7CisgICAgICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAgICAgfQor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBQb2x5UHJvdG9BY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsK
KworICAgIC8vIFRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBvbiBBY2Nl
c3NDYXNlIHByb3ZpZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisgICAgLy8g
c3RydWN0dXJlIGlzIHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3aXRoLgor
ICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCwyNCBAQCBBY2Nl
c3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKGNhc2VzVG9BZGQu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6TWFkZU5v
Q2hhbmdlczsKIAorICAgIGJvb2wgc2hvdWxkUmVzZXQgPSBmYWxzZTsKKyAgICBmb3IgKGF1dG8m
IGNhc2VUb0FkZCA6IGNhc2VzVG9BZGQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBleGlzdGluZ0Nh
c2UgOiBtX2xpc3QpIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9IGNhc2VUb0FkZC0+c3Ry
dWN0dXJlKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBleGlzdGluZ0Nhc2UtPnN0cnVj
dHVyZSgpOworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVBy
b3RvKGEsIGIpKSB7CisgICAgICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGhpcyB3aWxsIGRl
c3Ryb3kgb3Vyc2VsdmVzIGlmIHdlIHN0YXJ0IHdhdGNoaW5nIGZvciB0aGVzZT8gSWYgc28sIGhh
dmUgYSB3YXkgdG8gY29sbGVjdCwgYW5kIGZpcmUKKyAgICAgICAgICAgICAgICAvLyB0aGVtIGlu
IGRlbGF5ZWQgZmFzaGlvbi4KKyAgICAgICAgICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+
c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQoKSk7CisgICAgICAgICAgICAgICAgc2hvdWxkUmVz
ZXQgfD0gYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5oYXNCZWVu
SW52YWxpZGF0ZWQoKTsgLy8gV2Ugb25seSByZXNldCBpZiB0aGlzIGlzIG91ciBmaXJzdCB0aW1l
IGludmFsaWRhdGluZyB0aGlzIHdhdGNocG9pbnQuCisgICAgICAgICAgICAgICAgYS0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdG
aXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzaG91bGRSZXNldCkKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkNsZWFyU3R1YjsKKwogICAgIC8vIE5vdyBh
ZGQgdGhpbmdzIHRvIHRoZSBuZXcgbGlzdC4gTm90ZSB0aGF0IGF0IHRoaXMgcG9pbnQsIHdlIHdp
bGwgc3RpbGwgaGF2ZSBvbGQgY2FzZXMgdGhhdAogICAgIC8vIG1heSBiZSByZXBsYWNlZCBieSB0
aGUgbmV3IG9uZXMuIFRoYXQncyBmaW5lLiBXZSB3aWxsIHNvcnQgdGhhdCBvdXQgd2hlbiB3ZSBy
ZWdlbmVyYXRlLgogICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgewpAQCAt
MzM5LDcgKzM1Nyw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MK
ICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0
YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7
CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NH
ZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAg
ICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsK
QEAgLTU5MCw2ICs2MDgsOSBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwg
QWNjCiAgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpHZW5lcmF0ZWRGaW5hbENvZGU6
CiAgICAgICAgIG91dC5wcmludCgiR2VuZXJhdGVkRmluYWxDb2RlIik7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkNsZWFyU3R1YjoKKyAgICAgICAg
b3V0LnByaW50KCJDbGVhclN0dWIiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjcx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoKICAgICAgICAgR2F2ZVVw
LAogICAgICAgICBCdWZmZXJlZCwKICAgICAgICAgR2VuZXJhdGVkTmV3Q29kZSwKLSAgICAgICAg
R2VuZXJhdGVkRmluYWxDb2RlIC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZl
ciB3YW50IHRvIGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAgICAgIEdlbmVyYXRlZEZpbmFsQ29k
ZSwgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJh
dGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgQ2xlYXJTdHViIC8vIFdlIGZvdW5kIG91dCBzb21lIGRh
dGEgdGhhdCBtYWtlcyB1cyB3YW50IHRvIHN0YXJ0IG92ZXIgZnJlc2ggd2l0aCB0aGlzIHN0dWIu
IEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIHdoZW4gd2UgZGV0ZWN0IHBvbHkgcHJvdG8uCiAgICAg
fTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0KCkKQEAgLTk4LDYgKzk5LDcgQEAg
cHVibGljOgogICAgIGJvb2wgYnVmZmVyZWQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQnVm
ZmVyZWQ7IH0KICAgICBib29sIGdlbmVyYXRlZE5ld0NvZGUoKSBjb25zdCB7IHJldHVybiBtX2tp
bmQgPT0gR2VuZXJhdGVkTmV3Q29kZTsgfQogICAgIGJvb2wgZ2VuZXJhdGVkRmluYWxDb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kID09IEdlbmVyYXRlZEZpbmFsQ29kZTsgfQorICAgIGJvb2wg
c2hvdWxkQ2xlYXJTdHViKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IENsZWFyU3R1YjsgfQog
ICAgIAogICAgIC8vIElmIHdlIGdhdmUgdXAgb24gdGhpcyBhdHRlbXB0IHRvIGdlbmVyYXRlIGNv
ZGUsIG9yIGlmIHdlIGdlbmVyYXRlZCB0aGUgImZpbmFsIiBjb2RlLCB0aGVuIHdlCiAgICAgLy8g
c2hvdWxkIGdpdmUgdXAgYWZ0ZXIgdGhpcy4KQEAgLTE3MSwxNCArMTczLDE2IEBAIHByaXZhdGU6
CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0
aW9uU3RhdGUoVk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwg
bV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lz
dGVyc0ZvckNhbGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRz
VG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxh
dGVkQ2FsbFNpdGVJbmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAg
IEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7
IG51bGxwdHIgfTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAg
ICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNl
ZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
cGVydHlDb25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNywxNCArMTA3LDMwIEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3Rp
bGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92
ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBz
aG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BD
IGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICB9CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+
Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIHRoZSBw
cm9wZXJ0eSBleGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJyZW50T2Zmc2V0LCAiXG4iKTsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKKworICAg
ICAgICBKU09iamVjdCogY3VycmVudFByb3RvdHlwZTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzTW9ub1Byb3RvKCkpCisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChiYXNlKTsKKyAgICAgICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVjdHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBl
RGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0g
cHJvdG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFs
Ojp2ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAg
ICAgIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvdG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCksICIgZXZlbiB0aG91Z2ggIgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMg
aXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAg
ICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMg
d29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8u
CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlw
ZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9z
ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vz
c0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5
YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3Rk
Ojp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikK
KyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJv
eHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0K
IAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09
IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOwor
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2
aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsK
IH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMg
QWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAg
dXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0K
IAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlND
ZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0g
ICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNj
ZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwg
Q29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+
KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3Mg
PSBsaXN0LT5hdChpKTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKKyAgICAgICAg
ICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBQ
dXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBQ
dXRCeUlkVmFyaWFudCB2YXJpYW50OwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTEgQEAgQWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3RydWN0dXJlU3R1
YkluZm9JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkhhZCBzdHViLCBy
ZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRDbGVh
clN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgp
KSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJu
YWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJDcmVhdGVkIHN0dWIsIHJlc3VsdDog
IiwgcmVzdWx0LCAiXG4iKTsKIAorICAgICAgICBpZiAocmVzdWx0LnNob3VsZENsZWFyU3R1Yigp
KSB7CisgICAgICAgICAgICByZXNldChjb2RlQmxvY2spOworICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAg
ICAgICAgICAgIGJ1ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc0NCw2ICszNzQ0
LDExIEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRo
ZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBw
cm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFy
ZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVT
ZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhh
dCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9Q
dXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93
LCBpZiB3ZSBoYXZlIGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3
aWxsCisgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUg
b25jZSB3ZSBoYXZlIGEgaHlicmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAg
IC8vIHBvbHkgcHJvdG86CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7
ICsraSkgewpAQCAtNDM0MSwxMiArNDM0NiwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAg
ICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEo
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVl
IGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAg
IGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNl
dChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRv
R3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1
cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFs
bG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFy
ZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxl
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5m
byhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RT
cHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0g
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVBy
b3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1
cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAg
IGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlw
ZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkKKyAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQog
ICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAg
IGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURh
dGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJl
LT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyOTIsNyArNDI5Miw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQ
dHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQu
bG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0
YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNs
b3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBh
bGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIs
IG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBz
Y3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJ
VENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0
YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JD
CiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5
cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVl
UmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0
Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5
cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJl
Z3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5
LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwog
ICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJs
ZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9B
c3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNo
UmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2Jq
ZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNl
dCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9h
ZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICAvLyBPT1BTOiAzMi1iaXQgaGVyZQorICAgIG1faml0LmxvYWQ2NChNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRD
b21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6
VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNS
ZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3Jh
dGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3Rh
bmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywg
cHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2Vs
bChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgx
LDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4K
ICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxk
MigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRo
aXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAg
ICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNj
cmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3Mo
KSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9h
ZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAg
ICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVn
LCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGls
ZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRj
aFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUu
bGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0
aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigp
OwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVn
IHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNj
cmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwog
ICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90
b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRj
aFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTks
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEo
Tm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJp
Y3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90
eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsK
KyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVS
ZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJS
ZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5z
dGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1MywxMiBAQCBwcml2
YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwot
ICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAg
ICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9u
b2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5NzQsMTYgKzg5NzYs
MjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1f
b3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0g
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAg
ICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1
ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1
ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJ
bmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVx
dWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAg
ICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNl
U2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShk
ZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBy
b3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhs
b2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1
cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5
cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUp
OworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVy
ZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
ZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1f
b3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byks
IHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9h
ZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1f
b3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7Cisg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAg
ICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55
TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5s
aW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOwor
CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNl
KTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRp
cmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3Rh
bmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9v
dXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJv
dG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2Yg
dGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAg
ICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhl
biBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3Ry
dWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhy
ZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9h
ZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJl
c3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0
byBoYXNNb25vUHJvdG8gPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7Cisg
ICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4
KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFn
ZSgpKSwgcmVnVDQpOworICAgIGhhc01vbm9Qcm90by5saW5rKHRoaXMpOworICAgIG1vdmUocmVn
VDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1Qy
LCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMp
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJv
dG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8v
IEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNl
dC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1c2VzUG9s
eVByb3RvKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgdXNlIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IGluc3RlYWQgZm9yIGZhc3RlciBhY2Nlc3Nlcy4KKyAgICAgICAgICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNv
ZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDog
c2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdl
dHRlciA9IG51bGxwdHI7CkBAIC0yOTMsMTMgKzMwNywxNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFBy
b3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9p
bnRTZXQoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0
dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIo
Z2V0dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vz
c0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOworICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFy
Z2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5F
bWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSAmJiAhcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsg
d2l0aCBwb2x5IHByb3RvLCBidXQgZm9yIG91ciBvd24gc2FuaXR5LCB3ZSBwcm9iYWJseQorICAg
ICAgICAgICAgLy8gd2FudCB0byBkbyBhIHBvaW50ZXIgY2hlY2sgb24gdGhlIGFjdHVhbCBnZXR0
ZXIuIEEgZ29vZCB0aW1lIHRvIG1ha2UgdGhpcyB3b3JrIHdvdWxkCisgICAgICAgICAgICAvLyBi
ZSB3aGVuIHdlIGNhbiBpbmhlcml0IGZyb20gYnVpbHRpbiB0eXBlcyBpbiBwb2x5IHByb3RvIGZh
c2hpb246CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzE4CiAgICAgICAgICAgICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBnZXR0ZXIpOwotICAgICAgICBlbHNlIHsKKyAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5z
ZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDog
QWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkp
OworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBB
Y2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXND
YWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2Fj
aGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAg
ICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDog
bnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0zODYsNiArNDA0LDcgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBuZXdDYXNlOworICAg
IEpTQ2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAKICAgICBpZiAoc2xvdC5i
YXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogICAgICAgICBp
ZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlTbG90OjpFeGlzdGluZ1Byb3BlcnR5KSB7CkBA
IC00MjksNDggKzQ0OCw4MyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRC
eUlECiAgICAgICAgICAgICBBU1NFUlQoIW5ld1N0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpOwog
ICAgICAgICAgICAgQVNTRVJUKG5ld1N0cnVjdHVyZS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAg
ICAKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCBjb25kaXRpb25TZXQ7CiAgICAgICAgICAgICBpZiAocHV0S2luZCA9PSBOb3REaXJlY3QpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1pc3MoCi0gICAgICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAg
ICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJ
dCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAg
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25k
aXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvcGVydHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVC
bG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAg
ICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNo
ZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxlU2V0dGVyKCkpIHsKICAgICAgICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQgY29uZGl0aW9uU2V0OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBv
bHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKIAogICAgICAgICAgICAg
aWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2Vz
UG9seVByb3RvOworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVBy
b3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VD
ZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFs
aWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3Nv
cigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0
b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0g
ICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNz
Q2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRl
ciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0g
YmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwotICAgICAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRp
dGlvbigpLm9mZnNldCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90
eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisKKyAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQob2Zmc2V0ID09IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9m
ZnNldCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0
LCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFjY2Vzc0Nh
c2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01MTcsMTUgKzU3MSwz
NSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUo
dm0pOwogICAgIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0
aW9uU2V0OwogICAgIGlmICh3YXNGb3VuZCkgewogICAgICAgICBpZiAoc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2UpIHsKLSAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9u
c0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hh
aW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFj
Y2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90
bykgeworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5
cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6
Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQ
cm90byk7CisgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
IC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgh
dXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxs
cHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIWNvbmRpdGlvblNl
dC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcgKzYw
Nyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgTE9HX0lD
KChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlkZW50
KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNl
OjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nh
c2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogCiAgICAgQWNj
ZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBzdHViSW5mby5hZGRBY2Nlc3NDYXNlKGxvY2tl
ciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShuZXdDYXNlKSk7CiAgICAgCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2NjcsMjQgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7CiAKKyAgICAgICAgeworICAgICAgICAgICAg
U3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOworICAgICAg
ICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAgICAgICAgICAgICAgYXV0byBvcGNvZGUg
PSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0pOworICAgICAgICAgICAgICAgIGlmIChv
cGNvZGUgPT0gb3BfZ2V0X2J5X2lkCisgICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBv
cF9nZXRfYnlfaWRfdW5zZXQKKyAgICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9wX2dl
dF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9
IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJl
KHZtKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0
VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52
YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1
bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZh
bHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxsLT5z
dHJ1Y3R1cmUoKTsKICAgICAgICAgaWYgKHNsb3QuaXNWYWx1ZSgpICYmIHNsb3Quc2xvdEJhc2Uo
KSA9PSBiYXNlVmFsdWUpIHsKQEAgLTczNyw2ICs3NTUsMjIgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAKKworICAgICAgICB7CisgICAgICAg
ICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJRCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7Cisg
ICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQpOwor
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKHZtKTsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlT
bG90OjpOZXdQcm9wZXJ0eSkKKyAgICAgICAgICAgICAgICAgICAgYiA9IGItPnByZXZpb3VzSUQo
KTsKKworICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQ
cm90byhhLCBiKSkgeworICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQ
b2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRl
dGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICBi
LT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0s
IFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8v
IFN0YXJ0IG91dCBieSBjbGVhcmluZyBvdXQgdGhlIG9sZCBjYWNoZS4KICAgICAgICAgcGNbNF0u
dS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xkIHN0cnVjdHVyZQogICAgICAgICBwY1s1XS51LnBv
aW50ZXIgPSBudWxscHRyOyAvLyBvZmZzZXQKQEAgLTc2MCwxNiArNzk0LDE3IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPm91dE9m
TGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNpdGlv
bldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7CiAKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52YWxp
ZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgc2F3UG9seVByb3Rv
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgYmFzZUNlbGwsIHNhd1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJv
dG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3Vz
SUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVj
dHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlkKCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJ
ZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5
cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10u
dS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51
LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFn
cyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxp
bmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVj
dCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZt
LCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICBy
ZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhl
Y1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwg
dWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1
ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2Fz
ZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3du
VG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25U
b0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0
aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9p
bmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0
aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxl
bmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRh
ICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsK
QEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFy
cmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYm
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAg
IGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBz
dG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwpAQCAtMTE3Niw3ICsxMTc1LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRz
KEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4
aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNl
LT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291
cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1
aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSog
YnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9y
YWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3Ro
KTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3Rv
ciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVy
IGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgo
dmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRB
cmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRo
YXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmpl
Y3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBt
YXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0
eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1
cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCAr
MTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9
IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFy
Z3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCgh
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZy
YW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRz
TW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElu
bGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFT
U0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpz
VmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9w
ZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVE
YXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3Ry
dWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCks
IGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9
IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2
Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVl
IHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRy
ZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3Ip
OwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFs
Q29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0
YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGFibGUuaCIKICNp
bmNsdWRlICJTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSA8d3RmL0JveC5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtMTcyLDYgKzE3MywxOCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwog
CiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3Npbmds
ZXRvbkZ1bmN0aW9uLmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciB0aGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3Ry
dWN0dXJlKiBjYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQ
cm90b1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0
dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CisKKyAgICBJbmxpbmVXYXRjaHBvaW50
U2V0JiBlbnN1cmVQb2x5UHJvdG9XYXRjaHBvaW50KCkKKyAgICB7CisgICAgICAgIGlmICghbV9w
b2x5UHJvdG9XYXRjaHBvaW50KQorICAgICAgICAgICAgbV9wb2x5UHJvdG9XYXRjaHBvaW50ID0g
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+OjpjcmVhdGUoSXNXYXRjaGVkKTsKKyAgICAgICAgcmV0
dXJuICptX3BvbHlQcm90b1dhdGNocG9pbnQ7CisgICAgfQorCisgICAgQm94PElubGluZVdhdGNo
cG9pbnRTZXQ+IHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3Bv
bHlQcm90b1dhdGNocG9pbnQ7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0
YWJsZUJhc2U7CkBAIC0xODksNiArMjAyLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8
RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxU
eXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVy
cmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CisgICAgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1
bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlv
blJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3Ry
dWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBn
bG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwg
dGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lk
IEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAg
ICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJ
bnRlcm5hbEZ1bmN0aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9u
OjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5l
d1RhcmdldCwgU3RydWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NF
UlQoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQo
bmV3VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VS
VChiYXNlQ2xhc3MtPmhhc01vbm9Qcm90bygpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUg
YW4gSW50ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3Ry
dWN0LgogICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1
bmN0aW9uKj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTczOCw3ICs3MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBl
CiAgICAgY2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6
IHsKICAgICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlO
X1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRF
WCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3
Myw3ICs3NzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAg
ICAgCiAgICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBp
biBhbiBhYm5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGlu
IEFycmF5UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAo
KHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAog
ICAgICAgICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBi
ZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQg
aGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdl
IHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVk
IGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewog
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7
CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSAr
IGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05
NDUsNyArOTQ1LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAog
ICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92
aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAg
Ly8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4g
aW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAt
IGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
ZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBA
QCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVj
dHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY0LDggKzY0LDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0m
IHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZl
IGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBh
bmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90
eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTky
Ci0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkK
LSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5n
U3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFz
c09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBi
dXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRl
eHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRl
eHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAg
ICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7
CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6
ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVj
dHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2Ug
aWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXN5bmNHZW5lcmF0b3JQcm90
b3R5cGUuaCIKICNpbmNsdWRlICJCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJDYXRjaFNjb3Bl
LmgiCiAjaW5jbHVkZSAiQ2xvbmVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgi
CiAjaW5jbHVkZSAiQ29tbW9uSWRlbnRpZmllcnMuaCIKQEAgLTEyNiwxNiArMTI3LDI0IEBAIEZ1
bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJl
RGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHNjb3BlLCAh
c2NvcGUuZXhjZXB0aW9uKCkpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAg
ICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rp
b246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90
IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0g
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7
Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+
b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEg
PSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhp
cyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byBy
ZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMg
aXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1OCw4IEBAIEZ1bmN0aW9uUmFyZURh
dGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFs
T2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xv
YmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzcxLDcg
KzM3Nyw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAg
ICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0
aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zm
c2V0KTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFtZSk7
CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wgdmFsdWUgaWYg
dGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNPYmplY3QqIHBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01h
cC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjpp
c0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxP
YmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBl
KCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJv
dG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5k
Tm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVT
ZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGds
b2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElu
bGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2Jq
LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1
dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRo
aXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8
fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRl
cmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9
IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0g
aW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5
KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9s
ZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVs
bCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBT
dHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0
ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2
LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQog
ewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNv
bnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVl
cyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcg
KzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBA
IC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGln
dW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0
VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3
LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAg
IHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
ICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJu
IGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcg
QEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3Jl
YXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIy
IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAg
ICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uo
dm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAg
QVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAg
QVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VP
VVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90
b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAg
ICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAg
IAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5
cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVj
dHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVj
dHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJl
KHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUp
OworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQ
cm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBp
ZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVy
ZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3Jk
aW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVm
YXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4g
YXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAg
ICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9
PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAv
LyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFu
ZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5
SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4
Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAg
ICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBj
cmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwg
aSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywg
dmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAt
MzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgo
RQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChF
eGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBW
TSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0g
dGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
KyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJy
ZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdl
dFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwor
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5n
ZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAg
ICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmlu
Z0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUu
aCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIK
KyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgog
I2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpA
QCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1Nl
YWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAg
IGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2
bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5z
aWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsK
ICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJp
dHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNO
dWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVj
dCgpKSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aGFzUG9seVByb3RvKCkgfHwgZ2V0
UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpo
ZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+
aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0x
Mjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0
CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAog
ewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJu
IHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVl
IEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAw
LDcgKzE0MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0
LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9w
ZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtl
IGl0J3MgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYg
KCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9w
ZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
OwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxl
LmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRo
b2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkp
Ci0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlw
ZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxz
ZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRO
b25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBp
ZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlw
ZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0g
UHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAg
ICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAg
cHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7
CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTks
NyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAg
IH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJv
cGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSkt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7Cisg
ICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJl
Y3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0
TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNzEyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5z
dHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVy
YXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAg
ICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlw
ZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9w
ZXJ0aWVzID0gMDsKQEAgLTEzMywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqIHByb3BlcnQKIAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJ
TlQzMl9NQVgpOwogCi0gICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbjsKKyAgICBib29sIHNhd1BvbHlQcm90bzsKKyAgICBib29sIHN1Y2Nlc3NmdWxseU5vcm1h
bGl6ZWRDaGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UsIHNhd1BvbHlQ
cm90bykgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgs
IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAg
IGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5
Tm9ybWFsaXplZENoYWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxs
eU5vcm1hbGl6ZWRDaGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgewor
ICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJl
LT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNh
bkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5z
ZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29s
IEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9
PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNT
ZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNh
bkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlz
U2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5n
ZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNv
bmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0g
ICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzYsMTkgKzEzNiwyNiBAQCBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSB2
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3NpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNDZWxsKiBiYXNlLCBi
b29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFsc2U7CisgICAgSlNDZWxs
KiBjdXJyZW50ID0gYmFzZTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gY2Fs
bEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAgd2hpbGUgKDEpIHsKKyAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBp
ZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3Rv
dHlwZUNoYWluOwotICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChjYWxsRnJhbWUpOworCisgICAgICAgIHNhd1BvbHlQcm90byB8PSBzdHJ1Y3R1cmUtPmhh
c1BvbHlQcm90bygpOworCisgICAgICAgIEpTVmFsdWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBl
Rm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVudCk7CiAgICAgICAgIGlmICh2LmlzTnVsbCgp
KQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwogCi0gICAgICAgIEpTQ2VsbCogYmFzZSA9IHYu
YXNDZWxsKCk7Ci0gICAgICAgIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CisgICAg
ICAgIGN1cnJlbnQgPSB2LmFzQ2VsbCgpOworICAgICAgICBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5z
dHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgewog
ICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQogICAg
ICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAyMjI3MTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM0LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJh
bWUqLAogSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNWYWx1ZSk7CiBib29sIGpzSXNPYmplY3RUeXBlT3JOdWxsKENhbGxGcmFtZSosIEpTVmFsdWUp
OwogYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUpOwotc2l6ZV90IG5vcm1hbGl6ZVByb3Rv
dHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSopOworc2l6ZV90IG5vcm1hbGl6ZVByb3Rv
dHlwZUNoYWluKENhbGxGcmFtZSosIEpTQ2VsbCosIGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFM
V0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcq
IHMxLCBKU1N0cmluZyogczIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9ucy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3ICs0NzEsOCBAQCB0eXBlZGVm
IGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNt
Q29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZhc3QgVExTIGlzIGVuYWJsZWQp
LCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElmIGZhbHNlLCB3ZSB3aWxsIHBp
biBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVzZUNhbGxJQ3NGb3JXZWJBc3Nl
bWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2UgQ2FsbExp
bmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxzLiIpIFwKICAgICB2KGJvb2ws
IHVzZU9iamVjdFJlc3RTcHJlYWQsIHRydWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgZW5h
YmxlIE9iamVjdCBSZXN0L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAgICB2KGJvb2wsIHVzZUFycmF5
QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ug
b3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYgZmFsc2UsIHRoZSBhbGxv
Y2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5kZWNpZGVkLiIpCisgICAg
dihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwgIklmIHRy
dWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxpbmcuIElm
IGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRvIGJlIHVu
ZGVjaWRlZC4iKVwKKyAgICB2KGJvb2wsIGZvcmNlUG9seVByb3RvLCBmYWxzZSwgTm9ybWFsLCAi
SWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEg
cG9seSBwcm90byBzdHJ1Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlvbkVxdWl2YWxlbmNlIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90
eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0LDM0IEBAIHZvaWQgUHJvdG90
eXBlTWFwOjphZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBl
LgogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0
dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4
aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoraW5saW5lIFN0
cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlw
ZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdU
eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJl
KQogewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHByb3RvdHlwZSwgaW5saW5lQ2Fw
YWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBSRUxFQVNFX0FTU0VSVCghIXBy
b3RvdHlwZSk7IC8vIFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUgSGFzaE1hcCBmb3IgcHJvdG90
eXBlIHRvIG1lYW4gcG9seSBwcm90bywgc28gdXNlcidzIG9mIHRoaXMgQVBJIG11c3QgcHJvdmlk
ZSBub24tbnVsbCBwcm90b3R5cGVzLgorCisgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUo
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0
dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAgIGlmIChtYWtlUG9seVByb3Rv
U3RydWN0dXJlKSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsKKyAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzTW9ub1By
b3RvKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJvdG90eXBlKSk7CiAgICAgICAg
IHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJvdG90eXBlKHByb3RvdHlwZSk7
Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKLSAgICAgICAg
Z2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNs
YXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICBWTSYgdm0gPSBn
bG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgaWYgKG1h
a2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0dXJlID0gU3RydWN0dXJlOjpj
cmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90bywgdm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNy
ZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8s
IGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfQogICAgIG1f
c3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3RydWN0dXJlKSk7CisKICAgICBy
ZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEgQEAgU3RydWN0dXJlKiBQcm90
b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdlIGN1cnJlbnRseSBkbyBub3Qg
aGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZvciBzdWJjbGFzc2VzIGFuZCBh
bGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUgYSBkZWZhdWx0IGlubGluZSBj
YXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUgPSBiYXNlU3RydWN0
dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3RvdHlwZS0+YW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVz
KGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9IChpbmRleGluZ1R5cGUgJiB+
SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlOwogCi0gICAgcmV0
dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3Ry
dWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdU
eXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAotU3RydWN0dXJlKiBQcm90b3R5
cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5
KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90
eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7Ci0g
ICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBK
U0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIEpTRmluYWxP
YmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByZXR1cm4g
Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTRmluYWxPYmpl
Y3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
OwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogb2JqZWN0LCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVjdHVyZXMucmVtb3ZlKHN0ZDo6
bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCks
IGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjptYWtlX3R1cGxl
KG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9i
amVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkod29ya2luZyBjb3B5KQpA
QCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgSlNfRVhQT1JU
X1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIEpT
X0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBi
b29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJl
KEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGNsZWFy
RW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVj
dCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBUcmlTdGF0ZSBpc1Byb3RvdHlw
ZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2VydmF0aXZlIGVzdGltYXRlLgog
CiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNz
SW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOworICAgIFN0cnVj
dHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwg
dW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7CiAK
ICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9wcm90b3R5cGVzOwogICAgIC8v
IEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlwZWRlZiBXZWFrR0NNYXA8c3Rk
Ojp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9i
amVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1c2luZyBTdHJ1Y3R1cmVNYXAg
PSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFzc0lu
Zm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAgIFN0cnVjdHVyZU1hcCBtX3N0
cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4OCw2ICsxODgsNyBAQCBT
dHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqCiAgICAgLCBtX2NsYXNzSW5m
byhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkK
ICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQog
ewogICAgIHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQ
aW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTIyMCw2ICsyMjEsNyBAQCBTdHJ1Y3R1cmU6
OlN0cnVjdHVyZShWTSYgdm0pCiAgICAgLCBtX2NsYXNzSW5mbyhpbmZvKCkpCiAgICAgLCBtX3Ry
YW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRP
ZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQogewogICAgIHNldERpY3Rpb25hcnlLaW5k
KE5vbmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNl
KTsKQEAgLTI0NywxMCArMjQ5LDExIEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgU3Ry
dWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQog
ICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxpbmVDYXBhY2l0eSkKICAgICAs
IG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3Rv
cmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwgdGhpcywgcHJldmlvdXMtPm1f
cHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJldmlvdXMtPm1fY2xhc3NJbmZv
KQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29m
ZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2gocHJldmlvdXMtPm1fcHJv
cGVydHlIYXNoKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKHByZXZpb3VzLT5kaWN0aW9uYXJ5
S2luZCgpKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjk2LDYg
KzI5OSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiAgICAgc3Rh
dGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6flN0cnVjdHVyZSgpOwogfQog
CitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90b1RhZywgVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBl
SW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUg
aW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sKKyAgICBTdHJ1Y3R1cmUq
IHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBj
bGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworCisgICAgdW5zaWduZWQg
b2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGluZUNhcGFjaXR5KCk7CisgICAg
cmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAorICAgICAgICB2bSwgdm0ucHJv
cGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksCisgICAg
ICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2VyJiwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7CisgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5KG5ld0xhc3RPZmZzZXQpID09
IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5s
aW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0LT5tX3Byb3RvdHlwZS5zZXQo
dm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPnNldExh
c3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOworCisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVzQW5kTWFwRm9yTWF0ZXJpYWxp
emF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJlcywgU3RydWN0dXJlKiYgc3Ry
dWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAgQVNTRVJUKHN0cnVjdHVyZXMu
aXNFbXB0eSgpKTsKQEAgLTM5OSwyNiArNDE5LDE0IEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjph
ZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlz
dGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJpYnV0ZXMsIG9mZnNldCk7CiB9
CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBmb3IgKGNvbnN0IFN0cnVj
dHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVy
Y2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgp
OwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0
cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0
aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYg
dm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0gdGhpcy0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5zdG9yZWRQ
cm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUp
OwpAQCAtNDI3LDcgKzQzNSw3IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Q
cm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAqb2JqZWN0LT5zdHJ1Y3R1cmUo
dm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMob2JqZWN0LT5pbmRleGluZ1R5
cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFByb3RvdHlw
ZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpA
QCAtNDM3LDIwICs0NDUsNiBAQCBib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5n
QUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Ci17Ci0gICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAKLSAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKLX0KLQogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNl
dCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gYWRkUHJvcGVydHlU
cmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgKQEAgLTU1Myw2ICs1NDcsOCBAQCBTdHJ1Y3R1
cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlUcmFuCiAKIFN0cnVjdHVyZSogU3RydWN0dXJl
OjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IEpTVmFsdWUgcHJvdG90eXBlKQogeworICAgIEFTU0VSVChwcm90b3R5cGUuaXNPYmplY3QoKSB8
fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAgICAgRGVmZXJHQyBkZWZlckdDKHZtLmhlYXApOwog
ICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKIApAQCAt
MTA2OCwxMSArMTA2NCw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNT
dHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5maXJlQWxsKCp2bSgpLCBTdHJ1
Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlw
ZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QKLXsKLSAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwotfQotCiB2b2lkIFN0
cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9y
KQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPihjZWxs
KTsKQEAgLTExMTAsNyArMTEwMSw3IEBAIGJvb2wgU3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0Mo
KQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTczMzQK
ICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBIZWFwOjppc01hcmtlZENvbmN1
cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAgICYmICghc3RvcmVkUHJvdG90
eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkoc3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKGhhc1BvbHlQcm90bygpIHx8ICFzdG9yZWRQcm90b3R5
cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVP
YmplY3QoKSkpOwogfQogCiBib29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCkBAIC0xMTIyLDQwICsxMTEzLDE5IEBAIGJvb2wgU3RydWN0dXJlOjptYXJrSWZD
aGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCi17Ci0gICAgaWYgKHBhcnNlSW5kZXgocHJvcGVydHlOYW1lKSkKLSAgICAg
ICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsK
LSAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAg
SlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAg
aWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7
Ci0gICAgICAgIAotICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwotICAgICAgICBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRl
cyk7Ci0gICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCi0gICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgCi0gICAgICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5
QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCi0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci19Ci0KLVJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBl
KEpTVmFsdWUgdmFsdWUpCitSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1
cmVTaGFwZShKU1ZhbHVlIHZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7CiAg
ICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBiYXNlU2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRl
KCk7CiAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBjdXJTaGFwZSA9IGJhc2VTaGFwZS5wdHIo
KTsKICAgICBTdHJ1Y3R1cmUqIGN1clN0cnVjdHVyZSA9IHRoaXM7CiAgICAgSlNWYWx1ZSBjdXJW
YWx1ZSA9IHZhbHVlOworICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlOwogICAgIHdo
aWxlIChjdXJTdHJ1Y3R1cmUpIHsKKyAgICAgICAgc2F3UG9seVByb3RvU3RydWN0dXJlIHw9IGN1
clN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7CiAgICAgICAgIGN1clN0cnVjdHVyZS0+Zm9yRWFj
aFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAgWyZdIChjb25zdCBQcm9wZXJ0eU1h
cEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAgICAgY3VyU2hhcGUtPmFkZFBy
b3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGlmICghUHJvcGVydHlOYW1lKGVu
dHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAgICAgICAgICAgICBjdXJTaGFwZS0+
YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTEzOSwyNCBAQCBSZWY8U3RydWN0dXJlU2hh
cGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAgY3VyU2hhcGUtPm1hcmtBc0ZpbmFs
KCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRl
KCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsK
LSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7Ci0gICAgICAgICAgICBj
dXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNP
YmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBpZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAg
ICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1Y3R1
cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5j
b3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3U2hhcGUpOworICAgICAg
ICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAgICAgY3VyU3RydWN0dXJlID0gcHJv
dG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAgICAgCiAgICAgcmV0dXJuIGJhc2VT
aGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0
dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNpdHkoKSA9PSBvdGhlci0+aW5s
aW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5cGUoKSA9PSBvdGhlci0+c3Rv
cmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCkgPT0g
b3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91dC5wcmludChSYXdQb2ludGVy
KHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAiLCB7Iik7CkBAIC0xMjAzLDcg
KzExNzEsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjCiAgICAg
CiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1wKGluZGV4aW5nVHlwZSgpKSk7
CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgpKQorICAgIGlmIChoYXNQ
b2x5UHJvdG8oKSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQcm90byBvZmZzZXQ6IiwgcG9s
eVByb3RvT2Zmc2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2VsbCgp
KQogICAgICAgICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9pbnRlcihtX3Byb3RvdHlwZS5n
ZXQoKS5hc0NlbGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9uYXJ5S2luZCgpKSB7CkBAIC0x
Mjg4LDkgKzEyNTgsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVt
CiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmdldCgpKQogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25h
cnkoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+
Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygpKQorICAgICAgICBp
ZiAoc3RydWN0dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkgfHwgc3RydWN0dXJlLT5nZXQoKS0+
dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIHN0cnVjdHVyZSsrOwogICAgIH0KQEAgLTEzMDksNCArMTI3Nyw1
MiBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQWNjZXNzUHJvcGVydGllc1F1aWNrCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKKy8vIE9PUFM6IGxldHMgaW5saW5lIHRoaXMgZnVuY3Rpb24uCitib29sIFN0
cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGNvbnN0IFN0cnVjdHVyZSogYSwgY29u
c3QgU3RydWN0dXJlKiBiKQoreworICAgIGlmICghYSB8fCAhYikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgaWYgKGEgPT0gYikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAvLyBXZSBvbmx5IGNhcmUgYWJvdXQgb2JqZWN0cyBjcmVhdGVkIHZpYSBh
IGNvbnN0cnVjdG9yJ3MgdG9fdGhpcy4gVGhlc2UKKyAgICAvLyBhbGwgaGF2ZSBTdHJ1Y3R1cmVz
IHdpdGggcmFyZSBkYXRhIGFuZCBhIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQuCisgICAgaWYg
KCFhLT5oYXNSYXJlRGF0YSgpIHx8ICFiLT5oYXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAvLyBXZSBvbmx5IGNhcmUgYWJvdXQgU3RydWN0dXJlJ3MgZ2VuZXJhdGVk
IGZyb20gZnVuY3Rpb25zIHRoYXQgc2hhcmUKKyAgICAvLyB0aGUgc2FtZSBleGVjdXRhYmxlLgor
ICAgIGNvbnN0IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiYgYUlubGluZVdhdGNocG9pbnRTZXQg
PSBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCk7CisgICAgY29uc3Qg
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBiSW5saW5lV2F0Y2hwb2ludFNldCA9IGItPnJhcmVE
YXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICBpZiAoYUlubGluZVdhdGNo
cG9pbnRTZXQuZ2V0KCkgIT0gYklubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkgfHwgIWFJbmxpbmVX
YXRjaHBvaW50U2V0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQVNTRVJUKGFJbmxpbmVX
YXRjaHBvaW50U2V0ICYmIGJJbmxpbmVXYXRjaHBvaW50U2V0ICYmIGFJbmxpbmVXYXRjaHBvaW50
U2V0LmdldCgpID09IGJJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpKTsKKworICAgIGlmIChhLT5o
YXNQb2x5UHJvdG8oKSB8fCBiLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgaWYgKGEtPnN0b3JlZFByb3RvdHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlwZSgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBWTSYgdm0gPSAqYS0+dm0oKTsKKyAgICBK
U09iamVjdCogYU9iaiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTT2JqZWN0
KiBiT2JqID0gYi0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgd2hpbGUgKGFPYmogJiYg
Yk9iaikgeworICAgICAgICBhID0gYU9iai0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgYiA9IGJP
YmotPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGIt
PnByb3BlcnR5SGFzaCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGFP
YmogPSBhLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoYU9iaik7CisgICAgICAgIGJPYmogPSBiLT5z
dG9yZWRQcm90b3R5cGVPYmplY3QoYk9iaik7CisgICAgfQorCisgICAgcmV0dXJuICFhT2JqICYm
ICFiT2JqOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI5LDcg
KzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3Ry
dWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90
byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
SlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5k
ZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAg
c3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZv
KiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7
CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3ICsxNDAsMTkgQEAgcHJvdGVjdGVkOgog
ICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQo
bV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBt
X3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVj
dCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1fcHJvdG90eXBlLmlzSW50MzIoKSk7Cisg
ICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIGNvbnN0IFN0cnVjdHVyZSog
cHJldmlvdXMpCisgICAgeworICAgICAgICB0aGlzLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAg
ICAgIGlmIChwcmV2aW91cy0+aGFzUmFyZURhdGEoKSkgeworICAgICAgICAgICAgY29uc3QgU3Ry
dWN0dXJlUmFyZURhdGEqIHByZXZpb3VzUmFyZURhdGEgPSBwcmV2aW91cy0+cmFyZURhdGEoKTsK
KyAgICAgICAgICAgIGlmIChwcmV2aW91c1JhcmVEYXRhLT5oYXNTaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KCkpIHsKKyAgICAgICAgICAgICAgICBlbnN1cmVSYXJlRGF0YSh2bSk7CisgICAgICAg
ICAgICAgICAgcmFyZURhdGEoKS0+c2V0U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludChwcmV2aW91
c1JhcmVEYXRhLT5jb3B5U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQogICAgIH0KIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBD
cmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsxODEsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNv
bmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3Ry
dWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNl
dCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYs
IFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKLSAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZN
JiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3Rv
dHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYXR0cmlidXRl
Q2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQg
YXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogdG9D
YWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIERlZmVycmVkU3Ry
dWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVy
ZSopOwpAQCAtMjA4LDcgKzIyMiw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiAh
dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgp
OwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgp
CiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlBY2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBA
IC0yNDAsMjYgKzI1NCw0MiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5
cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CiAgICAgfQog
ICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKLSAgICBib29sIGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAgICAKLSAgICBib29sIG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgICAgIAogICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQo
KTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1
cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywgc2luY2UgdGhlIGdsb2JhbAogICAgIC8v
IG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1lZCB0byBiZSBpbW11dGFibGUgaW4gYSBi
dW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldCh2bSwgdGhpcywgZ2xv
YmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1ZhbHVlIHN0b3JlZFByb3RvdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9CisKKyAgICBib29sIGhhc01vbm9Qcm90
bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fcHJvdG90eXBlLmdldCgpLmlzSW50
MzIoKTsKKyAgICB9CisgICAgYm9vbCBoYXNQb2x5UHJvdG8oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuICFoYXNNb25vUHJvdG8oKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90
b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzTW9ub1Byb3Rv
KCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7CisgICAgfQorICAgIFByb3Bl
cnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNF
X0FTU0VSVChoYXNQb2x5UHJvdG8oKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQo
KS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKGNvbnN0IEpT
T2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdChjb25z
dCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0
dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAgICBKU09iamVjdCogc3RvcmVkUHJvdG90
eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1
cmUoKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqKSBj
b25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCopIGNv
bnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKENvZGVCbG9jayopIGNvbnN0Owot
ICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0Kikg
Y29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNv
bnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiwgSlND
ZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oVk0m
LCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0Owog
ICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAg
ICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0byBtYXJrIGR1cmluZyBHQyBpZiBkb2lu
ZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBib3VuZGVkIGFtb3VudApAQCAtMjcyLDE0
ICszMDIsMzAgQEAgcHVibGljOgogICAgIAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGlzIHN0
cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wgbWFya0lmQ2hlYXAoU2xvdFZpc2l0b3Im
KTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRoZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJj
ZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKICAgICAK
ICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBpc1Jh
cmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKICAgICB9CisKKyAgICBTdHJ1Y3R1
cmVSYXJlRGF0YSogcmFyZURhdGEoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRh
KCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8U3RydWN0dXJlUmFyZURhdGEqPihtX3By
ZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgY29uc3QgU3RydWN0dXJlUmFy
ZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0
YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRh
Kj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAgIH0KKworICAgIFN0cnVjdHVyZVJh
cmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisgICAgeworICAgICAgICBpZiAoIWhhc1Jh
cmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJhcmVEYXRhKHZtKTsKKyAgICAgICAgcmV0
dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAgIFN0cnVjdHVyZSogcHJldmlvdXNJRCgp
IGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NzksNiBAQCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwogICAgIH0KICAgICAKLSAgICB2b2lkIHN0
YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKFZN
JiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBz
dHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRp
ZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAgYm9vbCBoYXNJbmZlcnJlZFR5cGVzKCkg
Y29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1faW5mZXJyZWRUeXBlVGFibGU7CkBAIC01
ODgsMTEgKzYyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgd2lsbFN0b3JlVmFsdWVTbG93KHZtLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6ZSwgSW5mZXJyZWRUeXBlVGFibGU6Ok9s
ZFByb3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVj
dHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUgY291bGQgYmUgdXNlZCBmb3IgYWxsb2Nh
dGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgotICAgIGJvb2wgY2FuVXNlRm9yQWxsb2Nh
dGlvbnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3RydWN0dXJlU2hhcGU+IHRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICAKICAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJp
bnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpAQCAtNjAxLDYgKzYzNywxMCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgZHVtcENvbnRleHRIZWFkZXIoUHJpbnRTdHJlYW0mKTsKICAg
ICAKICAgICBDb25jdXJyZW50SlNMb2NrJiBsb2NrKCkgeyByZXR1cm4gbV9sb2NrOyB9CisKKyAg
ICB1bnNpZ25lZCBwcm9wZXJ0eUhhc2goKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnR5SGFzaDsg
fQorCisgICAgc3RhdGljIGJvb2wgc2hvdWxkQ29udmVydFRvUG9seVByb3RvKGNvbnN0IFN0cnVj
dHVyZSogYSwgY29uc3QgU3RydWN0dXJlKiBiKTsKICAgICAKICAgICBERUNMQVJFX0VYUE9SVF9J
TkZPOwogCkBAIC03MjAsOCArNzYwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG51bWJl
ck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBtX2lubGluZUNhcGFjaXR5KTsKICAgICB9
CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2Fj
aGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJvb2wgaXNWYWxpZChFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OworICAgIGJvb2wgaXNW
YWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFp
biwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAgLy8gWW91IGhhdmUgdG8gaG9sZCB0aGUg
c3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBw
aW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFByb3BlcnR5VGFibGUqKTsKQEAgLTczMiwx
MiArNzcxLDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0
dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0KIAotICAgIFN0cnVjdHVyZVJhcmVEYXRh
KiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7
Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlv
dXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRh
aWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVuY3koUHJvcGVydHlUYWJsZSos
IGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAgYm9vbCBjaGVja09mZnNldENvbnNpc3Rl
bmN5KCkgY29uc3Q7CkBAIC03ODcsNiArODIwLDggQEAgcHJpdmF0ZToKIAogICAgIC8vIG1fb2Zm
c2V0IGRvZXMgbm90IGFjY291bnQgZm9yIGFub255bW91cyBzbG90cwogICAgIFByb3BlcnR5T2Zm
c2V0IG1fb2Zmc2V0OworCisgICAgdWludDMyX3QgbV9wcm9wZXJ0eUhhc2g7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUNoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVDaGFpbi5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUs
NCArNTUsMjMgQEAgdm9pZCBTdHJ1Y3R1cmVDaGFpbjo6dmlzaXRDaGlsZHJlbihKU0NlbAogICAg
IH0KIH0KIAordm9pZCBTdHJ1Y3R1cmVDaGFpbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09i
amVjdCogaGVhZCkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisKKyAgICBzaXpl
X3Qgc2l6ZSA9IDA7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7
IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
Y3VycmVudCkpCisgICAgICAgICsrc2l6ZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKKworICAgIHNpemVfdCBpID0gMDsKKyAgICBmb3Ig
KEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgdmVj
dG9yW2krK10uc2V0KHZtLCB0aGlzLCBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pKTsKKyAgICAKKyAg
ICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOworICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0b3Ip
OworICAgIHZtLmhlYXAud3JpdGVCYXJyaWVyKHRoaXMpOworfQorCiB9IC8vIG5hbWVzcGFjZSBK
U0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hh
aW4uaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6
CiAgICAgdHlwZWRlZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3Ry
dWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7
CiAKLSAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
aGVhZCkKKyAgICBzdGF0aWMgU3RydWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0
KiBoZWFkKQogICAgIHsgCiAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZUNoYWluPih2bS5oZWFwKSkgU3RydWN0dXJlQ2hh
aW4odm0sIHZtLnN0cnVjdHVyZUNoYWluU3RydWN0dXJlLmdldCgpKTsKICAgICAgICAgY2hhaW4t
PmZpbmlzaENyZWF0aW9uKHZtLCBoZWFkKTsKQEAgLTYyLDIyICs2Miw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKLSAgICB7Ci0gICAgICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgc2l6ZV90IHNpemUgPSAwOwotICAgICAg
ICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgKytzaXplOwotCi0g
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3Ig
PSBzdGQ6Om1ha2VfdW5pcXVlPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsK
LQotICAgICAgICBzaXplX3QgaSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50
ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlz
TnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0
dXJlKCkpCi0gICAgICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQpOwot
ICAgICAgICAKLSAgICAgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKLSAgICAgICAgbV92ZWN0
b3IgPSBXVEZNb3ZlKHZlY3Rvcik7Ci0gICAgfQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
LCBKU09iamVjdCogaGVhZCk7CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zm
c2V0c0V4dHJhY3RvcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTEs
MTYgKzUxLDE3IEBAIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlU3RydWMKICAg
ICByZXR1cm4gc3RydWN0dXJlOwogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNy
ZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5z
aXRpb25XYXRjaHBvaW50RmlyZSogZGVmZXJyZWQpCitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1
cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogcHJldmlvdXMsIERlZmVycmVkU3RydWN0dXJl
VHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiBkZWZlcnJlZCkKIHsKICAgICBBU1NFUlQodm0uc3Ry
dWN0dXJlU3RydWN0dXJlKTsKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IG5ldyAoTm90
TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgc3Ry
dWN0dXJlLCBkZWZlcnJlZCk7Ci0gICAgbmV3U3RydWN0dXJlLT5maW5pc2hDcmVhdGlvbih2bSk7
CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHByZXZpb3VzLCBkZWZlcnJlZCk7
CisgICAgbmV3U3RydWN0dXJlLT5maW5pc2hDcmVhdGlvbih2bSwgcHJldmlvdXMpOwogICAgIHJl
dHVybiBuZXdTdHJ1Y3R1cmU7CiB9CiAKIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9y
ZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Q
cm90bygpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYg
KHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDEyICs3MCw0
MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsK
KyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8oKSk7CiAgICAgSlNPYmplY3QqIG9iamVj
dCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKIH0KIAorQUxX
QVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2Jq
ZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1
cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzTW9ub1Byb3RvKCkpCisgICAgICAgIHJldHVybiBz
dG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5p
c0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgp
LmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKwor
QUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3Qo
Y29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmpl
Y3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChoYXNNb25vUHJvdG8oKSkKKyAgICAg
ICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBv
YmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVs
bCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8p
OworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5
cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNP
YmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJl
dHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZ
U19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsNDMg
KzE5Niw1NiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitBTFdBWVNfSU5MSU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9v
a3VwUHJpbWl0aXZlSW1wbChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBBU1NFUlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7
CisKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQor
ICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFT
U0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJl
dHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOworCit9CisKIGlubGluZSBKU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkpOwogICAg
IGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAg
aWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJvbFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9i
YWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOwotCi0gICAgQVNTRVJUKHR5cGVJbmZvKCkudHlw
ZSgpID09IFN0cmluZ1R5cGUpOwotICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3Rv
dHlwZSgpOworICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHBy
b3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAot
aW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKiBl
eGVjKSBjb25zdAoraW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlKSBjb25zdAogewotICAg
IHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsK
KyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAo
aXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNl
KSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2Jq
ZWN0LCB0aGlzKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lu
bGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAg
IFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAgICAgLy8gV2Ug
Y2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0g
ICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQo
KSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xv
YmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMs
IFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09i
amVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxP
YmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7
CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVD
aGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3Qo
cHJvdG90eXBlKSkpOwogICAgIH0KICAgICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5n
ZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNo
YWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0
dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25z
dAogewotICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1
Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hh
aW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjpp
c1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNo
ZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNo
ZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5
cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5
cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVy
ZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0KCkpCkBAIC0yMTMsMTEgKzI1Niw2IEBAIGlubGlu
ZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBl
LmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1
cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90
eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVj
dHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBp
ZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkKQEAgLTM0MSw2ICszNzksOCBAQCBpbmxpbmUgUHJv
cGVydHlPZmZzZXQgU3RydWN0dXJlOjphZGQoVk0mCiAgICAgYXV0byByZXAgPSBwcm9wZXJ0eU5h
bWUudWlkKCk7CiAKICAgICBQcm9wZXJ0eU9mZnNldCBuZXdPZmZzZXQgPSB0YWJsZS0+bmV4dE9m
ZnNldChtX2lubGluZUNhcGFjaXR5KTsKKworICAgIG1fcHJvcGVydHlIYXNoID0gbV9wcm9wZXJ0
eUhhc2ggXiByZXAtPmV4aXN0aW5nU3ltYm9sQXdhcmVIYXNoKCk7CiAgICAgCiAgICAgUHJvcGVy
dHlPZmZzZXQgbmV3TGFzdE9mZnNldCA9IG1fb2Zmc2V0OwogICAgIHRhYmxlLT5hZGQoUHJvcGVy
dHlNYXBFbnRyeShyZXAsIG5ld09mZnNldCwgYXR0cmlidXRlcyksIG5ld0xhc3RPZmZzZXQsIFBy
b3BlcnR5VGFibGU6OlByb3BlcnR5T2Zmc2V0TWF5Q2hhbmdlKTsKQEAgLTQwMCw3ICs0NDAsNyBA
QCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJl
bW92ZShwcm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNl
dFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJ
TkUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxl
KiB0YWJsZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0
aGlzLCB0YWJsZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1
Y3R1cmVSYXJlRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJTdHJ1Y3R1cmVSYXJlRGF0YS5oIgogCiAj
aW5jbHVkZSAiQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFzZS5oIgor
I2luY2x1ZGUgIkluZmVycmVkVmFsdWUuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1l
cmF0b3IuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFy
ZURhdGEuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgSW5mZXJyZWRWYWx1ZTsKIGNsYXNzIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcjsKIGNsYXNzIFN0cnVjdHVyZTsKIGNsYXNzIE9iamVjdFRvU3RyaW5n
QWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50OwpAQCAtNjIsNiArNjMsMTEgQEAgcHVibGljOgog
ICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYs
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+IGNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5
UHJvdG9XYXRjaHBvaW50OyB9CisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBz
aGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5UHJvdG9XYXRj
aHBvaW50OyB9CisgICAgdm9pZCBzZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KEJveDxJbmxp
bmVXYXRjaHBvaW50U2V0PiYmIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpIHsgbV9wb2x5UHJv
dG9XYXRjaHBvaW50ID0gV1RGTW92ZShzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KTsgfQorICAg
IGJvb2wgaGFzU2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PGJvb2w+KG1fcG9seVByb3RvV2F0Y2hwb2ludCk7IH0KKwogICAgIERFQ0xBUkVfRVhQ
T1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03NiwxMSArODIsMTMgQEAgcHJpdmF0ZToKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0
cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKLSAgICAKKyAg
ICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9pbmZlcnJlZENvbnN0cnVjdG9yOworCiAg
ICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4s
IFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhh
c2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0eVdhdGNocG9pbnRNYXA7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1hcD4gbV9yZXBsYWNlbWVudFdhdGNocG9p
bnRTZXRzOwogICAgIEJhZzxPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2lu
dD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlV2F0Y2hwb2ludFNldDsKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9p
bnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZUluZmVycmVkVmFsdWVXYXRjaHBvaW50OworICAg
IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7CiAgICAgYm9v
bCBtX2dpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hlOwogfTsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCShyZXZp
c2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmls
ZXJMb2cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxOSArNjMsMzUgQEAgdm9pZCBUeXBlUHJv
ZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBiZWZvcmUgPSBjdXJyZW50VGlt
ZU1TKCk7CiAgICAgfQogCisgICAgSGFzaE1hcDxTdHJ1Y3R1cmUqLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+PiBjYWNoZWRNb25vUHJvdG9TaGFwZXM7CisgICAgSGFzaE1hcDxzdGQ6OnBhaXI8U3Ry
dWN0dXJlKiwgSlNDZWxsKj4sIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZFBvbHlQcm90
b1NoYXBlczsKKwogICAgIExvZ0VudHJ5KiBlbnRyeSA9IG1fbG9nU3RhcnRQdHI7Ci0gICAgSGFz
aE1hcDxTdHJ1Y3R1cmUqLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+PiBzZWVuU2hhcGVzOworCiAg
ICAgd2hpbGUgKGVudHJ5ICE9IG1fY3VycmVudExvZ0VudHJ5UHRyKSB7CiAgICAgICAgIFN0cnVj
dHVyZUlEIGlkID0gZW50cnktPnN0cnVjdHVyZUlEOwotICAgICAgICBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+IHNoYXBlOyAKKyAgICAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBzaGFwZTsKICAg
ICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGVudHJ5LT52YWx1ZTsKICAgICAgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBudWxscHRyOworICAgICAgICBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9
IGZhbHNlOwogICAgICAgICBpZiAoaWQpIHsKLSAgICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6
OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsgCi0gICAg
ICAgICAgICBhdXRvIGl0ZXIgPSBzZWVuU2hhcGVzLmZpbmQoc3RydWN0dXJlKTsKLSAgICAgICAg
ICAgIGlmIChpdGVyID09IHNlZW5TaGFwZXMuZW5kKCkpIHsKLSAgICAgICAgICAgICAgICBzaGFw
ZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAg
c2VlblNoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAgICAgICAgICBzdHJ1Y3R1cmUg
PSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7
CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZmluZChzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0gY2FjaGVkTW9ub1Byb3RvU2hhcGVzLmVu
ZCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfcGFpcihzdHJ1Y3R1
cmUsIHZhbHVlLmFzQ2VsbCgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIGl0ZXIgPSBjYWNoZWRQ
b2x5UHJvdG9TaGFwZXMuZmluZChrZXkpOworICAgICAgICAgICAgICAgIGlmIChpdGVyICE9IGNh
Y2hlZFBvbHlQcm90b1NoYXBlcy5lbmQoKSkgeworICAgICAgICAgICAgICAgICAgICBzaGFwZSA9
IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUg
PSB0cnVlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghc2hhcGUp
IHsKKyAgICAgICAgICAgICAgICAgICAgc2hhcGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hh
cGUodmFsdWUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgICAgIGlm
IChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRQ
b2x5UHJvdG9TaGFwZXMuc2V0KGtleSwgc2hhcGUpOworICAgICAgICAgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRNb25vUHJvdG9TaGFwZXMuc2V0KHN0cnVj
dHVyZSwgc2hhcGUpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZQogICAg
ICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CiAgICAgICAgIH0KQEAgLTg0LDggKzEw
MCw4IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmllcygKICAgICAgICAg
VHlwZUxvY2F0aW9uKiBsb2NhdGlvbiA9IGVudHJ5LT5sb2NhdGlvbjsKICAgICAgICAgbG9jYXRp
b24tPm1fbGFzdFNlZW5UeXBlID0gdHlwZTsKICAgICAgICAgaWYgKGxvY2F0aW9uLT5tX2dsb2Jh
bFR5cGVTZXQpCi0gICAgICAgICAgICBsb2NhdGlvbi0+bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBl
SW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigpLCBzdHJ1Y3R1cmUpOwotICAgICAgICBs
b2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBX
VEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGxvY2F0aW9uLT5tX2dsb2Jh
bFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0cnVj
dHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAgICAgICAgbG9jYXRpb24tPm1faW5zdHJ1
Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgV1RGTW92ZShzaGFwZSksIHN0
cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKIAogICAgICAgICBlbnRyeSsrOwogICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3BwCShyZXZp
c2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDE3IEBAIFR5cGVTZXQ6OlR5cGVTZXQoKQog
ewogfQogCi12b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQordm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUgdHlw
ZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBlLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCiB7CiAgICAgbV9zZWVuVHlwZXMg
PSBtX3NlZW5UeXBlcyB8IHR5cGU7CiAKICAgICBpZiAoc3RydWN0dXJlICYmIHBhc3NlZE5ld1No
YXBlICYmICFydW50aW1lVHlwZUlzUHJpbWl0aXZlKHR5cGUpKSB7CiAgICAgICAgIFJlZjxTdHJ1
Y3R1cmVTaGFwZT4gbmV3U2hhcGUgPSBwYXNzZWROZXdTaGFwZS5yZWxlYXNlTm9uTnVsbCgpOwot
ICAgICAgICBpZiAoIW1fc3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkpIHsKLSAgICAg
ICAgICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFR5cGVTZXQgc2hvdWxkIGJlIGFibGUgdG8gY2Fj
aGUgcG9seSBwcm90byBjaGFpbnMKKyAgICAgICAgLy8ganVzdCBieSBjYWNoaW5nIHRoZSBwcm90
b3R5cGUgY2hhaW46CisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc2MjcKKyAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVjdHVyZSB8fCAhbV9z
dHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgeworICAgICAgICAgICAgaWYgKCFzYXdQ
b2x5UHJvdG9TdHJ1Y3R1cmUpIHsKICAgICAgICAgICAgICAgICBDb25jdXJyZW50SlNMb2NrZXIg
bG9ja2VyKG1fbG9jayk7CiAgICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmVTZXQuYWRkKHN0cnVj
dHVyZSk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9UeXBlU2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VHlwZVNldC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9UeXBlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDcgKzg1LDcgQEAgY2xhc3MgVHlw
ZVNldCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bgogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
VHlwZVNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBUeXBlU2V0KTsgfQogICAg
IFR5cGVTZXQoKTsKLSAgICB2b2lkIGFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSwgUmVm
UHRyPFN0cnVjdHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUqKTsKKyAgICB2b2lkIGFkZFR5cGVJbmZv
cm1hdGlvbihSdW50aW1lVHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUq
LCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAgICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGUo
KTsKICAgICBTdHJpbmcgZHVtcFR5cGVzKCkgY29uc3Q7CiAgICAgU3RyaW5nIGRpc3BsYXlOYW1l
KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJp
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJh
cnJpZXIuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0YXJ0aW5nVmFsdWUoSlNWYWx1ZSB2YWx1
ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZhbHVlKTsgfQogICAgIGJvb2wgaXNOdW1i
ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJlcigpOyB9CisgICAgYm9vbCBpc0ludDMy
KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigpOyB9CiAgICAgYm9vbCBpc09iamVjdCgp
IGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7IH0KICAgICBib29sIGlzTnVsbCgpIGNv
bnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAgICAgYm9vbCBpc0dldHRlclNldHRlcigp
IGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0dGVyKCk7IH0KSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0JveC5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvV1RGL3d0Zi9Cb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzYs
MTQgKzM2LDE3IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNz
IEJveCB7CiBwdWJsaWM6Ci0gICAgQm94KCkKLSAgICB7Ci0gICAgfQorICAgIEJveCgpID0gZGVm
YXVsdDsKKyAgICBCb3goQm94JiYpID0gZGVmYXVsdDsKKyAgICBCb3goY29uc3QgQm94JikgPSBk
ZWZhdWx0OwogCiAgICAgQm94KHN0ZDo6bnVsbHB0cl90KQogICAgIHsKICAgICB9CiAKKyAgICBC
b3gmIG9wZXJhdG9yPShCb3gmJikgPSBkZWZhdWx0OworICAgIEJveCYgb3BlcmF0b3I9KGNvbnN0
IEJveCYpID0gZGVmYXVsdDsKKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4K
ICAgICBzdGF0aWMgQm94IGNyZWF0ZShBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgewpA
QCAtNTcsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgVCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1
cm4gbV9kYXRhLT52YWx1ZTsgfQogICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiAm
bV9kYXRhLT52YWx1ZTsgfQogCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIHsgcmV0dXJu
IG1fZGF0YTsgfQorICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxib29sPihtX2RhdGEpOyB9CiAgICAgCiBwcml2YXRlOgogICAgIHN0cnVjdCBE
YXRhIDogVGhyZWFkU2FmZVJlZkNvdW50ZWQ8RGF0YT4gewpJbmRleDogU291cmNlL1dURi93dGYv
UmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUmVmUHRyLmgJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Myw2ICs4Myw4IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxs
b3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIg
dHlwZXMuCiAgICAgdHlwZWRlZiBUKiAoUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7CiAg
ICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8g
JlJlZlB0cjo6bV9wdHIgOiBudWxscHRyOyB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29s
KCkgY29uc3QgeyByZXR1cm4gISFtX3B0cjsgfQogICAgIAogICAgIFJlZlB0ciYgb3BlcmF0b3I9
KGNvbnN0IFJlZlB0ciYpOwogICAgIFJlZlB0ciYgb3BlcmF0b3I9KFQqKTsKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkocmV2aXNpb24gMjIyNzEyKQorKysgVG9vbHMvU2NyaXB0
cy9ydW4tanNjLXN0cmVzcy10ZXN0cwkod29ya2luZyBjb3B5KQpAQCAtNjE5LDcgKzYxOSw3IEBA
IGRlZiBydW5GVExOb0NKSVQoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3AKIGVuZAogCiBkZWYgcnVu
RlRMTm9DSklUQjNPMSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRs
LW5vLWNqaXQtYjNvMSIsICItLXVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZz1mYWxzZSIsICoo
RlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLW5vLWNqaXQtYjNvMSIsICItLXVzZUFy
cmF5QWxsb2NhdGlvblByb2ZpbGluZz1mYWxzZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAq
KEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0aW9uYWxU
ZXN0U3BlY2lmaWNPcHRpb25zKSkKIGVuZAogCiBkZWYgcnVuRlRMTm9DSklUVmFsaWRhdGUoKm9w
dGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTY0Nyw3ICs2NDcsNyBAQCBkZWYgcnVuREZH
RWFnZXJOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyKCpv
cHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJG
b3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElPTlMg
KyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRp
b25zKSkKKyAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9yPXRy
dWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElP
TlMgKyBDT0xMRUNUX0NPTlRJTlVPVVNMWV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNP
cHRpb25zKSkKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXJXYXRjaGRvZygqb3B0aW9uYWxUZXN0U3Bl
Y2lmaWNPcHRpb25zKQpAQCAtODY0LDYgKzg2NCw3IEBAIGRlZiBydW5UeXBlUHJvZmlsZXIKIAog
ICAgIHJ1bigiZnRsLW5vLWNqaXQtdHlwZS1wcm9maWxlciIsICItLXVzZVR5cGVQcm9maWxlcj10
cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUykpCiAgICAgcnVuKCJmdGwtdHlw
ZS1wcm9maWxlciIsICItLXVzZVR5cGVQcm9maWxlcj10cnVlIiwgKihGVExfT1BUSU9OUykpCisg
ICAgcnVuKCJmdGwtdHlwZS1wcm9maWxlci1mb3JjZS1wb2x5LXByb3RvLWZ0bC1lYWdlciIsICIt
LXVzZVR5cGVQcm9maWxlcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09Q
VElPTlMgKyBFQUdFUl9PUFRJT05TKSkKIGVuZAogCiBkZWYgcnVuQ29udHJvbEZsb3dQcm9maWxl
cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322409</attachid>
            <date>2017-10-02 12:25:53 -0700</date>
            <delta_ts>2017-10-02 16:23:32 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>214378</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNzLmpzCShu
b25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tYWNjZXNz
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7
IGlmICghYikgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsgfQorbm9JbmxpbmUoYXNzZXJ0KTsKKwor
ZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMueCA9IDIwOworICAgICAgICB9CisKKyAgICAgICAg
Z2V0IGJhcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGFzc2VydCh0aGlzLnggPT09IDIwKTsK
KyAgICAgICAgICAgIGFzc2VydCh0aGlzLmZvbyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZm9vID09
PSA0Mik7CisgICAgICAgICAgICByZXR1cm4gNDU7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0
dXJuIG5ldyBDOworfQorCitmb28oKTsKK2xldCBhID0gW107Citmb3IgKGxldCBpID0gMDsgaSA8
IDE1OyArK2kpCisgICAgYS5wdXNoKGZvbygpKTsKKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICBh
c3NlcnQoby5mb28gPT09IHVuZGVmaW5lZCB8fCBvLmZvbyA9PT0gNDIpOworICAgIGFzc2VydChv
LmJhciA9PT0gNDUpOworfQorbm9JbmxpbmUoYmFyKTsKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3co
KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwMDsgKytpKSB7CisgICAgaWYgKGkgPT09IDUw
MDApIHsKKyAgICAgICAgZm9yIChsZXQgYXJyIG9mIGEpCisgICAgICAgICAgICBhcnIuX19wcm90
b19fLmZvbyA9IDQyOworICAgIH0KKyAgICBmb3IgKGxldCBqID0gMDsgaiA8IGEubGVuZ3RoOyAr
K2opIHsKKyAgICAgICAgYmFyKGFbal0pOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmlu
dChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1wdXQtdHJhbnNpdGlvbi1zcGVlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21p
Y3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCShub25leGlz
dGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24tc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIg
KyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7
IHRoaXMuX2ZpZWxkID0gNDI7IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOwor
ICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOwor
ICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCAyNTsgKytpKSB7CisgICAgbGV0IGl0ZW0gPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgaXRlbS5fX3Byb3RvX18gPSBudWxsOworICAgIGl0ZW1zLnB1c2goaXRlbSk7Cit9CisK
K2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAg
ICBsZXQgb2JqID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICAgICAg
YXNzZXJ0KE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgICAgIGFz
c2VydChvYmoucCA9PT0gMjApOworICAgICAgICBhc3NlcnQob2JqLl9maWVsZCA9PT0gNDIpOwor
ICAgIH0KKworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7Cklu
ZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXNldHRlci1zcGVlZC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3RvLXNldHRlci1z
cGVlZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXNldHRlci1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACitmdW5j
dGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQ6IiArIG0pOworfQorCitsZXQgY2FsbGVkID0gZmFsc2U7CitmdW5jdGlvbiBtYWtlUG9s
eVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7
CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIAorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIHRoaXMuX3AgPSBudWxsOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzZXQgcCh4
KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxlZCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgdGhpcy5fcCA9IHg7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1T
ZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBbXTsKK2ZvciAobGV0IGkg
PSAwOyBpIDwgODsgKytpKSB7CisgICAgaXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkp
OworfQorCitmdW5jdGlvbiBwZXJmb3JtU2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCits
ZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBs
ZXQgbyA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3Nl
cnQoby5fcCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IHRydWUpOworICAgICAg
ICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5u
b3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0
dXJuLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0
dXJuLmpzCShyZXZpc2lvbiAyMjI3MTIpCisrKyBKU1Rlc3RzL3N0cmVzcy9jb25zdHJ1Y3Rvci13
aXRoLXJldHVybi5qcwkod29ya2luZyBjb3B5KQpAQCAtMjEsMTkgKzIxLDIxIEBAIHZhciB0ZXN0
cyA9IFsKICAgICBuZXcgVGVzdChPYmplY3QoU3ltYm9sLml0ZXJhdG9yKSwgdHJ1ZSksCiBdOwog
Ci10ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7Ci0gICAgZnVuY3Rpb24gQ29uc3RydWN0
b3IoKSB7Ci0gICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwotICAgIH0KLQotICAgIHZhciByZXN1
bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKLSAgICBpZiAodGVzdC5yZXR1cm5JdCkgewotICAgICAg
ICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJl
c3VsdDogIiArIHJlc3VsdDsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAg
dGVzdHMuZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgeworICAgICAgICBmdW5jdGlvbiBDb25zdHJ1
Y3RvcigpIHsKKyAgICAgICAgICAgIHJldHVybiB0ZXN0LnZhbHVlOwogICAgICAgICB9Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgaWYgKCEocmVzdWx0IGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7
Ci0gICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKworICAgICAgICB2
YXIgcmVzdWx0ID0gbmV3IENvbnN0cnVjdG9yKCk7CisgICAgICAgIGlmICh0ZXN0LnJldHVybkl0
KSB7CisgICAgICAgICAgICBpZiAodGVzdC52YWx1ZSAhPT0gcmVzdWx0KSB7CisgICAgICAgICAg
ICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1
Y3RvcikpIHsKKyAgICAgICAgICAgICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KLX0pOworICAgIH0pOworfQpJbmRleDog
SlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvZG9tLWppdC13aXRoLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzOSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5f
ZmllbGQgPSAyNTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZv
bygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHByb3RvID0gY3JlYXRlRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0KCk7CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2Jq
Ll9fcHJvdG9fXyA9IHByb3RvOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2KSB7CisgICAgYXNz
ZXJ0KHguY3VzdG9tR2V0dGVyID09PSB2LCB4LmN1c3RvbUdldHRlcik7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKQorICAgIHZhbGlkYXRl
KG9iaiwgcHJvdG8pOworCitwcm90by5mb28gPSAyNTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKQorICAgIHZhbGlkYXRlKG9iaiwgcHJvdG8pOworCitSZWZsZWN0LnNldFByb3RvdHlw
ZU9mKG9iaiwge30pOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxp
ZGF0ZShvYmosIHVuZGVmaW5lZCk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkzIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQor
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7IAorICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMuZmll
bGQgPSAyMDsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmll
bGQgPT09IDIwKTsKKyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgaXRlbXMgPSBb
CisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorXTsKKwor
bGV0IGN1c3RvbUdldHRlclNldHRlciA9IGNyZWF0ZUN1c3RvbVRlc3RHZXR0ZXJTZXR0ZXIoKTsK
K2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICB4Ll9fcHJvdG9fXyA9IGN1c3RvbUdldHRlclNl
dHRlcjsKKyAgICBhc3NlcnQoeC5fX3Byb3RvX18gPT09IGN1c3RvbUdldHRlclNldHRlcik7Cit9
KTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCwgdmFsdWVSZXN1bHQsIGFjY2Vzc29yUmVzdWx0KSB7
CisgICAgYXNzZXJ0KHguY3VzdG9tVmFsdWUgPT09IHZhbHVlUmVzdWx0KTsKKworICAgIGFzc2Vy
dCh4LmN1c3RvbUFjY2Vzc29yID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBsZXQgbyA9IHt9
OworICAgIHguY3VzdG9tVmFsdWUgPSBvOworICAgIGFzc2VydChvLnJlc3VsdCA9PT0gdmFsdWVS
ZXN1bHQpOworCisgICAgbyA9IHt9OworICAgIHguY3VzdG9tQWNjZXNzb3IgPSBvOworICAgIGFz
c2VydChvLnJlc3VsdCA9PT0gYWNjZXNzb3JSZXN1bHQpOworCisgICAgYXNzZXJ0KHgucmFuZG9t
UHJvcCA9PT0gNDIgfHwgeC5yYW5kb21Qcm9wID09PSB1bmRlZmluZWQpOworfQorbm9JbmxpbmUo
dmFsaWRhdGUpOworCisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIHZhbGlkYXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0
ZW1zW2ldKTsKKyAgICB9Cit9CisKK2N1c3RvbUdldHRlclNldHRlci5yYW5kb21Qcm9wID0gNDI7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1
c3RvbUdldHRlclNldHRlciwgaXRlbXNbaV0pOworICAgIH0KK30KKworaXRlbXMuZm9yRWFjaCgo
eCkgPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoeCwgeworICAgICAgICBnZXQgY3Vz
dG9tVmFsdWUoKSB7IHJldHVybiA0MjsgfSwKKyAgICAgICAgZ2V0IGN1c3RvbUFjY2Vzc29yKCkg
eyByZXR1cm4gMjI7IH0sCisgICAgICAgIHNldCBjdXN0b21WYWx1ZSh4KSB7IHgucmVzdWx0ID0g
NDI7IH0sCisgICAgICAgIHNldCBjdXN0b21BY2Nlc3Nvcih4KSB7IHgucmVzdWx0ID0gMjI7IH0s
CisgICAgfSk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0
ZShpdGVtc1tpXSwgNDIsIDIyKTsKKyAgICB9Cit9CisKK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRy
aW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5l
c3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkISIpOworfQorCitm
dW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAg
ICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLl9maWVsZCA9IDQyOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkK
KyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgeCA9IG5ldyBVaW50
MzJBcnJheSgxMCk7CitsZXQgcCA9IHguX19wcm90b19fLl9fcHJvdG9fXzsKK2xldCBvYmogPSBt
YWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmouX19wcm90b19fID0gcDsKK3guX19wcm90b19fID0g
b2JqOworCitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiB4LmJ5dGVMZW5ndGg7Cit9Citu
b0lubGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGFz
c2VydChmb28oeCkgPT09IDEwICogNCk7Cit9OworCitvYmouX19wcm90b19fID0ge307CisKK2Fz
c2VydChmb28oeCkgPT09IHVuZGVmaW5lZCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLW1pc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNz
LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tbWlzcy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAg
IGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9Cisg
ICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSA0MjsKKyAgICAgICAgbGV0IHJlc3Vs
dCA9IG5ldyBDOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICBsZXQgcmVzdWx0ID0gZm9v
KCk7CisgICAgcmVzdWx0Ll9fcHJvdG9fXyA9IG51bGw7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIGFzc3NlcnRpb24iKQorfQorCitsZXQgaW5zdGFuY2VzID0gWworICAgIG1ha2VQ
b2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0lu
c3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRo
TnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90
eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAg
ICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5
UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3Rh
bmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVs
bFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBl
KCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBt
YWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorXTsKKworbGV0IHAgPSB1
bmRlZmluZWQ7CitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KHgueCA9PT0gMjAp
OworICAgIGFzc2VydCh4LnAgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0YW5jZXMubGVuZ3RoOyArK2kpCisg
ICAgICAgIHZhbGlkYXRlKGluc3RhbmNlc1tpXSk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW9w
LWluLWNhY2hpbmcuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90
by1vcC1pbi1jYWNoaW5nLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjQgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAg
ZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgICAgIHRoaXMuZmllbGQgPSA0MjsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNzZXJ0KGZvbygpLmZpZWxkID09PSA0Mik7
CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gdmFsaWRhdGUobywgYikg
eworICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisK
K2xldCBzdGFydCA9IERhdGUubm93KCk7CisKK2xldCBvYmpzID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwOyArK2kpCisgICAgb2Jqcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7CisK
K29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjIwfSkp
OworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmog
b2Ygb2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCB0cnVlKTsKK30KKworb2Jqcy5mb3JFYWNo
KG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge30pKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAgICB2
YWxpZGF0ZShvYmosIGZhbHNlKTsKK30KKworCitmdW5jdGlvbiB2YWxpZGF0ZTIobywgYikgewor
ICAgIGFzc2VydCgieCIgaW4gbyA9PT0gYik7Cit9Citub0lubGluZSh2YWxpZGF0ZTIpOworCitv
YmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCBudWxsKSk7Citm
b3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Ygb2Jq
cykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgZmFsc2UpOworfQorCitvYmpzLmZvckVhY2gob2Jq
ID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7eDoyNX0pKTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpzKQorICAgICAgICB2
YWxpZGF0ZTIob2JqLCB0cnVlKTsKK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93
KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10cmFuc2l0
aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5z
aXRpb24uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQt
dHJhbnNpdGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUyIEBACitmdW5jdGlvbiBh
c3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6
IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rvcigp
IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9maWVsZCA9IDQyOworICAgICAgICAgICAgfQorICAg
ICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCits
ZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30K
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytp
KSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90
b19fID0gbnVsbDsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAgYXNzZXJ0KE9iamVjdC5oYXNP
d25Qcm9wZXJ0eS5jYWxsKG9iaiwgInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7CisK
K30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQgb2JqID0gbWFr
ZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3RvX18gPSB7IHNldCBwKHgpIHsgZ2xv
YmFsID0geDsgfSB9OworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoIW9iai5oYXNP
d25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3NlcnQoZ2xvYmFsID09PSAyMCk7CisgICAgZ2xvYmFs
ID0gbnVsbDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBsZXQg
b2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBh
c3NlcnQob2JqLmhhc093blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChvYmoucCA9PT0gMjAp
OworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDY1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJiYWQiKTsKK30KKworbGV0IGFsdGVybmF0ZVByb3Rv
ID0geworICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9OworCits
ZXQgYWx0ZXJuYXRlUHJvdG8yID0geworICAgIGdldCB5KCkgeyByZXR1cm4gMjI7IH0sCisgICAg
Z2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK09iamVjdC5kZWZp
bmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAieCIsIHsKKyAgICBnZXQ6IGZ1bmN0aW9uKCkg
eyByZXR1cm4gdGhpcy5feDsgfQorfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBD
IHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICB0aGlzLl94ID0gNDI7Cisg
ICAgICAgIH0KKyAgICB9OworICAgIHJldHVybiBuZXcgQzsKK30KKworZnVuY3Rpb24gdmFsaWRh
dGUobywgcCkgeworICAgIGFzc2VydChvLnggPT09IHApOworfQorbm9JbmxpbmUodmFsaWRhdGUp
OworCitsZXQgYXJyID0gW107Citmb28oKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkK
KyAgICBhcnIucHVzaChmb28oKSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBhIG9mIGFycikKKyAgICAgICAgdmFsaWRhdGUoYSwgNDIpOworfQorCitm
b3IgKGxldCBhIG9mIGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG87Cit9
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIp
IHsKKyAgICAgICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgfQorfQorCitmb3IgKGxldCBhIG9m
IGFycikgeworICAgIGEuX19wcm90b19fID0gYWx0ZXJuYXRlUHJvdG8yOworfQorCitmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICAg
ICAgdmFsaWRhdGUoYSwgbnVsbCk7CisgICAgICAgIGFzc2VydChhLnkgPT09IDIyKTsKKyAgICB9
Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldHRlci5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDcxIEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitsZXQgY2FsbGVkID0gZmFsc2U7
CitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsK
KyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIAorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSBudWxsOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBzZXQgcCh4KQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhbGxl
ZCA9IHRydWU7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IHg7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBnZXQgcCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3A7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcg
QzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFz
c2VydChmb28oKS5wID09PSBudWxsKTsKKyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0g
W107Citmb3IgKGxldCBpID0gMDsgaSA8IDIwOyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQ
b2x5UHJvdG9PYmplY3QoKSk7Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAg
IHgucCA9IGk7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7
ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0KG8s
IGkpOworICAgICAgICBhc3NlcnQoby5fcCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQg
PT09IHRydWUpOworICAgICAgICBjYWxsZWQgPSBmYWxzZTsKKyAgICB9Cit9CisKK2l0ZW1zLmZv
ckVhY2gobyA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvLCBudWxsKTsKK30pOwor
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICBsZXQgbyA9IGl0ZW1zW2ldOworICAg
ICAgICBwZXJmb3JtU2V0KG8sIGkpOworICAgICAgICBhc3NlcnQoby5wID09PSBpKTsKKyAgICAg
ICAgYXNzZXJ0KGNhbGxlZCA9PT0gZmFsc2UpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAg
IHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXBy
b3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUxIEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNz
IEMgeworICAgICAgICBjb25zdHJ1Y3RvcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMu
eSA9IDIyOworICAgICAgICB9CisgICAgICAgIGdldCBiYXooKSB7IHJldHVybiB0aGlzLng7IH0K
KyAgICB9CisgICAgQy5wcm90b3R5cGUuZmllbGQgPSA0MjsKKyAgICBuZXcgQzsKKyAgICByZXR1
cm4gQzsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgZm9vKCk7CisKK2Z1
bmN0aW9uIGJhcihwKSB7CisgICAgY2xhc3MgQyBleHRlbmRzIHAgeworICAgICAgICBjb25zdHJ1
Y3RvcigpIHsKKyAgICAgICAgICAgIHN1cGVyKCk7CisgICAgICAgICAgICB0aGlzLnggPSAyMjsK
KyAgICAgICAgfQorICAgIH07CisgICAgbGV0IHJlc3VsdCA9IG5ldyBDOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgIGJhcihmb28oKSk7
CisKK2xldCBpbnN0YW5jZXMgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgNDA7ICsraSkKKyAg
ICBpbnN0YW5jZXMucHVzaChiYXIoZm9vKCkpKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkg
eworICAgIGFzc2VydChpdGVtLnggPT09IDIyKTsKKyAgICBhc3NlcnQoaXRlbS5iYXogPT09IDIy
KTsKKyAgICBhc3NlcnQoaXRlbS5maWVsZCA9PT0gNDIpOworfQorCitsZXQgc3RhcnQgPSBEYXRl
Lm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGluc3RhbmNl
cy5mb3JFYWNoKCh4KSA9PiB2YWxpZGF0ZSh4KSk7Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQo
RGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5
LXByb3RvLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXBy
b3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL3ByaW1pdGl2ZS1wb2x5LXBy
b3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKK2xldCB5ID0gNDI7CitmdW5j
dGlvbiBtYWtlUG9seVByb3RvSW5zdGFuY2UoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLnggPSAyMDsg
fQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0geTsKKyAgICAgICAgcmV0dXJu
IG5ldyBDOworICAgIH0KKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQorICAgICAg
ICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwb2x5UHJvdG9JbnN0YW5jZSA9
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpOworU3RyaW5nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBw
b2x5UHJvdG9JbnN0YW5jZTsKK1N5bWJvbC5wcm90b3R5cGUuX19wcm90b19fID0gcG9seVByb3Rv
SW5zdGFuY2U7CitsZXQgc3RyaW5ncyA9IFsKKyAgICAiZm9vIiwKKyAgICBTeW1ib2woImZvbyIp
LAorICAgICJiYXIiLAorICAgIFN5bWJvbCgiYmFyIiksCitdOworCitmdW5jdGlvbiBhc3NlcnQo
YikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzc2VydGlv
biIpCit9Citub0lubGluZShhc3NlcnQpOworCitmdW5jdGlvbiB2YWxpZGF0ZShzKSB7CisgICAg
YXNzZXJ0KHMueCA9PT0gMjApOworICAgIGFzc2VydChzLnkgPT09IHkpOworICAgIGFzc2VydChz
Lm5vbkV4aXN0ZW50UHJvcGVydHkgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KHR5cGVvZiBz
Lmhhc093blByb3BlcnR5ID09PSAiZnVuY3Rpb24iKTsKKyAgICBhc3NlcnQocy5oYXNPd25Qcm9w
ZXJ0eSA9PT0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChs
ZXQgcyBvZiBzdHJpbmdzKSB7CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KKworeSA9
IDI3OworcG9seVByb3RvSW5zdGFuY2UuX19wcm90b19fID0ge3o6NDAwLCB5OiB5fTsKK2ZvciAo
bGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgcyBvZiBzdHJpbmdzKSB7
CisgICAgICAgIHZhbGlkYXRlKHMpOworICAgIH0KK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3By
b3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL3Byb3RvdHlwZS1pcy1ub3QtanMtb2JqZWN0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBmdW5jdGlvbiBiYXIoKSB7CisgICAg
ICAgIHRoaXMueCA9IDQyOworICAgIH0KKyAgICBiYXIucHJvdG90eXBlID0gNTA7CisgICAgcmV0
dXJuIG5ldyBiYXIoKTsKK30KKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2xldCBpdGVtcyA9IFsKKyAgICBm
b28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAgICBmb28oKSwKKyAg
ICBmb28oKSwKK107CisKK2Z1bmN0aW9uIHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRl
bS5ub3RUaGVyZSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQoaXRlbS54ID09PSA0Mik7Cisg
ICAgYXNzZXJ0KGl0ZW0uX19wcm90b19fID09PSBPYmplY3QucHJvdG90eXBlKTsKK30KKworZm9y
IChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVt
cykKKyAgICAgICAgdmFsaWRhdGUoaXRlbSk7Cit9CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvdHJ5
LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM4
IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0
KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAg
ICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkK
KyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB0cnlHZXRC
eUlkVGV4dChwcm9wZXJ0eU5hbWUpIHsgcmV0dXJuIGAoZnVuY3Rpb24gKGJhc2UpIHsgcmV0dXJu
IEB0cnlHZXRCeUlkKGJhc2UsICcke3Byb3BlcnR5TmFtZX0nKTsgfSlgOyB9CitsZXQgZ2V0Rm9v
ID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiZm9vIikpOworbGV0IGdldEJhciA9IGNy
ZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImJhciIpKTsKK2xldCBnZXROb25FeGlzdGVudEZp
ZWxkID0gY3JlYXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgibm9uRXhpc3RlbnRGaWVsZCIpKTsK
KworbGV0IHggPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7Cit4Ll9fcHJvdG9fXyA9IHsgZm9vOiA0
MiwgZ2V0IGJhcigpIHsgcmV0dXJuIDIyOyB9IH07CitsZXQgYmFyR2V0dGVyID0gT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih4Ll9fcHJvdG9fXywgImJhciIpLmdldDsKK2Fzc2VydCh0
eXBlb2YgYmFyR2V0dGVyID09PSAiZnVuY3Rpb24iKTsKK2Fzc2VydChiYXJHZXR0ZXIoKSA9PT0g
MjIpOworCitmdW5jdGlvbiB2YWxpZGF0ZSh4KSB7CisgICAgYXNzZXJ0KGdldEZvbyh4KSA9PT0g
NDIpOworICAgIGFzc2VydChsb2FkR2V0dGVyRnJvbUdldHRlclNldHRlcihnZXRCYXIoeCkpID09
PSBiYXJHZXR0ZXIpOworICAgIGFzc2VydChnZXROb25FeGlzdGVudEZpZWxkKHgpID09PSB1bmRl
ZmluZWQpOworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIHZhbGlkYXRlKHgpOworfQpJbmRleDogSlNUZXN0cy90eXBlUHJvZmls
ZXIvb3ZlcmZsb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZs
b3cuanMJKHJldmlzaW9uIDIyMjcxMikKKysrIEpTVGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC05LDYgKzksOCBAQCB2YXIgb2xkUHJvdG87CiBmb3IgKHZh
ciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJmbG93OyBpKyspIHsKICAg
ICAvLyBNYWtlIHN1cmUgd2UgZ2V0IGEgbmV3IHByb3RvdHlwZSBjaGFpbiBvbiBlYWNoIGFzc2ln
bm1lbnQgdG8geCBiZWNhdXNlIG9iamVjdHMgd2l0aCBzaGFyZWQgcHJvdG90eXBlIGNoYWlucyB3
aWxsIGJlIG1lcmdlZC4KICAgICB4ID0gbmV3IFByb3RvOworICAgIHhbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeCA9IHgKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpAQCAtMjAsNiArMjIsOCBAQCBQcm90byA9IGZ1bmN0aW9uKCkge307CiBvbGRQcm90byA9
IG51bGw7CiBmb3IgKHZhciBpID0gMDsgaSA8IE1heFN0cnVjdHVyZUNvdW50V2l0aG91dE92ZXJm
bG93IC0gMTsgaSsrKSB7CiAgICAgeSA9IG5ldyBQcm90bzsKKyAgICB5WydmaWVsZCcgKyBpXSA9
IDIwOworICAgIHkgPSB5CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAgICBQcm90byA9IGZ1bmN0
aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9IG9sZFByb3RvLnByb3Rv
dHlwZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDIyMjcxMikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MjI3LDkgKzIyNywxMSBAQCBieXRlY29kZS9MYXp5T3BlcmFuZFZhbHVlUHJvZmlsZS5jcHAKIGJ5
dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9Nb2R1bGVO
YW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5j
cHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAogYnl0ZWNvZGUvT2JqZWN0
UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKK2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWlu
LmNwcAogYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCiBieXRlY29kZS9QcmVjaXNlSnVt
cFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJsb2NrLmNwcApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2pzYy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
c2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTMsNiArOTUzLDkwIEBAIHZvaWQgRE9NSklUQ2hl
Y2tTdWJDbGFzc09iamVjdDo6ZmluaXNoQ3IKICAgICBwdXREaXJlY3ROYXRpdmVGdW5jdGlvbih2
bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImZ1bmMiKSwgMCwg
c2FmZUZ1bmN0aW9uLCBOb0ludHJpbnNpYywgJkRPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3RTaWdu
YXR1cmUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
KTsKIH0KIAorY2xhc3MgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IDogcHVibGljIERPTUpJVE5v
ZGUgeworcHVibGljOgorICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdChWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uodm0sIHN0cnVjdHVyZSkKKyAgICB7Cisg
ICAgfQorCisgICAgREVDTEFSRV9JTkZPOworICAgIHVzaW5nIEJhc2UgPSBET01KSVROb2RlOwor
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgewor
ICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhKU0M6OkpTVHlwZShMYXN0SlNDT2JqZWN0VHlwZSArIDEpLCBTdHJ1Y3R1
cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCisgICAgc3RhdGljIERPTUpJVEdldHRlckJhc2VK
U09iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgeworICAg
ICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGdldHRlciA9IG5ldyAoTm90TnVsbCwgYWxs
b2NhdGVDZWxsPERPTUpJVEdldHRlckJhc2VKU09iamVjdD4odm0uaGVhcCwgc2l6ZW9mKERPTUpJ
VEdldHRlckJhc2VKU09iamVjdCkpKSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Qodm0sIHN0cnVj
dHVyZSk7CisgICAgICAgIGdldHRlci0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1
cm4gZ2V0dGVyOworICAgIH0KKworICAgIGNsYXNzIERPTUpJVEF0dHJpYnV0ZSA6IHB1YmxpYyBE
T01KSVQ6OkdldHRlclNldHRlciB7CisgICAgcHVibGljOgorICAgICAgICBjb25zdGV4cHIgRE9N
SklUQXR0cmlidXRlKCkKKyAgICAgICAgICAgIDogRE9NSklUOjpHZXR0ZXJTZXR0ZXIoCisgICAg
ICAgICAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIsCisjaWYg
RU5BQkxFKEpJVCkKKyAgICAgICAgICAgICAgICAmY2FsbERPTUdldHRlciwKKyNlbHNlCisgICAg
ICAgICAgICAgICAgbnVsbHB0ciwKKyNlbmRpZgorICAgICAgICAgICAgICAgIFNwZWNCeXRlY29k
ZVRvcCkKKyAgICAgICAgeworICAgICAgICB9CisKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBzbG93Q2FsbChFeGVjU3RhdGUqIGV4
ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CisgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhl
Yyk7CisgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNPYmplY3Qq
Pihwb2ludGVyKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqZWN0LT5n
ZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgICAgIH0KKworICAgICAgICBzdGF0aWMgUmVmPERP
TUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNhbGxET01HZXR0ZXIoKQorICAgICAgICB7Cisg
ICAgICAgICAgICBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVyU25pcHBldD4gc25pcHBldCA9IERP
TUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ6OmNyZWF0ZSgpOworICAgICAgICAgICAgc25pcHBl
dC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9IGZhbHNlOworICAgICAgICAgICAgc25pcHBldC0+c2V0
R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBlcnMmIGppdCwgU25pcHBldFBhcmFtcyYgcGFyYW1zKSB7
CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0cyA9IHBhcmFtc1swXS5qc1ZhbHVl
UmVncygpOworICAgICAgICAgICAgICAgIEdQUlJlZyBkb20gPSBwYXJhbXNbMV0uZ3ByKCk7Cisg
ICAgICAgICAgICAgICAgcGFyYW1zLmFkZFNsb3dQYXRoQ2FsbChqaXQuanVtcCgpLCBqaXQsIHNs
b3dDYWxsLCByZXN1bHRzLCBkb20pOworICAgICAgICAgICAgICAgIHJldHVybiBDQ2FsbEhlbHBl
cnM6Okp1bXBMaXN0KCk7CisKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuIHNu
aXBwZXQ7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisKK3ByaXZhdGU6CisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYpOworCisgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGN1c3RvbUdl
dHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgSlNPYmpl
Y3QqIHRoaXNPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQodGhpc09iamVjdCk7Cisg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdC0+Z2V0UHJvdG90eXBlRGly
ZWN0KCkpOworICAgIH0KK307CisKK3N0YXRpYyBjb25zdCBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisKK3Zv
aWQgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7Cisg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGNvbnN0IERPTUpJVDo6R2V0dGVyU2V0
dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0RE9NSklUOworICAgIGF1dG8q
IGN1c3RvbUdldHRlclNldHRlciA9IERPTUF0dHJpYnV0ZUdldHRlclNldHRlcjo6Y3JlYXRlKHZt
LCBkb21KSVQtPmdldHRlcigpLCBudWxscHRyLCBET01BdHRyaWJ1dGVBbm5vdGF0aW9uIHsgSlNP
YmplY3Q6OmluZm8oKSwgZG9tSklUIH0pOworICAgIHB1dERpcmVjdEN1c3RvbUFjY2Vzc29yKHZt
LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3RvbUdldHRlciIpLCBjdXN0b21HZXR0
ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRl
OjpDdXN0b21BY2Nlc3Nvcik7Cit9CisKIGNvbnN0IENsYXNzSW5mbyBFbGVtZW50OjpzX2luZm8g
PSB7ICJFbGVtZW50IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01F
VEhPRF9UQUJMRShFbGVtZW50KSB9OwogY29uc3QgQ2xhc3NJbmZvIE1hc3F1ZXJhZGVyOjpzX2lu
Zm8gPSB7ICJNYXNxdWVyYWRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENS
RUFURV9NRVRIT0RfVEFCTEUoTWFzcXVlcmFkZXIpIH07CiBjb25zdCBDbGFzc0luZm8gUm9vdDo6
c19pbmZvID0geyAiUm9vdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsKQEAgLTk2NSw2ICsxMDQ5LDcgQEAgY29uc3QgQ2xhc3NJ
bmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9IHsgIgogI2VuZGlmCiBjb25zdCBDbGFzc0luZm8gRE9N
SklUR2V0dGVyOjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXIiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlcikgfTsKIGNvbnN0
IENsYXNzSW5mbyBET01KSVRHZXR0ZXJDb21wbGV4OjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXJD
b21wbGV4IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShET01KSVRHZXR0ZXJDb21wbGV4KSB9OworY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdldHRl
ckJhc2VKU09iamVjdDo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0IiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRH
ZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAjaWYgRU5BQkxFKEpJVCkKIGNvbnN0IENsYXNzSW5mbyBE
T01KSVRGdW5jdGlvbk9iamVjdDo6c19pbmZvID0geyAiRE9NSklURnVuY3Rpb25PYmplY3QiLCAm
QmFzZTo6c19pbmZvLCBudWxscHRyLCAmRE9NSklURnVuY3Rpb25PYmplY3Q6OmNoZWNrU3ViQ2xh
c3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEZ1bmN0aW9uT2JqZWN0KSB9Owog
I2Vsc2UKQEAgLTExNDQsNiArMTIyOSw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9u
Q3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklURnVuY3Rpb25PYmpl
Y3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5j
dGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QoRXhlY1N0YXRlKik7CitzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJh
c2VKU09iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbihFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlR2xvYmFsT2JqZWN0KEV4ZWNTdGF0ZSop
Owogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVH
ZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqKTsKQEAgLTE0NjIsNiArMTU0OCw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2Jq
ZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0LCAwKTsKICAgICAg
ICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdCIsIGZ1bmN0aW9u
Q3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwg
ImNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVENo
ZWNrU3ViQ2xhc3NPYmplY3QsIDApOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVCdWlsdGluIiwgZnVu
Y3Rpb25DcmVhdGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVH
bG9iYWxPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9iamVjdCwgMCk7CiAgICAgICAgIGFk
ZEZ1bmN0aW9uKHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUiLCBmdW5jdGlvblNldEltcHVy
ZUdldHRlckRlbGVnYXRlLCAyKTsKQEAgLTIxOTgsNiArMjI4NSwxNiBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShy
ZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRl
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBWTSYgdm0g
PSBleGVjLT52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2NrKHZtKTsKKyAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZt
LCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGpzTnVsbCgpKTsKKyAgICBET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QqIHJlc3VsdCA9IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRl
KHZtLCBzdHJ1Y3R1cmUpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKK30K
KworCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVy
RGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTgxMCw2ICs4MTAsNyBAQAogCQk0NDQzQUUzMzE2RTE4OEQ5
MDA3NkYxMTAgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwRUI2MTA1Qzg2QzZCMDBFNkRGMUIgLyogRm91
bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTQ1MTUzOUI5MTJEQzk5NDUwMEVGN0FDNCAvKiBZ
YXJyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTE1
MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ3M0RBNEE0NzY0QzQ1RkU4NzFCMDQ4NSAvKiBEZWZp
bmVQcm9wZXJ0eUF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE2OTk0OEVERTY4RDQwNTRCMDFFRjc5NyAvKiBEZWZpbmVQcm9wZXJ0eUF0
dHJpYnV0ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyMTEzMUY2MUY4
MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUyMTMyMjQ2MUVDQkNFODIwMEY2NTYx
NSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTIxMzIyNDQxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2Vt
Ymx5RnVuY3Rpb25CYXNlLmggKi87IH07CiAJCTUyNTBEMkQyMUU4REEwNUEwMDI5QTkzMiAvKiBX
YXNtVGh1bmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MjUwRDJEMDFFOERBMDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUyNUMwRERBMUU5MzU4NDcwMDIx
ODRDRCAvKiBXYXNtQ2FsbGVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MjVDMEREODFFOTM1ODQ3MDAyMTg0Q0QgLyogV2FzbUNhbGxlZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMTIxLDYgKzMx
MjIsOCBAQAogCQk0Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMgLyogTW9kdWxlTmFtZXNwYWNlQWNj
ZXNzQ2FzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjBFQjYxMDVD
ODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0g
Rm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9G
b3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJNTFG
MEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsg
bmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xpYi9saWJvYmpjLmR5bGliOyBzb3Vy
Y2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk1MjExMzFGNTFGODJCRjExMDA3Q0NFRUUgLyog
UG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUG9seVByb3RvQWNj
ZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MjExMzFGNjFGODJC
RjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9s
eVByb3RvQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIxMzIy
NDMxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNw
cDsgcGF0aCA9IGpzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTIxMzIyNDQxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVu
Y3Rpb25CYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkFzc2VtYmx5
RnVuY3Rpb25CYXNlLmg7IHBhdGggPSBqcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjUwRDJDRjFFOERBMDVBMDAyOUE5MzIgLyogV2Fz
bVRodW5rcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNtVGh1
bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTczNTYsNiArNzM1OSw4IEBA
CiAJCQkJOTY5QTA3OTUwRUQxRDNBRTAwRjFGNjgxIC8qIE9wY29kZS5oICovLAogCQkJCTBGMkJE
QzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICovLAogCQkJCUE3MDQ0N0U5MTdBMEJE
NDYwMEY1ODk4RSAvKiBPcGVyYW5kc0lubGluZXMuaCAqLywKKwkJCQk1MjExMzFGNTFGODJCRjEx
MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwICovLAorCQkJCTUyMTEzMUY2MUY4
MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oICovLAogCQkJCTBGRjlDRTcx
MUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5jcHAgKi8sCiAJCQkJMEZGOUNF
NzIxQjlDRDZEMDAwNEVEQ0E2IC8qIFBvbHltb3JwaGljQWNjZXNzLmggKi8sCiAJCQkJMEY5ODIw
NUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFyZ2V0cy5jcHAgKi8sCkBAIC04MTk1
LDYgKzgyMDAsNyBAQAogCQkJCUE3OTg2RDU3MTdBMEJCMUUwMEE5NUREMCAvKiBERkdFZGdlVXNl
c1N0cnVjdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4RjE0MzQxQURGMDkwMTAwRUQ3OTJD
IC8qIERGR0Vwb2NoLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkJDMEFFODE0OTZDN0M3MDBENEZC
REQgLyogREZHRXhpdFByb2ZpbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUyMTEzMUY3MUY4MkJG
MTQwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTc4QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTdCRkYzQzAxNzk4Njg5NDAwMDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1
bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OEE5Nzc3MTc5NzM4QjgwMDlERjc0NCAvKiBERkdG
aW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BS
T1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFURV9OQU1FUwogCiBTeW1ib2xJbXBs
OjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC4k
dm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKK1N5bWJvbEltcGw6OlN0YXRpY1N5
bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgeyAiUHJpdmF0ZVN5bWJvbC5fX3By
b3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsKIAogfSAvLyBuYW1lc3BhY2Ug
U3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9QUk9Q
CiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFNRVMKIAogZXh0ZXJuIFN5bWJvbElt
cGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRlTmFtZTsKK2V4dGVybiBTeW1ib2xJ
bXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogfQogCiAj
ZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkobmFtZSkgbV9wcml2YXRl
VG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFtZS5pbXBsKCksICZtXyMjbmFtZSk7
CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX0JVSUxUSU5fU1lN
Qk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZt
LCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZhdGVOYW1lKElkZW50aWZpZXI6OmZy
b21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4oU3ltYm9sczo6ZG9sbGFyVk1Qcml2
YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoSWRlbnRp
Zmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjp1bmRl
cnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAgICAgICAgSlNDX0ZPUkVBQ0hfQlVJ
TFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCiAg
ICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1BFUlRZX05BTUUo
SU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKQEAgLTIzOCw2ICsyNDAsOCBAQCBw
dWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExf
S05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJQ19UT19QUklWQVRFX0VOVFJZKQog
ICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9kb2xsYXJWTVByaXZhdGVOYW1lLmlt
cGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRk
KG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Qcml2YXRlTmFtZSk7CisgICAgICAg
IG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lLmlt
cGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3JlUHJvdG8pOworICAgICAgICBtX3B1
YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmllcnMtPnVuZGVyc2NvcmVQcm90by5p
bXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lKTsKICAgICB9CiAKICAgICBjb25z
dCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25zdCBJZGVudGlmaWVyJikgY29uc3Q7
CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVO
VElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xfQUND
RVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVB1YmxpY05hbWUoKSBj
b25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmll
ciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9sbGFyVk1Qcml2YXRl
TmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgdW5kZXJzY29yZVByb3RvUHJpdmF0
ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOyB9CiAK
IHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRlbnRpZmllcjsKQEAgLTI1OCw2ICsy
NjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNI
X1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9TWU1CT0xTKQogICAgIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIg
bV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX3VuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8VW5pcXVl
ZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRlbnRpZmllclJlcEhhc2g+IEJ1aWx0
aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9wdWJsaWNUb1ByaXZhdGVNYXA7CiAg
ICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGljTWFwOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNwYWNlIEFjY2Vzc0Nhc2VJbnRlcm5h
bCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUFjY2Vzc0Nhc2U6
OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZN
JiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX29mZnNldChv
ZmZzZXQpCisgICAgLCBtX3BvbHlQcm90b0FjY2Vzc0NoYWluKFdURk1vdmUocHJvdG90eXBlQWNj
ZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIHN0
cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25kaXRpb25TZXQ7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25T
ZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2
bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgSW5IaXQ6
CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQXJyYXlMZW5ndGg6
CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBEaXJlY3RBcmd1bWVudHNMZW5ndGg6
CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBNb2R1bGVOYW1lc3Bh
Y2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3
IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNz
Q2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLCBTdHJ1Y3R1cmUq
IG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRp
b25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNj
ZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xkU3RydWN0dXJlID09IG5ld1N0cnVj
dHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0K
IAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0
KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIEFjY2Vzc0Nhc2U6On5B
Y2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+
IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9pbnRTZXQqLCAyPiByZXN1bHQ7CiAK
ICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgpLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9uU2V0Lm5lZWRJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3Bl
cnR5V2F0Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3BvbHlQcm90b0FjY2Vzc0NoYWluICYmIG1f
cG9seVByb3RvQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkpCiAg
ICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hwb2ludFNldEZvckltcHVyZVByb3Bl
cnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNldCgpKQpAQCAtMTUxLDYgKzE1NSw5
IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sKICAgICBpZiAodmlh
UHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKG1fcG9seVByb3RvQWNj
ZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHN3aXRjaCAobV90eXBlKSB7
CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xlbmd0aDoKQEAgLTIxMCw2
ICsyMTcsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2VzcwogICAg
ICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNlT2JqZWN0KCkgPT0gb3RoZXJDYXNl
Lm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAgICBkZWZhdWx0OgorICAgICAgICBp
ZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgaWYgKCFv
dGhlci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkgY2hlY2sgd2UgbmVlZCBzaW5jZSBQ
b2x5UHJvdG9BY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAg
ICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250YWluIG9ubHkgdGhlIHByb3RvdHlw
ZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQorICAgICAgICAgICAgLy8gdGhpcyB0
byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJl
KCkgPT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAgICAgICAmJiAqbV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbiA9PSAqb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbjsKKyAgICAgICAgfQor
CiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSB8fCAhb3RoZXIuZ3VhcmRl
ZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjE5
LDIyICsyMzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBsYWNlKGNvbnN0IEFjY2Vzcwog
CiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBv
dXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJpbnQoIlxuIiwgbV90eXBlLCAiOigi
KTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAgIG91dC5wcmludChjb21tYSwgbV9z
dGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCi0gICAgICAgIG91dC5wcmlu
dChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAi
LCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAgIGVsc2UgaWYgKG1fc3RydWN0dXJl
KQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcCht
X3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFsaWRPZmZzZXQobV9vZmZzZXQpKQog
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAiLCBtX29mZnNldCk7CiAgICAgaWYg
KCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAgIG91dC5wcmludChjb21tYSwgImNv
bmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEsICJwcm90b3R5cGUgYWNjZXNzIGNo
YWluID0gIik7CisgICAgICAgIG1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmR1bXAoc3RydWN0dXJl
KCksIG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9u
KQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1
bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0cnVjdHVyZSgpKSk7Cisg
ICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1h
LCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICB9
CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBvdXQucHJpbnQoIikiKTsKIH0KQEAg
LTI0Myw2ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2aXNpdFdlYWsoVk0mIHZtKSBjb25z
dAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6aXNNYXJrZWQobV9zdHJ1Y3R1cmUu
Z2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKG1fcG9seVByb3RvQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fcG9seVByb3Rv
QWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAgIGlmICghSGVhcDo6aXNNYXJrZWQo
c3RydWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAg
ICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGlsbExpdmUoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsKQEAgLTI3Myw2ICszMDQsMTEgQEAg
Ym9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9ucyhTbAogICAgIGlmIChtX3N0cnVj
dHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9y
KTsKIAorICAgIGlmIChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jaGFpbigpKQorICAg
ICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lmQ2hlYXAodmlzaXRvcik7CisgICAg
fQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIFRyYW5zaXRpb246CiAgICAgICAg
IGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0cnVjdHVyZS0+cHJldmlvdXNJRCgp
KSkKQEAgLTM3MiwyNiArNDA4LDY0IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3Vh
cmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAodmlhUHJveHkoKSkgewot
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFu
Y2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBl
SW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOwotCi0gICAgICAgICAgICBqaXQu
bG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zm
c2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAot
ICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICBpZiAobV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJhc2VGb3JBY2Nlc3NHUFIgPSBzdGF0
ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUoc3RhdGUuYmFzZUdQUiwgYmFzZUZv
ckFjY2Vzc0dQUik7CisgICAgICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5mb3JFYWNo
KHN0cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIGF0RW5kKSB7Cisg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBq
aXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJz
OjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgaWYgKGF0RW5k
KSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBlID09IE1pc3MgfHwgbV90eXBlID09
IEluTWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYgc3RydWN0dXJlLT5oYXNQb2x5UHJv
dG8oKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGEgTWlzcy9Jbk1pc3MvVHJh
bnNpdGlvbiwgd2UgbXVzdCBlbnN1cmUgd2UncmUgYXQgdGhlIGVuZCB3aGVuIHRoZSBsYXN0IGl0
ZW0gaXMgcG9seSBwcm90by4KKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyYW5zaXRpb25z
IG11c3QgZG8gdGhpcyBiZWNhdXNlIHRoZXkgbmVlZCB0byB2ZXJpZnkgdGhlcmUgaXNuJ3QgYSBz
ZXR0ZXIgaW4gdGhlIGNoYWluLgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWlzcy9Jbk1p
c3MgbmVlZCB0byBkbyB0aGlzIHRvIGVuc3VyZSB0aGVyZSBpc24ndCBhIG5ldyBpdGVtIGF0IHRo
ZSBlbmQgb2YgdGhlIGNoYWluIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhcyB0
aGUgcHJvcGVydHkuCisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICBqaXQubG9hZDY0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNl
KG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFz
ZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JM
b29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFzT2JqZWN0KHByb3RvdHlw
ZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3Qo
KSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVkIHByb3RvdHlwZS4gV2UgdXNlIHBy
b3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0
UmVsYXRpdmVUb0Jhc2Uob2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6
OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1
ZU51bGwpKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9KTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwK
LSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQ
cm94eSgpKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1By
b3h5VHlwZSkpKTsKKworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6
QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwor
CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAg
ICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRk
cmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQu
YnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhi
YXNlR1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBi
cmVhazsKICAgICB9IH07CkBAIC00MjgsNiArNTAyLDggQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5l
cmF0ZUltcGwoQWNjZXNzR2VuZQogICAgIEFTU0VSVChtX2NvbmRpdGlvblNldC5zdHJ1Y3R1cmVz
RW5zdXJlVmFsaWRpdHlBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKTsKIAogICAg
IGZvciAoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IG1fY29uZGl0
aW9uU2V0KSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
KTsKKwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbmRpdGlvbi5vYmplY3QoKS0+
c3RydWN0dXJlKCk7CiAKICAgICAgICAgaWYgKGNvbmRpdGlvbi5pc1dhdGNoYWJsZUFzc3VtaW5n
SW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpIHsKQEAgLTUwNCwxMyArNTgwLDE5IEBAIHZvaWQg
QWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JH
ZXRHUFIgPSBiYXNlR1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAg
ICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1v
dmUoCi0gICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0
ZUJhc2UoKSksCi0gICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7CisgICAgICAgIGlmIChtX3Bv
bHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzbid0IHByZXR0eSwg
YnV0IHdlIGtub3cgd2UgZ290IGhlcmUgdmlhIGdlbmVyYXRlV2l0aEd1YXJkLAorICAgICAgICAg
ICAgLy8gYW5kIGl0IGxlZnQgdGhlIGJhc2VGb3JBY2Nlc3MgaW5zaWRlIHNjcmF0Y2hHUFIuIFdl
IGNvdWxkIHJlLWRlcml2ZSB0aGUgYmFzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBpdCdkIHJlcXVp
cmUgZW1pdHRpbmcgdGhlIHNhbWUgY29kZSB0byBsb2FkIHRoZSBiYXNlIHR3aWNlLgogICAgICAg
ICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAg
ICAgICAgICAgIGppdC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAg
ICAgYmFzZUZvckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAg
fQogCiAgICAgICAgIEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAg
ICAgIGlmIChtX3R5cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFj
Y2Vzc29yR2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0g
Q3VzdG9tQWNjZXNzb3JTZXR0ZXIpIHsKQEAgLTEwMTYsNyArMTA5OCw3IEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgCiAgICAgY2FzZSBJbnRyaW5z
aWNHZXR0ZXI6IHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQo
KSkpOwotICAgICAgICAKKwogICAgICAgICAvLyBXZSBuZWVkIHRvIGVuc3VyZSB0aGUgZ2V0dGVy
IHZhbHVlIGRvZXMgbm90IG1vdmUgZnJvbSB1bmRlciB1cy4gTm90ZSB0aGF0IEdldHRlclNldHRl
cnMKICAgICAgICAgLy8gYXJlIGltbXV0YWJsZSBzbyB3ZSBqdXN0IG5lZWQgdG8gd2F0Y2ggdGhl
IHByb3BlcnR5IG5vdCBhbnkgdmFsdWUgaW5zaWRlIGl0LgogICAgICAgICBTdHJ1Y3R1cmUqIGN1
cnJTdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNz
Q2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9BY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2lu
Y2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQuaCIKKyNpbmNsdWRlICJQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUg
PHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xMjAsMTEgKzEyMSwx
MSBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCA9IGludmFsaWRPZmZzZXQsCi0gICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgp
KTsKKyAgICAgICAgU3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksIHN0ZDo6dW5pcXVlX3B0
cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIC8vIFRoaXMgY3JlYXRl
IG1ldGhvZCBzaG91bGQgYmUgdXNlZCBmb3IgdHJhbnNpdGlvbnMuCiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0
eU9mZnNldCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsCi0gICAgICAgIFN0cnVjdHVyZSogbmV3
U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPik7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IGZyb21TdHJ1Y3R1cmVTdHViSW5mbyhWTSYsIEpTQ2VsbCogb3duZXIsIFN0cnVjdHVyZVN0dWJJ
bmZvJik7CiAKQEAgLTE4Niw5ICsxODcsMjUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNj
ZXNzQ2FzZSgpOwogCisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhIW1fcG9seVByb3RvQWNjZXNzQ2hhaW47CisgICAgfQorCiBwcm90ZWN0ZWQ6
Ci0gICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5
T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOwot
ICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKKyAgICBBY2Nlc3ND
YXNlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVj
dHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRy
PFBvbHlQcm90b0FjY2Vzc0NoYWluPik7CisgICAgQWNjZXNzQ2FzZShBY2Nlc3NDYXNlJiYpID0g
ZGVmYXVsdDsKKyAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmIG90aGVyKQorICAgICAg
ICA6IG1fdHlwZShvdGhlci5tX3R5cGUpCisgICAgICAgICwgbV9zdGF0ZShvdGhlci5tX3N0YXRl
KQorICAgICAgICAsIG1fb2Zmc2V0KG90aGVyLm1fb2Zmc2V0KQorICAgICAgICAsIG1fc3RydWN0
dXJlKG90aGVyLm1fc3RydWN0dXJlKQorICAgICAgICAsIG1fY29uZGl0aW9uU2V0KG90aGVyLm1f
Y29uZGl0aW9uU2V0KQorICAgIHsKKyAgICAgICAgaWYgKG90aGVyLm1fcG9seVByb3RvQWNjZXNz
Q2hhaW4pCisgICAgICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWluID0gb3RoZXIubV9wb2x5
UHJvdG9BY2Nlc3NDaGFpbi0+Y2xvbmUoKTsKKyAgICB9CisKICAgICBBY2Nlc3NDYXNlJiBvcGVy
YXRvcj0oY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgp
IHsgbV9zdGF0ZSA9IFByaW1vcmRpYWw7IH0KIApAQCAtMjI3LDYgKzI0NCw4IEBAIHByaXZhdGU6
CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNyArNTkzLDcg
QEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAg
aW50IGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBwY1tvcExlbmd0aCAtIDJdLnUub3BlcmFuZDsK
IAogICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zW2kgKyBvcExlbmd0aCAtIDFdID0gb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGU7Ci0gICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5p
dGlhbGl6ZSh2bSwKKyAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFs
aXplUHJvZmlsZSh2bSwKICAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC5nZXQoKSwgdGhp
cywgbV9nbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpLCBpbmZlcnJlZElubGluZUNhcGFj
aXR5KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3Mg
PSBsaXN0LT5hdChsaXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgp
KQogICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRy
dWUpOworCisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0
dXJlKCk7CiAgICAgICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIs
MTcgQEAgbmFtZXNwYWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNv
bnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVBy
b3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJh
c2UpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBi
b29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3Vz
dG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90
eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5
QmVOdWxsKHZtLCBvd25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZt
LCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwKLSAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9u
PiBkb21BdHRyaWJ1dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5
cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94
eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRp
b25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIHN0ZDo6dW5pcXVlX3B0
cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dp
dGNoICh0eXBlKSB7CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02MywxOCArNjMsMTggQEAgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vz
c0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUs
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0
LCBjdXN0b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBl
LCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNl
dCwgY3VzdG9tU2xvdEJhc2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAg
cmVzdWx0LT5tX2RvbUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3Vz
dG9tQWNjZXNzb3IuZ2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJl
c3VsdCk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCi0gICAgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyLAorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4sIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1
c3RvbVNldHRlciwKICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJU
KHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBD
dXN0b21BY2Nlc3NvclNldHRlcik7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0
b21TbG90QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
PiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJh
c2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5tX2N1c3Rv
bUFjY2Vzc29yLnNldHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1
bHQpOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00OCwxNiArNDgsMTIgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCi0gICAgICAgIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCks
Ci0gICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0
ciwKLSAgICAgICAgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6
bnVsbG9wdCk7CisgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9v
bCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmMsCisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRp
b25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPik7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNy
ZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFN0cnVjdHVyZSosIFByb3BlcnR5
T2Zmc2V0LAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFB1dFBy
b3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CisgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiwKKyAgICAg
ICAgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLCBKU09iamVjdCogY3Vz
dG9tU2xvdEJhc2UgPSBudWxscHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0m
LCBDb21tYVByaW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNj
ZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTY3LDcgKzYzLDcgQEAgcHVibGlj
OgogICAgIHZvaWQqIGN1c3RvbUFjY2Vzc29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21BY2Nl
c3Nvci5vcGFxdWU7IH0KIAogcHJpdmF0ZToKLSAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZN
JiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNl
dCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQs
IFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RC
YXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIEdldHRl
clNldHRlckFjY2Vzc0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSYpOwogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2LDExIEBAIHByaXZhdGU6CiBp
bmxpbmUgU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGU6OmNyZWF0
ZUFsbG9jYXRpb25TdHJ1Y3R1cmVGcm9tQmFzZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIFN0cnVjdHVyZSog
YmFzZVN0cnVjdHVyZSkKIHsKICAgICBBU1NFUlQoIW1fc3RydWN0dXJlIHx8IG1fc3RydWN0dXJl
LmdldCgpLT5jbGFzc0luZm8oKSAhPSBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSk7CisgICAg
QVNTRVJUKGJhc2VTdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKTsKIAogICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlOworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBl
cyBmb3Igc3ViY2xhc3NlcyBvZiBidWlsdGluIHR5cGVzOgorICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICBpZiAocHJvdG90eXBlID09IGJh
c2VTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpKQogICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNl
U3RydWN0dXJlOwogICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogbmFt
ZXNwYWNlIEpTQyB7CiAKIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OkludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYg
Y29uZGl0aW9uU2V0LCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbikKLSAgICA6IEJhc2Uo
dm0sIG93bmVyLCBJbnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25T
ZXQpCisgICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBudWxscHRyKQogewogICAgIG1faW50cmluc2ljRnVuY3Rpb24u
c2V0KHZtLCBvd25lciwgaW50cmluc2ljRnVuY3Rpb24pOwogfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0
Miw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjYW5FbWl0SW50cmluc2ljR2V0dGVyKEpT
RnVuY3Rpb24qLCBTdHJ1Y3R1cmUqKTsKICAgICB2b2lkIGVtaXRJbnRyaW5zaWNHZXR0ZXIoQWNj
ZXNzR2VuZXJhdGlvblN0YXRlJik7CiAKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHdvcmsgd2l0
aCBwb2x5IHByb3RvOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzczMTgKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0
ZShWTSYsIEpTQ2VsbCosIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYsIEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKTsKIAog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9N
b2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogTW9kdWxl
TmFtZXNwYWNlQWNjZXNzQ2FzZTo6TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBtb2R1bGVOYW1lc3BhY2VPYmpl
Y3QsIEpTTW9kdWxlRW52aXJvbm1lbnQqIG1vZHVsZUVudmlyb25tZW50LCBTY29wZU9mZnNldCBz
Y29wZU9mZnNldCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBp
bnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpKQorICAg
IDogQmFzZSh2bSwgb3duZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51
bGxwdHIsIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksIG51bGxwdHIpCiAgICAgLCBtX3Nj
b3BlT2Zmc2V0KHNjb3BlT2Zmc2V0KQogewogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNl
dCh2bSwgb3duZXIsIG1vZHVsZU5hbWVzcGFjZU9iamVjdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2lu
Y2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCitu
YW1lc3BhY2UgSlNDIHsKKwordm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6
ZVByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93
bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5
LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsK
KyAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkp
OworCisgICAgLy8gRklYTUU6IFdoZW4gZ29pbmcgcG9seSBwcm90bywgd2Ugc2hvdWxkIG1ha2Ug
YW4gYWxsb2NhdG9yIGFuZCB0ZWFjaAorICAgIC8vIGNyZWF0ZV90aGlzJyBmYXN0IHBhdGggaG93
IHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QuCisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBm
YWxzZTsKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBudWxscHRyOworICAg
IGlmIChjb25zdHJ1Y3RvcikgeworICAgICAgICBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpz
RXhlY3V0YWJsZSgpOworCisgICAgICAgIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgICAgIGlm
IChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSB0
cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpc1BvbHlQcm90byA9IGV4ZWN1dGFibGUt
PmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKS5oYXNCZWVuSW52YWxpZGF0ZWQoKSAmJiBleGVj
dXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKworICAg
ICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSgpKSB7CisgICAgICAg
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBG
aW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsK
KyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPmlubGluZUNhcGFj
aXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwOworICAgIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRp
YyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURl
ZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAgICAgIGlmICghaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFy
ZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAorICAgICAg
ICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBw
ZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAgICAgICB9
IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFy
ZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCisgICAg
ICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAgICAgICAgICAgIGluZmVy
cmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHko
KTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVD
YXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm9ybWFsIG9y
IGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2Jq
ZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlmIChpc1BvbHlQcm90bykg
eworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IHN0
ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgp
KTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKKyAgICBBU1NFUlQo
aW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisK
KyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0OjphbGxvY2F0aW9uU2l6
ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3IgPSB2bS5j
ZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKworICAgIC8vIFRha2UgYWR2
YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xh
c3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0
b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVu
a25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKKyAgICAgICAgaWYgKGlu
bGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKKyAgICAg
ICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlwZU1hcC5l
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAgIGlmIChpc1BvbHlQcm90bykgewor
ICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7CisgICAgICAgIG1fYWxs
b2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgZXhlY3V0YWJsZS0+c2V0Q2FjaGVkUG9seVByb3Rv
U3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChleGVj
dXRhYmxlKSB7CisgICAgICAgICAgICBleGVjdXRhYmxlLT5lbnN1cmVQb2x5UHJvdG9XYXRjaHBv
aW50KCk7CisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmVuc3VyZVJhcmVEYXRhKHZtKS0+c2V0U2hh
cmVkUG9seVByb3RvV2F0Y2hwb2ludChleGVjdXRhYmxlLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBv
aW50KCkpOworICAgICAgICB9CisKKyAgICAgICAgbV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7Cisg
ICAgfQorCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJlYWQgc2VlcyB0aGUgc3Ry
dWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisgICAgV1RGOjpzdG9yZVN0
b3JlRmVuY2UoKTsKKworICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7
CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OworfQorCit1bnNpZ25lZCBP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYg
dm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7CisgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5
cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5
TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZh
dGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQ
cm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0
aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3Rv
ciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0
eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnR5TmFtZVZl
Y3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90eXBlLT5n
ZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7CisKKyAgICAgICAgLy8gRnVuY3Rp
b25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRoYXQg
YXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9u
Kj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICsrY291bnQ7
CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmls
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpA
QCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAh
bV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1f
YWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7Ci0gICAgICAgIEFTU0VS
VCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6
OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gc2hyaW5r
IHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgotICAgICAgICAgICAgaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90
b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNpdHkpIHsKLSAg
ICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBtb3N0IGxpa2VseSB0
aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Ci0gICAgICAgICAgICAgICAgLy8gc2VlIHRo
ZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIg
ZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0Zp
bmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgICAgIH0gZWxzZSBp
ZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBwcm9wZXJ0aWVzIGFyZSB3
ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBhIHNtYWxsCi0gICAgICAg
ICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICAgICAg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBh
Y2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkg
PCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLSAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCi0gICAgICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBpZiAoaW5s
aW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAg
ICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOwot
ICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9i
amVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOwotICAgICAgICBNYXJrZWRBbGxv
Y2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNp
emUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFrZSBhZHZhbnRhZ2Ugb2YgZXh0cmEgaW5saW5l
IGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KLSAgICAgICAgaWYgKGFsbG9j
YXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgp
IC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7Ci0gICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwotICAgICAgICAgICAgaWYgKGlubGluZUNh
cGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAg
ICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZtLnByb3RvdHlw
ZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3Ro
ZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3Jl
YXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwotCi0gICAgICAgIG1fYWxsb2Nh
dG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1
Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Ci0gICAg
fQorICAgIHZvaWQgaW5pdGlhbGl6ZVByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTQ2Vs
bCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2Fw
YWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7CiAKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRvciA9IDA7CisgICAgICAgIG1f
YWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsKICAgICAg
ICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChpc051bGwoKSk7CkBAIC0x
MjUsMjggKzczLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLQotICAgIHVuc2lnbmVk
IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCogcHJvdG90eXBl
KQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVj
dCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAg
IHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5IHByb3BlcnR5TmFt
ZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5bWJvbHMsIFByaXZhdGVT
eW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0
UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJh
dGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1l
VmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnBy
b3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3Bl
cnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9
IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOwotCi0gICAg
ICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxl
dmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAgICAgICAgICBpZiAoanNE
eW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9Ci0gICAgICAgIHJldHVy
biBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3Vu
dChWTSYsIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2VkQWxsb2NhdG9yKiBtX2Fs
bG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFzaWVyIGZvciBnZW5lcmF0
ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0cnVjdHVyZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjA0LDExICsyMDQsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb24g
Z2VuZXJhdGVDb25kaXRpbwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0
eUNvbmRpdGlvbjo6QWJzZW5jZTogeworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJv
dG8oKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAg
ICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5jZSgKICAgICAgICAg
ICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCktPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVy
dHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAgICBpZiAoc3RydWN0dXJl
LT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJzZW5j
ZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0
LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwogICAgICAgICBicmVhazsK
QEAgLTI1OCw2ICsyNjIsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgZ2VuZXJhdGVD
b25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94eSwgc28gaW52YWxpZC5c
biIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZh
bGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8o
KSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEludGVncmF0ZSB0aGlzIHdpdGggUG9seVByb3Rv
QWNjZXNzQ2hhaW46CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICAvLyBPciBhdCBsZWFzdCBhbGxvdyBPUEMg
c2V0IGdlbmVyYXRpb24gd2hlbiB0aGUKKyAgICAgICAgICAgIC8vIGJhc2UgaXMgbm90IHBvbHkg
cHJvdG86CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3NzIxCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgSlNWYWx1ZSB2YWx1
ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CiAgICAgICAg
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0No
YWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9s
eVByb3RvQWNjZXNzQ2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBvbHlQcm90b0FjY2Vzc0NoYWlu
LmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworc3RkOjp1
bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3Jl
YXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJv
cGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTT2JqZWN0KiB0
YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNsb3RCYXNlKCk7CisgICAg
cmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3QsIGJhc2UsIHRhcmdldCwgdXNlc1BvbHlQcm90byk7
Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gUG9seVByb3RvQWNj
ZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJh
c2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNDZWxs
KiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0oKTsKKworICAgIGJvb2wg
Zm91bmQgPSBmYWxzZTsKKworICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxzZTsKKworICAgIHN0ZDo6
dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcmVzdWx0KG5ldyBQb2x5UHJvdG9BY2Nl
c3NDaGFpbigpKTsKKworICAgIGZvciAodW5zaWduZWQgaXRlcmF0aW9uTnVtYmVyID0gMDsgdHJ1
ZTsgKytpdGVyYXRpb25OdW1iZXIpIHsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBj
dXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmICghc3RydWN0dXJlLT5wcm9wZXJ0
eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAgICAgICAgICBpZiAoc3Ry
dWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1
Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFRv
IHNhdmUgbWVtb3J5LCB3ZSBkb24ndCBpbmNsdWRlIHRoZSBiYXNlIGluIHRoZSBjaGFpbi4gV2Ug
bGV0CisgICAgICAgIC8vIEFjY2Vzc0Nhc2UgcHJvdmlkZSB0aGUgYmFzZSB0byB1cyBhcyBuZWVk
ZWQuCisgICAgICAgIGlmIChpdGVyYXRpb25OdW1iZXIpCisgICAgICAgICAgICByZXN1bHQtPm1f
Y2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGN1cnJlbnQgPT0gYmFzZSk7CisKKyAgICAgICAgaWYgKGN1cnJlbnQgPT0gdGFy
Z2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHByb3RvIGlmIHdlIG5lZWQg
dG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRoZSBwb2x5IHByb3RvIHBy
b3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkgcHJvdG8KKyAgICAgICAg
Ly8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hlIGhpdCBvbiBpdCwgdGhl
biB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAgICAgdXNlc1BvbHlQcm90
byB8PSBzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50
KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICB9CisKKyAgICBpZiAo
IWZvdW5kICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKK2Jvb2wgUG9seVByb3RvQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9w
ZXJ0eVdhdGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
OiBtX2NoYWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdh
dGNocG9pbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgUG9seVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0oY29uc3Qg
UG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBtX2NoYWlu
ID09IG90aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUG9seVByb3RvQWNjZXNzQ2hhaW46OmR1bXAo
U3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdAoreworICAg
IG91dC5wcmludCgiUG9seVBvbHlQcm90b0FjY2Vzc0NoYWluOiBbXG4iKTsKKyAgICBmb3JFYWNo
KGJhc2VTdHJ1Y3R1cmUsIFsmXSAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wpIHsKKyAgICAg
ICAgb3V0LnByaW50KCJcdCIpOworICAgICAgICBzdHJ1Y3R1cmUtPmR1bXAob3V0KTsKKyAgICAg
ICAgb3V0LnByaW50KCJcbiIpOworICAgIH0pOworfQorCit9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uaAkobm9u
ZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNj
ZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNHbG9iYWxPYmpl
Y3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsKK2NsYXNzIFN0cnVjdHVy
ZTsKKworY2xhc3MgUG9seVByb3RvQWNjZXNzQ2hhaW4geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbHlQcm90b0FjY2Vzc0NoYWluKTsK
KworcHVibGljOgorICAgIFBvbHlQcm90b0FjY2Vzc0NoYWluKFBvbHlQcm90b0FjY2Vzc0NoYWlu
JikgPSBkZWZhdWx0OworCisgICAgLy8gUmV0dXJucyBudWxscHRyIHdoZW4gaW52YWxpZC4KKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBjcmVhdGUoSlNH
bG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYsIGJvb2wmIHVz
ZXNQb2x5UHJvdG8pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNz
Q2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSwgSlNPYmplY3QqIHRh
cmdldCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
dW5pcXVlPFBvbHlQcm90b0FjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAgY29uc3Qg
VmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47IH0KKwor
ICAgIHZvaWQgZHVtcChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0OworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBvbHlQcm90b0FjY2Vzc0NoYWlu
JiBvdGhlcikgY29uc3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFBvbHlQcm90b0FjY2Vz
c0NoYWluJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90
aGVyKTsKKyAgICB9CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBj
b25zdDsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9yRWFjaChT
dHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0CisgICAgewor
ICAgICAgICBib29sIGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5jKGJhc2VT
dHJ1Y3R1cmUsIGF0RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hh
aW4uc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9jaGFpbi5z
aXplKCk7CisgICAgICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAgICAgfQor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBQb2x5UHJvdG9BY2Nlc3NDaGFpbigpID0gZGVmYXVsdDsK
KworICAgIC8vIFRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBvbiBBY2Nl
c3NDYXNlIHByb3ZpZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisgICAgLy8g
c3RydWN0dXJlIGlzIHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3aXRoLgor
ICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlt
b3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCwyNCBAQCBBY2Nl
c3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKGNhc2VzVG9BZGQu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6TWFkZU5v
Q2hhbmdlczsKIAorICAgIGJvb2wgc2hvdWxkUmVzZXQgPSBmYWxzZTsKKyAgICBmb3IgKGF1dG8m
IGNhc2VUb0FkZCA6IGNhc2VzVG9BZGQpIHsKKyAgICAgICAgZm9yIChhdXRvJiBleGlzdGluZ0Nh
c2UgOiBtX2xpc3QpIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9IGNhc2VUb0FkZC0+c3Ry
dWN0dXJlKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBleGlzdGluZ0Nhc2UtPnN0cnVj
dHVyZSgpOworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVBy
b3RvKGEsIGIpKSB7CisgICAgICAgICAgICAgICAgLy8gT09QUzogbWF5YmUgdGhpcyB3aWxsIGRl
c3Ryb3kgb3Vyc2VsdmVzIGlmIHdlIHN0YXJ0IHdhdGNoaW5nIGZvciB0aGVzZT8gSWYgc28sIGhh
dmUgYSB3YXkgdG8gY29sbGVjdCwgYW5kIGZpcmUKKyAgICAgICAgICAgICAgICAvLyB0aGVtIGlu
IGRlbGF5ZWQgZmFzaGlvbi4KKyAgICAgICAgICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+
c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQoKSk7CisgICAgICAgICAgICAgICAgc2hvdWxkUmVz
ZXQgfD0gYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5oYXNCZWVu
SW52YWxpZGF0ZWQoKTsgLy8gV2Ugb25seSByZXNldCBpZiB0aGlzIGlzIG91ciBmaXJzdCB0aW1l
IGludmFsaWRhdGluZyB0aGlzIHdhdGNocG9pbnQuCisgICAgICAgICAgICAgICAgYS0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdG
aXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzaG91bGRSZXNldCkKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkNsZWFyU3R1YjsKKwogICAgIC8vIE5vdyBh
ZGQgdGhpbmdzIHRvIHRoZSBuZXcgbGlzdC4gTm90ZSB0aGF0IGF0IHRoaXMgcG9pbnQsIHdlIHdp
bGwgc3RpbGwgaGF2ZSBvbGQgY2FzZXMgdGhhdAogICAgIC8vIG1heSBiZSByZXBsYWNlZCBieSB0
aGUgbmV3IG9uZXMuIFRoYXQncyBmaW5lLiBXZSB3aWxsIHNvcnQgdGhhdCBvdXQgd2hlbiB3ZSBy
ZWdlbmVyYXRlLgogICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgewpAQCAt
MzM5LDcgKzM1Nyw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MK
ICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0
YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7
CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NH
ZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAg
ICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsK
QEAgLTU5MCw2ICs2MDgsOSBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwg
QWNjCiAgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpHZW5lcmF0ZWRGaW5hbENvZGU6
CiAgICAgICAgIG91dC5wcmludCgiR2VuZXJhdGVkRmluYWxDb2RlIik7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OkNsZWFyU3R1YjoKKyAgICAgICAg
b3V0LnByaW50KCJDbGVhclN0dWIiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjcx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoKICAgICAgICAgR2F2ZVVw
LAogICAgICAgICBCdWZmZXJlZCwKICAgICAgICAgR2VuZXJhdGVkTmV3Q29kZSwKLSAgICAgICAg
R2VuZXJhdGVkRmluYWxDb2RlIC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZl
ciB3YW50IHRvIGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAgICAgIEdlbmVyYXRlZEZpbmFsQ29k
ZSwgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJh
dGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgQ2xlYXJTdHViIC8vIFdlIGZvdW5kIG91dCBzb21lIGRh
dGEgdGhhdCBtYWtlcyB1cyB3YW50IHRvIHN0YXJ0IG92ZXIgZnJlc2ggd2l0aCB0aGlzIHN0dWIu
IEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIHdoZW4gd2UgZGV0ZWN0IHBvbHkgcHJvdG8uCiAgICAg
fTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0KCkKQEAgLTk4LDYgKzk5LDcgQEAg
cHVibGljOgogICAgIGJvb2wgYnVmZmVyZWQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQnVm
ZmVyZWQ7IH0KICAgICBib29sIGdlbmVyYXRlZE5ld0NvZGUoKSBjb25zdCB7IHJldHVybiBtX2tp
bmQgPT0gR2VuZXJhdGVkTmV3Q29kZTsgfQogICAgIGJvb2wgZ2VuZXJhdGVkRmluYWxDb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kID09IEdlbmVyYXRlZEZpbmFsQ29kZTsgfQorICAgIGJvb2wg
c2hvdWxkQ2xlYXJTdHViKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IENsZWFyU3R1YjsgfQog
ICAgIAogICAgIC8vIElmIHdlIGdhdmUgdXAgb24gdGhpcyBhdHRlbXB0IHRvIGdlbmVyYXRlIGNv
ZGUsIG9yIGlmIHdlIGdlbmVyYXRlZCB0aGUgImZpbmFsIiBjb2RlLCB0aGVuIHdlCiAgICAgLy8g
c2hvdWxkIGdpdmUgdXAgYWZ0ZXIgdGhpcy4KQEAgLTE3MSwxNCArMTczLDE2IEBAIHByaXZhdGU6
CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0
aW9uU3RhdGUoVk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwg
bV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lz
dGVyc0ZvckNhbGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRz
VG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxh
dGVkQ2FsbFNpdGVJbmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAg
IEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7
IG51bGxwdHIgfTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAg
ICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNl
ZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
cGVydHlDb25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNywxNCArMTA3LDMwIEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3Rp
bGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92
ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBz
aG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BD
IGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICB9CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+
Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIHRoZSBw
cm9wZXJ0eSBleGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJyZW50T2Zmc2V0LCAiXG4iKTsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKKworICAg
ICAgICBKU09iamVjdCogY3VycmVudFByb3RvdHlwZTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzTW9ub1Byb3RvKCkpCisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChiYXNlKTsKKyAgICAgICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVjdHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBl
RGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0g
cHJvdG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFs
Ojp2ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAg
ICAgIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvdG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCksICIgZXZlbiB0aG91Z2ggIgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMg
aXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAg
ICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMg
d29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8u
CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlw
ZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9z
ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vz
c0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5
YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3Rk
Ojp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikK
KyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJv
eHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0K
IAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09
IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOwor
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2
aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsK
IH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMg
QWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAg
dXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0K
IAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlND
ZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0g
ICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNj
ZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwg
Q29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+
KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3Mg
PSBsaXN0LT5hdChpKTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKKyAgICAgICAg
ICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBQ
dXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBQ
dXRCeUlkVmFyaWFudCB2YXJpYW50OwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTEgQEAgQWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3RydWN0dXJlU3R1
YkluZm9JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkhhZCBzdHViLCBy
ZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRDbGVh
clN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgp
KSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJu
YWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJDcmVhdGVkIHN0dWIsIHJlc3VsdDog
IiwgcmVzdWx0LCAiXG4iKTsKIAorICAgICAgICBpZiAocmVzdWx0LnNob3VsZENsZWFyU3R1Yigp
KSB7CisgICAgICAgICAgICByZXNldChjb2RlQmxvY2spOworICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAg
ICAgICAgICAgIGJ1ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc0NCw2ICszNzQ0
LDExIEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRo
ZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBw
cm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFy
ZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVT
ZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhh
dCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9Q
dXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93
LCBpZiB3ZSBoYXZlIGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3
aWxsCisgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUg
b25jZSB3ZSBoYXZlIGEgaHlicmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAg
IC8vIHBvbHkgcHJvdG86CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7
ICsraSkgewpAQCAtNDM0MSwxMiArNDM0NiwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAg
ICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEo
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVl
IGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAg
IGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNl
dChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRv
R3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1
cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFs
bG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFy
ZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxl
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5m
byhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RT
cHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0g
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVBy
b3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1
cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAg
IGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlw
ZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkKKyAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQog
ICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAg
IGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURh
dGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJl
LT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyOTIsNyArNDI5Miw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQ
dHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQu
bG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0
YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNs
b3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBh
bGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIs
IG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBz
Y3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJ
VENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0
YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JD
CiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5
cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVl
UmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0
Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5
cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJl
Z3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5
LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwog
ICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJs
ZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9B
c3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNo
UmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2Jq
ZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNl
dCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9h
ZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICAvLyBPT1BTOiAzMi1iaXQgaGVyZQorICAgIG1faml0LmxvYWQ2NChNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRD
b21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6
VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNS
ZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3Jh
dGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3Rh
bmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywg
cHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2Vs
bChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgx
LDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4K
ICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxk
MigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRo
aXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAg
ICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNj
cmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3Mo
KSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9h
ZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAg
ICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVn
LCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGls
ZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRj
aFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUu
bGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0
aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigp
OwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVn
IHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNj
cmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwog
ICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90
b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRj
aFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTks
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEo
Tm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJp
Y3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90
eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsK
KyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVS
ZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJS
ZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5z
dGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1MywxMiBAQCBwcml2
YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwot
ICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAg
ICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9u
b2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5NzQsMTYgKzg5NzYs
MjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1f
b3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0g
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAg
ICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1
ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1
ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJ
bmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVx
dWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAg
ICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNl
U2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShk
ZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBy
b3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhs
b2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1
cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5
cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUp
OworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVy
ZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
ZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1f
b3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byks
IHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9h
ZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1f
b3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7Cisg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAg
ICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55
TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5s
aW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOwor
CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNl
KTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRp
cmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3Rh
bmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9v
dXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJv
dG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2Yg
dGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAg
ICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhl
biBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3Ry
dWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhy
ZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9h
ZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJl
c3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0
byBoYXNNb25vUHJvdG8gPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7Cisg
ICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4
KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFn
ZSgpKSwgcmVnVDQpOworICAgIGhhc01vbm9Qcm90by5saW5rKHRoaXMpOworICAgIG1vdmUocmVn
VDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1Qy
LCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMp
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJv
dG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8v
IEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNl
dC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1c2VzUG9s
eVByb3RvKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgdXNlIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IGluc3RlYWQgZm9yIGZhc3RlciBhY2Nlc3Nlcy4KKyAgICAgICAgICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNv
ZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDog
c2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdl
dHRlciA9IG51bGxwdHI7CkBAIC0yOTMsMTMgKzMwNywxNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFBy
b3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9p
bnRTZXQoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0
dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIo
Z2V0dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vz
c0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOworICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFy
Z2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5F
bWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSAmJiAhcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsg
d2l0aCBwb2x5IHByb3RvLCBidXQgZm9yIG91ciBvd24gc2FuaXR5LCB3ZSBwcm9iYWJseQorICAg
ICAgICAgICAgLy8gd2FudCB0byBkbyBhIHBvaW50ZXIgY2hlY2sgb24gdGhlIGFjdHVhbCBnZXR0
ZXIuIEEgZ29vZCB0aW1lIHRvIG1ha2UgdGhpcyB3b3JrIHdvdWxkCisgICAgICAgICAgICAvLyBi
ZSB3aGVuIHdlIGNhbiBpbmhlcml0IGZyb20gYnVpbHRpbiB0eXBlcyBpbiBwb2x5IHByb3RvIGZh
c2hpb246CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzE4CiAgICAgICAgICAgICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBnZXR0ZXIpOwotICAgICAgICBlbHNlIHsKKyAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5z
ZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDog
QWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkp
OworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBB
Y2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXND
YWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2Fj
aGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAg
ICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDog
bnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0zODYsNiArNDA0LDcgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBuZXdDYXNlOworICAg
IEpTQ2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAKICAgICBpZiAoc2xvdC5i
YXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogICAgICAgICBp
ZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlTbG90OjpFeGlzdGluZ1Byb3BlcnR5KSB7CkBA
IC00MjksNDggKzQ0OCw4MyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRC
eUlECiAgICAgICAgICAgICBBU1NFUlQoIW5ld1N0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpOwog
ICAgICAgICAgICAgQVNTRVJUKG5ld1N0cnVjdHVyZS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAg
ICAKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCBjb25kaXRpb25TZXQ7CiAgICAgICAgICAgICBpZiAocHV0S2luZCA9PSBOb3REaXJlY3QpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1pc3MoCi0gICAgICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAg
ICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJ
dCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAg
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25k
aXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvcGVydHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVC
bG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAg
ICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNo
ZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxlU2V0dGVyKCkpIHsKICAgICAgICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQgY29uZGl0aW9uU2V0OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBv
bHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKIAogICAgICAgICAgICAg
aWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2Vz
UG9seVByb3RvOworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVBy
b3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VD
ZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFs
aWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3Nv
cigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0
b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0g
ICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNz
Q2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRl
ciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0g
YmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwotICAgICAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRp
dGlvbigpLm9mZnNldCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90
eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisKKyAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQob2Zmc2V0ID09IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9m
ZnNldCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0
LCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFjY2Vzc0Nh
c2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01MTcsMTUgKzU3MSwz
NSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUo
dm0pOwogICAgIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0
aW9uU2V0OwogICAgIGlmICh3YXNGb3VuZCkgewogICAgICAgICBpZiAoc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2UpIHsKLSAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9u
c0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hh
aW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFj
Y2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90
bykgeworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5
cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6
Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQ
cm90byk7CisgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
IC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgh
dXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxs
cHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIWNvbmRpdGlvblNl
dC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcgKzYw
Nyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgTE9HX0lD
KChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlkZW50
KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNl
OjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nh
c2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogCiAgICAgQWNj
ZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBzdHViSW5mby5hZGRBY2Nlc3NDYXNlKGxvY2tl
ciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShuZXdDYXNlKSk7CiAgICAgCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2NjcsMjQgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7CiAKKyAgICAgICAgeworICAgICAgICAgICAg
U3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOworICAgICAg
ICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAgICAgICAgICAgICAgYXV0byBvcGNvZGUg
PSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0pOworICAgICAgICAgICAgICAgIGlmIChv
cGNvZGUgPT0gb3BfZ2V0X2J5X2lkCisgICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBv
cF9nZXRfYnlfaWRfdW5zZXQKKyAgICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9wX2dl
dF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9
IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJl
KHZtKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0
VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52
YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1
bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZh
bHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxsLT5z
dHJ1Y3R1cmUoKTsKICAgICAgICAgaWYgKHNsb3QuaXNWYWx1ZSgpICYmIHNsb3Quc2xvdEJhc2Uo
KSA9PSBiYXNlVmFsdWUpIHsKQEAgLTczNyw2ICs3NTUsMjIgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAKKworICAgICAgICB7CisgICAgICAg
ICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJRCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7Cisg
ICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQpOwor
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKHZtKTsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlT
bG90OjpOZXdQcm9wZXJ0eSkKKyAgICAgICAgICAgICAgICAgICAgYiA9IGItPnByZXZpb3VzSUQo
KTsKKworICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQ
cm90byhhLCBiKSkgeworICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQ
b2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRl
dGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICBi
LT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0s
IFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8v
IFN0YXJ0IG91dCBieSBjbGVhcmluZyBvdXQgdGhlIG9sZCBjYWNoZS4KICAgICAgICAgcGNbNF0u
dS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xkIHN0cnVjdHVyZQogICAgICAgICBwY1s1XS51LnBv
aW50ZXIgPSBudWxscHRyOyAvLyBvZmZzZXQKQEAgLTc2MCwxNiArNzk0LDE3IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPm91dE9m
TGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNpdGlv
bldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7CiAKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52YWxp
ZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgc2F3UG9seVByb3Rv
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgYmFzZUNlbGwsIHNhd1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJv
dG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3Vz
SUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVj
dHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlkKCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJ
ZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5
cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10u
dS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51
LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFn
cyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxp
bmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVj
dCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZt
LCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICBy
ZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhl
Y1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwg
dWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1
ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2Fz
ZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3du
VG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25U
b0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0
aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9p
bmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0
aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxl
bmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRh
ICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsK
QEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFy
cmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYm
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAg
IGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBz
dG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwpAQCAtMTE3Niw3ICsxMTc1LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRz
KEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4
aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNl
LT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291
cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1
aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSog
YnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9y
YWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3Ro
KTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3Rv
ciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVy
IGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgo
dmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRB
cmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRo
YXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmpl
Y3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBt
YXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0
eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1
cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCAr
MTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9
IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFy
Z3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCgh
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZy
YW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRz
TW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElu
bGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFT
U0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpz
VmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9w
ZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVE
YXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3Ry
dWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCks
IGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9
IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2
Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVl
IHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRy
ZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3Ip
OwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFs
Q29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0
YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGFibGUuaCIKICNp
bmNsdWRlICJTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSA8d3RmL0JveC5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtMTcyLDYgKzE3MywxOCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwog
CiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3Npbmds
ZXRvbkZ1bmN0aW9uLmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciB0aGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3Ry
dWN0dXJlKiBjYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQ
cm90b1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0
dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CisKKyAgICBJbmxpbmVXYXRjaHBvaW50
U2V0JiBlbnN1cmVQb2x5UHJvdG9XYXRjaHBvaW50KCkKKyAgICB7CisgICAgICAgIGlmICghbV9w
b2x5UHJvdG9XYXRjaHBvaW50KQorICAgICAgICAgICAgbV9wb2x5UHJvdG9XYXRjaHBvaW50ID0g
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+OjpjcmVhdGUoSXNXYXRjaGVkKTsKKyAgICAgICAgcmV0
dXJuICptX3BvbHlQcm90b1dhdGNocG9pbnQ7CisgICAgfQorCisgICAgQm94PElubGluZVdhdGNo
cG9pbnRTZXQ+IHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3Bv
bHlQcm90b1dhdGNocG9pbnQ7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0
YWJsZUJhc2U7CkBAIC0xODksNiArMjAyLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8
RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxU
eXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVy
cmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CisgICAgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1
bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlv
blJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3Ry
dWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBn
bG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwg
dGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lk
IEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAg
ICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJ
bnRlcm5hbEZ1bmN0aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9u
OjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5l
d1RhcmdldCwgU3RydWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NF
UlQoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQo
bmV3VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VS
VChiYXNlQ2xhc3MtPmhhc01vbm9Qcm90bygpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUg
YW4gSW50ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3Ry
dWN0LgogICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1
bmN0aW9uKj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTczOCw3ICs3MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBl
CiAgICAgY2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6
IHsKICAgICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlO
X1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRF
WCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3
Myw3ICs3NzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAg
ICAgCiAgICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBp
biBhbiBhYm5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGlu
IEFycmF5UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAo
KHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAog
ICAgICAgICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBi
ZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQg
aGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdl
IHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVk
IGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewog
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7
CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSAr
IGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05
NDUsNyArOTQ1LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAog
ICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92
aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAg
Ly8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4g
aW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAt
IGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
ZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBA
QCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVj
dHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY0LDggKzY0LDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0m
IHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZl
IGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBh
bmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90
eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTky
Ci0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkK
LSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5n
U3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFz
c09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBi
dXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRl
eHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRl
eHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAg
ICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7
CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6
ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVj
dHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2Ug
aWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXN5bmNHZW5lcmF0b3JQcm90
b3R5cGUuaCIKICNpbmNsdWRlICJCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJDYXRjaFNjb3Bl
LmgiCiAjaW5jbHVkZSAiQ2xvbmVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgi
CiAjaW5jbHVkZSAiQ29tbW9uSWRlbnRpZmllcnMuaCIKQEAgLTEyNiwxNiArMTI3LDI0IEBAIEZ1
bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJl
RGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHNjb3BlLCAh
c2NvcGUuZXhjZXB0aW9uKCkpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAg
ICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rp
b246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90
IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0g
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7
Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+
b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEg
PSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhp
cyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byBy
ZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMg
aXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1OCw4IEBAIEZ1bmN0aW9uUmFyZURh
dGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFs
T2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xv
YmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzcxLDcg
KzM3Nyw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAg
ICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0
aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zm
c2V0KTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFtZSk7
CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wgdmFsdWUgaWYg
dGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNPYmplY3QqIHBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01h
cC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjpp
c0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxP
YmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBl
KCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJv
dG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5k
Tm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVT
ZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGds
b2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElu
bGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2Jq
LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1
dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRo
aXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8
fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRl
cmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9
IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0g
aW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5
KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9s
ZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVs
bCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBT
dHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0
ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2
LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQog
ewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNv
bnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVl
cyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcg
KzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBA
IC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGln
dW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0
VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3
LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAg
IHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
ICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJu
IGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcg
QEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3Jl
YXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIy
IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAg
ICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uo
dm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAg
QVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAg
QVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VP
VVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90
b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAg
ICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAg
IAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5
cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVj
dHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVj
dHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJl
KHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUp
OworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQ
cm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBp
ZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVy
ZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3Jk
aW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVm
YXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4g
YXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAg
ICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9
PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAv
LyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFu
ZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5
SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4
Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAg
ICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBj
cmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwg
aSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywg
dmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAt
MzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgo
RQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChF
eGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBW
TSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0g
dGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
KyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJy
ZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdl
dFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwor
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5n
ZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAg
ICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmlu
Z0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUu
aCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIK
KyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgog
I2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpA
QCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1Nl
YWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAg
IGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2
bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5z
aWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsK
ICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJp
dHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNO
dWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVj
dCgpKSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aGFzUG9seVByb3RvKCkgfHwgZ2V0
UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpo
ZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+
aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0x
Mjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0
CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAog
ewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJu
IHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVl
IEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAw
LDcgKzE0MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0
LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9w
ZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtl
IGl0J3MgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYg
KCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9w
ZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
OwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxl
LmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRo
b2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkp
Ci0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlw
ZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxz
ZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRO
b25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBp
ZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlw
ZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0g
UHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAg
ICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAg
cHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7
CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTks
NyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAg
IH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJv
cGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSkt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7Cisg
ICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJl
Y3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0
TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNzEyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5z
dHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVy
YXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAg
ICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlw
ZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9w
ZXJ0aWVzID0gMDsKQEAgLTEzMywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqIHByb3BlcnQKIAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJ
TlQzMl9NQVgpOwogCi0gICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbjsKKyAgICBib29sIHNhd1BvbHlQcm90bzsKKyAgICBib29sIHN1Y2Nlc3NmdWxseU5vcm1h
bGl6ZWRDaGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UsIHNhd1BvbHlQ
cm90bykgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgs
IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAg
IGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5
Tm9ybWFsaXplZENoYWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxs
eU5vcm1hbGl6ZWRDaGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgewor
ICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJl
LT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNh
bkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5z
ZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29s
IEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9
PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNT
ZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNh
bkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlz
U2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5n
ZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNv
bmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0g
ICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzYsMjMgKzEzNiwzMCBAQCBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSB2
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3NpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNDZWxsKiBiYXNlLCBi
b29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFsc2U7CisgICAgSlNDZWxs
KiBjdXJyZW50ID0gYmFzZTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gY2Fs
bEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAgd2hpbGUgKDEpIHsKKyAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBp
ZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3Rv
dHlwZUNoYWluOwotICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChjYWxsRnJhbWUpOwotICAgICAgICBpZiAodi5pc051bGwoKSkKKworICAgICAgICBzYXdQ
b2x5UHJvdG8gfD0gc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKKworICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwg
Y3VycmVudCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gY291bnQ7CiAKLSAgICAgICAgSlNDZWxsKiBiYXNlID0gdi5hc0NlbGwoKTsKLSAgICAg
ICAgc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IHBy
b3RvdHlwZS5hc0NlbGwoKTsKKyAgICAgICAgc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKTsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKICAgICAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOwotICAgICAgICAgICAgc3RydWN0dXJl
LT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoYmFzZSkpOworICAgICAg
ICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3Qo
Y3VycmVudCkpOwogICAgICAgICB9CiAKICAgICAgICAgKytjb3VudDsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzQsNyArMzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFt
ZSosCiBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlKTsKIGJvb2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7
CiBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90
eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90
eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgSlNDZWxsKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxX
QVlTX0lOTElORSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyog
czEsIEpTU3RyaW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYg
Y29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21D
b250ZXh0LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCks
IHdlIHdpbGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGlu
IGl0IHRvIGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2Vt
Ymx5VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlu
a0luZm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwg
dXNlT2JqZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFi
bGUgT2JqZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlB
bGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBv
dXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9j
YXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2
KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1
ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYg
ZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5k
ZWNpZGVkLiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJ
ZiB0cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBw
b2x5IHByb3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5
cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUu
CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3Ry
dWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBl
SW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
CiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJv
dG90eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5
cGUgdG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRl
IG5vbi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZSht
YWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9T
dHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNNb25vUHJv
dG8oKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsK
LSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBn
bG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICBpZiAobWFr
ZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNy
ZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3Jl
YXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywg
Y2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAgbV9z
dHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKKwogICAgIHJl
dHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4OSwyMSBAQCBTdHJ1Y3R1cmUqIFByb3Rv
dHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBo
YXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFs
bCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNh
cGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1
cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFBy
b3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMo
aW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5J
bmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1
cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1
Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5
cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlw
ZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
CitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAg
ICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpT
RmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBj
cmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVj
dDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZh
dWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjpt
YWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwg
Z2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUo
bnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRf
UFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNf
RVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJv
b2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJF
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
YWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBl
KEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAK
IHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJ
bmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0
dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAog
ICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8g
RklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6
OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2Jq
ZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9
IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5m
byosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3Ry
dWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg4LDYgKzE4OCw3IEBAIFN0
cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICAsIG1fY2xhc3NJbmZv
KGNsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQog
ICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7
CiAgICAgc2V0RGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bp
bm5lZFByb3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjIwLDYgKzIyMSw3IEBAIFN0cnVjdHVyZTo6
U3RydWN0dXJlKFZNJiB2bSkKICAgICAsIG1fY2xhc3NJbmZvKGluZm8oKSkKICAgICAsIG1fdHJh
bnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9m
ZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQo
Tm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2Up
OwpAQCAtMjQ3LDEwICsyNDksMTEgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAg
ICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwg
bV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9w
cm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8p
CiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zm
c2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaChwcmV2aW91cy0+bV9wcm9w
ZXJ0eUhhc2gpCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQocHJldmlvdXMtPmRpY3Rpb25hcnlL
aW5kKCkpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yOTYsNiAr
Mjk5LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0
aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7CiB9CiAK
K1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBp
bmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVjdHVyZSog
cmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNs
YXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1bnNpZ25lZCBv
bGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKKyAgICBy
ZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwKKyAgICAg
ICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0g
b2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxp
bmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2
bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0TGFz
dE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6
YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1
Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0dXJlcy5p
c0VtcHR5KCkpOwpAQCAtMzk5LDI2ICs0MTksMTQgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFk
ZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0
dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKS0+c3Ry
dWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRo
aXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2
bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFBy
b3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7
CkBAIC00MjcsNyArNDM1LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3QtPnN0cnVjdHVyZSh2
bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhvYmplY3QtPmluZGV4aW5nVHlw
ZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFBy
b3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBl
KG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBA
IC00MzcsMjAgKzQ0NSw2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJ
bmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdB
QmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAobmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2Nh
dGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5z
aXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQotCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBhZGRQcm9wZXJ0eVRy
YW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAtNTUzLDYgKzU0Nyw4IEBAIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpIHx8
IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAg
ICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCkBAIC0x
MDY4LDExICsxMDY0LDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0
cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVj
dHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBjb25zdAotewotICAgIHJldHVybiBwcm90
b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZvaWQgU3Ry
dWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+KGNlbGwp
OwpAQCAtMTExMCw3ICsxMTAxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygp
CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAog
ICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3Vy
cmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5
cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVP
YmplY3QoKSkpOworICAgICAgICAmJiAoaGFzUG9seVByb3RvKCkgfHwgIXN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYg
dmlzaXRvcikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNo
ZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAg
ICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwot
ICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBp
ZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsK
LSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
KTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUo
SlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVy
ZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAg
ICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBlLnB0cigp
OwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVlIGN1clZh
bHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgd2hp
bGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfD0gY3Vy
U3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFw
RW50cnkmIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJv
cGVydHkoKmVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50
cnkua2V5KS5pc1ByaXZhdGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5h
ZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIH0pOwogCkBAIC0xMTY5LDI2ICsxMTM5LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwo
KTsKIAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkgewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKLSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwot
ICAgICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1
clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAg
ICAgICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAgICAgICBKU09i
amVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0KQorICAgICAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVy
ZVNoYXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNv
cHlSZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAg
IGN1clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90
b3R5cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNo
YXBlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1
cmUqIG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxp
bmVDYXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9y
ZWRQcm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBv
dGhlci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIo
dGhpcyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDMsNyAr
MTE3MSw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAK
ICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsK
ICAgICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKGhhc1Bv
bHlQcm90bygpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5
UHJvdG9PZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkp
CiAgICAgICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdl
dCgpLmFzQ2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKQEAgLTEy
ODgsOSArMTI1OCw3IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5TmFtZUVudW0K
ICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBpZiAoIXN0cnVjdHVyZS0+Z2V0KCkpCiAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFy
eSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoc3RydWN0dXJlLT5n
ZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCisgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBzdHJ1Y3R1cmUtPmdldCgpLT50
eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpAQCAtMTMwOSw0ICsxMjc3LDUy
IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5BY2Nlc3NQcm9wZXJ0aWVzUXVpY2sKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorLy8gT09QUzogbGV0cyBpbmxpbmUgdGhpcyBmdW5jdGlvbi4KK2Jvb2wgU3Ry
dWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3QgU3RydWN0dXJlKiBhLCBjb25z
dCBTdHJ1Y3R1cmUqIGIpCit7CisgICAgaWYgKCFhIHx8ICFiKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpZiAoYSA9PSBiKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
YS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBvYmplY3RzIGNyZWF0ZWQgdmlhIGEg
Y29uc3RydWN0b3IncyB0b190aGlzLiBUaGVzZQorICAgIC8vIGFsbCBoYXZlIFN0cnVjdHVyZXMg
d2l0aCByYXJlIGRhdGEgYW5kIGEgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludC4KKyAgICBpZiAo
IWEtPmhhc1JhcmVEYXRhKCkgfHwgIWItPmhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBTdHJ1Y3R1cmUncyBnZW5lcmF0ZWQg
ZnJvbSBmdW5jdGlvbnMgdGhhdCBzaGFyZQorICAgIC8vIHRoZSBzYW1lIGV4ZWN1dGFibGUuCisg
ICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBhSW5saW5lV2F0Y2hwb2ludFNldCA9
IGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICBjb25zdCBC
b3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIGJJbmxpbmVXYXRjaHBvaW50U2V0ID0gYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAgIGlmIChhSW5saW5lV2F0Y2hw
b2ludFNldC5nZXQoKSAhPSBiSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSB8fCAhYUlubGluZVdh
dGNocG9pbnRTZXQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBBU1NFUlQoYUlubGluZVdh
dGNocG9pbnRTZXQgJiYgYklubGluZVdhdGNocG9pbnRTZXQgJiYgYUlubGluZVdhdGNocG9pbnRT
ZXQuZ2V0KCkgPT0gYklubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkpOworCisgICAgaWYgKGEtPmhh
c1BvbHlQcm90bygpIHx8IGItPmhhc1BvbHlQcm90bygpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoYS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYi0+c3RvcmVkUHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFZNJiB2bSA9ICphLT52bSgpOworICAgIEpT
T2JqZWN0KiBhT2JqID0gYS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNPYmplY3Qq
IGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICB3aGlsZSAoYU9iaiAmJiBi
T2JqKSB7CisgICAgICAgIGEgPSBhT2JqLT5zdHJ1Y3R1cmUodm0pOworICAgICAgICBiID0gYk9i
ai0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoYS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+
cHJvcGVydHlIYXNoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYU9i
aiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdChhT2JqKTsKKyAgICAgICAgYk9iaiA9IGItPnN0
b3JlZFByb3RvdHlwZU9iamVjdChiT2JqKTsKKyAgICB9CisKKyAgICByZXR1cm4gIWFPYmogJiYg
IWJPYmo7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyAr
MTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1
Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsgUG9seVByb3Rv
IH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRl
eGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8q
LCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsK
IAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCwxOSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVCht
X3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1f
cHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0
KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKKyAg
ICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgU3RydWN0dXJlKiBw
cmV2aW91cykKKyAgICB7CisgICAgICAgIHRoaXMtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAg
ICAgaWYgKHByZXZpb3VzLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgICAgICBjb25zdCBTdHJ1
Y3R1cmVSYXJlRGF0YSogcHJldmlvdXNSYXJlRGF0YSA9IHByZXZpb3VzLT5yYXJlRGF0YSgpOwor
ICAgICAgICAgICAgaWYgKHByZXZpb3VzUmFyZURhdGEtPmhhc1NoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKSkgeworICAgICAgICAgICAgICAgIGVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICAgICAg
ICAgICAgICByYXJlRGF0YSgpLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KHByZXZpb3Vz
UmFyZURhdGEtPmNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpOworICAgICAgICAgICAg
fQorICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENy
ZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE4MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29u
Y3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1
Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwg
U3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0m
LCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVjdHVyZSog
Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90
eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRyaWJ1dGVD
aGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiB0b0Nh
Y2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRTdHJ1
Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGljIFN0
cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJl
Kik7CkBAIC0yMDgsNyArMjIyLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuICF0
eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCk7
CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkKQEAg
LTI0MCwyNiArMjU0LDQyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlw
ZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAg
ICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgp
OyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVy
aW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8g
b2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1
bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9i
YWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzTW9ub1Byb3Rv
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQz
MigpOworICAgIH0KKyAgICBib29sIGhhc1BvbHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gIWhhc01vbm9Qcm90bygpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3Rv
dHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8o
KSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVy
dHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGhhc1BvbHlQcm90bygpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgp
LmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNP
YmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0
IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1
cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5
cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNv
bnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29u
c3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0g
ICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBj
b25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29u
c3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0Nl
bGwqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNo
YWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAg
ICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAg
IAogICAgIC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5n
IHNvIHdvdWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzIsMTQg
KzMwMiwzMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgc3Ry
dWN0dXJlIGlzIG5vdyBtYXJrZWQuCiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYp
OwotICAgICAgICAKLSAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNl
cHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwogICAgIAog
ICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFy
ZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVy
ZVJhcmVEYXRhKiByYXJlRGF0YSgpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEo
KSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJl
dmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJ1Y3R1cmVSYXJl
RGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRh
KCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3RydWN0dXJlUmFyZURhdGEq
PihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFy
ZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFy
ZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1
cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkg
Y29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU3OSw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc3Rh
cnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0m
IHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0
cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGll
c0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlwZXMoKSBj
b25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU4
OCwxMSArNjI4LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3RvcmVWYWx1ZVNsb3codm0sIHBy
b3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZlcnJlZFR5cGVUYWJsZTo6T2xk
UHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVT
aGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0
dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0
aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0
aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVT
aGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIAogICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQcmlu
dFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC02MDEsNiArNjM3LDEwIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBkdW1wQ29udGV4dEhlYWRlcihQcmludFN0cmVhbSYpOwogICAg
IAogICAgIENvbmN1cnJlbnRKU0xvY2smIGxvY2soKSB7IHJldHVybiBtX2xvY2s7IH0KKworICAg
IHVuc2lnbmVkIHByb3BlcnR5SGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlIYXNoOyB9
CisKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3QgU3RydWN0
dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpOwogICAgIAogICAgIERFQ0xBUkVfRVhQT1JUX0lO
Rk87CiAKQEAgLTcyMCw4ICs3NjAsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbnVtYmVy
T2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNpdHkpOwogICAgIH0K
IAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNo
ZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAgYm9vbCBpc1ZhbGlkKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7CisgICAgYm9vbCBpc1Zh
bGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWlu
LCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAgICAvLyBZb3UgaGF2ZSB0byBob2xkIHRoZSBz
dHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHBp
bihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwgUHJvcGVydHlUYWJsZSopOwpAQCAtNzMyLDEy
ICs3NzEsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1
cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEq
IHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91
c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFp
bHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwg
Y29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVu
Y3koKSBjb25zdDsKQEAgLTc4Nyw2ICs4MjAsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gbV9vZmZz
ZXQgZG9lcyBub3QgYWNjb3VudCBmb3IgYW5vbnltb3VzIHNsb3RzCiAgICAgUHJvcGVydHlPZmZz
ZXQgbV9vZmZzZXQ7CisKKyAgICB1aW50MzJfdCBtX3Byb3BlcnR5SGFzaDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw0
ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAg
fQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2Jq
ZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgIHNpemVf
dCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsg
Y3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChj
dXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6ZV90IGkgPSAwOworICAgIGZvciAo
SlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3Ry
dWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICB2ZWN0
b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkpOworICAgIAorICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7
CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpT
QwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFp
bi5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsK
IAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBo
ZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgSlNPYmplY3Qq
IGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFp
bih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkpOwogICAgICAgICBjaGFpbi0+
ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIgKzYyLDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQotICAgIHsKLSAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAg
IGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJl
bnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0
b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICArK3NpemU7Ci0KLSAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9
IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwot
Ci0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7Ci0g
ICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwotICAgICAgICBtX3ZlY3Rv
ciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZz
ZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSwx
NiArNTEsMTcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGVTdHJ1YwogICAg
IHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERlZmVycmVkU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnRGaXJlKiBkZWZlcnJlZCkKK2lubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBwcmV2aW91cywgRGVmZXJyZWRTdHJ1Y3R1cmVU
cmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqIGRlZmVycmVkKQogewogICAgIEFTU0VSVCh2bS5zdHJ1
Y3R1cmVTdHJ1Y3R1cmUpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlPih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBzdHJ1
Y3R1cmUsIGRlZmVycmVkKTsKLSAgICBuZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtKTsK
KyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxs
PFN0cnVjdHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgcHJldmlvdXMsIGRlZmVycmVkKTsK
KyAgICBuZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtLCBwcmV2aW91cyk7CiAgICAgcmV0
dXJuIG5ld1N0cnVjdHVyZTsKIH0KIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzTW9ub1By
b3RvKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAo
dmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQx
IEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogewor
ICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBKU09iamVjdCogb2JqZWN0
ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitBTFdB
WVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmpl
Y3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVy
ZSgpID09IHRoaXMpOworICAgIGlmIChoYXNNb25vUHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIHN0
b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlz
SW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCku
YXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitB
TFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChj
b25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVj
dC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc01vbm9Qcm90bygpKQorICAgICAg
ICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9i
amVjdC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxs
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7
Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09i
amVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0
dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlT
X0lOTElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKQEAgLTE2Niw0MyAr
MTk2LDU2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNpdGl2ZWx5VHJhbnMKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29r
dXBQcmltaXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVj
dHVyZSogc3RydWN0dXJlKQoreworICAgIEFTU0VSVCghc3RydWN0dXJlLT5pc09iamVjdCgpKTsK
KworICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpCisg
ICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworCisgICAgQVNT
RVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSk7CisgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7CisKK30KKwogaW5saW5lIEpTVmFs
dWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8oKSk7CiAgICAg
aWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBp
ZiAodHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7Ci0KLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBl
KCkgPT0gU3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90
eXBlKCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCi1p
bmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4
ZWMpIGNvbnN0CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChp
c09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFzT2JqZWN0KGJhc2Up
KTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmpl
Y3QsIHRoaXMpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90
eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5s
aW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAg
UkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBj
YWNoZSBvdXIgcHJvdG90eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAg
ICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgp
KSkgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QpOwotICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywg
U3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2Jq
ZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9i
amVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsK
KyAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNo
YWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChw
cm90b3R5cGUpKSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdl
dCgpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hh
aW4oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVj
dHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFp
biogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6Omlz
VmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hl
ZFByb3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hl
ZFByb3RvdHlwZUNoYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHBy
b3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlw
ZUNoYWluLT5oZWFkKCk7CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlw
ZS5pc051bGwoKSkgewogICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJl
KCkgIT0gY2FjaGVkU3RydWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjU2LDYgQEAgaW5saW5l
IGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUu
aXNOdWxsKCkgJiYgISpjYWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVy
ZTo6aXNWYWxpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5
cGVDaGFpbikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGNhY2hlZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0
dXJlOjpkaWRSZXBsYWNlUHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlm
IChMSUtFTFkoIWhhc1JhcmVEYXRhKCkpKQpAQCAtMzQxLDYgKzM3OSw4IEBAIGlubGluZSBQcm9w
ZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmFkZChWTSYKICAgICBhdXRvIHJlcCA9IHByb3BlcnR5TmFt
ZS51aWQoKTsKIAogICAgIFByb3BlcnR5T2Zmc2V0IG5ld09mZnNldCA9IHRhYmxlLT5uZXh0T2Zm
c2V0KG1faW5saW5lQ2FwYWNpdHkpOworCisgICAgbV9wcm9wZXJ0eUhhc2ggPSBtX3Byb3BlcnR5
SGFzaCBeIHJlcC0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsKICAgICAKICAgICBQcm9wZXJ0
eU9mZnNldCBuZXdMYXN0T2Zmc2V0ID0gbV9vZmZzZXQ7CiAgICAgdGFibGUtPmFkZChQcm9wZXJ0
eU1hcEVudHJ5KHJlcCwgbmV3T2Zmc2V0LCBhdHRyaWJ1dGVzKSwgbmV3TGFzdE9mZnNldCwgUHJv
cGVydHlUYWJsZTo6UHJvcGVydHlPZmZzZXRNYXlDaGFuZ2UpOwpAQCAtNDAwLDcgKzQ0MCw3IEBA
IGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVt
b3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0
UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElO
RSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUq
IHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRo
aXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNp
bmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisj
aW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJl
RGF0YS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywxMSBAQCBwdWJsaWM6CiAg
ICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwg
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNl
dD4gY29weVNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQ
cm90b1dhdGNocG9pbnQ7IH0KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIHNo
YXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNo
cG9pbnQ7IH0KKyAgICB2b2lkIHNldFNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoQm94PElubGlu
ZVdhdGNocG9pbnRTZXQ+JiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCkgeyBtX3BvbHlQcm90
b1dhdGNocG9pbnQgPSBXVEZNb3ZlKHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpOyB9CisgICAg
Ym9vbCBoYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Ym9vbD4obV9wb2x5UHJvdG9XYXRjaHBvaW50KTsgfQorCiAgICAgREVDTEFSRV9FWFBP
UlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDExICs4MiwxMyBAQCBwcml2YXRlOgogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3Ry
aW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlO
YW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwotICAgIAorICAg
IFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CisKICAg
ICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0Piwg
V1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2lu
dFNldHM7CiAgICAgQmFnPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50
PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVXYXRjaHBvaW50U2V0OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxPYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2lu
dD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRWYWx1ZVdhdGNocG9pbnQ7CisgICAg
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKICAgICBib29s
IG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGU7CiB9OwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxl
ckxvZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9m
aWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1l
TVMoKTsKICAgICB9CiAKKyAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4+IGNhY2hlZE1vbm9Qcm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1
Y3R1cmUqLCBKU0NlbGwqPiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3Rv
U2hhcGVzOworCiAgICAgTG9nRW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNo
TWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAg
ICB3aGlsZSAoZW50cnkgIT0gbV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0
dXJlSUQgaWQgPSBlbnRyeS0+c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4gc2hhcGU7IAorICAgICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAg
ICAgICBKU1ZhbHVlIHZhbHVlID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0g
ZmFsc2U7CiAgICAgICAgIGlmIChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6
aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAg
ICAgICAgIGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAg
ICAgaWYgKGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBl
ID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBz
ZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9
IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsK
KyAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVj
dHVyZSk7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5k
KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVy
ZSwgdmFsdWUuYXNDZWxsKCkpOworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBv
bHlQcm90b1NoYXBlcy5maW5kKGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2Fj
aGVkUG9seVByb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0g
aXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9
IHRydWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkg
eworICAgICAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFw
ZSh2YWx1ZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBv
bHlQcm90b1NoYXBlcy5zZXQoa2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0
dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAw
LDggQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBU
eXBlTG9jYXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlv
bi0+bV9sYXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFs
VHlwZVNldCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJ
bmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxv
Y2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdU
Rk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFs
VHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0
dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVj
dGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3Ry
dWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7
CiB9CiAKLXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUs
IFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9
IG1fc2VlblR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hh
cGUgJiYgIXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVj
dHVyZVNoYXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0g
ICAgICAgIGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAg
ICAgICAgeworICAgICAgICAvLyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNo
ZSBwb2x5IHByb3RvIGNoYWlucworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3Rv
dHlwZSBjaGFpbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzYyNworICAgICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0
cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBs
b2NrZXIobV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0
dXJlKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlU2V0LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBl
U2V0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxU
eXBlU2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAg
VHlwZVNldCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQ
dHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9y
bWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSos
IGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgp
OwogICAgIFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUo
KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmll
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFy
cmllci5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVl
KSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJl
cigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkg
Y29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29u
c3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkg
Y29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dU
Ri93dGYvQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQm94LmgJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9XVEYvd3RmL0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwx
NCArMzYsMTcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogY2xhc3Mg
Qm94IHsKIHB1YmxpYzoKLSAgICBCb3goKQotICAgIHsKLSAgICB9CisgICAgQm94KCkgPSBkZWZh
dWx0OworICAgIEJveChCb3gmJikgPSBkZWZhdWx0OworICAgIEJveChjb25zdCBCb3gmKSA9IGRl
ZmF1bHQ7CiAKICAgICBCb3goc3RkOjpudWxscHRyX3QpCiAgICAgewogICAgIH0KIAorICAgIEJv
eCYgb3BlcmF0b3I9KEJveCYmKSA9IGRlZmF1bHQ7CisgICAgQm94JiBvcGVyYXRvcj0oY29uc3Qg
Qm94JikgPSBkZWZhdWx0OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgog
ICAgIHN0YXRpYyBCb3ggY3JlYXRlKEFyZ3VtZW50cyYmLi4uIGFyZ3VtZW50cykKICAgICB7CkBA
IC01Nyw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVy
biBtX2RhdGEtPnZhbHVlOyB9CiAgICAgVCogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuICZt
X2RhdGEtPnZhbHVlOyB9CiAKLSAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgeyByZXR1cm4g
bV9kYXRhOyB9CisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PGJvb2w+KG1fZGF0YSk7IH0KICAgICAKIHByaXZhdGU6CiAgICAgc3RydWN0IERh
dGEgOiBUaHJlYWRTYWZlUmVmQ291bnRlZDxEYXRhPiB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9S
ZWZQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAkocmV2aXNpb24g
MjIyNzEyKQorKysgU291cmNlL1dURi93dGYvUmVmUHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTgz
LDYgKzgzLDggQEAgcHVibGljOgogICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxv
d3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0
eXBlcy4KICAgICB0eXBlZGVmIFQqIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKICAg
ICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAm
UmVmUHRyOjptX3B0ciA6IG51bGxwdHI7IH0KKworICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2wo
KSBjb25zdCB7IHJldHVybiAhIW1fcHRyOyB9CiAgICAgCiAgICAgUmVmUHRyJiBvcGVyYXRvcj0o
Y29uc3QgUmVmUHRyJik7CiAgICAgUmVmUHRyJiBvcGVyYXRvcj0oVCopOwpJbmRleDogVG9vbHMv
U2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI3MTIpCisrKyBUb29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAg
ZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5G
VExOb0NKSVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwt
bm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihG
VExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVz
dFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJy
YXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICoo
RlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0
aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdF
YWdlck5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9w
dGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZv
cmNlQnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyAr
IENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlv
bnMpKQorICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1
ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9O
UyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09w
dGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVj
aWZpY09wdGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAg
ICAgcnVuKCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRy
dWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBl
LXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAg
ICBydW4oImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0t
dXNlVHlwZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BU
SU9OUyArIEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVy
Cg==
</data>
<flag name="commit-queue"
          id="342318"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>322438</attachid>
            <date>2017-10-02 14:28:39 -0700</date>
            <delta_ts>2017-10-02 16:23:32 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews101 for mac-elcapitan</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1369823</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">UEsDBBQAAgAIAEdtQkvVaF4U4EoAAFZgAQAiABwARHVtcFJlbmRlclRyZWUtODc5NTUtY3Jhc2gt
bG9nLnR4dFVUCQADpaTSWaWk0ll1eAsAAQT1AQAABBQAAADsXWlz2ziT/rz6FfywNSUnoYSD4KHK
popnxju+xpKTbE1NqXiANjcSqSEpH/Prt0HKMnUllsfvJruiP9g0ATSebjQeNAiAvMizkBfFQFr9
cebT2SVPI56Pcs6lP3TNYOzPzoVf3qxnhZ/+p2wyn/Ki/+n85OrU7b/pr5bvHEc8LZM44flgdy2d
TzwvkixdrwB17Czi0uhhxleTvuiqrCpS98wvk1t+BOhyqEa6WFPp4qG8ydJaB+XPziUvZllaJMFk
RdwOja8KnkvHzjomhnCn4/gl74+S6RosgrAmYyQjImE6oHTA1J6hIElGGkKd86G0Tc9TP5Qg6YuE
UQ/jnip1MfuIGUZHAHiW5eVGKYw7ZpqlD9NsXkhXVw2MlmNi20ImVEiRrFCA4+kukh1XNT0bKcxk
ZqfTEcgl887/yqVhkoZcsrKsHIBchJBU8DBLo6LTGT4UJZ9Kx2nJr/OkfBDmLXlYVlB46oMZo07H
zv3ihkfS6CbnfrREgsCuSTHzy/BG+mvO52CpMJv2/NlswntTP0nlsirQ6bj3IZ8Joavt7H6xx5bp
jE3bdodDqTs8/jh0P346auQXzrFs7N/cy7Px8dkn8+QYCjnOpSjllxK6Rys/WG9IOAOFVmq0zy8v
hu747Hx07P1Xp/PpVLrk15CzkM64n4MwrA86svxB6ogS4/HI/TLa6BSPNSEjwCFcyI0bWmXjPySJ
Kui3P6Vcvu/nd/fS8PQ/7PPPW/pTp2OCyZLQr/AOZzyEzhRCo8RZPq1uDjr2pTn89fjsozRyh6OB
dFOWs0G/P8lCf3KTFeVA1xHq35TTST/Isztw66Jf3nD5Lkmj7E7Ogv+GRu37s6SQQagcQrOUSXot
+2kkp/5tcl3/W5UVF+AeJb8vCzl4gPQp72cznsoxlJrnvJDL7CtPk78rbHIB0nh6v/j70BMowP+q
pgcfWTjPYPBMZwGvaqR85oGd5XzF9v+2bG+MIt2IaEikRb7BQPh9bvkFXBa8PAMlvCTn4m7388gb
DE6zNCuzNAnFrSPprWToUrcq1AtnswHVjKMO3hcCNYjagFApUsksAMUNEFf9n0ASib6Wp/6kKyrH
KnBBM38FAmP9qEP2A0EMDcfxE4hyWWF3PLa9y3l6kmWzqpI376TbLIneCAAUS91TsH6NYfiE1fYq
KBo76tAVJEK8l83TqHbXJhItjmNdMXTic0Wqar06Ozk/vxgfD8e2eXIC/js+vxqNR+djczw6PnUv
q9uWaf829q7O7NHx+dl4DKgI6ih7V6ppVGqo6mSVHsLISGMdtrc8Evpb5BUCnqF31D3laYYW4qY8
+COw6QruaPvK0jnRpaakJWkIcGpH3xzy1n6avmMEhCt6JOXzdMSLsluU0FvHYzwYBH6RhOOizIET
3ofgHO+kp0Tx/7jM/aQsqrQPzUR/IripzPI6SfoACqZF+YvwOcI0GNdX8fWm0wFBRD3qGPtij3TM
pGilRDdJy3eSqLmu9k3t64hurRcTAwZijPa1WazHayVET9peN1ZhSNhWt4JAZwyMM0mC6GES9eBX
Ekg76q4cgPgRZcCtRelD5ACyl2yLBxV9goCiGtjHX4Fq+GRVZlOUgQhjnIBf3mX517+q/DkHkq98
E1VM+CRtVlP0iriGNAMrIWWaLj1mHN/9VV8IYUSnFaftJQ5TBdd6rsiiS43JN8cVYdNFojz1U/+a
5y8wEI996Su/hehz/FdWrBjmUfqWVmtqoiAWY5VJ48f84+l1Pk7SWxhHRYfA6qNpni+QR2G0JnBp
IEaWBqIH5xLKCzRWokAFjWfFQwq2DG/vgNVeqK6ikYa6Is4eL6Rpqvaobvj2bQ9v7+pNZGHEQyGu
QbogLxHjwvjWzxMRn4uEKBuL8b6uqcHf8zSBPjEGKv76/unudA6x3YdfVrk8h7iojhrGswwo7P1m
4sIGoRC3rXA0z6sh6/0kS68l8auZq0p7jyfvJLwM1CdiYPhQ8SNR1+KM//Rv/WGYJ7PyKfBpMrCv
hzTWUBPHLQxVEKEW37GXMNJ4DlPWyTYlS2i2h9dX8l/XKv8iwI0BGzqqBFFkhXAciNia6hChKnu3
F1eUvdtr7KcPO9qsachgWoUcEOBXdtxmif/lpl1D9HO2LIb5x5Y+QrB2tBYyP6d9Q51JS7VNQaYj
v2hY4lfuz+rJh9RduTkYvDnqHn0Ag1S0uQhsqykSwXQ7RAIuqO4NMcDRq0B00zJ/uBAt1/0n4qrg
kBhrU4BncV8c1dO4RpuPFyHAeJZn9w8NlyrnIPZ9DQPq/WeI3/0jA74RPWY5/zSgcad8muUPA6Iy
cDp97/DCMKKn8TbIoocqHMDVRGJPSdh/krSMrlW9mhvsGaQwLK0LegpRWBuitCFKG6K0IUoborQh
ShuitCHKzxeiqP+/QhRVj58x5D53BBRuoWgviAYiEtZ+97zh5HkDybPpvaJTtD5QEkV7yUAZ4uDV
iRQjTer6ZTZNwoGusJfw+09KnmpLnjV5aq9GnvrrkachvS55au38rp3ftfO7dn7Xzu/a+V07v2vn
dz/f/E4fNDdKnA2vLk/sLE3rvZ8nmR+9YKsE5rFGpKkvtiMU12Jv0GxbBPMcQTSgS0FiQwNb2w/3
jE1SPsZKc8PVkOe3SchPQepFVpmDYLL35jbNYFG4ZR8XZeree9a+u49rbdOad8ZLsSljx6YQLVYD
X42kt3+sNWe3bs8jaZzzIpvnIRc3RJWDP8VMFsywymLrsDdaCPssJsK6Z8Pan8a1j1W794TnHUac
bxzc5hqMDk/lw9tVh8nhqXx4G+Wwcngqs8NTWT08lbXDU1k/PJUPL/oihxd9kQM803B40Rc5vOiL
HF70RQ4v+iKHF30RbeXRou0Ns/ArL3uzPLn1S/4CcyBNnMQs+ISHjSXRfZ60BZrC6tOcNZjT+jBY
tSJK9rfBzmdV9PWeVSmv/KyKiCe+1RFoc15m4lx5OHo6cf3zLlXvsyQRkDjWaiVr3ezHRZt6nSv6
LBan63PgYkXsl3dSlM2DCa8XoozHs9hJen1RQ6oPZDOdHO29NmwYukFqMBd+/hVknmTlYDCD6yUs
fzJ5OJ7OJtVqxOK86Lu6zDDMZjw68adB5L8PsmwidY8e1822ZamXO9aziDPLn5PyxnlI/WkS2mIh
T7yDoXkcVzWQ1H2CWGmsImXv1VWEDY5VqcJaVb5Usz6PLxr2qlo/rVJPAMqH7vJyD8SYrQK+Geh4
/7VCTYugF1d1evO0elC+NCJgh6YRi3yfc5DH8/fbeo5YH4V+VutgBkWZ+2EpdOH5I9rB4N/HCMSF
IK7e4qSDl63JqSxOxNtA9l1MDDBBStPhBwP+tCq4cv+M3y37hHi3Q73sJ5bVN/bn7NfldGLUCO7K
eLS+MPm0yrarbxFCD2TJjRgtA7cM3DJwy8AtA/8YBqaoZeCWgVsGbhm4ZeAfxMC4ZeCWgVsGbhm4
ZeAfxMCkZeCWgVsGbhm4ZeAfxMC0ZeCWgVsGbhm4ZeAfxMBKy8AtA7cM3DJwy8A/iIHZyibBECzq
z6Mk65m/25ME2q09fPxzHT6uW6cEPguy+54p/hvV/zQbHpE44gGRPvKU50n4+NWRRber+sJTN8CG
stbJn19JRLlkmxerkpc3KvE6OoxDyFTd6Eowuid+rwhveDSf8ChOJjzJ/s/ENsJ3T4UGu15JFGo8
oEwSAcx5uhxYBTJlS5f6niiDKpKXXA/51J/dQH4h9pJPqs+OVQPstr71HaGMBLwS+tgEHjTB8flo
uV2a0S1fpPmO0FgnXIqT61qK+NYISFKxWnWi13Fz7fXcXH9tN1/bVg72MtOk/j5WL68+qiIXwLI/
93srfp+DYn+vfspp5dsuWsT1MAZuGwzqL8VAaFtpJb5nJf4u3q/yRKOErb+J8DmVaKH2aOy4GkQI
23/L+U4/Yq/nR+pr+9HhnZSkh3dSUjm8k5LK4Z2UVNq1zPY5Tvscp32O0z7H+UHPcZR2LbNl4JaB
WwZuGfhHMXC7ltkycMvALQO3DPyjGFisZR6nEb/nkeOXvng9vTR82aPon5qDg/ilHKzSnRSs4paC
P/Ng9Wn9msahGgVR9LNQ8HfRhjqJ4oWv2HlWFHXT/y4+z/5+/a54dfuHWgMvy095UfjXvKJUg0ld
h/8154BCQ3idRZ8BA/sM3KTONxgcO9bjUkrjMlr02JXvEGGlQZ9UfQF9vjqB6z+EwI1XI/C9Wfcb
BI5fmcAP7yVdyuG9IlU5vIU/5fAW/tjhLfyxw1v4Q1KY+8UNj6Q7iGekL7oqLVKGpV9yqasqcpCU
R4OOJOX+/UBaDo3LH0gImgkYgxYqQzDO5uGuEtFmgs90UUmUPKYIJZiKOApCUaRIdlQSzDZL8KrE
loQAQSVSrm/BJRorN5qVoCjiRqgIWRhtlqCidow3S6iK0ASTp+ohfooMhNWgkkVXEgKNYFZXoogE
BcJUqoFnYTVWAmSIBLYhqtYEApfV6nUjoiH4SR5P1gBjRBAkhDnZ1AQL03dOsusE5uGSfXE1qLxJ
7bh5nuWSnUW8vvNUUumMxPaes/k0gOivSsNKp9OxktTPH6TjKUSfhXCbRTGMjACHovVlaeWmhsQz
qbfOfDqrN+qMcg6Oh46k96rBVNViiqw4piVT23NlC2tU1oV9qMsIJvSD1P+UTeZTXvQ/nZ9cnbr9
N/1VWSsYQnCCDQxws8IA/WgR5I54UQ5vkumic1VoEPWYp2u2rDNXl6npKbLlwRUzXNPDjmMR5m1D
s0vqKi6sbMGlg9/GG7jms1mWl01otsUsariGrCHTlakKhjI8R5FdD5uE6q7DPO0Z0JqCV9BFbBOd
b6hIoNsdTHdVxN5CIfjTwz3jbWVDprimpcomcTWZUseSLQ1bMqMqsy1keyZStgFdldyLc3/KBeX2
P3EgBph19c21PE38fhxFG/gDGtM4DtZmQr/BvH4LbsezXcU0TFlYGtreBgMjhmWiGTrRHWxbmrkN
dy1xO946rYkzCCN1A2dIqPboBXc8yMuw2fIaIQiYDcuuzkyZejr0DktzZd1lWDNVarumsaPlm8Ka
KEJV3eynUcC3WGtXM3vUxTYziUwVHclUA5sZjFoAzVaRTpGjuPoOc+1u30ViE2rMgngDaqz52ppj
1qY+4dd++LAVr6ZRl5ie7CiG6NoGkU3k6bKiO0zxmOOYnrq7eWu532rkOkcDOdZDtuGScFPFa8gX
m/nF9a+O+at5cjGZXx+nUpdoSg8TKF9fCCWYq+iKYcuqSRyZOsSWTYt6sgcmt5GrACMwUGJYRQ/9
kyTIgaj77n3J0wXaRS29rzB77lez6LQs+nWNT8lLEL1gnkYT/pTz1A/Ph5v5mnobKt9oMWxoPhUE
3NDbPHUu/Yhn6RfBPB9PnDy55bnUxT2F9DCD8nDVq9SmisOw4cqeY0PXdExDtqCILIZb3XRVwnTj
22pvrWqXclszNzX0F0HOioa+EgVVy5qj40b5oQ14HrvzQjVQiXqUQiMymWAEndrUHFk3KJEJo7aq
AfEQ5r6iSrsgNbUKdIVtaBXoqlJpBZkvHO/y+KJnPmpjaIKedAvplk6B6j2kyhQcUTYc4AVk2x7E
b4phKeamJt5jTyr6osd/hEDjJgmL7T3scvEptqK/gaKpQKSp2oYCEC5pa6xWd7h5mpRFz86msywV
phKtg2nldZhWkYlnM+wZsqtphkwNBcmmSTRZ9wzNNKAXgktu6vUkr9KrOpfRCx9vrrfLMsuKGoay
RQ1fMTb7z+noxMqz9G++u+8ommchoGdZVSGuocRgEFtB3OBoikpVijRchTTfdLS1anb3m7WMK1r5
Ot+ilY/XtIIhK6zlxsmkhMqWHiF1gcyhPPwGvQi2XMsATrBUQYUa/LJcg8rQZLaJNcfEyNnU66J+
sXrD+6ohp6rPTP3JQ5E0fXAzsakS17bQADfi9YbyF04Q8XDV4dSeKAy/QR/L07Gu2kRQOxFhE9Cb
A7+Iiz2HMAdrzPmmu1V+ZNeV7HS4RqZOjViMoyojesPlljcD7iugCXS0SOpSFfWI8ChdVzSVerZs
28iTKbZhELJtRdaYqSMGQRTCAum8yEV37YvSjbp0bITRel1wc0GeT1bLZjy9noBLg0NXdqovAAAm
ruW4qikTT1Eg/iCGrFMgIGJZVAVFLM/Rv8k45yD648l2rqnTVgFH4RbAfN1zRWc+n5XJNPm7PknW
XeAGyBBuMNeBkFIjIlpyXQiUHMRkqsOsAjoipch4jreu17Fdh/VcTW0I0eINbQgJokobaLCPJ9XE
bjlkkaq7WRaGiUbVvyASpQZQvQkTNdBCB1ewCEKe8WKb19mTmt9X6l9BTgO+iVwJwzimzXaIePG1
zGZFfYyw5nXUWzA7XIjR11RBA2BBG1kQDCIHyxbEEDJSVNWFGItY6rOaw6mrWpxYLESG7Rpuybii
GlOVTdWYH29xserk0/G51IX5ceVfimaIFlKYqtsEY1k3GTiWqzqyYRJd1kyHUFMxmE6/Pw4vhO92
q0WGVfAB2gSv0fDJoy7y7BokTv0gmSTlw5pvQUPY+H+Iu7bdSG4k+95fMi/U8H555NXrHRvbcNve
eVtkVaW6BevSq5YM21+/h1lVWcVMlrp20ZgFBrKsTJMRZDDinIhgjhORgMIC3mXLCY6FI4lJeL4Q
ktP8W9lWV5J3reC7nja3RxQUv/tnLQQuYRDOBsMp8CRwCZNyuWAjLNRhLFmLYIUQ9S1h0EKMVgXZ
2xDtjhvyx5f7F/jS4y7Im4pIbaaQlWbCFByqCNniTBRJAEW9NJ5pI+OZW18M086/ZZ35d7NBxJ/K
h9e7l9nHCFnzBsYGGZNFAASEFFQbLGXwwJHc0+CD9VG087fDtBLsOpvohs3CVZzd/qpeoqILCRfB
JnkQiEPm8Na2kg4P9wA7dMQbW8uFCTDQvLmhp8H723l6/q6Vch1t+OD4cfG2z39+fnm6oTfuxh4X
ULkbROd6lpK2WDmfcHgyRAcZI87gh4IFuuC0iza3q7gerxFn2HVsadjtMwV4uYb3eR+PEKEwKgIv
gSRhxX4BneOeZKYDKByOCT3fy322++/NaI0Qm2GzFmKzmQ3qr5M1a3bD90sRRA5B8gKKnyEEIA5x
haZKUTKVSVLjFwb9V9eam3zi/Ee2zIzl8n3NrlbePrnlug4I74oyZ0lKBlApGkFC9J5EI4FVgKJc
zyev48xx7L4hHZ82Ut+OdiW1oAe4DRV///Huy5xmUlpMPiAUzXgBFy1ewOaLgxMLuUZ5FhDkWY5R
vWnzfrsd78dnSN8X9ezV38dtpaHd11r5zvUS0vK1XnLDjvZ4qJzMaV3BaNUMe868DIDXsrrnVDLx
yk7I1QihoGSWXYtsx2tE2UmxFmU8RYoC7P1+eAYQmV2tsjem2oUTuWQvCJAGiLNNHucDPxKgc/be
CBnL2+sMk7vbTuDuiCm+uuD+5w9XxJWl0I3Gt3qtsaR2Cd0P/9/rM4k8R8KxJGetBm5PCTDFMTA4
mj0WAa5PeqOiYG+qvhy8r9PyrXetxNueGuPRhl5f7o4Vwb/JihdldLUOEAgOSkUokNcLLogtsjCZ
qZd64UpOQyxmvu3MPMgpLk1R/XvwtefboW7obMHmxk1MXkghMyOKawRoagzxVBoYjcqUS5/1V1bu
f3M49xj864hqLXCr76B6+qrjEanIbZ/Qv3v8+MvZsjPtJifuE00+WpwPKw9KOwe35HyOmjEekg/t
yl8YshELNH0tFuNiYccf/nxAaHz4aaw1k3165WjGxWquVGEkR0gjnIYxCBmIL4h7QsqsWLzGsx+m
OD+966dHAc5eWjxptOOys+hc7hbazYN9mXhFGsaH/VHdU6Vq93D3IkXGieMCrC9KLDxnCObeGDrx
1qk6dxVt3Y/fM6lw9rxVZNs5p5YOC1Y0cZLDx0/mPTICgE4BC1R/q4VPosDVBvwTViQpwLlzxMKD
C1E43K1+8+icT9E/FedvNEpY2VNCjovdmJbgdXxJ4+b1I8I54vnHc4Mz0QnONEXEcoDHtUbqQLpx
LpiwoEwuhuu3YjHPZbq3fLPVbHAdzYZlNPjj8/Zm/qZP/f8SfBgfX85VQ2BOhUUK5sFwxrlKQP46
EJsRCY3Vghv65u6sRu8rtHqt1Waz62gz3h4B08/Pr2NlXB+2w/06olNOldBZkUgFh4WFmmaVEceF
1spsCjr5/6eI3hO81fx2DfHlTuuOhZ59J+lv+sZNWTmQDzbhbUuVBs+t24ggSSkslEVHtOE0Fiqd
MOGrDPg0wWWjPL3TqLEzHXAyanXcwLvt0+PvN3wO7JXkFao89QrhhXuYntYWMR2cr3ATEVpghdm1
4aUZpZn/1pj1/BU0td6qxqd09zxuX56e/4QB0T3vZK7KI5iv7E0RFSPMSFFIphMAOGepyBAlCN1X
UyHz6JcznPMr5xooRMCVBvijnlMfWPxff9x/dGw+AMxN1EFpmgwF5TO0BkQqKCTH7sO5uhKDSV6n
b5PEWUvRKiFcRwmplrH98zhuP/00bp8+Pk7d4fssAMfWmsre6j9r5AiegvVTkiTgukBUJ9YUR4Jm
GWSpwIDUVXG+N90FN9V7tVVR6rWKStrjPv3g3/v4j9MOab4vBfGpUUQSHQwAt0uUhFKqt5KeRvBj
zsS/iN2dS/iu1aKze8Act+PKF/lfIvaLyRu659v73yZsRiNz0RMdoaKgCvglck4ot9ZzZWKM9tpQ
iUkuOyI8fNfK2RNeLmHlP8bnzfj89AXQ/hQDgzRShkKyqu09NnPivdIkc55q/Cs8v13TOA7al/b4
tBF3y9bIRI3cHc3obvtav5B2ynQqxW7wv8lRWecC7BCiAkwJnA5iI36UDEqXVOIqmqXjbEZ71046
dCQRu04ECveAJE9PL5/OEURWMnrnsWYq1hp0VMQlnYHvDE/BI/Kw/NXQM498ecPnV1rp5a4j/W7Y
7dp6bf357+/zd+eSh2JyCgnEQU1lzAKMmrIk2ScETAaf6q+qRMyD94WfH58Lrnfjuupg6M4tlv3f
vp/BdS3B1WhlqZlcitCSgRaAyGsPry8zAGmkmRRmg2CJZaXfThjF4XlzKdafvTaL0H9zfnyunhHb
daoIfxyO9v1d+eeHT8PzuFvUIzgvBuQDPt9xnMWgCniD1UAz1gvJLeLZNwplCwkW0m860u/EEc48
7jMc89m04kbtE5+55OQMRFeqVoIokLUv0RBjHPwIDdLJ1J7NZqxWip3sSWEWoObTeP95oo4TeZS6
moZKwPXSEhomKOMZsclEIqmjKgLNFC2/iWlg6gtWgScLZWxPmbn0Wb9G93RcUGv2jQaCWa5l8UTZ
UiufCRCRW0VY0VzJnCWjuZs5PBttIcXYkWJc5pM/jNtaqD9cvgVe3Uc5Df9Lp7PHigVXcowo5y3M
VODsSfxIOtUSkAZ14ldBk2aiS9Tp/J1WnZH11Jnt9L9fh+fh8eXucS732KnfQQQTtJiauHjt6QJb
kMoC+FLqsLJZU91d1uV4jTCSdY68FJtjZq/TvxQ8A7eudFNEEGsrwNx8SbUN1GuXROK6fMvC3bJ5
6SiluV2Dh/rHo7d6GF+G+/+q10e/vAwPn+d6BwXouZH7Zp+Us2eM46h7kGiRAe6mpLfPoGkx4I/h
KrT63ftfamfJ3X1jD5eEWKixDobGMnPMcN7/9TDcqNnjTq3N4Myw40CKV4aI6BXx0TKC4KepED7S
uKhZnQ/SzG5tb3a3RGDf/8cMZZ9wtHhtE61hbf9LPfTZah8gUmSxshmT9tkWYVW0yUYl5FWFm2ai
vnE0rzTK7IY1zMcfl6jop5/jPg04ZYwMogD+k/qPmj4FexFOWBJimgoNsAWBpZXWB1ByiZUt1+hx
PscFGz97Y6HF2t1Zt4ogQCj7xux9VkFSeSPNvveTwdVmkpKFBhKI3kbQ9KhdqI3R8L/pa4mVC/3Z
8fDsXSPZyDvijnYh7peJpN08n1jaolHt2Ko2xRAHVO8syHyRNSJzEPwQcsUWSVNmIxBU/haxcEUd
r2SYixVwvRXYHh3Rl893j7vXkwdizuzrrVbnDHpFZO3IEjyDJTubSGC80kwvjFik6tuRFkKsD7Ld
sGFRwN/fa/gDdiPUvuwKcLPv32RSWAtwTRgOMryKhulHrYgsTGSugwYY+apfr2NfpgP16btWwE1H
aqmP4Wd43n66+308JaGEqNVqfjCTEI2WngG4GQGCnhwcYQ1KzCj4MOVTVLpdwcWArTDadoTZDAv3
MVGDX305t156I/hkvvWXmjkoqgCzaaIFq3VsZ8BOsaAmFeZCUjkydTVL+dW/wVF+9a0Om86Cbo1c
nMbt/dPr7jec8lh/mfyItPyGV1ey/6XCYi5UECYTJgGa4MknqmUrg1U0yZJtejvNfBz8gkEcnr5r
RVU9+d2K2D48PD2+Hx7H+6lfjd9o/Deuwmjps5lyAgrCV4LoCVY8k8AFk8Ynz7P7Fq7jXIRLFn96
Y6Hk0FNynHnW9+XUa6SroVsWhY6SAZjU/FO18RDwIwK/Slt07S98U6mpPHmpT62BW/PkC5FvOyLb
5dmI9ebkscZ2uDt1StkaZmvmH2eTBxhT4RGYK1pZ3Z4kVDJTdBCapXBVtqkz14WN6LzZamd7p+aW
XyoATm70P+/KXU0W7lMTjNY+mhq64HgcB/MBv8CpKT4Ra0Ii2QMvQzlsW7k2mVanuOxN69NGjR1b
c0871vISvOl3P+THjyABJ9ZubBCcAurQmvUrODI+cgEAXACCLKIPY/9n1n4yqeO8xyb44783ko9b
2pF8p9aut/ZnD/jPewSvAN9kQzlh4EQVK3DiwPBINLm2SQQpmb3S687TXHS98xutIrs1BLW3elni
u3v87Rz+4IC4fUZ2oqlGxyI0tqTeo9ChglFhSFSSeqC7IIT9Fg7s+3MZGoD9+FujEyBER6fbk7v6
YZEPMjQpprHwVHowRBglsYXBeekSQcCt4vab9T53fBV+rOQFQtsd5f1jeD61vwnKpzuYnML5aMJr
TlYknFewFkYMLTJa5aiIctHLeRrkXTvP2Jmcz513vVv0fxNc2qkhkYGkiSkjzzlOZ81D6Ur2JfCD
8I5ILzQ18Cd8soGL3VfnwzfiMbM+aE5u5cI+L5Qtp17FaEWqDVdEWwtsrqQjlpaMtUo5UCmYTW+n
MN8uWca/98uVTt52VrYKfsCK+wlvwskYua7961P8DMbSHA1RYuofk4g5IlmismUAah5GuehHakdr
BFG0s4b449G+7ofXR1CdgxhGq5pntAfIqjMNXiOSF+cQ/TBv7RrG2XCc5VJCrd93d/Z81IU4rCfO
XIff/DXdA5ltrcZgbrOSXIEV1p0DzZXEB6MBnLGxPsYg5MLem1Ha+VlvOeySr/74Y/xwbJYRas+A
YDsl5BKB1Qq2pd6UCEVhMWiAF4yFB6mvcdh17AtdJnjSSKs3a7LmnOpdHKjfW6tmNN05kvsGH8+d
VxUOa1Z7ygwPNblZiJU501hSLTl/lSTVgd9oIcHTRmSnOwvs6rXYhtp9fr47b+S4eV//fYot+zCp
92karDSNJJlUbwJlLLi1nkScAipgkvErXRdXxpb3rSznb02PGv0GuqaublCb43navj7f38g5CXm4
0URZloFwGae7hvUOJa+fIYjFqqSKVIs2hPNB2tk7+Te34ctLxz++3r/cvTy9bj+toGYNIoeLx/tf
qmU76622jmQHAgWQm0AAAXetpzkwp3T011n25WkbM1++9q7VhndUVKrXFjZxQaankpXbX7NDcIST
0LpWrRAkEcY5ByQxOWeRvQ9Xwdnj4G80gy24ICTUHbEdXYg9tVt9+PNh8zRxwYmIs4mF12s8PCoB
fiErgTWMuJw5QUg3vrYEqOuyu+czXLqudHqj1WHX02FkM3Z6/8thx34cn2Gjy6s+zkQTrReE12ZJ
EeunNowxcD8siyRy1iJdmaB+04BaVNUXqlVs7Cl2y9aI/cPwuJtqoSu8rrjRmjNKgs5QLhhBphyy
xOn2ziee87V4/TDJRbR+eN6qcNs7FrdzufOApQ61vnHun54DqaqKiOpXtaZOJeALrQT8kQVJdypn
ImsNTBWdKHuzW74/x0LaNUd1WyqmRo+zLyDdDy+3T89zO7+Rx9VG5HJU5UJ0NSBwUYHQFSjRUXhr
owx+ykldlLEduZFtqzvQbGt6DXFzr175kH8/XCPnXExAbYKZh98rjSgqGM/rFRCWKkF1QElgQ0kJ
WVhmzrivX9C7ujfwKM+FFw9PW7VNb0vMdmFAX8bt3ePd3AA2ZQkED8zbqEmq+Q9RZEEgrl9Q8Qqg
x0SRdXhrM5oxW6F6B3NHN0c4+P7x4yK5FGTNxyhQDFZjVfG+3tmCx88mKF+/9iHiN0ouzZM3Iu86
WWC34/Qo8qfx7mE33JPhy+PM26QS1bCnepizLGVJaz2M6fqpH1OvtnNi4TkZU0nHtEAD6xFbgTjr
CbS05ylq1WLUly93++uRx04VU0NnVFmzgKjJnMaB07QWF+tVPdgu9t85G/jXm6ib8d+Ins17C21M
RxslF/hxL0d8ery9+/j6vOdn2b+3lLN/Tpce90Cy/lLXnAGfQw0ibb2gXZSC+YhIsA/wg0HVx1fd
1DrMcOGm1uFpq49SHX30fEfiw+d6HSf84D+sOvp0UY55Crw+5bysBCIDZiOBChVlTiyE9C/q6FtK
2aq46aQwRn27MMDNsP3t9XOTSboxN3K6jmCmtrMC7bJLAD7QG/DNwcVo5UCzAJWFCtLSq0JsWMx0
rsz+WSP/2EszjKsPPbwfn2tEGR634/F7EU2XmrECbr5eG/IIALXQ4xjiKy9KZ6VlTNlcI3xnmgvc
ZP3iuVqD263J4+DGueVg8+XhjGjX9TeZSUVBT7xFqAXvlXuwUzmKB4bmji8qVGdjNHMPbJ2FGwbL
1mXhVVu8/xnMW5japguqNNlFDFi+epcO7NXXiyrAlXDzBIS2XiCg8JjyX9d+jweNrr0YNuzU7nbc
p3pqX+ThGu5cF1THbq6gIlUlIZyp2mkpla8JeBz5LJmVwNKRmW5oXY7aiLTrXEQbdgNd5PXq5/zH
U6SfP6CQnWAs1g5/xARAXQaoW0QBl5Igg6UUrt1b8f5s3Easka1LScOolzd+9tTksF/TV29qtdLS
fU9//QKI0YoURE24chwzOAdPQuDFZiWyjfzKq1mnSS4U0s9fOVdkI+waQm6Em++Gbh8+zyk1PXUh
yVA4AJQpEqBFABe6lCoxctHlAMcxxZ/zDMA8QjvxQDsTb093/z9vL6TyuK2BXXoCDlM/SVUvbWvA
qFQkF0oAdpTU3dN5yEaQnVuXnze7QRxX4Lc/zi6OLxPGQXuDU6xJyUXUz40Aw1mAIesKS7WMC9Dc
leU0aivMIDvC3C65dz0y/8PblfVIbiPp9/oV+7jAgA3exyNPu4H2rjE17ddBVqayu9bVXd46DHh/
/UZQmUpRYmalx4UBGqiEpCYjJJJxf/HwOC0rafUHhscM0wzosrWSTMB7qPnFJqGNp7FWSRClU4KD
MNFg05tK/KfH7RslLscnGiYGsT4ywW5dOrt/uL2djNMRWkg6KgRmFAQBa8sZeJkJEaGslTqDGcXk
5cA3jNgnFW60FOq1KnO3P6TfzVwc98+/juihpQkasXEjS3YQ9kGAWqMd0dIW2Mih5sTDvo6agvqp
o3T5Kn/HNN0Zb8d0/6ale9thZrddac0vm93oWqWgpeB/cIZ/qOJSUFgh0Tg4itCO9pjuaEUgoAiA
zVeEC4G9n8l3pOScVj3ebXns4GTA11rmJ9Qe9ZuxVcTty+MTvKsJ5kCMhbpgnHCGtfWSO7AAjdDE
RbDOpcbKRQMncLgqkb0z1Zm1t35wztrWsPVa3Bo+GY6f7r8Pmyf/8GUAUlaadSlZgQJdSKEaM17g
ALIazkYZvQkBHeP836VZdwhtGe1UA22NW0b7u/70A/QJ+8ArkNDIu/LZeq8DiZmiNxoOukCTJLS4
GENhxZj07srURM4FN/uyEAq4FD3Whwlo5iu8u+fhH4+/Dt/v/29WtYki17hgo8ZKKIo6TDQgcjGF
Q8IhZhgoNjYtgkb94VqKOln7W7tKvfhUo1+3E0SV4XYEHxx/VIMU03sQdCYhZgk3cPghYpi0mVuQ
gOmtsOSfOjpaes74VJtnbloGRY/rDi5EuT3C3o12t5XcKwGCnssIgr5wDiplxDIoqz2j2bPC34KD
KLdnMSDK7YLObY/OYZncOWxfn+5f/vh6/x//6SqxaKLjmvGRKRaVJR4xdlApI4GpRBTslFKcLJGL
d0nkPFDw48ez+fiH+wv+1lr91rElf6dDoObcoUuCzVJ/OAPpVU8CR6UxmEkTMC1egNKPsfFASiqF
8sBZcunqvL86zYXUv3q/Ycd1UNG2ztwtjBTU2l4eJrwMWz1pWJMaHU0+C5BJ1HLE2gO7lVlFuNdg
v2pjNL+YdtAM3FJmOgvJ7VbhgowwbTVXjI5oFtJxIzkpFt2kFs5YD/Y0KT6C9h1gCXn5fpva5zNv
O7e87HiPF96FKR5RUyuM5OfvNbbWgKaCoA+KO2CQo+uS+4D4nJbYCPqn4clQdXk7TyOfIf14u+Hg
jnYO3Tu17XIwYa6iknxA0MO/aNV6k2QB/YxqjtEpi3kMNpJoHdcyURCC9s3PM0K+nq8ZneBeT4Tu
OtS7HrzkL/e74RHfua0V42MMn3nPpcdahVB97xrfecoEBIiTSgLl7u1E5zryearr7Zbq3lGzPWBz
VO8DZovGxqsBeoqZ/BqgFArOUfLKIBEISBIMjxCw9SyDbYqFm2f8GsuRG8K2Yu3s3u7ophO8qY7m
PmKIoRE2q0dUYwTxM9rATuWovofMYHnAOU+vQ1N8A0uxoX3XKcCHi8u8wQdE+3qe0lEnB6MLvKji
AskJDj3BBEgng+hjPGhtQkz6ugDxw3msseVTz5eisPMnFny6Dp9qWQIXv75+r93VRkpRbxutcVPP
UlM4mBWEUoUNEUKAj+PBEsdyPSaUEOEq63AxyZnP1T7UMjN0DI1B2Gkn/O1vM7DFAzidLVEkdP5a
ihUhiEnvfASbHO2lYIpMbKF8zoa5aWdav8sdVZvO8VGN3CroR/eA0BpRomuTAcNZ8DXqQTNi6ipi
BZzjUSUTFSpi/m3wjgugUdPtm5bM9cE98C3r7NVjhR2u91rzVhPkaQVpgLPCGIneURowvTBiJSSc
J9bmqAxsZB3TXyzhmz9x01LLeyzwFQvbxw2qvmOdWcVRpsZYAxIyVXClmijmYPMikqjUXADpbzkH
YMxz5MKtBZ3ro2UQZllMlu6ft1gY9LSr1WSg/dY4tqOMwlIRNcmNWiXgPQfGERFDU1jD8Cs6njPn
2DPjchi7meKsR+b0yE1L8dqvOijrTph7zw//3I1NG0/W3geO3hg4GlOAtULQfAeJozgBThiauRxs
W5FBO2v33Hq0hhjVqSfGi0di0EPx5Y/Gh46vcTwBqJeORZQwUuHnTwqRzbDM2AcpNNeWL8qlVsM1
xOw76R9wcbMARtx9f36e/K6aK3S7yroamYX5QWxgEoVgGhM54UBSWCgjrTZMpEu68mzcBVnrD7an
ereqdsZSpjFb63A61b8VTBQLnC1QJqPHcDjD8tBMcmBB2OhSCeL9lOaJkHOG1+H2nEl482tzYI8B
/4WrcPP9y9Pj78NcZvMEVoAAY1JXAziALhSi1oTFkigYMNlKeVVC2mHsM86/w92Gatnx1u7Njmo1
Cq7Hu//ZnqqldS3bTkolBScXYSVkVPBh1TJ0S8hkfMkIQb3A/ZiPctPOtFbUEC+ll2XTxnvEWFxp
qbR1K0XQF71NAaGvYSt5Dmaqxl45MRfOPc3a+GtrVK6I+qweu2k52PTYmozWx91+dwqpjdnxMgaE
dku6qm0OM8gKiGKueXa+UFcWQdXZGO3cnajeIat8/kr/EWODZahyDjwJ4hQz6O+Db2rg63IOFkVm
LIBadc3rg2H7LwxutGQOvVd0cJIBTz9tXrZfTzoTr5CpPtJQgiUmY6ZyAvo8A0pNEU7qEqVSC4Wp
GaWZv1fVst8zcwIs/7zIW4ywupVDkzaLiIX1Ar4OzB7AbKdMB+dieK8SkM8divfMdijmy84mn2Cb
zzMPzOEgNWPfBJs4Q6HtBXbmsrBXHMb7qM0qgaVIpVHv7tedk3TOr3h6omWa95gW23PIiRVA8uen
xxdQfh4agMGkKfyLcFRhOUwAnctqOMMMbCxbZDSM5z+FndjM9AZ6YvNsy98aad5Rzvniozbia/Qf
Ht32QlfH/fijCpPgS3QV+UojWhlWXxdQhE0Cm9rrpCV9P1F5ouXMK5ju3zQcDh22pRPdrikvB9if
6jaZYXy2TieanQrweRVoLcJp0Ot0BMPQMwT29FS8UZ81H/yC32mNMYR0yw4zd8PM+Nvc3Z+qs0bY
JMd5Bq1FEyAcpChTWHZhKMnwlaIU0vBIV9bfNE5LwDq1Ci5ulxXS/vl5eImb7dfhFHRgcsxRlWPx
SkXqs5JojR2pssM0MiMQvtFlk5PS6TokqtVMZ17p6rmGL7Uxa77U5lRFgf9zymRAb69T0nqfHeEe
i6IUmLAuRxAT3JsoMdgtzyTKnIZqSVibTHhxJU2fXp9f8u+bh9d6MvovFd70EB2t2OMcRJSTGZMZ
MP6OKxXxmDJXaHMzbgu7Sr52JjojcDtPtqytIT/xouvjpPxUm6t//L5/bBBpdWDGRjvKYVi0IA6T
ECQxbrJ3Ko8OvGsxUk6TXMRJOT22YGjTY6gHdrCQYAgVUGECqk8pKZOEJwz7BoCYB5ZKsiT7mCxn
WsIieh8J2Xlwwc+w5kfTCUbnmGj/+HK/PxVZqMm6TNKGlAUGbTEJGi0nT0shURmbBdh5JsaLGfyz
gRvC7F3nRbvt9pi3/3u6/XnZVkAZysHWyCQViuD7yoJY0gW2Z6EeW0/x8O8CnjyR13B1J+2aqzs9
lblWZL02zVwzsNttjsREgxiaCmNjoFkwWPbCRQ1qxnulmZ9mb4nWHUF6d8c7SU3HZkgfRri5cv8w
fLp/xmNK1pQbPvaAYYn7ZEwgxmDGDVeo5jrY3Il6sPUs4yy+o6nd0HLG3m6eadm/6xzPWyon0fv6
2/MM7leoUfQyZaWXlHAmExEiw/mlmSAxg+ZlHRUm2mWp3Wmcm3Yu1SFAT+4f/0sZg0GTH4qNwG3e
gbEKJoR0FGMLJRCHaas+sCx01qCNv5Ff8ctbMMnN8mnpaFnQrsOCnTCTV1VCBo/JkpziyWsEMQKF
KwaNcRFBMkuMsaiikgvArvOVQDjdXYcGJ1cObAz7+FdE/pxnt8lgtREZ7H7tMFyTQftLWGoejY9g
1xQbrgSoOI5/Cf4E7zfU72znPNztpkTazesp/sWsrogamDRLC5GsYEdGD5sswfmscgR1MmiVysLx
dxqjnXrtQIGLg12ExzfPs8L8CSQSJkfbvhAWKlwGmgoeJJ/3TBlQ95z1FzN4p1FbkgbXI2mpV5zO
87E7G/yH2SU2lsEoK5gxDKt50TOmUZ8rqN5FWHCBg06a/1q/i9P9BQ+dLzocIA/avL8HlHEVqwf/
1IQ/kAkGm7AlWrsiO3yhGOWhSURrs3bijRoZGPV8At/DTUtURwDsmeshPP3QQDw5zPlF03H8gXva
o5JQal9CCXsa9FOrsCW7M5bGmOCuvjrV44eLGE8/NCBPQDHvqPp7uelDrn3aYEPL2+EbgkBuf4J7
99+/zFjjH9BnU4+Hg/MmBbDzEelJlcSwtWYEy4ZRzLLO3kij5RvOm+6U55wZnUdbbmXnuNvr3TLF
HQRfDcFI7Ogq6iI7/kSeUuIWzlqiM3Yn4wVOPdgPRLtQMGs7SH9VIcxhmvPCd0W+7iimewR7aqqv
jg6P8Lrf184pVcmoqd0+q6yiI6BrY585zHQ3kpGcS1RZUKnzVc6YdoZzWYPzZ+Z8MLoOtTvU6BZ7
5/f7KrXKZjuMThfxYfQ+178j9DTlNnsiOTpPqQF9ggcGijbPEnUMdV2S8nGGM1rT4W7DglyjDOFF
tzj/f3v5+jRsTiDHwmIVR01PTonlIiPorNixwWNVSYwg1kVgMefslLooA5qRF6Stz1CmmF64tn78
OPNGfOB8zLSrsPtgXUpY3rGgH19Gian/kuSSTPQisejePwX1RM05lOmeqQZsmQ6v2y4Ex+vQJGyU
yLLHbWuEl4cyGg1GG+rhTiYaaTB/xjF52RXZUr3rLB61gqiqRkrc/Pbyiot/TIZ0Ve/yMccC9BGT
HMegCwdbWRqSsboNFpUS5n1wnWYUnPEMzJ5oeDR0bdUxoy/Wcf/37aWsXAmqkRcFe5NiKUWyWOLv
E5EpmgSfT8IreT8D6UTLmU4et90FadYt8uDiGmB6XSBbtbGx3rJid/noc/JMkuJ9VRIlCSAvScrS
cUSsF/ayOtMrwj1TSbV6sOVp6H3K4W7lsLp9rc3IMNJuwWqrzIy/agUmbK9IE+ElYSAAzjonTSLU
ZBGlZ9gA9bLNfhz/nI/qcHtB+7ZD+17MUuUq1PI/n15OgXl8+wwTjLUjRWFLFeszhi0cMcEILMMs
IaZzGXLtgA05lnWWh2Wbowdn+7Db/vY6jCh3xxDcB1OTP4xUUTKP5nJESLqC4V/Qp0oMTFI4mH3M
b8bB4jVxsDUVCybuOkyIKYT4DQZ6nso66reXjrlABUkuYPVtsQTzLAjwA9qIzaJQ35pd8zHayYXo
TW6Ok/+2+XZyPNT0qlhiQqRULN2MmOYewHYG8SYjF9lm7CS3mHw2Rju3Xvv7mbMnkIb/fbh/GcQ0
O9N15acoUBMx8Lmwj43BTm7KgPqonTPcoXtzCc47H6ghoQPd4djWLbMdZp065Ac5KrD4d18lHwhy
7jmCITMxgrG6AESlpIE2CmpUeWsnvtGvY/ZAQ/120xF8O7aEDzjWAOwb6LixFoDxausVsCp0poRG
BFsHa4l4REeSkiUBx0oub6TMHZP433LmrJ9rGNqptRuAVbjm5nN8/jhHwRt1EFj/Y5dFH4LiGoS3
wdAJFgcGdGhmrVVI3ibQEq/RQ+Zz9HmZP9Fwsdd6zcV+x86WLlTI0E/+vzqYpSII9EEJYkrEYlqB
AAmREQl2koevk2J6ux0Mjn0BrBTutvSvs+gd5ydn4Ldhu5kVmmmnq8c1Fw1KXpJgmyIUsUQDHNQn
sOO8EnDIOuMXOWnNQDfNbFvbIWG4W7zCQ2vURg9Fe59heoPD5AqWsYu8zbCyE0jFkkHMX6WHHoa+
2JK1JbkjGvHiUTT+Ovzx7ctUtsXR+QikgHGi8I0lxNtFmHEBbyw7G41mQZdM+6XBs7EWRKzdKGAd
LjfQx+08aKRtNQP1IQMp5ZxC1iCqsUFswGYnHL4qBx0DpGKyTl4VPJ3PceZY2/YjRlyscQvhot52
zJCfn4bd/fZl0ZnXYja+DYFoRbFftvEEjmVOlOQFfiid+NXGyGmG81vo9EzDh7zrLAl5tzvBUYJO
MGvZU536MYLQSIzAtkc4AljEIVpYE1l4xUqiwNuig8RslHb6juXK5W5CY9k+z9K3wPQ7+lMVBwKC
9oRh7b5QKhPYx4mA6SBkEtEzu2hfPxuppWDdlclxkDmdD3lcCLUH73d0R2IhPa++FjsixGTGGGg2
JBmEbzbCAlmgBsSChchJ5mjD1alxi9kuZMctnmz4s7TzgS2TPa/l7d9/rnj0xyUKOqaKnBItFR9z
/n0shnAXvI6hmCjt1U5KGPuCkxLutlRvOlS7w1dZIZ91ujIFDJkgJpzjoDCDpmxIQJdGsM4lrSVo
1uwKTLXOgnFrKBW4yKcl+7x5fuBzhRTRnBgDixVEFpzxHptEASWeOVi+xkZvWZK2LGI4zTAtAVx3
CLibokh1SRxqudc7J2vYIujYDwrhlUGME5sQwCXzUJhVsFAXlKzGa6jZdPwxfCOW5u8jWCLPxz7R
Y7JczYY5NJ4WOoeiMT1bYM4Yc4ZYgUcKSJnAQbFIIbyHe6NpV32+Yef0SMvq3doZy7fUdiLAr/fV
NX6o+hhB+IXVQhfiKbLJ0OPvdAS5qow0xbPAr86a/fzx/GHw+WND83ZYWw98x8bF8sOnvw/fd8PT
8FQeHjcvU/4llYwHqyiCuCh03DPi4byFNaK5M0lqTvO7gLs3058w3pvLDTu73trfSX5M1HiCwR9+
/+BONXCob4OIDSpawhzwJLSHJa9BfNHApVYCpHBZmIPtMC0FqrPe93yJbbJKNxh92SMGWqVKObRc
4NWCvgdqs0KkKso1kSUrLRg2G0v/ekbD4eacdEH1WmkW1AyLQ/Xb5uHhcSrn0OaY5IKFCdkGLKdl
CMweNbHoQ5VKg1XJuNHmYn3vfNyWrk7mF1yc+rjAbhyG738fNrsTpoDkYGnX8L4u0SBGmVRw2ovs
KHY2KyQGz3lScKKVRfu99XALatZ6PahnywD55ve5rTrmnzEqNSyaGuGTLKREwRZSCqFvQfjAOZsM
MYxqaVXw2Ya/mHYwf+KmpVZ1WBiWAGo/jjiGbYBfJQF7woJGHbDQD1YhsRZs1RKlNwmWS0hXRVgO
g5/rFVhvNkTLjsgXcre0p9KoxMKkTTCjZv+NaFmCwi9Qo3EJYONdMEUdg19BYZ+2zIxy71j2vabn
XJHV8rmW+33nk6kVkPTJIB/J97tv99/vn1+eGkcDGxPQ8WTToG6UUiP6DL2HMhGnQHfLsALNdRZG
b6ZLbuX2yZuWoc4JpJk8JX7xRd5XlBTRxSzhEuOXRqBPTUTgCR4Q0RXF0rvlff1/b1f33LaNxN/1
V/ClM83MUQeA+MxMH0iA8Lmx4yRW0t69eGSJdjW1pYwkJ81/f7sgJREkJbttpnpIZJEAFiSwX9j9
7YC2BdQNLEvJuhmHv76zzXvdMwPcTCUDk8mBoepzrMop8NQGDH/jXeZBoebkZdVqDr0Pz+NwPaJd
D7gO4ce9cWc/XV6/e3i6Xyx38M6d0qwEF0kOzFRZLNaAQXceXkNJ89IJb6V5xm348irjw5REszFy
YDZGkZ3sf1p+XSwPIGdNLQxQLEFsiZQ7LHwpDAZ+CZ4iSpIvChAXfBjarN1bTIbqOwCzisw6h61n
1arNoGqXGZZzrhVe5rRWmAAENopDg8DXrv0ctGBnqDfypQBOq9N8p3XDKKZ4PjANerC8V5+/3S0e
DqmUIS8o56DEolPdZ1hKisM/RSF1CsoAyFlCwbZgRw5J2t3FlNwNUHJHe+eGHleTW6yrGRgj3w6F
oagJhW/gmQmJDhRR4uGZAUZHFcUiHVbIvCzNM2gSUe/PZ2P4F9zfuWkUT1ANzdr00Fbah3n7kq4s
KGVB2rmyUM6bVGqMJFJYlMHqLCVUSq2Z97C0TqOu9AaI6dR95YwTNu1BLC3vn4DTXq7m1UNj4u25
oLZU5zwUgEPs8KJMQYMkqYLNy0B1UyR/UUR+d4zjCU7tu0YR4QPaOyea71b9fLH5HBLZdoYzCXjz
QaOzihuDRyeSog2PiIS5KPNUCmetthm8hOG1H3ca0zPtMxNOm7OttvfpYbW+/racoa5mGhSVOjAA
oQ1UiU4agQWfLOjnxnH0yGUGLmnntfrusRt7eo7Zoc3lUTwtPTBXsz+YnZz7buU6LK+bIzRm7hn6
BnKbgqoElhvlHmwkJpkovpP0P4weEz2QccTprOq8oPcu5MnWVTxCTSjQsED/IinTIaKbosMHVr/X
zGHgLpHPhVP+hdfy3g3f8t7Fc5rdDc3p7kSgxlB0hvVlVpZYdiHzMEXNeGqwHgNRhliiKCP+72aK
t++IpzAQTwM/dr2aFwiJ8vF8F0sWXk8NuicYLznIMa4wchQ9g7knMoWXljGGGYoleRFLqgc4msDe
v/V41Fnrhs5c+6YBZ01x1gCbsNx+qO5R427lptTx97kiDrgBJmghsit3eQr2kEk9LwwhmpRG0n8O
qTnacH2yR/EE+9oe5+jlHDw4xlLM4bhYZZlClIUQP1R4YT2TqcTcnEyUFn2doBPo0kmE7vGFftGZ
8emT4ohuPpAaxQUbKqWbf7L/cehw1zXpwB7HNRIcz3NfUIvyHFN4CIj33GItUiJkSFgk3L7UWRhG
OYGQhZejGQjV97Fxle3dMYPY+AW3jGp41KLEwqlWOtBshUstaIxalgwMUfkPJR0NouIbXsmBF1PJ
fbH6dfW4+lK1VV5Oa05R+sxgHVus6S2zEt+CQa+XyC3z2kTZFwep3+2vQ8xsgBjTjQfEiFrQHat5
KHe7x4JtZQVysCIZPHHDEXEYGEVaEBNq6tEMAYgJYS8N7+0NdDzKt3drPDkzsIDuDmkufzxGBySm
qSCNwEdgIaUEtPUUuDBIfcUEaInW0NIrU9JOlb12P20CBB3IKcAfdwQ8LWeH0UN4d0HBPlBg5ypR
w4EXoICk8LJhOUujPSmPGImzweH7rEuETPPIk3Xh8ndRJD3s/Rpprk4PM3kJpICFBawAcWuYw0KY
ZSq8hv1VSqTsdCA9DHBE1MCVUUxdNkSybJ8p+WvbzgKm1AQyWaYRnTtPC11iFmcBohTYF+LBu5JQ
60qbfycnQZeI9hQkHmV1pyAz3nV6foBtua0+LaqvB91m570NB4dMa8qxLKXF9GFHLayFwqcgUSUn
mWGgIbxkR/XHOSYTu/dFs1IDrlz4cdoHkvo9X98u9o5ANlbBpasCUF0hQdaDdVBiNJpG565nPmWq
dIU3Vrsyew5Dqt37cVzv1k3RLG6zvsYpA+hirHEiR3Gr2d5jkumsZg7COwP2g0uJcZjGABpNgZHA
QhpWUqmVz16kr+1HOFFVHC/H1Bs2RD07mmY1riVUMAmwXfNnVmdaaa4pEw5rOFDUSkBoasWDm9YV
MJJ16h8RlfW1zkz7bAAkVXemCGw+r7bBq7GZBeW61r7qk61SSyo9oQguaRF3NUsLqkHXZsC1nKO5
fdkRAtaydLthjuvNvdtGMfV9A06RGbubxZknDVpfrYrp2rQWvuBgCqQlFtPNeAavTJkiLdDr6K3O
QGP7bi/qBJrfly6UX+2C7M0KGNjOj+EW0/vlaoNJUdVmg2D79mGBAAZ7YLSQzMl4Vkhg2Ixi7Q4h
CrAOBKiZImeg2IH0MR0opNP9dkhkQyT2ilnPcM+N/WI5v/zmqtqDflBwCmMVpyAEpce1VGAcB0aB
Yh0FAlIQ9PmXJfy0+j/yMlp3dCYyG5gIMwO1c6pP7/I4Oa4+mRrXqciKKCDZSazWRurCuQVWmFHA
jaU2haNCvTigBoY6EVADV6NJZAPoN/hjlwOHMAq0H0Movwh4jx5pJiwVWA49K5nBbYCF9bKMlsxS
nbm/HJtRX+uQ2g+zUPJ21rGgAkhuC6OmjyorrbJMUjwLlgJj0IEjsVKlVOY2d5mig3G2LcLbQwyT
374jmoScDbAdlZmj53nnVwGOD1SRBmRIGQzZCUa8AKmXgVJsHEfEMiy8BNsCdGSZqxx2mXqmFFzo
+1jcdoyuh0ROByjnvI8uX2eH12HaMnBMB+IYVGmfYpFFWOBYRq9ETQOENVYi9U7xF0a2Hk8Nby7G
RA/YrEodCgA1zu4F4p3srDsVYqJC6ZM8x+hhRAV0JcIPwwqXTqfS5lgpSHnPT6IxHrqNiRqIfVdq
doi3aMqOHsoSSrJzXWQ8NwaMnjTXGHerSnj7jCm08zRYSlkhLOsGjEW9RZRM9QAlofxX9HhuH1az
3/fI7jJgVDDOnXGgnUg8TBcFij8CC1BqQS3joPSfrPvZ7rJD0t0ASaav2DaHJ7vzz24Nm/0BkPSa
KUfKlHjgVRmYwWnBcp0ywbQUJVghyj+j5XaGOqLmxndFk7rl/YR8dWu6EWIYDDd7qPN86siLGjLO
5aVVFKRCSfCgpGQgHwqOh5VKAcvVVjwDGXcq36e+FpNrBrZ6xbqp4B+mXy10uJ42EVoBWNegmlRX
AKPcwLZ3KawTYE8SlmpAhjTa5IyRkuqhOuxt1+6/uyPA1SVmdiPQ5uzq+nA9Ir+aDQiKak46qzpC
ZNnpP6bGBikyL3Jvg+6NBSaKVBeICivA8pDSgzrunitZEHcdEzgAGaHuRNWpunuAziWahcJcoT4Y
CELH8DwTcx9tgb5LZtPSWTCxZcllfvpcb4CeOznABu5k1i0523CSPldiztmCg3GfkQxdEqXAigo0
lRrJKUyhxUmco6jnDml9ealpL+PQ+n0+hUKyxgJPJOpvIc+JOBcql2mOiV/GpyB4dOpITl1WOqKe
KxjiTyZV7C+3addsQLfSjHdlfYOosPm23P5WRfiM6ANuasDXX1BXpC4npNCpKDF0hElYmhrsRWHA
SMSkKC+/P3zkdSDxuk9h5PaOb4ofxYCprNn09q46JF+usdLs4TA7pJl4nXnOqEux4i5iNKs0NyBw
aFEWgiiSZ6STMNfrKaZjIJgMftyL3g/T+QILdXbOG1VJMgJmX0qMlWmWgaprgLvBHpRaaWXB8PPf
6bwxpmA0Kv9okgouV/PF3Q589/rp8RGGeA2Ts9OHh03yCIZ3cvstWcHDXyef1yus21ttku10fV+F
2Ortb4vN7sLr8FC2083vN3er9c3nxfx1wurfApbAzQz+3VavE9L+cVNtbzbb/e/xwM91T/5e9/BH
a1bwBMJ4j9MZFoMaGg/MTCH/3JijT5cJnjy1ny+Gg14tH74lGHyEV1Z3yd75+DqZrLbTh58ykY3N
ZQLLDtT+5fYn8uZH8sOrZPMVNng1v1k9bW+ArKdlCHSFweZNCzS3f3g1+mW92E5vQX6uw+D7bjUd
m7PkK1wFmbfr9MQgu5/aA4U+mnGSMPPTn0/nHyYf8wv49qE8O796m4ya/yf/fVceb3Z9/r9w1V59
fDtJflyululsNX2oNrNq/ioZ/XT4HOlgf3X3ZTTkJOk1o0y/2X1n2Ga7+IKnfpP1dIaLfuDDCI/a
2LMEKx7j3Zstyu2BNkqM6WXznddtFsEvdOJDtSb7cbLQZj0F/rBOQp3CwY+ShzbchDabAL1WD7cZ
HIcL+Wb/Hdrg4d0S7g/L9XnamKnbfDxv5nSMPNF6bqLTBo+zBgcybN8GaHNNxAtIvyUwpRoXszMr
rsfksvV+WvmyJz6Mt591bTSf/ijDSXsd1I6+86uT7zQbZzvaNElGP18nP59Pkvu6CCK8ptlq3nkO
wIVa8xHH2vxYK4y4W8IyiJ7B7rO7JwFGNZ3PUcwl8EDRM9ba869Gb0BiVA9Jjr8kVyBMhmej24/s
Mr+4uLInnxieoOsdWYbs29w/Tdfz5POx/XBYNmCVjWrk0GQyvYd3Zo4958OSDrS12gh6jDwebbf6
9Cg5u7i+OLFqWuPA8nxXC5gElvbnDawFhFp9jn1cv79YbKt69gHCdnA+MZu6nuT2TXL2Mf/gjpIG
y4btnrWA+VxvgUk9s6SzbCz2bWQC8uwmvKF8coJ1U3NgH0DbL9Ut7p3LsJyO7BxCDusA2VTcJlrK
re02VmeHZ/1nl/TNjcsn+enpM7F/ZEzBVG5u8O0XH88vJudvr4+10dGrubk5v8zPytMDCdZpc3H+
9k3pYFcfZxx6rC73SwjbTMpfJ6enQw9ShymKbT6+PbdX7iR1QrA2bY9BOzjKn8NdjKH20vwBS60R
OY/1rjsyITnml/vJ/TUJP7ma5BfPLGkwfMVZwzyIaNr8K3kE4bGJFk+9aJpJjGm7zej/UEsDBAoA
AAAAAONrQksAAAAAAAAAAAAAAAALABwAX3dwdF9jZXJ0cy9VVAkAAwqi0lmopNJZdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAJFeQktc+BThGAkAADoRAAAVABwAX3dwdF9jZXJ0cy8wODAwNUQucGVt
VVQJAAPyitJZ8orSWXV4CwABBPUBAAAEFAAAAK1W2Y7iyBJ95yv8OCM0qvRuh3QfvGEMmH1/85IG
V2GgwC6Wr78R7u5qWk31SFfXQshLxnYi8px0+KnMszyJSg4NAS83KqNvd3TN+emcH/YgyMJf7Cr9
/flhwk95tBP6VRHzEwiqpMiGSGsMxtT0YV2+2UdldeKCtdscTnm5LUA4byNJ1Rb4MJ5Y3j453Y4l
Rvk0Cs7nirw6/f9cePzPcReV2eFU/FPyc3n+mVu0y9O8vH2+oKt/KAWb42oOwiApBUESRANUCWRF
kJioC344/c3Aykp+EgDvPwRB/IPBpIpfeVL+W2bflwnDKt7lidDlNyHYZwf4JfDDxwdoTufoCSB0
IVQPNiD8JTHFEOK8/PuXZXSFh7TaVeeHJfDbGroYg0wDloGhQapAagI3QROBIwAxGAaYJug6KBwy
47mHOAOeQhJBpIIRgZ6AJoMeg6KDZEJigmiCiVF08vbUg5qBqQDD0AlICkgixDpiD1kCOgeVQZSR
84SBGX/hAROQwcDFBogpRY9i0GLQRapOxYpSUFTKJxKfe8gUUDRagyUwFSINYrzBEtCVDEkCTIY4
hgT9a1/gYACXaJnEQTNAMqhqhYFhgpJCqoOoEJiYSZI996DjVw4J/mJIZUgZxCKVo2r0iFCkEpVD
1bEvPCi0kqu1lQRxCpoGcgJZBooCokT/GN1M6OVTD9h3jKtFIGmQmRAngNgqCRgytQZ7LdXIaPVg
PM+BfS8f+y4zMtfxMSLwOaee4j8Cq2SgqV/2whSplTgYHIcwppFQDJqEVIMEkYxARWQY6F/kwDSC
S9KBR9RxzBlzQOQZBz0DMaOXigyyCdkXE4X549joESQII6c+KhKoKsWVcLNIIOI9jkdCzXrqQasr
xY3DsAQR5G+d1SEyACEyM1Blmuek3inPJwqj4+QkkEY0CWiYZsBSiCJKO1UBQ0QSLZD4FzlgdI3K
T2Myx0JwGjF5vc4cUeX17saXuAGfesC5pZHTqHA5pS5EWFQEIiav0w/NtRqir3qRoqH+2xfvejzs
+R55VFNVWSfZEBlj4k8mW6rM/JAFfi35ngTo/Kv775/t6Ixs6ODn8hTl+/IMwm+xHAum45n3zPwH
Tdf8nGI+KIQkO7/5wH2EI2GZYItgeDT8ng26BRKCKUMLe+oQgXgt8BTAgJ4Fmgsujpn6LK5VlVvi
+9u/R37jt7zex/+X+LW+56d+VHB4+bOE/bjOtc4DMwDFQnUbz+qhKmbnaMOfwf/zfFGfBZ7Ze9Tl
lKd/dDTtTYQFj+ng8YFiTRgSbuj4h1D+T0cN2ocZETRKCG5RFCqkUVREpA9kCiWGjNNmk1SQaz5S
kUkf9jw+IkPhXlWQ4HRqAscFCXElk0jzkEdkicQDORQR1HQShk9z5FbUTuwn8YJJ/nHTohNkmRTb
jiqIm18FXSVVRlVDkdMf9ipG5IxUClk7Uki3MCKmjTqEeoNB5Zj2J8mbSbZIHFL609yUyDPWyGqO
RuXGWlDtMCjmgETDIkg56ShOGdI6Jik9RMdUkReQ4DBPWSXhzCRIMI2UmA6RQQWSRaJ7zAq5DBeg
n8fakT5Qz5Du9ZTEFTNBikcnok7MyDVieeQdhAWJjNe09WkuMSKmqOa4GGVPpPJR+ciWkwAgSWF0
BB9zw7aiLhoPtSP702FFIZnJZMgYLcbGsYTKNCPCDTHHzuLBCM2xcPbQuLQ+2eAxRfmm67Uqo8Yg
vdJZJKV8zDoTMwWTQ1yj8WmOwCLIyK1xrZEIu5HQECKbY72YeVa3W2OQiCQ82L74MToWJRPUeOZA
LceWYa8RJTydYB8JT/X7JGB0/EdM1AeRwFOObNCZj9VTgSNEhwyDJhbBROTpzJfQwQUBx+FBb/zh
5BTVZzU8RqAeYGK4OzC6GtFRCXtE2iYSJogwyp4kk9JkD9ERz1ij6InU+Icu2/ODvuB442nQChxr
6tVvG2EQuLO741iv1ca6BLa1CVzHstPQYr4zefcnQSy7I892LjMrtNnVv1tre9Of21YYevt011jl
4iX2W2xdmLd4IrL1ss+Su8VbF3bt371L6AbXgTu7hfdx9P3dNXS9z3eNZ16fO8UsJ8HFHa063cM6
2H4kfQsza9gjy91svKHl4oLRwcF72xquhttyutYW7cNCydcp05WPptw9ro7GSi7b3eRt/TbkwVId
dRq6M9qW96mR7ZyPY+LEy2QwWNii/i6VV3O3K8eTYmt661a+WRTVJjkdjItbGZtFNQjcXrE5NN48
pzNNk1mxkId8oQ9u5nB0HosLJusTc19t0v5w1553zfXr/WVsd7y7ejG0vv3e+SiM5ezmNjo9o6iK
fJ34m4M/tVPuHI76x72ymbkzO63Vsln1gtl2JJ6TaDa2VXuv7LV3r+A+G2TX5rYxuu/1bmunXU6q
NdrNxz0lmM9v9148UAeO4jXvZ35IOua0MMp2dZYT6eQf5Iv03jTn50N5qRrxZlVIWt7MVx2557SP
qVLMxJe1NJuKwentMN2pqbw6qSqbJo518SwrGtjF3bELF8cCO9doj0PPnlquNWq/YEt9S5yl7ma0
sO1x0e0W19fj/sTzzr3Zvvp6c9rVCnk8ntptMm5PQq8xcq3m5k+LI297tI1Le+rFof1GATzrcpmk
0jzvLe1zY7UcF7HcKXvL8S6Rx/fNJgysFrs4l5U7H7OhbWGITeCFdlhn1xmNwtA6+I5z9q3RrNWw
L/jpydxbCu6LkT3dm5l7/0iZe0uyyYs+70xfTnO7nOX6saOy+K3R7hlO3nq7VUporVU7vB2LA+dl
Nc5f0vXwXUwX/ul1P90rzsfo2I2C9iWcVfcyN71i0LxJk0Y6OwfdYtC7D4/+++bEk2X/8O6Mq9mo
fOuPlrdrV27Pe+xqK699e9kPU7kaZ8m2J34Ey1tzNWoM+dlXb5dN+q7456ZftMfZINuG1/B1Kasr
pmb+ODNerGvbuh2KorOtyqncsdy1Px17xaLaNOJVz33l/vJ+lHjZY93mR3RZrqpQNC+m9+KfVmFr
PondSWhM82F407Xr6v1tuQjaKstaotZtDIJV57WyF5IV+Dc5DaeTO0u5f9Q712CSLvTF+3C/F/31
YKq8Bpk+Kw+x842hvL77Oz/9F1BLAwQUAAIACACRXkJLSfsERfcJAAA7EgAAFQAcAF93cHRfY2Vy
dHMvMDgwMDVFLnBlbVVUCQAD8orSWfKK0ll1eAsAAQT1AQAABBQAAACdVtuSqsgSffcreDwTPXu6
uENFzEMhaKOCF7TVfuNSIF7QVhT0608me6a3PW3PiThERwdSlZmrMrPWyjY/lnmax2HJaUuAxw7L
8OcbPq/8eMr3BRVk4T+kln77WAj4MQ+3gn/eRfxIBVVSZEPCPQYhKr/bl2dFWJ6PXGDbbH/My9WO
CqdVKKnaHH5MAuYU8fF6KCHKh5F7Op3Ra9v/s+LRj8M2LNP9cfej5Kfy9AtbuM2TvLx+fMDH35eC
xWE3p8IwLgVBEkSDqhKVFUEioi50vekXA5aW/ChQeL8IgvgvBsE5WvO4bJBt93G4Xe1P5T9XhdE5
2uax0OdXwS3SPf0U727xLiPHU/ggD/hAhu5sqPAfiSiGEOXlb5+24ePtk/P2fLrbQr/swYcQGuk0
0SjnNDFpLFEJ/hs0Dami0ESmoUohBwqnWvjYg0GoplM1pGJEU5OCQ0OhWkrlhBIwNyiJqGZSUaO6
9NhDZOCSniIMzLdKFY0SjcoijeFFp1pM44RyjYb8sYdYpgogV6msInI9oapCjYSm4AQOQigBnyZN
YE/02EOiUkmhIcFTyDriN2QqyzSNqZxSAvBiykWq6zQSv/FgUCnFHMJfKGFWITNxSjWVqiniCcEP
pyYg0R97UAnVZaqHVNXxCCmn3KQGnFpsDGVqmIjKlL7FAKlL4OAqJSLVDGoCYPjT0CoMqUyoklKR
YxSSfFPNBjxEj6AxTCwfAIZaQP5NEwuhQ3FFLLFqfFMLE/3zEDFwKERMTYLNA6ENjtXUoZfgOBGN
1MceREJ5TFWIEtMkRSdpRDnB8gEA7ScAiRKTyvFjD6lOiUJljUoalj5t0ihDCTSqSXgEqEgUUiOi
5jddnTaFgI4yDCwH5BxoIIV3GVsITgTRAScch3/TUSankkQhGxBFgl4ysSUgG6GCRyAhlgY6HKIk
33iAhoxS7GEjRSs4bAgXgdMoxv5UwDZqms3EKI9P0VxDuFPQEjHBOkLa4XKZCpYYUEHDQ5spybfV
TOCAadMGCXayIeJtguNDEYElAIkC7Rphf0rf1AJsE/3LilMf9gUvgD41VZV1VAuRECL+YrKFSsyL
LPC65AXqzumz+7+WrfAEbNiG5fIY5kV5osKXWG1GO2wQOI/s/+bphqATAAQCiHLz1Ukba2/DzWlT
26FMox0D6UY18SOsaoS2deqoeE9ECztPtSiD66o+isvO5QoJ//q/I2/4NYfkQzMblJnUguZ3MIhj
UZ1hj8F1Ayx6GyvrdKijUDixw6hmUxvqpbYeAcCws1OY8QcR7TzLS1D0D8H+HeSwECb8cE7yEGXp
98YeZCo/rPhxB+gfxXCwdglP/jXYdBAIcx7hFHEB5cXEYDLi8Iv8/aNkbAtKDfjyCxf8cPfwIH5A
P7T59+ZnVVV//ONTXfz4URhrLTmp8raqNsf31UUywkfbthf+Q9uGyR9fvUoPvol/fJ4M/q8JCKgX
r2+CpVbgInIKQgFSA9UGVQFdAnoA3QaOB+6PVWQ4kv66LHKzBMQDZACsLDXCAoIWKUhg0NNahEIN
Igx8DIwiR1S8k5dURaLiQHs68h9sQAwa0hIQAOgbzAvA9HFEdRO3wSAg37ERMChwlWkgC0aN8iSN
ugJ9gmESo9iCZyBpFYCJqBLkThaAlpJG+mTgG+BvHXHCYCI1Qwcg5zq+w/FRE2QUefkOvPGT5+Ci
NnON3Mg7qFAsYooiCZ2IEuaEN2NCrKPDD3MgbMgGAAYTSFRKGgUDPZEozAsgI5AESAjgB1vQFuDa
5G5CAQ0B1oSZBaQMYENWQYUgITDmgDQBiWIqTNRGwAxONBnL+mGOSt44h3yKjQIAYQNUGJTg9qNC
EpxQQMkhOngA6ZbvUgcVgXpxAAk5FzHhkFsgfjHBWQ/cgnO9mZiwiDLiNO7AQ5VRM02UO5jdYGoA
5KLcFE7EfGL2QqwIWAEYmDLEu5kCvEG5wbOiYrOBboAmQ4FwqmrmOLUZEsEcBjSY8kASwzsBUWFP
gk0F85cEUknwP8wCYohKBRMZ0CEIGnS+IuO9APJV782h0wwc6OAIBIZZFU8q/uwZguChnQCD3mQY
powoQZH/ZS7j5AtQI9L6gY/ldF1faDuTqdtx22zqNF9bnuvaxa3dZnuescq1WObabWZxj5FuO3jv
Bm4k22PHalcz5lmk7t7Ym5X5rxbzPKdItq1lLlZRt0PeduY1CkTytvBJfGO8U5HavzmVZ7v10J5d
vdsk/Otb7dnOx7eWZ41rZ83Gf3ttz+vLUuqcwq55S2xAFriVPV72+vs3d3WJfQZorDGzs8wZMVhv
sfG+DT8sNkjnelm0+/Fam/jDbddR37NuEnafN2zVNUymZYNw8nY9v/SexdXqdZIt6zpLTq0bD88V
cbd+ejBfXVkablgnSNyjGARZ95ZcstvIGFU9Q1nwWmo/v0lhX848c7sQg4t9eH1pzV587VWWn7Rl
uLIPw16m9uvXJOiweT6JF6H9vrZGL4Xn52HPPA12++048nfzmiyXk+V1MXpvMS7Gm+5htM6Sp+hw
Fp1hPVn7z+XTkx1E3ckqyzaGWY2lXrZQV+tgtywm6Xl/Dg15v807PGjNLqtpX2U9h6XHIh/08qun
luJ188YOtbc4Rr3Bs7TWxsbR04yIdHQpLHrPN7Jcxay7I+GslQbD7HkjLsWnp30xn1vjnvV0HdT9
eaWc3v24zSqHsXBoGXbb0qesh9V6mXgOWzPsi26LibPEzsZzy5p6M9Pz5PdI8V+L6a1rv6hvm6i3
Pa+3U5Y2hoHndG02z6zJrt/f1etDcWzxvHd7eqm7+tO0r+3kyWTKBs3msQG19doWBwzV0n6dkK3F
qqqdLd1+tYRemL3gSivNmsWJ9RJXydLtRV1zvZzX+0j2SZaJciLH50/f8o4S5aSM1qt3fze5tfyp
f0rk5BgXnX2ydpVloJ4iyV9FXeg7OWh3itV5EIinZDcr/V29emt/Xm/ZBZjf3M9RMhUj14PdfVsz
38o276tN3jUrYrHxqcPYEFvZYbflwnc3OZ+1ze7ry3VU7Uezeu6OvL0fPz/ty+esT5yOf2R6LvLb
aWIuXta955Ue9CKpdfWMA4tLVRH3am/+tMx19SZKRq+fVHKvek2MmdGZ+9p0dAqKszPO3qRL4Xq9
VUY29eqF7Ftevqm6im7Zeq9wcvl97KVFebss1ttRtc4WV3Exlfg1YYe1zA1VOs+ibLLKF3P/YC/C
+b5u9STvIrqnYjh52rhX8XnH67FXicxbbsTr8xr62OlN1XGi53yQTBcjV9OGgbuEG7PkvYnXa7nT
/jV850P9ZZkcj/poMu5bpjK0/Xd1FmmxVu+C0+u7PHhuH6p+aYRz29xVrmm7OyteFNmmtcrWYjKx
iqXtPh2LYLAeiIuZObRP7M8/f3Kh49tfmfC/UEsDBBQAAgAIAJFeQktc+BThGAkAADoRAAAVABwA
X3dwdF9jZXJ0cy9jYWNlcnQucGVtVVQJAAPyitJZ8orSWXV4CwABBPUBAAAEFAAAAK1W2Y7iyBJ9
5yv8OCM0qvRuh3QfvGEMmH1/85IGV2GgwC6Wr78R7u5qWk31SFfXQshLxnYi8px0+KnMszyJSg4N
AS83KqNvd3TN+emcH/YgyMJf7Cr9/flhwk95tBP6VRHzEwiqpMiGSGsMxtT0YV2+2UdldeKCtdsc
Tnm5LUA4byNJ1Rb4MJ5Y3j453Y4lRvk0Cs7nirw6/f9cePzPcReV2eFU/FPyc3n+mVu0y9O8vH2+
oKt/KAWb42oOwiApBUESRANUCWRFkJioC344/c3Aykp+EgDvPwRB/IPBpIpfeVL+W2bflwnDKt7l
idDlNyHYZwf4JfDDxwdoTufoCSB0IVQPNiD8JTHFEOK8/PuXZXSFh7TaVeeHJfDbGroYg0wDloGh
QapAagI3QROBIwAxGAaYJug6KBwy47mHOAOeQhJBpIIRgZ6AJoMeg6KDZEJigmiCiVF08vbUg5qB
qQDD0AlICkgixDpiD1kCOgeVQZSR84SBGX/hAROQwcDFBogpRY9i0GLQRapOxYpSUFTKJxKfe8gU
UDRagyUwFSINYrzBEtCVDEkCTIY4hgT9a1/gYACXaJnEQTNAMqhqhYFhgpJCqoOoEJiYSZI996Dj
Vw4J/mJIZUgZxCKVo2r0iFCkEpVD1bEvPCi0kqu1lQRxCpoGcgJZBooCokT/GN1M6OVTD9h3jKtF
IGmQmRAngNgqCRgytQZ7LdXIaPVgPM+BfS8f+y4zMtfxMSLwOaee4j8Cq2SgqV/2whSplTgYHIcw
ppFQDJqEVIMEkYxARWQY6F/kwDSCS9KBR9RxzBlzQOQZBz0DMaOXigyyCdkXE4X549joESQII6c+
KhKoKsWVcLNIIOI9jkdCzXrqQasrxY3DsAQR5G+d1SEyACEyM1Blmuek3inPJwqj4+QkkEY0CWiY
ZsBSiCJKO1UBQ0QSLZD4FzlgdI3KT2Myx0JwGjF5vc4cUeX17saXuAGfesC5pZHTqHA5pS5EWFQE
Iiav0w/NtRqir3qRoqH+2xfvejzs+R55VFNVWSfZEBlj4k8mW6rM/JAFfi35ngTo/Kv775/t6Ixs
6ODn8hTl+/IMwm+xHAum45n3zPwHTdf8nGI+KIQkO7/5wH2EI2GZYItgeDT8ng26BRKCKUMLe+oQ
gXgt8BTAgJ4Fmgsujpn6LK5VlVvi+9u/R37jt7zex/+X+LW+56d+VHB4+bOE/bjOtc4DMwDFQnUb
z+qhKmbnaMOfwf/zfFGfBZ7Ze9TllKd/dDTtTYQFj+ng8YFiTRgSbuj4h1D+T0cN2ocZETRKCG5R
FCqkUVREpA9kCiWGjNNmk1SQaz5SkUkf9jw+IkPhXlWQ4HRqAscFCXElk0jzkEdkicQDORQR1HQS
hk9z5FbUTuwn8YJJ/nHTohNkmRTbjiqIm18FXSVVRlVDkdMf9ipG5IxUClk7Uki3MCKmjTqEeoNB
5Zj2J8mbSbZIHFL609yUyDPWyGqORuXGWlDtMCjmgETDIkg56ShOGdI6Jik9RMdUkReQ4DBPWSXh
zCRIMI2UmA6RQQWSRaJ7zAq5DBegn8fakT5Qz5Du9ZTEFTNBikcnok7MyDVieeQdhAWJjNe09Wku
MSKmqOa4GGVPpPJR+ciWkwAgSWF0BB9zw7aiLhoPtSP702FFIZnJZMgYLcbGsYTKNCPCDTHHzuLB
CM2xcPbQuLQ+2eAxRfmm67Uqo8YgvdJZJKV8zDoTMwWTQ1yj8WmOwCLIyK1xrZEIu5HQECKbY72Y
eVa3W2OQiCQ82L74MToWJRPUeOZALceWYa8RJTydYB8JT/X7JGB0/EdM1AeRwFOObNCZj9VTgSNE
hwyDJhbBROTpzJfQwQUBx+FBb/zh5BTVZzU8RqAeYGK4OzC6GtFRCXtE2iYSJogwyp4kk9JkD9ER
z1ij6InU+Icu2/ODvuB442nQChxr6tVvG2EQuLO741iv1ca6BLa1CVzHstPQYr4zefcnQSy7I892
LjMrtNnVv1tre9Of21YYevt011jl4iX2W2xdmLd4IrL1ss+Su8VbF3bt371L6AbXgTu7hfdx9P3d
NXS9z3eNZ16fO8UsJ8HFHa063cM62H4kfQsza9gjy91svKHl4oLRwcF72xquhttyutYW7cNCydcp
05WPptw9ro7GSi7b3eRt/TbkwVIddRq6M9qW96mR7ZyPY+LEy2QwWNii/i6VV3O3K8eTYmt661a+
WRTVJjkdjItbGZtFNQjcXrE5NN48pzNNk1mxkId8oQ9u5nB0HosLJusTc19t0v5w1553zfXr/WVs
d7y7ejG0vv3e+SiM5ezmNjo9o6iKfJ34m4M/tVPuHI76x72ymbkzO63Vsln1gtl2JJ6TaDa2VXuv
7LV3r+A+G2TX5rYxuu/1bmunXU6qNdrNxz0lmM9v9148UAeO4jXvZ35IOua0MMp2dZYT6eQf5Iv0
3jTn50N5qRrxZlVIWt7MVx2557SPqVLMxJe1NJuKwentMN2pqbw6qSqbJo518SwrGtjF3bELF8cC
O9doj0PPnlquNWq/YEt9S5yl7ma0sO1x0e0W19fj/sTzzr3Zvvp6c9rVCnk8ntptMm5PQq8xcq3m
5k+LI297tI1Le+rFof1GATzrcpmk0jzvLe1zY7UcF7HcKXvL8S6Rx/fNJgysFrs4l5U7H7OhbWGI
TeCFdlhn1xmNwtA6+I5z9q3RrNWwL/jpydxbCu6LkT3dm5l7/0iZe0uyyYs+70xfTnO7nOX6saOy
+K3R7hlO3nq7VUporVU7vB2LA+dlNc5f0vXwXUwX/ul1P90rzsfo2I2C9iWcVfcyN71i0LxJk0Y6
OwfdYtC7D4/+++bEk2X/8O6Mq9mofOuPlrdrV27Pe+xqK699e9kPU7kaZ8m2J34Ey1tzNWoM+dlX
b5dN+q7456ZftMfZINuG1/B1Kasrpmb+ODNerGvbuh2KorOtyqncsdy1Px17xaLaNOJVz33l/vJ+
lHjZY93mR3RZrqpQNC+m9+KfVmFrPondSWhM82F407Xr6v1tuQjaKstaotZtDIJV57WyF5IV+Dc5
DaeTO0u5f9Q712CSLvTF+3C/F/31YKq8Bpk+Kw+x842hvL77Oz/9F1BLAwQUAAIACACRXkJL/lwm
Y0QFAADPBgAAFAAcAF93cHRfY2VydHMvY2FrZXkucGVtVVQJAAPyitJZ8orSWXV4CwABBPUBAAAE
FAAAAG2Vt66s2AJEc77i5swRNLAxI02Aa7xpoBuTAY333nz9nHnxq7SiKi1p/fz8hhMlxfzjuOwf
21E+rCf+0cTwv+IHsuch/fGuMfv7D/GXaPJOaHuiAAmi9qP0+fD3H0F0f0RBxH94jv+LRymS5Uie
5DiSplgKgqxS3pTsqBoA3nM+UWSSEkUrqA2iO/uO75IPooeRby4HOH318MtQPwSTdNI3P5+KYUPZ
+4VPTzebvSOhCr9U5pQKXGsVs8CmKlgchKGQc6F7FrQfD5QaucHmmhaf9CeXKJoGSYVGD0/T63Mw
Hi9Y5DGOrobCsTuVoeSwFMZsgleZibxDVzZ/KBdE+RQSS0xsmZ28AMU+pxMSH1ACOEhkbx0r9LGA
T/CZ7Svn8+QYRa7tWyudk1kZhR38hGVNosnXL+PKMwx9o0MWX5IbooYtrT7VFBkf0G9NmfoS1jsa
S4Mvu+EXhpdTrBvWMZ40jrVdK+1TugwjpCTeZ+rQqiRaX8WJkxYc8v2ZBBwMNqLtbnac3WXAFY6S
C5Vqsb9LRohtYGVPe8VRFaKPsE6yCpYj52Iq9Y3GCUZINTmyr7Baj9dE2Voble5VWJ10fnquiK43
J+mrmTpzz+hQUvBD1IaiCq+hyl7hFjOHNRh6QzFP7iNkgjpwOWK+vuNbbSebO/CXvnfFbJxBjxW1
Cdnqjkmzy1sivgcpSeDMorwBkhSfa76TsnfCJe9neAsOX21h2gh8CURcTC2IbGPe8wF1UlyjMezV
ngRSZ1gCphsL+w3SU0k4htAm/DGgOIvAcNG0XXly6BFq1Utds8+UIikCvR2iYCkV8/T03RoaICmy
ZpqAZArg72tODcRCS9tkm3Pps8QXpYKTo5dh6lXkwEH0hX5HJeOS2bXURrIlDzfqPl4kz32aKg4K
Tt5iWMux5B0Tmr3o4FKoyKv7B5pOA6qqZwuJgWYsMF8AsqLuZYGRKUg5NQdNKe4zT6SJg9jWdM/H
aWvPhnaqlIjHkZmp1llv+wMgggeyuAVAmu8ywS24Fa4rfH1WtnbuJ10y/CWjlmAo1LeLVOFkoubV
iVmP7vjNL7wdQztxNGRkHXAYZCYi1WLT9VYEkDe6XIhRD6xaw6Noddl60gb4WkZqVcz3lINoIWj7
HCCKJ8tpfo+IOQVVW19Z2A3VLh6RkNvtKfYAtkev1U2Wb8/R+LpmaGaf6lDQcvRcbqwh6xmzWhGk
DJzV3JMgSn0/NEzHanYjQMI0O4dagVi7At2DK2uL8jVpp8nPD4AUHR2bUH6RZf/1fTHamTx21d11
ie9TmpwV86ys9a82VikNdg5zfNsdn1DNi9fc3Szx3i6uNYJclLo1bQWVbDbD/vs6ggkBjhREkAO1
iGUWhi0DY7xXgA4hDrdvUO2FHvnIvKvi6CzQoiBf1QSeymkJcx/MbQJ0IQlvtaXhF8/vt5bVybBs
l0jZMKmT65O9xsezjxKe7A4VQOk0+yOq5L8YczF7fdwdprDXPYnHeQelw5aijR/FxrWesgbVmvlV
lERT4yJcuTtJJEDPEmgPF6GNwr7x/nEjRbIVJoLG5oPIBk/Tpzg+5lgUAU8gXOhGnlmjltK5hTIy
Vi9Cs7yve5PbagyUXI/gX0ZphK4wXdE9PxkrZqPRXRQ4zuAYMXawVJYx5kn2h2MIuZuNECYeB7sk
VUnqRF58AB9hW9+px2BV6pEWz+bWwykSO4xSbzMs6Z7ch11tCGOOBdtsPah3uOAbmh9Q2aybsVmH
bHB5jCC4nTV63JS6LUyiqKnz1l464blv/AwZ9p9/oP9pSTSF/6+rfwFQSwMECgAAAAAA42tCSwAA
AAAAAAAAAAAAABQAHABfd3B0X2NlcnRzL2luZGV4LnR4dFVUCQADCqLSWfKK0ll1eAsAAQT1AQAA
BBQAAABQSwMECgACAAAAkV5CS5hceX8VAAAAFQAAABkAHABfd3B0X2NlcnRzL2luZGV4LnR4dC5h
dHRyVVQJAAPyitJZ8orSWXV4CwABBPUBAAAEFAAAAHVuaXF1ZV9zdWJqZWN0ID0geWVzClBLAwQK
AAIAAACRXkJLmFx5fxUAAAAVAAAAHQAcAF93cHRfY2VydHMvaW5kZXgudHh0LmF0dHIub2xkVVQJ
AAPyitJZ8orSWXV4CwABBPUBAAAEFAAAAHVuaXF1ZV9zdWJqZWN0ID0geWVzClBLAwQKAAIAAACR
XkJLcYrs1zcAAAA3AAAAGAAcAF93cHRfY2VydHMvaW5kZXgudHh0Lm9sZFVUCQAD8orSWfKK0ll1
eAsAAQT1AQAABBQAAABWCTE3MTEwMTE4NTIzNFoJCTA4MDA1RAl1bmtub3duCS9DTj13ZWItcGxh
dGZvcm0tdGVzdHMKUEsDBBQAAgAIAJFeQkvLqWLSBQUAAIsGAAAYABwAX3dwdF9jZXJ0cy9sb2Nh
bGhvc3Qua2V5VVQJAAPyitJZC6LSWXV4CwABBPUBAAAEFAAAAG2VtxKrUBJEc77i5dQrBEiY8AIX
L+FthvAgPMJ9/WrfpjvRVE3Sdaa7+u/f33BQUl5/bAf8MW3FBy78o8Hov4e/yFNR4LArHAAaDywI
Vvb9JVJlPM0R3igvcrsJxPjwRi0evq+bMIF1FHvtnvZYIIm+hHCNLHHE9XpMtGDVHo72uNcUEWUB
X73Vm69q4P0iUOGJ7Rjoryqj5Uhn+3iYc3ARfoH4GmN8vMxKyTEsCnqsJmi0905oZ9HHFY9LVPHI
BmN6QiZPd0IdemL/JrXPLUT8lu0KqcRGTdGBo/3TSlrU4MjHt6M9ixalJ4mS9P2lLrEk8bx7kZwQ
dVzRSS8trjMRperHfCF5HSj+Q3VQ8Tm3oLU49JsrS6crV0eGmt3yPTzydWk3LDFH4Vyu+discIun
HwTTrkVkB8nbHm1WoQTU9ZuQpuosjkTQyrSywfEt1OeA74oALMCB4QdbvjGKUaZobqVlUAPErXNf
owPGZU1yv4FIIpPXhwBlpoCmYbljW5YwP51jcx5qH3AV2AiNCwQXM2qOSaGMsI4iK9RL5r6eA2HM
fMr8ATsJbR2hPXeSnZgD6+Qpv19qWElO01KlSQfPxIlt94Z9aMQuXm/N8Qapf5fh3oTNvm9F5C8u
AZOHHi+Bc7xVrryWhQjaBkt6Lii+KhY960l5X9gN2ZxbD8urKu36KBLW7wlxEeTQYpbrHPhEYHSr
rlefDIWBUvt0YbLMtLh+9aG9zyH6QPqo8Ni3s6AyFhNs2GRFQ1gliHdpiPa6gFHGOjyMMZK87DZ5
ofGsVT8D7JpCtkk+K8ibumdoCfkygoDoYHAvTcDqtzLCh0+fAapvWFmFg17xar0W794mwJit5wsz
VZEmkwDpNp1gDj1UJ70qY/uphngVbcO8+LzRbLGewHO9KQdVrrUcx/AjTtP6LTSqaFDz5+YUCefZ
CKlgN6OIteeU4gGGrx4PNYhqkLvjkp7qdx5uNHZCt4ty3z2dZP+fYvyu+YjFBCr+UpbTwoWkVp74
GeSnPp+fDNU62qfT0krExxbaTrq/rc/wUKvUuo3kIR9fU8hmZEo7t/K51Bq3/BcbM8ocajS0phXF
MehiWbHbJdNiLUMTrCaNwbt43Dna5DjPag79CwFwIEQqhsf4XkIs9JVdChz/2KbjuxqjX0hgfZ9s
+k/yGAfT7hpHOkmx/9np4MHaSHQ9WPwXSQFc1Fi1jnIVjmQa3NAauZ6G1jnNFXbbrHsWrmXGvxb5
61RhJmJg72QxoZD1NZBNZMhmJM2DpudUJGP5WMtG67EXc97FtsTtJC1mOZX0SNqMAlNAV02CPWs1
BzakU+hZ9+L0QimapkbvTmuz/I8yB4i4a3j+ky8fa1xRT4oLbXxdRbYF21On/RSjNR6h6cVwknD/
wvRhyPwIXCuxqU86Fk0N0MxibjUPxM6hkziR+jrcVrfwjiKEesXosmshGLpy3/UUbtXct0tbqKQV
lNW4bht7EViTanJ9rw+a5YhXcZoCKer3tbss+sltTVd9AJKXmlLtGlfCQcDhdlnoJVzkuGiqvJDk
qbnmkXyPNGM5o14fj4IWqvvxCCRGHKxypXxkPdGbJneauDin5/424oH64aEPaZjGI/b7wVJbtAtA
I2SFkFi+k11u7MHvIfemOnOImUe7R9QNXnycnNa6/msbc7Z+7KWhEvmgmE8qbpQqdsGtyjijF7OC
Qf5VCnwJ/79q/gNQSwMEFAACAAgAkV5CS0n7BEX3CQAAOxIAABgAHABfd3B0X2NlcnRzL2xvY2Fs
aG9zdC5wZW1VVAkAA/KK0lkLotJZdXgLAAEE9QEAAAQUAAAAnVbbkqrIEn33K3g8Ez17urhDRcxD
IWijghe01X7jUiBe0FYU9OtPJnumtz1tz4k4REcHUpWZqzKz1so2P5Z5msdhyWlLgMcOy/DnGz6v
/HjK9wUVZOE/pJZ++1gI+DEPt4J/3kX8SAVVUmRDwj0GISq/25dnRViej1xg22x/zMvVjgqnVSip
2hx+TALmFPHxeighyoeRezqd0Wvb/7Pi0Y/DNizT/XH3o+Sn8vQLW7jNk7y8fnzAx9+XgsVhN6fC
MC4FQRJEg6oSlRVBIqIudL3pFwOWlvwoUHi/CIL4LwbBOVrzuGyQbfdxuF3tT+U/V4XROdrmsdDn
V8Et0j39FO9u8S4jx1P4IA/4QIbubKjwH4kohhDl5W+ftuHj7ZPz9ny620K/7MGHEBrpNNEo5zQx
aSxRCf4bNA2potBEpqFKIQcKp1r42INBqKZTNaRiRFOTgkNDoVpK5YQSMDcoiahmUlGjuvTYQ2Tg
kp4iDMy3ShWNEo3KIo3hRadaTOOEco2G/LGHWKYKIFeprCJyPaGqQo2EpuAEDkIoAZ8mTWBP9NhD
olJJoSHBU8g64jdkKss0jamcUgLwYspFqus0Er/xYFApxRzCXyhhViEzcUo1laop4gnBD6cmINEf
e1AJ1WWqh1TV8Qgpp9ykBpxabAxlapiIypS+xQCpS+DgKiUi1QxqAmD409AqDKlMqJJSkWMUknxT
zQY8RI+gMUwsHwCGWkD+TRMLoUNxRSyxanxTCxP98xAxcChETE2CzQOhDY7V1KGX4DgRjdTHHkRC
eUxViBLTJEUnaUQ5wfIBAO0nAIkSk8rxYw+pTolCZY1KGpY+bdIoQwk0qkl4BKhIFFIjouY3XZ02
hYCOMgwsB+QcaCCFdxlbCE4E0QEnHId/01Emp5JEIRsQRYJeMrElIBuhgkcgIZYGOhyiJN94gIaM
UuxhI0UrOGwIF4HTKMb+VMA2aprNxCiPT9FcQ7hT0BIxwTpC2uFymQqWGFBBw0ObKcm31UzggGnT
Bgl2siHibYLjQxGBJQCJAu0aYX9K39QCbBP9y4pTH/YFL4A+NVWVdVQLkRAi/mKyhUrMiyzwuuQF
6s7ps/u/lq3wBGzYhuXyGOZFeaLCl1htRjtsEDiP7P/m6YagEwAEAohy89VJG2tvw81pU9uhTKMd
A+lGNfEjrGqEtnXqqHhPRAs7T7Uog+uqPorLzuUKCf/6vyNv+DWH5EMzG5SZ1ILmdzCIY1GdYY/B
dQMsehsr63Soo1A4scOoZlMb6qW2HgHAsLNTmPEHEe08y0tQ9A/B/h3ksBAm/HBO8hBl6ffGHmQq
P6z4cQfoH8VwsHYJT/412HQQCHMe4RRxAeXFxGAy4vCL/P2jZGwLSg348gsX/HD38CB+QD+0+ffm
Z1VVf/zjU138+FEYay05qfK2qjbH99VFMsJH27YX/kPbhskfX71KD76Jf3yeDP6vCQioF69vgqVW
4CJyCkIBUgPVBlUBXQJ6AN0Gjgfuj1VkOJL+uixyswTEA2QArCw1wgKCFilIYNDTWoRCDSIMfAyM
IkdUvJOXVEWi4kB7OvIfbEAMGtISEADoG8wLwPRxRHUTt8EgIN+xETAocJVpIAtGjfIkjboCfYJh
EqPYgmcgaRWAiagS5E4WgJaSRvpk4Bvgbx1xwmAiNUMHIOc6vsPxURNkFHn5Drzxk+fgojZzjdzI
O6hQLGKKIgmdiBLmhDdjQqyjww9zIGzIBgAGE0hUShoFAz2RKMwLICOQBEgI4Adb0Bbg2uRuQgEN
AdaEmQWkDGBDVkGFICEw5oA0AYliKkzURsAMTjQZy/phjkreOId8io0CAGEDVBiU4PajQhKcUEDJ
ITp4AOmW71IHFYF6cQAJORcx4ZBbIH4xwVkP3IJzvZmYsIgy4jTuwEOVUTNNlDuY3WBqAOSi3BRO
xHxi9kKsCFgBGJgyxLuZArxBucGzomKzgW6AJkOBcKpq5ji1GRLBHAY0mPJAEsM7AVFhT4JNBfOX
BFJJ8D/MAmKISgUTGdAhCBp0viLjvQDyVe/NodMMHOjgCASGWRVPKv7sGYLgoZ0Ag95kGKaMKEGR
/2Uu4+QLUCPS+oGP5XRdX2g7k6nbcdts6jRfW57r2sWt3WZ7nrHKtVjm2m1mcY+Rbjt47wZuJNtj
x2pXM+ZZpO7e2JuV+a8W8zynSLatZS5WUbdD3nbmNQpE8rbwSXxjvFOR2r85lWe79dCeXb3bJPzr
W+3Zzse3lmeNa2fNxn97bc/ry1LqnMKueUtsQBa4lT1e9vr7N3d1iX0GaKwxs7PMGTFYb7Hxvg0/
LDZI53pZtPvxWpv4w23XUd+zbhJ2nzds1TVMpmWDcPJ2Pb/0nsXV6nWSLes6S06tGw/PFXG3fnow
X11ZGm5YJ0jcoxgEWfeWXLLbyBhVPUNZ8FpqP79JYV/OPHO7EIOLfXh9ac1efO1Vlp+0ZbiyD8Ne
pvbr1yTosHk+iReh/b62Ri+F5+dhzzwNdvvtOPJ385osl5PldTF6bzEuxpvuYbTOkqfocBadYT1Z
+8/l05MdRN3JKss2hlmNpV62UFfrYLcsJul5fw4Neb/NOzxozS6raV9lPYelxyIf9PKrp5bidfPG
DrW3OEa9wbO01sbG0dOMiHR0KSx6zzeyXMWsuyPhrJUGw+x5Iy7Fp6d9MZ9b4571dB3U/XmlnN79
uM0qh7FwaBl229KnrIfVepl4Dlsz7Itui4mzxM7Gc8uaejPT8+T3SPFfi+mta7+ob5uotz2vt1OW
NoaB53RtNs+sya7f39XrQ3Fs8bx3e3qpu/rTtK/t5MlkygbN5rEBtfXaFgcM1dJ+nZCtxaqqnS3d
frWEXpi94EorzZrFifUSV8nS7UVdc72c1/tI9kmWiXIix+dP3/KOEuWkjNard383ubX8qX9K5OQY
F519snaVZaCeIslfRV3oOzlod4rVeRCIp2Q3K/1dvXprf15v2QWY39zPUTIVI9eD3X1bM9/KNu+r
Td41K2Kx8anD2BBb2WG35cJ3Nzmftc3u68t1VO1Hs3rujry9Hz8/7cvnrE+cjn9kei7y22liLl7W
veeVHvQiqXX1jAOLS1UR92pv/rTMdfUmSkavn1Ryr3pNjJnRmfvadHQKirMzzt6kS+F6vVVGNvXq
hexbXr6puopu2XqvcHL5feylRXm7LNbbUbXOFldxMZX4NWGHtcwNVTrPomyyyhdz/2Avwvm+bvUk
7yK6p2I4edq4V/F5x+uxV4nMW27E6/Ma+tjpTdVxoud8kEwXI1fThoG7hBuz5L2J12u50/41fOdD
/WWZHI/6aDLuW6YytP13dRZpsVbvgtPruzx4bh+qfmmEc9vcVa5puzsrXhTZprXK1mIysYql7T4d
i2CwHoiLmTm0T+zPP39yoePbX5nwv1BLAwQKAAIAAADja0JLh8EmkAYAAAAGAAAAEQAcAF93cHRf
Y2VydHMvc2VyaWFsVVQJAAMKotJZ8orSWXV4CwABBPUBAAAEFAAAADBlNzM4OFBLAwQKAAIAAACR
XkJL7spXwwcAAAAHAAAAFQAcAF93cHRfY2VydHMvc2VyaWFsLm9sZFVUCQAD8orSWfKK0ll1eAsA
AQT1AQAABBQAAAAwODAwNUUKUEsDBBQAAgAIAJxsQkt+COvybH0GALTsPgAOABwAYWNjZXNzX2xv
Zy50eHRVVAkAA2ej0lnvitJZdXgLAAEE9QEAAAQUAAAA7D1pb9vIkt/3VwgPcD492uyTzVkYgXM4
MZJMLudcLAa0RFmcUKSGpGJ7f/1WkZIti02Jah6WF4uZSWyP7equu6rrINQ5tOEfMrDgn/+y6dH7
YXZEbeL8Qcgfgv3B6MCyHdv+78G/Xr08HxwlfhrPk6GfHqVhfGWlwySYZYez8OnID72bY2Lbg9fn
5x+OyCH514DCZ9aASJcw+z/INlBc3gflzWZDbzjxj7jNrakXBWM/zQ4n2TRcAwG/wx4QLkUDGKPY
T60oziz/OgAoS3ArkOAUA0bdgRR14DgVcFbwF0xnoX+YXWdr1yFsQKhwGgBBhC0B6RBGbEUHzG3n
HveAafCGABkfcMVbAbdGqPvoy2kEwIRoAsy7iJPMyj+24gj+HP4KosvbS1oARYtVquSA2e1D1gPj
akCl2xqwUXwVhbE3wpsuqVh5U2a7QNN2+KfmMaokUrKBIHYXaNCjHeAxm3R78yox4mLAaXv8NUvi
SzhNqiexIMBfXZD4FmzFLQkDMRK0Q8gWOcz8kt5lbEAd0iVYWgWWdIlni1eBdZsYGW84xF/+O/BA
M46CxB+CHzCZrYBhtoPmX7GWbqcBqONcgiIqaWcwq9gWhNNuAtWbZxPdhRz4Ceq0Yz0RxlHqZ/PZ
Gq24DeKOnOgaSEABpeC7YRxlSRxawXQ6z7yL0LcmWTbT3UsoDiCZKbi7S1UAPvw7XcckBb43cd/W
IQbjxJv61lWQTZYu8PAyeFp8aN07z/Htef499a4t79JHJ3ndS3bpgINRddtCBjiX89DL4iQ/1zwK
/pn7Z6Nj8uT57mcDn5erBnzRLdqYyzjdU7QJm3L+0GhbP5dCciopHhxnWj6Tiuwhwhh3lbOXCLOZ
Ul0obK1T6BCwRLyOs63W4UW/vXTxl5V5QZT5I8sbZ35ijRLvCoDDBXUgmcMpeN1U7g70Du9/A0yM
I2aJxihQLhUYPqmMr3UHCNTANfxnhQGwX+4spL8vS+6tA54RM4FmTDTlSlN4hmaWm+GzD3thC9YW
Mto2sxzOtadok6xWTkX1bcpovSBV9a2ZmUOV3EOEMcrIfiLMpY5qphWXIVoQR1pVyAjmPSndHcrS
gtwhAD+deEmEiYySBnSFAB1IwTT/8Uf31kSwOpLpaqFd+ReX4VGcBJdBZA1D34uQauM4gShXnzx2
gIEGirnGIGeTIAxmOQJTiEWH8yTIbg7RDTjLvYDi27ShvePyAbFrJR7XYQMr+lE2CtJZnAbIIV6W
AdNM4YupF40u4usjLwOrNsMUSprdhH468f0steBHkHVHugNxLgdqzTMMY0BlnSPtEp7n3Dug9Zyv
7WjX2GzpugOiRLtXKbSX5i4QTg5kLc/VgI4rh9BStOpQrgRxYi1T8/bhSkNQAgzEW2ae+cXtY0wZ
IsXMGO8G68MkTlNroUlyFG+THTqgxICfb68+TLx0Yl1N/MiKvN/BpZfhq4F35d1YGX7xwhv+0mow
B7SIy7pmPh1CqlhPAjfUinwNTuRfQ5gVeeEOWo1jIrBr/GjPVSmbHFw9pwGzrNLFjG04sE09n66l
M1QkmgWmg9mDoYLZHODRWl6UAX+g62GBFpsGaQrfsJFRwfnBvHvnZmT9TBsMCLc7Og3G95b/zzz4
vUV2nZrPSY0wsnKaKmQoAiqtIyUyC+egVDdrMYJVIT2oseVZKvEAROmKIOt4sPzrGcQJeoRQcFYp
ZQ+qvwrlwaRsZPb9EeAgAMsxT0KtgZfgWtjtWAt/OoPopPrNj3bnSIz9xE+sie+N4K80g4h/BiTO
UwFTP8MXyeI7vBDwrg940ceyZdciUHHUcpShmAKRJA90njsRfZp/B3zLcYG7dUkhoMgd0YRHb5Ig
DIMhcGiglUWsUloPt4yFcRVYZQUW2AVFW4dnoW3U3VDhLU08th2dyOEkznPfS2nQ+46Cqlaujg8X
8MEsKzJOI2odvLAP3NODF+RA2fjxs5f5nzT/U6x8/ST/s5SRkwNhYiVrnK3x0cSAK7vlo429METj
0PhwzkDYdofs/DQ4bnrEPK/ZNgIjP7uKk93xZ304+fx5XTAImEpnvw8o3Hak437daBP2y8sOQZ1y
IR/a8o/8sTcPM73pZwPi8F4MzCIkFGyPDPsCNSXLDnRjpGO9cQqsQw+eA3s5B89F/vGzg+dEpx8k
65NCyt0Te8yk/TA0sKiOCqpXKjDnofVG5P8Gymi1BgE5pnskx/lRS1IswKNrwkEjIEwS39yC1CaX
sPLE5I2i/FhYpwDFFXsim5w+eEQbxdaSAYokAxbHXybwY1qmxXCfyH1i2srzl+JAiDQl2RfKC7JH
lNfrJwhjG0p+VkRHQaXkcwqCL/eUn9YZiJKaZef9MFATZ30UjPF3R1lRzLZ8Orvtu5p6QaQtJAdz
0CG96rJucdzKNBzZJ6tanFWX9lJ7o4zYgyujeZR6Y78qy8wwn979+8IOVL07b0lLoFbbG8oaVbGY
U1ZLPArEcx9eJEsVTiCC1N4XQjkdPWYW5YtbqhCI6kO8lkepoohwAQ0dOcTX09XiB4gOYuw2w5e0
IAJWmReVjJuxpAyTCLthqeZJK9kaTilsA1pC8AfHyQ+x+rF14Y2sKZZFZjczX//8gCbXaQbx7v73
4XlpkJY73Ov1stW84II8OTxrOPGS1NfPPmAKInaTogP9ReGjGVCy4gBobRb/4xy+fox9pcUvQtXm
e9MD9uyA2otvP2AvvpyfWqqkegfcdfb0wFcBNmKnFqGClM/NTF7sejn3PBtrEb23nHFAac4c8LcG
z3Rfjm2N4/jCS+D0GuQq3qbAJymotTQY6sVcoLO5sZ5c2PchhfHQC+91h4NqjkoF5JRinouA8trh
d9+vKc67t9KjGz8M4ysNDBfiM1LH/SyBKUgzDsLMT8DaHHkIYdE4tqkJnCln4NZpQVqHqMnZxWmm
SdrhlBabCpM7xb+C/EFqjn1b/8xj7IX77YXzZZuHPw2AHcJYG0sqQhCZdBdq6SXDT1eZrpCEeZQd
k3JvBnXrGO91sBubJhIf67LLiGUOF1jjz7u7IC1f0CGiO3isDE/aDThn5cGh+EqB5tw/Oxym6xgl
EifF0P7uB6Ih6swvqpa91YESTyGcPS5rgpUCPK88woSB+2cNiOu6LSidzaByioJyViYU3dhiucQC
oHnkH8OVniAq8u/JWz4TcNPjqYU2CxH1pPj8rwAbsPLv+mvZgDUDVRMM/w0GuKLLb4EvhxhcYpVZ
8OXfT9J7lm0x6EqDNkkEBuIt4U2Hk6eAjNdfhXjx7cfptw+ueH/yRZXLqYnLWTv3Xh/vZRX/Q2M/
KLjtLm8GteQ/RDFYj6TibY8wkvdxNoNZuuGqt6SLjEAb1KoDfijZQJxlceI/AdH4q1o0lE065tN3
5z8+nr77RsnX7y+/vX6h4VMpyGPHoyudjtH4/eMnRp9/Pf9x9uPNR3L2tYxGYbPW5S6qHHPj5pkI
A1d07GfDydFFPLr5kmJ6utAkuvcPqup1hDwga+Rf2Mwaqs7MpmqfoUZDLmOkJQgbvddaeadGPA5S
RNzPb38QpV7/fEV1qsIkNLnPceXbFS0VjnzsnOZSA8Orqync/GCpDd8cDLZbs4dVDPLzjfxBXr07
f/nWZp8+U1FmEG6LlpVgHrzeNWfoHWXmOPXKwpsJOt1jHp3O85gYIv5g5GXb/A7bRCvWyptsbBaS
GNR07fGcvfnz5NOP86/umw8fyet3OlPtOP9nCMm6tgr06+c3b0742Zuzn88+nXx3NIEO4f1ovoou
FEdAzGc/qjhZQ0ibNzat2vZi7NXq2jB8ffaBP3/z/M9z8t6lz6Q2yBBda2fiNmDCO9ZbMN2m0eAE
scpcY4IhSHzlzG3bCuRZ5YwZauPgXGW3nC6twiVntNfErGrDGl2E8fBXjSy+ZG69gdotZRLHXhDq
M4mOcjq69zYrzGzZirCk8Km+3NEhvF5N5U52YQFvw7BcqhpdbEPnN5FyQEWjXx8P51gJYV0lQYbD
9aah5Yd+/iWq1d7CBZCiHSRWA9+AT8bsFlh0GgMJb+64M/H/maOqqKqBk3BtRvdAQqVJYqkOvbVy
qSCAUm63+N7qn6smN8772jfaTq5AihzaCktXdtEvBgKY2EtAou/NAtSqFzm+wBdI5xeVZd0Sa3Rc
0cqb8IY+DsXMr7JScKS5VHWvClbFN1I+t225EY4pmnkQ08fzLA1G/t0Whpmnn09ObY66r53AovZB
yntTqMvA1VOtHEO7nGXBq3Y7N8Wccd6LimoHGcCaR1gjuhHfee+pUAOhaAvU1jc/sLy6oVVqVpot
irta3M5JZnKdFUotOprvpl2iqUJFcLw8h7W86ZNhPIXLjo5B00egvcvbkBzH6e0wyELHeubLULPk
X9aIkmTgUThOS97MauN1aVkPFvo67aqOjesopJD9XEtS2eO1hEv7uZZLVOeqYdmtzHuXWggrqgSX
0mavR50LLjICA8Elgj2Kc1ImH8k53cdxTvtxnJNw9//lqFW6248Dn86jwCclzWLE/uhOH4leIvxx
8Odjwad8JHaT00dxTvZI/DpOHoc94o0irHGc+MFlZG3KURAuIRgh7TxZlABW5CpcMaAtxY7rIDde
lrlmBTM14K4v09UlmyQZqJYyNIbga03PFWQLPy0WqVTNkCCCYLccaQCpfNHFiJGqYggJV+NdANTv
C65ZFbUrNGt15UD51VgOaC1/nzRJ8FG+uTOObKpWOJzO+L1Tw5GxWH6nX2lMFDDnzu7oGabp0UWc
YL44b76zNuwsdjlWbnK1O5RRPL17GfOyLAku5hmK7DwMrYkXjcIqkKC0iG3LXTC4uedota5wS6ta
rbCNbN+RouukYgRR6ZigstjufJQ3T1leOgz0g4EFH7jKgFZbmsO0L1YMuBygkfahaXsmCXoHtpKt
iipxqeJ8IJjbrrhWK23GDRC2U18p4XbXkqPpgazXs0d0ZVLl1/xFNXDuJt4+7G+rcHqCn5Yr7mi9
Nj7SxhS+OrMPt0OqVbhld2pfCsMIPlSrULYae4IjozvmXV0/ba3il/ocUimblBDSQPuvThS5swOa
RU15qby7n/LIXEq6pjHX0Fg1NuyLQQUYfFwmAGe0NqygeOSioApFT2oAoDUUUK1bvGy85LQVU1Wt
MHFKW8+sAPeSnO+DaNByFRqTPTEOYSYefS84cHhfwkNss9BpFQFFvV0YX15iMFN2WnHdpVGM1j6u
WQnXQpL9PJi0WV9M0JvLxhwD4V6W9oFu8zLfuq3rGyfx1Bp5mVdVWosNQzVHBBCDnC+IgaXLINyW
QqSZl9whyFoRlFJpBOcmgnhryyYBNo7f5BTRYsKlYG1aiVJTP3tefBE3FpeLs2StqaMb8yQr46Ty
aaL6LW2sZtk0qdeA6cfjigV5br2p/93wEDBLiYOKt4Xix+jh37MyOzG3pbToNsaStoCYRTXw5xdb
Jiw/GsZV+TcpWb3dGDWSUrp9yTnqtdRXXA3qVa90Qv1Lv5b+IDhtW4lmwnDPmURp0EzydAaOiVVa
dIKFcYS3WEyTw04+/TuCKweMOe3zb0VCigMLmzyQtENi3Bie1DMShJuo8F1prHCoUF9hInNY53pq
WcHcg3xAiG3iS5Wt7OU2K0tMrqNJooRB5ideaP2KA2Ul+jwKZ6JFi3490c9WEqLmtGJdOFJsih57
I5QgvKJ+ygvu/eWt5OpRajdSiEnKW0yoabIHgklsWnFb9IHyjxftlaCuU71RJAJzF3a3Kfxa60gq
GTyIJj72oY1u/QprfQUxHKZq8ReuqSZO08B407RQygwfE1cd8Wh1ojJanGkxfVVb74Gd8XbLHhT4
obiA/LD4pkMI1MLP+QhFbY+Ty+otbqqphFeHppXVliMYOKcdIvlah2Ph0I608lONWladK0sTdVwD
gWDAw2Do4QQAPR6Z4L15IEJ0K4n/uZiUfKwbMI08Q5m5Rco3EGCUUHzBAjhYXPZ3qh8WiZODVPt6
bbmVjXQqbp0gcndu3XYMzmirhksrnIrVbMlrJP6UdsYrUvXhJrNam0DacpMdo7Bpf+byuCYCXDxq
Z5MkzrIwHzXgjZef+nmha85ui0kzm7rLGVWYTHLaizX0KR2C6x5YS6SqmhL06t3Zm29vv718fvJC
PDthZ6ZTghq4Y7if8Ze/wSHDFKpRqL+bD7FPUlEeman68zQcp2Om+/b23etvzp8/1ccv7qf3Z590
0+DczlS63UTVLhVsblT12kHgNHJzqwEhJzpKgLXcS8o9pzgKbxaukz7S5bZ5JFhfRCRr1UgVONTa
KOHY5g9w15PEyj2kPJTOX97wf+GcCctPh/Atem+FUmn4AFzX8aR9Fbe5BpcotoggzhBl697mHS4x
IxxHuhpTheOl3D5e77jNWLdWKQumFWxCXNxCaxuYi/E8DNNh4vvRyofLYVPr0+60HErQFvL+0t7C
VKeARtlark4c7BkQouPCJdo8vTKaT6c35d8vzZSu7neXS9AdM0KvBYr/zL3Ep/bhxbS0qY3h8lvX
7SnNLFh7l7kMxuvmCcWyy7exEkObVE8QolRrSCi/pwvqYk9eaxA0SeEcz6zvbGVzIWuUsCFK8gdh
rQ1FFbeaW19YQQQV5oINx8wC3Pix+IJ2liSuNTFJI9czwnkNlb4j1HZrTq2q+Zo0Q+LfX26inWeO
u6eF6vFdgLm9GXozr3dXt811TKp5q+gGoXUxwMcazXHCohV5v4NLLL0bJl46qRp0WG/MqhnTxvql
UQQ3gxjpzd1TibZtEt9WbVRcYFjDoFzWHOfVDn+qPviT2I6S+5wFkiYR+EIs8FlghY1iq7LnnmEG
g3acA/rzzVv39fcfpy/OXn75/v7ZD83eCqPmyO7y1MWPGCxcw8M7bteZ3POftv3ug/jw40S9fX/i
vigjlLXT/7lNAxEhemviU13p8qLUcmOlAFE4jNVppQ1kHlgTP5zp9seBCuRmwU3vsrBcDFbifpfy
PtQ3M5p7sJOUScrOXv38Ln5+O33x7fQVMV3dVlUqGIz86SzOJ8XOZ6MqH1i6zJQljNJAhLbx4Lbe
inMSwQHQLp2uzTx+OgKGyvEx9Utblez8vXeHTrTuDsJtu5Wq0DLRNwx/J/IxawLJRMcS6p6+PeXO
sy/nr368/JPL95rHpX5qX6kisj/2WDwxOHvJHWU24F0ravf8M/94/sG1n798Lp99fKnxL7nqJ/dp
U0k7dVO2vKATpQjule/NXNCeEEtslzeztVEWjAM/qewbUkRhJUZP1zHrct3EJwDe13faCSpwNXFf
PMGbJJhmSfA7z+ssigfBslQ1QhFHwrVEw077Nc4AHeiFmhwI4+6AOMKAaJdhfOGFi26Q266QkR/6
eQKrGBkBunbj0iSez+8n7d61yvWgbOC0kyTcGj863Gl4p40l7bRRMr+0xCaKM9zrAp6iX7GbXjTs
2qoGsJDkfFlXu1ygHajPevGbCDF5bqklUYk/hnNMNksV1tIw2b1ULTw24fSTFlaiU7Z/ssDtsV0C
LsyTqvmfo3yW48Zlu/hcQlSTaCyIUj/J7u//yqck3G5poXrALvxN2nRmF1OeyuYGF2eLfjJ4qiub
lgVZRZmnBH/EaSAL6V13Qd41VS3hApulXWLOk9HQD5ePTrinbJ5senPCbZ8mFqAWPn8HaV6FHwbR
L+3bE8Mxc6qt9JsOw6gR0syf6Taocof0M62LcNEOPW+3/GLvXTofDn1/pF/MphynE8LO5ukkzSpS
f0IqXNjTXN+kGC2mE9/PwA5plY3zMCglbbyUbLpdYXels5OJ310ayuOS2I6jIT68/wyQr6ch1gAv
UpUrByiqNLD4CMXC8oeTWPdOix24O9bYtQMY3FLBeP+A84m0TDwIYNdkBsc9mbmtvckhXU8SvVYX
Ts1FfC3fUYiB4rbxHYuel7wIywouoxjERqcl9FOSbGVWXryhLhxLwvLDwFGmAP5/KsFTW+Frn92y
bgIzPrJW0aKTpLzN230AhhaI9YdQWiBJO7qgbcFVO2bQW4ELrEVEs1zmtvBFa24prbnAfDcPJvFn
oQe3r3Ri0HMy8fUX2caRjw8LVhrGV3nNpIWQwBmuno8kMUwzKZ5Z6VpBQHlXTuaFeTbwKXaUHB8e
HhX/jj2g/OKEdz8GAnQN/6GDcDhLR09Q42DP33H+nQf09Hc0OvRGMWasJnEWp5N49iQHcZIdE5uu
z8SUwikmxj3AXS6xX8H6X+qurMdxHEn/FT9s1T6pUrzJh0JjDjR2gXlYNGaABRb7oLTlTE0pLY0k
Z1Xur18GJTlti5Rl6rDdmJ7OO3gE444vqN6R/hcCbN3dwBd7Vo8QoSvh01TbLOYl2QZ5kemVlGXy
XpfM2v1yYG0PAzbZrQvzfKAXpk4HZ+t9GTzHgI/spEcR90uxHL3gKi6KfQ7eXE/qXwDoh88B2oJU
XZKu6K/wLJx0B2d/61LvFl83ICRqbsLcStirxMLnQhGjC15omyrGS15nQxThJa+ybeKfnXGVnXHp
7ISRnXAo5yZM7IQZmZswdcgINDdhZieMZj9qfKsdCzthyeaNnJyzlpIrMQ7ePM/M7rT2Xv84+aQO
KzrRgLECMKhwRI9cjdneNtIE8a88KRyxL8Y8y3euL3Pnaok8glIIL1Q54TVey+Pg5KBUDx6dgFFK
TkFnQG0SG6Qc8SDubirgrfY4AmCJcIpNXbokPCwXMP6S5CC7dIJLwuEg8Tf+5NggO3QK9ubLnJz+
R45h792LZu9/7TNQiu9Ruo/tRWIgudESNxSSQbgHY29ISdafHcGDNG2y2wGecO9UPIU9WOGazKAc
NFITX27Rt4XhyUoxNc2f77Y+M7WSEk/z1y1DY2DAHSZj/3y3s9oC6SmYmoKd6niMC39EAkQN8Xju
Xvnm0Ofe24ipGQXb5D0yA48TVEXy8hJDPuT5w92aF3JiEiGTbtLdX6XlDRrzOmfofG9zJeb3iH2q
gKRqGS5Q9N6OJ9UcVv+SHRiAUnnXN+pY9bC4AnY4u+aBmTEsh/nXm3gbGzj7/VtP7Y7k1PO5TZTv
JDS8yW0NHOgAqQiO0ULSaFg4bQKrkUopFlIjOBQ3ueArxjngkIkRj+8s63TxGbpa3/iK4dBf5R7P
Y+woX3inUaKNVcegjxXm4axM3kIT0nnZriGDla9A86xiqOmqUUJ8OB89Z/vdOnYaUZgqbSJ43Gen
kbTSZm/hCyIriD4Wn0DFCbyacUo3QfkaOWBkCQUYtxGBivJjtw7q0plD2DbZNboL5jmaKXLWFCw3
7SlTeHdupeB1hteI6GHdbNbXsknKPI0+mqva7+AEozTNfjantjkSzvZuJqVdGh8XsBdpsAQ27gMZ
RPqB4Ks8tp4e65NHYiqmh7RXKw4D3vkEj3SSlRA8hsmuDopgFo50LqusZmmLP05MkS2i0+1ogF/O
FglgEuSzrSM/YR2lrR6zS1MI9WHPmAw8/wP8N9AyBdGvUBemrytar+P8EGe0Vn1iRcIVuzKiWReo
uZjjN2Rjj2G1aEM09fGBuiw7IvyE7LB7a9us0PhIl+363A9Zm/ZXh4UvXBa2XhYjy7hFfBjg1wRs
0Y5Cm8BONRoW2bUrWtEr7UCvx+TjPr0l5fr4crK3PIIMdSc4QiTXrhGl5Bp1PZ6xEfLJhCa7Mo/X
+uzMCmpjWX8E3X3Nt7T820FtJ0hDO5geQ9D2TEfwfPWaFBuAfaxaUHUAPo9+OWHBKfKLPXxut/HT
9RLyjyDS5p9jFLDkDArtwjG0jsvBmq85RrNxATcpxBTiwyANtOLDQgkQKEYYNSeOVVNfHLSFx9nz
PwEGcv2apFY7WoEFQpc81GF9YZdlcs2d+ypJDeqHFjH/2sfFx1Y7uPBIv0PJdRU3x95BnVwhyfA1
cuFzv7mWmk+nM7OD3JHbh5Y0KOy7glB3qz2Pss9YphSZIoZriHdDQjbuKq3s1bMWDnY1oWjcOVx+
R8PqcIeoRexSi1zIqU1cM31hqJlrBC4Zd5Bj3w6mKrztCtgFHIzxC9DX9XuW1QvogAathI/hcoXA
tgaNAKoI8RsfvOCLHPyfdps/tzZ3p+B+Ra9LmntKNbc8Y1iLVkF9ZU1L5xN+Vlt2xxmH/vQX0VLd
WF035QSq5E2fIGX0tgfAyY0XwC6AOc1/A+ouZMEIUdx9iaUJ5heQNCnsSS9OpUEVugMjloob62GB
1BR5Ry0U1z/6Dx06nIlnudrPZLfJfgZZHu+C6DnbV8FzGu1+mDa/2ps+WGaOXAPAfsuZ0zXD0Lcu
GK9aj9Rpv1NcoG6smyOjwtQYzw/89rh4ek6z56BcF0neNNaeRi/e8qwAq7b+CbtZKwmwkxi///ZB
uzKcMMZMcH+ezbPc9O4G20QTrber2WpTl62YSgH7nAOI22Gfekv/6AUTC/OTF6SNfb7Czyipguo1
BsvoE03LQtb04SOC+Vx7DXYNdOp5PApMIDRG+tXNPQE2LdA1+lqotc86223Kb3k3N8+hRzgclZxq
Rw4G/yy10Wm4V0v4qJb8Zvagkfr4q/kq4PV3cQ80IenvZx9sbDO3sU71lvvnw2nD6g7tEmbEox3l
w0hMnwr2rvY53EQVFS92TFAFfCY9AqvbuFq/Pq3TDArmg5+vSapFB3zNNfgNgZcn+cR8hfv5Skmv
oPHZ+2kvrReNziTQw/HEGlzjtq+mm5WRzNTo8iX3pZbZl1JITr+tWtDZpzquCFnozhTFdFbZYpcm
YBf4dBIdUninOmMbpalJgW21jm4rEbVxqz9zVtTCIMCBwzOtQsb8f7DOisYs6TOnhbZovaSnJWV5
5c4dqW4YwoKnSa0bHDVtgIJ5fwEhVkgIZs5UZnoowbvuhA6FqJukbIZMWYbYSeTXNjLQAkCtBfAV
GOp7Vezj7ihiIgS/s7MzZfObTJvm+uaD+FdyljwX0JiEKcKPuG6EmXrEdUvMHnHZYrZ+kPs77WMV
opdUe/ZuXeXtX97BrYrHvFVOHnLZPm3TVmbsRjlQiLCfV3YH50LZY2ogLCcJtJgRSBc8Kpi9+ph6
OpT0IZmSPKRER4yEj8km4UOet1cL4B0ofiWnCmHYQhfQDutVE3APFiNdJvMiyYLKw6v9yRHPeXXF
bChAFPKFb727ts/mVVfAwAsnZ+JFGma8HEKCnw2ctTcSQvFoCk5yv2W2UsinrfWarfXMseThDM/E
Hd6VUr9MdDcs3Bf2Cn1qzUfeSouUKe/+kSupZn4VJFSTydS+OTQImQ5Zb4Xd9N1B/7UzhsGhqkPO
EQM/7MzxxklI/FrlpuOndolDZfIhq1gfLLbPKTLQHOFd7GuANFFiAjlbc5prUAwaNtzel8EC2zys
eqIK5Wy+zdUikSl0V1ftvGefluE6BtWAveTZrgTwhM1Hk8JvMEOsucTQNIrzUXKymavWgG+YRo+q
jNOttRhZi0rpo79PROUmrvSnzildcio2du7MlRdEA4cDXTzMPCpKV9UFY6FfJ3vfHluCLksPAlxy
mpRn/JZXNiS7wA/2zZZUNXimZyQa04ioKe7ns3DF0XtD/GaKDZrtkMfFW1KWSbZbp0m8O55T8pxp
Q3r37SXZdmc6wBfbmQ4M4frj37PiO+oAFhJhStVCNVGW23ZuttGkiIVkUYIEL0zPJ/rXCPAn/SeC
aAt4Ddooaz4yPcsuQYjVspsLw4Uvjy5MTy5L78p8VN3V3nLLMcpHDU0BXNOUDZ6TI0BOLfwWfEA+
urszu4LNCdfmgBhWeOG3wBalRxmb5jBFPeEq21f5vrKfaF0AhldELrzHhd8fpcvyDJXqruXLePkp
lj1PsjS/KP83CNB7pQGu6gWcwwQNnGQx2IZ1WLDIL4w45PzsY+l9xsUfj/kyc+T21VYGlemC6MaO
Q27Asqn0Katx+xmuYVvcL3B2whFx8a6tvF6OUAiwLafgCFNhadyzAIZtWh34UPlhcPTxxTld14Gy
gfO+x/igSI16xDDMO9rr7Rj/7R9//K3pMoOgzHpfway7Mo3KVztkgpAQSVZTaPKjpUCYCnx78CH3
mqOMH/kzfv6RQEi1LH9mxeZ7ka1/HBct0RCteKhfpRjFWb+CMvm/2AGCLjq9qfWqbrNj4zYx7f36
aP2np+enXbars9aAmmF7QDSk4LSslI9g7aIQfW59X6R1L+x58XNNUer/8km4GmBNdpvgZ5HtXgIt
ejd6q0mU2tsIsVR+8bALW/13eFL/Bj+iSX8Rf0bfvuHwi/jr+jUqyv/53y84tB68Fv6UsMlXYzlt
r+keVgH5y7we5zRHbQ6QKYQFvBf8lBdZVWN3OXonQSYAgNxEdngzssw+nexMRRuOa5/yrJusO7i1
6kbTc+5vYJ58//J7+EX9/kWhL/KvNu45C6NMtvVLAnKdFWCdtZ9/SsrmG+3nZxyhdRZTk3W77/M8
LtYRpDCu7HuHnuUh1gE5C5hc/77pWRD57OAuUF36jmocCLAtpj+cQQxNB8UFicuGgNHbh+IxO5Ch
dorIoMnqR9v7x5VXz7Qu0xok7AdzIhfwB466xuu2hSNAgm7VuNLSYNCMP3JZl5weozPPo23sQb0S
pM9WOLIMtAujrSHN0NkbDPfW9D8cYGF4oLtERln3chIKPRkmcgF1yo9DamQKJ6PAkJ9BYL9kVIb7
hIcu1/EB6pA3Jx33SD4fBbOHGSmcqUku2lmOaoQb0R7D2eDFbVKU1RL7rLM8EKTx2Olx3CSPtDaB
3pUGFqXBl+8GUCjTagQjQfAUtzrwIrHkfMRNtmBJ2l2JfkZtSUTNzlFVgaSArbez6K2pNMU7Iz1q
hIKZNl4T1Uao8LnYc41Wtya1z3sTVZG1wIxDnZeYRjpee+iu0jOoPGPjmPszKLh24BBT0enLWuJ2
MUHS/xmBgQgKtkHmrHPBh/C0KaYtu166569ZK5uBXSY8tkwvrPAQgACvia/RtyNP8Eg7n30vQJ+/
DgCp+u9bi90Qo2jxi+9ZNm68DcAvOt7ANtkl5as9AsDOSsYA+uYfHt7PjXdjOEhC+DyUI01ee6UW
NzmUu+BO0qZ0j21zc0zOo0Gh9uwZ8z+ZE+TS//6PP4KfSZr+TX/zjxp9zA6eRy+CBl+UJtssO7PN
a18U6/8q//1AMA4EU2yC+/XQH/O1AP+ylldS6JyTeCzFkxh33M7MzHcvJ5MKaouUw5RFf4I1huKm
HmdyXMFqtgzffQFEuXWPO46QAINpwl03KNenscJ6u2hgnZ3n+WLL+Q5Li3oSJDaC4YwcRJcmqGws
y9V8BJlth4NqhMmlEX1lsQYE1tc4ze1N/5ICXtl8e+OWvRFE5iMobIeJwvkIStsO8YTs0orzGp0y
1zI17JAUK8LxFAzTfMUCq8oIh3QOmyRgstNOT/kKoYv3MsgTa5pF7wyyzVLOQjGAESk9ZIW4Ax2F
6BKn3RSeC7rYQbcUR8iBTWaiXu3jgEmVzzAlrh5svi5zp1PoE8M9Q1f+r5pq95WYMSHKo/pkCuBW
/VT4mIAM5Ls+O7wAcjioijhujHvTL1S3t3wCfNsR9aH/Q3q8n+NDOPpYv59mTfbkCiYr4iMlTnd+
HGku4fU2zXn6vca5vV0dYA7puG0eA6e2m7T4gNrPQXimHSL3Donyey6D6IIitcLDCj9s58utKeW/
9lER65cC4ujQahK6G00QVtS0YRLkk+X6HKELuZHy0z9ef6zt1WtIQaIQT05Kf6sLseGlXrpIv3X+
t0ih8+eqZTS9lUSNWYWJnzZZpzz9zQW1HJgRTkiMP1m9U2DgF1eiH0PVi4+F20uoe4EIUOPk7DfY
s4rm/jBeZq9jopLXOeyELxsQwXM6RNjqgYULRwhwuGyEgIULO+xELOxFzxq2s3rRSi3rRQ9riZow
yoMJXtptnyCSdWW4F1NPSwYys1pQJ9oTKK0+K2FaSvNZHjp2izIfrhwY92g7ssOZQ3ENnVAspeCk
mu+SkDUeRuYjSKziX8xHkFoDxDMStIl/FfL5CKqpItJDCdrEP+czErQqOIbmI2i1GeZJY6D6HYZW
DYcmEP5B/KueoW1vAPQ098zay6eXZHsovIFuJKPb+ggymHYQeii1QTAVVugJ4hMdPu4rKLN0X8XG
7Skr7btCBZLWF3m0tkw0Y9jP9oKGriKpPp422rMKsneToX/LIPKc7UwPUM/AY1NK52MPHagO7KMg
0o8jt0laxUUZHEbIa41bRLtymxVv1rASjHzi9Jq8PZA5UuBZmmwCzZfxzj6WWe9l9J8v7DzO2cBR
9Jcvo3zNfv4B00zi4j/hxVlrgJhPXNNCzJwWZuEvFlo4QAGKi4+U9wn/MKYQX9YKwYouZNEhRZa1
6GZy6N12vpfmGmPREYyXtQYwQsuakDiUyxpYSOFlTciZInk9RnKIFrbokFDT689ee0uAvJGeVK9S
p3Q0EdOi5/rzfI7Qiz0wYqAM0RKpQgQVox5cb292rFvSg6x4GdznaOx/QReL1ctlY/WE84Wr+eaM
gtqdRIHmDIMiWxiUimUTEl5ic0xCAkm0bEICzRmu53OzzZCExDB4vQkTEkiKhRMSYtIqmqr4gIKp
dVI6SncECf0KPux6qqbVUP4WlUknr4sHYvXY7JcMQEwivbGyWPdhCOMQw5xy7O+aay1oqDUzyU26
/C3bxN9f4up3/Y2vgKXSQrjATzbtA3/J9lpJWtt8MRfjMveQS4BGtRrHBVZ09SIkw8u43kRhGS5k
EBC5dPJ+zlp0q0EQLq0r1dLl/UgsrSvlwsl7tbCunMnX79OVZFldOau9Y3e95fJ28pVqo8ZIOe66
S6rYpTe2Bow/KqtAK7dkm8SbpvS3rmf/Vr3lXyEP9F37eJRxIVVomduFr7TKzpfYq9oGLLGr5gS7
8zNTV9pACxzZKMugS9IsyUxH+fZNP4F1lJofivLkSX/h7Ddh/JpJWVUZgLNsLMYLgrSfuptidzpq
TMvAKeKsmSKOOyYWjE0LQ0bVBCNYjFWX2EahmIwNB0oIKM1iTR/brNda1Ui7L+Tu2ZYyzwx8mux+
mDYXzbXRc6qf8XuU7uOaX8ytNaolKF/j2PQdmdmF9uyuIivM6Njwao1jpL/2m+/qNE9vo31qGbWB
wgnrusDttfS0UQ64RD6gIj2UMmv7HCJ+RQqnB86gd+HkVTJzWkyRmbCV2mszF1xWH2lcX6ARWFmx
gREPtelygFsqq6iojkcLmWerf+PF4oKq+1m3XmBn1fVILxeqFfi2Pp1Hy+9glwVv8SaJLMX1gbY/
sIf98estBViNhsz5OId4/ZpZ5t5pCSgVf4gjM+cVHERcl3eVeJxtQB+U/erV42xCP0PIFlovg5FH
20dgAJGDcm+SatZdCZ8wwa129VxESartoL5bIviRhGWA7btA+MHkl2sjPjXEN5Rgrm1g+nBv37ET
/uBSzLkvtojTY/V1OIWp4uJRBanz7Y4LsxkjDWo63uMi2X6AqTbE0z0g1341Vv738Kv20V/0r6Hz
oASGsBa7mYfpdCyRII/jcujLtzgdijyE3Dbxc4hlWzYQ3o4xIqh720VVbGkRfyDFnheJtVcarEb+
oFpkqwWffUv0kXytfRGlDsvx8dTQJO7WRNrHGWdttBFutRHtKCMUYvk4r3sXvOqfeo3TjcOPCh9J
UGX/jNcmgWKNQDzSm6hcsSD5QGGU6t1hUT6a9nOYxoLRuxZO2GIqMykeWGe7LoLfkWP+Eg/KSVAB
EWo1ZTzcTKXIISfyGRnvplaZ9lIZvqPI+FrzeDEwjUPUPb44xPqenAo9gYtMC3Td8tFTdgqVHl51
ZYPuE/yd7jp8UnCK386W8FqvpLc50x6pqH8JWx1dKdAtHkbTcN0+g0OQhtqCNPxGPDpQIKNwpYi6
PYv65lbRjY73GvEd0ns+34uJ2JDc//KdCdgbuj9TJF69mupvs/4hCVcp7klekzAMLZEMxND9n/mA
dLDw7SLOniGiEGyTqq6UjKEF9yUo31/sMLaMa9taPIIOcaY4wweR0M6cuXoIGe08fzI2YdEw6l+S
Yp12J8k1k3WZfBhh6nD578HgBbF5yEsymwxVFOPHVFvO90Xma3IwI9XLNNGrBE/7BSC84YcuNzcI
bqasP5q2chwyQvdtrLnLVKUP6OdyC3dniiVi98887lSsDNmDiRlnCvYhtuJOvQo5U8by6T0qnrZZ
qpdZPondU8nxGqNXRnNGVbrOd+w9RPhtrdVQ+LJ7+vtTnzRt9FervFhXcZGQP4w0ncToP7+IKtuv
Xz00laWm4P710qU88JXMcHdMTaGFDsP0mkcII1zIZMvwAax3VwZbyAeIQ7ky10I8iJHwyN7x8Kzv
HTyDodleJrVvfwfRtCui9WLQKCJ6TdSsF+8PYaQGzvOifQGQdR350OQ6kQ+0IoNw3OilWfJH1LKi
rIfJ5x1AIKHNKB9AGq9eaTWo3th6ctu01jbBsIyzogDZ7HNPZl/wl81wruwtMF85THU2/ArltMmu
DzIaS+RHf3C6qz6SpLIeiVcyeVClBx0GsKXpVvsyWGeb+mM7GCSmgOeN1M2PySefDbmHcQd29Ho+
j6s06z/6ggXkAJEVGySppyB+Wj8K0zkIv/2NDc+YS6EWOqlTF5XBQDB2+5O6JvktvAYcamMIIFCj
9Fwf7KuthHaErt5BOCRwOxiLQd7OFNeDT9ZQz9vDi9AmITqBlQdalE/HlslbnsaB+SbMUIijNyvC
IMy39zhsY/I+Rfsqy7WlpLVeEO03SRYkZQBfcGhgpBQdOCN5igPG3WF8g5Bopj5g7mmQlq9R3sBs
1dEC23QPGP0n2BiJArLjNSp2kPTvxMYVYxjG1aKJKBQxTDTs0iGCshX2Oana+zoqJzWfm/PqDnSX
UlNRE1B5TzZx5pgFjhCC8aEcLcTn5ITPidEx4gZ8LsKFNixONixgwxItv2HMl7EiaHiOAhmsOBI+
DuGnWv5UxiBVLF4gxTANXHp5LC4XAAb6RFVVJM/7yi7OKB+Ia08ngDYaNlJi0AWesEvX2RUMzHM8
jR7oDUcQot0nzr0pFfHmOBbztq8MvJoBRs52eoN7+5xxyvnAcd+9URD3CizT5BkHXEvWi7U2XUyE
o1lG8VgAgUPKh/WGT7Y5FDIfYdaidW6yYJdVbYtEs0sDPP2cZusf+kKfP7TRb52iLjjV2p8sdYk+
isLGopbYrtb4fgGeMfemOJ6C4Dau1q8gPXP9yOPgOdt8WOUzgZn30jNk9x4XVbKOtA5Ik5edmXCf
Jrs2kPbpqgbY6j0gBaPD+RhL1Px1yOiZmfZG05rE6LdvT/X/tlFZnQ9JSX5opfz8ln99S97iv3/k
cV2Q8eW5Tt6l6Z8A6MF89HtWfO+UUyGB/p+9Z1tu28jyV/hiPxlW3y+pUrkSZzK7WzObqZmdfXVB
JCQhoUiGoBw5W/Pv26cBUhRxQDYbDVK0pyqxZVrW6T597lcuYDo+Gxpt+wPVRIo41fAq8GdiAsXN
0sT7crIos2bF7Hi++IKv/9Wwc/KUs0oR8S8M/OZUgOjzTj5x4a9bo4BmipEnIbCwJSPG2QycypQA
WUYFIU9wQQSkdFY7H3HLU4LkGCBtDHW2yXF3O1AHkN1/uVmWE18O4N70oboG+fzd902Z3xv9sV2U
bsPa63cue19WTkjDxsBJuYTkFCcUJV1nCAl94ku+8x/84D9A72yEHVpRcDzTIigs875QQadjcn3P
lPI89bqhmWaltrM52zFH69x2ymMigHsArvLlHT5sysKiTmVeG50ynoY3WRdvMqnOLYCUjfEoAslq
N9LqyUppfdaHfncYKVoRObSECrDJLLlQUWUlTcI4vItxOLPnoKGPzxX7FCccLdlg3LQbz3XcZDSV
r4uZAhElDU9DIrpbtpoLwMy7/sLKuSdqMJrbDak7mrMqRi4dIxxx441YZy6Lr/FNX9NPweiLy0s1
mbVKIGR+eV7dmkEznY97k6yCwPcE31zrHI1j83xxtFq/I/neP7j7HTHwwvaQRSGB7UfC8Un9OCTk
N+NJ8Yb8eHt3X/7ifkdo2Ag6sEF32JwjJ1HVP3z88U8OB44Wfvrzf/znf9VfYgq4Xy3dOSOmhJ6O
teQP//2XN/LHmr+aP7x1NA908WlW/A7EUF1ThO+41Sej/eZgNQMcc0ojhT4ZVTYHq+nyKFwqZmOL
kXxN26/Fl/qLzH2V3U+rLC8qygxeaQqLTyVLm6/xqZr2aiOo4SbiFHUnNOZGOyisHhd4mQ6lWjqn
rFczUqJ9XoJSflaKfndAerxLwhHMigEIFGMHqIzSA8CCZ96FZcB0SgtrPTfwA+icFeicfLGYlrUF
cwWHAISvnF1z/X9vGIMP3G/frZaPxTv3hR+KDR8I9q+WoBhJK0952s+zyft8Ub5hP4Sf21r7r/aT
Ss4HeNKXTSr1yjQzYowMy5CIdaNJL5+l+u0xXxYU1obNWldyrAf7vvWpL6W4OTlMLU0SOQOC/e/r
unL318X4cVls9Be+gELbo9P6KbBM5MlhCjP0y0J92HebYTBbbQPzWfHkfD0nRt51fc9meQXCZ1by
8xx8c6jOY4dul3TX4Gpoj2KAaxz3L1jHzcPmmA5w8+5TJrmYMwNDBJcc8EkR2SKDqrLk10hnMaXn
NURfIQlNTIsc5g+2liNKCLBQTYPmCMgU/nYESmqr/42G+Kz7VUiFp2NpkK09KIXU/guX2r4bmnkj
/0XtQX364dPHTz9++hNSVUODzD95Iqm2NVtb7ln8RAUPqkKV+9urj2lIzqrHm87OZMFGMqh348CB
lg6R67NMEP61Gor4bCygNA3YhrwigmFbFLMZAEM15hJw9soI/d0wNxVGvLoXetdLIwTdenCldq5b
b65tMUFoXpX8ZicznFrYEQzBjgpaZHfxVmTnP3k5tpQdmPssouoY8Z64VfG0QjrUDVEUOtQtd/py
X8PKjgLzYZBy9WW3r2PdDnS/+OBOMXGnKPNpdQ2xvXb+gDE9sA5AwkKEiVPDlHxoWYgFg9TpYRrD
jreFkoXcKOG9KqSP6meTYcG2tLSrjowM7OB3q9Ng/VlH4k1pokcq5jXXDXT1bPB9Rjo1JrAaUr66
6KERlsTj5rZ05Fwslw79dZdtjSxBxJr8MJ9GCycw7cWpTwR5lvRA3jNIwJdPttbo8x1+L320urOc
whyWbzN4ZazWCem0aYOdzbMmgZdBog9tq6Sg3tlAz9w6AfrsREtz2bZ4x6tqosirixAbYkz8c9f9
jOt260U5XoHKr8o/io4KPaNGjEcA7ByrgIxUkFzpEef8eChbRkXdotlUJr+AUY9C5CPeh0e3atTy
qpmpwMDH+LDrf2mHr8CM9tGwOAqLf6NSVyllh8CywF9UDQFLorDoINSjcOoZ5F4av5cYApbB32sQ
brf4vXhaWNTDamUAGmBfQxZLafLvLFbfLJakVl1gFktTqi4xlyKs0t9GLkUR9g3mUrSQ7BvMpRhO
9L9zKR25FEZljPvzIjmwmJbgmTxlEKZflQUywpYZ6zSRGSkrz68YLyd1wygbuoirJTiwfJuwrCeN
PI+t84GXrb9zLvRs4g6HT8bVkh5t6qZueg1CkeHyrIccqBt2vVqW71kFTqUeOh/7ii8v2JE1S5d1
+Y2ly3HBYL/iu+uNWYFWyesUSUqkJ+gDbXcFMcm/Zg4ze611GVMb143q7KFYLcsxvmXDEgOzRfok
gBP18XGhelpmrSXC9X4Bd4oaMseG7HHiYIZINHV8LWL3ULKgXuyUEMNikCjEh7ycPe+I4ETsg0WI
N+NiYW3l2n0G3EHzCUpkbRDUgPNTwNFBJQu9waj42zwUD/Pll4YcFsvHGWzTmjyCkene6nM+LSf1
6GTkxQzjgYFc1SUAAiZsUx1B8GHag7y3TDpnXzu7zH0lOEeaTGNwmy8WNXpnTqz54ehPWE6NSCfB
gmYuKqzX+uV2hIzJ20X1/mHxMmmhnF7QR8qMWiU+PUzvV6tFs9llC9rD43RVLmADlNeV6z7UXepQ
Ix423Et16mL3lfODEmwi5UqQgdEMw+okFNj0Yog9u3nWRJWtiapeJfVMbC+KbWqye8hn5a37x7vK
i2h3UEKHoGzuawGYfgVoaCIILaXGhLOVnGV1/hPWmyKQpCblIyvYyQ643uo0KavxfDZzohNZzU54
SkGcQdt6ZzkLJQxKAYg8i+CCYvqT474T8UREJbfD++EkO/JpD+D5GbsIRKdTHUghBn7YbK0nKuSJ
s5HhfdT6/Pa2nuw0HsPKI4x+ORUwemNoKnp5ksO0pCQ5i6dEpOUnxkWn0H35fVlnvazl2r2jIK/z
3J26XdSD+C4S21So88oFGzTj6iSI22cbUGr0KyXLdmm7UMBG9rQaxsS4jbXBv1rm41/rX7Pfi5vP
q1Xm9eh62TQ6o9vCWjjJzky9QXEw1XsvHZUxluCRSa69YxKZNiMm+OmtQwHbGAU9PWCwwLU5w4XB
Y9L2TIBJFBdXVX4HFXXj5byCYaQ+Dll/vF7L5zwdJ9HG93jY01EXVWd4ZAFLfvgZXplL8IjV6QFL
DoDJ6QFTGBKtlE5OX74WAkvQa+mrwfc1fXZC2ur6xGAui3FRfkbtKm7J0UHMHtqXepdS85hwW/lQ
XG2iAlnlzNtbfOomVDrIc4hgLcg5wLJjvadEHDI61o9IIxIYOAJn0DhK+kT9GTDNqZ9cG8kzW5zp
zCafRoXu830dW8+BUC5JNLP+9jhfQQTgPl9WxQq5GOPWPac+z1OGbWnG7lWt8tkkX06yh/mkcLK2
qPxyynoz5bPt+ozpxRSkMVQNQLDNfVLMqo6smYT1bKz/U/tz7B4BMHF1O58jqyU5G0kZY02V1fhK
EJrl01WxnOUrp2fWlLWDePddTss5I0YNntI6Vj5EXoXKqJeKyBuFLS5XwSuL52iDHYQOuDkpV+A8
AFo84hwvtkI37eTZ9nroZul13UPbDK4aL/MKtfOlZo4VRSQh/fDzX7P5ZwfJ+ct72si5FCMe5cYE
8nubz0VM7ANfSt3I3wxFtscyemcIwRiR6hAdq813tpoDCMlI5Gs+Q3vxrqxdoc3NyMoYv+HIy71o
mPGXkzwJ5wLDVi2ObZR4qBIjgb1uwUS9ZUR0aTAxkkT2wztk3VIIDtgafoLXwBcoO6lFknN4J2Y6
udxJcBjaneogoFA+OYXyyZ9it22bc/e/HYjg2oQWlfbxgiR/XN1De0ez92azFYfu/k3lTfP583fU
nv18Wd7hWpNKp76FsgOSXT3x4eCsCQGFX/aoSMZ+1GzVbDyCgnPftvlrLxTXf7h+uYAUzLRspGyv
ZMjuFmCRUcLEk6LYqmMuDNXOaqApSRFBe9td88sSlRrw9Wun0dEg6IBy5qv/uomA68CBEMfZNSh8
lEeljH2Ex8WiWI6hyXpvEQr3Hmx/Vw0DhwQBnL/B41zWPbzFDoqdClTdPqnD7EhQlfxcPXle0Eb+
gL/zz6pYnlEMcX8kIURynbFzoq5oh3shLs+Lj90FvhlYSS/wkexgrOdDUU3NGV9qR1sNh5auAjfr
NHhMUTUox+rql0Vxl0EArsynnTs4FXEmQkyF5b7K7cbJRuYGterQz0RrCBNQcl6+3F0F7OTUznDM
cxCgiFOriTgwpsgnbM3lTXE7X3avpmXu6ruBrzORKkIXVg7Cr8jIJgWzNc/LF7vrit39dxIw5+AL
HhdVSMMX3JLEBLBxMLBwDm8NRzsTK7RJQb4CHa1jzElMSjmJ9ACDYR/K1f5dxLDNMmwFcBwNtAUB
l4ED8o7BMT/G5ak9z4383pqhjY89Nr4vrc/DtJaor/LlXRPq+7BbVQh5TCmTI2gfd9QYeVxOXyDj
sEOmEjSy3U+r5xWii+X87lM5mxRP7x/4o2mlllmrEDEZmybGUO12SJ36IcVRlO4OjNI0JaFD8tKh
8DA9CRWhCduj9J4n9uEj9HR6Gcv2y1gxChvWpvZvnGQEiU5CrIba1IwIpWbk/WpXgWsrlWNCq2xy
sg4mnRbZSK0T3368/LJYkffuy5YycDZMYpMZ+pKx2KCAzYOsz1zcdLMWIvT1bbEa328YxoegIca7
6B4HwBS3EICNeMx1gdDVOoTsZUAGfd9ZHQafzmdowFcLPWIxbY7r+7V0e51pgo4Jj+dilt9Mi4/u
z05KvXUC+RqKnL67qtv17ufV6jtDCMG2feRT6EEob9ehWvhx/jP4acXb+lP/497w79+wn9x/m2u4
T+DHvvV90/m0WK6y27ycvv+lWi8G/h/YHwzx96u8GpdlK4xBhTbH5HuOvgDepKtiAnVf/WOImOjd
14+VmH72rx4rPCZjGKehwvbMf3MPEFO1M8s/l3f1Ivd8Nr6fL7ObvCrHeH2Z01kxAc0tGC9LFaEU
qR1k15JCyxVNBKh69O2C7iejPomG/q6YIpc25nwtT3WwukIoEzfqCL1eXUDkabg5xsHqDsJoXGHw
nirQPWN1YhpIY+pNmTyq5QXF5h3sBXWcP51soxR9RagOjqksPbyVqt2PJ7hKOxNjn3SNKn3r5Ia7
m19R9NnI7s5AJugASyUXcbTfecEDVQ0CFrn2lC/7LnoAvDU8cI9E+DwV98ViPquKbDO7b2u012aW
VwFttU7DTrL5bPoF9byosEe3Mh8k7Hqlb9aZwo2sqUohLoLoTofRHaqhOUxbUr2A7KE1fPyI0YH0
ffBid/ObfPwrbnrYwPB9yMXmq/tiuXCeOn4h3hvUmjWbFXldkQcBdg5lKZ/Ll5lOP/iv//n3v1zv
v6pVMEXM9iMYeDPfiupY/7ZYLgu8hJeywDINHR5kQSMrYNwEzdwJQWr7cut9T0g3oTUjqXmfKyLN
Z3XUzDkAS3f7a/K2fLij1+yJZXfLopj5ueXuI3bdNYJMOMSHZUz0oQj3enfXepcXtvmqifOTwNBz
7zfYzWMpZ8AIwvpTNEyOB/usexO97C/4di75AiY+/YMpFWhR62P3DFEsb2F5BC7rKDfEtt3/zbiW
8mbqnOVsUoBivnF2k5/+gfsnzkbT3MbCrceMNFX//g+NnbJw9nUd4a+K4tfMo9yrt6UzYFZ1g95y
jqeuCFUjGzSoQR8cQdrdMUeCmhx0r4ZGK0kM9YxfTlOZFAsYnzJDbiKDx97q/t2Mguo+b3Lq8USS
xND1LqTx/AHG7PldmT5uhXQPGAVZI9qLYgEP9/lyhl7HSslI4JRo3XsQkIp45qaMFFrVt6tIAW35
dHGPmg+KksBhkHqAaXr7pmJKGaFQ93UccrTjkHJN6CtlKWQQHVRROYudCnV5h7aMDi4LmiG5xFze
k5IY0bI2c+oEdP45bxYb1wPoHbQv2dP9EvWepQRxpi4QUZJdHu2ri0S0SWF4/1Es51m9XAOpVISR
1iQ1mJZadVDs5ckEKy6QaqiJNvmwpQnoggQuAtvE9YH5Em2bADrQiTUXKGLE5ZkEJsb03HZ7N40i
PlaCx+KoFpGG+5mxo20EdsZVtZ1zc/5MMUGaBJgKnfWm95dLUkLQQJwVoQXdnSZNU754n1f3zX6b
bPxlPMW7piE8ReUFikuhL48w5eUxkzGXp/9NDIN6Hffjz3/9WJfR/KVeTuVHg+DSkeg4Rj03ci6Q
2w2n8QLx5dKvSTEt7nJ33gy6IyG2+xxox7sRKMxl1WcK9XTFeYxWSXI1kCO7m9eImM86d6FBa4K8
IDtps3iAxzhJz3s1Zh7ObT6degzBgomufbewv8gXF0U0iRyxGiUqLo/hsOtqHdikXEI/XhLYa6B+
cPwiH28dY/1N2JoBIkbMiB6CwCdLp+AilfNluSr/6OR6obnzfNlAt53NZ36mVL3Urv6+3flSUvhW
/YEOUDPj8wet46BSwDEUSxPb6GzE9XeHAS/KxKaftoKe9wXkhJ/TUevxkM60R/NRRp4K4SEkoOmI
C/HKThQ2y7GDAGZOrhSTTzf55NP85hen17C1EZxD35hKDeVD/XVLkwrFTgdK9Sn78J7cNG9m4wGD
NmUH2KhsRowj6QTK7/f7clVMHWHgtUG8XYS9Lpl/7Op81Sdp26ybXI065eE6uuetDtyJGqy3n1+l
Q19zJZ30kH0Kjz29QVtctXLiw6Patx28f39V/7e9nmacLwA3VbOh5vnPnn79mae3793fvIWZY5sm
hTfsJ/jMQ/jevSCrv/xpvrymbUscGv6oVnQYTMIF67LQ9iZrvlPDfUIaD+ruRgb9xFRWhaLpcdaB
KGtopOudRgCwdgMuPWJ0hh68K7hpvef0DI9DiToVLjoEIWOwHZoMf/enp6fW9XVMhiUFYKpsdJ3T
geVfeDG/M9NiapNPVsyv+xVOL8BGzVerZXnzuCrWddTj+fzXssCrdZjTh330bzOxAoJHK9w3khbu
ZVLea2tgJ2jQVVkg9VVUQp+YSuOqvrhmM3UaTSQS3hOhB2B2GDVKOZuGpiTsvY0gTVWM1H0gbo3+
WH+G1LDVoMIMtg5fpA7fZZ+rrHzwsmMFnHnr4N+307WCONcSJmLaNA5mu668vhE1PRy5xeQ2g0Bo
2Sx1GDdeLD4KiQn3VKI/k8MSmdxX+ZazR0cZm0EVm/jRmjorXMJBDwNLY3zVZ2kOFnSkjKIS0EBI
iZzvTB0M7YQm78deR2mqjveygcsh4tmASXku3KP9AZo7baUSVJHXNblNFUFWB9zWNQW1Bey/vt5T
dlD3snuR+LAQb2Ea9bX/sVe75dwQb2DG7yRkIlHF8rJYzJdIQTHXQgbuphno2TpYhrlzMSWHJVdG
hpOj+Bw7TgN7PHtjG9+FCPF+ehLwXQkWK51NZQd9V0F4onftaN4L3cJyJBab/SeoapPEQu5tQKBd
DyZgINTAekOn6hzzTuMmu7OZI8AkaZkKkPmiQg2GUYYXIjlsJnLQcaBd8pQ4c00PLE+jWloh4PKP
//3zT3NYDwyv5aRIlwAzUJcm5GDo4/jeFVi5YXv3m2CXdMZB9bk9TtA58oYMeMsuIoHBITE9ZMe4
SjH55joqNy4nLFuUTwXelSgI6BZi+8v+x6qjSZwRiOvE9JEJIrJJucyq+/njdOJTtD4PedXKCru3
pyJlzMHfZq9yETAf3ZIBge6JdJhhjQEWE4d9preOCgFLYVTiYAhj+JQYHidig4F2vxJTathXImRY
nmK6v61fNfM/mk9xCx/aiqntQXKoDnKeuwT9R03C59+5z55IqIDBOap/y6W/35Xfu4VVnRszkqe4
4R46J3xg7UeTIrFdW8+UMyAUSQoFqVITfKR5jzDuemyGwx0Ms6jGOTaAi/kIDiEmxt1C6kAboHVg
utUmDmWU7oX62D8wPN3Bg8WijzCmBOdlmCss0qi9FsDOQolkMryLJrI43KF0d+sM5fer1W07+m1g
2EgaU6UqHxbT3RrMNZ/2kwOdDowkcWGnjvZ9PA8IKi+NGG0Yplsz+GXORg0ArKveWcX1Ixz5/oms
0oNXasyfnhGxhzmsVO8ySriGrC1JRRFbwJC5TzAqRyWH1D15qAnHiRNdTkk6CKQPm6kXPkOcphPi
uBsKT4o6JtZ3YNYQJPaRnD6XnPiNVCe5mBEp+hmZwfoZDYPZrnZo/RpF5tjbLMTVOhOFpJ60iEvR
H0PmS5jO16ZyRs+fJQ3LapvoQzTfgMeXlHO0YurzD0fDMwoLUto1EpRKP9HLBEWHTdz4NtypVY7Q
gtKzu1Dnq/K2qc6r6r3m2dTvUIfsbOf6eJh2KyPe9sgJz70gvLjaPmB+dKtIcpm5+yWvvszGiIy2
0v2u+4BBBQ3MXjOaDvJzNY94AWwXTf44KeetIX3IUiwpxMgEmXAmtCoOeh98MAto2xv/Ow6rD2xB
8l7vFHUcrNk2JylLbsbwa6YGeOSmQEIEzRCO/OE8Rh4GmbF4eNfJYQ0DdyOutCd0g4+UBKph/Znk
pGUxwNp8V0kNS+zdfS7SmjQy5qZc3MwXB5buURXahN9J603hKUgZxDqGCLlULIkmrjKocy3H8FG+
/IIX1pLAIPnrIsC12OGGnkvkBrXJtJcMa6KSCzPcQWZc2kgJlkYJcWSnIUvKrF2L+TilnDk5vhM7
PKNCbhMCD1t1vHOkuungxeigYvWx/hBp4s98ipS9Ckmt+HFq/G8//6PTncod6f+tLUHrK3O1M6vn
tUkFZN+yFmlEPtqfo0hgqcRw9K9bskAHBd9DvNxa2yxwchBcgyDYkbpnlATtx+eCmQQ6YWvJNm5s
atnqGDqbLFCptGD77l15N6j3o4NBfXnN+mEViVDA2/mlJqVYOmm3N8fET3svyfRp4VF+Wnj61PcT
KSMWyMI15+7OHzJY8Yf3MhG//M321UHbf3KX/u3RR7WKpRMbFXzkp0HXPVV4l0jo5pl0uBeanJh3
TsurwqjT3o8kC4V2bKOwMtaHeOl8duyCV+4iESj7f/aurbd1W0v/Fb/sPFUNryJZINjodFBggAHm
APMw5y1QbCVRt2PnSHZ28u+Hi5QcxyJliaLkpDNF0dre3qZIrvvlW5rKYQa65r38+PV70H9XPAGb
1u2fev2yyD2NhRIU9bwij9GZ1xPk87PBoHRDP6SqiDvifN71kBxzgj1QaGe2zqicmQTRvBdGFZpY
nzt1uEQ9Oz0DBWgtOZNil5cwEtkzS1b0zJz39qo8PhWM5RPRGOM7+lWmUiCBCaeKYGizcfJKiHoY
NLU25PD8xONMsRPIdys1DVN43UDRsyQvZE2nE8jiOBMdNXKUsuDZWb1QQAXBAeqzPS25z+QmRiOv
1NlxTVAaPSKN2xHplBOaat4V6eSC0RkkoNDDjePsNN88rIvq8dqm4w3qmjNVJoje8KjIhCV5m+2v
6yKc9jIA4RI63e6ybHmaABUKunFTHlPy41QyKZVgGJLPqeBu0Y9iypMPh+sTmagnLqjsgQv6I2+q
N1oVbwSH6Wy7SAP4nJfltkxW+9ICi9ZIUT60babAfh8d+KhtIzeWNeAIh0Sw+jJ+sSl2BUBcgyB3
ZnmZqTOIxYleRtTs3rMyciB5nqFOIuS01Nm0xtGxdFI9bn+60f1New2Zg0g22/exOk40N9mz6aJP
7Uu1fwbtm2Qnbh/UOmjlABiBIQG/6MFPSVHkHd+5HN1U62JCRzOiB9KEwjjGMaXVF0BgZeo8AiuK
a0L7eu5BrU9uqwdZRH2Z/PWxTCr9QgtOsAadJT8K0oAsxEFf76GR83pZ5gD19iJrDLukQaJ2g6Sx
sLRbHJjC0SXNP4vNSntIILdhgMdyXbhTF1IZizf8VI/S2Z7z7ej9ohB0CWGSk5HYpszWcHcF45zs
B75x9pSNiZ/tts9JBxACJlLzfqSQarW/M0t1AMNhDv5gwPVtC2j2TLQ3/eO6bt+vtAS9277mWpSu
wb0+/o7HgYGqQhSz16G61kZvpvliu9GeBUdceyxC/y9NhSAtwxsgeEKzKkdOt31fzyt3MCXlEkxu
Eanuw19JaTaltB3DiYpKQR5iFaA6RuW9PtDR8Rsb2PAGTYhS1Aie336LWVNlB+VENbOgtxKl0c6o
2ECLiV8kAjwnliTeevb+oWtKu5Kte5BEwIiumO0OVg67QispMGyICh9ePkUVRHFSjOcusqY8inJx
l0JJaA9KeWTl4i89wj3Ri6NVviIu4so95zmC/9ZvatGZ4EmzXG9rC8MdTuw2Ou0eznsihwyyE+xY
l97mAlNa1qg5qLf2WVS0DgErbKDcMHuAGoyDizkIjxUiB/MYEVKYwsmobajWWXPPdOM0LFDfrbUM
YUE7SLfOJKBXpIhsSzjASRSeL+nCgqJ2gxWltq3BaWEqitpydunq3bCw8qcabufaAB7q57+12O23
62Lz47b+w9vsXpPN7aqolhAedMYOUvMAaWTJQzucMqJEjHRg/YnDfuZUWxtYxXU03fcnwQ6gU5R6
2k83q+R+u7ad5k03AlSiV/kG4Jcs5brbEAGTCM1xrQ3e86g5tiZpXQ9QOCDLYoRQW9QgJlUITw7p
12OSz3d0NKSNt5f1oTnfGiCmfaGnLYKN+0mjNvYcqPlAxgBh0PyJs8gCU8nmaS7CNCTBdQq2BhUX
O1/CEAlt4YQkXN8jtGDF2mu2wcNmdK1Lq+hfIYh/CgMPOosxDkEjaEPM3RUPt0//coEbLliKPsl2
m/kCWHvz/awub9B4yJVjpMLKLXvNV7YN9mfz8WdnTmOJ4gQBmMeaQmHlZ6dy++xO/ZhZ2MzFoJHV
B+sIRBDMo6YJTBmZ1iZaSy69VRYUEnmRPVb3rUqzxUtTtp0kfpIe1uRuiuz+en64stoVfk7/3Vbe
k8oUA3itiB1o8LY89ENVn0MYGP/DIw9iFW6e4ZQhI3QmFg0ShVsBD/nONCLf5ffbMt/byS8rvdVy
+1Yl9lvOGJdKoVBhxpMelzq5LL+C/QmFF0iKL78JheWX34MUX/8ehKRf/x4oGtem96yd+kQLqzx7
0lb2fvNDu6jF0oejxLUKQ1//4kf1dO2fzUjUDkxFyF5wHKNIxWRw3pLVdpO7dUjPUrRPTsSKfH2a
UnHa3D5QVzsyIoVe6W9w4yGob67iDXitfSKDcrUq7gHmSr/yZxYxBzOcxHEF6+HQ0B53NIOrdWeY
LfhIkMzPYXupr68vFf0b2C2R0iinouaAVVztcofcoVj8v6r5HDSMZlI1aQi3nDrGh/SCNWacCXnI
8eBInfY9pHKd45Ff35SVkk5kytZzITj++mfEyd/AYLqAzJcLhdJPnr2QkUrwzglDfRZ4lPr7AFS3
3K5yAKm70gLyBmp5v9Hfv5E/9b+HFfQnEiGkP1rtn57e2jgXKZ5ZXIaEfE6f3STzYTQrIdPKLco+
02XREPvff3boM+0tCFSznh4Gk52AzfNVcm4kn4IhYiHxcu8xfjJ+DmlL9ZPIhcj/8Bvm9fuvfKN/
wu98o/+uf+kbSfVv6dfm1wiH3+Pwi/z4N+Fz+6vcy1ZKfC4upxGvkJL/C1fIQoyzFkSMthC2Tw3o
Wy1D2igrCi8UG5eCjU4yDMeUaDSeu+aeyKtGAmPYtn+nC0jxAisUI2rebMHCadlhRObCql2221f6
yvDVLiv1jm9MttY0nJ12EWODIpnGeB7fIqagWYX5WA5LroZU8BX5Yi1SxPjuQ+g7zDc7O0xk+/DS
WkdIwAAm6filbO2Xu6IYYyxhqqiMvCN/M4SksVo374u1A98QS8m13ZqOZmHfLG0c4io9FpX2294O
PJX8VSXQGJ9U+7unYleXPXhxk2mqAIh/1J70luo8mGl93Dw/H+orTN7SPXGDhmEAuPYLxVdGmCCY
KLbdrJzlfhQ6woSIvCTpXpJrTgvp8gDsCLC+318l8Puu1kTOJV6kSBCVDimeHNFQSjiKsdL5VlIS
ArZ5ZvjQd0gxKYEYlVJIxygiHgK+dC73VZmKVH/ai0kS2NNyvHCNv/QP+9l/Qt/0MtuYQfQ7bYNV
9/qLd/nuZ55vDvi/bsAKIVCYA9bIBfME5f4ZSuo75B7VMpWGJd/0ZmDIzvN2XSzf6vnqttPjuH3x
+kNvNhiB5j9eeDiSztJog4cx0Me9HnVldIE4E7qgeFR80NlhwhwNJoxJ1qt+V43vyLq10+dcAxWl
bdwb/BhuBKOXh19fnQTLe+EXqt5i6dXBf3LBRKydvBrVgVttjmTBe5m2aux0N6ZiHZiZw65v5tR8
4lwvEnBebWfAIbi0LeVtIgCSUzR8YVM4nlgrytpPMNJq56TvlEGPCg5f7L3Rp4nlG9cnf7pzF0UL
DDqYDV9wCOB1PwQCz45e4Z9TVxv3nWk/6JicByTEuBsZ1brCWaSW3iFzeRmWvFN5qcGR5O8v2Xqf
33CmxZ5kCgnFXcFlREOEVSCwiFAscLEh7qToNZtOjXXDFQmRvw4fxKt6pVJ6FRlVYVHHiGHMcRp1
EdJaBJx8mU5uROAUj5B7m+fsuXif5P2YZ6u8dPugmmV7jpM5wzpVXr40wKBtTMQDLGITrqk02W+W
+a8/sxfb/WfY7hre1l9J9Bcedo83m+2VNmsTgOq6ecurVi8kY5TF4fz+wDs4gDGPZOvyMds8gOaw
Av2xyMusXD6+wSxSa+M6o0B6ZYrUl70qrB12kWrLVZGo93UO5idlQzTSIOOEiQDSC89/YIIpimFO
NDFt4ohpp2nPxuoeN3Rfasp5PMdRDEPbGo1OFH6MeaR46L21bBWnWIVB9HLEVdn/J39lL1kNcOk3
96im8J7d6f2vDM6vhelusMA5lXpJOdzKO4r0tew9IMh6xHGrxQ+mUTASxsM9ZhJRNKog4ywc8H1W
7ZqBhUexmQIKdTYP77i/5ivfyJ/w4QH4Vz+c9GP/cpliCei/2lvveyEW1OEITqwsdrk+pKdna4rC
BuCF2YS9nPZ1QSouvzJy3rioj9tWykpoKuGUxiUTGJZpF3fiUEHlRDpeIA8nTypDvODQGOWvXvxI
oUWpDIkMDZviFWIvtrG+qvw9KNpUTxqAlbu1RVr50dGmJZXsmRGdjvTf126RvpQ4lA7fN37s/5u1
3V5cigBalacjtI1mXxPKMsfgcuA4gAnOzMwyDbB1h0fb+yVtVV+wB3eUE6ue06LOnOJyX5oeqV3h
tBEx/MtDQp21cbM1R1dnMh/ynauYVpvyQpIIYhYWM1oPsIte8hL6Cz6WGN+2HsiJAgEjxgIkQb89
Q21OskhJ3EPVgmZTVI83u3KftwK5YsHZlBrlTL4xhYFtKRmjRfQrLd27RGv7am+NLGjXiIcE9sKT
Yv3w8E9Jqe1irfZ672Z2XCtWCgYDZ3gUPf0sdo+Ny1jt7w7ruhiWQfYSz8iwvodzMq/iEUj9iKIH
5HQ5gIihdJzoGHATqcDaZmfhinr3WJQrY5S8Jcvt9keRG7/weVefgzNsRNKe2I2judl3FB7OViHD
tIeM5EtRkCo0B/sh+2KP2o7SsCT/r31evt3vN6ZO8cbiH/5h/2KrAk1bg2K+3IS21YbYaW3JdY7I
uup/sOJhMcqaoRrov3WelQD2DMl9eJTKjoXeLHPwDe7ekr/chpZ2OWGgwezxYBRBhO3KYrkLEGKS
GfzeIbZ5fAoPczoHCHG/05sKqFIUM/gKhNJZI9dcDot6hdo8DKeXJR8xMJ44/AG0Avtzu7UP0Mq1
ahNJXph/2Lg6ClCHNv3qQLAgihHoUJJ0zhh7ELN0iYRzXgsNzGQ2GvClqIq7tTZl7Hu3I6+0FJB8
RC3b9qctYnu3E13hLQbFPCKCk10HrQ4tvNpU+r7fFJo4/2N1g6/+MH9cTyO62UA8Zlvmv+gX5i/+
8lwWL9p0++Vpb+Rk3dqr32eviaa2G9QatbPgFEkx8YOTSR6cKJRe1HKhSMbQYn0mSAs8Rt6YHiZX
PUnPIbhnftiBRwyFdGlkI2tcPTBTMJ19/GbbBSBc9Ryj6v3l3x/zp19/bu/vW1RuBk5zNObHuztt
cD8M2zFZdxQSSa3y5b7UuvmDiLHDOGH+Zsve6z3TxLdO0+OVVNottsmNWigld+X2Z+UZNCChhSIk
Ge7YoC0vud+WyeFhNFn3eooUJgarKE/R9LR9eBDvgFEaVqTtWDe7y500RLQ1RCUeG/QHt7D0pORh
BBJB6gLyqis3KMMUTK+jbaY/y4ilhEn+CilDd/UxNVOYv6SBhDlNv56BJLWBxIICWYf77cmbgk7P
OOecCcUWjMjoahIKFmk6wjzWrFgVUL13ANlxPj4BXGwywePXWp7xCKzX0KKNGx/tqO3DQpUym21F
K8zSkBUPwpIhnKy3D9v97uila2faaBYhVSuHlWwTr/E+mq7JdQFJ4m4wAHAw0RQb/L4vVjcw7QPS
Ax+6L2CRlEaKhRun52W7cgZlKST2T1CKDo806S5tTJgvREjHW0OvdVLUCDV33RGMUiMhZUe+o2zH
cQgiMMuMR7IZjonSNnY0wBu/XV8fqsh+A8AN1183CSYflDLUrJ50MUx421f28w/leEDcGLNFKuTk
qYCOULjiNmw8Ptebl9pC/yBF4BiazvabUxo9TgpdlZvVjbZxUokpI1RRiGadonNgFeMxux6jXbra
GmVzISIhjKsh8eah7IABTobzUT0KPUc6Mmx6vyIE/A6FtHa9RvbBuRoExhpxMWl0uIFebDyE5uuN
PDk8jZUnI8imrjCihEyuK6/WWbUDKMdWoa8Acy5EW3+pQ1ZCzlHwRxUaxRnu8ZJnHApBYE7nGHvr
n3/C6f2XDVldvzbNoPa9HUUIBeguW08KED1RTUzTQ1R2m5gA8ZPiSFLo3AzidCEHOjzh4w0FEuPK
aY40ahwjyBYp4qDiogMY1c/HYpevC1PIs14ts9IZeEn1UQc1tZsWyKx62yyNBFqBVGjwI5x1DXod
kUbjmPdT9PJOu46IKsC0CUmWOCC+HOfri4KmYc5ZiP6GkL1ksUMu5wIsHPoIQhqPHedq0SXanWzJ
goUkaFzxqsNnhmcNCsRLtr7Rv3pVPD3gm4cSUHMwQq915gI+Jjd1mAve0OM37MYdAKMC22oegmKq
ws5mDi6irrR1al5MF1iS6GgznnnGnDOK5iwa7tdDps6NY62etBTyDmQNIYkOs6XMs7q8z+1JksGl
0EPsFVsl6hmECZO2R5krBlxrlRgESb+BQhnuOdTRqzHLLWT36y5oaI52u2Mp7Tlws/f1bfTe8let
S2BhW/mjTfVTrBPGw1I+rlHMtri3eta+AXSDu2zclMNAzlEp8bODxOmoCztu/mpdnRd8E2D0ohl8
LdzZD5Yf4QPtPgPiTcZkTLM77Yz+2zrb/Dh8Zs/ldadNoyJzIxtxoiW6ihXi7Ez1YQDwxGwCS3Dz
fKhXf73ftjs1QJmQEKyXdoVgle/q6j+HmZlAG5rik8XDujOpWn+RS64tR0vgqnjYZLt9CYgGzrJ0
hnqiqkdwDwkalTi6e4MIjKka25aVDdQY1FZ9kFpWVQA8pUWHu4qMYN4Te/xcdtkRCGqn+0PSwV5Z
fHyJPlEsFxSPzsqeqY3rhxUcIk0fAOpj+aidv1J7C17ZilNoXxlXoXe0zzJ/3pYOo5wKbR6QdJ4w
MeVAnDiSnjoC5LMyxhgn5gvJHXwjaU7Zfb50ZHFTt227yjdvSW3J2D8pNjWW3ovHieCAg0hYPEHo
FoMGuoPEdyOOM1QGptCboVIIAE7TKcSGV2gI7eqqS2+apvIC9n+6YFjOEEIDkneFzySk4RWf0iWA
9pUxvFzbfx+us/Z7cuv5VLu3dV495rnbi5SQHxpVStFfZ6z1nWtXwdkzIFKg9THe0emt6mMAgWWB
J92CnRvSJoPAZ87bVLajOCIHQr45xCxySJ2zh+SL6doE0Li0rx01V9w3kVU4K/OZKfe7sp9+nGZy
8C3NNBOJrkzX7qv9qiZvDNGmBsnNIBEB3V3Dh/aXtV2v/6TI1qcGBGc9B7iNUKM28Lpuapqcl8uh
84exiWPJZFiP2jyXR8ZcXnqJHZ0O14m6I0FGFNZaC+31uShN6HDt7KYXUoTFIobbzFSBQ4cQ/nyX
NEpmEEbTWSSxLQNwwvOlpnju78XOnKkLW3rj/LsIT4AY4pMa+k6RAKWYKbpMdJ+MsvceSwgs5dqD
ep8e6jItqWA9B5AEWNkm1HXWzNY7VmH9vUOyCwzT8bGzJlv4AQ/FtmZ01Dtg8FNxnEoD58V67FIO
MYHplk38BZmAPQ0EHNd3cFj+atpYj3uElQyLMTmOtSqetAXcmnFnJuVKflF6TdUESvQ9t391STsF
S0UvurtJPTcsU/KpdzfKFsJqVL1j/4CMxRDtCMtQzaIT+Y6f5KwJRngOf4ib6nk+bMDI7CJn1FFq
85X+fQUqlYr8fQUqlZFCUE4rinRUpzBEL+x2iVTMYUB+d1qQmI2M+QCO0buZ7EheMrkQgsx8uXWK
XeDoDu1Z+Fcehj8Sw5/FJEYhSvtam+YTp4OA0nQyB0FfNIzYtcHsfJclu+wB8sF325UnwJiGuYFD
3FyS0rmPmdNFOrB0L9zjY6O6tYZIxPc7rfZ3h2S/73IxDHJWY6qDlmvAXsvK1fsrg8naMR9EMEl7
DmeP0E5AIA6YBovkard9fjatZmcQDjAOK3Qaw7bPWXkyrtf2jjjjVZyMDJkNdELWmzNuiAojvaDK
sCA5HosBh1wTlloasgidlS7CBbG4X7tTEAA9LcccUm2m/nf9/h+2Z+F/8rvfqyp/ulu/2U176i6F
DNMyYdRA1MUZ1ReoU9AEEEIAIT0wQVM6GsHYRMeT6jErPbhdmLE0DKByAF017RXAV0cld/72XmZQ
M8NqH+LLAh8lEO3KMMxiiILDVZkpkuCkmrc3cHM5zLdxdPhoQRQ01Lm1escaMCSTpvGpQy9wfZdV
eaI/9MtaDvWmaF6d7Z7Lq4UfI3OoZiedEQE1kHQuHoWy8XKTrTti+URiczMDGDSo2ZAOS7qHiFg6
KvDrPtj39XsesWvSLhzyxWwit67Q7MhG4SBqUn/I9fX8a++ptJAcjezl6yFwVvl9ps2smv89fSbG
5JqL5bqOnRocGjqdFNwYA9Sph6mRPpPcxrFvfp97GQEafqia4x6cJM8BgU+haQFqg7oFO4a/PeSb
vATE1mais8F6/KNuXXwfHnkN3eUW9/GPGvexQXPEjj5pjtV5nFn2G3x3sBL8WWxW25+aJj0dGErw
BSNzhK0bdnBjO1B63iJvH0E0g0+ed8g7LqCXaHTbuhQAtc+HltuL+3Hsb6EC+9bOGr/1+wIEyT7o
u2MOHaLNnQefLpik45/g3DowLZ6ehzvsuOFuSX+oja4HvAP33WsacHcYAfzv+YBD+2GGDu58yp+2
5VvH6E4GInLUsbgJ3+YG77OXYumOGbIUtK+YhOPut+VTkplZH0lVLrtiLxK6sM5DN06z/x5DJXrT
o1/o+imzLYYZAUiu8xOUhp+HGZZ16Equb4S4B8HRPqZwPE6FeMS50CQnSsvpAHJ1QXx+sNST53X2
BkBELuxUyBFhdD5IMPg+TmYjZuDKvTpMRE4WhKYTLv8zK3bJfrMr1hZToe2tCdwHbmXMyYP+0orj
yXUDZtSUlKEKaiob0mFBCi7EtKdkvnuKTQt4jAAvCijGw5fvi8vhKRtB6OgX7jT3Vsn2Ptk9mvgi
tPdmxX0LoYMh3hH+7HrG8ytYVPEele8T21SCy0uolndR6lAumkaw7DGQ8MODdeSdjZrfZaWZ4tsO
drAF5xipKW86FQgwwjDG0/luu8fEeBCe+ClBHPfxoidRlz6PBuC+teRMZ7HuOkIMCiJeYhCzz8AD
hBI2FblA8tlNJtAbTMgX0GNa2ZPJqHlIOppKmCoVLMmPhu7aTkabhsZuFAyYtUNjaI2jVd3IuwxR
3gdpcAwJrt3JFgRpV4Fn0Ezee26zpNByQogIkSf9iGbRXfGUO9YBcG4kWIQ7NlkXf4JX6wPBZlll
Vj71Fg0QDA0U4eGz4+abrkCaa5w75gtOyTSs5A7WQiPyxCptIPNIhSZR9CZvCyq+np12XN/QEdJh
igG6ePxwah29rqnBPSsUm1TehP7y4VA80l1b2KwPvFo/kjxKHSRVvr4/vgP3IEaAGacxeBHgAJsT
97CjEyEQkXmI0U+AnCqTZ53S8UgpJCz4hfx9xojpOZQTEnq2zkv9MJm7jhZLqe0lfKH9C0bkgqox
MuZtkz0Vy9tsBS3Xt/XH7kAxTGFTF9kpY1giAz08IS1TDkHGkUhoJ9jUBxMYa7G1bEsKjLmRFVgF
kxAc50ux+l/23ry5cRzNE/4q/seO6a5imrjB2nBk5FUz1VtXdFa/PREbGxm0RNuskkSVKPmYjf3u
iwegJEoESQg85Ox3OqrTtiwLIPDcx+9Jsu1cP0WvwX2y/ryOV+uPsd0NQ3rwI2GjiKgGx5jCEBNC
RwrzW4UkaMrIw2orXfquV3o7CQmAiSZ/aAMcZrrYFBRjLuM3Gpe1NGtvN2AJoCPugq3/OiKjGKHB
4mWm+jjySbKfeOVvkeXSsY+Vrjm9VPFmfoYWD5vhJZVMYWgU1t5xWAOPcwZ5NDKgijbj4xwHp7jp
+7s4ndlxtQXtSdu3zSqM+kqjbBcKYJariQrYllSWTMSiIbjCPo1UUanoIQjROPKWEGUdkUhcVSfu
UklYjzdZOyqR+mRAHM+0KmEAUJD2r08Ve98CwHQwzRLo61gH83g9eQgK6wZcMjuaC7ggiI5xzFiO
IvG0xxv/kWhksQm0fqvnz2Ds1e6dVnIPqV8xQSMlzLNNnsDi9m640C8Ad8KSVQKERenQri9UHKkT
b/R9pZ9h2Zt4YSEPez77bFHnnBGEXOqH+zn2Bl0PIQfic/2uz10hOHhyjNE5JF7jEAMewniXvv2K
+m4NKrBfIMIl02kiTUrSwbz4/PhnKG7XzQXJLNHbbai5Z4AjQKJxCNXFOpUYKztEDHdPFYqFm0J9
FLs2iibBGEEEX33S2KX5zU/Z4ttLtTxW/6h11L+wkvqCJKyFQvXtv//0m0WQES47uY11Q7qqQVPG
MAm/Qj/hwAcranu6kpSJy23HpWx/1DUHt7FyNNXWVjU1D+BlStQ9JrhK5krRb2OCXx5WidXIE8yp
h9VHAk90giWYp88AE2neda28mFhL5nQHraDhJmpThJHbhAPXch+lC9K7l/o5ywSQxnBPx98SlBXS
aYhYI6klq1W2oiGF8p50Yu8EZH6PdJLEolFElS0Vuoks8h2rFVlESjGgD6QNAWUUFKYAvG4lOw0o
THoK8W1v6TCGDHW5kgPmEZMDMWBr7TgbjfNLJXf7AS9H4sAObMChiKafVORzngcfP/38w6ePQXFR
ic5LKntjj5lZV/5EAL8bc3ymu6JRP5JCn3Reh3CCoy7KoDSXPL19WsXL3y1DmRCDNppO/QElqaTx
hwuj1iDmVMPnRDdo0K9GBlIWiaFEwgFXBg/pVAnDp3i1qMGfgEbybjna0minxSKbwKqK0Nfp3D6l
VDmEuJfVdL2BqT2wcjMHWC42joQPB81yH17pdqyn9TY5wEVE45l7m6X6PUhZ48ylj3WSFWqQe99W
gXxspEPNkSAEs7kR7ke43mdg4NsZSSjP0UPo+Q2BDkmvK9UPgWbjUVO60H+YaHB55TSk2zwWjMOr
H/ABNr0PzZ/mslOpTAPGTvXZi5LmybakeaPPv0CcSmzmMSdoDKEVCUbOaxweXHf5ki0odVASzwaN
P5Qmy4IksdSNRQz7tKU470BDJBazH/cjtc504jArlIp+hOYWXKPOUcaAoEn7D1JMsvltukj23Rd6
THxaYxwrP8Sr0sf5fpPJQ/Zq7hepJwLoHeZVJFxr85l9mChMXbSC+LSqDtPUHg6tNiQWSl2HsqPa
2IL1WVwJpZfCAThnsYDYPCRUzYgmc8yNST06SHLxiH9S9Z4VtLktZ2+hxPfmknyA/MY3EDEOkj83
6eMl+XiJ8bbDaPtxgfk89ZtvioXM+47yJd9cYrHIFon6on55ST5d/Xnz67vPny0TzknEORop+I5D
fm47zHrpEURv5Wj015jdpIN0oXsLYPtMpNAv810Vf0cCaFoL4IRFj36wCS7pXtq3+vt//P3Hm2z9
kKyWgBFubUaB+B4ZKP/tkP0s6cGm5CeHKmOfnPD+aspasXitpgGDC+i0ROIM1KqhHLafog2il8c0
m5nUaLyYBuUUigVoAbB4Bkjp13H8Lk28zhpxwhDqCpXSR4KytPPKOCjzWEGBIhHnqS0xSc4m5FvS
dJj6ge7O03xyrPLi/GUx2cqrarsY1nMiIq8q4FdnnHE8ijPPhoiulVgyX8eroCCYp+Q2B0ZsLt0n
Spz6FDtqgilTSGBS3TVsL2HaRy8KFQZ9bJtedN4qWUAdPXDMCiSQPfqENK696BayuVMHqQsHlOJ6
yGAb9bVkerjj2FZ2srqpsaeDvxv1+otSr5fk3TcN5jR5/02hi9UHfPPmzbX6rzb6YTe7uQDAZx9Y
VhMDiFfr/Xew2ixWOgagUuCst7LR4i7zMJJAbqEkOBqe0xxZjPmhDnlkOBAPxyXxoYvPERVIKi+u
u+wHOrfJ/ghxcRabd6G+7ia3KqVuvgEuNBaU1THR8JI+AFoWvtJwXbcJTE0KbrPNYhrbq6G4xBcR
GtZ7dOMkZX0hn9mf7b68xZkPGRoCTfDYId0ThN0HwboMG+HxLc59bVh9ZEHKyC885yHcSORTpbWn
/FKmtpkH9PA7xYc3qAqyjCViryR40TAXgkV6hOw4HNsU7VEc69W3Vsyv3hb0Ben8vq4tBKbIIdKx
SUMRwBOMfFLuqzrVe12BdAcKp6FhAEG7l1caf0+TMN1GSf44f7BzF4bpbX0FhVqeMbBCeCKM0SAu
e5mYnucz8NS3dn2TDoDiKMy/drODcTJiua9FpDfHEZSsVRIkkl5ZJze9t1teqWET37rZOyFXBrbm
RttEV7opofje9Ito0r55bwRPBYKbX1BBKRpw805Km0g2JtM0hd1oBJC3nbIgLlNIfCzpFtuMWEwz
wkQo6Zhn6xreJERA11qXrRW1DdoZKACbND7oVEcA90CidlmNOIwgG7pljwsZEhKeLB1/BbUTN0Ti
1MUi/LV0r5hIVEEY0N22VVvLasc79ymKMQ28y+ldkCerR0UBcR6on2oC68pUIB06VtQDfNEsB+0S
pl7zi7ELvhj7+Ms0zSfQtVrTMqNvsJ8KVds0aq8B24plPgPHeM+fhuoDxdVjqBKrIqzUbJMLRr2w
Px9SWOVlh0ASKIG+67WL8xwGJ4cQO84W09xeHQrW7gAppbKoW842Gh9w2wVQsJSOj+jWxPpKYqp8
RKUtXlEsRze41sdyKPKDD3K5Sdx4k7ByiL9eLUEEoqewpKGqMkxilc6gE/E4r7qs9oopW0qEvCeP
7ADfqqm2RNdVyrBT8Z1b/83v8WNcJHSUirTLARjzF4Wj+wbATn34BlEYeUOwGZSw9cMqW6+hfk3H
BoDstbo5BFx9o3T11fatNxH872oNyidemnJ8PdB9endMY5GkMIaZk6HzqkhgiYg8rn3ejbaycB5F
Tv1PyI5EoqMM8d0a+ryUss3ua3A3o+appkPp3ILALDqXShkOHXOIIiSQiGpuo3IZUhnL1Cn3jsZS
d5ASq5/bHapjdFI6p+13ki8LuPYgBZW7qIF2EI6zkdB4V6j4CZTf6ZuqdojAj8pLXFgb7yKm1lHL
oZ5XKtLA1VmEgjLtkfR+2aV7qF57tXyLQtMXbYbBQ31rqr+6Kah3xrKtZFWVguIcywGPTl/o/vyq
yRZM1O1RKn0FfbOSPCgn0HpyvqR7PYnAd1s+HOVeYBILlyHuH0VDnfr/gMnCN+GbKAylIDQUEvpH
iaz2WiiR2xGUwtP44yEgt56ZJrAb2hvqPAbEYfCspALqVQcW6JQQgkMh6kwki1IGAJbeD2l7IHA4
6WIG3TINORICNdbSQ/qWE2K6gtjgxgMywAS0/yyoBdEg+IK2dKmg3m22v1bi3OoCEHHC0kYuLLox
rew2+lOnPMo9N4SbCVR7OkWbxzIBgVLqLUCwwQZgDguGrwaPCOrghUxm+gI7DQpBvYyvotQNqLOe
Ku8zA1q0zgJdJhHUVfILFjrOTPCnzdPrTKVwDM658CU8OhzE9kxgkoAdotu1j6O7zrpvPgBJhLLA
Wa8HsEritckKbBbq+8mDniFnc6mx0INGBicJR1rgjrOY6o+iiIGa648L9BG4kXxzO0/zHG6lVOdg
r01hGu1gVOegSDntHl2nnC5xaElFybCLI0HNWHoper/0zfJ+pWzEfR1SkSQF4PA8nQTb35s4zw7w
HJ7QPv4BwczysH/rdod1AUNwcmg7DZF9HizM0MKdPQs9H03nqtz8CRhqD/MlkUC8J7lwqIfe3qXJ
bKqdLv3dYzzbJBXlRCBjjcKRohBUhMhD6zY11h15KgRgjaSHo1LOhCa6T3oPHPclXn+prwSTESRf
o96sTiXC1gfiq5qICBXl8IjJkS3uk+RXpcVQX/9IPuR9c2VihELHzr7+ImIk9FivZnZEqX6hdBmU
Ems+/VbJpcX9QVUCBhx+MWRMAaA6dJtKkU+C+k1FSflDtplNv6w2i5tFdvWnnaROgOPY9tNeTfLl
jTY7FD3+9ZK8V1/2K6sfDnpc9M+h+aY6txK54bWeqDjzZPXuHl5/iKfZ08dffioKHaCwBwyZ+xVU
IFupNYQZRVGHLTURQ1HmqZSRxP0by+1FiaA3wVjaoUO6VJ4LFHU8kiGc3/psPyfK/o9GO92W0vGa
I7e2fxBlIeDobHbkJNPz+WqsR0o5aP1xmVW9M89WdkZFjkC+nW1ZbB/FpC7LJzBV12hphgEHt9nU
WvbFdGwY0RGpozyoyJ1OEBOKUBjrsFF7AQXg25jaCTvSH8zVODHt2RBocrUNGZHCL+91Kk4kj8S4
zHeXzsCxVGaecbisdbAw7pnjwfUlhBDPET/wiRPUVMQwqIgRlHQLxwDbwX51YKoWzYloOA1+LlXS
FIMAWBFKxqXkp+T2D8XMRhnn9pLuiHHHWr2vyUxvtMvjOK43zSkjAyTHe7BRGyeZMKUFsBjThtLu
8J7uLfoQunr5iBSfzG/VyZrCSyulc5BGYqQ4FAnJmL4/DaMxbEJitwm5I3Z06+MWt1ettIGSPRL2
om8B5HZbDq7sHKPbzBiYSuxSN7ucJQLWHOniUilVKUVHC+y0oyCvIxOsSwZaYAygkZrR/18ptctQ
NOo1wig7o15LS2GCZKG0xwQyi4vpFpetCZMVppMSzEbUbsbeLOr/4s1zOktrwCsYTPKh4lXFXdoP
2QIEG0loGh5DiVD70DEIbLABWfaEtmAQMSdX/islLCSVr4TH0sVDAkUqU3PpduAVhB0nE7mklSw+
WoAslAagAxjJLi6HPogP7hxhNVChYmQIj8whsKT1blnG2KbOE0joSHRWJfaS5ANqMeitDGt7EZXO
CgUZ8vnroFIRpjABsCe+KIqI7P3cSnmMGd9KntfJahHPGoZUarAitwnow8oxO9Aw1NTwM0gsRoZx
BEwN4TJWtm0r6ioXF3jE4ISnYMWCO+K5DGKtGXfB6hVE1BGi0Zd4sA0yUETKQ6Yje5GNHd4USTpK
ConZr4F09OVPFHr14sTMPqfRgCRhjZhAUNwNUep8tgcW6Jy5+sM+YaeMPVLbusA+PRvug0MZVp4S
ez1xkDYIAJ0hfG1FAda7tRc1IMe5AoOoknxzu+ufqhsfzlgPia0tjtduRI5Dqgt6MwagxHopqm+v
UnRrs2nhWE6ylmpq0AB3+YaE4gqK0VzrzgANBxMme5XpHhckIt1t2TFC25QcdhuJPpSAbgOKRzCF
8F/Nef2uJgZbdV0F432R4I74isBVNXaHLpiMzmJN6BtosSaEhs/kI4uqmrnrnoXUQwCM+EYZsYzO
5l0BnOgseUzsyC3A9BSN4FnsRrmZbeX2tCTTMDJdmNBIO4MQawQ+TNINHpSrPrMXZAnhOofdhfWn
ySxZq8eGqb1Vvle27gWSQ5RO1nKW6Rmtjx5Rokigt06F5uOvwZOFShuMxjiTCqDcwelUW0I1on0P
chAQ5n5ZwllBEZ0eIrobCwwAQEFmftnUJIfULpS1xM+iNZTJpKyMZrXBdL816S3YpwdL/GpnpEAp
KZ/KdOtC5uG2LFuMd+wkU9QhXFDmU9fmNVSY9LxS/VDh0Af2+WiUkEa10CAg5rwLlIureX5/Q66s
MOscQ5SbSB/AmraePMSYFAiHgggpCBO4rikvZGJ8ua2xKq0FrRApIOdMXj7ns/UeL88jmylgwDce
M1hQ7LC1+hMjji6oRD2aIjs/dGOg1ZssEowHKYbpGAQ6uO83z5b8LICM8PHj5vUobUxxNT7DOa6V
bMl1weXdZqE7EPM36vgqQWWl0H2czm1fqhKVAPzwRQ+os+uh0HWI5OnWXQ1FK/tgtrQTNkMAT9LN
+s3+SMF8M6CmO+lTi0xJO2ZGXUrvqpV3eMBCP8tqfEj/WAcMKu5bfemcL3j2QdwG3ZSQJEzgZuuL
q9/ifVdnRQYpdzvihJxHU9fisEtoDWFhf/3gJUl9xH7aRK2jFkzAh/DRa9kiSJ7TXAu66WY+fzm0
EHWfPZJK4tJePnySVz89uqA87Pjp+Z8bdThHEVoDEgCJTtzx4989JPM36/Wd7WRQ1w8vjQQw7uKb
x/X6eCXlzjMvYKHqHRyq+N0dyDMEsQt05pZSEwF4fK8o1dcMfwqzghDrQRnexrnaC/QiBrfQjGgV
QIBu0AfUVjmUcSy8jTzaxQfeztP5Ibbx73m2uCpiHTdFIKQSDaIXjCAanmGr2r65VrKhZY+K0BgJ
B4CRmm7MWSXBLoJqHyAp+inYOfmE9JSE51I+uPU22QXDPBxRH2e3vwMEflNbERmk9crPvarfJ9GR
HeTpTxnRULpUgOAKzOv26lqNCtb7qZgmr91kgiLAaW9VVx9NkBybVOwxaSg2Ruycmq4lXwtF2T6G
v0vq/mCQys6gLwap+JRKHj+Byfqjrq3iJf0HQ49tsZQQWt34wJWgdoaSGk/Iq6rCoaqJhGfpvfhr
l2Qogr5HJtBIUqa+wmrESG7+eB/cJSZ0ksySOvBBhJEnguwrYmjRES1ox8+pdbAn55EifdY74nfN
uF9OGZMjE0pWRx0M+UFknsY4BT6aVT0TqMbGZ3D+CnvUp18KK1MvHBLS7N37D9/DnanLq0CsRsSv
sKDCEOZrsH5I7gqzvFSQOc0mdpgIBtGe01evGbQL9mOe/pe93xOgdIgMzyG7qpOc5kBOhVltGbzH
OmFDndDIVl9zgZEeufUKsNFJxH2CAlsaKcWrC2ox00+X929RpcpUgAgh48pT9ctGpRtCa0MkRxKr
9tYCAROx5TnKX45P6FCI6YCf8jLoADjRJ8t8ezk39C3J1xPwawS7Z1x30X4VMnLMThJvIQoTjMfs
SlqvaptCwXQPx5IiVq9G7cCrZGB050EPX7A6D4zRc8qZlnALwYOU2xzUDCjyOszomCEZSj3gc7j6
XtD0PmEBxcmAic4HYiAAf95BsdY4N5gr/0rKPmAyD1Pnmp0gdl4Z9KiTIcW+b/7PJcbwgvry3Xq1
Sb5V32h0dniB4v9bqfu7iAYgCovsMxxUGHxgLaxg0NFiC1IHgzYA26f8m+Kz7fM3hOKjsJMTaeah
g+1SAk/RIKxaGU8z4OQ6zOQhOrCsVGYvR4EeGzQmkT0upm/iZXqJ37uTWxRFFXpjF5R3Obm26zrM
95tSBXnRDXTkuHDJvnLVc4fBlF7DeU5bOZikq4mZRF6dA4kp7QrW2roytixNYdLqKODJ5VExRc5u
Gq/jvRFdNysGDeIutVoKgH4c5y+LycMqW2SbvMU3gciTU20r9pA1+lYXWfmsgtuX4Hj6jh2fmV0I
p+wn9p25tZkvYQQR5IotPRUwpgL3vryfd6Hu1IDnlS+2MuFbgEQ4fcdm9CWcQqCo/9HMZdKHYseb
hcosj3s5EZNRWQ1f2YAQ9U00Gr00snuLi6BkJ8HRuCxfz+Z0kM10io00zELAFwR1kQqgOv7x9x/L
OOzaNN2pFLi5bJWYqmF9kdsqSmvaGHAMKOn/LpWRtbs+tYcC5i9bzF6CufK5bb3CymLmvDmP3HYq
B/Ogymew17h6rmW2akLrIBIgsTvRlJPt3gicLIBUnCpp/W/GbrtDsFGcRxC5mx0g4p3wQ/CoQPQ+
UQEGU7vcigXGtBUs5gFxilz1KLqe0sUU6peWid3RlUy5Th6MWtu91N60BP2YF5RRLznl22UhhxED
hQsPD14qq22CvdHAMl0kY6kb1YyuNDrVTBuuGtFEOcdusHq4h6Z1pMxTn8loAw5/l0hweRFxwQnu
6RSaKL6uc506QgkPrxPawtcAckB6Oqm2zmzSv8yu7+lcrpQY3KIIbls77RV5IcD8k3BwoeEA2okF
VSJ6zHMqFReao6pvpCDKd6B0QCOiVEdWxXLVgCl9+MEOnfMIDWostRFG9eG5zhGPZOvrKVUNhKAs
fuo4F2MwKm0lVgT2VydGUoIWchuPySrf6FFudTYHpPBRFHpdT0eWwBEfZNkexlrgCIe9WD5u48Uw
woML8KbQAMFCY7D73cZxW8bRMxcOsXmblSXVCQgx7AnYRUGkjj48a0ApLzxPYyG3DRRBSseG49sh
IFO3/lmjMQJDeHC3SHisiAcUnrJTJ3m+2sySvBHpEVOoIu4kz1udVcU6hfOC63HHAAPLsTa2H8v5
AMvCQGLub7JppiyAdgqPA2sf0lzXJ1/yBPP8s8Z/OUzTmUnNXJ4kgk4aGu2zHyZ4R9f/sHvDRLZP
3uOziR2oHaKjz6meIJZjn2Bpd/ZLderpGTDaVc8n9jE/SNcx9xL2sBOXia7oIv5u1NX8+W7pfuxU
p58HT8otv9+a3avkdx3MBsdkM1vbAizqGIUg/RxjNjc25PK+0k7KYexbJAfKahiXJoexlT+oN61a
4ukCuw6I63TqVs6n9KwujbEOrHqRMgKxmvPSYiT5OBbCOrO8are5wXBhr8Je2KmpZsOBRY4jFnti
tQbbnSPXidxn0SyNJqvQ49PRgL6v03yx8iBlnctyQf6lFxQhyftgZmXjAyjEFnzN2iEYMj8H7STD
RolOd7VTWIYDGDXHbPBbOk8gUdOgcHRFFh1HstXKdtxJ++rP/nkfkddn87yG7GAA7gS8GBhotLqp
jKhj6Zehxx3uWl0GUgrwcEWPz1rqXUmn01mBrX7w6HZQ/wsckR4e+UQkjQiPRvMNkp9FyC9N2Hv8
tt7mgWHIpFPutJ5UlOt3n6xbiQQjGHkvRw6wNk98wm7dJt6yqmR7WS0ujsNBcpvQ4e4GB4NCAf5K
H/LqLl1BHiherV8Kxi2CA4BpaoMyxVB7znvTpSe0U5VaywFL7im7u7N0SonXE4d1GGgU0qGV3sMq
ubOrPKwv0ivOY7sAU54PTSwY96pV6kjUghsbaUwbPA5r1jXSdGPMOvF0NGiqpc4JSZiHS8Rw6r3q
IGvYPilerWigYmBes7IZNCmyaGCKbDB0pARMtz5crfVDupoe8qFeVw8xaa6xAalAxndVj4bUeLqq
RElq+nqpOhxG4QFEd6wBunXTTEn8NBBbhHHHks8mPmuReRwGYA5g0h8fhZOJxolQ1uppduqvv3w+
K2jVJfneoKt9BOObfEQVaqNKtbkxsXkW35283e+jMvEC0OOQc0qtsg8PpUZlz/0X5ejuge9Rg5YH
aEln8MHqpwcQFjI6OqPZ8ZVoT55Qk3prisNyGGWNwn81Tue9WkvaHyqK13Vt3coejkeKtdGrEDHq
6yvyJJvxskOYBIiGk1H1HWJ7P3PyEC9qJhVKzC6gmnTY2s3COmgyxmXENX31Lrj0UYDIKjdFVNuP
66fMnWQb25VYIbOyRXAgTRQ1LW9QNdEryClLbv8+BPAr05WIhwlMWkRFg8RAMnKEBu2d9K3hUrWE
UgZifArLJ8pFsO9Jx5nO0HewSVdAjfs+CXvZaqT19xh13UnSkJaOoIqTsrMkBPaYS+nanjPX9a3n
Ka9m0bh++1+d3PV3hvQrMMr0gmLRR3Wr3wAAuLv2EQlKhEq/tuV6uVmwWdIgLAE1P2I9r1sH8i2w
dloGFIQNA0GFsiPZmCXOld/Em2maBabBr7UHTZLQr5a2R0B2N+ip3rRoa/yaM8cpA64kmy5iM3h5
O3hOz4PKlptlsOMdLWzsNSQwwo8NqdibWgyAnmV0Ft1ka/guEbc1QwrFr2E4csDCCuIrBWJj2RZt
PWMRkBDGA5LQge2sm4mteDqKmroVvTVoA81P0HfxAgLAgbEEUb4Ifj2udiNSLRVCt7kNJiidekRw
xITGIhvVLvPCvPSx4SIJADOEjnHKm6XyVCZxXqOWYSb9GLdtr88Ktbg4S2+jNyYVoTxir4ubG7CV
kOPYBs/7bTFyMMygRRy/Aj7ukiJlVN96l8Qb7CkI30Q76EON/VQMfGqq4kNQjUT6WLnkSS0fDNZF
sb7GZV7OKmgOErGBw3a42gblE+vS2FLlEBv8HOTpfDOLFetoxJHNIlWm3w/TGyV5ifIFxNUH/S4g
s1U2u5nHz4BhWwmVYyWsGUzcGzg0UeO10E6BrQ6Xj0KC6bC3TyrRa+ibCAex2w7Hx0DM1byQHTtu
dqsI4vvRa9BUli58Rc+eQQ878lDa0IsjHfsMjoYwzdN8cgg6FL9oOCANI1OMYsJX8/z+QCSYUlD4
othgyFCLS50R5qHWZcMmYg2W9qQumqzc9LBjJKM3A0R/bWvFD/3KFf17qLuMItB5o06118cCCJr0
G5I7CGAVCR9Y4wkkESIkrNN44bfK/l1kgf6QCljRBZFDNI7uglTq1/l6tQGI86aQJ0CRYRyOs49G
MSAGaUf06k0rYSs61/sRMGYHOMhCw5rEHTgHy1V2r16aq+0Azs5LEE+nLvhYnFK/MrfxmCK6IIIJ
Nko8WwngaVAeCloFdxYdMxH1ZpMOdNlbd5Ro6DvVspeWwUMyW9qFpu6l8xHShjzyze12QQCbTVem
usM+GSSkyuAZoGM83fJ4nk4V7eVLe+RQWZ0UDUhkuSKt2wz6d6HBzAZAjLnyQKIeWNEgawXrVEk0
xYdVI09KOrxQPbkXi1AxQPd0cf3H5X9Q5qCFOdik2O6I0EGqL3ytP90AVB9MBrisUJ6jsry3sbZs
AMgxl+u3T/pCHYEjj0VvQyo9ggwz/brvjkZj3t3OnWxg3ahnjdmknxHjZ7JSj9pSmqzUmhQJWKlY
+ND6K6I/ytAwOciGihSOzkLydeIKKL6/IyjsleDdjz/+8k+diliWqu9McE8HUO6VroI8PrLjGRJ8
cuvKiXHG9UOsKCNZQcV/XkCZ27eqazZqqwdRKKB8kH3dfIB5H5i+m3TrFfxehfGi1E9dDd5Igr1Q
px9SWOVlD4ynjuMI5iO4TSByXVsGgaUBmRykCm9fED9tihdzKEcXXUaT5hrHz8QK1JGbSDGqBsIh
YcEYlWxw8bfFim2z1jgMBsDiK+DchrmsBJ1TfNuxIXBE/Q62fry9Pc4A8FPh6/G1WlpkoMsC9yxp
WkVMOIiV2cByjRaHZrkQDxw5JIQIKgRpixzCuVoih5QjHynVeE+AgRGEALSWLaa5fYYRVGLIr1oa
UU4HkEa7spZmYWS3JEPmOBaL+DCAIvNpNnGbKQHDO/npG2knK9xIVtB749SNQIbp3uCDBkjbezg8
fFsE7cWRUycOcaRlKM/aatWqs1HfuciFEphcvm6BSSLOmjMNZCA3za5jGJQC9M/yBh2zYQpd6DoU
mbSWe8S3ipgX9xXLClN84TYWxYcyDSQb2DXb5lonIkU0FI6jH3yOfGtcxLN17YhWAmV4Lb4UGb8m
ya2Fm4zTiUBCp7lBpIMgiSiSiAu3nK3yy/HnZB180BU26geLZGEO5YZE/Xe453i5PN62dlO3P9pH
YylTCKGWphHSK6wHc6oTIqN4L81dB0A/vG+FWBh2RZ1js1QHJEq3QiXS3xS/trbg0yVKSaAUj13q
UbHPlAHZikXvD95cRIg48Xpyn1GJjI6kOBpn12JEO2pWl+rBOkxLgGDAUQ+Ll/BV67dhwy3EgGLD
B9YPgkYsJBI36of5RkeVdeey4opquTdFMF3UhzwHBF8io3ZJeHg1EOsWREbDUrgdfA9EmAdt2TA/
BjdhJIPxg9HVu3sz4bSOVC2Bo5BHaGBZdjT2th66WXKuDp2dxfx0LoznYSRGtLco6eE8/GAZHm/z
NlQGrviTC/6qLMLmzjWnFO2ZmJFErGPYyxCYUtZAzkVfuj0FzLhjZ/4JeimdL2eJxVQAfMswHFbK
WK1CXbxAe7aHS/GFB+W1Qfu6ldoixzRG3Q7SPFPklUz/ma1m02sYi1J0RhqkoHXNREcJteR4KPtU
d2n+4+8/OkU4OHedZz2UJWLvr/aocAdLhKPBhQfFSFCBmBEeJ+lxIYYitnW2VvqjhtgAtAL3tvBt
Nn1poW+CXbErT1vSPKU9zeU674icbWouUSwfjs3zzc6pkvqYsaEZhgmBaFTvnV39uorv5/FNY9eF
T5DRYugTyfojyxfdp2Fgf+AVqOjXgM7PD6tGaFWku5romYyyxtY9AkB/Tq0PZCiIqYk61MZJaxSy
niQakNv15bW0Hh6acOUsi45LbQk9uI3ztED1OmqBMOltZf7IEY+7GQFpYi8xJcoWJagLVeh5cR8q
4+LymgGdhDnOrRrKrdLvaPGtUIggS4n4VyBBI4nCczL1XbKePLQjxjEI6oQ9X/wiyxfp3V0wfVnE
c8WL7Xj/kogLishA2vpuo4w3ECSKAmfTSbyaNiaAMenopgzVJMWwGCow5X46SBHMAKU4tlkRLnAB
KMSwKXwWid7EbU1BPeUId8vD+Vsj2qyfZLMZqMz6TCHhJ4sFE9pb2NtnzEWmGp8kXyohoYN7b4Hs
bg71/FWu3M5NfqN8qCtTyXCj6cJ8fwihYqAEkPSJ156kEViknHbB68BsdMJjuYIGg8SS+9AvFW/l
Nk8VheFJlTfdTaGtzkcREwOJFKfxJgJGhiIPcdJjvWRTvY4xGflZIs7xcqmO0/DS73m2qEg+mH4L
sBbdUrxNRUpe+R4f980eLoQW9D7MKJtxUhx8E/ovZnACHrKl2lSzfUXxbDWBDsFxQAiUI3Gi1RBk
zHGc7DkZkeLoHKHTv/aTu1UCV6l9n9jgK1JWJGI+iYseVRYXdGhGaYIKBIxtH30wKqMwSc56Rygc
ylMxmhIA93a1bkWXmNImRauRbuKpqz/rpY7eL86xH36ndlRR5xxmuPCz5bZn6WNi3lPZGQxLZlic
2wbanV4F3wtAMCIannmDyWTesEEqJXoNhEdshMdkyF7D5rBtc4L4NAKc1jsRyZCEYV1+kZ+gNG0O
nkAj5HytJeQNpTtMe55IDi2ocz9JLfwqGU/0cMQAPSYucZhmSB+i7oZIcmZ59hw0iFwMdU5EnF9o
WLQV4bIPsvbbWb0WCHXtZsTPdmY12wIEAcoHaK9UPL5NkC+y4B4GS8T5gz2Mq8zGXmp0Gnz9xjCy
bx72JDWDiZI5NJJXnwASL8lvfsoWoDtCrP5RC6l/YSn1BUndEgOv//tPv51SMSfFAFmC7gAdkvRR
gO0/Tas6PYswGbHzCf+GkgCoIBLnTsbakq+ScnzGfVlqbaNQnO2knpsUJBiuIUbnMPm1/XVdtXhg
YhzGHL3WWDblg2f2JeIR48hN/tLvULP8tZn6JBJ8UC0GxwutA8U7A6jRa1JtAqNWRLyxlQH3amJt
MzcWv+vSuyBdzNJF4hDhx9CKguTXT3QhIkMWLJiT3eJiVPEhwHYi0XlU6Q6ux0zqMUPL7N2v3BHZ
vD/hd5z410NOSDgW6Tfhq3c+jb3qg8lFBz8FybN61xbuXdfFHk35hh1Ns7nVFGdCceUAHTSVQ4Ja
uMacGJGD1GZWGUtX5Vn4CqryhtaJRJ03pSS8+jHO18E8m6Z3aTJtEFLCIJUYIWVxQDjHeGRtY0VK
wCEPRyKipo4b6OCTA2RDzPrJI9gAD/FiOktW+3L0u7X6yewVGpbnyTq29nQCysoAdfwnSm5IoNYL
bqLRUvBQJ9huJmgQAUGGwU3YobWozfzRCp/gWhDhMxiI6MFA1bwUdKphNkR8yKasgvssu3upa3OB
6caDYTnoG2hDchCEOw5zHEnM+dWza4qI85fFpAHuTICHjfFIF783ISBhUDOw1K9IpQdx1YisQmAk
LxmJQ+wiijlOLHBqGCg3p++GaLSUkgtNjGywMyhba8HTQ6p+msyyBai37BYUXW7vcAZ8URS+7g56
GiE8ysFZaUcPysX9N5uURGuZoGopCFHmOAblWL1tZusUgCxKi+9e0xouVXtbPcazm/Aqnd+jG/yM
g/tVkiwgMQgv4aOXnuJ0XZmciKFwG/ClhDybDKrv5QdoWhoNTEbr9Sq93aybCQrGSocdkEJ2IDGR
hrOhfZGmOrtbfYiN7W4C4LQlGesgm6Q6zEXqVPLo+fhE4FfRvPSUrf6omekXUn4qsld/9W0h92nj
tZI388To6qyVkudYg1NMsvl1RSdxGMfMWF+Ut5tk7WxMwETLiJ6pKYIM0P51Avmb+pn2MwphgN84
zvsq0ZO0jxWSgYczrrup9bFbhrRjrLHdwNhRWO1xYUT8ymIHav3Vt1w3+pLwnrACs7nBdF7eV1wW
jjiYXKJ3Ji/cleaecgY3clY2A9SA9gZZmJbN2Ti0W++JS4CxRH3tIpkv1y9meKiBr2w6AX1ToTxv
g2XlrhraK5Ey0AFKeNA7Oz5C+2B5GENAejIUpGBn4JZdS4QuuV9nRUWnC4szBCVdvfmV6VyroN1W
Xbagq0hZdG6Z33iIdl0lOwYt2im4pIjgYO1JQsBC5731umxbXPLDoAilpB24wpJ7LiaJd9IiJyxn
PDIlh88A7JAHeqPbog87cL1wbKWlvdP6weaKoR7mz+w75Rc4oh12eigYthuLN9M0Cx7TaZI5WM8w
Nq/b3KhThmZRSp2siLonNjb2f+jCguutwa1/0i20YELYQzHScWAJbR/itK6DThQg6Z0MSVqHBHrw
fKUZjKtUEVSRG7QNNKYa8T3si5aaJWWJwOzTYcDu4MPdsjY6rKoW+troOS4AowsZRXi4Z763jw3D
kFYnpK916x/4raVcPiInnvVJT1zrR2Pu2np64jMf7mEJWDCFkVIDZu8IDtI7seGLKIzkcEcPj17r
kof0TPwlWRddCc/0U5LnUBO89zSTxTQPFgCMVF94IUOof0J9rZ1Ah+nqRS04rRmGLbFjNYrLemUb
dPJoMeWk0GH+phDjaetoxpmbl4NZmq/rpn7DZFxMZE8PWoClbcNw64dV9pQHyfMkWdbOuyUSHAzW
0w5KmfslPHu+TmdbGqsnLxHBdaMeL6C8j/JdwE5qbiKMeryJ4gY2i/juzlSJ3b5AvDkJ1vG9ncOw
48gl7+Wn2WQzB6u8fsZRBMjXve3CFDQ13DtGPDpZgfTOf25TGus28Jzn75QxuM5W1/Fi8qBUB0hV
dcTBk/r9vtAV2wuZIl2s4UP4pYX3D56oHZQW3yySfBIvdYHXZF9MVrFkwANibIRTCA6KFbXWmTzY
+34pFjpX0NvZNG9solxcezYdatoZ6d2bhuRKEckykmqRLSY1GMvAKwSPfT/2W6EdNbPzVkoy/B9/
/9EOThf5YVY6VUEiXQX567vPn6+m2SKp1ENypj3OqJP8cj0Ne1EA1xD+J6+uH/9W+fLAe3rOxiyN
85oiR2XvUjqYhGqWS8rmRbInYtPaVw9Y3eZ/6ySPqVoRnue6f9TqCWuYH/PKjTLmo6BaYxtdMIwH
Xvouy27jlWVp6uNSnfzUX2xPTSkdeOkfPv9iXx0xGHk59PKb9d0XWW02d6xz6/jgX3CI8bcaRyq5
+T3+VrlfOeCThZaePORW89PxLC5xaDsN5Jau60qC0L1iI8LB7wIW/6ttaULDEZb+zro0H+OpkeW2
h39ooH3r6orpiUDDrx7UrU4pH2X1wKZmUDTC08+UZl9Y1kagYXu2KCB0F+xUPCRh/ry5JB/gFcXr
8Bo0IlvLsOHjL0PUsMLuc6/VZ1ySTxUjSVEyaRumdNIz5fFdUttlS4jufunZKqofmkEBmpf4curt
5vZ2lgTTVXxv3Iq6iDb4oF1CjI7TtiUflPS256gpsJbenIjNRmY44j35gbYVG8kOUcfGEhsV6MbT
afHZdleDA5IU6S6UDpfazT63rhlRQPnvm5Ua4xrgXbhNFbCf40J5xcEyXq+TFSS1lSeVLiarBCJ7
8ay+llACWql4dWI37Ch2cegjM4pc9nW2gC9faqMdRFA0hKwFPrMGBLEz/DOtq0XQufns/rGKqyWo
Z6a0FCnZzOcvMMXwra7MP04+R+A8dPn8/M9NvDoW3so309MmCKH97F2ZLY/xbJNUtw9J1d44ZE+/
LjcfQYWVGGL1VRLPZi9Bm02BuBiCzkkdnXuFEZ/I5PopuV0mq7vSs757SOZv1uu7Y6KBEDKJhr/R
mmdEjgXDJ59p3XLYaXIO69USdUoLs5OeUOnvOVSXgQPxaA+J08ixLPJo5YcU+hVedtWIwe95CYsE
Vr9N7rIVBCZjO1yKZFBy0vPKq2Q5iydJEAbqaLLF1D4LTIe7m81XNpAK9zZia1S3rst2ijv4HCNu
PEbqmmo9hWrtph5VEiA6y4V1cz1qbg1m0UWsr6ODdsdgmiUwGXEdzJL4j8Z0BwL0Da+LO2n6Bsak
lxWggKi6BIIFpBdFlJshFtkEEqiP6WSdWrGTuDLFJOuZ8nTvNBQwKJqDh7zxu9erZBFDSEBPY9Pv
vkFXmoaNnlGUF8/UQv/2eb1KF/dvwMn5oLypD9k0+bfwmclv1T9E//OXv/wP9WfXu7+ruKwRyBkS
DUexiluS1cpeXRAxqmtrTriFmnr50077YE9X9YM0T7xyy7VdYu57cXX3Zmr53dpqWafZjlRILqgz
2pXB4aW1aFeUtqBddWO4PpmmkWeYRu9wgpLx5Jn1Q1zUhz3F+Q71ZZMDgodpp9qWJ9qnMSGunYfz
n/X1f37+fN18mljjj8medGYR26oPaBGo/w49THK/SVUi7HWlWp2JGOrbsVksH8zM1unWhJpsLzEp
365SMJPd9SaVhg6lXPq62yz7I022WG12G4hirlswz6HXrfu70kcVmN9tuQRA5sAUhR635M9N+qgM
Uvw5WQcf9NvUD+q3RVUU/Gq/yG9qdfOmm+/f/fCjeed1la0IYFCTsCWNxDwREyqHYgrDb4rekGD7
h4H5y0vy7pujfvhv9vNbL8n7b4qmefVH3+TxI7i2utFOafZL8j2c+CX56FIv5tB8b27lT318xzah
0GfWk2DXCP4F/FLRIwTFraZRZhlvcnuUAsLQoeu1HVXOt93b0dke03L3c61wP+Y+QYhmljw6RHiQ
bKHLE2+MXEJ/qQD+RCAWQoF7Cv9s1W+ucVdqUWMR72m5XTlYTaGfdtl7j3xUl307iEGlW3hl30el
nMBk9R+//WSvjIwgecEGO7DDxc2xpfN7Jazz1QTCDxrm6zsN8wUyEIdKGK5W2Ur/zv1YrWEIJB3B
cE86z10Qaf9StkwWut+x2Lw9xsN0UGKokz4skDykz21F/xv91n8DbVm+BuWdheq1Ixd5exFlG8dW
d8mHO2HXIuPeztS19PutOimwXNKpUsjq6Mzf/ZgCEeMiuGZ+c4mJeakQzcX74UwvsVTHHunb+PTB
/PLDdVwlZKgsd0v2+R2zewH1GQ/6puaY4fX9A3x3isxwOneBBzt3J7Ghx12jMcXGoWBwFgOivz2i
Sn5OwuBqh4vgPhdhtySEBuFueiY+kLjuyZyAKR6kp0NL5rfJVJvtMH22hEVozVFTFDpmbflAPmjL
fo37qd+kPcxpclMJet6l2nuNZ2/yJ6hC1vhv5rANPpxiiaf4JVcnD9dgPsxyCxgAkWU07D3YbwHp
YQT9knC38687fXAkvttN3rokt5Bi4vTbX//j598n89nT9CN7uP33/+9l+uH++X/+9vQ4wT+/xP/5
Pvz1/uam7QIY4IA7uV8nXkBzdwjlsjWoP8bxH+3y8PAXypEFU9tAUhkLHMYDafP7YLDjU3L7R7o2
8bdFstbtgub9hSXvk0g0pTbAXyEzNnzTTUoO3beod5GWLqBO7iHYwNnO00W8toOrUm3Cd9YJ+gqh
1bpyo9elm3lI0vsHHfViIVjn5pRxGxhSyzFjDIVNV5PZBuoCgRKWloNW1p6SWWHvB92O1050vc+5
ZZZln4dsU5B8xe7cOVqmdfov7TQN8UnlFvauHppbZjlrNeeHP+XDLY4vl5qLSks84yKXkBB9s4td
BOE+RFC3m3vNeqT9shhk+p1mlzsc5F28eQ62o8itNljUOkpvqPuq7M1cGegS4zJoB9gILnVu22KR
wiRTrzS6F1L3sjiN0jztHHHtOYb43OeID85RbM9RdDxHTFj/9Ejq84Ls3OdIdueoQ5H/6+lB2VyP
yep/H/nApx8nzJ9BhPbke95lq3kQ12dZI9aaZR3sNI+2ZogSXgVfVb9e01akfj9P1g/Z9ObZyMp0
sdystwI739zO0/XhL7R0f1bf6Gp4ENK/zhJTRgh/o768qAdQX3794ec3hh2uFtk6vXv5qAERrvKH
7Omd2ROqZGjBP2OY9Xdj5ukD9Z9yOdd1Vxe2DgMY8uqseyzdoT5/8yt1rvu/KGnIMhx/3aF/v//D
ysEzGBotMRri4DXlWM9dRmczYOq2eHzsW7If5tSB5GXUl96ETDR01TZXgwB8qo87d8ZCOT3jiNHz
EIr9VK8MGt+2emX7LkM0+qe9FXsY0Pq2Gt4ND9XY3nAtfawloqvEJenJWdxXrQWN1elcRP16i5t1
OkvXaZJbekcjqBZzqpTqQqpMGVwRY+gUUqXfIVZf08klGSTcXS3ir605tBf2n1TK61LYH1JBv7br
IZSg3pkGMOtMX23DwBXuCMhlPS5li21PLLiL01mmTGQ9bjJZ19XbIAodevK0pzXlU8dX1LZ6FXtU
SHkhuBM4YtvimvgXWQAFVollKXoh+fD+4CX+fvtn6tv9H6ofWgjBtXfhEktLog9KA56ZvMQfIM+3
+xLBf+B5ft9clC0FHucKiBM2yWlsVQx8ao8VC4SVRIp6Ya5VfK8hL9Op+hekjTVuijEMe4o8nrlU
Tmy4pyT6dhWIhUxs3teVMjzn8WJ6A9OQ98XRW4x9wKargskjKl7FntXmKju+gtzLze39lwKrwDJ5
KADTh72KJwBedzhzxC4EI69ixxPlqq8c6YTQ7ghPZhYZTDpQYtQ6Qkp9VsgZ6oNxzczOmZ41sdYF
ufaxOjAcTkRnLEhwEnD1SiMtuxftaSdLg5sOezMPMWDgRJRiCpLFJNPl27dqvQDBcNbJHxo115ou
jSLsCMXAm8GjzGqTl1U6m6UT4IPjlS6Yj8vgdk8LuOKHRL3RsrIQ4oJGvG/CavWQqOzlIgHLPp0q
mbFD51KiYzYNpsldrDjLig+jnhgLNLAHgK4+6F8X5Qs38/g5UGKlgkNY9NNRD3PnGA3I5WAsFABz
tHlf4fueREuJZPfxrfaWtKIa4Ic7E9AFaZPoGO9DmuugscbJhvDyQuf8MvXP35Qs+lykQULzyX/R
f5IszBf4FxpXcAgIuZ8+voElbUUHjFwQzH2iVCcQtu6XeJ/eM2ugAwNkg0uhkBiIlrC44E44tuIk
SVZSNbN08Ye9D1w6zqsYja0F9TiJU2nh0z8+BH/71U4NAPODzkkNSq85dWEJ25U8xqsX06k0g2G2
OxvBCl2uCN+p9VQ0X37+eA+6Iw9gccsjIU4cYYs7XitAWgKUbd3dQj27UxPUUHdLqLJZQt8Tfy5a
0DI9ryMPFOdaHxOGXQnUjzyp0U2mWD9QKiEweZC6GGUym6fTm30Jv9FK8Te6h2L/8jdF78ReZl2S
dwf9EuST6YS01uwTgSFG7lRQ1ULMR4dsuUWpvDwsh6fmzw/p3frL3374bKdl5jiQpNPzEnD7LnhL
t41ony+seyWLod61gVOo+HcbwzkYg+IL5lQldJoqBv0bFL1A9qCW1H0HvoLhYaW8s6l15BtiInKc
BtaRXqE+XtkaxW/s5gZyHD3ZQrT6YavXF6jLE2ekHkod3cI66tmLv3/8/cfDn4LkWb3LNEpBp/Lz
tiE5X00gFv1u1+ygyzXsGKoM+QkNJ1itVmg0mJvgY2c73r7iXYpYFx7aLCB8lm1HvVnPEAnXaSsd
2QlijqZix8pKABXlw0qVqwQ4BsAEUuf70IIwh2GiCPJ8dA/+evuleOnLzT9++z44nghAlNRklHQX
J2Ze5vp5Xe3g9zniIXz8igapjxrG+75Tn37qpt5IxKEtD/mQf2cZBw89zeZ2HQd9e6HsmxtwGze4
YenUyhvtrDXIGkFCR2yAjrImWyQF19lEDcwAJP0bRdktlNnUjrxDMEL7rI64ki7iHNo8L2lzux7H
WI8XP8Emr5j9h+TXiINOYIauj9tqJ0P9tBYirLVbuIAJA+c07LhyCzg9Myn8/NlODBwS4ux1qKkj
nq5XUuaNvfSQmBB2rM6s9HHz7DEtOkx25cs+tVEHPSYGbAp0Y7H9ioLEoCARklEvzJJP8k1rvk3C
AMKws1Gm12rMtlGJetcBehRnazmV0j/43IL4Z2Ux2bPMFC6gn6A1yMFscyQdrYPcoQeBnDVSgi4Y
8yCI7XAFPYhgvqQVJH9yQX3I+WjEweEnY6jIc6wFGJqIasS4ZHpi+gAPjiIsKYX68w40CrSQL9K7
uwTIZWq+B4/CCsHJkeJY5GifHMG4OWkjWwEcjjppwdPuNz05+BJRJcZE2GGH9nCqgaWolgwwA4gd
9S6zi5yizgLofTRMjMYEwBjPcStN7qKkzBEqvG5b8/Q5mRaAj9fpQr+eBBN1GEqE1qsyCpPrOelr
4T1BmOfWZnR5N9Y4nKDnupNWxybCofapfZINPVqxTRR+NSrSMmWdjK5GMoVHqscKNrEHOqT00ORq
bsq6A0ocgbgGJdQafR1xndjusLs2vNKnWHk7m8U6BbS0hQVlGeZkYEnPfkA1ljFGoIBOTMi40q+h
neJnDQlsFXYSgNQ6+Q7DiJVj0m+VKsdACSc5sc/aPtg3m9WKHAnDNyMevgaSsvOdEknSLybqfDn2
tI9y7DENe2f3TZ6s3t3D6w/xNHv6+MtP10UZpj6UIp6yRdzdouFb0RIYjHjqFLA8zbhwYD8iqePY
Th9yUuprkTw1mFuICurYuXHikWzP4Y06Bwu4Dw5p71LPMI+WEicIQCGV54tfC91a0SlYGHW8pEFk
9BmsPYZ5f7yini949+OPv/zz00cTYTtsPYCIf+FB4mCWPCY10zRg5Lvs6XIceicZVx4Sla+EXu1i
ll9gxMYRs35MT2FYPULDib3SvmwSUE9gwWeg5HVW+zu7ftA4u3wMantMp0m2LYHOA40raicwopQW
5lHvCkRjxzSGJ5jxwcchbdiOvd0yUjYDGToG0NDka+3sPYD7GKGlF5ruuaRkfC6y+lGM+RU7ONJk
WyxCOM7zdCCMwuXYgXxsWbEG1BiGtIV8tFswEqy5BVo5tARy0r3fxu5oGmUE62gQnHYgT+lCSVCN
mm5vTINyvHMajy30ZOnkrA7AMG558aYqWBx45VSikeRy3c1jnXMU/e/iNlvVZJIEDCFAA/O9HTKP
ak00IIs5hF859tKCTgOsRhyEhBSDgicxjEVYtfm2YqRZiiKizdSod+MPTuroiHxPDkLgJCSvUbqR
BunWLtIEYKIN5SM0eAFNvi4WnQWcw8HVgcZ71Qy1CRsNytCckYR2fUH6yUpn82UMoeYKlEeBACH4
cPLsX3MgX4Ro5FdG8fqm4SHOydj8bjUZQ8gr0uG4rVmzc8VxiMlXKNMbJHodpmybnAfpwhHykKmV
7qGIwLjcaCQKanE7kBSyY5yy4ULsRdhQhR8ORLWlwGIxyFVHQK02CYu8LdO+KXcgipWI9uvgfvz0
8w81/i2IimyVpPeLosqksRRfRPLkJjpvT7DAdCqHm+vJAktlPFHmRRaHB1ba1OHBHJ2cKXzLVk0J
QAxNOpj2yqZH25hD0+O2gtbKuXr8ajQW59rLIBTZdNI5HWm6TZyGFIK+/Gx0bafoCCYPnVPQtZKa
kX0/fP/3dz99qp9Qc4n5JSbPmCnjFktkH5wKIwmUqg7PwcFAF42D6zE3wO1985DpOmmJeFLa0WA7
gTbNhmr7pzEeUpStn9JJor/TRJbYI+IEMrT9B5+Lfair0FlYW6CsKS0rBHccl3qyiKtah6cpbYwQ
JNHF6JyVNIFtoBCmq+Bho8q7hHrpNbPNutJkKJF/PRLXzhFWi7M8jxY6xZStycJ3p06mbTJNkQa1
liE9F5G3OkUQQOuvNMIiGhoCWQCII+SY4tGeOCB6wMY5eL1Vi4Yh7VgM1ng/rtUpunt5pGxWsTWH
UkU4G8JfsewhbrJnEMEjlW0YStk75UAbemvETCMYIT4ma9vpNuqza8hSVVU5jULi2iMBFOq8XjG9
OqvKAegVxtQJRIYkmf2D2nM6SOgA4eu5n+MNN2JMX5J3yktElzCjCzNkEiPbQqcj5GkDz1dRNljP
OHW5A+l5B/aSc3SBo+byMTnmubeftTOeN8QmUeTUEuV+pNkC+rGDf3//P+snx4a8daj1wGdq2+VV
0Zh8o149OmDz9pvLD+IXl3NuFCbq4aEPjw1x6uA5Pt7Xzn0F4JMWW3Kccz/aZ1EA+Xhvzq6MJX18
Bfu5V4enfIxBfW0+rXL4IMlDp9Z198NX7KeIIFiulMW8Wr80hRVIZEbv9oF5VttDb4HMDXXMIAyV
7OWnP/s8maZxUXK8flhl6/VMOQYamQ+QmTVIyhFuwPp5fbV9600E/7vSMCx6mtlyphilWiFFlGRg
yONutiAQxdd9TNOCtqrkOe1dnu/oAJhADyQ1NFGMJm2e2la5KwZwGCH2P4fy+KWadn6MHYuVGkgh
3qwf7M2sGmKFnnLIbYBS6jfLTBm2livFCGAEsdeVvsLaNvCpndCxpA1bI1u+6DEts8ckB3Mhr0H8
Ijo/MtIFQdBbjkcNlPLOMiSfxItFsvqi3CWteL7sNlOLmuVW0H6qWrG3dMB8Qw8LYn+i7x6S+Zv1
+q6Cl8Ogkq7LJ1thY8IdbAzv9OH5n5t4pa59cV/ZuLggPvduSO2/klUWzJLF/foB3GZ7gSd0nzrN
wJJDFXjm2obS0iOAigR7jyb1lO0n4Jh6kbp6hPg+UcvMZrfx5I88iCGGpn5KtEU4yVYaM7No5ra3
n0rduXFGC7bElVUvTKv86pQUqMY7HpOCw1ZHAdwz7gQFVnPS5YEaTmceZJv1crNuKNqH1pnePMb5
PUCFrlbZqsVfDB3zAMeL5rPttW2W96tYB5FquAZFEl9Q7KF4f88NiOChCFTPsrBaXhFjGJ6JROch
47pDt7i/8/tdjC1E2gfTf+fsB1tjODD3qbcHR8dqAELLIeufPiEros53WkukhEcam+Dcd1rdaOUy
P5DLd7R0neb+ICZX/EZYLk9IHX/D/T2gWa1ygVAlM4CAWWSL4N3nDz/8oA8Gb6eTNZdaMejnHSr4
d7iFpHAd9U19UwS2Q/X/b3Zch/H1pQTM0Pc1HKcj2cfihistAhCIvT1EaOM5Gg1+ZfZ4itDxlHNz
nW2rVwPdplKFA98mjvjQt+nGfzQcMFDczn/iEoYFidKdibq7EscXBWl7QnvU8Zef8KXEl+8+HF8Y
gdEFaOgLsydHIKBMXhn3WZmv61UKSfq8yu8v36v/PlquEkey/6tcr9LJHy92AUrO51HZd3hsryCd
0xWH1oobQE7VAo0g5RXRYS1Qt8Ihxzvc4bvpWcxWr5iHGiLqhGdqCha+Xcb5OrGFDJU8PhuhWI7h
ajLbwLTvm281yUz2JPNcdlYw/l//++pPXBAOMop1Uql/ADNJ9qhrnq2EwU++pRMaIqVv2HjgNax3
upiliyRIHqGl8j9+++nHAIaOr+uKvEAyhtw3Kr6K84f9mO+7eJ7OXoK7bLG+iyc1yLrUcW6nfb0k
XiefZgkolp/jeZIv1TrozbNlUhuA7NEOR+qB4tyr/XgKGzdfuU3u75kYWg4iYb6iUG6/QcU3iG6/
4eYbGhZfo+IrqglIqBNhvd4zfvNsbRNVngpjAyuedpwn8h07znzoHoG8HGWfZU+7cFYVHp1LtVMU
hkonINzr0RE7WCbU4PCeHMyjMcaHdLgF1Kq1eJmAZKP3Qyv+XCUaGi5evASQENelEGD8rIN5TaEg
tKpiTjuL9nz9MkvyhyRZB7fxNJingHCmtmCbzkHVk0rPFafJLFkXwC/BdAN2mnrqePqSr9WVq5Nd
bPvM7idBfKckR2Dyyatknj3GM/v4JqLjzgN5gtbxs6eNmi2aokL9Px4XP/JCPj0LXnmFbF/ZfiPw
9pVo+0q4/aYQb8+k8sl8sv2GHX/O7q+w3P759q/C7ZvbZuFSIcC9pLgz/TnRRano2p06eBQpv4mO
ISCg1sWO48jBkRKvnkJRyI+UKZLHLxS0EUXHynVLNQjhI3XLpL+KJrAOOCOlH7cau4kyAdEi5EiM
cu+A2NqkFdwA5SwJKnsl+1Nym0MV2dpebgBdIZSNoesJR1rXC+Sjgau5se0ry5UFgh5TLonSPuK/
BX2DoA9DH4nvJOgJdkqeRR3ZqRaqVzZHMaL/VvF9XjgUGCAnL9fjwuP5Mlnl6sBr2xlQl5X/1VCc
SqU9LSBOWHHqSQd3Ziin4yerIjkJp3rH6JXUcLY8D8JE8RUbgLj9CsXsJWJIw1G+Xll70Dq0bRS6
VpLtPz9/vr5sE20kYoC14QR37CHaylGCGlADKBVEnSodwS4retvV8SnnKX65kWFY4R5JRMii/5ak
PpI0xP9qktSpfSKylz7nyiOfJfuS5+J1e2UMDLDhHmJ7PyJ9OYvhwZTvb+a2rjOYfWjHzWYMQcvw
6csdlw4rVwaqh99CMeT9KtssplVUBKqoA/kQxv7ZtosePOVdtnqKV9MA1rYE3XRxK0Gsy0M2F1+z
iL9q83pr1CIjcC/D6FgBKOl/GTKtAHR5TJN5q4P73Cm50nye2X1c6WgQUigjVnahfz8aUctiOrxa
qzPalYTpn+fttT9qMYb650J1Diuo97AcroaXFL3fadOK6IJhH497c7tdTPPgvb5bXbAflOL8u18F
OgVqPWcCqSN++hYmeV7pFVCvvWWMSCZk9IZKHkrOaVVLtdTSvEbLsyR42i1PSiPZ153mqzSYpjnM
xpluIVHW67pRyRxFfrfpIh8aY6AUGkyZx2N7lc8ry+3rIaHLMDRUFDqQD4ISeT6QhFc2OEDC5fCN
/RLNlNavjDtdzhUknSQDcUYe3yV2Jdber3TSedYu/PbPfRn/b0ofXeJQ/xNDMYV6E3wxziSU91f6
CYUj2N0pvFs4PhUOJoKyCxaKYa6iDUeFMEfkx6i14EZbMEU3njJklrHW8tZxR7r0o4fj3WVP1NKW
9AlkyaXPwz3em+6/6RbNNP2vGhXDAbyjpYXnFYmIetQZ52AShYZ87IY2H50UzsGWcA5WijT0O14/
yhzKXKjVL6GPcstn10soGNAW0GYBIk2xxTSF7kWrJQQgX1j4rVQ6yLo1m8Blw1bUya9Xh1ImQz/5
clAIEr980OLmR4gvHfpFRPntwYXA2EtZHyx0v0qSxWfTMq5+U0k2UzCYfUnkLlklq0Dxqr0zQvRB
fjtq03SoOBnaV63nhTCXg8t95KPEzNbjFcT2phmUUmTrIHlWLnOlgJHAuXU/s93NGG6tnBd8sBtW
gAOfFnZ1wZZNOU/Cid8JHj7fwlBBUDwnIPBU6jMvUEhC0ZWySS1lkx5vidTcElEfS1smAEQDVSo3
XGohW3Vtsv79vpUIEu9bNPQP8KsaQQq9Bhh7EaAPJYRoCFJvCxYSzjwz/OoZi279rQmzyZVsso+u
BEgzzkbRSCGP2AgaySeGckgX5VPbAp8je5cDjEoPh1lvHi/SuyRfV2rupadmrJq58e0xFEwxpYPi
C8bC84uOCpPUSI/LkBXAYO3CAwa7C6epyqeydHMDDnKcfHIyqdgz6FD0HqLeTBplcSyVIWUPCmCA
EGMDPVwDHxCGBuIDgJ+GdHD/yUTl/SsbwOOsFvFjeh/DmKUDHMNEEd6ywOor2Kr0TnOFW8zIjUGP
fFC6WCncOthtRKmnSHtMVsqjCtS3ihd0xN3WG0HUf6TT8+8dMM1/t3GeTmrxJzquZYsd1rnnMJZ7
uOTMCXLT0hcGMhP8V8u4Y4sp5tIeDMjmXBl3l+S9Lj4n79ulL6Iw35L7+MDqia/jPAfg/WW8fjBR
hVkSA/hBkM9q0nO46M/2Wq4kIUoLq2OrA1ygiGoC6F+3NOaOCMfKE/eMKxSNI2mRHVsm+umCRrw+
waCNS3YRjrvgE8itzWp2Y58QZ+vTzPPPkKKFbGnFymRUdLUxAVl3kycAbwHtZmqLVUuTaNBM3qcU
0/rOPgsBqMrH3bGxjOL8dq4hSpB5Ww9wfuph7qEzMdjXCdlHYIj2rp/Gy1rd3wapMhPzgFiuiUL+
yIsfT1wE0cjveqClEcSyrbiBUeVhvAIr/FD21Jrg4SkmuEREdhXKu7M7FASm7cYvIVe+kuDuaWr5
aMzVbYuOH40tH0yUECd9GYZGmiQ6WaK//8fff7xpt2DUMor5ZYj6V2H1ADiekk0tN3sJbldQJxQk
+SRe1mhl5co6ThhuJDfNPuolrbH+vPk//7d6f1TiPlXCfabL2OoEtK8Vpc8qmRor8cWO1cqkn0cH
n69FzCRZrq+XyopcF6Cdb37P3xYNjIJJZS1WWZZjcXZp1xakdBuJ0moHI6jHlT69Q1uinD3uh08q
M2WmKOgxqQHeBUxA0SdLKysxDxbJU9NEHCkcW/2d+WE71a++qpo6DmW2nOlmfSe1mWQ9QyqZv4ld
YxE1xlQAmc+ta9yBAy8/oktJLz+Gl+9D/W+k/32vefJ7cfmJXX6Kbi4/fbj89El9Vx1FyhF/JTuR
Pv78U3IbryYPikGuywjy5VLP+gJPaE4+rVyutNxeHs2ySTx7gMKC/aoWKwDg1wc1ArL1Q7Ja1iQE
EAAkUsitnE8O22TLlUnWf8wWyQ0qxp0cgkS7AZo1jI0QAA0pcdiJurat2TrO1gx5j5RXxzHqtNxh
rNGysMXKJMqfxD3IMR1atI8NxZCo5YM/2VtUfTavNP6p62LLuj4tZKeuS6rrIhn1o9fn8ewuW82V
WQid5naNJP3y76c+JrU95gjrMsu60fAM+pbbnpf3F7RAtqAFxJR4L4GX2o+nUX/PgG1BuFDxnc8i
JWX5R/Jym0HDkEZVy7e4OstV9pjm6g3xLNi/28YVUag8MZ8WFKvGPt6OTiFV61RDFPqRiCJNgO27
vivmGWgQv+DpIZ2ZLFFdX0SIsM6sn8MqsEimrX+m4e6u89Xk+hDdFEFygnyo4Hwq1mKc9S0wYWyz
Ipi1suXVbW5n7FgrBiK1B6+AxwCn2bTtQ3tr/zdF63JPJpj6Yam+/HCnHO2XbAM19glU2q9NAb6y
XSEVDFX4i6n6d5Gpf/6mXMLP5gPU63rdv+g/SRbmC/wLRZg4/PXd58+fPr6BJZdVgw8rZ5FQKdA4
5GDN0kvlmWPSpVmlfo5v/rKYOAzzBQB4IQYSXwZ/rFmA6oI49JpZAruwBP5XYQnSI0HWDFWukmZT
HEkpWOESKFM6sYOW38aWWqgVhRy54VMfb8eH8ohdaIi2kbqVtU+0qpBLBYhtkaqH2Bjk4lxoTGfv
tSBPmzwrJl/YkQ0RAfMMeT5NKSf8Mr/NZjolbKs7ZNAA5pIUsq2yhoRQPM2W65+VeKgPROmpkKHo
QHklcG0TAFPeBwqUKQi9Net4ZUlCKonAEep8fDCsFjJ11bODdg+n5MzxCsqUvZ+pzwnf4GuAwfxV
CZ5Z/j6evlvd5/bqHOxWOdm80h7pewG8C+gi1w7wfLpCH7I2kexrB+rVP9J1oH9pVq3t+lV8AOAY
0elLe/XQUd6BSmFyZLbW0KaBItDVZlYTQYsAsRnjHo/zfvYFHu3LnfKHDm94nq2S67vNQovn3I3g
qIT0pkvEpK8NbhapNaYMqJBOiZFeN1KlQiXC4MrkiBtZpzNLCy3hihWpoCcp0Y5i1If7dmvqRoXw
TVRuX1g+mMpOA0oa3MXqUZdVUKOI4y5KY5bmypZLVmC3BH/7/JvuRNKaatfgMZ1+Arvqx+Kd9nA3
ZW7B2faNlMtf09n0n+n64f1mva4z2KAvIOywbppns1gZMP/MVrPp9e0LzHcwpusTvKJk1BK++0PZ
a7ez7FbZmDW2CNSA/z/2vvW5bSPL91/hfpBrc2dooR/oBuaWKuU49k7uZiezcWZn76cUSEIixhTA
EKAszV9/+zRAiiIOwGajG5SzdypjS7Stfp3343eM8InOuYK6M+w9XIT963AolOV8mNB+SAD/fVPW
dYTVl2IK2a4SB5yGmwicmDKHKysjXkfMsCVhIkUoBzJ8Mkv7Gb1pnggGCv0qffwBrGf6fVc0PuKB
WQWiM7rO7gGPoHY0n/t4T03kVvYAM2sT9Wt2iegSdsLpdyQkZhDMpaMzQzwSM3BOhgiWExiB++bH
wyLifa79qIj4JOBgTdxlWk2VEN8e0RILJPRUnmc1tAD0aIT1XEUUTLQzvXo3x2pGzFMhhst/GDJQ
pbXtvkiqRMOJ1HGAPrQBSgj4tvGI0qxrSrmkEI6kdk/cKmqHO/iTPv+1evT/PUvKVPA/Zv/13U8/
fwn+/d/uinfqf3/59Lflh7/dwZcf4Jfv3r/7Qf32/j8X5K8pfPD9h9WH//yvnzm9/yu/oh/D6Lt3
735RX7y7jf9x95cPm3f6n64+/vL50/Y/79+/b1XFcxEP5PXD4UhZZzRZjzI1KdA5XvHxfgWsu0l/
2yqRddjwmVbIBHUlvSLpk1rx2d0QGYv82tLlUunY+bbqsKFjs1C5Cy45VPelub4nSo6YoRyesH8+
bWenTKAQkpLxpS2LUI5s0ffRCFccSER4IVvn9JsBeRAzDBtrdYcQME6/tfVSdyl+q0j/ZqcoN3Po
llMCSSMgfVT/7XerPgGbQn2024/6Et2R+ny/J/11G6WhntsQw5QQt9Jsf9yq2H3eKdcgrkxCC6F9
upmryw7rb73VGovy35PRyM6zKM7s1bcSgrhS+u//+PHP6jp+rhWxWWiHglqKmKfQzssddSFGkZiO
oxZ7QbMA1duoSvw8Xn7m353Eaka5qs1AE0eywvsGuXa9PQacLKiFU6pbR125nod30OmBCva1CBOd
vq9DuZgYYeEoVN7BZeCo2YVR6llccPqy2mzngKw8XaRVjTPRXZyiVCORzD874dwDYiWMhuhFg2Fd
Rl1WBit0JuOMyjAH2lo1+MTTOq3r76ZAWa0IxySMxEgRJ8qGUOkLl+AceqXQFm/p+jRrw2OW18un
WdaIArVwPfC3B7UjFrHZtOXzREOj8UAsKJtfV+6c4QZyYQZ4Y827sxVcGeA41rvp3gzT46/5CD5H
5x21XA31A3P4S6P6GpzJSciCcbiQxdwRJ8wa0JpymXzuKZARMhhqfTlQ9Z2hrHqm+B7TSqPW1Pd4
hDxX63oan/VOw5etOygncUiIw3crtzNd2FbMAcfrAM8Lr9EhcmCEy1RqQHVkn/pXchxCfkPsrRel
kM8X1J5RCkK+O6jKuQ6sjqQ6B0WzDNUIHtwEYIVwJAtB8MAXjdeTPFBINkCJD8ZRQv3q5nmeWKsw
BhRE6JH/FsV8q6tDFwW4HjgIRQiBdu7rhdTRp0k5zzLUlorowDqVl0zQAHI9dACIh7GGz3N11CxP
Nk/1VHrsbKF+YY+v2xcdgfkRQ90dD4FGHrm6/E3xWekUwBHAy7ahEtmd/66FwaPiI7WDTYFKHElh
yBzx9974M2vwKOnqVre3gM67eHdfbJXUqDtK5quihCE/09m2fOoAloE8CHd224ts8X6VJpu/6z6F
n2b/6AoBUhIPzGR33/lDtkiLM/yeWHfsWrzEvWKz5KDkt/4eMkBIUacm7Dh0Wb9SH/TwdMiyoCki
4vCFy3VSzZcfukQ14TG1e9ozCRvPrENoedBxOzpzdv031XLatkzx4bfKTCRuS8l74mOcuTIElCoG
w6PzjpUJGjutFd3bOsr0WKebLmxgwPezrWPHTgmycZYqWzvVYBq4MhIad8/HSauiy/5goI9I7PSg
MKlIj/NQgrLs6DCkoJGIO2VQd5F1DKziZoDqhksl+ROI3daoB6ncCeH0IjtNVEII1E+6I5a7VTFL
VtOHZJMBSDB+kYG0I9CeEyqzv2nuSzW+DBiNnX1+lAi7xjF0AwcabreVBoy52+8XEEFlLnZQR45/
vU/WSC0VAYTcQQmyl697ADldLovtSg/amaLZJhxLXAj1+kNjlAcWxIsIrHYccnXjN2/fXqv/tGWD
YHa/0dkM/VOuMQhvpSrcV7Vm+SrL0xofappU1SabbStNLHBRqPtIpV3Is59NGtoEsarUyDyd3s1x
JpFKMjDq9yIaexc386EgzjXtntDWUC4zyNzFz3ww/gvKEHtCk1S4LQPcn7pHc5PIoU93TGf1AJZc
z23tGbZGOLDeoGamUxG0l48AsAG1DPt1s81vntLyDcTS9NNc0eB/tUEsSSRhIrAlrJeGZtGT7pJl
er8HZGmH6QnlkUZlCWNnYbJTKsr0lWQo7Brk99g0AEnTnH1aPpWVuoo9Xg3068+yFYxk/qj+3s+A
XV7igbUQIk6+2XTnjM+eoDk82a50iLUOPqPYaAC/5s4S3ZkwJh4G4X7YF7cZ9QC3cEis753igbdf
itvbFqS/pE6l/uElnnJe3Hpptc8yrYpCEXwH9BIJIc5BLyX08kLLvAPiBsmHiT0ReGj0wdkNn/QQ
mA1WO+N9tjlgM/RHQyJqBnNrSIz59n6Wbgy0MRFjitj++T+6zvDSJHqolvfjmk8lvDTlhkZDYggx
esBCx4ZPPaAwg+/uXBO/MA2gqkN5ul/8wI4EBQUZ2Nqk7lNREcgbI2+f2Laj1XtIdVU+BlcQGTYI
kEHUjQPSKIeGS88PU9q+DACYBJd9GWZUHWLIKrsW9Z2r2113aoQZcd6x66QGXHiPVhGmgH3Hi5+d
QiGyv/aBXDjmAXArer4isXiKA9SKtIIyhWmZ3W8VKRSb58FlO5bdoaRm93c6PfBmXtzfJ/niZpPW
pFn/rOkcEictuIvIBCr2eH/N0of4cbqMo93xRdmE2wgINzeQ5XOwGdOjS3gDuPU3yCl2P6jGEV23
2keYBO0tAith22E1od4YhxC8pN6Feq+dAvEDMygCM/kFQ21nxWPaF8WVDDSKBUnaAC8xIgYc7qx6
tX5YSSmU2IyFs5s+SFdCawS2IjGs1jOi4+JecU5ZqpfdlSx2HjUSAGnEHK2sLhvot9hcNxm8Lg+b
hjHAU1tc8fMSL+AZ6886EIeFDCREPl3d76nq8UBXjzvkVHW006FdHV8MXAnDuhqvNM9TRowapp/P
Wf44rne8kTY4FoWoOqeO9rFIb+EhGuwA4KzpLKumRV7c3uL2XhwbxprPXz7LH5JVtoDwpfq26up0
0ihlXqiv2yfkEvrmYy/Ep0R1kTfYsd318xJ0NGXODW21wKGo0W3Z09o9V075fN+Fxdu0KCdchJ4Z
Armc9j5gHpZkXmiylxYplEVTyRzS4g76tj88QWTkixS7ewxhcogV45374M0W2p6YHkhJ/QgfcF5m
t1kXVC3M3jML0vthP4GxHxHM8Wsop6fK1hBm2M52Jdl4LwgjZkMcLYkB3whWaBgadrKZcWBVrE+m
mLl1BKx9co2ErmNPeaHBkvOyc5ZF7MEAUas+y1cYugXo3wVa/BGDBURd6UA9EaLpnoQy2ieIrEHt
T5Gre9A96nVWQV9OmW4edH9/uS7qEcjK30dDQgCWxahDjw5x5kImpGEBsx31d71Keyu6bH9QsPol
/W/VTf+b2ppyKT90FtKROBaGSb5zPcjW+urpleRc9GDQUz2jIHK2mXqlk0nbwLBh4KxFlRb6JbtP
YQ70DrsHpXKdYyIeV68tEZzDqF3Q9ZRLrdtjOlApTGtwDY+ra9w26RaPh9Wh1GEZoBNtAvuWmG5X
k3vgrp56Rmra2+l6TQtz7qid9iXQyYdHmGjZVTkqoSjOhno7W3izXFmNWQXBICWhX/Y01l1MQgbn
JA9OFACBmtyWoP/2I+NnxeLpaGUIhwOyUXwxi5VhFqtZ0a6R/bCzlXDzVHI7cx1dazc0A/KBdRNf
PbwTLyLSOICR+6VPBztD6TDYebBy92kJiSxFc9eayhVbpfldtSw7Yo+B4cNSk0D6UQULoOeZxM/Z
hBl5/dS62wfZGN6NSyecWWzlPivnygNepXsHuBm7o21xbYrPl1BcgitkYdiLbngBDSaHrouoiiYN
n+2igieeI9b3EFnewfPtm9xG9y5YBIMVQ69E0XFR3XuCmoSQen6nhkx7YRJCXeMoLnE7zYB7fPY6
uDJerqfcbcCYjHWnZhCPd0XPW+whICXphMWeTjeF73/kn6IgCk4eYlZg/khjXwXC9xvqIvwm0zov
is/KK6wLU3D7nRl6x85fEtlo9z65RjUPzt/nCU/uVCsnjSGOy6IxyeoQNuweup2OCi4uSUk40gU3
zLONQUP4xGkoaXiFjxgG0vMjmmg8Hpk6ms4f8JTGC1+BPG/2eASjCc/HYovnO/LOlYCaJut1eR0E
pGNQZAyBfKcL1dHidj8QhzFHMnQkZg+g1pbK007BKN2oz4p7PVwOPSwUDUvq8rAUCuTWqw5DxrQS
9rzz6owBjqQB9SjC+YJQzQQFwM+hhmb0J56fl4bt83ab2BVHaA5/SDddaaKIcS+3v9vHffJY++d4
mlRXQUf+Vs/Ke8ABecaL6n4RQoQwhJ623AyUgAGCn9IFPdsIIGFIud9tGNGoZpTA84WYvEzATIG1
7DaSF6ffRYrAMIdivYcG1+15ZjCO+xUZZpLs97HpRlSh1OfK2/XdRh289/jUMJ1uu4kGT243tlmP
AQDz9qBktiYWvIA09CrQjLZ3ItYdm6ZRznPjwFhbPaR/T2efOhvsKOfcMOZ8tHhT/H5dKrd+lf66
KL7oftVfm89/ra8Dg40H6KFJGMWXfZOdmMNfBCY2jkE0TTIIABlwYyD2u5HtqsaL1UUKei8dUBTE
LmpvuA9FNOs0XwDumtpR5+QjsIv6EnGdTs+uCaeFNELjIdHVYQm2EEuwMRY7PWLTWGQGqGL3eF82
RX5noq9DL2ZUcdiU2RjW01n6BEUn5FeCoyjqHJ/0tpdVepfMn44kTl38VO6UKa4LdEqd+97YmZsi
ocZIHsAoJ8op+pBNIykNK8KMrkRRSZGvnnaBsTXidYSTmNi4owfREY2RXIdI1qtvF+kqebqBn37c
T6f0b2jk2bOzVH+phGnThjBPswc8wEVAuRghnDAv8o+i8s+om4udVyF5UIOKq3ul3WLueN0X1YCH
O2gXwTJKdIeq6w3ot58mm03yVANi4iJHGHoRdqfHttGug9Q9bQHxdAUwlBSXbNQQSGXY2fX67V6g
AFDZjQoR/HAgwS2QyPF91NLoFBUGhrlcu5do7aHNhdqdNjIKzn+N+2KxhWL49ht0zCJVEkmGo21F
3U39/bKje4nUKJ++KeMhS7/g1BHpuWZjUYfeR5tCqKIQEltsY+csI0a67nuH7uLIQvgdgw3U1lSy
rZbPsASnAQh4QHTeJhqL3uoxKT3AEIRyEAcWN9J0A75Ava772Ev1wOkUvoOW8hzGuNeDhBqo96ZO
vTMhSCJAqxB8tEvqvh7JlUkcMA9mo+7S6E78R4pS3POh5r5OFQ1+OiPObx1pVWoqfZq3wHtHSBhy
/4oKtxdiMNgD13ZqM9fk/Lyk1I28/gxHs40hepxIwwEnthSjm75esCwg3XQAWr6AyjqePvbmtxvj
ZWFS2S7r/gaQODYZ1Pcmq5tqs03faKlxo39ttftQUDE2RHvmnF5MZ3JlyQR+aLbWqmhrAkRw/dPm
Dkmmu26SgcUgx9lH+/YBPs/Kv7DWorfZpqx6an2h7ZSLr4I398h2c93VOAeAu/H4lZEg+OquSRl2
qeDKibii3ykRDQMVl8kmmVeKan3cXt96rV5/oud8XPxSG0BFBEHRL51VOKmFExaEgXjlt1KNz4CB
ZHJMyVkts83iRHm5tDC9j7okaui14u6hlQtjsXfe2KQQinqGZDMLZOnwVW2bJ+qx4IrLaQnf9o3I
ZTqOMpq7lt3lUD2zzcvkNq0h9vHSGWhwt5FCx8V8jS2ATiC9S+sx5zrT3F3ppwwzRefE2V5adgng
6VUIJmNoGUc5ua7pbXR4dzAhldjkY5xtDENN0aMt49EIOZ+muR5MsZiu9d/U8UGYM6L+qOFGSKF1
TZYZ1+JECnZjCGLL0Ib1t7M99mOmfvzdUdl6ucmm2wqwEKHsvx3QZ0qdcuI7oD/o0dr1OBDRCGOP
UgAdQMZBBohgRKou8rR1SXmaVctUl78k6rLgy9ZfKTa7C6w/wUdTETt/08HDOzsXUqolIsN6fs/s
TCWJxiMVXamtv0F9WG4K2eL7UmIuX6vd7txObwFBxBNGpE0suo0UBN8qvxHiiY2F2hbtkoP9LV7B
qwurwMAJzQYWiK7Mh67pRXbXAZxkVydxUq0CMjqCiM6kNhP76uGYIcqHsf3VvnQWTiL5uj3kUbiN
RswZ4YEhleYwoHCxAwirqg7AIsKhH5cLQzr46a+//PDTXz65p4UQ4spMxzAtjPGjSs3iLmkXo9oo
ld4KUKZRZEhELi+2hLBJWHZTz20KbUTdaJcMrlSEzqza7qRoADNqpPOzISaz7s6SoQdLvcbu7Eh5
chEaouVZLdvhhofCsWpHEqphSEG+y1cd/fQR9cTke0gHBQAfy/LddpG9hD7Xpwfi3lTJHRz6KOx3
8I/ukxWg5CiZoj7U7RkvWq+mTDOf2n+V3T59r5yeG/Lm+d/Uf+mGqZu6Yu/rC7hiH5KVWvlfP9Vg
eLeb4v69Iob3xSL91+AxjP6ofmH6l2++Uf/qev/P1Ddr9dsPt+odnootDDxKU/VrtczU/QYNsqP6
SicdgrxQv/yf5CH5VP8A9ble9xv9T9K8/g1+VadXv/313adPH75/C0vCMi0riwNNBnYxQihdSjfX
i+39+l35i5LH18ququfflMs0rd4+4gOTqI9w3H1aLYtFiaiEqWI+o1o7bnDCA4Hy8qxtk5JGSoK+
AoeWCxaff3obvuF4yTM3rGUyuX+N9wqOQ7VJ02m6SvW08hrtu01uPLTUl+OJ3JG819DiAVwTIomN
wrUmZNANM1fXbzoieC/ahZtoF/570S404My57K2fX93VSvEAwvfQvG40RMb9siEZQHrexE1TfD2b
L8bx382mPThQOSEO88cNwf9N3v8+qZb3K8yYEWoZK93qWLBKGcvXSHUHfkUwlmvBzMZVXUr4hybC
P/zduBacuzL8yoc7jAWNAd25jzF+d60xhtYT/CaEBNHlRQmnko8juQVeehQbjic72kGePGR3evr3
8xjwpCyzO/XbYqF0dgY39TTNqhRHx+UCbJUBR9dN4cHb+Ho3YvugFa53MimA5BvNBef4rMsdZa2z
OcxC2CUV8dnnRBrmVUx48hGWmIJMbHOmgHmJhI3wkt8S5C3NRjXyU9NDj7n22wCbvMkIdbEYlJjW
kIrs7Tq/+zZsT1WKDKMn5x9MoCNFg9jLYhJdjBIX7Hcg2dfLqVZhOtvS7r+fKpkbhkN4vjPvs0nX
q6cjrtDtd3WzWfD6rbXD/0ax3DglNr4TJi6Wm/RWT+kyE/2AeRi4clIfYUQ4ZqnoBuzg4hqe09iV
VD5xzW25HOrWxgG0v9LDntSFg0nxcpbHVFH3pppvcTBTwgLDbvNLOQbCxDEQvxPHgDMhhBsiBEmb
QGzDzMqLgApdUOBB3i/ZKD/g/TJbLc6hSR7EhnNCjcTO7kONsQVMOV8TGhJEEhESGaY8B18/Ypqp
tW2MXRuWkjjGj/IwBHvtClh/Acy4TB7SHQ+W60R/OI4+DsyA83yrK7OOIQNSNTcIoBhMUFd6KssT
RZYPqW52Vw4arqBganBIvUmDbXUbobLAFBZm0AW35QBcMZduBTF22eoClFzG+2WJhgHqK/VysviU
duCKT6yiYy9v/nO62N929/S0KLCLkvUTF+b1R3oYgQXHanyR6TG+SEeZUDNLSrxuKS6/u5Lf+5DW
9U9ugYbEMFkoCF+xkStNjFz5e4l+R4TwV5EcCl2psmb4pyJCRbWfQdjryas/Nn8HL6mNuOEgiW5B
d58qI3s3wUIX0eIjiMjA/OsZpBzh4WuIPFK3ak0rkb93zrSNw8HX+6KKKulDyOS6a9GjA2VBYZzE
huPNjbRbueovYYNGJRJy58UFamE0wQXAuq9c0dGPV+F7L4pO/2Rc0RExJOuHwqYSBDZVWalWZppr
MR7FgriTod31U0xSh7UTj1uMqCmMfYlDHzkTgeVMzLoozl6LovkZLj1p294AJ49MO7fPz9ZwNFsj
/CwWYotZeeOnH1CiDxjyV2xBRyYWdPR7CRMHbFBO8Dxbo4+/GBQxEwuJtStUPwiYJosuSAMtF7n7
AsKO7uM9GqFuys666mmhyM3C4lP2DPy/mlabJC/1uOTjccWLrNR9eWh4RsPTU/sbbxABdheP4A9D
l+1IlfEx7i1IQ2wS5GpfGI5Gl4zoYU4MkbA9GzexsAp92l1D2R4yagoc6ITt9kbYCVwhCZB6InLk
2dUWX6qtXf31337+8eaUu0diaNaKROTR/9Dr942IDALzH1aXe9TzPl/Oi5Rgy0sZejxJ1+I1mKsh
nmqHNGveVANp9CsQEvPBQnO/GiI1obSejc0rXfxBiRibNEGhrJZFWTklzdDmIM+oxqvbfrpQTh0J
X3NTTGxi18a/m8hwZNMU4zy1ym1IoiukcFfATrpGw9NIDJZKQOYIwBuQtnRkxqkDQT1rPeFpk96q
q35hRSg5gIYgYxiPGNufUMMypvm8WHQgU9BIz0UT7t6r3M60HdCFa8zUxTLJrPKj3dICOBkkhWZk
2M8f9FWnv22zhyv2/RWlza2rr/7QiNT68+CKffcHdf/qu+cHuWLvNDNe0WhRzLcQQXy7KO6TTHFl
rP5Rm/9gFBGLrLKh5hTz2GBIFutKz1mtERvRa+aC2CVMza08Dcq1VpIDN/HEhDERxaM/9NEltR58
keZP+BMCvq5kbGA8dOf9gtiaKkXzJdksFA8qbYJ7whoTn7j3zuvMd7mZg/eitqJ7BVB/MYwh++CG
cHOlrJSyUMwy/aL+LN07yuo90ly3uigt3DVHm7E6KOeWZjr3VBeRaFJSGwOFvZnfEPV7s8WbWiNf
//enT9ffHFOLoNpidbZVclzTTSMlURwFDfPi0DhqtA5YV1iIBEYLBtIDQTYyrRFb0+x2B+8IXI2W
s4QktusWGLYX/FqIXY/Lqa3U7kn6kKx2/TwaDPNR2b+5+qzJJqGlnhFUPF3Q/O4lqzdNbOTgryjr
GzO1r8G2vX5pTbf9QyY4Ea7YIa/v+sgI6wavhulRnLAxXr9DnUaGk+QNjl/M/gGmWno/U7QGXLAD
EoOyPlRFaHBQ96cH+ulGJFXWL4ncx4ia08O84Ic70NApCAH9Id5IJ7QIcquTzPjr9EO92UCKeVrn
H6bZooQDKXJSx76ZpXA4MMRrrqt/mlJv2eLmisrdtxKcUZizpb5cr7Z3YOTCZ3ralvoyWa/VvdXW
zSMMXv2cVTVIVZ5W5TxZA6p94/8min8Oftx98ZCl9U/TE6zhsxOhOPTKFtv7+6e35ZfbqyCsf9x1
vaC+mf2Jmu/cHKi2BlxvuHnStoALA4iJBpaINni7WJbfZnlt8BTrI3BcFlD10yWzq1QdGLMkHgKm
Da/sHdH9jFbUrKB21U1HQTwQGRDHUw52esMC+WYX0FMOJBSZ0I/7sF4za8TqCo9OUIf25CB53Cdk
9jPV8YHuyugQfpKJNbMCm5bT5PZW7arsKbSGEXLUJywKFJxMEwDke6zQABH1p52OyRi1/0JiiEN1
tIX6nl/AnIEtVH/cbmiFZZSHGn3V7CI8lHUf02xPi7yE2hYWeCeXxoakuL8QTiiPPXLM8SDC+nI6
y+2DyK7CcjhZncEBNfnwmI31dgw1hvWoQvJ13FXovQ+uubpFUiVgQUMR6Y7WgBOv2HdvVsXdzcd3
P/z49k39Jzfwl/902vb7o/qH2S1Yzeminjh7+t+0nEVly0mziRROSAbldhgGbdO20fveypS8u8OG
T+tyaSm/Ah2hURtQHcGJq7IIXQe8+/a5Ehha1Y87m6BklTNvhgQEgLUNUTYW3i7GNHtq+sigLBtN
7gJmzrAMwvOXUChzn5Wl0pJaR9Yfzraz2QoPi3MpDeeReBUkx5gV+r/XIF2igF+CZGq93kMyNKCO
eGi+TJXYaVGLjtM+ZGU2w0eCSQjMUzLC5TSfGDNUHNh15runaOiw0LMIL03GgtnEr3EJo0Nqm+26
2lPqnU7cYjE9ydRzXIZG+jkIaEQIrxtTDwUd1RtFrNBTrPQsFLDjSWRhBwzlmmLBA784rTIh6HgP
g74HAE/HY1AHUEU/aXDmJTGHbwW3b6mXvLkVcSqz9OL0Sc2mr1i/h5ZhO5OgCUsZWZE0CC+xr9Om
in/ANBNl/PF1SDdpVO0WDnyl5hNj8okDw87n0OVgB2JUBOT+Lk7aBlaAcud4qO1eVUg8s5gb4Z6H
o0ha9d96lWT55SWuMNKA1nSSF7oooTcFoIefjLCJvkgTZGIIeTX0oYnj4EXVR3mhQa4uTzGBpH4f
K0/76AXQiUgc9OZ8w7GKGV7mGX9HlQxXQWBUG/BqKhlsNtxfycDNGvFHEQjBS1mAX5QWDVCHdjHR
II1qP1ze2ICD7m7rXzSAB5T1HqJ3ANm1hgzCwKAwstBV9gkJs07f8PwaCbylmU5YQLyL9x5NHMKc
0eB1iPf/keVpX1dtmqE4h/kNQUC+LuEEVp6WTc/s0y+eIkBylsKpvACezfKuylK4WTP0B2uBoSm+
jub1iY1QGnqWAzeiGa53JwIgJd0HIo4rde6zUs8Kh7YQoDe0YkdMSMQdy9LnKwEaN5WOg9i8NV5K
6EJTMeYldzQ4RgKgKmL/hLePunSURjFKDNs9T8SZ0hnErcvrIKDNDO5p8rZ6rFpzeTi1eAB1o/ND
irpfV09vi7uH1iBuLqiXs8zQs5g1JgwjpryA3zu5NabMEIvWHSXholRJDWGhK9uDn5sCq5ZhKwDh
PeZO3xftOZHQgWYTfNVkukirZL6cLrbQRj997sDHJ5AzZa8HTo+EkSpYx5HTVebIKqHSGyNo9RNR
OU2JocVp1fFK+KmVHj1eXi+fZpmegwMwEMqWKD5nOmA8X6XJ5qYFwQ0Y1Ga9Qk4EQodmkYqizEYy
9IvYmoqVBuvsDONgxUmn7Mg6ho1QdSRXD6qdOvWCD/XZdKkEjtQFgObCa4j5RJCbQa5ZxiNQ1KmN
gEkoQqdPXRdHt7NQhE9iacNGlmtxHtkK+hyQV9LbVJl6uwY19PZgQggNXQeA0H6FKJTRSPTSlxgB
hJKAO+NYXQunrzjLt88d7C1TSBgCfJ3lvmD+hO5TZ8qfIE4JleOTDaIY2nC9Pys8akBwaChAqYp8
i8I+RwUgl8xKLM8hKQ0Rk05XaX5XLdHLZ0qfmjXjmr9ypzgS0BsyKOHcDsVAwuk04k4oiZ3RdGw2
YDLxZQNmM9k7jLi31b6to5pFfrxsNBGUeF/29hZbl/le97Yo2tcsaDAO7SpVGtKxRARuLZn2thqf
Fp+GHkd25qjZSTXQ5ssCCKiQ2U3BhYsoK7xFNQyhw9hiZwd4vvC692v+okWEq59CX0MdzFeRz2RC
SMdq6j4pP+9csXIKyHzTMt084PMbIskMuwvN+aCT6+UkiiJ5ybxbh35zlIAD2oHPnlf4Uw3dcgSP
9s0+19aZT1IeANSqkuH8WdwlrcCnk2LB5xdHZ/3FMO4xZj72H0gN3hyMLFW7JSl3rUtkzUNJmbUS
9kq4ujZsy+0M0IeKeYOZkswVS6FhDhICzotNNs7a9Isi5yYu2uwiIDTuNEAVdYyeU3xBYqcL9VEL
cV8v0yjaAxyuZFZsoX8nyT83yP6osgkoxMtfVwnk12Mp2FQFdRINCXDqDIhd9KlnoU57gE0iJuIL
2wP/4ytwOm0QpkQiU4/hUlYRgncaQvUMcbqOvlv1w7uUqHSkVQCwM6mqTTbbVul0VixwmDYa20WG
LuEVHUnIy4u+MHQZlyBozFDClADqVPLREzRInFI8ng9jsTqWTc1GB+JENxj/ibgAbYD23Up7Zbeu
lbh/atCOKdW4tEByN+YA9dfXrVsLdacg/VqjGJp1dTpIfXU49u9lSqjFlJ1LYMNr4phFDoWo1rbT
ZZIv1MP1DFRmusOLjpEgU+YQO8s+6eWB2vcmEXP6E0lMI66EyVF10bYEYNz71Mg3AxDs6+Pxz8m2
WmqW12bIbvWaZPTfuEaPFzDmyD1ttyM2swiasXXdJBICWjhjl7Ese2m5NiHrD9yIqgBEFY/l67h0
GwXqYR/DyiWPXzPbd5x2pDxZKB1WEQ08uuSvYx+RfCWkcJHUYUReCUcGr4UjX4laINy5WijXSb4f
t7GX7dB80soEkG+u2HfX18hcjZgrIznmr0SIRMEroZrglei1wJM+wQvtITf7Wp4gYq9kHyOxRruW
XM+6s3F1trPdGtp4vNPUcOhYN8ASaA12GLwCQdWSUhASlIMKl/u4geEDvpR7I4LLWfPtHb5p3+AV
pfglXqX0Kgqukmg6VWL/zXy1rdTKN4+Pj/WAJQjBNj9J/fHhEL5W/lzP/glcRi6bRHiPaRubjj7r
DoRslPVUlAeArAxfSzfmRqFfsi93gwTh0Wyi6I8arv9bJGfPCLRIOXU9Dt+HdkZDlHD6Ku6sdWFA
0IQLTxeGY0TH1HBwk+v6OuUU2NTnr2u1dL3Nt2W6+LX59tcvySbvmFcYRkx3znmliX0aTFe9OGYk
quiChtwTXfBOQRdEX8mlYaKHSeLoxrS01pVjPTaZgAyG+w6metTRdFHU3UvNiIvuCRdEms4gFWdG
6htltd+JbtOdrpNqidfGAPBkaGQaPe/krz99OonuTd4YTEA+QARu69s6r92abQMbjIx0+9HVgQBS
sudgUUDAnGb3yV3K3q7zu2+PbRdlMkYTyvvZq+uBzj9bM2U3NBoLK4ZMqO6kEGSiD697Hs0kTE0Z
5xmyLdYQEyYlDwZdAmK90U7rjUvn5E99kT/VA0/I+ZfTAZvYgCVOk/Ipx7EJufKeIosFTav3ys7J
pScSr845j7PA2b224CjrG+4YmAKT6RkPrY5ryvHaZ4Q8WG1VHFEV02wXxmwA2x0q4ybFPU11JlbZ
mvdQS9zlrwnAV6IexV5jSe3JQCvpph209RoUEp7UNylgVCAjwwFqJry2KvLnsYKdJpHU6djItbRl
XdKWBcHXJW1DozZP4RCkliitG4wr+pigYx8yMAOeMqb0nWqBKb9434iMwgkVFux1IEd+2yabVO1d
G4y6yEC7zsdGDI25IveYWr2iWeXQLiYXPj79c7ZKlm+OSonUN7uAXjskSvTcKRu13s/2sovtzXAz
HHNRGDkXNdKXqJFa1BBDgjkytO2dDRF7Vvh4AJCbVhIeH3kY+reIXCnX/Tw8pWDzegR2ifdSsrON
CQcnJZSFznV61OlBEe6c0SJfjBbpCavh6C9CQhaOzd1nmi5//dtwrS5PNEcIl+Wyex1Hv2nXmBGY
qnKminNwA9Rs0nMn56mXVYIzS1ZNH+wiu71NNyBL60ZMPI5HKfRsD3GhjqhslpTZfF9P+QIZhEwo
m4RnxsVOpJXnm6Isi00GZcRJXuTT3jxzJIhntYWnYaAN7mjkCdSsernnGhNkchEKjuJRz8jZeYT7
/YcfP/zyYagxIOPwAqua4fcYXOxJObGDE0oXUzxzHYEhJkZ9aUEucOdKKVE2gid2xeaL7OGKpXtX
DOntYN9csff/Mp1iHpmkZyY2/vzh3feD7RImPQX9gDzVd3jMT4PrsdGPq7ieDA2tnMN53eO62YjK
WgZ8vMU4Jb4sA7j6st80YBEfnYWCkDFfR87ydKW+gPGo/ecO40tvATLrl96CTfK0nRlu6lWabM36
7lvaaraTSoHS80jt7//+8aefvnv382CJHUgLG8ISzAKG03MbkwV93XKTTfWSOIwkV6bgZe6UMpuM
cxvaGb5dJps8LZFsehyGNNCjt8dJ9FVPq7Rcpmkr2RdplHIxRni6NzRt0j12RcUVZY/0tv6Cy1YJ
i3IgQi6EI6e7rh5CveyQ0LPDlmfmKfdPhucq52UrWRkaTuH0wDORTYzxdB0Ow+pweCCd+03NU09L
qJSubTfcXBMTaiMeTh+Vo0e1WWswgiMAoJ6ZsPJhxpDw4lsIRtWuhATj2eYiDi5uokWBX3ezo+Rc
GI6feV7504d3P7//82ApKWw8vZ3o2Fmi62xebTfpVBkWFY4OSmOo1DqzlNPNEUlkFXnutBDrah0U
dCfgYCdKL0a+RK18FgZeVouwxShnri7y4O2gwhNGdSyyO7T8jCrZEF2EN6DkzmcWoaGk9onj8ert
tLo/tsAZmYTBuYbby43AvU+Dt/HB2vl6OdWW9fQ2yVbt4topoMSEzG94puvOWe36nJ9/b9HU4xL6
Hst1kZcpolUBs5WO9LjagmzVUkaTkALci39V23nZgLARePRUmv5C1EtBZ5wEZ+vfg0EUm0QPGprW
uFy1BY0vo/QDZ8wFlTUNtjWC/qKuTVBOaplWN5+LLJpuWuNUIP4UBOMQnuKBFtkxqCCyrJoe7tWb
u/RT5cr/ti1a48aUAcPjOGbjyAghnZfRo3YZg8xX4ONM/fRIiF15F76uOu/mabqtbiO9sv725ur7
4Cr+ePU9gWZh9fV3kf6V6l9D/TltjcaccJuwgXFxNV5hL2DSkI0h3l5ISeq2aGjpOg4Qy06NYggN
oWWtnHFD1Grb+srWdYYEsCEl8evJdfTCAuZh5N5Mri94XpatRjAm4UF9rkiRFW20pfmKrL2ilfMx
MHNGpPB5So6c0kE9/4EZlN9meValyjIp1ni3FrEw8vPkIburIUefv3w2tkoYXLeF6tNNUi7xcTdU
aR2vXBJiXBL4XFEgrxnHPleUyBmpV4qNsBXJIApaZ4/Xq+KueHuXtUZ8wVBHTkbneypD5tw5Qcd9
4bi5sfL/rZxv43eMMVr1+46UE7/BlP3h3mAa0l9c4Xh1RFvCFEm/UY3+w1Mx2vLY6Vk0OgdTxseI
b/Rf+xG+Vi+ArPAFILtDs2XOukuGoY4xysfiRMyKlHKs1RHrzjaqO3JRA0RAWtEP5RmLKBymI/L0
SzPM5NlaXGalOtdTx+wMqoFnR3qx0JGf4wV7+SX3HhQFTL2WRYdQwcH9OrQBZquzS3SleXUQCKYj
RPA6pHLAvB4dNYr8UhUm/cXr4GbGLtBzGREP952sKjBqqo7QFNj+oZ8wHLTVo0l4yuwszvOOSpGj
2niqPnTFsBY/9wPB9DSNj+9++PFC427C4FzJ7oLhOI35q6AHbhPFPBCpK2WuNZlc9dYLmOt1o0yz
9olDHtgw3oGBiECBof05MMwTZvC465XZVVvum2PwGnCAXBNjtzyS2GN56XF/EHruKGiNQxlOzQ0N
l9n9uiN3ZDxAym2HqYzHLHoMiW8p0dxwGz+Pc2qXVzGpR2hBfitBzMUF2u8JIVc0ZPT//zLsl29a
ZWoS5o9FI1VNCcLdVaqW2T/xLgoWRdJwlqFboUOFuEwVRvgaqzBCzseshmBe4G4HDqYrl0rEf0ke
0untKimXbSvacCbdFfsIySbAVM13iKpqeftRdYJOeHwuMKlhz0mEwtwKL608MboWib3A9wbYYlYF
Bgbl261QU1O/LS+Ab0CCiPoJAeQF1OkpG7ZKZtMSeEQPW8e74yJ+Nsybm/MzK//ryEheFPPt/bOR
Pt1dDwpPC30BZ2blHR2VEuGiZrwp323GoaMOIExSJvHge1WWcbGpPmnvFqUbDoOUA5+g17XGRgqV
WwXyAlIwdHwEARrFwetTj9v8c158qf/cTje++BG1ooSvDoZPu9OZkYDqYSv43C5f6yXttqsgAbfZ
rmXnRBNHd/tGQNmo5Ws0YCNih4iIe3Jf96qs9mP1WPmrIL4+u3j9jf6n9Q9oZVPBXeN8fPmh5Ccd
lSzkeX26Zhz2HCn7SaePkalmoJPGPSmJeORBNN9lZaXOP3taJ2UJzXlQ04lHmImUMM2PDAkxG85D
d/FODYHYONtDnimW8Zhy2FGbCnq99R8SJJwYkcm5aCxOzBOrlqohRdN8XOoR1PdrUqQJVRC7nrgB
B7XqCBqiJ6TwUue7SeGKp+rjaaqHLWUPypbUIk59hYEPQoVsOAglxsBPxodOAUANcQVPA20AIHxR
iHtK4gkdpK+ePUSIrPQ6iIRPqINWrrPI90xj2xXUDeNi5INK7hqp/NTMHUKhgZU56VTMizx9VBZO
kletSnUYNONz1stdMa2KqTb+aymBSF61ESKDUV+URzb1dubIURDFbs7bln7KjxsogjqW11I4yRfT
NL8tAPKlvTbn8SSMhT/9+pRXyeOHzabYYAPMlJwKR5ZR1H0pwV7qN5N8cOTNyHsQqZPCJBc6EPti
A1BclPs/vl5f8gkX4760FBcCK4w4GdlqjC4vsJnVwBBnApTENPDI15jJCjAi4eU4OoAB9sH4h5ZU
uPfka8gQxJVXHtiZyskZG9MLXK4IQo8OWZGvnmAL6tzJNLvLC7UzHI8thPJ04ja79FNeWwFYxg76
XM50VhyBo1kFLK3JmUTcJpZhVYwqKI8deSl5ceif4K1KHIwc5suIbTxdnR+DuAJWIhULxT+BN0s2
7bBhobCAknESI8QG0Kf1VFRprsDGaPAVsa6Wm+ILFqc+N9Lo2i2jZ9bNOwLeIzH3kL9Bbll7gHRC
Gb+cIUM4FBicdWA33cFcjysn0aDUxKF215Upe3hVLCgHMy5lMLKKRzW8jAYOuTgKRS7S22S7qqZ1
yKEbag5GvA27Atyyenn3bQdcuUnhZQBmj1AVgS6HdKwanrmuI5WTMOZ+gupaLfWMjKYOYrLJDKip
E0YnEmLCOB1upjbDaZUeQ5cBrj1y9Qa+4stKi293yAg3ux/7BvLOancL/Ql80y4RFow7M+/myXyJ
Sqw4jCYk5r7NuttslXaYdSGNJzyOhpe+N1PGy818+iWrdDmTsq7yeQdsm9StN7VSugxyBfT+C+pF
WTR3sbv+Ms0XSpzschH145Ro1IFOhI9UfncAgPEguugzNAAiJHIKjNiZJCQxs+z+d2b2KnOMeECs
2QWJcQzISHJLvDA3dmgEIXIi+DBjsCjLOgg+TeZqzXL6/U//8QN0n0Hxsq6YRKWsTgyH/u4cmXYD
01KG1FXsO3AbRxAzAygMko5GJOVvgbZujKTbLie2mJK20Ams+qVH3TVFROWgePQRRswLMkaqaxn0
ikg2aiyY2EBm9DSPN6SLVHLB4B7mLHy2Xa10Z0Yyr3ChH8vzZw6OR3ONsQa+ZftRREwHt6E/k1vT
+aBovC05a8WBudUa7ja+ZDzreOI3EsuyyrLbKjc3zxvzUJcXCt/2P1SKQZ3CotAdILcFBBCeL/XL
Ms317qEUtyeSRCZhFI2AMBY+Pv2zG2SdAIBYa1pJEE9Cws6sPrfncX2dz1RZTLuNPhZIiFRIMTzh
U/9WBxz/UlS/LJXxgacL4sAu/lTb9bU1P9vqQmd1ziS/SzV0RT3gdbuB8udfso6KbWXmnQ1jMRo3
dpolMY8nZ7cvjL/tY8KPY2VXCzqgnblaZmUdIYB2JGgL3q4WWk7oKraXslZXsWmIKeEuuKl0D6wA
n7wMdK7hT5toJ2R2u1UUxBOcIYisO7CfoogN7HhCPBilAFf44D2od2eB1/Ainp4W6pg2JZjtiaC7
T5QLhdS1cAEXamNV96xU4EOemMbodVc3tN5kebWvNmjHpkU44ZLLyJMBb8YzaI48iKn0Y1Iqy6yT
Q8NYKrtfOOJQpXVTKHpPNpvkqdZTuFiAUUCCvsJHEF5Dj0toVt8JztnTs/pY67+prZedxlF/3Ng0
9R9SxPYTXEAp6+gO1OVODCUekl7c2KVg7ErE2GVymIl1dmkNjyl1zL3qPWYo20L1HeV0XHHN5LB6
Pyvr73IETkik2x6i2Flc9OXHtU1Z+5vbHO+igTR5JLyaOPgcHZgQ4qBruB2wODp0exaTgJSHj/h/
/+23h+QpkW43SmgMikXT7cqkCgNnMkhnLTuT3yTQEfzAvbE/S+aflWsFGA/ZHnDl3Y8//vR3NFOq
Q6WBjwkHWd17DYRy7OFB0dKoLTtjSkO8Fk06q5pp2cbnvzqJorNR4vpo/TkO+0z1PbCuMGaMROT3
qQxRXSiFHp8ZOKqpaYIo8ySfpys9uBONJ0BgPYov+crMJkd5hp8P6HdQ6CkvbkkzbUnrP5BI/FhJ
e04czSS2iWqBbEjnVdcAWWIHHGeli77/8Jf/2xGRAqdoRIthld4lcxfeKyAKhqOL986LZDoi9RWp
V0cPobFDHOe0Z6ttOi1/2yZK9Kzzu1a5jxKxnoAPUJnKLBMvXSI93TzA5WY4fByRyiimIv56NLUj
SlKiOgKxaIR4Js8QistM6e0jRkbnQIB7EPEhq/u/OcyLUvsWRqUX0kYW6tLPYzlYpnjSRo/rOu8B
vzoxiDsbJLgEUrlNNxPjE86pUe5afrUSBhcwHPwCI7QOeY4sL9YAFY2LcxYwwD8+f8k+L0QtVm2K
pz1u9y/pI8qPAhYPqWOBui2r4h49LJhljAwRoZhuzvJ/dNRLwlhgsySgC5GNOnwxFPUNuWEbHwNv
QSaGJbFy1MRYLGMymPqhQqx6bIHvkBi4mvh+/7r5pAc7Ska8NXDvNdw9ofRExkuerZayPIeS9OSu
1ktDm2tjSENGVLqVUYt0lVZ4LRO0x5i5asNo5lkxYXrrQLudtIw5E8o4ZZ6oCy8cpoS4keKb9HYF
KHYFzMFVBFuhsXn+/8i71ua0kaX9V/ji1Nl3QzL3GZ0q176+xs49dtZJ/GVLgADFIBFJYDu//kyP
sIPNCAsYcclWJRiMQaOenu6n75D4ztlCrPpkEkPODIV5DBi8ZjBb0N3FZ+eAc+kIgJhVQBpffBXC
CLr71/qIGpJP7y3GSuo7FhJv6AEoCBNJuoCOnUx9hFruLOvpKxrfbbMT5iVNL168zP/lfzy+NUPl
F9f+6Nnd53Y5eqbPzC4ed/TW7B2/1H8wVYKmSjaZeQLujbGWXk4S93Jq1XthCg3CMj/JIMyTF+XF
/b5vD3cpUdJxsQA0GTzRTZFCK/E5kecaLEF3TAo1MKUqd1wd7L+avcBPdvFUaynQ+pxvuHXnjvDj
SA9RchXw6wHf2xAX5mppxAXDRPUaBllOak2evlYp431/eecJ6MfDNIhHQQLugNf+yM+zyP+bQ7G7
+R8vco/NH/mnjMjTT//q7+bN7CyDeqQnkGM0dj+LpLDyTYL1oshGbCGSWK5QO87wbsyDEqnENYl4
VW5AA6Qe7mMxotKgnlQkDMtgHC45TBF6oseQUzLUR6FeTd8+SEjOgW0/fPx8+uH9+YzEt2JoYKRx
N/BbQZLuPtecFfee39RNotxzffifP9e/M6+e5fPs72q27vfJ1Gw9huaeAo0yFzzemLUTpfGYcGXJ
dBJYPNbgmWB7y2GFa1jgVW31uI/K7vPnH//+/FwvfC7aMFnzaFldZRtYuKJ1Iq8miNhsgVwQlqEe
cux90dq8fp3k3U2bheXxmj9LDvWW7vr0ydUJ/BnYF0mF3aKXINLSPimktSBUQP3zFpk6bhgcQv9S
VKNiJ2heiDKY6Q/mbY+h44bsGHkms40oV2rNXG9ctJj5nXnriu1RLwgEC2cCAUjUhgFDzV6cGjg/
jIpy8DADxwdzYg6mmhaN+GayhHKgAYrWbLCGX3Poi2agY7WsT7PR86Mr+2h5iLdV+O3Eq/TbFXKv
nkpvl91y59i5326ipjyt++lt1NSL1EIuB0D2OB6hJesJVgB45sng4UrVeBURyOW2FWPv99DNc+bl
sUVSPGbI39mFmZhTr2RG6xy7v4z8xVCf6iFXWvJREFQro3EM9NGGu1atz4LIb9z3Dcid/ncf2sWQ
GU0P8ivs0KPyYVj9qZf3H9MvBvrHaVtb2rfxUD+mQaAfoZGA/tHXIk3jfrDDo1g//HI2wpRVc8k/
4E19d/Co/7eG/QE4KdvmS+Cr8uXrJ41A3/bz/PfR/dtARP3j4975+dHhC1gcLMhS880oZ+i3wHzz
J0cSzsWKRNlT3VCq5vqpbiuEkwXs2bn7FZV1cYz7kZqbgYDcowLUcQMjN0H7cauYsQVs+nHOiLwx
AUnEtCLRPwqD64LUL1qJNeb0aBW4afh8SNcRj+RgTwMUbxGBtl7OZsJzD/PGfF44pBQr4ti10w4T
jSSyorZHCJqZYPJ7o8eCPv54nUeCEY/91jq+MD2ZYEHXcLKQ3FARZNerUrpUb9C0QpsTY5Q7wzTX
fEmfHF2y/Mko0hPLlcY8hhMPR13MABSC45LNwTaFPxjlVeOQuzRcDcbsvmk5d0ygoBAXXmojLrIm
FHqcE3CnScdXKhpcRyU0uORqPScAoUX8C7MPvt19zYhxrm4mKovi+sRQC/sJYGLlWsTjmFeNGWbe
+phNPME9xzARXgR5Y13raYdGk0psMbt4awAdCC1XmVRGTOcDferDKPXbQRj1wigommlOsNNwVdAf
ZLd2q4JCgS/ahKMCtid1njFmOTV18EXOaFyBwXksvU1ZCsVOkNZNN8ljPt0kjuLhTJTFFaoRj1dE
gaJSBFY5UAojq2EEvkAzi+m+k7a1nhjOJa0mGXPCBl9ktbYyBa8m3FomceN77n5NjUe/3uwGTWtA
VVFo/VWBT6ZQehPmkRVeDnkUV6DUU3susjQC2uVGlrEuBZEle+cuG4Mu6AUD0B67EnyzXNQw0g6t
lH3KTT0rvZ/5ZEhrXx8Em0hWIFbjKJgSVlEQZl0zoE1ve2yeTv1JnDzyRVmHDmKY37RSwevsfiy+
NSVrbL5ctULIdR+6asZJukqfu5Bqq27g2Q5BEA625QaXzP8du/sIdSv6oat13sXg19hgM9DPnk+m
iDLTD9bnD0dEyur3/m5a3H/vZin+/yZyg8dc+oDsbl6JoQ+T84LgGYw3wyAh4HKTlfcl6vs9KDQr
GkILtaRqjUeAYuFVeATacaxZr+GYV2VpM//pWpDpdd//ZgBF9mGnm+1myTAYr35tQv3/psmA6WrJ
0PZ76frpMOtv7iqdbupaNF2FmaWgQrmrp0hGd6nTVnsH+h+wqtDR77Y9Y5aWlUP8+4lBBtaGBf2l
kNDCsbRonLvkrKR0JlyJdS8BEc89TIT66iRs2RUzpkQ/YUsb7CXx2UNlU/wl082SxgYErtzbZ6SO
dV6j6ZDKeDXlQpM7VVgvRCVM5nbn5AeJFmdxM+7Z3cjYjPGq2ISGFeUx/BNoew8cA3Mz9ep2//58
rJ7le7PbCltnw+jUBEDuM3d36CFk3mrIsEP3n8H+nZtv3d0hMu36hIv6DjkeHX0mycWe+PLl/P03
9fXbfm+H7O//2HuLOp+PUfvntQzi0adPr/Rvu+/3zHc+nm5ClKoxISomxfQ9ftTiI+4MLYOq4OBS
tvIFHQ3CggUxyBdAW8os5yeumYXj7SbFP9OEqFvIUJ9JBOpMVoUwFlYrT6hft9cLM7Wsv8+qP62q
APokaYNyeyUjVUwz+z75SXtXp+eNww8Z23tz/PnoY3L68dMbKd8fyNawPxwcXgSjQfPDzw5vpK3+
my7KTr1MXB2+ff3z6MdJwa4jWWkAwApkEFQXKLzdO1KvZj84216ycEzqn7p49Obiyotu43fq7Zef
J97ZVfto/9P7m6tbLbFF+PMIvWpckkN5dnV9Pfz86eMBGZyChD4Ljm8+tKPw+8XoRxAP2t8uz7s3
o8Hb01dfWoOz6w5cvFB4MbZFCYMLhW23ZZP/Kdri+jIbTBfpYri+jFC0saf4T03iP8eb++fLl3/u
ENHJCgH5l+YQdc+06uFnn8igefb25md6ETdIv386/II+aXbZvzm7Tngkum/e2TfP09qXqq0hxwHd
UdxOjDc0jmnr9XeivjL5+bSrxdnfYdQ9/HJOD/hhu/np4uDs5zV7/U6efzkqIAarCbKudFbG6DxX
fvr0lPUQzJ1PLbZinYJIt+usSBpRJX+H45ckrS76dNBj4sePk5t2FF0hdduCU5hcdS9C8np0KA7f
Dv/+SNG708LjR5nYGmIckR3Fdvb2qxNHvMbRusSRp8RWHB/GvfVxzH7Y4XNwzB7bOWZ2dnmNVNT/
cJZdXt5+V6IfNa560cn+h8bFUZT6Vz8um99Sv/EjPX/dbxYfHi5+B1J8YVdv3rc7o7/fBelJcPEV
B68i0aZv28MoO5ED9u372+CDPzzY00eqWJIwpraiR7Rg3MyDpB7aXqvDobePK2+L6dAa9vu3BTeG
nDcUmgyGPXorj2uOQ5f1lp/5dS2L7UmKEk7Mtvp7WtpEKqb51rqOHR4oyrbdueqMFNK9U/vDdfRx
nL11GOR3Gid2TzdMQ6dou31LDsM6Htv6cOhFkJGzkS+ur9PoVt3cNt7qm9YfbXzye+hV1kbHl1/k
0YeLHz86+o2TyJ8R5KJV59PN0hAWK4BTUA3bjEoWDkMWyg9PzT+JcyLD3SStmMVDq7BW0PNvd/F0
k2MoUeBK4hV2vbAMMsOU/kv33mnWAhgPYdR5ORhP7R53wipqFcBhTrXabrrbTg6rYsKkqfO466qi
36rnKnpcVWWr/MA1Lraeq11o0+U6E00LLEnJktlcfsM64JkQaL/gkbXJQgnZOFt/JncIdWhvuzFL
rbWrUF5DtvyI+o2mtkoL9Yig/He5v8JbRHwF8r6ouA9th+uPEqHBoqScMbrdDPH2Nu5cvOoOmrf7
8L97+upm1Og3O9+IlzW+XAxbB/vIf3WMTk9ag8ar6863/t+dyy/8e4Oc9S4P9nGT9IaXt/sH376+
773//qnTeqU6zZPXo8uTi++X5/vdRrjfa/Tfjy5fXVydnrxHzb75+1Hr69l16yv8fberrwHXThuE
R5dfT83v9Oe6p8fve9/oxa3+nlP9/fHp0XF6Sbxb/+tZ3DhH+N3n087lq57+zHv0Ntz78fZ6pgkw
Z/mhaz3rSbZGTQhtZ5nj+stumGZxcvtkgj32GNeqQVYlVyaxo+mXYiaOpHlT2kESjvwsqDeS+DqF
5gt5H+aWtfMDqzEqN8yal2YODFdV5/wPoxDGn0Mhdt/vhT+LG3JjGJYtKprKZWOq2bNDWJWkieKo
GUzO9Vi2BbTkvMaUnLfKZszTkwInyA7yX1qYBppBSk4qxYdFHSgU9L9gXmWyxpr6qpGnfiK3Aj0o
bRTVCMZUzVWbPD8LEK549ae0sFAHhkFTUaHS68TQ0nxS9U0VZEA3VujjUXI8mludT6qwfh3JJsuC
BWc1rtZnryvoXIPc1cvm5RLXBbUSWEjoSV/iYqp6UJLFnU4BKKGkpkqpOOWKjRwNO4BZsPwJOKWq
yoKi/ImRTWpp4UpLdVtUpTm1cPp3uTxDNb8yNYWPoKqs5eSUlexkt07Gs4kxgTXCIvPs/hOKb4pe
s/oOMr1hnJe8umuFg0q1rCrFk8PG7MJYZLp/eRXIzzm0BeZsgRWUB7n3zQ7y/i71MBpp26iVTzTU
vFjsDsXQjoGWKp+Z4+TeTQstUdQODQVWd3ytHccFMxzi7iBOIFArJWYUjTPT8X21yt7CtUyDYr4I
V1gPaRbHmhAaPwz826I5ih4m0ICzekaI7kKk4E6wGobgN3ii+9DSahl5YgGJMJkEnRqbpj+ot0Ot
lMHhCk+MIXgvDg5AGpxOCIP925NcFDzs2JAviurDuB6FwBBFJa+8YEOPWRLSCfE0lCsrQuaabr2S
5evTrjkSrU9JEmipIgTdcibwJHckModRK2iHEaDLmegGl+1tuqD2treIUx4ECraW3amCtv2Vq5r8
XmZ0plUCZkaqFSCPIsBBBLj46Fb4I7EgxANVwSqB8/fNtvOW7WPIbAkAi7LNMpbknl+m5DwzvG0u
DkYxIDpnoslEYAomcet9kvMRx3kEU6xPkUnsgctlOXuqSvawue6IGUmxTvu0H2Td2N4dVTJcso9W
Od7t+ymQrbgfO8baYieYV6RTn3BmqZKBQrWmEYCumQ/Oa8XiXDOXbwbD5uNZoPnt3YgFEPLEPmNH
mJxAd5p5mgFmeecQXhbWVTuU0DUbYAxJmFhIvE5WsA+4hSwCuhZb/V0uFu3mJkPOZOLAD4EY6TBJ
4o6v3wKCmAaueuP81J5f4VFhppZtgcU2k45q4832wuWD2U4QrkpTDe0mA5VaP0q0SoQzI+IyDw6m
WrMzKbedZRkqazJ+fXf0+eTD4YbdggY5uFz7ycUl/fg51Gz0wxSC1xZ+INTT6Ldq+1ufo0L7GysP
zY345hbl42lAVsQpRI14ZMMPs9VqkTVeQcLBJBMNB53EbwH/mw8FRd4AIbYJsbuhP0RxOVmnoU+Y
9LYIIbshO8Y5Wpbri2hLroGfxk14lR6DLOwHsR2Q6COoZRh2JkOTXt3PsiRsDDP7+E6PuvcPgDYF
T21mD9OLRa9ZeItRXM8SP+xBWlfaKwqFclIjiq+N1TCFwBCXm6Kf5skrE4jUqKzUtVGkj+a0ojdX
H82RTgUzTBaJvi1kpn8eSyMrPEeYrtX/LYX4PdTiHLuPsQT/Ubn+CUW3fpOme8NWmMXJ3SEb19KD
x6g97PXyFZm1tWLjOGrHRlvdD9IwabMw6QvE6phK9nENqkb4inMe7nToooyNpVybJhAepNFRSVbn
rFmKXMY1I5BDhT3wE2PG2pP41LKQZD3nFqw4QWlVSjIFVOUguR1Dqi5yi/jG05Y15vt4FxH40LYL
C+lpFIYd8tJ1mHUn5rUXhCBgLjH/NyIJgugC1J4/CZBhzFzpqwdiNNSES7TWgi5Aj4haoZJ7ltes
Tn7L+BKG3+4+v4uf/djdoQf5dXfokd/Ti/3PuRk6/gKSLw66fnIQt4L/oBuunusHah7++EN/6uX9
x/SLgf5x2t4h6DYe6sc0CKCQvBum+sfY6fVcP41i/fDaH/n3Jef5Jf+AN/WNwqP+3xr2B/pH3DZf
Al+VL18/aQSaAs/z30f3bwNp9Y+Pe+fnR4cvYHGwoKkUG1FjnkTs3wjK8v4qFXlYrRJ0hqtV27Kl
UlMe9dfqh2lzYjFhHwarQ6ut6dnfVEHDBYIIRWJVvrEHA1eg0PAJqboalEuRNJWFXLpWW9o+y27r
GtEltwUjCiGHgq4KC1md6gxiC3i9ViCtMn3gflrk+DiaQzdV1YoZpBcKtr68YgFWIeOiEug2M5WH
KA5WAHPN/k8wvlrA4WQEXCvRxx8KVO62dBz0q+eU1mixwEcoqajx0un7i4n4XzkzhdJdMg2SPbQK
SyJHzwt272CK1vgi+SRml4J+A7JWjAoy3f609dkLR3odnaZZl36db1WRqYg51Et6rtgyDTTfaKpB
mDEeBJG+bFdrjrTrX1mPhQezvyStUCJEg25eaz/RCFHD4OBmECTaXI8yv5cPrk41sXqtf5JhtHsb
pM+a6WD310c0rLtf4g7dg4kCGrWWXsUOOR734fyePjP6Ytc8Tle+UF5KRfKZgRS9N3V/MEhfIkzz
I/LQ3oAGJEzrZORBQ5RVWDaEr1X9EeS5Ah73vwR3Uao5p6mh031VRkEKKZJmxvXa9J7H9ClbxGXw
S8ocgBSxR6MIZTW2iLsp8kdhx2RF2KYQWzMxCeeQcrSoVouDVCPY4CZMswfnQZ8GzIzbuBJokD7p
1SFEysUyP9YvCc0oc5nDYPOoX1UjHeVCBsQEm0VwStpBkmhgYwI89oGkyCs5odcpeLDBA0QhIb9S
NJXOYTBT4VyMBiPAC5mfFJWXIQQX9hYWXmAf5hS21lhjWqOLOHPn14KUcLLUXUDYAXauD/M17J3F
RG3eTGDXqlbS9YWFlOn+oRYhwCO3TrMbNK/qwwiiPK2c8GHU7A1bgLejX5tgySJkvKYkdX5OBmMH
i9/MwpEmjTUXhXKo4XOkiaeEZb0b9Ab2KjhEPH11b9vVV8NPA8G6vtZJ+8YTfAxtSzXJgyRdXqvN
+vZpZcf0z9XvpCdZjSNRme7L/GwIodZWUP8ZJHFuMA+NlQwmjBVACypqC1kqE7JzmBSAc4+okgPB
56V0IY2FgkTjKg+LtsG1JZ4Fdc39c0cCltkqgmVNEuUWRQ/8BDCCPup6fWFWb8V9P7RWoUAzOCI2
r2JuGZKC31wxZ7DXoM/rMGrF11aPDARpnFnL5iZ7QdTRKFebXQVwG473Uk6gWVDX3uQRur4v7HVL
kjjRNuPDgA8YkUpAmgdeBKtOFNCb76/7jYJsIYKY1HdQJcqablG5GuGhZE0taeHZRfEE0xeLZcZF
jTO+YRgmiqchjHtzO7Nb3BzRVcL56lkMY46hTnFhMHGTAWAzF6iPl1fv+VFnCD54v6P1Uqo11Y9h
OLLZJ0zVpCLuZPmwUSjjFNjrynGoyxC+hB5WmspEkpWCKv1VglTmtIHSMdMJpNkNe+OGAXYABDke
XiXs1fd7YHhaA0kYYejRJjYcVJYmo9amy6XvznR/5akDD/m4XuAOhLJA4omNVrelyQrWHUebio/L
3gZk9y+S01EgRnPnY72hD9pVQddQ6MyEtgsZZNX64j1OUTVSbpxMYqs1k1SbeHxDAUlZ7jXtkU2D
QOe62e4UBBlGqtgr2xYJr8YYrVwNh2ZoUP27P/LvRlxOF/gTUXIy1HK5X3n7kPowSv12kC/MmhqD
OPQPWTUo4mK9dblIqrUFBDwCNXCV4YhC3wImy7kAZvTQezhk60V/wH51ziNc5K3zHvXKI8AIuPqy
SQ2ibEnC4546k6WK1uaDkLC2nPWvvxvSoH795g7wWZMJJGyVXFSLtfVFNFnqfppnYFkDcgoDQ1RC
+IkjuNAWWBwgWr1KUr3snim0MQcFwhbclF9EGW/PC/0w7QNAECas+hJ04aD11CXqI72H/bTwStxx
NdLjDEYrjOF8QUln1Wc5+s5usr+mVQivEnqHkUmDyM/wdNIy5CyjtYbUsZLYeQZIkerCHl6Fmog1
dnssp6JAW+WQcaxlqpZX8HTqT+LkUZ2J7TYgYQTxNabbwSj7hdoUPFAsoMrS3FVhmDOtt8I0TyS2
9oRQix2UMupzRr8ND8aCEbJaFeeMfSz5G5p7GMGr3ztZqe/S9H162O7QPhBelJyHbL17vYp628/3
6L4oJA064MGAPBr9lj3CL3Ft3hzhEkosT8ot57DWZ1agFYg+U0ZhXtjbKBoE9D/2rrW3dSPJ/hXt
Bxs7CRSzX2T3AMbFJsFgF9h5YJwB8pWWaJsTSVREyfH991vVTcmS2C21yG49NkFuri3ZV80mq6tO
vU7FlIR69FZM0eBM4Ii/W1msOAOR7HwEqsUU26Geh6O3fILJXztvDgVo3Kkrag8imXZ9rZLnVb2v
kHlCzGgtKi7qBZO9sBU6b9guEX7HJpOqOZkuRwoFngQOcuww2nLrnmKX4dpPmHwZg8B+fSQJfHyb
ZCUlccMMIeOzPeOx7VAsZUz2OawoRLo8Yz5xqEek3RYq7X9YbetZAnfaEe2gjdHsgrvyMAfthkjm
895j0dsBuycS0a0KzFvvOvQsV6zPo2tSF5smPVfsUc8cVvzCTETqgoQxbHByZY5VgutVQ9FWLcuX
rwAp7Ddc8QFL2Q1ljIJrJZJGeN7bvRPzyQq/jKvRCve74SJAtmqdgTlU5Ua6xRrNydtGmeMVElUM
XYPMUhxkpvqHsxqxs/q7ctCJ/vukFfhNCfOwf9rT0puZevVnqd17YKR0u09kX241+8g6SrvRKS02
iUwiivUKzyqn0I6Llxz8MvCMR+CRvrwUurLW7RcxpQA+Z6evGacOg/P0YCRMHQ6mtm6Bu1CCcXBK
k9P37W7F5XbHNx1w2ef+uvTkbPxcfTT0qUa2NfmzzuOaaUY2mkqiCAJ3HnTjuqcMC2bBb6n3Smbh
Py9WTD+R1ubhgDRn8D+npy/nESOzmhlJAVWqkDdT2CsKaNZtYwHEaM2bZx+XIQYpDy/eES1HaLMh
SMaSjgLeWXVxKiPe80YqdIFM8/3jjoRoSi18Pa3G+eTz5RZ6a49ZGoiMBT0pNuoDk9LRk8lYLzUw
x1KlZh6CeTjzRfVe1vCzfOJEg0Rw7kk7ZZOHdQXmeFOJA8hCTxDG0LJV4zHqSegfXjE4i5F40Ocs
HZwLBBwwdUWnwCbxXYTQJ+Rtv/VwR0jWS+q3QOyn/DfVR455kn5RFc+n/bk+PHdzvj/aqypYVaSR
MKsrccqSeCjOtDDumd1y9gYmbmnI9zadADZIxwcyYTdgg5uR3M+jcXAjLDKvHP7lx5pyqVQGykEJ
Hs5CrXvHt5iimh/ki2Wp5/hYJykgLTU9r1jbBBjnvLI0sKZ0TI8AByjR+ewT3Ex/yo1Dw38ozrIF
h1vcElo230fIaHARTexOcF/AreqE1gKAiGU133IyPSF0mmTxdIYd0FKCTd9nelj21AY8JMZu7tRs
/wl/glI/No7YcmuRUb/iTi8Z/XjT5T74zls5dvXjKfCComoTn8IaprDJndyYlOpv0JF5y9+LNXV2
Pc/1m+GFligWU5MYBlO3JiGCAYwnAaXTLpGcerL0BD+dhvHcdihFYHxVF5Ni5ESWmWQDItOeIAsQ
VQFHbp032MJZm9WdaItT7tnV2U3ajjQ7cEpxONNNqYPs+7vsx/7H3nxO+/AnXJ4raLn1cPZ6ZZrT
wPoqgUWtx0mbqO1XcBTL0dAUxuWjX4ZwnQ7WZsIQzESwVuaR7pSlvmqZsNoq9PtOuwWmVsLRqXaw
UoIgaRtRvdVPUxWQz+dG/TZjFO1JeYVTPW7LGP/lTvwQ4PTpz7F6XKqfzDf+wmbQ7egtnyEnRl0X
DiIbPYKBBfG0m4e/ZQJ85EBI4cnMH/86SBfHv00bhBS3uttLk9zak5JxgpX+UxylnmLEez74aT4r
X8C62+/y+qet5NjAj4Uz4vpJ353nz8V389nrznwNjkXGgUTZ9fmAj8+vMvfoHH99xHDAnx8eNhfy
ZyRxPAEHbBTilrIFY7hRtkiZYKE78CMgVL26AzYtE7o7pXT0SigyYJL3uBjPmS/OwrkIsbn9O7Fm
AbdeQ+o7/barKOrVNVJcLSZrgUPDNnmr6uWJAmfKu+ZgB3e7C81MnEzKTtqg66rGzwWEK2NhzA2B
e6MKqd3iKXD3SWjQ55pIQrvUQ7Q56bVIIOHYIzy8+7Vs3LH/QlRF/7KRkIZZtsvTatUBWmRG0Cyy
zBy+ClO45knz0UEPNG+ZFr33spoYQKnbXuysbhyhJGWhdGLg6XmHx+H9HgfgCZHRyLjfqnUyZM7k
Z8H7rvWJUlfFDUKE4CodZCRVlHZw+UMRg/UAJUNM2MZ0aNoEbS19iIR1UQp57UbV3lEJTzNNL+fY
EYzqJuT/k6nlSvXZjW5h3Knqt7RK6hnx2ZltqTZAuzpMJ3o1QUvjI1nJmlMOpy1qatFxyfahgkwg
zakM7lGbzVKOBWw0klf9uYYfXUXHmIQtFmEcepawWG4kvDNBIgBk6bXXxsPnEimiANnjlC6kS2/H
KaGSCKnefVNwYOQol7JbinE7oItduiwhODFiXs1qB8EVRi7TG9D4L3k5sTrghIdKdKx3gtpqc9N0
DlZTVcO+yL1p2H1c/6rmJqnxoepK13Vdd93cDP3i8SWf1MXOheOFpl1Stgevu9PFmKls2SCNkM3s
YsHsaTVwV6NUMm5ClahtixmOB3IbT87TAVVZqKCHVu7jNb/MKJ+953bvmMnMc6bDUW1Aj2oD2kUs
97IW03nx2prPlw6EEFfl4bdt3L3+563fbAIAn+gZfP4mHLB53XzYE37W7ywkwLHAV9IIrstxBeKJ
ejkb0Eycz1DQQIaCoqFg/JoMRc+mlxBc6v2QKwVjQrhKrjVYcnQDSMqbpDGNYXmoKzbV9JsxXUgP
SkceIeu/bZAbe3yoOThBB0idL1wTVogIlVwTEoTyo9a9hKD49NXqlz/gLbW6zGmnLsqtOKpug1n+
Vo4c41OQ3JSHwEzsOGaKUPbqa/qco3IYQ44UFSlAYM3USXIyPu5lZVkgK8vQj6TJVbljSXINCo7R
XvHTdRqjxWfOSBLhc3EYJMcerORSx9GuaWk64GkaQhdlR3QRB+GJbpIakQFvK1A1z6aQVdf0aMMB
Tsc3d+x7dHna9ZSWEh8AdANB/NjY9jb/71rHpoefV7V+Z76wwA/KU8yT8BNjr70UXdZJ0WGBaite
lsokZvB/93m2ZpCDrZTB71uXm2FmhycDoSIpuC5F4N4Krkus7oCYV7bMDMXJ6lxeVaaIZeqaIkg+
caHfUyAIxGUghOxSrNU2ddLD1JE4sdh5vkDmY2tPMSM8G9CUX3MMxBr1EGwgKI0ZNUDLvB7sVLzD
r9oZysEx4/xKgy+OcAs7sSiil7GXYYy9RGOfJVdlbGlyneESx6hZMLhJJq7Ol6BZAAWrqzHtZKEd
V9gOzswn+VdkM3pdOChJkbC/HzXD1vPcint9X74KbF1aUDuBIOlWYuXmUFq+5QZBWbfJGY1SS7At
QhvhaaZkGBEyFY1mnLKh03WBcoIaGVzmgPWcjTld//RAkCGTZpT7xRbHSMTldq6i9nGhDR6+Aeqb
IDHPTi+Ou1nR4lxTSrAkJWrZ2KGLxcYhvNqm5/XopYKXJC4oUUxdbnHOLrlzQi+4c8IveJAjtNbt
IWtrKi7pSFAb1LysaU1dBgZJLHEuWZen09dnd0ODe/y2BpiN71vd9Iefn+4keXp62HXG2wXA4Ffx
YFVoW3Mh2iTiKslw5IQMVP2oM3blSyPze2m7e/Pu4TK+ezPWhbamupgsH6EiIsYz6b/hajFBSt1q
XAxJ+lwuh6tZia+sCBBruHqVuvVKeooAWQB99Orha4VcFAQ2a1SVNYVD+yYE+uyWJEzdipwSwW/m
SMnkwgrffH/In2AJv2irOcDbwJ3mnbJSw4FggvM4j2v5dVK85fXboZ4igMPRK2er92KxAK+/PgYE
tO5N0ls5Z4mKYdM/9XXLuMtUDDjPaKj4xGul6YrsmAznZclIkAwEwWKN4YR6Qa5VklBBxXHkJclA
ZJKxyMfLjOs70K1BEkBlJIt6yJCSytB5NsNWsPltM3lFhzNnq+mzgxiPSeRNiUm5sKG+WE+ctebw
CMfaPUbPCAntIU4VRSnuys0RbZgy3/HbXnjQTgTGPWf7dkiSaRayaTGtFhjpLep6tXCUi2YUaTwj
320v7hVCEBDTSw800UVf95YA1w6q2DFemwtucE37B41VQ86w5trgW+vVwvtWijHbyKyOQZUYbrv9
aPu58T7mJFMDLkiXYVkH6zYabqcuw/S6zVIVKvHZBE26aVh7XiWF/+n5QiBZ6lPbu7/F9XhRAOum
UymfLYek1amk/Gal7n/6vl5uHHR79QLsgfEeD6mTSkTAoFO4VldBZQOWdrimVt4P7ivSPRTI72rI
lcf5MreXmEpN6HFAxfiIaTAVc0SjgKcn1etGsaypEo+CVJ76mL8TD2Q+HtcTeMzwWFHO9Pd2r4v5
jYTfWr/X2QTHKYkn2c2QEbfLS4ggOGww1AG2J5L1GuT0NZxVeJYCPMGw7TVJIh2PLQkytbzbpvM9
X3z7XL2u6jv248Od+OHhjn2vpf6OSsAYCqMgh6Q+w45An4l2/eTggFeWKmSWiHruxtUKa/1+XVXL
wnn0fHhB3TfBib8d5Q04NSsNddbxFMArMCPto85Fhqzjmbq8dFJ6unQypdKosjFDyiMnXtI6WYZS
UWaqCABjewmK1KGePmvtikRr1TYrDk3JIGNZSEH0WVWlmlyv+2MNGmC0p4BSdvkTkyQd9HmaqAAS
u6E/wVjootAcaJZ574ICCKf95MdzPdP/lXax5t03xzMaU/tgrPCoZZL9H+cnmY2rnBDdCpqp4EDg
fBGXdbrgnIGXTHY5a2dUY5JkV2D4sw5qLEszHvzoNUPI3AYfwSjlsYEZqjLCCehqrwGaJ8HO9ZDY
Q80RFINdXhNDvcHGZptf6tXztFxi2Hlb8zw+6bfh9OJPsEUFbht8eamMi4gdLV+brpf1v7lfFh/L
l7KYjMnj34rf9G8vprrL5QM/CRtz4MuqLhafv0of7xf5uKxeF9VqTh5fiikI3j3cmtEvz9UHfaxm
92ZszfoXytwslC+KnDz+tVroCUyHl7ujP+BO3soRbsXoK92To6++XuJ4Kv0LujXnN/P2crXQjTrV
Z0cQliZ/d7/e739rcqNibKvLBwyPZ0KpSwdhWkeoc+vUw8PbXUIO6QEcKsZ5UAO4W5VjD0xwbH2R
MZTPezVZOeJ6OtnVKyITNuuuyW4bTk0ESHDV/67vnRFtgSwbktzw5cOX7KYv34fw54qFJ5zZ3Rz2
ZTVcF1fs2V8kbOJcslD+No5jPFDHYehcxRXo7m0NtKe5x9VohTj8u99w3vV/3lGKP4Ivu4FzHWAH
IP4IP/nQcw/gG9P86lbkBGn5VARnCq63XDrSyNzc+dDGwx69Sfz6XLtgObtniBVjJLm0SO3c/x5Q
4I6m+RQ0yvejav71iHtAYOucetEUnipNH7pEAjv8DDC133sk0MmSQKrDCJVO03zR3//rn//7WK/0
fEdYzQpRFOYlBRXXrfDbWt6LTerKLplnFz9jdqm8b36l/WMHnwE44j8/PcHff9r3t5GURYhzPptv
fO9/xlnwY17O6nJcDOv3V3zpmJyD6jU9VyQAzjLx2Geyn9PXpQP5Ytkq8YP3hr/l5XKd33+uVrNx
vvhqi3MybPKFI0FEIm84ANhE/mp76I9zFjT0pxTlEW+Wa2WsjDvSv3cOlWQ7QfcjgJbwOah5xuW7
gYQlfPlAY142ENH8pNFP76/m3W0Glf8YDu9/pY/DIb6k6R1lH0l+x56b+KF+g0p4ows9y4NZ0jKR
WiSJkMHwG3xrDy4kgmg+/j8ib7cUeetoHXcLDkFGZ4VtUJwSgiKiF31W2OH395in9/kvP4zQgsy2
RNY4ylkEpL2rQJhr0A7OQOmi6rx2Z5J8yKQRzkU8EFikSg1i1NpcKsV2HkMrwNsTIfUytetlJKrK
1HXZVdayq3uInuwaOJdVRXtq/kHiaxGTDCximvBLqyRqV0lC8WB6wY7/QRzk2eA/VwmhkXWsdZc4
ob2Xdj+fSgK/FeDDi5nNfkagL0SvquCW/mEOXJh0KzULjQDgr/Zpy0hAK7y7wvqw9aoHO9qXd2jQ
cUaQ6Jj9AclvC5Iniboyc70dA297tvRF/zmPQ6tHvWQZC6m4uKOpVvgx+J+kJZjLJmfho4GzIl9o
soylPdgv/fh1z2sibcRgG0UPMui9vDaEzRz2O/YXsBt37MeDkfOwFXRZvzDavpAKu5Ay0c31+kPF
X7LeSXCv405iIiJud0DSw8NQ96/ptCVMk8iAdcFE6+bJualrHuqW1OZNWy0+k1qJE07J6bfa2qlJ
LZ2afnXU5JQYi6PhCw0fuTQu2DMpJ2TqdC3Fzsvhpj366eFPbesLvmPGezy6Nfvr8KWclTVWHcDZ
mLgLWVLwizss59bYqV1jY3nD9QXLbGZ3OwF1M2bXayRWXM1K7b6mpMEUK3X4mj404c6FHCf+YB8Z
zkToo183qm9aLN+qsZ00I+MKzqfoczaPudEYgFk3cw4TYi+hz7CWtc9eW3V8za5x3PbUvnXqx4W9
taaJ1nksukZ6e81IuIYULMo+P5f88snnbkNJoI0zLkNq48za/4/li5J2uL/diiG41zyrgA+T+pLw
R36YqexzfG0qULgcaZZ1UrMhQdKOymxVLN0liSVjsR+7owNBOe/AXzkt65FlIhKAMtLuoiYEvlCS
8vSsYqkbHlN5ebFU4a1KV5pIF8I4jSbSkVloZx85UTQ4WKjA7T0YkuYMYXYWUrFLO8zOYCHS4enq
4/M6zcvJMK9rOKhDcGp0I621EFt68uiQP8Iv1xNhp5LTs+o7PfhOnBRY6e6SBLRk7fMcZp5YC6OQ
jEW3QEfMAbZypCTrqDG2WE8tumNoJe/XMSTOBik/o29Dnb5NF3ug924oN2E39kHIbMBSFsBF1ISP
Mxy8bGivhqOFg3KK4pzHNA1pZZT1tsG/1e1PIXGMY5s2ZC+oDBd8bOgirF4+jphmHaWjWCyqBQrH
fF/2ZTogYKNlIPPpsROaoWBc3EE4DpM0jwzlQXwm5AJBEd50LgzfinxcGAr9cvxYjvfbFhlF3vCe
0arjyxLLsjw9055pq+9sgF5Q7D2z9rJCZdGXFe1lVRL/CXPLbiXvoy6n1XvRzBMD0PH6Wiw0I0Rt
J57mOJ+mi/E5wygAGd/HI7DDPrmvejV6eyknxV60eZP7Ijy4B6lpjI6xmaSwWT9qPTdcafqHVjON
z8ZlPqlem/ki02qcT2pH9oYPOO0QBG7zLq5KOC6TOQhuK48BNxgDWfJ8qJDZUSF4t11ScHuIuLnh
Gths33XrHcaWLUn7qIhm5mDTaYxcjfVbUWCTczWFB/3yUixw1Nu4AqA+s0aFmeds3yP7bnoAx47h
WRnpJkpukApffl2Vi19cPTok0+PjQ8BVz9s7dE4to1KBOeDnC71TRS6dGHS0oaSUnf+RwOVYqiZk
bwO9OfRTHAqxez3v+eIrns18NKoWYz26zRzC5mK+mJePuxNz2ijRjyvvRN1vxgwd0v1I2kOJJ2ja
mxkd0HvwMpE4JVwwmanrwD71LvjhnEUHP2A/WRzlam+0oaBpaEqCObMomy7yW3DIuSIJiwO/Dqb8
U0o9GdZOPH/TfAm4HrXDbKRDv8P1tTb99o75cp0e83l6eaSKjeBcsA3ZYfz01N//8dP//P1vT4OH
j+kEt97MVd/mPdCMHRuNY8YRwe+9TMrXt6UBWsNlOS2qlbmL6DJoEoTNL2mGhJ+aX1l+LNtTIzj1
9Ub/8a+fLnqxTIIpCBtc/FQt9h4akqpuWbNjZw4Qardzh9k1JS+Pp2yFVqk4qdCqp7MiCD2XyheM
M3Yd8OOgiSAcrjXJIvivp2AP7LULPIPRG3skaRfbvKfUrKrMRCj2FJr1IUjAI3686wcSBKv6rV7m
y2K4mo/hC6bTwJlY2KNtNFMYYQ90HHSq+eB6eNxpX1egcYr0CAxbBJFgCJEmcdS9vfMIzAuo+zjg
zgrp9DSALCpWWeaLobkRNTxYe0hAj4tjqqf8GLMCsuHmBGdIhJpk/cxXDQ7tspjOhzpCegBKWAEP
lSI9K0I7+QrJsebYkJDsxKsD2E9wxO+VXh6cJ0IEDZzXBJFus33SDNYCpdtTC75M8iWcYISBbFK8
F5PhDO4SvjRACGMj+Gp9VXbGEdSUMo6mFI5RSxwNXaAbfYSbMMukJ3PakbAw3Fkco2PufBM5A/Rd
Ld+KRfO21bxyjuVLV9o3xpm6ErgXKdb0jQXmyURdBR63y2s6QIoHdoozFCvQT5JgVv3AuFl0k5Or
j153Cgv5+wYItayFWMilTWkc9WzvdSNY7Zvy8MBSP6XhpARPdD2Y2t60I8AVJb3CcPZDd7B4h8DW
U3qdXWhcnDVqE1DPnaMMVSgWCEtYyY+dSM5wH6cDLkV2UlXOaah2S0GMXstWlR8ASXDB4iiIzJ5S
U8RzNgS5eua4UzpkDzWwqlSezXEgXKSXLoY8UgfJlcgi+RT2zhGiRLc83pF91vlLYS++JhSJz8M9
B+uiX35tmPIefnor62/hT/4t/vTbRhbbLfgk8Rwe6ofbDLmBvb446eZYeYMiOx4C37GX7nE/Z3s5
FREnN/P2OtxZhJheBJqBA5R3YTWrECSwIgEB/O6jXdhFTQ1brAPNPA/0Hft+/0ynYG85CXhlsOBa
AGaVHvdo4QFmmoY9cANw6iCXwUh2XATlAk9CpFG0iYNGB7SJCGoZ53Buy2X5XriKIhlR0YSab0UQ
zNDFcvr6OZDHnsd7qSozfblNfI4mpcNxh0/cr3TWAd1wH9XbAnya1GmB3ZZu+MTguDNCb9sIfBPO
AkjYY8+eB/ehORC5TZEgm7EoysE+RocHTMQ6Ja4FO1iq6+C6hOB8oNy4mJXF2Cv5nYhUD5GKfAes
I0hTOHPByoPGhXne1aK2rwa2lfHwtD/b3LJOOWM80XwbofRZvXrWZ8jZiIhEQELduD7TtSPhcK2A
u6J6arXtoqdiUuhheQ56FSHipq3NIXdBLEnl2VpDkNVOd4u7shpUnim0bSdyT3Vn7tXX6isWOMK0
ezSPlngd81sso4jAi+CSJ0nMWLDO9mreCqsBR5JQRW4hMpqo80RGRcpp+GiNVnkkfS6Xw9WsHFVj
R4yOSVB9yfkqOoTgtx8VN5YO/yQqrMmjgbyo4ejraOKotsjQXwuF416L5V+x0LoY//D09M8VaFmr
nGVJDORudjkkbWHDSiWmqAjpFbW36i4OAMf6BEhxag4CwASe6N3zbYxGO3v48PPT3SpJqKACvgj2
cJCfTdKBUIL64Hza1dOxCghYBsbVbeuGb4Iqg0SKSAeG2g8MqAZ++nM/2RDZRwUgfXbaYfkOCmJd
RUQY90Ii1I4z62LxXiw+vcmXagE+fPVeIl90PjEESYjJMXnv7GeiPe74EfVkZwZVaPS773oLa+7u
30q4yiWPsNSa/Mpm3nA2jBc7BD1uRPUTnFWaxnZoeNv0b/wfe9fa3LaxZP8K94NcGyW05v1IlSoV
y/F95NYm67y9dT9AJGQhAQmGAG3p3+/0AKREcgCCwIAAfZPYlETJGmDQj9M93afdxeZAJiR8C3BZ
yoAzoNuuPhEgbU4EKuNVzHQLEUpNXGa0cp0VcXcgIZ+6UeQBCnP8OpmsylIBmEtZs5yMDGjClvli
cm+C/dAE92Zxy1i/XtG6KnRBX/lzTUBd7UfFzHXC8fmmD+c+Ai17HEdZOHMDSejHIb7VzLn8/nRr
qi0t2hFK5wnVWexGJ/lHSfOPovgoSfG1Lr5GxUdW/Luw+D4uPha/R/Dtf7/+eaKKj3f5R158zenz
j0Y90fbPEb19nev3j7/e3YeuRoJj7B0dVAqfg0SCsJHEooXhsz1uRfaryvwJ4MkhzLsRcmbh3EUd
yuBxiU654xWVNASpmgQvXT3/dec77iYwAsqxO+DXhMEsuX90ojeFa7IItbZ+pfQ+BHI5tRiI2wYK
zF06B8v7QwbzafgQTqe3eQmEOzjllgKDevN4xaSfuj5PQf0/Vo3cTkkuY90eZUKWzQ4471xqOG1v
sdseLoAQ3YHmVz2EfduPYRg0Z+wscGGRoPCH9whVrNdHUJhfxk97FVUuCagi6uTJducYuFv0ABls
mhDNU5+GcfB4TfePnoQCmhqiKDo9BqaIQYsv7wMB7+U1IerJwWkOSTevBpauEJ/mr9i+Kvsq7St7
+pmQ2XeIfdX2nfxzbj8PxhcrNQ3NP5YBfJvfoTvzDsbBxUpIMjGvnN6a9/HdrbmayrwqJtjYMsnY
MCyZQHVTBw2Pu12AZjuXwEGYKbBqYEK9u3OnH4XQnqsTIBdeiiJob26cCNazG8eeEBTM5IOEoD1/
eV+WyWECj7AYnMOuKqrxWBNOlXf/4Nj2fSeN4Xzf08pF37pTlZuFx3VCsSeDVfSVBenjfOJmaZM1
O2qOEuoqahgmoNcC+zKXtr1xbPPa78OqCIhxOWKYdmS7ti6jLKtPDtBfke5busoM/YtPBJ9QIWXL
R2yRyMHnyYCwV2PfFipLNsoztjRL++ecWppbFczf0uW6ihkcadNzcECbP0/lnX5rOQmVp8gYjdPV
cpm8B2KvRRC5ybU0sSRUnaJf8CGAgMvaasZw9sw9wSEj9ZU4CIbGSHKaXDJzn1VCWw/rxml9/AOX
OUqg4a73mBswKR16xFyBASCiAxtXCb+EtzR5NfySulcwUPvRenBUgntT1Gj+IYgjE6svY/dyUCZH
h4dzXIb1RWm12WtFDXJ5/Rp/U11sJhVU+QvdgY482+iiSs+lLBzrTqyS2yLBsxXnFI/mKCALJolH
JIDEiQI3Z8iGWM3OnrZQxOkIifZ3jgRgN5hPk5mV8Q/hMl2l41k4g9RfaQMZsewHxFtuwF7A+pJ2
v3ZPbWayo8W1I9lJ7ISM/u6WU+XLwNgJDpuhDkHqPiDOh6t3dMPEvcPsMP8A/ZLvLFhkqXfPQKIZ
mE/XVhKttdLekktNRJd2pTe8ZGOHFz2Wnjc++YsLpPy5C8aV6hvEyx5ljnemzLhE5hD+q77tVHVt
fCREo0S2N/FCqqPFRYl4NRn+uUM0S5cmcrNkvltDDfa4fB0XwCnMO8L1OssbQMBgkq2Ml54ks1ng
LOxDsma/HTk0gu0uWc2n2zbTcnEQOpIS9ydSTJxKpPJyBKZkj/rDu1pcluiP4p1HT9NwXoQQJdNB
ZM62dBaJbWluzPgH6bEvS2rSUIELe7VOThQp1NJ53yDgVHOfiba9KMI9UpFC0pj2GTgheiKsXVgR
prrdZjfXAaYmrunTfil0olgx32aOUTvVWYaLALgswNEbDZokcWz77dyVypTbptIhpFP3kMFO+vTq
8vIKfYGuLr+4vBrnuVRU3anLwPtw3qfz60p4VEkqh+BP0dXjEoskhhr8A+2B/VN+iHyIOyH/DVtn
zj5zzLKjFO8kiGOoCE7dTf8UIoweE1Sk7wNPSvlJlYQL5Cu/uohX8KGqCApwb6/R+gGav5PULXDM
T4rMOGIdnTTnT7yEfq7mnPrOVsfiNBUbJQOIkDYhXp/4v7Okq3ZLmdKtkzIHIOp4UVrQII1tIb2u
z7Ho85SsK5OCSoCkHkYt6Tac8D78o6AMhVmuokddFk08xo5sp+F8mldijx/u3eWWEqrM5KlW6mxD
ZUk00FHnsR17u9OpsybKGGePi7BkAhIMkxAdgWyIkUsGH0kta8707MpW4fPgBtnhpXrjkfwDa3Fa
kE/79E3stMcZjRxxniGD0on8GAwoT5cTGGQ9LyHiFJKPmOhVj8RpAR7XXuD8+2UYzgk3jtdgi/n7
vQHyYBf73FZxWtzMNB4GknruM15M4lVmfsv1F1uQiqCH6wsi8QuDkl78Sa4xtOjUx1nmheIDYAsr
YOYaHn2U62xs10Msguzeo5cAktFOkxXJAiQ2NbjF3NFqkVM9lyUtWidv4wCGIQRzs/PLigncMIyS
yU5xkZtgVYkRaZX1dCXDFsvoA9R83y6TjzZdkCXv38fGu1RkyTBwFjTChuX7XT4blTMYxYnOVd8u
6Bsj68vHC/o6tQbIYxJcNinzrRMyfLyPstBmkYofG9+HwTR0T3JQGMbk0k5TeOUtukThmkN6u70G
QuiQ3CSpcpOHPCK4zi2nSA45RWRbS5E3XDtPqqAtwXkVYyc2+M5YpMeqGn8qqPECvg4JnBT7B+a5
mwiZaYno2dpEQnOz73FAEqG4lfTZbuLUqjuYxIWz01JSNaL0VD7YnZchDet2dlPJJXe9n02lSmAx
0qL2yaMdGH8c0it3OPtoD3idmWCk1eMOl8vEmfqTzHgz1b5+kyHm6nSwBZx2Qw2K4j36TIJ07z4T
a+0TQ1bMaYXpkXQYDnrfv+z45gtb6F6jPkgCoQPQBp5btjKvEnnj0frzJhmZY5FwujDBaFgFhY1d
opZ7oI1piuaLVZ6YHyerLI6AMeb9xAqP+TqvJS0hnMeYGweFO0JG0fx3O1XKYswSLgKY6uYhNITW
7TV9bvkMDjt0Rgm/7tjpFIg1WOeGtwo985r2YVoT1h0pfYW+uYnqmfTIGr0ld9asGy28tl/tpYFH
mArEW2m6Xe5oHUeSmqfQT8kMpajPkhmKOnTh61j56vLf/zbO9vJqr37XfPVfN6+//vHr/7u82pAh
/HD1GcTLVY5asxEn9SbS0+PldH2Wm8OQh+z6TRDtFbYBCWMthlfaxC/kzQ6TOMnDl8ApuAxzo7Gi
m004rKxcN7j9Qlkh8zwObtPEiEhYSu1B5KjRXKXBOIkOc5VU1mqCoMcgtKdxunkxR+4oKkZQEQwv
TfTQDRiWYXQHc30/RvNp8tEShICUjtMwy0qstySiJi8arQwvZ8l0BTQYz2VyfxwkI5bT7zRm5/sg
TffNDkWcdXG3ZP92Zd58WuUh6EHPBM/0sXiiZYMKDO5suafbOxlVIFyIJ3jDDfw9+BAUeg8MImmW
LCzmKIleNMP21ppsoO8oucynbDLaduDNTQTxMr25tee9rWvr9qIp4BZhlB+zI3Xh7pPxKoaDP6TL
Ozue1m7SMabuRZoFWXgN9KLZnrSOsG7ic4fjk7znijnGpK6QH31w7f+x5u/tGlY7PUadh2BOEig5
zMK9pBw4KNoxHoycgFCPMOdUd4uHweaG80kyLRsPKOoOImuCRhbLxKhg9jgOSkn+sAY00iQs8BiX
mFVoa4BQdlKGdM2uPj/AgHDWlzizeqQTQzTz2X2URmlwQV+BwQcVCtJwFk2SOJl7bOpnTHcdgczC
7D6ZVkUgCDAWkYPCWHt2ygml8AWuPo2gQLaIcL/RhtQdJTnWTA7Fk58YNOlOArCaKen64UFyC3n3
0vCgiVhv5tWBgy4WGK+3YRw+wFFwSc89thVwRPlyW8VG2wPZcfgBmhLWJaluHVKKNjO0gzF25jv2
JTB/c4yLQMbMh3QRmAvwaPQQkx17pFx49ksEoVdYN1CEfbZXCz6NkboGS/zl1ZUlYr1P0uxL2NOD
6eVie7KHbL+WWrdNFxxeyZJCSRjpNDy0vuWvDoSRVCnvKufsVxXuk0074Ab3ClWN0KBhBo6uB5m/
tx842tHOZyGKVYGj0IPAUGWwYKctwbgDaEwoDNhGhjcG7AKRiuszbxrrnvcyVI/40NBpy3B3vtnp
kKmqOX+gIz+Dhe4U9E2DLMhzzi7Eh3hNyucSDAYGZ6sfs2A7jObB8vFp2re73gTYroXqFXObR6+G
Bsaqhmbus9b47Z5kApPm0vB047kAvDay9zKNsoc9sdMC1Rzg3Cqm3W6+cY8LhqN54dnoFGmsZJ5b
nwMxAdM1CQur9GARA/q2IZFldIviOHwfxO4p9dgonh42vIUpSANykttm9OkkJz+/ubyE+oqrvaOc
tfMk8M+//KJIRnx2dWWrLgg54BO1gEN5Ij2LRqlgMPNrAOv7ssi7Cy8Cdy6XEGKcMOpUCd3dP7Y2
5yT+l7r9r645MZ0OYepGqQPy25zJoLZ6cCDfElCsfcmBePPQCK/eYq2tm3CGV+Q8dr4ivOKtq0ae
2a312OKqUXpGg5udRJWYL7MXthKnxuBLaVbWqK3BNgvZEsbZOL9py3lY2j7WsMricAHlzo2XnPrV
7CDq/jIGUm3i9DMtAQoUi47Nf/VgCgSynBP0afixDgsJjWfzl9F2a62bMBsbNN2wFssA/eDqQzQN
k7HdlrIKUoxlwxLZBkLuHORIMWtW3VY3ppyYqAeY64K4vDUMa2ognezMGWT30XIK+ebscd10XFqq
Kdv5wRQMIpyv5rYxNb77DkbXlvHBM2HunPOenYOgg3AOWH4axtB/BRtH3FfO7zYO5n84jqxgHFf3
a1DpuxRiXfa0HjtUON7nvvqCTndd9e19+HhhfnjPIEP2gCDZ1OjvTCO1PsBi9rlRhmsAKC9nC/bC
JrjtN6/Ml1sXYWwQ9OrSY7ZpkiR/RLmDK1Z/bvLy746hefbBMoiWVh9jxmAeCW63tg3wbvK396VZ
AOUy1n1usDE2ygRuRhbbRQFGxpI4zoFEcGeQo4UTY+MSow8Q/Jhrvd+M9h1H1g/eRebHSEkvJ7PH
Kq02v3jYqyyKI1AKszMWgtyt5hO46OtpCCFg8Xj2rPBIqtOkdpwkxRTaLtuK/sEdMNL5JknyHdjd
AAWJXl845GN4m/4ZV8ai8MiF9Jb3yHsqg1V2v4vI4L2C5Mqmn6Pp9V2S/JTuVRqPR4qK8z7e8d1u
zgXFddWymoa/5fNhcAhBgX5HdoQYc5F192MapKpFp0DxwOpYDOkhoLZ+srWp9n7acwSWuiDCMk8Z
KPUMVbkQlTKISil+Eq/izr/pmgwFww0tumjs50xSdZLAvzruJ5/Mo+mS+k9hNsTMaXnt0252dM8y
SGiSrzf/6Qi05UzswJGlJv24zFZprdaro45zi8nqNg7Hf66SLHQfjmM7Da9XPyk06TeiUHxAuEUR
NSgoq+UnY/795/0YV/7sY1HasQiNAZmbp5GtS4mcE2Gh2IzRQfmcXWPj9julNbc1Cm4PntoRZQtu
u7WqAJuyKCyZSAf9Rh3itoJ9qeK0BgG5nvokUNtpOhEZa5JZXxeIruZ30TxK78Npzh8FnIfjLCnG
OdsRUNVDDLFU0uiy8FGjalfLZTW2DCj2B6CCeDOjvYSOkSLahSXbprwoMWW65pC/itJN4+LHWThb
jO+i2HJ8fgWf2KRzPVWyB86rfemgEAANyMpuGZ8juxoOWtivLogIZkYlX02ShYmTXtXocTAw1vhB
7I/BAbimV2mWzIoH5PNp4nrDZc7CMJ6ua5FwJb2U0HX3aBlA1W67TuZJRSCFuQkluRcvMgsseUSx
ahN3oiwz30maA6WzBplAfyXvHgSVYSBli68HVWy/JT0Ou90CFh/CxMIYaFSreIM1V45VXNWEb/BF
rYY0dgS+qEGoQjBwZNaa2M66wRaV0ALr6vZVdjqvWek0xYEKKHYa819p/Uk7/Hp6x+4xfqnX38LK
qyA3rU/OM3AOPR3HCEDntnTL2Bzd2ot8tfZKrkQbo9YLmvQod/Xm7jV3Kut5AmYD7kN3SRQDGmLS
4CnUhRp5u6X97t3KncgXko1ILfA5IEnYXKxHchMqVVc+HuAvAM7SSl0Jndee/NTaHBpxWKbWSW3e
2QjGdbZchS92U+tQSrT2V9cPcPrzR5S5fyq/0evLF+WtpsdRtee/1vjH5Q41e958qvGgbLhLt59b
8s9tMcPrZxa8iH79YGIY1aEkbbQjz7Zhtsge3ZWaxm9iL8J43LNe0/AbZUR/6UK5LpBOHZdtM4Br
z9+1p5HuXllxsGyqYzkRnHmLQT5JWcGI8bMDed04eAinvQlLM3kVGOG/5LVSXjHz43jySHvMENvM
QblNpo+OAWrjkVKyIWdsHCzfh+PfU4B675fBzDHwDhOlNOe2plPh4/xa1zCm1NK7o9LimGUWPN6G
n09hoOYyWaWf23/2eV6UViP2RBx08QBrWBePGdd3Voe175iFpezb8HCpcC+3ruT55RieY3avKQcs
a40V9YDcnOfkEOhz0jTX5nA8cLCTrOaZDW0Dy/EaTl/Okg97PWeMix7WhUCJYNx+5Zp3Sfmp1qKY
Ic5H9UaGNcwdbc9OHUOb0XISpM5EloZEljwbpJlu6foFfbNusvWINpHUg3T1Ff49De7C8eaeDrty
xSyqFl05txqyuI+3AEPWImBpbmZX8CBm0TyA8ZXIye/AFFDI0S5i40a7wkaqVpHSANVz7Yp98lg3
cQp17Wa96WFYaWYJQAZkI1xy7bsM9qsSBpsNP85tHNzvVWnBNABE6wgwKjsJt+WNwXwKMDmOASfn
Xd0vX17lf3JHXAjW1abZe2bE98ethu8X9jd8nV3j/LM3yfKa7Y82RcY7tzJE20cKyfIPI1DRfBo+
hNPpbVXjr4TGX81PaAPdXLYa16R/6d3qgPOLwzvzwaOVUYx3a/+Po247etQXxqp7z+7pHsrmWhl0
Is/iIVTQ52EmWp70lPZ37RgVtxYbaeBtjkY9XgeRLXeiWAkWfVptT3s5BRZu7uWe669oIMFw0QDp
qCmGNsQDTPNaxFJsEEwSbkR7gfSldT7wx6PjqUdg2wbeHhxNhZVtT6UnxCBuPl/FazKBNkJhriU5
gzFKfgzmNJmsLL8PmI+jr0Ry0vbm69dSK+decGmQKBucBz5mVA3BaJAw6KgpLZrr3jEEHgaGONDs
MxRxrAKEnA4XKFDPQOEQPijSCq4KV8Q4Px1elKfGi4R06l7dJT8wr1yeBe4CipA8bVh8FiwWZjHL
rmcA1FNv5wV9BcMQBLsgN9PZm8d//P2f8YT+nE5vvtb/+NvbD7/Rn7N3v3D0r9k0nn7zc/ruFxzf
zt/ehD/Ff3x7M3189+v/4Nu//+/82x+z9eerd7P4cULfvg7+FqfvbvjqlryNf569Sae//PT++x9e
bX7ut1/fosksjqa/vo0nj3z+7te33/1mfv+7b2L07heU/JO+jUP43T9w8tsvD/jdjwZKvnZgPiG7
xnwHR7dgBaNbuLdOmYc0Hr/613c3337z2oktCuIV707FrPvywUEfKEcUDy+jc9QUBMoHCWUODUGQ
XZ+keNr3cp+tBRuQy+6k/bpO24kaccnI2aSEw7hICf8HeBBKeUfFKdn9MgzHWQSM5Zvp0EbbsLiN
MoMeI/jSWbGiZc1hGrX9yaaGpNKxAB0k78SxPDWrOTyMFDXZV5j/KWAGb95GU2MHx2n2GIfpfRia
a0zj/TFgQvsGGstwEdrg4S6IYmgTf8bzV9Iwg5FsWNszpCNteBj/GdaFIN6mxWzNCGi8XhzNw5cT
d8e0Enb2zyA8bX2rt+WIjQclwFzIVwgJbPkN0WeVRTgQDEouT5Pl0+45E8rg/o66KbOlMQq2Hi6Z
gda5j5qFtKwRnbWiFJlud3UtxQS3FO4fl8E8hWEe0K5vpR06y0tZhxTGLbPrPTFpX25bPl8nHlLI
YSi9U1ifz36Kcoy8N/eJflPMoERBzmr6g62nf3m3TGY398HyxliL/0YPXH1hXqh9+azSLmDMjGEg
vE36fxpmOXFLGsynt8kDuGibcC0nrZAIyEvaFH1PE2MxIdkQPkT7lcxQVm7uaoS1ED2pu2BdNeDt
io/7SMuEk4TL89Z9v3X1BOkTl5dT291AfZS1112LiEGauN3xdiZyrrJy8H0U5OPsjrZ3V1fj8cEc
AxQlM8rOVz88VqFjTFlPVpJRxU9jJZn7pII2C6af+aHi7B3KRV09D9DzgdoeMEXzeTKBVT5EExMs
5HdYMUSJ4hHT5IyF26vlJ1qpQVpF5orsri6vrsxfX/iOwP0fGNbCu9NvUUsMeZl2Lc3WTZfJYjyN
7kzgAyqQp8nc6R6tgei1xYJHPDzn+ChB1YiqNldQP8zGyGnSGB3xA7Wg/HBJ0Xrj3T2C8Bc3WqJr
leJHxFIP1/jyTP73HPYRBe3VBjL2ZBaoJP51pAvv5MjDenJKlDF2GkM1/okgotyUriYMZ9qLgbaH
Bzl9pAsGEQXtqC1WOsI2EUnOT7iM3TbCVXEKYH4AJKq4LPOp80LN+3VRP6qVHjj85POBw/PImIUK
50ykPJh178tpPNOQvXTbRUguFLoIlC9ABpn4QyVnHVpexbFfLazqMVOQhVL6JHBoGpoNmgQlZUdM
iRFl6DQWt3QOkWoNhpMP4XK8DGdJFo6LvakKBLnIKQOPXvXQWWy6SOZpMYcBeD3KeaoRaYnJOzXI
VnjzQo55Mg+99vZhJodp745Lxl1dAvb0F5EKqJ3gbbBAmE6ChS3onq2PwcJ4OoZO3dRdIgItDg1k
8DmB8CoNYXS8W7sxw2x0qIuQNy+cy7l7Ntrm7N2XVHds3opvQH/0ahnnZ9XO/eYw90134eLqbAQ/
EtJ+/90PJdyXVXK2718F01BSzgdr7BJ7dJDm5i4vkhivS/s82j2qZRvt/n/2rr3HbSPJfxVhARvI
Yulhv9kBBkbi2Hd7l8cizgL334KSOBrGGlJLSuOZfPqrapIaiWpSlEi2NLkDDFmvUb/q3b+quosi
Q1+5h0KmVHZ2ptMCvIpgEHsGR7UnJ/lH+yz0k+P70raQsvinN9945A0VPt35uAXhobDLk1Ljq3qr
f0fYhEp+rYS/Mr8GRBXXI87RU4ho3HegGbGHnvnegOXD/WDwaGQTBrLbTUoj05kb+6qZ1mMcetub
ja/whcheFZyrCVe8Z6xxkUXYD/AOSO0uyjJMz6rAkJZqcQzGVDK4qKKl9FKqTUo1jLQ7dtyHuUTg
QNFOydSiCXcaTqN3q2RRP1ADQQmc+IgP4RKVOXYgitahNYCvzvVYXwCxszw/WCPBBsp9Ng9+Jn4A
+9PGEkSDfztMcK3sA2DdGjgopIDLejT7UZowDF8axO8+X4V7jeMrvdrbezEZg906GfYn1wS0XdUL
0mqbSNS6aiAN87gAyx5ozC7sAxO/6DPWPSwtzZ691Sa//4yZMAjpXoazqHhhjL0XCFlzUAMsvp4h
3hcSHGpONPD988I7p1hfYOyk8Lwsymw9Ja1N7vKZnu7LxhQ+7+w+mn3Z8XwxYcDUw9oWvlrvFb06
KHZJAkauZDJE04AbJ11fq5k6j+7CzfIwtwgTr3YvDnaM1uFsVen7F7rSrQmeUrg/LmClwB1J/u0T
eKpfdvLOvn79+u4re5dmixuitb4xn28zy0rJP4uz2TKC38huCUIJ/Zvy42Io7Cq5Bm0w3ayjn5GK
zI98e59hgS//MVwCO8I8vt/NsPiuUCLkG/jGNMKS5z4601EyvwVawqd38RLOFwzaP6KXEW/CCo4G
a2If3ybpOr57/iFNolvydr55WH1cRkga3z9/jpbRDPbktpxkHTYLZyBIwEdBc7SKGrsteoY1mISP
8cJkr6COTZdLkxPphXdAKR7O04N5xo/oC8CE7hFJvDBmKXB1AtsWw9es4H5CBDB3LzuyRpPtLpfp
Hq/kRXbAHgzBHsO9rMBKGaKIRcEKdkief02zuV3jYRtwEbyKm9Y9UZpOf0cAr03Iog1ffoA1l0zg
L5wVuVb7X8VcqzKesPf+arnBJD7URKZx7V62VtVFwUNh6CXR2sQXhxPhIvAHt0Dq1s9eywfTps5q
mSLAXxNHVnICEjqO7Z39iAmMXEqv2fyWmVEDET6p0qr/58c4+W+je1DLYaj523X0tL7Bv/lbWOV3
oYLDP9t6J8UL82sH0hAcTiHoOSGhx91u69Ms/YLRmSbXkyqsoDKM0N1tql71DMCkuIK7TbYHCCTY
DKv8A3I7T/51VZDHOaHFQZABhsqCS87OcmPBGWKFif/K4DL005sP7I3+FOdAE5/T7Pthez4S6bsS
XHZa8XXHyrwdmAqeIioLjYvpMyp0bxovhB0NBsMK3VdizKNl+PzBZIT9mIbzmtAo0sOVL0WfPTbd
aLCORphhq3BQxTFYrkkeY7s9qz5SiHTjfddmQtWf/72BYd/BJ3WTCNxLyoUbDWzXukXCZ794/LYM
QJnAl6d2g5MwNYqOH6dMx+DoDkoDfRG7ooWj39ruEtFumPI3Ai3Ub2rl0e5BFEXrW/yBPbf0wLkA
x5P550BFe+qvFo2qgwmTciwpuUwR8FCEi23uDxjbWM6tTywpflgU5TpLJY3XMXkBp2zGUTJYNnV/
EA3GAyei61VcDWXRVCOo+RhMaNZ6+0x9RTmifF6HLKr9q0RT7YMBcWiyF/ARydTEhMrCK9hJsAzG
4js5psIi6dphl6B3h8rIOaSO/Pc4t4MtuakJ1E8RZtEcfuyJ+H7t2rJMNgJGpOP722XVscoh+hov
57PQHpOR6HVL0eussVSZ95DON8vIIpyiLEszQ/tWA1LCjvDXEhF6YbvGxm6DpnxwrTpdENVaSJaX
9Ht0WXoT6/tw7S2wEsI0BG78eo/VQPJ1DJ5o+VfWVpOw/fAE6HcYLEF3mjnYFCIQld03Wc0IJGAT
A5l4PwO2xUApkIFpbFrXFWSizhxxeMNtK78aDbfgrtVwy+/ju/W/4FeOWm9EETK2YGgswKkGNNNW
WbqOTEz2peAQsRcZIRNGnBMXka9CALbKvHFcJq4570KDciDDtUFztvoUWP47uPwcG8xtyoMzJteZ
iZv0OpgVnPo9Bu6uLKxqgmLCsW6/nZbdOLmkzjovG56xMPOR9ozyJO+mripsPY/BSNA9NvoCEZXm
F0M2K9FsEPLbYk2TdAs3tYJM/UkQyGGH7Axvxavs8bjcDu0Dk1CrHoN2UNK0KTH4WCBtFNaWZHg+
swX5V+H6Pm+wUIjPxIQFrLe+6aZl7M0usCbiAEqllA4nWIaSBHh/OMTRn2CfSTUQmZ/tAjTzxj4y
6DFcxvMSgXNLrR7CyXBWeAFW38e/I8bpOd0g5iFCpNL6Pka4wgNQUbgw2KhkDo9JCg//FT6Gn6ub
6mLcb8yfREnxHz7CiuG/f3z3+fPHH97hkCtL1QnBMfWPjklt6UO8thMbM41UX4Fq3TXG/1qk/A94
a3GWCX4KKVvLEWqOd4v8AmKe+e6t+TYHAxN1+pjSeNEJTyNvEaV4U4ebb69EhCU2lfPFN3guoltj
3mtkvoFrkRFyhfqHHdM/7M+if6gOhvFkd/ivqMqw5cySQJpQo5zwcSWwtdRhILApU//wS7hZ34Mr
YyCUO4Pnq9DeDEr4QcceVFfF+2X5WdPOqBx4OCGgfN3X7LV6lXeIQcNq4Da/Uk+k6OPRmtboBgdY
YpWrUrh4/HZINuOyI0TYtbzjx+Qd/9PIOxIMGc8sSgyhENh5ekBvBHzKSXCi9VELoR1lezi1fDO7
txG7wHuHk6zN491Rmpod7RhIJWJlJ7rz1rxn0HAHIDgh9WUOhvhyGBVoWfDhZSOnE639Vyr/X8qt
CTZFZWCdzICBzkD5V0626hwD9iHOZzfLMDdhScxhmVeyuKm3EhdqJGVlV1XYuI+5FxnTCuiWr8PM
ipUVmg/DrG1DvfCqvAABHt8EqfirlyCdCjaWNSBbbma7/OKvHz//8s9fP3z8fOQ+NqBnMNkOUniX
oc25z7HB4U+Y7PQBtoMSePg5fcSnvh/Afz6uw2fwwBi8/I+ffqu7KRgi9AfxUkCc/VG4Z4VNZ5U0
Bk3pj7kJPvM+RVPvhA1gAXd0Klp1PRPGxp2SBxM6ZY+6JZ/2mdCJh0aCTvDTU2f0G5DzPHzuw09E
BnrMvWLeT2F20laJXiiGotLwh8+fj9UHowSjzsHV3acfLQb8VyP7hYIdFFLgAz5T+ExRfKnxGccH
PWR0kmtZq8v93Z4c/U8jR8dxU95v4vmtdbi6xJ4EVPcmnxcn+2iVOYWJ1VSea/RuY4TNfQsUnTDV
f03xJxOHP1o1j7GOeV6t6ykLpRR3cPP0IbQvTggwrOXr5MEdS6sDj225U2x5926fbdnup+1AuV63
1A3zg0nA6DA2zAtmhS9Z8c5N01ywURJj7BSPwFDJTqWxMF5uMislKoSl9o9Iv8gRb+dC0DPFOxsc
TMYEIuVpf5YzLuYOxyEIex0hAsSOt9CcdexW3Mp8poAAdgouSxYUjXgtbq2eMC7+XwEOyJyCcXnu
+e0nWbacZH7AKxpbOonhCdYeDfFFxxJbrVRaNJM3N0NWp57L3vsYYki9uWZdEEykL1yEWY39QmzB
Vt93CTSzo+xQ3NVCKMTRPhhLnMFhK2fHQA+PQVHem3ewLk4Xv4Mgs9Ja4TPqaL0l7oVy7o7s2eF+
S7U/PHM0fLl84vPgTNnyEOZfqtAxyJXV2p5xCopVsPFI6r2VpghxdqbcwkNk/0y5o+GrMyXM3fLF
QCKkpq4KujLJsznWla9I7DAazwJJ5KSOFhKOlrzNlGPOdlxabpBr5ayko+Gr1VPqbPXKJkL3h1eO
hjfUBxYnV6/daX9DGWxD9vyG/VCUEBiw1Br3VW/pX9Q1XaU53lAeC2Zyg+igQ7rLZb1Ruw3DgvNc
gCsjAfZpLBIglJGhbAystxnNGmIGJn+XjiOJKxq4mccZOYocUXo/kIfOq9uJFOmAaN4Go+8HPb4f
NQoYaT/o0f1QNZTdaBMBz37WNIfAf40I712I58g6Q7BBo50G5PLPX38s4iyz1OCPsQKaly/D/N7e
C0vxrvWDrIIrWofbyrSwP+Gzh8GHZeT9e9OguCTBEpz6z0Aa4+kS4RPR27ko42BegWr15g3lBTU/
L5u7UVaA0RI9TLGqRTjf1gyG/dgka68M/+cNSETK9y2MuzS91FQCQq9jT7pVkLByZ5ybUOBuKNma
84nBCzL6arstV2p2JTM56zIqnEfLCFOhovV9ls6+WLu/qAnT4gLU9R4bPsLkbuF1tD4QOz3LSVwy
KWvYjAyumTw7Xljk2YfTPF1u1pHJv7AxHfu/cg/eGercqQe86moNJSkGU60QhM69f5XtfMH2jVco
TzfThuRiEeD5ipMGKLIdahocQwHFGWKPzV09fphVqTSilml76QR1urlf7CMKFfu7DckessJO/+Uv
F5pJ6YYEnfLLVYfATHnLdiQww2lAJt06Qqlr5uyT2skP2CxUdirLbOPMJPX2sYm208GWP528D3Ui
/vEQ16iYPIUZX0aoGhgdtE9img36i2UPJC7EuVu+QgZMvM36Lihh1aYd7mE1Iw/T/wL/2rjiFPPi
VKYYVD0y2QmeZDukssEJWohz098RO1GYsuzRHNz1PyIviRagW8KX1M2D+3rUaFIPfnotwAVm7yQN
TOAHQ9oJVZ+jf/76Y0MfIdmxUsiJS89m83QG2jzKwUqvCkC+kK61x45xHoZSZ9ns6CWDaX+p2PCL
Nx6pSfKxy2kmu5arOFdcTJebqOacFRn5QGCyN4F1vWgL8+dkZrvr26fx4mvuplHaToRoMtLZT4EU
vzSdvZpQOtLAJgqyTf+rSJDam0SwjuWTVackuFk6j26Zr95W2XDbrK5ti4Uyq6sXFcMIME0sq3SC
qTAE2xA5oFy254FiHW8ZuKSMxhq2JHidhCEVdbJ/LQzOg2BCtX6l+ydGoD8wyO7gk25yifimeJly
pqTsOkrVROPIKsqmoWTHBuiXI6Pvvv/wCb5S6w5UUJJgbo/QBoM9UhXjXC1hX7Y5M6rZQVeAYnbu
Vr81b3zi9ARswNgacKH4mrtpVFvhS+50Kyx4Ukl9d5LVehceoKtHDs6DO9yL8jzOkms9pmDBt4pA
v17R6h+eonC4hRUsCX7a6THaQLM11GrxNXfTqNBAyi1BK1sBqkODRTmcRrUTmjsQcy3mtxII5fQv
HuOo5UtcKMYRqFdsQYrA7SnaTMhaYaZwbGMutFpzwUQ7tGDCJmuuFi8LxzbnQqs9F4At1TdMbC4D
TDJ/S6kCQSSa9MLtxltsR6HEKEK1AGV3cssDAma0tsg07nI/qvN3GB4IGwxI5Vs2Q7icSLkZirKr
FvFF8dbc1ke4kPNcULenKW3uABslVNCyeBPswo6R3CJVpcs9qLiKMbfnYEsDq1WLCMc2Y0OrHYtc
5TsUufZqbXjrQF83b0ufudjGFn9ASHYQ9ri2bcwQqtC2if3V3TROwuzZeyqSsOfRXZzY9wv8yAkl
wwO81hl27exka2AvQ3oOHiMJH+OFse2wxk+6XObrcF0VRcXd8GA34sdtTsddFi4QO+PFppDOXWyH
VBIu9YQFQ3ojVMh3cCQHNazlhOnr9tjMOb57XK8tZDrOpaxtRHPRhhfpanQqscdSsc6/74hJ7B1P
AiAVfwg36B4W6s2WUZjlRjogxG2Ls7fm1GC2rO5vtIHUnnrlC2/6DGeQhcnCXmWEEHjQfTBau7ef
YfLFis1AucNfK/txNTY9tqhZrN/Qrc7eUXrEFgbp+nllByBLDuOoQejgcETT2+QrfM1OhJqfh32+
EvroH8iYZukXMPjgXS9KYPpNJc2137EU6WnkaGyXnXyvIio8yzD/01bkm0sCWqKPkHyIn6J5OZnd
JlQFK3TqgqOI7piD2tmjKU5hewKWUnioHPggTHLQ+cdsSbXgYh/sMBiEXg9vRxbwzm4QN7wKIBeB
uLWC00t+DIYH0AejAOhJ/9uUGXZXKDH0+bZLAeZ0WwWtgVH0kvJNjGvVXcZF5I5I1Z6kCk6XYA4Y
tolVGReDjD5LH0y20u+rhbXGUzf9GTSdatnmN83Mjj7EYKmi3s4bKolQONczxmuUvKssRoVjiLlq
DVjW2z/MWfOAjlmnfN9gcN5RpMcul6TyG2zsLyuko3w3774A8ZsqDOXSV8v3eBK34WoFdF94VtHs
ISy+emDJY56S3ylvbcwJ/h4+tkyQan3pHXzyWvYQhb3gZ9CWG9WmaKsiCk5QRMznWFFRsYsfRwvF
0InwFWcXlDScd7qnDM5QYMXOYFwEiKPSYuCve7N85T0AFYUm28a0s7ECekG9MikvcH7r6GndIol8
Bh6C0sFAEhqVbQY7Zg2ZEAYWmi8GpBAsSf9ssf1lgH3ORx6o4EqqhaNx6KWop5npkXpotyIHAxwp
k8zRQGrsM+UE62Ez6mpBox9RuSAWuGEGJR1tnB5fXMmJhu1TbhZEO5Wy7zoQnMZ+InhxPIR2u5QY
WVqRd/6hHgZPT1JXqsF3daiu2IG7EYzd0rGH2DnqZkHdrm2GEIyO5Ei3FOq+gjHo2CZpiAUxcQ0S
i9gkluKdAtm9pbbiZwiswvvZjX6ZrWgO0XLCRh+lCttehxqiVjVEmBrG6wqny2gPyPsSbzX3QlaI
y7kRMjPibrBzzz2vBq6CKfSt+fxf5ee3q80UvOq/PYRPXriIbrFXyvFwy36Flt1yKpZOxm/Yp5de
xm+oLF68tImCt4ovv2E/mFGpwHGF6T+0234V38fRD7rYaE5Oiex0a8D8/mXSb+tTflt8rb1PrLW3
L+wvHTwi8jXNvmAlQkQuxMl9BB/lJg5i7sFyL3oMrQXxiOhcYXx0jmQWjhRg3ZBrmBy3iQsuRH8d
YPpQALM+TOMEK/GUAfWGroHyPAmxH8q8D7MEezUdlDzSQlCs9yMHGgF0e5pZSisxxUXHkkKjn6yw
kZ0v5Gk8UVQSPBI2rY7W0mhEg8dJidMhAz2RVDodUpGJYtT5kCd6SL3PUkzkib5F7yEp1mlxSz6i
I7RrwFUyMNEcn6WadOvcPI6cagjx+mCw68uJz2X8GDUHn7UIhtCKm+RLNEcI3CLDeurRIyImqg4d
P0bJwl6uCAYOOpYrGsjEih9QyRV9jPMSgBVO4a0cL6WwYm2Oi0I4t/lmbm+TLemEkYv5u223ur4A
hcgUv9SW7nhOO/5UC+iTBNgtetD4ekWP6yxM8jsrqo/wiQqGv+ys3YwXGUKle/btzc3WMfv2NEBm
VfQwWnvgG2yifSOtzHRW/uXoseWGC+mRaN8ZPVrhk8rvCI06BhpCoi5pGsEzeQUjWj7vtlK2AsQE
zGGAMNRsmeYRnEUyT7/a6/dqU5Cyn4cNy6pqbRbYjpfF3a6zTXTY+02y0Txl+DBBkYIIgbbiNDTo
CL0/l6mL+ZgNQcTY7UP4JfKe7jNTIXdnlm+of0qsgYJ5psSQ8eBFtH63fjpIdgF9T8dggrShzDt2
sqGCjEiLplzxuW0YexNjWy6D7lrBzwExvqEqSZMI/rNQnuglnBtpIscMoJa6CIGccNZn5JedKOdQ
lO5tqhBN+YSJLuPps6jiJXwHR2C3guzAJq7APRt+XnU6aZ7WlooNb50myE6v/b21iw7yNeVBpbfT
9qGkgjjpiOylDOmfjrjzXWzARhEeFq2pqouBMu0ctV8NvFeaf53SbXVXC3rHyMAM14eGXCZssyjG
5KkuzkWLSaCZ7hi67Mldu/M8Ms2KzfYq6oNozqPlHfxXZ7n6Zc5BarqeqE5FF/Rr8WSkPwBJ9cN1
52lyKKjBkaFH0pPP3eP2bSn6p0/YCMd8Iqu1GDyaYz16cRWsVtdoDaxWN9kUNnv0/0ysJC7OSuls
DRPM11kUPlgg71yTc4yfuk9cWCyYrRRlWZp5WJDFemsvMDtbjcVGeHPbWlcQq7Or8dXRi1OAM3rb
rm3gcZPk4R2aTsvY5iUQ9Kg63Z52tS/i5C5O4jXa7OmqZg0WIAEl2IUp15IR6zMMrhLldieC0cT+
3SYpuGb7pI14meqYnT/c2iV1S3WaOl6f4g6FwcFx95cMSk6EdntGUro9I+WY34U+t43V7ijYbhk9
xgyFmZej27g6RG0K+J9wck6R1D4jMk1djyiZWyoNfOmYarTbHQ2Ulm5H1N2y+QeUNMR3PB4dS9OX
t9m7994NbhzWxnGsdbt1V6yN93vuIXhtB9JcvmPxnUXRMMuxHO+E/RvagjVFDW9WSb1yglYYqgsc
q2qfODRv9mjcatqU1gw6RY0WTq29pe26joiO1aMHJKZzQuO9RNEZ453eS/Pdk9XRIOett5so3Lan
xqBXC4BXY7KFlA4JeDuzclYHHeT4JNDyAkLFoDxsWwRCRahz5NxBACf9EjdVYNGkY/HVs8ihS2md
AJEF57hqDZUydqJ/25+sRf8Owp4PUZ5jvdqiMk5u4dg+Ya0ThjO3Dtih6mKUuFqGB2VPdTARPj/R
FT0COF1ERXi1oE68dntvSlzeEkvrZn+8sGJ7z1vhi5Pl1MkLt5QlUnw0nsSx13Dc6aa9TQvW2qT8
UmT4OD1IyZBgZPkicHoWWNSU+cqlpbVzPv1DSFKgg3cRvjVbx8Vo8VUkHaThAW6yie93bTTt9Crb
ch0tlbggS9pRqGBR+tqnf6q7PTLExVmWe0maYOGlZB5mYKEDr2KzeTDWq2pxOdDwEtHU8WIB9AF/
fLeMF/frBjLFstZSjM1S6dekEe2L6HzfZWC9gt7ZcJ1DxHTOhGVbgjuYeaRFH0O2irsAGdhAdjIA
01CrU1ASzSgkpM4tudlIE767SpO5FeKPN2fXMQ/EtV3DPATTgzPF/mRNFWyT9LONy3nzNEIZ05JL
T3xsYUPodRxWL8hECUJM0hf0ob07hYIF6+ugCs2vY+PJmCbsIkqiDFs0oC1Wpjob+Q2LuHVB5JSK
CZfsOo7cl9cxDxVcCeldiYDWVyIDO8viX/7x299/+fnzmHsirmcu3NfXsy8jePxP+bLFt+MKE4jk
FVFGcD1zkWN65qZdxTs4nYMAWDAh6mI0efM+ekK83P+yd7U/bttM/l/xl/TLAyfiO4nDIkiTzbV4
ctcHaXsF7kuhtbW2rl7LleXsbv/641DyOylTEiW7hwPSZOvsZsjhvHE485u0WLx+ALH5ofwuW4fg
2LTmX8G4NVsk5ej2Fyl0iHrziwS4nZtfJOe3Y86496kOYM4kvSG+RDe0lmGrkk/fIeGRC1HWi+M/
aJo4myyCR5SgG3K2N6S1+Hb4wvntBESc3ZA1U+r/z8i2FkV7sSTp06zGmiCkrRi6Ia0hqFPC71sy
Tk2LrLHd6XL8mE026/E8Xk4X8Jy2XKdTGDOsv9OB60hJOY/wdvSlzya4EpUny5/GRQaiYrnXUCJG
JIp6EU6/qW8Kar/6zEfalmLpV/xH1Qt8UCh0PkPnsLZo/wNnQ3e0cGqxiHV8Ub3oPWjJnS0zmBz9
PE+W46e4mMyhZC/eLc3kOI18/ePyUz4lZCRoizeGQNN0/SCo1dXmasbaHhRlRdWxzFcPuoz30lzs
JFuOtxQjLLsXsx7XB2yKuf7yr3KAnAlpy3pQx2zsSMIiSGDB2U2wcw86kwJ1bMiEQcfTLVLCKs9W
mtev48c8ezpEQNEqE0+K9Bs8FEw2T44ZeohBD3UPmSSrsbGZPRKoru+GzJ6n3eJtkEBuyHZ0qpc+
rAxfZhOAP/yWanl9KnW3lPFkkYDgusCOw736Oy3JSbBCI6282uNg1a/C1FQgUkzMdMhy3/CWOMzW
DdwpNq3BV2G5ZNehKwazTe77C+NQc0v/BtbiMU4Xdmshu6jMUoft+u7wov35w9bTLacP2YsVBw1Q
0BnvRUM3y/jxsQxSH163M73zyRg5cliMiUHXgR2PaIzLHuMt+2xgxDxHB9ac+h7lcx9b6XjH+Itk
PYlXdiNJIuieUMFpW6ssFPac4eNHq7pxnG3TktbQoSS8yQa3i/rvoQ70OKZ2YnIRzketKvwuMGC9
ivXKbPvmWqBpD65fr8PDJUhBe/G+F6hXDpjvnguH9/04Cn/I+vaUTnx0GgZEE3m1zcueYq7tfI+y
G80i7NJcFK515Ci61q4FEn1JW2VZbEJmkMGvxm6+s2ou0iTqibTySX6eUvdit53PfER8nGYzig5n
wX2inwucPRZfI7h6f1kezxJHBCL8xkfX7XCVrTaro4B3XGTWDgQaaYby2jtSO9HZdzWty7uDta2p
AkDum/o5VYmi8FTPrNP78uu73/5pQG2Pj/8cNpHX1zL0fBA4Ilc5ifrnpOucBFMytAbatU9eQh3v
W/ui6ApnzumtaR8RBzHLNQ5Cyo5eTbuyJM/tzxbYTJXoItL77R2Qqu52FohspdkZnp414NNu2ucx
LQwlNhQlxlnY0OPslmhFumcAnEg77LHCVFmkRZI7xosgRIXfcHIPTp7Qu4jlL4QZvNFAzz2IXoLO
Z/DiK7uoQ+lOqlcok7qrwrp0vf1Sf14hsFsfnZk073XBDZxf7mPvZsJeUPxyHwqjK1KXEbsW2zlV
1yItLyYf+uS5iNQAAcZ53CiFuNpZ93F58NTuXVPaNc4aY0qvcthcXY/j9W2RvcoZuZ5Nwehqu/bB
M+nmvq1uGxDFGA8eCu4HU0El0NPKPhOLE/MaFoLl1VAYzeiDL0sMknR6RxEjyF4vcTXinPRy4qZ8
sa6wSSK/gtImJ76vsIVxazZ4PMj/1DcpHtDzqOt1U7fYcAqI7eE124Muj1pE5SFK+Vib637dEe/K
QcqC6XXy69cv9gx6RPUXotO2D2+yRfr4Op5mS/vcJc1jirvffKoalzKh9ggYNmZwr9VqAcic6LY/
AHd+Sop4X2MDZsOar2fMb3ieFzdP6Vpzhgiezbs/TDQGfOw+/wtgQQlouw/YbhOJqIpas1VivX8T
KClBZACW7VG0xDvLxjlSgy4CY9sqmOpjFTBfdt1WhM6ngFbY9J2SUZoQWIn7lyJZrqGJcSsodXU5
CHPpN4LXyzyvAbxYx1ppicFiTLMZ+jPGDurM1Gl22XX6DfzRQ549r6FHwrQlmJDHWsmt7aVmdhD3
myerxevbczQvzVHCaZCE32kAt05yKPq9e04e/kiL76Ds+DnLp3c5TLg8ieq4mWt0tIzyxwZeizHj
TN8pwmTIYQHjZDLPLDEOVwZ84jIZ5JSmrMgm2qxP9DVBO6bxJF5DffoaVAr6BOzV+frAfUoYnWR3
VuX7Lz99/Of9J+jAMnbNEdYQHo1wG4o15vQxXSTahr0rnlbvvsSv2ab4RYv7+h3I/rvCfGk5Dfip
fTSmfbkl5N6Oh0HN19vMyNgr4LlvOtp9OtUD0MqUlmpn/xy/WpP9DOaIeak+uijnp1R12J2XrH1f
LuDsTQ9a42QvtBfZzKZtVN8bfcabenN2mjzGm0VhZ63QgSDvm7XVCmy8ZbxH+bU7K05HSKFBj9Sz
Ctr7SGH76zqVQVo9Eb+aylBMBudv1HKEw8HV6dvMMZMHCVpOAaIteHo4KMIMLKnGNppuo2zpuuJT
hkeUkpb0oP31bUn0LcD1vdW37LfJS7ou3s7Sx7OIHo8Q8ilaD0aLBdeGGjNHYRCmQNczc6100SE3
9n5gNCJUDKhzAH3NhAyxK1CAsY6MFjoSXI9nkz2QOKBL6tuHvQKAqRFF4Y3qUt/3rDymUHIgu7ur
SkrGVYeNQU0dT/VOH7I4t+dzsb7PUdK3+Jqd24QXq8EFS4Q/14OaI5NA15f45SyPp9YogUrIkOHe
We5clO0cIj74ObR1P6VbK3FAdoghRp/tOQthRns047d1LsIqT5fHumUZIgEJLOJXLYdqI4am2ySS
aNGSvdC1X6LbhWIhtslRnzpsVVpffINgSmvTUhLGaszyJFliFr2w6O3xgDuio6ixdgg4gCsq4hID
pTxS62EqMIVi8NiCtxXbbT/XOp0BEsXYgO88pslialr77R0T2iAg1sL6nCiKlfY0LuLDBZzbI6b1
FBHpA0TUUGPcBYXUO0mMPDO3kD4cw5uBrdRFHrzEOyt8QlFSbS37LmOySGYGPj1eLJLpuHhOJ3bB
UfCf6NvilKdoTU3hzsa9MucVVWSv4tBXeoSHNAGmgZ0F3pzVvmEEmCgstDF19ZFiqVoL51pbls3D
U1qMHzZFYX97IkRpOlEAWwbkjKbFy+n48JH+3IBpx4twpMJH7RWWzSa3ViQbBCHZe2Z4vwirv5cB
bWgpROZN2iFDXNvtVu8i1fFuHxX0sT6UE+fi5R92nCpER5RFgybypNZ61FnrXbu0DrwPwsvkpYCH
u4VLUqkQOhjHQXd2SLPmDiCo0s4+ZKIkXX6LF6kjaSlGmKDe9mmfPo+i7tY7m3zJAC7ys4uPiBJw
Fr1fLyru2ry9YgNH4SIiXZXDZLn/3GSFvdlesBFiSIYTmHWRrGxQNNCdx1VIU30kMSbKt/tj8BEk
7AaJA2lW4MCEqI1QBIRwQIPizrmylk+/J3vS/5bdxWnTSOW1EqtYsI7aZZ+eLgL6Gf0RPKpYoJ0o
Hyk2eEYyRKBegVLqYPYpLvtr3fn+9q7MnacyTxdRFOCQKra5DwlpG45DJuKapdFNJTrtwEOD5bEd
W2/ZH1YjKfhNpekxwr3tFyuocx/yIg4NHJTz7ol5y8XSmgkbIe0xfXaIazgIBdAVmmfyDDCo9nov
AYDAzUn5KIf9EqBDAa9qVNxfftprWq2DudX4vyJ9gjQH/P9i46qBVVLfUxVpTuugHuPPTZwnKDpN
gJdFropGfiOiW3DT7YC4lzXDtQ4oWQIK5hZq3Fzf7IW8iiPP9KLtvCp8ImaPfSBPRDjqKAvrQyrH
HGMmQaPv1zSghtXks+Hxx6vMAl8xFVtzTrGp6DYPbcmLXlMBJbJ6wy4YceTdAhRM/pWm6APEd0Fk
yp2W2z6fqoy4Fh0SUGZ2sax2BNZMlxDSswqyOScvElecQnaos1E58K/mCVx/mr+Ch33/328+f8zT
yfy0hQwSUghfhzBhvItn8Gw38jgfCEaekvUasNRslykcCdSLYLgJG1WLhN9s5h4Oh3nN3GqsfnZE
ceFZAhx+m0h5NW72QJjKqFdbY3/iJiOC6W0o3bl7qXLxfHB3xnEP4Zy9K8s8TqugmrUYw0CbmhsH
4+30y8rUS9SYYO38qLdSvfkUvVGf33xCb2QEX39/b37H5nd28PkH83t0VtWn4xfZ8QzalNGp2+YJ
Ih0t0jEnLrTSCtNdTW+bJUwpcRW/r6Nf3j0aNE2rYzMHbalpzyaOznoF3byd9jnLoXGbYaTsd1iK
ILpmuHMzvbkaQd5hBUXjJrljPq7uEZZ3CqYAYydCkYr68Hv7Hmm33zvgDjTTFfFLVcR/dO2pevmQ
vIVlFvNcc9W5SknqEYt8NMKPK2WOzhSzhCTo3F+pEhwAoXAHlTgchBWvVhOo56ibqsOgKAjhIMbm
aAhXWfr0mOV+y5DMDDUKbZW3yWxLFTaCZG+3FN7hhif6iJH9mQ9LT+xSf+2ysf+lXIleCHK06+Iw
sUcNIZO0Z55viz5OxN5+bKJZbBInMuD52X1IxAFayId1JND5Ycf5eRWbkQbnZx/ICd2GqgOlU7YS
h1r43r5JMLXQv1kerGVgrp7S2TLV6z2C1CvFyyQpx5lbVYIg6om9fyGtDqHNUaL03IBiU6RHaCQD
igq1i0oEk4ZwczpnGW7rPy8pYDzxlv/8QWH4tlTMmVxWnv03xNPJ/ZXk2XiRLGfF/AR9ppouzGjA
w2GOQk3sN1A0mB5Th3lsY0yaEapKufzcmy9buTUxr8Bg0AAGo8hjfWmBaKyASMiqAJA68aqbDOfh
bKaYExHcwdlNsRQBD1DYX1awZzsYCVG6IEaakEQBdyXt2i60h0Gos1zCvMRk6gZ1UhR5Pmr67kf/
8ecmzf+wqgChLGq3r+BBOpXXjzT9pof0bAyUugGfgq4foHIqAoYM9VCyi0yvxIIlq7i6gTXIYdeA
LWs4UYyHeApdlVdYiWT06tzgKFQcdFYVW864qcMZFoBLwdCwTCC2g2BXX4Nq4ym7rIFasK4ZCRK8
HYECH6QRTSa5bvIchosIU0EWcSqPjdaBuf6TX8NO2I6FXl80EPKqN/cxFFvDUJNLFgAFLtQNCKMM
ECcbkqYubxIvJ4npCI8fstyeE40o8+xJ9WH2c/Kw/nNRm7cnLTMzTgk72HCRVXu2njKBMZPd0pTV
CIPlPNEfALl0mZqRAjv1d2SEZeQJSnFZwiqhWmYwxtx+O9dxIAskSJsSS8UIUImh4qgW4e1yOk2Y
a4fxZ2bKUzh5Ov4LuAVunKB3gvIRJaj7trWOVuf64cuXn367/zR+yqaOaWKKMM+RZfVbniXaW8XL
WZJnm/Xu4ct2ulyoxqd7ITUBxPeTAi35ibEWKilkSNZ+uv/PH2s5q90ONFFFIVj7YbH4WuF6/uBm
LWZwmNLHHlJP+UU6xrXrqICq8+aU3Aw1dn49rtDwDS49ACbbNVXA3N2w9HdWt5IiK7Qo97SG9NKJ
Hh+n3YdL39Js6vE4Xr/bca7XUUHI2jsMqI4sZUh+G3wgx1hlArDHDPWz9TrCmumereYk0BMW5REO
ydZZku1mqGg5+7jJQYf+lQHauGNspWE26YfZzZcjcdTRtBwE0DCF7Jd5vCN4D6UvH/W9/iGe/PHj
+qPBOPotLebbb/h1GX+L00X8sEg+Z/m/71f/H0kxz6bnr2rY1LDIFus9fB6cQqVcNQKnrOwqXhfJ
ep7Yqw8khfpx2pLmWQPTNHnYzMYP2fR1DHyZaR++tGxV6fjEq4CUXtaNg/1ZqmPYCFHs1W1zwdD+
la6OARGtEQmMhGGsLy18jovJvFYBEfV8rLkkQdYIz4ASyv7V++I+JWLaacvOAlQqS00PFWU8jJQe
UbJbcEIxChhwGYldZHnyZMV3w9plUNZNUuCyV2gK9nYwpYUlaFxVg5hDAJs6gBnLNU0dLu42ZqmH
1UelBB6IkvB6SXYf0e8l6Ojv02QRv65/L2vKf3fDpROMPTHqvE9N32sA82ydLB7t5dNQliZaBA3/
sx4DBuJ4z9PqE5trhTZ1THhn/YL76K5FyGGdMGHKs1KyhaG8wE8C86VVM3b+cP/hk8dgqd+fTOSy
ny1Ve4+uvhu++Tto7bkjETp6E4SVKclDrvSY7NnVnWN8k3zB5w/XlAzIF9bQlQ7FF3LEF+JdG+Xt
IuvYQjRboptkizhii4ADbOhoO4oLEyEdxLbKfzq154cwgjKafozpnrYB6rJmqDCU8KhokAXYgcBR
kFxc+lj6Dpjts06Xk2RshbSQBtJY9XDCJfK5/ZAlQJSpXnlcAa87zxl5T6kKsgb7kwzyBShsYOMs
JbW+aAldqXS8AZTXDPN4WTGwHPpT9lSkS0jAOedHSibMyJi6tiePxE+Wrw+6495Dwd9dkW+Ss9yX
Di+6sxT29NPyX3lmmq3uXbN1y5ctFZi5cCuA8bE5uKnF68FwcusrAUdwxWux59MMTsVdmP2jryl3
8G+f+hwsIsSjwGd5sD/bkWrHw1nbmx68Ih208OrLf5GNl5uFo61d37tIN7d68Tjt/WrCvFMG5es5
GxlRfWzt4I3f/qivPJvx6q/q27RfHTowgNgH8RymIuNnR0ZKs7KVRT0zMmZw1Nz5YmSq9oUMe2bZ
sjTeF8y2IpFnx4BV7dLlbJGMJ/M4jyeQA1+lhxniFwcuP5ixwfwEa21U4rO8hl55a1YdtoPHy1Qf
CcQrT45KIB5pa89wd5lYZk6Pvp5nm8V0/KAjpBiqLP5yVEZBMkegAT07jQIonRZHLZOpif80r+0x
KOkaCNu5vFU+Tw5LaBkXQ8ZOEe++ZwNnABDSLvQYAvB2LApEqer9MLs074Pmk3U5ITl29IcT07RT
x1d2ec70IskLQ8zyaME8UXGbSqvl0UIqFGlBEVJ4oUu7NgahUlWfur0fbR6qD6BIMV3B/RjiYUd1
DNhv1m0Bnwy5rzr+fDGe6XOWP6RTHR3qL379+uVnfb6OaSQwbsGvCslJfh6vkmqMoxGmWggqDngc
lHYUoZJaVSIDAU6eLUod1TJ99/btO/3LgSH6nSlmt+lxCSfqiRTCGkFwvCEf3uDP+tcOiEN/IiMZ
6Y+229Nf7v4V/bVri2/IZ9jkG/Lp7Vv9bea3w5872uwbzM129XefbLgC8vCqufjb7fVRX4kSC/DC
DYsdZ6Tj4nYok4aSwSv9m5wL5022/jdVNYyJ+r9/wtatI9U5Zuiueaeyt1c9RsgNr44zdcNWy6sp
snHkME5eVvoPe3CPOFyx20RMJ0GiycIAqvMuIZsWzribeuWA2KU3fvhffblfQjR4Xlemr9aR56CY
JpTyZAWdKufAWoLCHLGQwZ+jCQcyWc34d6HSvUpqneTrytnyZMQFHZBYRG/ZfMiWztUDeJ/I27VM
wqvS75KBmGWbwoHVAa053UkcZk6B2O4DwwbTyWfpdT0BPtmsk7x32kaTBaAADUA8XX/YFHN43JhA
Wu98GRLRkI6n1t8gwBA5ecEuFz3gvrd9pCf4kNdaB2BO3YAYaGlEnXWwKmhxQ1NpW8I9+znrJU5v
cJ1OEzNMdVLO+NwxwP4GXEpe13wb3BbSx+1bE3AW2qDv8tlDvFjN49KeTqf/FeevlthHjBSV118D
i0KdtL0xjmIiej3hWisDNeF+zawdtoilIEMcpPUARacsY4gVSNIzf4kQAaLcC1LKWlxETmCUi/QJ
8Kiry5aBELAX43JPaGg3ueNiiSPC9vxw5Inr1oWJhFHaMwns94xxQOLXphSUFypSFwqSoi4WMZ9M
swmAB2xDfHcfK4Yyeon63Q9huBmFT/df7n+5b3osSnRnGmBsVL37mn/LrPBgIfSTU9n7BolStH8u
MtXMW1hrgutJ+HWn8EsHZZAV1vvhkPDmByUi9qIzvWTiZRl4l60prwJ83na+xfuzXakR85op2GVX
JPKS7j2J3/75+aefvv/wtSEZStgAZCjzagZoKn72tih9faHRELxjXjhHPNRgUgyDVWgjij/ff/j6
8Yem2/KK67oRwUiwLgJxCMkENVGLLFsnS30BuYiSJCDoYrJ/NvpV/3FftB6wtGfbnswBfcVj19yg
6/BeWL5abBxVnYJFnoiqvDUsVkndnc/QgZbnXZN7JU4AHDDXccraXmIisO+Q1haMztNvcaH/Js+e
12YwjJPzgKfg1xnCO9wAUUMf1eJmwXgzEp+yH4umnlaKfvmEOKa9CEQJlmbXPKK9oOj7dBSXYXru
y/S0KcVbLcoMxwLGcOyKXd/O0sfvnvSNGgAd7sy3v4OP4Efgon2HTi2e5AyREWIYUyQGs8Q1RwLw
fA1da3NpxoygkLK2LnKD9e/pXAGpXuFg6mQry2SUeLYKtNtkjTvDxHOOWwdjEfkhFnSggBlFfTuG
Nq7H93waekGqereCrG8S+jYorh9FqahvTvKGgVrzLB9VqmcKTNDeZL/GuxAocel5byRqKOmtsmEy
Qv0TYZ2uJfs2pfFc395rq8AZpaY/o/8tsfrqFx5+kOJkvf4ZWGEdIoCiiPacJUO8oStrkV6kRHaR
lG+zKrg1fSi7Z9KnrEjcDVwS5vdh2XeO0a8cjnuWNpkNHu1Mb/5s/rkOoaIhUo46CFEDkMGEkwHI
RFKh/pNyArP+idCGQtduJ52ufJeVtra8QUAJKIs6x9j7l+VtL6AThV1qkiTinUnudfqAeM1AzEiN
GAppH6E20sSoZVOZnSjDI8S7b3aZPC/SJYDVHcyyTx3jAPXFFoXk78VhsQZnsNW7STealHlhY4h2
B1pffSg5GdGINCd/erKbxWI3J+LUBXE+kl5tu8K3ZhoGpLnIQTEQ5V0Y+vr0kC22XHRDKGAEhXte
Xd/1zNMav0yK5yz/YwyZtWxTVI3fU70guG/riHeRzuaFYzZj5PnoKwL0D2Cvh1g3a5eT8cs8h0KD
wolgKhjTwZjqQMc2zOSswB6NuL4snITMUGnqnOLSgZy5mADkshqUnFfvsYtOkbwU4yKPJ38ctstb
gcsBqR6eP+quQ5e3M4nLubelJTuu3N9ZUQuIChMAaDQQ8feTbLMs7iLLIgSKhlpEeRZnSXhYBY/I
0Kv4t0O0INuaGCYdBPFbOk2yI3tsQkRtG511zeh/ybu2HreNJf1X9DJ5MCCbfSV5gIGRk8S7BwiO
g5Nk93HBkTgzTChSR6Rmxvn129WUNJJYJEtkk9JiDV/GGrvr0tVd1d1VX7GBOrA5AjEgwa3ylyQ+
pW6zRGuWaLzBTAvvGoSZlPD4e7mOV/EyiT6duoCPq7WsCSaYP9roLOTQn1lMrzvhSUNMhnoU2arR
Bel6rd32oS0svIKfLAFo7YN3d2ehXQGXy9SBfdMaTHLFiAm9nVQrYkbGdVRCv218mSsLbdFmMcFZ
5nBuQpvt4vksh9vW2pmDFc1bBg0TdRj81Abs4CwwYSkpASfoZwYoWBR0lerAqQk6wL1W6whiwfX5
tZIIAM5f8iEivcYPT+n+kL+psKOPDvy7tpC7U0072p7gWlpk5wtkxZL/H3ZkT+hh6ONccuvtx5Ye
FxYA3YPAmbD7Un9cSi8YT8pd17kzQCZUaGFbaPGJhCalcjcKXUEbLuPHJIt/2eTreFN+qwT82gLI
x4jQbh1kbbm5CdfSONq0XOoEInCwYp6jYn5CF2+WqYivwpeItm66mQPB/CHUeohHA5kOSeLZLRc7
FofGv5Lyf0KH80bSZIdgcMLdtd05jci2b/Nda8TD5Sd6vLSnWd4zsujOfPr48VO0SJbiPbyBesGz
5Cf4qDH5STBpaDPmE2tGu2foWHU2tAS9fD68ENbogzduPwKHBHzNp/kRXfS6SZk4iZRwFDYFeetN
fNTrFJ1vrWe0h8aehlfBpxEsT0BCLelcFXZb3qngcxRoWwbQnlINJljrPgUcMGPxNYwJark7lV61
vgp71qpTU7PAC8ab2GL7QJ9X1tuMtw+rpIROa7bXaPnI9ENDep42W7YerN0KQfHf23jzDa5OI9u2
6PO/7+9+4neBvPue3/2k7oIf74LzfSnw+CwIlVOFH3cPpu7gIoQTaeBO32mzvknVSSPq2w+FKzkF
x+2KSZ8TIc77epr3keuehjN1ZZP2hRPRiQ6P9hBJnNG0eUYlKemw30q9wOUJYj3XmGtIyGEah5uS
rs3Z48TeIeHZuyRFUkQoHQSjTS/Z8ckQrlwdKjdtVC6tC6Ej5foqdCZU87YLMYyWE5qMdhQFQxp3
Xub4c6skNuakai9t1h4NWs+VTfDenviQVGHbbtiuQH+ZtRU/5WXSfE6FjhG+djVjL1G6jb/inQE9
X86YL4eT2oOfx2+L2L76zQ+J6g2JOaoTpbvb8R76HTQTAswG7jkQcG0zuW2r81rroV2a167Qef99
XHCAJ/fcXL+YA+Czkb6Mnqrr7Yc0yv5sSftifmCWqHZCe12945hvlPDU8kf0Eu1g6NH+XopWgSO9
9llYV9egSdx9MwmtSaBzQ4uFNVI7SqfL54ttUUJ/+90NLI6+KSETZAT5mq4nFVRsUU5CTmUkwX5e
IGPTHaWyDUo8J9LBHSVJPOheqoaIl2/+PLtIwLNM4ca8x8y5SPzf8biKiwLWb/UsVy8BUKEcroiO
1kE+dLKXcgw9HIYcrIdAOrHBTnKV0dNC6kZ6b8bufvzpn//46ce5IZA8ZfNDu+/nhsddrbwu8D6C
eB2E51FZRos/cdwPX9FcUi+p86JsDLBUMKLUEMa2SW3O6TQoqb5iN91DyLB6RBtV9Opw2SY+pGZq
OZL4UNnVHo8IBve2Q2MDu93+0lRSDS/sI0mY5VlRmhgz2ix/aXFpPmM2a2i0uUb4aJ32EHQyktGv
o/K51ei1HE8Re+Ida96jYTv0Eh+O5Ys8bRTfH3HN74m3i685eNVxxK+exFAPBwdAPaLwu9e4Vh/n
07L3+khemFPC4hkPsLQ5+o64/CvS7ZIHNFyJc0aOsUBL82dRJgv0pBBKBuUvbnS7SJPFnxYWF7Dx
5vZOysicZ9WxP8l23brMobM6y+ApRgzQp/1BQiP9VN5NbbteRqU5PT0nUHX+bZ6U8Wp+pCYkHQkc
Himxdxqedj11GJuYoaf8wZgqDgCloYzJNT8YF+cHDWl7796evWglplCHWU1ZPG9f5UJoSGkYuJUl
WZYvoInKS2LW8Qr1FmG/08jxfrV9qC4F4YbsGXC2n82OksKBGPq4FDZnCO9MLpVPu9kmaf2MiyPq
8+qlp/HSVHBh7NItH8vmjo0cijQDR4HRrg/Kf++z0iI0JFJQjEByyayb5GmGJp4CFxiNtncUbKSE
+uKzrNA2H8w9zmitbSjC7l8HGywHHkPb8SwIch7h21gk4UZyANFBeeKlCPYUl7/+13/8mC+2q/ZO
1NClt+vw2C1jvFqbeSteMMhQGcyYR4Gv6CFX/vBHA+AJAOR23QUNlktxh9MVp0aUC8OzABCRKIW9
FCZgfMNEajVrn2B2D0KNr6Q65MTmwx2ZgC9PSHJc9cgjYWvjjPIWSxFy/8a1WcyjNIlQBy0FtIZo
LyYgGA/NQwtKxt05NeJ7bGtpkmBiJnVf4sdr5CFeLg2NOtAKzJ5gYrB81s3n2zI1C6KYPy2sdUJJ
uK3zaSh5ZJClJHzuyG4y43yT5R5AoEJaxNuKwBvt0I1nZ6ZkqkwQoehRTdui5k38aOg/447Qo9U1
UTT5fplZbTLFOmpoxqMUESW5w0JPxKttMSEgOHnS7WKvRMvMQnzEY6gALvH6rgzb1GP+UuxrA1E7
hHua0NGcVTg3NKfAbCnWZSug3ihcmAOsq5AWihbmULWwe+KP51FhvR1eKmP2LOkNNIcizpbvdKvC
8FV5H63XaVJdON3xL+8roWb4gFE1DguwGAztU6y0Cq/AyB2MSjRerHCBTSwFEFZj0m5UtqEtBwfA
VNqsljsMBcI+m4w8R8h3vKANJV8rkwUfOcX6isp8dcf//oZkZMw0U5Ms8SLPag8YRunjTrjFCpuv
oix5jGtlUYrP5OBDLd3gBGJw7UVZw8nj69xsqswblbCNTxv3Nz4q7XUa1bqHSgFFeFPY+aYo8JXG
bbfefmHONrOGHD2k5sBWRYybeB1HTYh3mhnrohyGOUJsUQM/ELNQ8J6jPSGjkdAT0dGeMd5U39ES
ZDQmKBhW6HAP2HCKgnuJDrdEhuP9JyLGhpN+3+EeUe5UX6P7ExuOi77D/YENF5DS0rDhUmw4HfQd
boUN55MOrdhwGTqzvO/M5ih3ou+qWKPcqb7c/RtbZGHYd5FtsOE06ytsgXIn+3JXosP5fbnbosIG
Xs/hXrDhfNbXjF9R7nRfQ3lDh6OgWaLDfUOF7e0r3qOKum9HoEBZCJnMvRfNX+ga1H33L4aaZW9d
cIw7pvrakUBdCe878RIbzgv6CqvQqZB9Z1bjuuu7pH1sOKH7BlgBOhW9t8MQ1Z3XlzsPXdK9ZxaL
mwM/cBj9hUI6jJtpmGP0wFn2tjosHtKqh5Vgd55Vtdxpkcq36mnxtP3K+ztj9aaK53JwRnzIIZ8Q
mPQchvRM9A5eHtHhpHB48ut/QPgDXQ/M4XEjZMzh8YB5InQYz4eBy3Ce1CiOHM0zLpxG817vQyka
zStPu4zmFSmliRzNB72d6xZ1rkE4+JUQ3lYh4Sqr0jCwjA9IfFaey4MDZ73PIa/ocLz9Zpf3fMi0
3iRO41UTLhqzDfF6T2oGL5nHhwH0YRFaefd2t9tN2gF+YQ7U1ErN9sONheLvgfKhlFkZfYJiNAKw
HTsi4/+tXiEGKG0QQHrF9SHNTggHuk5bdN2RY8MJr8Ss942Pk/lSbLg9NkFriDCAXO7gqvL1vow8
li9tlk8o5cbeq1zA/SaFZltJTcxIHk+dQd8ldQJ2PCwtihvN953V1/jBeAXbbPYEtTJbzqEaAcXv
E4F0ovcO2ocGeAwt0FDCc2Nom/hpmwKawWU7auCFFp3kgg2vp/wclT+Uo88Ab4Ba0MYE+OCd3vdD
t0Z7XHFfU5fPQvdT1daiEY6wNqP4Aqr1djX7T9abuF6Uz6UGwBbNHNGAivQ6EVaRGDpVWd6Ct8B4
CFhaws2KPofAwWEUJbHis10sqA9qNTymWeBwoZ7QQ1/NhfHBwQBFoiUdNVSh1mpaQQRV7tAtcJJu
m5CotIC+XoEjk6nyEZLMBh1JVubvV2nVrRtvqA7SNDgsl0x8Np9tozTdl9agTJEOVsIFUwLVjDb7
hiBdqThkokszwBQnVXmMwxSBOzZ8Tzr0GcGqJz0PnAZgeNO2P9FOqkjx6Iz0jiaImx5QQXN7OeBo
X06ol59lktKv7QJSje5WkN532yemfM0PfgKvcFZBD8214Bt9/Ng8gafcnE3lLkCTwqHFtBI8+Mne
JF+TNJ3bTLp9k89NXG43WTG3XSLz9tBQedSaR9EBSL4rXTY7D6BLzc004MGvlL0Frfp85OW8KPM1
Xtbhz6QMhxEABMM5NKSfv5ptFi9tVILWBBKnA8NWD2ZLQElsvJaE6tteO2M/F4F33dQeEUBPEnj4
li2eN3mWbwsLHYGj8VQ3pW3nCEmtcoLaWApRwaHlWjiClJaNfTH5UYESrA8U9xIa05BSTQmc7Cza
/B6/7WBJGqA4INXQKc0K5ieNcVhGDtePpMfGCynuKuvzTRN4Ba2Ank7V7han89pVfGYvCxUbmw38
oAJ1b8I96aoAHe8mA9g2euB6biXbDqbFbcWTE4nfVuk8foMWeZH5IivNtz++YTJz6qapCESL9JBC
8e7L3xDUWs+WOl1M9FJQDvyRzoxK6r3RKPLxZKfzbQGxEyJ3UfOSgG5AAuJUg9BA8CaMsKuwy2m7
ACndARi/IREs59ofwfr2/2DXV+0NAyzUxDPDhbQxYgBZRspq6mNymKVBMw4STBdRuLO9pH11+yMI
28xAXfhdG8RbM3XdZ0JG5ikgPUn1MxJ0IUAR2Mi2gZkEt0UgA0Vtwh5iGvAYA+5IrIoQx+PfsDNE
oZMQOP7ezHdwzG7uLlY9wFpEE+732H+PTqavz0lqfo+SsuGh14Q2Zi8MehK5UJqABEKDdSK0kRmW
bGVGZoySnMiCzjZz9r0cvengofnBSGU+KPertMz/jLPkrxjg+wHxYdd8uKYpqeDgyJlPuhUMW6I/
23veDDl/iIpk0djRhpTnTKJjw60qviqasLJ8uIoeJtlZfFeYfXudfrZf//6vn+/fGcITinwjtk9K
VxmTBZ9RHrLYGQs7DEG0L2ez3dLwhy+YYnxm4RbAu7JatSS9c5BkbQbOFBA+hdoVodYFowA7SzlS
a4cGfT8gYiCS5GoGKLY9JAWbTio+0CyOUYKKcpEvYwzRlIXO9uz94b1Ng4LzMZdbXj7Hm3UD1DsL
9Ux6whsmcBV273r42G5Dm+r9CoUg9KFw9yJ6VQssfB4bSO/vz+uhhlAm7iMdhy8SGO8FAx0ipCuT
RURtlNLs4TOlnUi5u7aHt5HmRwkfkCVD5VbUGuXq7gd97JUO99dG8ut8vV3jya0+rVfXMPpx1rCL
qMHULcrY4cmwOdZUxJaRNEGPiaI31dBphwQnSpWsLfQRDm0I3Ys75bUy+6SufcojStwWAMmZlC5p
dfs7W6c8iOJgfyc0pXSlhYNtEW8MgazEMmgkVzOfUhfXQuD4PSVaLk9Rx/FUM4jbKUjsw6h+Zhjd
gI9HF7UiHdAeDQcRrclqyVI2CCLZw6qJbKbIKn+JW4IJ37adlpdTt9ALx71DLV4YgI1v8nRObESG
rr9+wuySTgJXu0B/lTJ4piIVYgaDL81MkN1j7poJcYwQmwWkXvcombciBce/nCerptaNFl2f+YPl
OCM1324S7A6dh4ZiOA61ot7ok/db3WfUstyc/54fkzSOyiitlU1zfyYo3dM4H3rP6VNuaQeREWZn
8Fj3C7P4m9JNjz1VByKzWgvQlt2FIGsE8gWrn49RUX6yPBTH/y3OsujjH+un7wCs7rdv6/je/hsA
BFzHT9/Z0b4v75kUwq/+9iXf3Guv5r9COKjZ+7Vuj2IE8UcRZJ0hgsCHezmU4mGbHIyFXqDM6drz
OKGScwRBlski7pZDKk+1yaECDS8ZZjoCSameE2zoMhHaG1xNTiBjAqXBdR7dZIKwG/DIzH07mT3A
fJrbTgif7d/vmefVsLRBMKVD//INYLVNy2RtDvNHdA+fWapJVsablyi9975LVk/s/mkTGwdvuHgz
v6yhmY/5ffRQWR28jSE8Mq65V/EZdNc8qL+JM09vvBIERLs83k95Fj2AC4lfGlKrfAD/7PaQZELr
TW4ELwpLEJKqNsnDtsQPsCywOOOBM+KG8DrPihg6VpjJwNsncC+ktIirEz3bcar0XjOLAA122HEu
4czaAOwq7H0PArzUT01sM08q0d3b2w3rp3fPEO408vuGtH0FZkXYfTEwCrMAbNzILYZFy+H1UwZ+
9xuhqrULqU15vNnkm5YlB50fRAu2QCeJo7b09ub+cDiy12DzZZwl8RJBrBPKSKmUCxnt1Fy22CHV
SgSOaEOxwo7sI9Sc22XW8D4XQF+mkejaucbpMp9SaXrBZCfZY5JBdkWa52u8zV/3A7NTeoq0GTmk
N7E+VcgnpSdJntgdPUIljVv5xMT2Iqa1FxF608rHg2nnj4cT24uYWL6J10M36oVbeuG08hFKEt36
Pz8cyc83Fi1oe7c/FlmoA9sXZRb4OwqHFonTqpkRCiTd2pGaeB8Ppl2XhEZwjv2UnjiumTiOUtMu
COVN7Kf8ie1TTRtn+BP7YSbEtAIG3sSOX0xMj028YWtv4kBKOfL4NkOs+bIoCHxKFqmqNeyuEYPE
F4Dfo1yScqH5jPAC0E3WpivYKCZ/iTeNUZQvtHGC4WB6VSvIArn7Mmsu1P64BDzmQGMVFlv8Fi3K
+SoqF01QiRxKwIVuu0bsIPVu8CjRFrgxE3VCuZh/CfF+KDW+54hGMxoc5S2ArMmzC9koteBFSVGh
1nyuFH3/oYZByQC0YnI+7rj3wfwyPxGGpJxeMXdeiOlGBnpyVuD/3onv7/gX6J23L+U0n0B+Ecaj
ZteYv4vZlOHNsVmZIPz0wgZbpAT07m3xcuUG17XT19dX/pHCqLiGFVC1qK7A3CWzLKbfjR4vNMTg
eoZ40XphV1wvJAbVtRgkLRQ+OXckpXm35a3vxBeUTX5jbPIvN7dGmrw1yqnyb41TcYtOus6mwhm9
gpPuWEfmD1SjtzbxtX1J+Wqmr2CfwMWBzZ+//vD9z//59dffmvdOQg3kuDyS3M70epzfyPr4gB5P
xTVOyt4HxMalnn5uPuDLTfrXOBD7H8yvG9mj7jg33PAbcepw04NaLyUJyDUvJ9s3ypVSV+aKdBL0
rjKNl99LyGtsUJewWW1e0885IFz30qi4bsgTv0WrdRp/zOLyRmJc0OSNsIKxwfXNnfZOhzcfHAiY
ry99k6k2Tfl/S0hUBvb/YaJuzhp/uKHwoIvVDzdy6/ShUtvFzkNdJfr74XInd3MXOpfLIORty9Dl
yOXNxBl9tK+ucQb84UbsoNeSEzdnriM9du/85nMcLePNaSdCQJOyWUMoSllAgnzsrBo9KiDOX6uC
Ntt1wZYPVyW9Zbyx6B33/LtDUXGtIl/BH0Iw7iQVB63oqybu7Fsn+kMSknxvFga+GnuemqZJAvIW
825QKdwf1XgtnF+L9UJzFkVUS4UkOJWxCDG6XpqtBTKxxA2qJdABd6wWQF2lbXXQt94b8agwQDUy
NCvJwaG6XTWN9sIAQvB2NcPEmJrp2GIAJsq7LHSfdKORnhxbOc12A1mz6nZ1w6WzTfj12QQwEO3B
fQRA42CZ14r7NgXWhZuGXhbl2/kxRtoyQIdpyidyJWuAwwMUApvoi+bQ2zapwShqPbr1wRPbob8F
U6PQhu/jWAvKk0S/wS6m+q7wuNi1Kds+LPNVlGR4a0ofeiuJ0XnBUX4hkbzHvVA/rJfWEot3PJKP
Xjfei63AYJ4Kwz4ZaM4hVGosN4KoKD8MxFU4fmvVcQNGjQnHSeHd5bZp0Rwb2tL40DKVUgLWg277
amQaGtWQSg06SL/Em02yjEHLpdHyzqsVRu5FnLzEFo6ttO0zF/G8eE4eyz+Sht0KEFp8/3KW6uUe
8NfnaJOZHaFe7REqBU31tD9Y+BOXZ937Dlz3c7k3uDv+BWS9E39fGIaKuLwTP/7+25d58N3un9/f
BeJOK/hdBfbr87QFPdN6uI3YcOghzR/2fM7tdDVGj1xKUpuwvoRLW8pemxzG4WBMCgxZz8js7Prr
fDsA8HvmhddjgHnEIqDx6KvwuvIzxuSVFXDdCdD6yvJf6A3d6/+K8is10/zK839l+9ei/cZ2vL3X
nHynoHz86FGDDUfY0qRMvV6esMkDsxA6O3jBFV2hnDFxTVfghTPtB1elr7S+rvzSu7L8/nXpK3Zl
/csr6/+K8itp5FdXll9cl36or+IJ5SxsB4e9jieUJjSUbjzhiRM89MrGHCFToX0VnOpmwMGKX2+S
7FRE5KKf28YKPJiInIBOGOGF5EjThz6xhPriy+cBqlQzIaRwJJu9z37It9ky2nxDTdKTcE0w1cxp
PROSae3gxgrg8ZOs5d7HA6ghTzq8HNsTPXxktx37ETvpMwLI0MZEz/qMQNsqNgUDVvxgps4akIxF
fxk/Rtu0xBgIp9E+r2v/PD8OhOdT0N/Jrs9yTcein8WvjfoXoedsoTVcvgfEl/lxlpg+AwyYeoXJ
ieg3z3CgrrbChGZXXWHy7BF2LPqNype+cKD8aPnNviwtnqPsKbaNfxrB/xWT9jqFQJYTZbZPjfnT
y3mfLNu/ljkgdCofuo1wMCgK5m8nsV33uUW+OaTpQRkXRjUMhX2zbDuZcLLhNBFGUZ25GJfqfB0V
6GGMiP9C1bL5ysR6SZQWhxSB3//1M34FGCpomeHQcHd5SVub4WxX6CfDFzv6/EwDu21LnSUkwQKY
lpEKcXDGlOCj64N36kOePRGOpA/eqQ+lndrmUaYu3rFVBmG/Xae+As+bdx6KDqrmnS0reJ1+O+u8
eEFnkCGMcf6pjgI72gy05jDyEBLaKK2KjmhXZ9AppsJXamTO/E8IArcecSrQMk7mC+Ll1DVmgXnK
I3rNr7/89o+v//x1dhmZCvOWdhXieLIDUpZEn8m2SMXLfPuQ4ri3fBcEjb8HtvyHPuZAQuAfwjQy
TTxgI04TPj9KTzQ/feZATT8HgvsjzUG5SdarJMNL3HnA4Yth4hZxOS/j1XoOzYmt1PCFTQY95XDe
zuH/wHlqW9T3Lv2/7D1rc9tGkn+FX+wPV4sI855JlcpnW8rGFWfti53Yex+SgkhQwpkkuACpR379
Tg9ImSIHwIAYgPBeqhK9oqgf09Pv7nHKdjoqr3E6ic9JKJ4fJTOVHN4PioS50Mqjem8AfrPrXPiM
TeoR0Oydz3Wsf15yliJUwxY2gZS3y9+zqBGCTylq/Jij7VDUOCUDFzUivKs10oOsESNr/JSyxhQZ
lqwxPnBZo9y3WutN1GosKOlYrTmVIkiPFpQ3x6dXUXN6H4Y0Umu4B1krHpKlJ5U1qoYlay7v3J5U
1pz255Mmaq0vUSPktGoNo4GJGhm4qLFmCF5cvr38eDmY2IChk0ob4YOSNreMwgmljXPi3YiiHmQN
GYdNnlLWmBqYZhu6rAlCfBvR3kTtxGptYP4ad0rlnlLUEO3AiPYmbYSdVNqOUSRdSptQA5c2TL0b
0d4cNo4HddhuA9en9JiE91Cwt7PGAzMjWA79rJH3i91bOpMO62JzNXQtTpDvi91nlWRQoYgaeCgi
Mf5mc8eEor+St80KBd9s8paGAztrOfTsqQy/4ewpw8OqAUo5cJstQ/Ttpi/5sMJsRYeuxxn7ZvOH
lP7loJ1ej/eXLhbDir0kG3q+VnpgmAVyyeSScNynRU7QFU54t4hZp2WYN/Yn6SI3U7gwT7zdAmvd
C0IRbKX2maXYW3Cjf2M6S65vvkql4cr2m/NVto53NcLTlTctwRwyWYi+Sd2fIiX44B3Vl+vVjb4q
f5p3bYIfzXH9554BpSc/A0xHlA9I6Hc1lvTPcBw6lrK6EXe+p1+GJu7dcl8Rf2XrY04AkqonPH+4
as6l1G9Zqx1Tjvd/1YTsV9j6Z3ch0/Txua7/Z8YTNUu2dKVTKCZDMOKYD0GzdG2+1UnNNw3ZUHRK
V4wuZJooNFCd0rGAheK0/gHyoUtiDTWC7Y3RYhzPyvdPwXM4jq+tNANpB8ZhW6qPlo9pnMWZHQam
joPdridZ7MHcwrS+pkeYcmpRox5BUrdljHUg5/H8Ks6Cq2hilkzdpdnEvnyTwnIh7JFIK+yzcbrW
pE+jZLbWv/okl2iyfpYBP6c93L6xsuwu3GsemqbpqTBBTlOZ3SOiFB4EHgKrv/DYwUPuZf5OJ6oC
0YEcDaEDERE5DBFxmvrqTNdbyzJIYxV6wCpdxosgXozTSbK4Ll+iLXzaFXiHbb2aBtJizpHZCaS4
Z3B3yWKS3uUBwgxZoErt+FHm4/YVhbYtQ63L+QjB3HGzMPW0dB3hhhw9Hpw+QBJSpHoCRxCAw32B
A69dKadeh2aSYn0L15ec7HjTsKswHt+kQZRX3UHJBPdG4zRL58EyXa6XdgXjvH+q9sbHK/Os5vZt
11Ua/BlnqRUqhLgOzOUOUIv3YzdRbqrVaZal9ohMSh3V1k/MHAI96o0MWr/vg7ur0WQxTRbJCtZI
p0trvgAjLnoFKOo7d7zC4/VLsfkxl9EW1o4QpUz2S169XvN7fKRf+ZSiZ36SsF94uF/6VH2Dp9/z
q+9H8QqPStIvvJ7Vp0T9yovD9gyv8Bjvlz4mUc/0EX/ui3nyMk/+jO2eqNAx4BHcrHyLofD+iKB8
RBH3R0o8X64egijLooer9XRqz45jwrV3rVxuHHM8MfA1g1m8uF7dWPcvMyf9zJzzCLYuRboZUfcA
Z8PMqgBFhURHYMQ7Vav7/eQ2EiNGsW9A2AIJ3j7xfk7ECogQ4RsQtQOi0j+gQxFneEQ48X9Ih5A4
NtVJ76dkhUScwoxGkJjlmAREbD4hmfg+WKTBWAeKOja2NvqyEcXCn7r4v1wHwNBh/PVxHHskzEH8
fcqKMTAA/qBcd/AMSCsK82U8TqKZYWo0XpU0UCMOuWN5xLU7KtQnnHtk5bYx3PbKjhA+r90iXQVR
Pk6SoMhyW0CyEfdgpfMY3p4ClyAo9wm4tjIEo0bAmiTcDKW2JKbU0T6X3A+Vk2gVBbdJfFf+fiRi
CpL64jSU6rtxGsAO+0sastgqRfCEKz8Nb4kKPd0VUONlrTLSvInrSVzXi0msI514YsxG+YtmuLG9
aJF+CzQrmcC9gnMKgXgNQzNtmnQQV/1Ucyh1xMVVI3AtqCNY3z3iJJh15K1M1bSwT7fRbG13LlgI
oR1uDq+ZzT0GgoWiCbwdmKXrvGogC1OojErWGuJ+Z9UWpq20prRYSuxDLFebLwtom9fN724SzeZl
NI6DZBE8HufhC4r66je8HHXSaki/N35WgZKFfjViRArVO1wUwqKthsLlCTBFoeInARwKTNoLWjJf
zuKn462TeJFo4xLfam2YVz/WRkJtuh0ea/OER8lrPDpuUBXTGk+At3kOjDqlf0VLQiuef9JOhFNB
rSUKdnWqIDzD7aHPtS7TseB68eXrQ6E6gLu3nq6i0K7Qnuavx7sL33azQJloXcJCh7Nm1W9lmGA+
iKY65A0W8eouzb5UlLrhKlEXD4qVPjixBaJPeD2LVhoQtEWBKtkfbC9F7fm2iWqS5ON0sYjHh12z
NDyGOX7RXEarm/OzvZ0zhGhXBoWDxQ1hPFTcpKSDRY0NmGtosMKGyWAvqXJxkU90oi6ps1NxjQ2W
ay6x8WlQwyEZrGZTYrjqg8jh2lEiBmsRkMNc8en4RodrEpgaiudb5vYiDdpLTLDON/DLRyslQhDw
tQe3Xi41DB3a6f/wpFfbHuUp6Fs5xqlpAFcHXS/gq3MI+s7uLYHuiEhOVD9IJPPoOj7Lb69///39
218//P67BSEB6w1D3A9C0XI5S8ZmYPosT6NlOV6EwvAoEf3gNU3Ts6soq2ATGzEkXVrWGGmPjvZv
z169/KUaHR3G94SO5s4fmjuaQ39WoKS0ZAvBekMpcEPJqa3fE0pbVFww03eO9Hd+z8SlG1JK9YgU
Rm5nqELWI1LUiVNa1PsTrGfM6fgIE06mxZdMvXJDSrnklr0hdeHIKUR7ROq1G1KhS9uHN0FnTkhx
iXuUKSxqkdIeNWFI9ChTPHTjFON9coo4ISWc5rC8IcVdjo8iyfszM//lwieGnNotfaBkQgNrE/qI
Ue6UNiG+YoPl4voQC0oIC3vCYnEbzZLJPg4IOlJcOry9ya3bDVeE9IgUe+XmiSiny0Q9IeVkXyl2
mrfxhRSWjgraqRLkCynlqKD7RIq8drKvUuIeZYpcOiFFiVOewg9S/+12eMKlQcSbRL12jZdEj4fn
pqUwcekl8obUSzdOIdwjUszx+EKGepQp7OSxMSX6E/QzJ4nSwW6fYv6DG1Jhn3aPuBljTqQHMb+9
DsZZHAFaVw/B/c2mc1N/C01WUX5zlUYlS/IIlWZxZlscdlqdbq/NjI/+fNDNpcVVtLde270h14bm
LFjdRNBLNo3Ws9VjdWXzS9Y6B9asx/VT//L7sBqR9XKWRtCDb0oqwTJLNUp5bvrZgmi1ypKr9cpe
80BSaoZI0QiHFs3dsIiqfk+FO8XmkyHU2kCHNXH1vq8v4uhIovp6e0Pimp0mEiNc32fl8TSV8Hya
MOSxobWmTMhhhEXhHk+XcdotsfCzElqpPlgXVcE80crra9JPoDWmFVp9g81v2uuxGK5vr0TLeseq
CbTreLU3uUuRWX3kpJMa8DZfRVrxl+tByrRuID0yEjupBUcKtyqwnEAUwv1guEcKHQoprhQ+pc+u
2YngI4xEjwQif0L6uL4OWk02SiDNJiWLqDFSLm96HQL/Stp2KtrMTRwMZGFE4N/yoYknf7p+aKIY
Jshh+8r+UVoWLOKRdNhAWM/aLDFD37O12S6fLuMsCsx+zjCk9kFT2FuJWgPe2RhQhUKQTLNobp24
41zA7hGPmJjDfoqObWWCdhdop4xnNnKZJCMfl8mN8ayC8QJWRGLUKQu4/cT7ZAGvkj19C4gPzVYB
X1gBU67Fr6/rJ6qkwIyt8U5ZIK2ABXiyfbFAVrCACQw7fDtlgbICZk6PLHhigaqSAq2EMe9UF6DQ
ukNG8uPM+zEsQGElC2A/b3tdAJmudLFelEVvXB+6w8MC9XDms+rl20hiyOh4ZO0TkIe5QwkLvVQn
TmnVymGptP/NsQ+G7nZHv/3wfuO+XRoX9el3+U26nk2CebQa39j9VqNUkG+siqSeWZD0wbRvF4hc
JPkSULksi4kwlzrq8yHeTvj8I13VooRgMyBS0jtKk4mB+TbJV/Eihtu4PTv7PSHC0RbzJmiMb+Lx
lwAWyH9dZxVMdcRDtTt8l6xuIFt8lU4erDE6ko7KyHVjw6bb/gD4/qsF1CyHpN1wA6b4Leyw7olB
EB0148CPly8vDhBZpKvL++RwYr4glYfCO6lFAQaqLsU6yZKnEVzNgOsJF6srnyyhP9yIBfUd6v90
s9kURP3lbPbLZo69eOCsZIUMdXkDqRYJiPPeR9ex7WQJ9Lwr5ptQLbBXyWSinYl5rC/RRIf29+N4
aUJMq26BBzAQ942G6cYKYAGayaVOgvz22lLbQpKD0lcehcxkcBItZBZwVLrmFFoRa2W0IMLRj2xO
6b1t1wZk4Lh3+ZonWq5AccyTe32s4yi379RVwuUBggbUOuBxqEyACQ57GpozIc/hKYZpMotr7hem
rkGkKyMmaZxrWYvBZOzrFEJHHHtXnvP1bJXAGhIIUuw7qQR2jBMbAYbtnhtrUWwervWUJIidT5u1
SF8XGLwtVh8/9e7ZZiMe4v5v2g7xxlRa81T6jlPWBbkfAWSUJ/nBaCWWyjepX0+1iIM3scvuymlr
kYEix/jRlfyr5Ppxz43t3U7KkWDwyomPW3YE2A48o+KNLOOZFR6DNQ8Egoa6gV1A3fbe2A9aSsc4
rM3KO0ybKY73v1Y6u5AUeNSgBWctBkofarP7W1/fcYXMGh6oNXhpCjbQjq/oUo7AEwgSfZEWebJK
buOS3AfXRquZX/D63fLBB9eJ9E7+bZxlySR+9Il27cZ2MZ0thpfgl7r4JqIVOpuhCBNRl67UokyN
MBOdI1PttyqqI4TQO0tMmnCcRbnVkAmwY4o3AlqTlzRPAe5HnUUzh5P8NaJua7o+xverGneYAn8R
7wqDX395a88twpZWp2yVcF50X7zu/ccmzDY7LODxcvvLFeZFE9QLAhCHTtP1YrJXUi6QcFjQ1wCJ
MlhFMMIcfUVXaI0aF5AcyZCHrcG79i4fPumBFaKkK0n//PPb2qvGHdvRGiFwsO5WxymLsuq1eeOR
9IFC6b5kwbXGcfLWha/VwtqSKSSUd7KhA1GT6tB/hRmUSxFqb1JsONzmxfJ9/TGPM1PE3Lzta+8k
QGYba1X7Uj9I8FZIfBWAzWOYoAuydBZc6TB5XMQvVmkYSar9mu4gG+cCaNfCsQiKjbF2RHQQKbuS
SpgcsG/3lqHSxjf0eAMn6V3RbQ6FomASzyJTJnqhLUNmlvGcs+fmp+cs3I9k4XJQKb3fTtPTNV7n
q3ReteocaX2ov/BqFp8CtcVcDq9LHUWveeNgOovs9X0K9X3hov5lE8jrRR5N42DrAFn1X2gqSbQ5
6EMH69GxAhy+PzubpeNodqPv3PcylGH5sTxWYqx+GJN4uMgRTiv1lXSUzDIophaDRorT1rKxkyP8
uqG6dAU6k1DtCltDdX8WDzuV+JrTaCWP47C2bxF/T9H3qHQ5Xw5vF+TjLFlq2Zq9KLQoCsPDDXtc
0dABFN5rjYiWy3E0vonPoNA/jxbJNM5L7jAqvNgWMKBWYgpzplry3RbcQSlWjURN0F/A4SVwdvhX
mF/LG3/QxF1jdqqBAMO2gErfGic1w3GudDwBZuHbZqcdR9wLuL2DskWTtHa5dDWwohHIfB2kC9Pu
ATW8LQ5lbR4IQwOg4N4hl5QLpdbByhuwracElG5PsZRSDXiEOfZyoI5olN1IDunpTthgZzuHzkDZ
LeVl14gy7Q0wb7QuqwqkhCHt/5IOCH0EW0IlInzEGO4QcoC+g1VEtmF/2SVYXAKWEdYlWFpGrWpD
7SbCvE2iYNfH3FsCHEAt0o+hsQG0lvb1FRUUdQazTGxhM2mb+xKtVyVJf6FvoicJ0TDgHar18qBb
EpkFWKhmfMkKqIBSyN0245DM5+tVdDWLA3BQ7eNDtPbtmQpwO2GtHfBh9VZor1ccI/T7EIvW+yKp
sHGBIcNbfBk8wef8EZ+/zaP7ILqOwUkODwb6tfBgrHwx4+vGbMBrvUh0fPBmco6ev26Om/Z5eRhy
MlC2obpHfU7INkQlPTXbwsMZA8rDY5x/zzyzMIyRul1JJ2IYFQgPkmGIHq/PqhS21SkU8DAwclEE
Yh/e4jbKN5+CVZQsoExWrEuYZNFd0RhrzVQIimEK/giglqnpzGIUMOUSHIbjydoppofhvf43mCVz
SDuObVt6YEaDOl0/4e3QkJD8WIBH2tm6pUdOELswGESJkPlihmeDQSUnA2UbDTFXp0bNpppD4RQr
ir5VM8VCyAEyjEgRykEyTNsy2k4tbmO0JF1YdSGBQVKsjpDjrQlp1CcKxTR7daSAIT2ZEyldDtQO
bXmTzJKloSbXkeF4nSWrh+/AKL8xNrn4NfugiqIjwdHRoO/iq+vZ2eat0vEsjhYgMNM00xH2uGTP
A0Ew5fiU3Fmq/4AL3CYBcdGDidFeo2FrWJupbUvvttKk1fU1up6kxSZzpd3Fva7w1tQ8lmUszENa
LrHng1pfPZYaLAOBZCTxETfhEZrpuwzubuJFsIhuk+toBWno6C56CFbww6to/MW+/4GOsFAtIO+2
rh2HA9U4UEX6w6EkDcYEhJcnYwUxo7CS8ZMyosACC9ZKGONJvFgl0SxYZzN7w5o2ZlR4obSY7i1P
bVKB2tDykCWzWTKGVUb2Namw5gz5IeUJsNKCpHDMujeDB1O1c3trE5Rv/FxPiJ4zaOgsvJ4JDp5d
hM/UD88u0DMZwtevLs1HbD6ynZ+/NB8PvEIOA3GqE+Ra48ZG3JNgfEVtGs1mcHdbIydG3CnDd6wU
vUjO26JomjyZZwZutwA3RS54//LDh4MFEVqTkWEjyEM/t+Np90Ib8TPFb63FaCh70Zobk+ZUr2kj
7T9ogvGz15op4tlrZr5+9ew1skm1Qj1STgQ7DeUBttBOQton7aTNqU/0n8zSB20KShdWIUK1K4OP
UPOHcblDsvcoSDv0rArLVr6Ai+L6jUk1QJLpNM5ggMQkdoNNlPzYgzSPEuswB9O+Wt0mRGdlVY2D
1c0RGHbk9gK+xLUT8GCpH9ZvIFb1HiJqFhq46GBVCy/X35ZsdENQK6ctoNj4uoFX4fVjVpnA2gNm
eoqf9KPoMP3gnS2EMdR0EFdN/vbTJIepF+VnD7GZpTiEodhIOaWr96EUU1uTJF+mMBWcLqIV3PY5
zM9Ei8lVen8WwR4XmPQK8tXDLM5v4niVB/p/gQSndSwdBqyUPB6daTLTfo0OPc/M7MimcFbVBEO0
Z6qcSqnq+FXDsJz6GJrSL4lxhdZQt/rXOoVaoJnK2mS543kSjNOZfVoN3tBGIToCcGUKN4vhRA/p
JIKykXDyNFR9Vm6c54cL8CGjyXlbAJsbAVHNdWYGLZ/eiqI1Fo/EMayrGCc4lNGd+bfosLmwmBvA
RMnjRWfHfyl+spkxgeto5bEE8j1cv2rSigFiqGN0o3h2FKtVBZVllhUs6FXHIFVZAN6KwotxOonP
9bk+B3kwv2Mq0plGO50H0HsISD0vvv8jgfKQ+a0/tuWhpdYEyfhvz3BYUoMshAZxesQ93PbVnm2m
7/JxYs9BMejv98UlGwdeaNJ/eCfI2x/f/119lB/5W/rxMHuKQs5aeRPldgj0jA6bwhZM3FlFs8NO
Sy4e/qEdWeBivHvjnRmpr7O/uPY9IlcdbquRlXavIEll7WDbSa/eItUqJM3i5/rm/VF689y6Y9rc
izfo4lf5IZSv/vcXqX7+8JOlqhCirtWqTa7KlCoPaxduerTahIhvXYbcBoDayNDl5Y8Xn+Srf37+
+OkzveAWGRLHnNjOjNh4DYIT3GWwWQLuexDPYvMjbNU7TMHTVS3U7fbVtart2OYNAiYHLR/mBzXy
waSf8Lb8lCoiXSLCjqXz4mUYSvTu008v31xc/vDus0XDYeHZRC21touzxbaJQzuysw/GSbZOUSoY
berId9WM0IhEswYxM9UOH/biqszMuP8s+JImMsjs3gqXpC9lTv8DLqtSXRtjq8SUhjhUH6Dq+AYj
9Cn8qP6B1W/8Ev2ExOENZl3ZF6veNytM0XBFab422Raz0i1a1bmYgre468niJgamTR4tpamtBPn6
yqzgTU3eWFvSkh7zIw2oS3ouiO+X+pNdy/GwdsWHB7/oM//86c3/fKI/o0+fPvxqsTx1W/KPV7Qv
DjUtZbRbMwflpi9xhaGjxLFd6wgFti92lfG49jpql9x9O1dYdS7J7J/kg3hziX9j7/7+TujY2iLJ
/cVk3K/GKn9irfN84r7QVmQSJf22EomHhgaJrnN8v4UXlLL34U+fLn785dXPFk9f0t4cW7eh5DJY
WwjFi0U244mZY6NjC42+SuZlCxkUNEEelWFzuCFQeA7if62T25pYRcADFX0pHkz9hkXF2dqjou6T
bjs8LlM7Eo34MUqwWHto4Ox+HVxFE/MsROm6fBlixy6KCoi7qfJ/U3dtzY3byPqv6OFMzhO9xJ2o
U67UJJPJpmp3k+zmdubUeaAlymYik4oozYz31y8apC4WAQoCQUpKJRPbY7uBRqPR168P6Rmw8gl1
BPbwukOrTD3d5uIFANxLBnpelovNY150e/lIQzexEKnxh0U5/cMhNc6JPInwG/KyCjz0Ddoy2np9
AF+Vhbs+r0DDp0/pqsrMuFwkgbEL8Wj5ZoC2NOebKUlCXeYddpyRDbDM6X4wxj3YBfUvipRbkqXP
b8hXyjxpvv0NeffzT++jpPWmOsJUXGLBn3KAKqoiAA5vr5v7ZIpGWbd+5doLJl73003vlhZsJalk
EvmUJ43CqDcYa6FU/2+zi/rYHoMsO5qX5UO6Uqs3HCpno3mBCIfUrKuqxuo161PG/cySXYixGd/S
UdCop9j2t2Utd6LOlHfmIZQ9Ik4OOXBNBlnbmprCZjSaHUDoSGZWZ7wRw7DuwcytU6FOgtCgcnUi
8IeSBDDt+kjWrnEIgOyrZarubLlZV/ks26MVqjU9WeKOyvIcTzNhn4yW4Q4577kNZYolUS9GmGUY
8VK31zhMZTSgouvGHHhl9Mg+xV0l351Hq9nNEscWoXOEWy3MbFgjBkGXRAQQZHP3Aokd4WHDqEav
vLeTiwSF7qsG8Bzshny5zBow+OdsDaB+9Xeki0/pixkyAmrHZNibZK1DwNSxebrXdcEkGdoltXC+
XV+dkOTkpPWTJhR0+mWr6pUp1ezf9BAhNkE+2cYgLNh76V/q71Dfcl9LX6vCnk+4T/HQgT5rmiD3
KC1AFrTM/VZioq1MfjEtn5VYzu7VLgv1iLfxyWMfT8lzMaBo780qeh0BWgh82fDgQCkURySMOB1f
pqj+C0MzBIbBJThQ+dJhh2hLW8aOaMdnPOud6K0oFmKkfXEWyrNsjuvQWzRFXRHxzEWfV8cC4/50
kLvRCObyFa8eE+9jZTREO8RzOcvnL3vzfzd3w4xXQbhUWm2ka0IZH/zNbqxPTK8gwumV+O75VKgb
YHstEMxQOns982w9ffrLQzl7+bkCO63Wt6a8OE6UJyev+j2Cm0bIJEnopa3bporYbN4CyBW5BUYi
r36SC6wTkV6Nly4DiDkKRKGz7xGj22C41zoHs+ab29Yy54WyEW/jomGKbmOdPkV8r9+YtuTrlPSp
YUxXwgFxG8tEuF8SeLR1EoKG1tw3cmIkuRbHiLIbefX7wS2MZ0X1c1dGM5vJTRy7lDexTMHpbagd
cRuXCNGLO3VF9tHsGxOKlIPArsgi1ktt2cNs4jaysdt+M0LhYrfhlj1f8j5x2Hm5yvLHIurKwyHK
qfqAXctDTAIFno+3bsmGSTbhgg5CspPtBOa9JIPQPZ5eaUolczShPubyOdHZkz1pjF10/7G3XoAV
QPdfPe97j+S2tM4EUBcMKXVx8RR0UUZbhVkjTkPF/uNK/Zhlgq8jYLIMMMgA++Qh/fG2UA/5H+D1
sh5Mqz6P+2XnhlHXNL4ikTYbKmK41p2+R21I8XKZXM1TfPGzrVFyrBUzSFzRsdZrNdRXUJ9IfT2Q
Z/20KtfrhU7PpfPtp5l2HA5hhKrNgxUmluCE+cFD+cHekqvRTTgJYDs3o5FsULiIIezXmthhyTSY
vzbsWUD/S4YgaB4Brp4bcmlFsCmqdJ5Zc/664HgIlkSHw2DadgRXpgQavJIOX5ObvT+J1uMVDykp
Z19+PKrMmjUv98NTDnx4rZFayoIU13JQbCgrox5edwL/CSWOEOq9WLFdiu1EmJxwPpC8fn4+BDdS
L3cJw8bBe80LJSqbeo5dN5cSKAYYXI4dV2oVa+hA9UmPzDeLhTqhLCsOPtxC7h3jtBudewT1LZQG
AcLusKx4J046ibvijHfPS/rqtyrVNEEQgjrjV3pbEMgJD/aY3LSq/vJQrkCp6Sr/CKAFLBANkkJS
3SWLd0xlVj7vQbGUfK7yh80aAkhKFqInJaULG0kiJ1KedSbmSlJF7KAnr+5J3BTre9QeX0mQi73R
YmQ3pLVR5ggCzHDsMl30XHJGrHekU/hMhpVHuwnt1CZ2TLDtEW1y9e4ulqaCbRoDumDM0HASgg3D
ugUPqiWQVCYMQJehOAS/XAD/scfJnKVJnXqBjinUod92SW3trdR5vF117akA6BfwaRs2iIiYD6qQ
m2Jilxlxp8/SIaZLfW4ZNMWlyxy6Px90IuFEhIMTJZ8oRkE5d9LzQ9AQONjNJu2bDUjQ/XZodDKb
JgUS+H532DEUXeftY1T2UTzLUk+Gi6Bn+dUn9WKsNwVLCUUJLmlqB63XoVcT4meDHXK9zu4tysdH
sIrarzjMTqaxGEm9YInHu4KKh4yKsR5BFwiM4S8JboPy+izM63BJTK6TBVKOxgIsr4EFpC0FLjUT
p/2CKlt/XX/xbvqYt/t7BOLxaNLmc+FaWZpjVfm2UK4rBC7e62/d2zBfzspirQ/jOWvNt4snLPZw
vDoRX2CAQraylHMpYwb7mQDnPf2J8DcHD6DuDIahfe4jzC/1ofsqMHCAEqQzE2aERpj6SEJcjMcT
F4My5GEu7EzCpxxmabzo8zKDR8E0ENqDwgH04glaPGYTRlBwaS908NkYuImxW97GIbChRHPVeVIc
IzSsYYdpEv6gLIETCvWULOBd+vxk1keMJUoKh5fAbYqNB7TrDMfECBduIeKzpLx+0dUDr76epwtz
6RkRwg2QyHRoh291cQgwChbEcw2YZqwqVY+3FP5XTCeOlBaM6i+op0uXS/9emcE2hBvYhu8OP5s2
SHgSzvk4PMTOCDASPlLksFF1cRb5VNsq5v1SJIferymeKeWwkvs/DRjgvQm7EbZ9XtjFZ9uGYA8Z
ctufT+8aRhUNvGva3rVXuPB82T65ecLGMOKUZYDGZjLAkXjldK4JXN8rmXgOuD791/9++MfP774m
8fu3f/3rP/5qANf38ZVsVpAZRxAhNyATmyAqawQeULU7/XrqF7UsFi/Nk2qe3QlpVI7DmSlZObcM
JZGQU7oiQWzHOIgYWMx+/frvya8/vv3h/bc/fv8D/vWbtpg5dcg66wk4DEP1iZjIhA9PJlGaZwQy
0q06sn9wKvaKl1gviv64wTqdLsrKckFZ3E8rnOO7xkzGwQ7sECerfWyCkUmCcd/Xf7Z5fn4x1uKR
CcNxb+Piz026ynB895jPj+UOerpomPW3zW+QahFu+Q/PreopgvGEJigYid+Xjy04Jeh5o8EovMb5
rKMG8YQScVnDmfZQPs+bxToHVLnmCyZJFhj5xSt6ObuIJR7i97goH9JFE3/ZxWFm2SJ7TNdZnXGL
1GvbOUuDAlBsGIv8pEpHPjrifMs/JhKPsR8sOR9lP8wnWDymKUcHNuXEP+OfBEq+Fj/8+Pdvv/rn
T6bBu+OIcOwTnx3Qvat/xMHPO572h3S2eeiDIzyOf/tAfnn3nfjb374nBlePYzTKHaJc3sDBbeew
t45Kxnzgo3rHf4t/+fHvHz58J9/+ir/7YBp5R0ayjCXxeOaL9GP+WEehDuSijKzYDIR5JqquRypE
QB9pCZbXa8RdY8IDAarg4DEi8v7H7/71TRK/S/7Bv/1KmGJEdETviVF6jYLSkoiExOPcUUzF0I/H
9z/9+tvb+BdEf3qH4m8+/GJ4PELWcaizqJFwo9kG0DeiRqGoE1ul1ZN10g4SI2lF4hMv2GVs81n2
vCz1XIzNcmYbJ8glmXjl1A2Z4TZF29AEpstvA93m3TkarjLlExEo7+20uyYBnkh/EVmu8o9aCJtU
rXoIYFCOMXwluC7a7CUkxTqf59nKWlGSQFcfT0Yx2rjo20F1tCF1ydOFQS4IBVxzOsqusGSBd2W7
V5joWST9aKUPmSkYhDGFkJYcRQ4kp32qfFr47EW5BlylWVlkZih2RbhXtV4HgWb6jxsASH/eQYdR
YGkzTSNIvHwDTUj/OdMYELtqH2NoTplhyCdj4xQnW2VzRfypO1ZGY78yo+2xVfuSm7LoJMUoVGiN
oCeaFyqse5nb2ohB/SWhIjUmVsINr9bZ0hCmQpKd1c8wXPkx8mHBGersi0aY7+MW+3ncyzwoqmwF
ye7nRbTt4a7hRLbj1bD55ko/o3KrIIppttha5TA/Y7PqMsqF4+RvLz2xztfmmVSYg1/MA5S5r/Nn
uLB+cESC+ImXidWr7GO6yGdaxBXZ6TTLZmYQgwSqIOMAGf09RIFSTGYFgrC8yPYECdrC8OqUtWC7
qA/J6wGUYfSY/xqCBM66Drt+lyBCHbLfmmNEoF439vutr5oQc+Vkrk5AM2AhBtJDH/MqXyuzSR3b
H+aph9DoJmiIjdYSBCODysIw/w8LgEHreSd3yVkoxYfCdfOmoGpHsOA8XW6qp2ptCYownkC9tcft
78I+qYCnXbAnSMJ2vdl6OJE7fyxKZTWYFJ9RcuM4cQPGCnlVEhxYo6ibMns1mdwUEII7Kmm4nZ6+
K9ingGoruRr6uDnGsgDIlmitZOgxg+N9eLEnO2IODWI9KB80iLXXAFxW/pul/Q3qa3zAY9ztTuOj
jcEO9LhAzdDbWQZR9qhalJ80Nk4ECkJp3npQtTF4CnYuYz1Pd13W7UgGECZoNmEs6SOteie6anWd
LnQo7EsYCn1/d/eX+t95Wq23LNj/mFIJn9V/4GjdLavZF1DbAsW19/o73+D3H4vZXTorIVj0VK7L
6qlcfqFJvF3fw8CK46YSpvwgeebF++H7f3Uw60tkYpcThm5wdj2Cpo+oYpr6D8JnbYbBFzsYhBCh
E0F4SAZhE4P4mWVpPofAZHgzaJUtF6nitfXV1i5J4n39H/M5oKSpk6yq/GMNj2V2brHfW7nd2Svn
rtlVtN1u+fA7ZKSmT/nCSF2qB+XMOFFboZtWUBmX0PGGc7hsPgVRZ/DByP8EaTtpeA7Y985genAf
xb+ltK9hqHRbQRf2NqeJGzZux7Oq7JbVZgl+REdOUAjqhlDowOenTM+17diVMj0p8jAW8kKZ12AZ
pIvG5Z2X000VPWQAPWS9vhRpFK4wKcE2P22ZGYAZDpSIbBI0X7aptytoddaGUzQ0YW4kjHEyjrR6
9b5spXVZLvWjEs1ztdfazlxmxaz2nHTgtzLXE8WKMo9HFKUmeM/iMQVpS3RUIToDrLkfUWmWXISH
JozMhGM5NGFiJIzk4ISphdXJ0ISZZcdiaML4UqwWVsJnmE3nJ+Ha6E5ejQ5O0+GmyoAz4dnuRp0r
pb7a40lEB2hrJgQY0sfcaSChsHaY67xyrOy5aVnMqrvloo3eAyE3nFyKM4oFLb7Us/XqH8OGfiOl
jClGIWzCHbvU+TxmRhtfcqZsbHop/jxmTnKDMPRqXEy+dQWho3x7LRPQCmtHaZ7OgIDNpmbaKeV9
8RA7K48kD3xBcfcFlYThgVnm5cydYlljOHm16Jy1eIQHWzzjQy8e08EWj9nQiyeDLR4lvpxXSz+J
Ko8E4X7mnrPCbK3DyxqIEb3IGjve5XT6x+Oq3BQz89uM3OoXUQ/AW8y7q6lQX+Px2C+RyQRLpyoi
ND5kJxY+DDe1pxvwoxEMc8dhfr2StuMAKgwiCLT4lqjwCaOo7+9ud1O3W6iVCifn0/EDM3WZNHqa
kgOip3QZV3gGpa6xAPR8SjsfVGfJ5qvyOdrN6J5BjBfWsHnuqNVLOHU1RtGI6nVbNKB/jhg1LMXc
Q94C1WYQQq6MYwtlWtc/ZH6QKJJXfci2Vcekx7U4SiOfvCC29ig+ET7qPwD3HD1foTFFyaBacevI
DKwRz4EsRQGLkWq6ibzMxT4ndkB44muDTRdlAb+9WpZFlUUP5ezFUjDE3WYMBrh6D8qKnmbWwilM
5YQLD2nYAmtPV5mu2tyiauulKP2e2uZtKp0jJgR5vMe7NhM9iWQLcwOT4vOVpbCZMSV50oPUKydP
PVkb9YRVT6kFbg8GCpMk9r1TMONukb401DYFuA7pYlF+qqKme2gv1ubOSAk1qsSfpe4QIdQNDh31
AXqXAzt3xCloYbcGp+liq+ssePhs4tYHhPr2vxFBWCA9crgr21Otri7z8VHdmNc8TtTTW4Nrs0PI
BEK68+EJCq7XZZROp5nOGenbbEa7lkT9kZBxGNrsluMQcnK6v57EPpJy7KmaOGwvHMIxQBfF/W0N
rf+QWfchx6xbb9WHY583+zmvpq+mGT4vU3C+W/Y4STgU64AJeEbgqf8BJT7Pvw/MV5gHygG7gxEe
WoMUusnIUYtQ5Bhyt9hUn59WkQ4KzctVY0zBX+k1ZNVUfYs54qzMegR9oMFMqwZey1iXCOlAL91l
utrYerUZHikYhbGHnaiVPAz/e4ZTOo7p7Y/P1jBBUALY+HycMFgS5q05iSIn6HkiWNdcf35eAMx0
45wd0Kt7pyCfoZunYDa4qdVFRy7xBQhDXlxegDCRoOuY7xVsF+XCmKcDJ7k7UkeURleXBo/ydiRU
XIa/RF5AlJXXityywgFeSwb9tiGfKshk6NBvob6kROjfVhHCcQKZdeL3WH/Ki1n5KSqXWRGlD+Vm
HT0s0uIP3c4Cz7Ry37dvucVpZgAINYZGRCyRQzvNl1B9BASV0gvoXAlDe+OLEE6YHJ+uuigowXIc
ZYtIf7NOPSV1NPI18E17Zxzyv0KI/iS3D5ot1qmMY8rpOFo1pj5meF5Uy2yqNqEVXF0ioz4CDjZ/
pTyPAto2awVnrJlBAHktaB/qh4X6zdcsw8m4UB4kS8YWGC7QOU7yfmdL5Wwc4ShES4uLA33xMBl8
oK1FRQMGeXzVlW5zq/+zOnHFo3Li/tyUO0fVjHTH/GJtZ79/UhDe10qth8/U0fCD6eo6Jr5zVPWc
GjOyAryRbjMB+yvQ2Aehxoz2+CnN19H6KQPbfI+CZLgUDOg6gscE0G/K40E9JPSlmEa16bgrksqL
xt/ImqyHuRuVTzAJEFDcCkwnIhuSiq+0P7EG/HUbTWkzNGEaBXAU7xyJeBwZkUmMxzsogvhYBxWL
HoHM9VO+mgEY9Xo7SwvqX9PP1pAeBBNDPELHjKyfH+P8Xq5e9CSEjKiP9tJosB2UQRaHcXNrTm7W
+SJfv+iyAGVnr17mm2IK3uc99NWvs2YprQ1PSMxRv3LPjnPtQoah6ngR9bqRPrKr/on77fP0kZ5q
uxr8MDHxsZ52KbzXRto8XSw0CsRc2cDbApRstVKfWcv+EGEwWZlflg2ChckMn8kPS+qYQeYYD8wR
JZrvy7LmSGskonrLw5TcaCw95ZlBoOkEEq5IJiymg9q+Zmu3SQRdVADdpmn5VHvtSp3Ok81dPdgs
rxoQdRP+YjyKlL4tZl9tDagWfMKE+RQCDso7XVQ6K5V1rmQ+yj7nR8UMAsbkYcourPUox7fIuISw
i+pG6lMRegVsi8VNLptd2ESiQt4i31BMyYUZh8ltMg6Ri+oXIm9TLeObXLYk+ApsGEr5bd4Vxq4h
JkHFbaoadGkTkGF0m0bBbS5bJrd5y+MkSGZPjy48EZ7Gfu0+13CZSXyL6xbyNu8SpTdpbtBetQ4N
XaX3ly9RWkVTS+dYwhmfEEFCxcqtMXIfp9K7eAJjNErpi1d/miUo/mQLfFPAUg3R8OGsWAkdWbG2
ObFvM7XFFOOx77Vhkfomn47vw/dG1nxVAnUGScIHvoIxjuMBchcHe7OP6qRMDCC+9mxrkkwYl1cj
wx2hcenDmZ6Hsm2L51d/yaUc+FZIKXEwDd41nA88uIlf/XmNZFzjUwMqgDVFyiVznMp3rjztdma5
4iQmE+bTnBtOnrZLdNXJO0SnmrHYPJ8Nnt+xrXXLvlzybH6luMfNY5ojtllqFEkyoIRFpjGQNV4W
RzIZbncNmAa9rsO2njSntKcqmWVr9altGiISpJdebGY7NkN+dMHOusoWc2N1NdNgtuIy9Z24H47V
oUBbN22r34A6JZ/GgJPz6M2dQRhwIEQ/cs5D01ksQkjQMl1VNjBIxjR4/0DDepbZ6jmvqrwspotc
MeBwnFWpLNHi7jGft4f0wBe3Q3oYwvXH78vV/TFaO5NE1BXGkrCwErhlms0iVz4eZ0kQmtnzcm1C
IAS4MxSmNEj3Tx+RqNW1F6hZW8b24L6Wlmni11HXdUQHNE3Dsf2wsXoQpIKPSy9Bo9IjY9OT8bj0
OB2XHh15f2RkeoH0ozM9n3rlXvI5rn5hiI8sn+PykwYqhHW/DyPrs5EfQEppyKfd8rAjP7QFl32Z
d8UDmXqNUWSbFcZBX/J+E9H0FNPNep5Ea91U2Y6yxlARHWPIUIQ4K42tre1JDc1jdBVjOcFJ4Jfg
mK6NqWxCQoXX7FYzwf3cps9Rlf87s8zzBWQIFgoZYrNUHtI0BVDOMzEiqPLaQt26z3q71pl5E87D
vONdk0XcBhJYzwzACnZZY7Pnrn4Y00Ase03O6iKyCcdiYGH3wsw9z0XE8fC5zFccPR27Q4EScdYS
Aqp2TgCxoJfPs8UwKh6j9FP6En16ygHGTG85Xa/hVKO82A28NUYSJffDADPs9tzl2FIVZMI48qlF
2L+My3RTQXN1VE1XuSLbzBdvP5GUAVi9cuVxX9yKfdQfwCui9SpTu57DDHkdQa5DunvUKTO4FIsd
4xjYxSqYWrAyqHB0ZnDXhg+vYAWYC02eJppl2dJcJ4Em1GkohQ9dZKdLoCuLDUT3Qb2vxvFmYkKd
+olx31AuiifC6cJg1xj1evUCqEvTvLJIqgDIWKfhUE67q2k1lO/SKq8MU9gQceqsw6cKrvZkN6tF
XWN7v15tsmP1jBNoVJbBSf43WLP/Bd+Sp4s34it0d4fjN+Ld9CldVf/3/29wfMxxvRxlybulBs5b
jWHXxEeYTvEZFNL9m/fxG/n+jURvkncGwtgpwomPMKY8NihxeDpOO6TsPHn64eczN6g8IIb8Qg+n
Uy7Vn5t0lSnjCOzsXQoltidQEJZUTzehbskMbMOjX5ardbUPSExfpmbvE0m1+Tg8qfaApUQdaMJC
3BM9RWFXhgpggsbSER4TR9cT28711TguGIx1d3fexus0P6WsP4PrqQnpo80JxXqCXxKYUPscERTz
ymRotnasomaqQOPsFfm8IUCnmW6RK3P2P+xdW2/bSLL+K3pJnsJx3y8DGMFMZufsHiwODga7wHkL
dKFtTmRRS1KOg8X+99PVpGRZ7Kap5kViZoDMJJHtVF+q6/pVVe70gSk3N9Yqx3H6JCAvm9/cJ3cH
3yB5Kuv8YcyF7f/mRiWYq+Oih+00kiEw0FAH2Dqt0tPOlDNFnRQ9CJI4u7HTSSoHqJyK96q1nuUZ
6K1gv8Pd1FtRMJ9DfIVjJ/jrxt7l73m6KReyitfzssQpMQ6S9YduyXv76a3RFvV+m4YQ5Z3O5Ex8
OqUBfHWYhwOp/cr9tZ/54BFYQS8gFMbBd8naHF4eHVrd58bpnG9y6EnrdEgYdBFrLsEmTQNF83Sd
rCLP0BmA6hAsuv7r5vXHTo9DSLOBAOHijox+jRdfkiJKs/vWQVEQA+2GBJ55V43CR0JcEbMwqucc
LqG8KxEbZPb88zyEy8v3VNpHy9QcnxUeGQx6yuLMeVwAsMXqHC48W1DhvaB6D2s6dR3LaDBE8XW3
DRsRXcpxP5zYFtJg1BOduiTECEpNQlSf5fl0U0R382Uc5dmyaWQwQQS6vXWQTOY5W2pVn2F7YY/p
KoZRd7+aL7zfD5K4rb7zt/IbP6U789qdcW/Be4yoGAep2OWGh1flnz0jNBgn0B28my0KzSUh1lpm
yuAkzt48Rqy30M7R1vNqDPDhg1tS0/UwrwHzkYizV8SZxQiIkWjzV7Q50NZqJNrkFW3r0kk6Cm2K
8CvPB1vcCe6NdjnIxX7RPLQsnj86o4m0ZW1NHxsmdf+ZsgtsmMmuAfC+MhxYj3X2r0d6U8tsavyz
xwKNtGFZx7NQ9P1umL0S4awU4UT3p7ghoDIviixZ7Ao33AWcKhLwnsOmNYVIrcDR4bKvG3zFL/Xs
leR0xnVHaja/DmQcVldZ2F/V1HhtaS5JyxGcTlu6mqn8MgK3cv8bzF6KymEw/aUIy/m+zrOwh+Bc
BVGQEB74uZ68VCDBGR2cKEYnRLEyb3UQN+PYqD7X3TDeD++aTN0Yl7WPVyBaznA9I/1nXXeb16jB
L4gEtJmgfb8B72l43wFh5h3wwBjIOtl8sYO4jYk0X6z38yfKGILFY1RyILKTw8Hn9i4Ec20EPdd9
HQlgkD5v0uKzG4NEZ4zJrpGfEj9mPvsYehLvV/HdfLd2oC1DAkeBoxDpOMqV8R5ahdizTFy1uDbW
a+s1AU96jrTr8IiNAxlwehUv3BhTtfIkjJVe/cmen6f2lZDOwUoOWexX58arqS0sfB/zHRS1Fkk1
QrXcyCGjantj5NHXLDXsvzQfw7fO13ngjzk7lSDw9M5ScR3XfqQdT74W4Zcfhxmy5t93Vo23m4I1
2qqJXWlZnXy8/rtkk+SnO2A2giFPgEkwj+efeZyBCTChzdjXpfBMkHENAKRoCB5nf2pHMLJq6DkI
kWKeGausxnAQAyBY8nCOeyFnyQA16aNmy6qYuo7nSKN0V2x3xfH3l5zh5QajQGY8xJd3HZYsR/1V
i3CeWBk+IDNJ+Eh6iyjRQW8t5pA+f4iNSZ3vFv554zaJJ0axLZ0mpWDMLIJ2SSzMF3m63hVlSMQ4
88kWPFxj6WznS4dJxcmMChJ+slAzYnGhNiFnESK2bCaPyLPTjWXQhz8U+dWDJes3YDka153iGl/u
FOaQ597Mi7ieVOpiWNmHFmdPRgY2PjRdJhI7st1RShuKpyz3UcA8fhQ1/wnq+PhwBImDIOEBDyuP
l7ssKb7drLL5fZQ+WW3ymBaxbYYCbnLDvCYokgjCPrTdJnWdKyLDEWQugnjAHXLXRaIeOcfSIicV
cCUlHBbZ9Pq2DreWU1u6iIc7QOy6sX5c9jxbQtb8IV5v3TAIxSAnLobbnHRsrpOV+hZB5WJHzYYj
qJ2SU/VHcG8rlAy6NQyDaiQNi2raQXa2KzZl3UzKPFmWXpvdzj9/+3sF3oTUwnJXADQ2X8+Nus3d
s7dE2Dv0AdNfZTWcMWNKtTlb0oeXcLR7uEfInFhQdeVM35a4vffbeZ6bJa5us3T5JT/xx6ElIAoF
LVk0cGluNqRulA4sf3JwUv6Qfv0NIG1x9jeg6+6sFxKjdRCzCEDC0TNHDvbVkpsH8tp8Kk/8MrdZ
FmjOsEadyh4aKoTBsq1f+aFAOC9gQv1R878yu7BO7x01wyGYqT4WaVZTW2LZYxN+iIAsdCG88GVW
WyVK3zpQDM1fA7TD/OZm8ToX5mpUUZZjsRnHF2IsO0a4HWOpENRzqzXuPTfr4+XFt3Vc5mSs3jHv
EYLwpVINeRC0Y8Ch34X7H0lZ/lC3+swjoT0pcgBlblbtIviYKD3Dgk/h6DZp9Bivkrmj1Mg2UcB9
mASwbGKsO+OqAkj+pTW+KxKPhQqspkgXv9vmtklRgr5jiDrdR/nTvWfWrYAm5lO4JXtF0SGkU7+o
0/oCy6e7gPzF2ZdmiwOMjp+GpCgPEipiXceoGJ/OJozQg1IQ1z70SQOl3rjhLWtwmWaQ29j//cUs
rL6w//vJozf+jpC6a8SzevOfkmy5rouWqng7BIpw2RuObHuDqJrd7Hn+dELbWmTzZL2OmxgYn4YV
ThjrynjYykAGlbN4Sjo/Iu7DFwRNTCn6dkI5mZRW8uxDCzU5qeXZyZnNWEqYwAk8AMo9n+IMms4/
fFtkyQrGjkB132N+C0m1H38yApFxId/JT6dBbsgtsYnrAN/ZajVVJeDbkVTTcT/NHhwOqKayq/95
jPXIIRxidFf6OAdcyXr9zZ1DZSQsnDv+4dngijvAhUOwvNVAuUNHj4gi7EQbCHF2s6KLvphtljg7
gti4JZ6oRLszUsC5J6lEH5GHfLc4Ti+1CkBwySZkNOyyufsE9UnP5bsky4sxTrFE+M4Ynp46ckcF
qBjXZvlgP/jZfuAyYbBEajqBik30YL7rIV6v3GyK6ZRkcAohRqiM9cRLWR9Sq62gEqKLfjztfbUH
T2zXH+s13pra1tZyOndVeGKl+iQPm0NbztVAF1X25zW/SK83VSFvXR2CoInPlMya4sl9S4pNzDTz
+DAKywnbZr7ACjoZ/DrKI0Kd2NoiXatMoRFxvk5lMOCRca6vTOVzeU2ytyUCgEkAnkrcG6ukxUOc
BVijenZVx3cGdAAThkYCmNIQsIbD3SY+dzsoJd6c2G1svIYJ1mH9FroAWonG42LJg/qxd0F1EyXG
RXUTpUauB8B8XBi5GBuZHNRzrhMyGYlxkclEybGRyZR0TmIvy+y1EW217DW0mEAXzp5grTkbuyQs
pJd9Szf3tLMXuLkkCKnbk60QhFulIePVQroRkKCuxq/SGZ7iJBgDP1h5y35IERu40mRPR1+efUIR
f5xfNtj54e0ELkZSj2USo0HsAOKvhkJ0OILEWb8zIEGn8SjQcAS505YbkKDTtBqmypJ4TSuK5TUL
nDfBq0HtidsemNM01AM+a2dZ6jDGL2lwYAapoMal4EI9cP2p4viaGf3g63p8Z/vwzY1qeUxXyV0S
r6puGqt4HRfxD8Xj9j0ojttKb0BxV23WC2ZiAu/Eh002C+8nPEN94Rl6QdhfH6hnTFQ396ix8XYL
FnTkAy8IyRoAZkxZB7lZTi5Js+Q+2UT/99ffoq/Jev1388Wqs6Jz6oARLlgFWCilcwOk7ZC/9HE/
w7LqwWOPCWpyk01T0wSiYBAXu/47bIOpDmpIOL5f4ks5EYJDmjC9bOAuTU8ad5ZxFRLWzfsiBpQX
6Iwv4rZ9etG32OmrEdqqjp1eXOf6DpahCay/EUSLCRsufnband3GzzSfzpm1AVZj0SoHR69JBfjQ
CNe9k6ZC3lYJXOpWAqWNtooeQMwlmxfqdnXw1fs5tFFqGA+PsWwbS6CXdHLa5VkudsMNcO92OoyO
F3psp+OwlmwC8q4JPt6qSoqO6DehVuEL+iZueQOQn4c0zqOnPNomzn4/xghUAnwbNjGl5cXO48DZ
ky/z50+yQodJ9Nu6h4SoHTKm2w0guLSh50XLY3LmI/CFV6Q3vCIDVG+ZHL5bl6DjqF1rI81Yy4jj
dZgsvmCDnoA6+NA5n4V1u+rty97VWyj+KbDbG+h9xchAe4BOQuUrTgrnKw7K+reLWtAgv+50CBX4
dVjgCbhBhbdFChMXv96gPl+EdFp43QCzK7dUf/jBWE3G67HfNN8mN+aDk5+8S42pBv1mixSqT1eu
2TfG8yBkAqzx5OueISdiv/sCFLxVu/9hebt9VzjMmZigre2NvSL0PRoq1/Sv1I0mhdjlWf4sHL+4
Ap5vW7fBFdRtXIFDfNYJE9yDB/f7ywz5CHSj9btQVFat5G6QKp4RGRCwOPa4X/xsoOAYC8AIzAVS
7ZofX9YY4K2QCl0FYiks0E9WqpjfHTKiHVbZ4XLnD/NtBXlxNh+1PZNhcrskQ7EcaWY5aObPRjjl
+WK5it+hX+7uH5Lfze+OFB/XAZJtvt2WOXpo9GpZ/tk5XxNmDVMWwk/Pj2sY4lSJjNONx8uHFPbq
sE4w12Oc7E8/f/rlL+ZEDev++l9//dt/l390hAcYGsrt2l9CtL+E0v55uZyjf2V/TUYsJ3dxfvrs
mXkNVISEuN7mhD2smo9T/ilYUK6p7xNvak+PNWaXX2E5TNqlA6BZANWjrXBvLbxMN3fcKmLhKYWz
QONM0f4otQGNt+suQPvDcHMqhiPows8KxYYj6AKNay6HI0jc5XEDblE4Abt8OIIyuDCW9oiLJwMe
qRNXLvVohi//+X/+/o7/Ulq/1V+MINyYHy0+b+KvxrmK81vssNcwUkMcSwM2vN0YuX51gVcRUNmT
U9BYe06NJWK8tT7ZwfJBC0+trLQwWvm9zSbcovfreHNvfgyjunVJxZlioIsbUbFp6UucwbNYCyI7
WJbp3R3809G8xDY7m8FjBkNFL3FfXs+6uj+yvz9WPxizsM7GhqMc18nRMFw5KMZy3kt+fVlvv2dB
0chL8hrEr78v8uLKNZUweYCP5mVWb630M896eIQMYiXQBmWBezS96nX72FW3328Ev/eHTxyCmyjE
R3JoBrIUG1qoMDYcQWcVLFbXKUO84RYIAgiqhjsm5zhPjIcj6K6bRMMRdI7zVHo4gk4vTA14pHJs
giN6YQ2NXySdpEHAkL6WdTdG9hjHVyosa3UDggGyt19Dqy/tjnmTescCs4uahx/eiDV86MO8lBJf
xEWuYuv7mzh4yMzlIQeB0auAQRavjjPcj7uizO4ZuxSGwRbZbuksfGXQnZ7rUMDwy2BS3wrqb4Vx
AZFddE33YfS/823oK1glrO0QWeHOhZJ2jSYC64XsQMJ8nSxjK2LuodIZvuntOiEp2o6M6iBfHM4k
pgO99puneXZzl65XcZbfyM1NLsiS4AfOtpzp9XK74U8Ik8eluSV0v7n5x03T2VXXu79b7mDAdv0B
/Rsp0t3yIeBe69EPSfnI10iQwGja18ggnEW4uUjFxn4EUvEgqNDpZO+juXfmrTtMNYJnkpJ+NIgD
+EgEnjEyxFZcA234jKPR5ZXiSja2HPDuDLYVZ8eC3H4QLdbpIvIVuWpl1C8e4EB/z9PN6e4MLWN6
9b854zikWeHdo6LGzugE3GyP4+CCStXvcVrUEAjrx+QxLr5tY3BZjPixJtUNnDOYvTCz+vbf7wiB
D8xvPxozL/5g/vA0X+9i+ICR/9TwffWm6iPIcmOBB3jn1gHPbx6S1TaJqn6Iy3T7zQ1Vg7rpPhEK
zR37JB/zyp+MS2fsxHfk5/aXr7X+T12+SYXGDbIGQYi6BFk5Rt95uJIMg/xpih7KceOjVItxw5UU
sXHDlUFI7k7hSsFGzrAFlSJ0y7ARPXBvBzD7fzy4769wq/FzkoNU/uD7ngNgoq4fKUNyAIvsdXvv
sgUyWGSdLCM7EsEq41JF4kgQ9MyYq6yQIEXJTIheCZIIG8/q2RhjyEGSUyRpy5GerUlSFyGpFJ5p
3olQ/q+dcXzMVpwYXM3MEYZYGra07AYGeG6N3Rold9F8t0rSKMkj+MBT0I+1ZoaevMwTOjwP7wNq
WxsCwQPcDQsGYsa4pBtnuF9zTsDi1D1RyGJwZup0qGQwZYsF3v9RM/Hy7zZmUaMCCJGW7ZLfoPKU
rOLU0Re97GuEoW1QEFTNW2LxuFsXyRZK2V+KLeo95bnRDWzoCMwAXH3eTxD3QyA0xOCva5a17aBZ
1ceZL8fLXRa/DENySRMh9YxRGhYagpwOTB6O5uvkfhOBwVGm4GxTn5c6yYi4u2hpYwxwdZk7999P
P1equvXAsccG+8oL6AIMTqcNCJtllb/u5uaVvY7PLZIvcf7D4nH7HvzTf4B/au/g3aIMga7XPwEC
1P7p1zS7rWUpsMSUgaFzae3iavQ/NDb1SoUDVpSjoZ9n8+gsxIEp9FjQ4IBTKxPQ7yTUlpv/My7c
3XWEFhN9lBKLS7N/CQKgXOoPQwvVwJ8oYQiff/786fMvn//ighhodkXa5ggAwptw+VwJdm1K8jSl
hqXjuGlIM8SzJBd1t+pmbVt1X+VTJ+jKmPTDMPzB5ZnovDGMv056qNWuOSVdipdX6deN5U5IKti+
9eUgTMujZtuZzUYYiVKmw0gtHSYhvYSYxOj7PPzD6WuHLBVcDG1N0TbWFJ+219NRKhyuiBGH2kBy
qqJbaPFHcFK8P/IaFUfewO4JRdmwb9FtHSBt7muy1sGZNlUP2Bch+eg0qVaj0+QyBI5ylm54WzNg
OlmzdWzECmZSq9GZRAs5xfQlpiqkXViZpHpY5/BfVVuRLNZJ8c1YnQC9WkBDdcgpuFnaxhPp9JNV
mNOQJjYB2Rch/qBxTnKFDkkfGxMIkWuLpxuRjfQfk88EE2j6oWxJpPozINw1IMzx0Nb0IAFhqhCa
YkCYYR0AxDkt9DxnkmOU7xbeSltGZly2uX/WvKDMnOR+LStHI0ktZ4q3CuGz6Qd1qeY09Eh7mdFJ
WmXK2PcVVKayFQKNfWfRXCpaFVCxP2YglRN1IaEzyXAkZWTgN1R7yY5LEyKsPma5bxwOLeu3cxjb
XFNE0EAZEaRIgNJrMVGtrPvxj1VTrcZqsYHHNhq7uanU7YS8xdAlxfGQnGWa5Yeqs4ftx2UWr+JN
kczX+S0U+NRrLxWhfXWEL+LnwjF6TSGB4W6F0nhYHn5jXEMbFteCsUEY8IT3yl7R9Ex7oAu3V92p
hbjoHQw0eGPfkYE2dcgwjKg6PPI02qRFtK8jAVG2MKLti3n3i2/mr1vXs1aIzjjW51M9etIP8fLL
/5ZUHd0wAE4i8B/2TqVG6jve/MHVpg5ZBarrfM7qDZptRPr3zHfyYNw7Tl6QTid/VCi0/8wTeBcS
yRlrhbqa7ANXjd4jk2NCknDd/GYKfiPyTAv80u3EZKv+pGyAFrhN4w3wmax80Q6WMFGSwkTJEKfk
wovWjE9uze16C1zZmpmc4JoneM5aTW/NXExvzXKC/Kymd84Ksz/XPAZviOnpbkknuGYs/5TPo+ju
Kco6ciFXxOuHIDwh8/jQSZ+JgFDiy3iZjaVzV6UhIuPvxpmnlQc1/yD8rwO5ox36CHv2iimfiRC5
7aC9JwpQ43w7Xx4t4xDhck2HZdDbeKAV7NGyMFx4/32nzYi4WQDVQy2gZN+XD2rLcUb9AJSixVhr
anNKEs9oSBB00BVxLbu/0q8PSRGvDTF3ox2qoDNsn6/zhaDnVVLBjZanw9C0yUoLUnLC2ocjutv4
yLaDxvZNVkoRElk+ysdu10kRPcTPESR+iyTOHVO6lTYyVs2EJBINv8nn5+faPoXmlyEcFEh4eZ1Z
cp9sojLj73yaXEMJV0+bO6bWAC6zaUZGhqPpEQlCmF+sF7L1McJVwprpju/hZajAIl19i46+ZoT4
ZuU1gSQ3yqWTDKiO8l+7tJhH0HM12eziVXRISZTtp9ZxtD9e50A7gjExx9CPOVSupVpYqyVF2LUo
oYx9IvXl1uThSPP4OMfXx5H9bNvZq0pSPWNaXW5NnqsgjPdmwvruAusB36c78w2D5kLi563an3/E
9QbotCdl8sbdOllLUvPK2Sjkfb6g5jPekyfm56JOFdc9db2gkqmemNmtRoh9k31ybvQYF1mydKst
jdSMDME8VfmEUy9xZBQAHpKoj08ZSGE5MJ/ywTbmVC2cw6bQgER9ugMZDwGrQU9ToOE25uz9xJmc
BcFLWxP1nSY27gGnw1pFmnYXXrt8fu90cAhi+uzqmTc8HEusUZgwZYSJpgMS9ftVvCet770vJQfb
l1OWMA22hBqQaMNhsmFFSbtOsc3Mn5eWw/5Tt/GJxIyQPi/uhGpDjIEpECJqeNr+a2Rq4GtkXQTM
NkvvMxifukx3G2P1OW9QYQY9lXvZRo2gN3BrdF0/0sRXtR+1nGb7NgXnSNe9iunm2Pu8HMVRy942
by+/qg7wPyMuyYwTMQAxX+LQvBs8/N1gPc6W9mUstFtU8Mh7A6cstgUd1mErnTTqggGbDxXuxoOP
6VMceQU8lVpDr6eejvKImKOrPZppJnqn5B8ebR3QdmjuPjYn+DCUPh5gzjZCXhOEavgdMvsGpOhW
Emr+FBd9DPcUPTn5b+5YM9oFtHE6lIVFGBH2LLBr8gxlCht3jbOh9SaVw7KpveY6l7KQOkDvII2X
8RmOyl6iAE/B8bgEZSvQPndODPx9G99HMBckma+9zRoFojPaqrEcd/UtK7L58kv5/+hrvHgqisiW
0lb1hm4nSis+o63QVLxzs69WiWh+fq8Mf1tsNDZF0kqgOCk+zo8LvY1V0kQLIdKyrSdvbudS2kWG
GqQyHXpP2x5SY9CRIVzYLgeCfqCUCME5olIwTYyiq2dFCCVjbFO1ili4OcRI5OxbxY7bbLeBV73a
ZSV66Gm+TlbliHuXS0JoSxCBU7a8nhIVEX63zX943LJXVETZV1QNTwTpYCLLdTzPvvw/e1fX3Dau
ZP+KXpI3xsQ3cKtcqd25Nfsyt2Zqb919TdESbXMiS1qSyiT31283SH1YBCkIhCjHtVUzE1nxsAmg
0ehunD6d/2g+JPApsWSPeUWodnqZnBJwFNKLBEZpE6Ux0PJqwyf6PJQ/K2uSsci8a5Yplxq0gpGY
+y5BXtUE+8W6DReVCiIfeWUdIVIpAXvaL9kaQ5JO+RSHKBUBq/VcVLBUSOuxKEpYtgTUYrGebzF0
TZBNBa1G8pA/rst+KmmqDYIRb7INiE5ZnGHDEF+QJ+2lqJM0qfL5erWo3HxpBC8Jxkg9eNKt/Dor
n/IGf/n59GCAI4mG3MZdQIZDhFH8yuuX7AK+yrGSCJPX+jZ5Fpma+BpEhzUIGa5HFd709Xx3NH1P
OXbWu/XqhjjcPXwozbAxvvagRQG3DowTve3wjZEhJ+mFyMJBWnWqQNmlmt5Ic4YEo3R6wQkybd7A
OeOIzA1xnUB7quwJFX5eris8iG3k13ydJ/k3PJQXRbXJ6vmzO9CERaaU32bMTIsbCOZYqnQDwfA8
ItIbqJeA/cQu1Gsf9bLMg05gHoxU3mD/QiyH1SdykKeud4xHrFau0cKZnRff3DcjBjP6Ick2iG/u
9kFOUq2Kx0d33AgOJI2qOkM5SoIuHpFG3cIEqwvDrFiW//pHvlNjYbekgYpztJhwlFu4ArIcWvwq
Gn4bODtWF+w9BZ0lFzpYcWwRsiaRG6ywROvLzQ2WmBGIOYNyB7jIiKXDwOQ5K6u8djyfMqwq4IGP
r+pstcjKRfKyXuRg8vLKOs6N13xwIQ/KtVmiUUS+LgwR4Zt8VfXkCQWSUxlym7WWnIzeVnYCTseO
8u4e12A3q05LezozJEhsNb/jKUmyZZ2Xq6wu8LKs2cWdu0YCFmMmdIT0KzanybaLYt3pSPPCtrqz
mHzGiZpUzdxKlYbdjLhG/1BsHtYbi1X6UkBM9N01ciLVTGp6PW3qahEXJOoA0ZFJP9VVpziHEJCG
FxpR1hWXs+qsZ2u6fG0GBp5RJ/vIdPbtWz7TRl1/CpwDhgWg2lxpwN2BSqGDb57RzTi+eIY9DCZr
8+ws6ZAk9Sx/D51Vi1t47e04NYqFXW/2T7BDcNfNYlg3I9k1J6Dx9mBL4dYqVvbWrn8emJoxyaOb
Mad8p+qRlId6QdvNJi/nWXXmSojZuwUxeowucQ7PDg5iTXncm+Y2Q9u9YBOejQJdvkW2rZ+x4L69
ndmnoOnp31RWodeH36gQvd4got0F5dTMlKZXmQNHFyoJaiyiT8IR+HqLag2/tv9rex2w++GepeTE
GUtmOg32xZo7u0Z480N78Qm+wY/mPao8/5pYRhi75RBJVTfOYbleuq9FCd4kxlbLvelxnZ8Mrf2Y
u2W8poRTa+VkjDVCUEyfjeLwitX9m6T6ajPbVXiGVcpizMxW/7vNypymDhQh7l0mZNzh4PS6bCXH
RoV0Klmc6MlE0TQq5gE+bNYrOHr2VaxHSJ09NAdZkTZgkxbJerX84UY0Y1Uaj2wHGuqSpPeUglBJ
jkKZnG3EewxQnGcb3LVVi1E8/GzzBJZ7Zfn4Cf7m0KEXfZYP9Ff8bteil9FDj17SRUpYhJz0ahMl
vdxmt7fMwUVSl8vwwmu60ZoIMdSXS3QggtYukAkWdvr1/JUBIH43BJUQoWBTemm9HIMbI0gDZ7yw
R3IQOlaBr7kunRgdvEbx4/OQThzHIVpY5Bu88l05xAiDQuSV54upVMBG8sOHyQucN3LWg20uc4Zc
WNBTwknom12Ut6NG6fFTfZLZId3MjhQUHgKuILtc2unem69fEAmEwX4D4HfUI2iJTmd6hd3urp+h
RJqrj6xtg8REhEEdhRtupx03uxeZgc/0dWX2VV+amdD8alJfrx0SriKwR6hJBTJlJpUnGJtUHk/T
0K3gQoE7Ed+YvdFk2mUT004j42JaeTqdWE1ogJpU1XEsCSE6NurtJACoRHwCGeNLNnEquNquPojU
IFxITmuo/LpaRpQn+MR2cdoN7QdJjmlApj1nOJ94Q9OJDaSaeP1YGtPx6nG7GBgvep1x9TpdypMF
LESmayZ1GmeEQxQLIYmmi5rv+rX37RtE8+oNvCHJqh+ruRsOC2EaZTzibL0S2acQSCATx0l9zL7m
OxDHSRRuO+oyxULzCSddP49vI3dYjnzhTDCIUSfbq3nsXTmCRYlaxF+5MwsnUnHdhdux643Kql5S
/CF4GhISTpXSZoyMVqYe8lTmSRQn3UUnDSyg2j70sowQreH9TUxj3MeqJz1paEZZfWJMTEUZvF5o
szEhTvmlvU1bUWGp10YXHkGRk7ws4flNFUajHDzlu8G5qrwUh9NnjNdTrzfJAGcgoZogbCGOXrSK
PkB4TQTSFIbP4kEYTtwR9saWxL92FRoWFpLqkGT2wPB6ZlLJmdQqooK0NWqYizyHaCLgpAgZRU1o
j5liMMJ0skOgh1nezPzKEC/R1f5UaKBzNKQ6ztllhIbFbl67oqNArl1iuJxkXnd8aCJ8sM/FYlPs
Czk3xbzG/t9V8e/cWSjLuJaewcj5zeEkyqVMcqyNjDx/bMCGCkbi6iVzJ3kJnEAqhl4+IHTO3n4T
TOd9Jh0wDWzsmRSRhdFGmEuWoHyKBdvR15prDIy6BkaJvoYs5pJFjLiGLO6SFZSdPC9LuGTx9Crr
JZ1zeB2lV07doFeRpZ3jCnEXzssy0XQ+eDOPuoc6HCa85zCB/1AaeTh8wMnhOrKTw3sPEyqnGNcl
pKuxhPExIdR2Y7MdA56vEPAhTpT2SpiDEEdjQ8s4GYm2sVn2sMwPrRqdmEkZKcV6Org9r2RV546R
wsPlRJMqI11Wesxpm61Q9Eoq2aZ6Il2PX7hkfnVZUVZMTb1iowAVHisWAlw6nzJ2cKZIrsbsqybr
7QzmbD+rkcjblogesXmD6NtItqHN4fcFc2QmgtGWyTF0zYb4FnX5af30rSNHaYbIzpBsYgAda0ge
eHBI3csrYqjGGmRGx4tqfrac0d0RaS1g79Ax1y2Rik2EH8vmyWAf83r+vKcZs+WDiKff9FPAgu+E
9yoqXFaHnq4pRN0b+XyF9vAX+Bnc/Y/bcnmP9f1/u2uuFp/XVf03nabpXZXPt2VRHzPeZUs0RMXj
DsKLj7Pf4dPyj8239nEf2H98oL/CP/thwDf42I+2giBb5mWdPGbFEhb9Y6tt+5qAu6yaF8UrI0qt
caPpIJ3MyYRcPAAnOQdRIZiEd78YTOv/n5XurIQ40+9/VkKCz/c/KzJ2AQa7pIS4mcc9S+wcfgf/
z2xZuW/kNfLEqehvPFTv27wiLOmrtztfBAyn5wXHxJmalnEFySLE8XfVmOSrp2VRPd819DC2tM5J
kKLojBt+PZlZNj+tv1KGm9lpUR56jv+q8vKtqQizy0Ikk5Oq8nlNQYq3RmujTV248jazJKmOXiJ2
8kZ9rFHYn0DQ204I7ZhsEQJqizUhXPPbzgd7NR8M5yMETBhrPpgJLtFF42a7A1jGLVuqWyXPWfuF
k0cTacOpuO0CqG59k6C3B4YQQ26pBbFtFL/Ii4Kjx42BTfWMh0SOZ97NW186B4yh4tqV2DMq01gZ
oZZWxcFBwoTG1JC58mjaDhCMmKtusfYX3M2MJQKpQ6e0nch9R4gyf8zLnnajiqeeeE41PKVNgrIV
lTTo9J3gRj3t5/uBd2tiql3q8SMip+7tY+96M5GMpOTyd3dy3pS5mwOAKS4wvz4mj38DQg1uPAg1
dMDk7ek/73ZsYzbRn2B7pqRhTFuuV85TQ3HlWSmrLmJq2tY2AO+QvgqGyTyv+nvlMMb/+fs/kvW3
vCxBBwcQw0xwmFEuxuhhW3lJtavyUlOEgtITzPqgL6Im4d5qogVqvEzy4B7saQvF0ms9mI+3eOhM
7ilEhulLKaOYVaajVMQ2pkye8+UG7OUrbUdAKaOoI14JtxMROwaZDqeMiwCPSYUcggHr0sUZHSBG
TjCTPEFOXU/h+xoVmZmWPMZId5DZHYTWtYit92gpDUPP44uu14hi48V43EtSTq6wi1sHwC8QCny4
HyZR+TI8N/Gmyz5IbEjKTtrN7PR1G0Pn2Ugjz05bhEfbjWGhTXv06JNI67pz1mMnDJpENtX09LwE
pWCtiIx8rPWRVhshkbTaDwigIpKAs5S9BS+omyLUJ4boFqeV8sLkuoQfRLxyetmnTcfbRfi0CRLk
cOI3fAhqgqV4RLLIOj0vf2zq9BN87OgX7uObGWGvK42u4knNou7BYZ568FBEoI7FOZpoJ7+l3kZg
1M2SS69CnreUV7HBkVG3t2QyJFZaZd+KJyvzLlvBo8vkIauKuTtmh6NEqbegN93kvuJs1OBfu7fz
9cIRAihB9Iyf5NBvcmbxyGcWdZ9ZnEsTaVar7Rz+qODJ7pSqgpllJjxubFCL2besLUduOtW/ZKsf
yffn0gnTEAL7k+oYseq/83KdLPPVU/3sIMNOZlyZ2GI62olS5KjV2mBnzayuy+JhW+c7ezBfr78W
uRt9TGecyBhGpy1dOcd5yqWe0ZD0Qic32VV4JbGxYxp1Co/Q9ZiFrovccUVDBIxKhLgIB+Vvjclz
ViHVvt0M8x9zN2GIADvuV4bvs7GbWirrhu0U5hxxbYp8PibgnF+t6+KxNZzVXUM/sCyqOl/hMV/C
4N0NRLhng3d1WefjM83CGd64hhjQ3uTiYAv7lA8CuXzW8qnMVov5c7FcHC+ocyOC2yNZqFf799//
8UuD+/vNki81TBLugyFVngyQPXvD9sLcXygu8mUOwwZTg83ekXX8MBHuq2kkc1A6jvLs9+lg13WG
WQJCo+RQ8ZLpad2MdL3q01SCtcQhQLiLGq/7oaAvmUY6PI0Cc10jNMde2i0xA12ANauLf/eqCbd0
fFHS3r0NS5oLC+xaE2DKmmKf9vq8pW9ZbG0r7T2PVd8W4AZtWcBEDhEm4c3nJ6wy+Zx+Ukpw+Bfs
tNGCkg77m4bQY9Sllo/51KMS7q9OpiFhVHnypSqf5gUtPV/XpTDCk9azRx9XICFffHnIFl/WD3/C
Irq6vTNmfcDYUj43nzvurQi5lA4Uleoo3kmVwOGzKOb4VVY6ueG0rW7nMXdXUhcvPYTYjAqGl+9x
IQy9IMCgNNtekKN9alOIBq5DCe9wn34sXp7IPf1Ok6cyz1d4LYpf0fvsIXfyMXNCu5d4N7w06qYm
DUnjqJ6zdwqyNgjxJq5/xEkq6a1ljbu5SRVybxpRWVi3YkLony5b2t4T01TEz8H3dhRh6ehddfxT
0nZ4TjZ5CQuMTWGbZhzLJbraTnuI3EAhV0CXtC3yw1/2HJFNfJB8g0Prxc5zjQDMR5D/3M2W8JQh
kkCnWl95Yp2TqVNPLpOesW4WjwkSOBRtL+fdyrnruSj3JFj1HqcTwUoJRCwhOJZuwsCnLyFjkSUN
okEpDVDNPU3BX89FnWOqB0z3cjHPSjcdgoadTsnYhWp10B0pQxTm19tKnWVccAyqnxVXhERgDqGW
cdGdpE6DDbKzRsQmB3II0Zf5vDe4ZISEQYZeL1n1vP7LnT9imL9hY1SvXEOUfI7blFj4uYmzRg6R
AySLIRb4ZHRV8bTKLNqupzsddjcfb+n/KlYLJGeBxcL823xZuM9KbVJP4nCvqydMTx0YbXaUMFSk
HfOBl4kq5Bq1dxGPZ7ZvDXXYGlrP8p//81+/gp40NB35ojcZrSWBuI/E0xS3niDJnRHXmL/e2VPg
4vHR16GueQTntvrWbT5LwRaL8WfMfpy+m4KAbHHViorHrKp3FERHqbpiboPpQ+mE/ZUP9Ff8cl87
AS627i+fEKCA2hZQhOHI90kBO4glvCg43KsE56m5PHQRtoEwJE9Lecw7PRSbf7e3TnWTAzlpv2cT
teDxcDFmI3xv6RfXbSHLpmwzSvg1Zndc/QVVB55wQYw6LxY02RTfc3eRHpzSyOg7KhGL1y8QVWy6
799kt2FrpXGO0LPT1+dpCTAn4sqeFkvpJINsMOauNKCRngXrJy8BYRnegGareX78OTlJPSZtPwR4
mbLIe4IqDUFByIm0WW6fCjCh8zLHEPWb3lHQ7xK77hAOya95hHqjgU5vLDXXFUBZgFOEZOuLosQT
Zrtc2J431n7dObZfEDh5tyBHlGg9S5MUvS1GGHKmUDXGYj6XeD2fg8dwcPec3LWIkQ25HfHV/lbt
E8uY9tDTtiWlKixf4zIErqH3WDihPRtA9B4S7uOBGqQIFFcbT9LfnSYlHE6mOFM51CtMp9G29+f0
E0uJYVxyzpQwRnH3jjf0ujuehXhHvktGhxqshKDVLtyBziQR4gIUnUJPP7sUNeiQGDXhLW3ruKqv
U+3lRig4w00qhTIQvyq3+obcZu0tDXM3eeHC/mHI6KjPCmkdNUd3WCSZNiHAYl81LVZFXWTYzAmk
O4M+zpBOLOAN1vaWFJNwX++aUzepIPZ7WH8Hv6whczv+nZ6ugsqTs34U9MKMgl68GunxD43g3iw4
NQZkU3bdGxlKaLTBFSvEOfa7UHhPwVIWdVd0PVEqMZukokrpBkkEFT/lMt7kNXsAL33Wq+5aafDG
KB+BFtuVKYOlzjHFMs9WropDm49OiUwnsSqr9QHw7IIDILc8lVGQhu3wm6rmTSd8YQo8T8Ujac3j
elV/quvH7gaAKEKLK7r2eOpW8GGZWx/DCekxCjwMTmMb7QbC5G27OdLCsdj7x0pHWNOwKaIU6znS
McE9gsjb9IYNHpPMVpA4pUFMo3SAcrVae2ezvrCqX5o78C/LYvX1S/uXX2wpyZcF6CHuJeeKS9ta
i07AI8FC6i289AoG2KiWxaB4ahnBM1SbcYWtO0hJDzeYRMaiyIPuFUX5WGer/QE/58vcQmUWxSNi
ZeDTQFWEQOlelGDaB8/T4HgQTJU94dzus/2XcUWlcrisQJ9PBV2ykUlqYLXV5ZOwE/yU1xbY1dRm
bBtIywKGXK5/VEnzW05EiUFyVhku+AQL/AO0uofQyeDtwPgR7kFkjTx3HwpEK5AAnepSSbc9TxY5
ll/uqaN7uZ7hq8X25eVHp1CT64Cxnz7KJi9SCoOkb2lsTNKIYyPiTY2NpRHHRt/YukXVSXKbse2f
YT8fnvKB/YrP+cD+Dk/6QCU8Cz7bp4FPAc8T+ERx/Ez8vnmq6N3HXnmB6ZaQxFxCr5zPT7+EIuS8
u+YSqpgWhl3it4zIuBC/Wj3tXePZm0vSIVsumFqLnPgNZ/H5ehLgewPFZ37N4LV3Bsp5rcQwy2zG
7JFdxV1VvGyXmJKxQ8N1vrf5/ORsSd7HXZ+5+RqU0VGrxLFtQgRV98iPnfRbvK5G9FeOSPE2oiRk
fuF++TMdkc4risQow99R/hmexotnnPW1xkBsrG9lj7zqhbqcNFIH2OuGbuM4nqzy+pfmS0dtNbbn
SE2A73N6nXjWEA3cvzNjO3LE3AbnGLUMDTT/cU4k1W1JolWYFT6P+iFyXAgf4RDaZPXz/en5CWeF
rfj/c/P0sckXzpvOUh30J9OSSOSKCQiNeslinh6+um0F96x9Pgj64/d/9qLHs2958ocbcIkUn0y8
FS+pa4CYvpQe9UontjbsjXhRNo3vdqQIZyJG/m83Qc1kNQ0M7AtXdQYzj1SxH+ushHPv3mYnwesi
HbyR7c2lzajtcrRT7Tm/cWsxZwpMOGM0xuD7RmSRZ8bzTui6RxWjLNK0drmPemwSQQ4iptnPa8XR
oDDEovCQ5PyZ+5GjHjFubKGmngWYOk65MPHr3vfG14rJSFP2WOag3udCE06wo575+edNMRl13lDV
Or0ALbGOsCyLSvz8c8a5Hh0Cur05NqMsSKkeYcBgdDbrZTH/cbdr5Ike1DFD3d3xDwlmLu1/+pCj
LBWjDo8ejsXjd3gs1y/2HaqeQlNb0/QOVCbEPF0MmKDsPUwVeQdmFU7xd3CmCn1ZmP/aCh2Vwg2B
XiibCRJwCHU5obD9zR7D1g7MQn0elg3m5+tAw0JtwNSomDH7GU+PawJ/6vegJsFxzmFNjqXbV3fb
OZkqiTP3HmZNXC0yO6N5RrMZT9+BI8b4e9g+IyFg4Ey2KCzrTK02mz0GrC7z7MVNxAeeJufvYRep
SLvoMj5gmsqff/JoUP38np1g/8kyE7g4M4WAM06mlIccc68SKS1N0R/Nd79hxcs8W9lqvxoWrgLP
I3mAOcsh4tl5G1UP+37qyc90JjM335YW5loXL7njsopYqmH6DtJgVJnQFEGDed4ssx9JY4yS+fN2
9RW8MXAQe3AIwpM67q3PGn0HsRhh9I0jQiCyHlU3ZQmT2t6te7oknqYO6EmqRPBGcJGG9ZR3m1mQ
a+iyyw1ji5N0ynjyhXsGO25ScuVJ4uC0tDiCAiXliyZEGMCmGRKI/fZzqHt45NWMh8gMKcT50ruU
AuvahB6fNDwKGi7IEwrFPet0xie3IiA/0MkDJ7mlbGkVqnt4Gwt3VGSa9AcTLMZOfFr38bEygZUm
JKT20b/ngUGv6oL58tjln+Eg2Ob3kglKqVTScMe+Z8xMiBSlIRcY4yBwRlx5c3/qTcBLLOAxsezq
un7Oy02PHSPgb7CQkrDL21NzTiPMaF0W8zrAYGoetuHHtGTkU9hnPaF9JrCKfq2dfWDR1XaDbL5J
dgJLsyVlDGn0wSOc6CwIuvofGtSDC2uHvAZKvoHbPUHIhFAHpnSMk7baPljN7CMg5USHYTiGzPaZ
pK60nb9GpBJtZqXcbrA+euCSmmkRZqd7zns3ZZ/wbEQVbd9RGeC8HDefOnVjWlJV90mnbD1SEITW
g2SGpWnMne3f2I8JOiV4od9vUYjPocR3SRtI7DEdb1HjDdTLJnkslg2gET/YcoFmebsLjojH/CO2
iLm3bvPzusMEpmCKuBFxFQ2RqI1wFweLxhw5G38wX6zgjI5ClXl1AYzlmPZTtTbkSciVzWL7jOPg
Och4cqGFjK3lB9kdLQeP00yr5YpPkYMgStKLbMp5mH2TDo3qWGEBu+Yxk2FVbrOj9vO//vu3++FI
zsiZYEHFhK+TpRgblz3sGUoIEDQJZpwZjKGk+T/urq25cRtL/xW9tB/SYRt3AlOl6spttuZhdlKb
qdp9c9EWbTORJYWS3fa/33MAUpJFkCLBi5xJJWnf2iCBg3M/3xesRS173X6U4CHd+ZiuccSMhpVk
W9rPcw4k8joyMnJMUHeWjA5QkrMb7ajaduvoJc0RK+R9yeGmchje8R3Kw3pMgt1PKaaxZTrG9eQF
bFmTt6ZbwoSfqtd298uRzekQHI6GBcBWrrLt43yXP6cV6xzPjOIDW4qKlmeEiSkUoCQSS4GqJ0YL
tuc1eRvVq3ljDX615sdCEnhH720pgrcIXVhKtR+giYWVorfp3TP4Vm97JNto+y3buXbETZ69IFz4
bb7+tq0hrtTIwUVF/7zINs1BfuxEs4cBA/51f6Eg37ne4nHcpV++JS9uFtpmxK/x05KfB37gYfc4
X62vQAdYPsz5W7qtTIpLydVAklk9q+gxXW4cX19l6Mq6nqzHkZ1WAe/Bfu2PETRZq/NT6DSYv+z5
UUZ0rMCJVANVVqyT/bJeeEscOJEnYj6FuJxiVCsqZorzQcSlxKJ+JzG1zBt8JkTcyxzZ8nSRJ98+
3+4fxOdbCvgvZDTA85p1ZLOgklvi//ZbgwZBhZ11Ud1XQWru10tHoVWiIaBjg/JklXfNhaeEKywU
DHdbqhlsMPaIvElVSIwQ7CjXSZnfaaayV1fkecYcQSfwXM/FSQYpj0w/b7XD7VUxxfI6Hb1k2VAG
NhLZIPWgOAP7K7e/ayCK++9UXHic8We846hqsGtNmSFTeLt1clDn+Uqt+3u+uM+o5GrbqYTEVNeg
Jvndmn7mRdBvLekx27a+Rekrjgj5IXA5CUNh83G2N1pFNklmkvDgBEqJZ363TJMcUbex9wxzv1tH
bwU+JQ5Q3b5Fv/sLuVziJDHtYfwFodFy/bB+3h196MNvoBRNoOmxlEPLtS9c4oAtM0fy3QTKpMOQ
Es+/4dfnbDFHkBLUDVXW8xP2gf0Pjrq26xEApa9D4jiPS3e8xa61q8RO/Nv19b5c9jfETPT9dasr
60CGFRIh6yEAPTwlcNDKtQjOWs+C5nqb7fIZ90NqXqn8jCgUV+7r77rDUTIp0lCRTjBQXc+VEjbj
J00qF3pTxmj88dLB3ZraKfF0tVMCCoaa0fXaFbKYbnfppgKXFZuZlDT89lrlEbk5OFcXy9On9c6v
KQTCCQxQDS+yevuxhruH7OvzKvvzOf3HYs6ufrLfxpxLvl7OV1i4BJPzPXxg/+L3RRLp+6dna+KL
cQf4PHmNwG2Zk0oFGqHEORv5wekoD24MVYOaa5sVy5vNtYY7GzIauF/2//6Oa/3LkY1WyEft5Azy
CnvXxl71gLM6ZdfBjus6UlNKsO/eqIu6fL3e8ig+yB5unv70cZLNYt4no5Tcgir6cZms/th/zRHN
v+7gBLPEb9Ql6zuW/w60bhg/x5WwYtoDt+wQm5WDVlYC0qdbf3wUU0TBVYPdoXoq3/1tqjb6cgP2
UBk9Rf8y7dWw1IIxt8/pveI/pxkxCtom7nNDbi0y2SI6gjr0c2tQRIceTZ26BIhfz1BlezNHw25/
dy+Z7HgrLbR8SAXBl0XYf80+qQ1GwMLO4bdeZU8PdP6Q43gziNhrIWb4ZTYvkg/4CT/+RMz9aQke
UzCPIEDtyBY/nitEg3oLW5mFAwpAbomhaowExMakJaH3x3PIuBTx0GbEa0DiuGdW6OikjoL04/FM
/IHoFn8iKk/Nf148rCJ71patNvv87ev9GqItT4hl1CBwo93ZpWjca3zbhpFu8LSaiUObxkCLsKBM
eXkNYHe3Gda49xPf3riNmTDreTB0bzi7aH3bdb51WPBbW6qFW5+utijOYBH8l51ROQvsmSq3Eh2P
WnZWIyUjYXOMFbjYQjG463G0q55U6ixWZLIVHS+zDJkR289Lr7+5QelDtcwn+AKCfBrr0ZyVRbp6
i4pSpftOtipc6ZealI4kHKyWmMRmLdPXDNwZ79bAgYPVIn0F+UsthZ6Qg8Actrgtot9rWCodzxQL
nUnK+//i16oI4CBtLxXyw2P69OXb+v6+YtJjhljPtP9j+2jBsYpFh6kBJO4GfXnZVfphsODIQroZ
927JJtlkewjy6DHF4RQ/LAWxYBE9kmlFudqmd/2tg9gx2a8bpvAp3hXpC0WYutTQdve2TLePaeoP
2TQ2ZGg+QfiOCtEXuiOvkpKsZ4nAgdRk92VJBEMj+zXrGl+5rzazcF3Zqvur+1HYOoqCXrbE/Rsb
5VCPXuMX3W8+EJ+cnquYyfC+raOIMkXK5XdFR3wvDERxT+enMnYMinCVryAyYOh5ScUojaUiFTj9
WHYbWB5m4/eBtN14Xdl41mfjGdP0471SL1kCD5oPSUTAPEQECqmLiBgg0m8SyircN2LgSvrxLn8v
GYTLJs1/2L1SvTKILXxll9Zaln0WXqOMnBHUDBCO2KuAXWVuoqG00bjJFg+twD+LyrDFAqGVbULl
j5eJwf3TuIR9jwtRNEjGfVwc92f0e/KSuNpuQ/iPXNbggej/8A3VhE0SVLlR2YbQilMtsYHtsu4W
UyFZikGfQAs1jtdrczdn3V5BwPKweAzf59BFcXVJn4Eafdm3G9W7psboD312/dwHfeG3G9U5YnQU
3+ijnF0chFTUzML7lUqiTMyZ0ZoaDycv8uX8x152Ri78dqMqah5EH9bBsfYDu+swdOu9k4m1bttK
h2ML3v4YOmNcX9jNkDEdKn/XOCRAhRjUrTt9x+xhtc7TIk5Kd0m0Sx6wnnC7XnjPN9YqrFEl1Old
rs64vSasxtvS9W+e4OAzSdTF1hZyKmf7IBol8lyTjFCDkLID7IsvtKuU9JgRfXBeQOIe0qiA9/fr
GwTtl9PewE2Sn3A1uiY1/7AU63kle4pCl4eluvsQpRuiq2YdF89PmwjtRbXrIUbr14/74Hw/HVPi
4lJRZ4eNoJaNLcS7GV4c6p4S7PgsiEGlFIbdY5YvLEoYGhHkbbc5qc2uGHnw3heGGWk2BFu8nbIs
+eKrXFExnoGawlZ6N5fFMXxAh3jRYm8d/qKb1AaFmb/dP68s9/Lc9SMUW1GxB9gu3mlUp3rZz510
UzGAGoQM7QYIF3DWVLNJ9YG/5w2805B21a5sdk/p0zp/a+CzE8K2Kfbb9L5yp3SPYqnrqXndZLnt
UF7WOMTxhOFIVd36gwZpUdsvu/XdKu8BDwAC+vf12j1Axc2YKT5i1LSyfWZe68JR9i+895LpkazO
t2y1WH+DjajpczVxIHJyqfFfsm0GCuam+Nw/e2RiWElMcOfKg/YPhhAyxEhcOYv5DovBtWCXM5Re
oxbDMfNLLs/UQIAz72Iwy9a1zLDLrwrWhFMnlBEz5rrb64K30LM+zunEIw6i7EvVRf8Y3rt7cG/8
XZ04TdprdvZuiaD1Sb44fGTzbg2F3VggwHeriUoTfgL2Z08xiBAVkyuFLO6txpNNy4GsRoznVngn
7Vdae+e/KFKdCdp9pXeuClIP7Nf0NVxjYzJvlRQe4+iEYKQtA4Lpqbfr71FVkztQr5BzHmRbYoHo
0a2gxIdfXgiqMZeowkXvEB9VhbAMyrwIR1TFU68q+cyE7HSo9sYcyLmMmGSm5WyjaV3ae/XQjuqZ
idVAq2xfHjxrIDMHxNrxQIu8WlZXWslqsJkWw26XH1EPYno5wX4pOeh+8WoWaEbbVSkGV7oH8feo
XbTjICzBOmC7W282tsPrzOwWpS1b4c0A1QjeCt2jbqeLSu9vxee/OtiW/01vf9hu06fb5ZtTIzUV
oRhJf0z/F/XtLCpXOF7/ujh3oy+iVesSy5Qy1hJMfpBTp2KgS3wPEvAF1EWlxiNnsRKhPgJ6BhbF
t5zkXaY5Qtb8tkvy3c+JH6yGWlh0JkeV5xIAAC3k0SxtfTJXGMy3NUObX0CREdHHrWjOuEBYfpts
07qULyPYEcFYuCItGxqj7WOS10HMCqFmLOajXfMuVUSuDY5jDKHq9u9ecsh/tZ/OcStSTHV7htI0
m8Uxn+pe4IBwvkqWDdkYpilSwwywHw1vjZ6EkHTw1z6s3nIDPFOTFK3QBC5OrZBW1UKMTqTgZCox
aSoIcGxKNnosDYV9On7NRBDCZxIL4tVZ4PdCzEem1Fm1BXkGSlqHRvlHqST3ue2Oq14EjSGFFqNa
x453gJE42CddZNs/olMd9ZCu0hwpEMphW4tZ8lNBMGC7JC1mxDXC0Dj8kp8K/JISlYR6kAgFbwc2
1T4UYxUFag9noERTyWmAJArgG2Rw833sBhq8E0kHXrOWR4H0SWL2N8pMDPeetQj47Qb0uyk010Z8
n7xkd/4oVijSsswcrMGX/i4SQnnLKkPwsa4gvmw8WgVRvOqNJHMKSCp8WkAoGZLBOnO+sMK19eHh
iw2pQFu3NxPIsAhxX6vIK83HhvpOyvhCl0WQLlYwrDikxEBrNJSFQq7eGbgUZEiijI/xiwscFkmG
jxMsmdCBrKHIhHmR/GXMW/bs9rjGi/Q+eV7uitasmiZtMgvyKlo8xzGTxH1aGxthn7iRIwZttgs3
QUF+9Swv2Yz3CjzOLf8tyXbR82qXLR1CYtUnjikyaPaR9WYAx5ppHkLeUVAsl9tofR/tHq3TjDhN
SXbvIRih8Tg23t+tY9BDpGPfE39ExBlSGtAuGrTLhpZqjrExV1AxQTBLEDL90YKcqnMjNRFq1N1Q
3G65GUWi7tf5U5TYBrhom9811UI0uIKMxxd2WuWZHsy+0q1iCfo1VmyU7ba95bjRBRPhcX6+YesF
0lNROowWO2o3jLbp8v74IfwA+21RJ4bwPbyuB0XHt5t33cASZWV+l+SW87U6mgRbLSWRH1/1CMK5
+KvYYDmaknTlQq0DtuIxQ+jdt8OwIAQPJV5XhNiiD6uIwCUBAV74IVl429Hc/qq5ISlrcJ5OB9cq
jkjKXG++2wDqR921VCYDVIGPV/VjuIOAS+SaGOdgWePBWnT04X18OMRbO4q9WKdYAN9FT8nu7jEq
9gH1cU3rjME8wwC19+fcppptcrOaXQZNa5QZIOFoY/D6ijOFcFZMsAofwZC3OMPGMWNFeEvo4dAA
bu9m1FwsqrmYCU6n8XEaDDtKNRMj7kSyTPNdhN0m/slZjTWK8STECgYISSEa+HWv/jaY5dGTHEeD
GRGxCWt6OL8dd3+cTS4SfaGF+QB522bIfyqUBsfyqgrczzUXZqT3fspeEXercDIfswUI4rckX9V0
o2DDQ5CJCRDCvV1ukEbVmoAyVDk45sKWhD7tNM19ki1rGEWMmGRrrdZP/oCz3sAOI5YNKJ41kmvt
f9JvlETLweoWIebrdhv9/Mt//+OXn6MiAkttvAkPcRiNqutw4NyQMKswyrwtFwHqwRt3OrDFjZ+e
WFDsrVDkkqpIhGhCW6xPtm+rO4souUC4lYa2KqnVLGZ92keOYCyz2295svndMztOJZMYnQ2yzjFJ
RzHFVU3Kc4uNHbOJhqiCSjFB1TI5zCbafJPLPXlvPRJFMzXIUtlqtb5DHQN2H+IcP/s5yDvpdbEd
1/lul2e3z7v0OlndPa7z6AzTa4z9KvHYRhZ1H9zCRs8bExd0IM1WMGfUqDYGV153rIiEk7zrkNpL
1XKc6NNFbTEQZ0FCRo0OSx4LbvG1mrhNxdj8F4Kz4t9JrPnvzSPFfEg1IUopSCz8Ys3INHZQoBoN
Sfq0Jarn/rzWQB0cjeaXC6KpMOLqFwuBsZ3/c736/hOsz+B/sBD8H5eCP6jBxYSBD//rn//2EaYp
oaZRIw0+ug3gQ3LlDXo0T5MCjcavuJmdrQzpxqy1EG4gYLXeZfd+TCUtIVSkQ74mlrrS12xrYzPH
x/V+CsaSQQpYN6R63UY12wUY7KYexxwV/hKEH5iL3Z5+jv3VFnkFHtAGBA09HxIRMEaPnwpxbxOb
ahyFCrl/VVySIwSkajoWR3ppSLtX1aC9Pub7GeZFgvu+wpIPJghyfF0/FA/FUT8a0upRz/B1g4ze
N24O6KZ+KokR3dODv1T8/85uu+hfEDOR/yOMGtmISSIIaMS4rRFj9UaMxyHaLcCr4DgWzEcYMDoa
IniXbnPIL9uNV7IVtnWPMMbi8n7g9r/P/V3b+4756GwPNGqn+2vvnsHwQIyZmE8hWoosHS6O4G2W
X1EfzD/xn9AmfMa7GIGyyl4+8Z8/MVZWystfF7nfB9/5XCzkfu7Exnz+xGIwtCn8Ad/8xH+5+nP+
6w+//eYBBOac9Ez0eP2YY9IDVHsRvpm3FmFIW2TBUR+BjyCWLb2BPN2sQYUiKlyTM6CwTYdfwhlT
WBb+iyhXsJ0xl2JM15HPuBrePBfhtpOPGgVKKVODEOGeji8gwLyH7FcKQnXLkKOt5f6KIf58wNuL
D0pDMvjdzSlm6MEvJQFBekH7crwrT2Cwbp7+9E07gP+pjZrMTh71iB34qE+Mpx+uQc2kCpmW7XD8
3nQiclISPbWdTvN5jUWO/scp8X+BEv/Ef/jcYJD5j58LjQ+/4POXL9fw78ldcd9HAfQbbvCjuCTx
+PVbKo2WpmvW5oTp/YTP3aOxjeZmxLM84jVHxerhNeeU88ukOXiIFJfKpIg1LZdU6XhHsPSd97bG
Ci5NyMhol6yKkHRgg1FV94boi/hqK/hzz+gFdsl9gPfa5Uz8COEYUYwp3adP6U+hM6x8cG2mMJOS
UASjCqEacXApSb47fITacJncpbjRtnG+NFuelRUxGk00UVLK6cLM5w18H4v9LoOWvdQV+EfBdLpb
P91mIIN7qBmLYp75KeUFmGxmho/4ztT/FGYymRzZYAktDGg50dNglfhMnsQNYYxcxk6EtB53SocT
MYJkrlaYUcbenPQF+VJdya2xQCvCMsyBdzdb2b+YWhsKOj0rG7X2MbnXlCLFa0wmSm0GjTv4NKkd
cLxN7xH+/3b9vFokuff1lGYzbcKAsdqZq30SDjxrR7owP7jIVw4WZG7t65UtVBQfu/Zixyv+oytT
VCYBFYQlMdEjPnwrW8tGmFbvFL+9k+xjefakiRF3TKmJCt041qeImUzbNNZxRecBEnePW4vMSUBX
pD8udNBIcaV6KZOjvH+zWrHshXCf57Q6Rc7U6LHr6K4AN1wOL8PPm4c8WaSHMy1Kl9jQsc3uovL7
yf3uqGT7pTY5RqktIceTXbZ9FXm3boTTojjbqAYBRMdPH5McorNtcc+qyAUxuFBSs4GXqy5kpGQo
4mL03NRHUSkU3gicyJALfdAqCBML4XSyffR2HWg2yiRut4r4kZQfq/fsCUMu+82oIHuAm1qthFPB
yGBDq0dPeURDLwT38srepie8c5wwWB4JjSZwkrwuXqVtmdvYqpee8vCt26H6RQuudcoo+I29RqKa
NtwtwQS41UqF95QcM600dZd4rqmmcma4GtUObHdJHhWK41t6u0Xt3zzgzlXPcnsze3IQITQIy28o
K8F8yY7OMf5AKUo7mlmfokR+xxHSZW19mTtUErUejMUKZubCCQGv9BodNs/ayZFllBCtjO7vyKKE
+HJamig+4eEf9yi3FwMqYzUL4urpqsBaai4JETP/OBG+9+pYtHc6fA9jQWVWWBvv2ow6ysbpN8iC
iJW/xTkeL9l6WWAgrBZFv3MtxBeC7YwwIn4sZ+1EDBujGB3CW8ACaHlmNQ6Dp6sCrpy+lFFoimgJ
eGrGTJ6cRCM6RHIS3PTLWbMz7Y8MIY/EX96ihTGTBV3gpuQiXuCQPt+9+n0DhzS7u0kWWO2/Kb7s
n+dnmNmb8LZalJ7DZfXYawjagwbEOhzD69MS9UTZ3t+kTJHYPqSJMSj/E4TTGZ7Yomb8+fXfk5fE
dQ1iT5i/vI2kQVxMn1MoNLMnp8BNbOKR1ZmWNI6VYZ3V2a958vCUNFWbleyFA3F4ARxzLnMiu3UB
u28P8WsFB24mqZry1jZliYUxMxb36uZtg708Agp7j2Adg5BaXG+BIErK9JwD7CQPlLShPBNkWIfl
MLJRH4FrbWa8zXxix4drkNa29Q3QhjPehshpoH1rDhAbOLAk6hk++HOONG3mpvmKI0AIstLmbzzI
M/Hw21/vENmApWD5ipLn12yZ1XRXSClBauVf1ywJ3SYf1/XOHeftHWP7ATSnOGWrJO3caj2ghtDK
FjwnDQ+/axcV/uBe49RxomqG3LkXVbLNgSHlaIjbgCCfPmG3yFBRo6VUpw3ke6odjzBK06bWOtg1
P7Ghx7fehyHBZ5QZ2SiNp4/mZP/dSpXbgCO3p6msyurgjlPGqOyy+AAO+XcVJw4bj7mKL6WMnZtV
hy8d1Jx9fpyqmk6TlITYWcfHslncR9s0f4FLnGwj+KymqYK1w+3qqpu3m3IzM6wmrXb+1uK4Xetm
x9XDXWmcXqr3pOFxWzHInz5uYEogwGSeJoLy9Gn9kpaJoJvHPPXKQSxbjih2erPGFAQndEQX0iN/
VYwgobCvkH1oW0AFUSPbUKGY0DGLa2yoz4QKpsc8PStShyN8vzXC4i+Cg6FCjs57Qc7kSmOM+DW7
lDU6gv+uBUmW+tLHwZCedzy/weNCV9uZIDCEkMQTMGrSx912VVFDhg9hShYnTBtkqyXO5DRxrHOB
gepF9JXtIDyjr+LCdf1w6kpzqqc4u4b0DmdTn907HYLdksv0JfXn4ZEdVphQT9Nxu+8e8/Vuh2Cx
Vo3ikdnmqBPSNnBEr8ofnRv852qHrVLJxk3E2Ymnxf2pBjZazKQ2sRlRzb0H3I3qYIpcoQ4CFD1x
mNRJ31XItqwKa8PF1uMadG/n0xAAKHURjeZmTppVmrSZDAjORtZpseFEQrhXl8bw6DQjQp6q5Oq0
Q+BuJAC+sFw/1HTkmHZTSZPGZ/VtiYq3q2kfPa6bzWlCNa1MPkLsQs3496jlBVLt+HEHu0BFAvBs
1w2jCqlLhr/b+4lpLEJtcTiWePl3HK51n9RGm+pXtfjFmjuNBl5N0AAtUId56Bi3otv1wl+GsPLP
+YSvx6m+SFAREjzUdHBJhOvWNEAQg3KGMZvUy9zk680+Y1pqBX8bHsGkVjxmoIpdizZQKfpOkMEB
tmv7uH5eLm7y59V8tb760+9IdZjPLPGtryAmnlvlDF7Yd5/4j/DHYWX45B2Gj/2cuA88DHWUXKYo
UZxcfc86EiCNWu49Yh7ysBOA1hFD5CXbMAVwNlIQ9A6wqSSvPsRBFCdJNo8nfh4yyEqIp80l5eKs
eEDUL7QZRUmfEQxm6BTOhZ/jm4KrydRlIsDmSE9pzM+OUBv2US22oCHXAqsm7EMEERZz5gz8Eufg
41/AhB7RfjTbUUlVWHHoTAMnUgC53k0/FK8SMyl1T+fv/7m72ubGbST9V1RXNfMhFU2IdyJbrpQz
M7lKXS7v2f04JVuUrBlJ9IqSx76r/e+LBimJEkEQAglSs9na2JYdEQLQ3U+/Pe04cYSI/zCYYMUF
k8nEAg0EujBV1mair1IdOOTeX0DmAsJ6cbuEchmoCBWyOFN+c7tvHhPHdpz2NoqYbRSHr0Oih/qi
K0QZGTEfs+Bwr7+bLZLlVCMv/d3TZLlLKpcdUt6Uip5tuLWjnQgnbpn/IM33KhI25Ud4CHVUJ8y2
wdEouppSFY1imjq0oyB1PQbdQ81zSNAIE9l5zIMYYh6ExjhqUSuzTrcf9LtDGUCusT6keRdrTlH0
YbrI7mEw5EtNe2HkRrMeUGxfkiyg3AL9QVSruIAMl8qhQMNZk6U3aBgqsX7qZ9cbTKiZisVF1mr/
DtF/5SUMHI9YyGtaN/gNQe6bsT6UETMXbXqOEdcTO880Uj7As/io1TlEGAKdiAlCB6jNBjZQEJPD
VG2XlhiBYDKZ7B8GWZrwqJRR/x74bqG88PX4CDDN3qkMgqo923Rqjty4ckJG1McfKQ2uLYxCXlZa
w9MWR26j2AIo08PvspqRySKfyXBFMM7euxfHoxD5nIGhxbc1PkEVWDDO0SCxZdSHuTrwb1toURis
hnY1++uSQaZMMNKjFFd+M9lNF+k4T6w09hvFJPIrhCht0/3DZD2Hc8kl92GRbCab+4cXeHruEJir
ToTbAXUPf79qg3oRoF4eoC+vA5wyztdfU/PCqRtLhveGa4VYEc76QIlvb+qJVkQ3pRKgXC3ufRv1
W3xMNJ9LK5RJEC4CKCy3KQUMGpejq2gaY5yQQYCHCZuV9Jex6pYhpTu6dxOS1Z0SukPLcxGgNmcx
YexGgIoMbzRkbb9iyn9FslVM6YQSFYa63ii3//W+y/xA83iQ54Lm0QtWnH2CvMNcUB4azpgweRz7
ZSIMEQQfhgLD22A2oN1ZlMQ1Wc9StYVT3R1bEBfbxqFw8E+jvsS2LrYbouazjQfavJUGHmgZjwSj
X7Q80wA3YZclm9s5vP4wmaaf3/3yvwVVLTCy3U3uP803QJlvnksKhErxEFjUqxvLB7dKYHAhjA7p
mjQyvVIhgzgFfjpusX5IoKdlmoujeYILTNmI49B6rUixGeEIkTAjhwyhEKoUCivY6PxlE1UMJW1y
gfrw3rrrV7NRF9CRfjVwt4ZSVtc/h6httWlJ9ZdZujFrSAV5Je7+7LI9A3jl86tT6r74W7313zbK
zt5EbxiWglMi1f8UshK8OsGFUhagrMAs2cQ89lX4DXPzm0JMIybw4LrXzADOlIHGX4SK4yEqj21S
O1ssoSEtXVuUHo6lshFXBX6N1ZIw5xihL6xDlAgsummYsg208DLx5wNsF6u5zlUY/SMFgjkbEh/O
ku39Q3PQmoFaDBBkN2tm414hiAxEX4APphuxzTEVNKSuP6W5dcq4owioEmTPnuPn5O7TohgZCrXe
RnSkwBoS4roCgpZ+X6wULbq2VLzxRpjXD3OwWCDxh6LGw/bVeFxYrQBj0t9FzJdWYA7TBeTQ3Y67
aPgqHlKlfYKmdkQGVBlNlPpwJrifW2GmmUHQfdZFW/FpSk1biNVilVQYPz5m6Xo/Oenm/19hDC+o
L99uN7vka/WNruCGFyj+V6V3b8QoHrbcxGDvLaV8MZXqFkZ9bvDTevpm8rh4hb9332opZWWvlTMb
gEOkbV+2TxhRU+rKKBT40rZhnR4zWuq1u5fxOcuDuc1e+YgsCq4DfeqKzu9DLIERAPW8i/U7B5UB
fEDV/pypwz0QCXmEYQUGBIavwnkBDWNuBkQR5SNC6bX2v2LG2bXBwpOr8ebZEM+lbmOkGiKFeUwC
LIFbfBBhSSGtS4iMB9izrVplpptxZru1bsfJ3qitqqhrMfJiwjQpLBzRVr5XPjY0e5qXk5867Kx9
l2kKKKAuPUcC3MxE2ewy43lp/u54pTxyU/JVYHXbOiiEhUGXvzzqc/ummBi2P+UxwJBxmv/SltFG
ahV+YdFyD0+iW4qPVJ4fJtsP9WV7sYR816CublZgnfzaNLWlQ0NVG9PWdF+rqQtMYrcJt52wb3h5
8pYnKftgeBQi2m51EeO0bababMMYFsKj/rFJwQXfkJYQms6ivzjA8zbZrJXWKjI6Royh9XUU+qzG
94vNvTF1h+WISNyW8KDxydjwaOUhsl5p3Sq/cYxWCE3/KwIXtTVP4eQiSIuZH+arj28Rpeio5EER
gDmmwx17VFE3Am6LfhOQK975WvQeFHEtuLia5US9MFl/sgVhQS87hUCRifcJRnyX5izAjzVNwsCC
Izv/0Beo/4awY4z1PvTKtlcl/ShT7Omwjkv/LjhOsUuD56W327MUpj4trNQU76Kfq4y6z/sJ8sUc
KG11QPBGL+mbx/X8dYHHbwqwfn4NBDC+RR6aotRTVlLURgIj7Ec33XoTKiFn+16gCBiPUBfRrYuX
CorkG9g8h/Nq68+2WeLTXda0Qg5xuS5CWn4rfC4l5BoPHOgG4zgacDfd1olgPq2T94oaEep9usr7
IB/nFbTCER8hSklwY+3gEGBBHdmokW/fV8Oiqp2i3JGAtytUpUF5ztt9qLswTl9jriNLkPs9XqfZ
ejGbjYvZKfuWYUsqMdYzLe0tL+jywhK3iqOiio2RSx5/aS2TU8U0CuWkAW1zc5URzDwlcXARznZ3
tWsgEOBr4HJGPXNtyZi2EhCnMLC1k1VwmL6Ge9YfZv8EQBlmQS9J7ZxISqL+HaNCe/m0SmDiWKGB
+gkdN3OBudXUoMB424CvSSxbqaYLOiksyAJBFzPpUQ7zeUH1K9LhfkwG8WjrrYuNzzFCyHGEYOs9
LEcIq7tZHdaDoM7VI95kyh0iNyZ/D1RVyJEtTYaVkiYRCqOk8+eDMtn+qP5o0xBRFFg6sjAE1tvm
mXjKbZEDCLRuAjIeHSjhaAiweCgDh+oJGLiRjzxy2UbgnnErB0Y9RNUt+lthCBYNHv+z7rTZ7sQj
KqOAqNiJM9Ez5kpxHMk2ccITB2/fMJCdNrBQSppb7wyKn0QYnD8iu8cWdXYGpjNK0p9ytqBqjmBM
dTyM/sseEnN3Qawd5lZQXz0NCJqekk22022edbODgCwEB4AjF5inhnwLwXpUVBcRPDdSfUzRAD6A
jmsuF09J/jfVZKDSgHFEBvZOkvvVxLxAAI+SO9ENBNm6Y/Baramye1zZvZjF17A4bFwcjXlwjfin
Wg+kei1oFVx2JHj/8Cs71RPG2FgExW9XcMEMssmwG9FB8NtFTLcLE94jxk/vPgK4szUvEcdppt3D
0JNblm/pcUSj4crB7qH+w7H1nL9UiB7A015VWLATk6jtKU6UPYaaxMkU4sGbncJE1nQNpswz3NMA
pi3chKX8X5b9YSCvKBA0jzvI3pTWU8cg67ge4RPIDL8qgVsmmU6Jv/IOl4vX+JxP1VQrRGfvUz1X
yfs+19LqzJvYwCHpkMk2n1Fe5jXCXYC4y4yFOVIKQ69bBb2dP3Eke3gKQUOj93KJR7W1YESpRO3S
H+mnBUSbs2wxXx/bu9TtN9daQp0CHgo11bsy4GsJSuVgeK5mWUCXhrgYOkFVf4WAKZVJeUUJPztr
vFKnGHWfn5ypV92IZVEkoI0R+ZmYzuoHUdecJcd3uH1IVm8+p7NZlRlOUr+PbXrLPLotsCNNTJMG
u5tkSbku2hilQ9AdxvqPnEG6UU+ZeNik63TXwLCoPXrOg+bibHUL6i1bxu+6zI2ovdOr/K68gecZ
O4U7CJf9YSAojZkleXFMskxWNfEPBGkQxK5r9HKMBI+Bi4Nj7Okm5yJXskMwLnKcv24mdAQ7I/pR
2/XssbjfdNRXTlmo23zVlRkGdEREl1mojm0Bp32LW1onYxBhiOPr0OoNmREqu6ldrb2Mt9+//QE2
qtqlibEkjtOqnWztdjI3d81x4F4KLOq2wlxouG3lD18YdcjpOUZYiCHcj0P3S7V7gnLWZ18cCKn6
pdUeRjCvjg/mQD7b3Gl1cWnMYzbU4p7usmp/CZWM8wFXZN4pBIlDiq7VNrFB0oYOJaGwa4Nlw0z2
SChYJqNoiNLGc3VxarGoLqDFIyqinlM5puk7lPCIBjBpp3OaneIPHPpOEOrGii+MLLMcKiqIDOp/
wi0FX/2ET8Vi1QVGjuTIHVmz7WZirjlHBIhlLyzr//WXPwad7vGK/JCHnt5B0wh5h6p4PhKOgpZ/
Ft+VfHdcxw0yDPNBkl1PMNI6tIkKV2afAH6HezApkkAc1j33FieECPX3HGEYjFrHvYURZR0nnI1S
KbGSStS/kjaTX1PvaIOf80GpuLJwnSFCR1tin9xs5V/H24dkVoCdEivxNL03kz/DpFEe0O/OzcXT
dltREiNyIYC/flvBYo+D3POZqTfdbNLNh+SptmgMCEV8epYeFqDLX44VBx+zMWyLFt4ixXmXKIlO
xnXcaTjm6v/sKkxhJ02LF/gKlUAKqG+fqO06heZQdRigLqa71erltKRcg3toEPCxnoY3P83d5+8u
/QLOJ++e/XM32Zx3SOu3x0qyfYqaTt5eO7Db7cywM0S23ZmSBc1P/0w56ScRpHN6XZzBKevn/gxo
P1Hi3FQVgzTAq9yMJ3NNU6szNLNNugISwvJvLFWrSEBWknbvFef2ElBEmcCpyqFc3zYZXwXabCr/
Z45DSupWOp1sJ3/9/tM3zwqCv3v/84/v3+VHCK/ngwfU45UWz0tW9GpsHfoCRgH4NExY7UmjIQEl
jvrNOHlNKvTJTskYRlQQ7vXx9sdb+kCnh3k458m9+m2WbmycayTWnQLtfAwFINXNV26gtojbz+kY
tsk8JVUiR4eqtVorU6oXJdrHrbG4HzFq6QqV6uNKe6NkTGeZTZsSQ7gOdSxiD5tkNo7Galnpemoe
wUeE48BYX1lT1u3xQH9XbcDGQbgHj4//PFlsx7v1drGsYYdEAukltCaCsfuYOScMD+BDNRrF7F7h
JDPnHBSC4t4vutvQww6NW85NME4fE3NzRsz8iqiahQ9bhQ+2v3WYo5erVzpnHdgron/avBikmpBY
V0D1m3loO+OOqiWTkPJp4W8ALYT50EbRNhAKrCKKQ3KsNU+qR5K2xymbZJVukzwkelQa2tGxduIg
XYvGryu6bpmAFibhU+fvnHBD5zR0x+Y0C/4UGKYusI46TuA8vz2UdPwNCm04/Xrx9+9/+f1z9D//
PU9v1T8///HXw/u/5vDte/jX929vf1Rf3v42Rb8m8MK798v3v/39d4pXv9JX+AcWf397+6f65nYm
P85/fr+51f/p8oc/P/2x+2319m2lX4UKNGw4uf40jEaZIaX8ojA3+yz+Xwo2W9KVEmNN6NiTewTI
QG2pzUmirWu/7MbBVlAswGNiPTF6EhFSxRo1K4mI+gZdifUzjqlmkfTjAne+ALlOz3NWtVERpIFC
RK8gLNKGIoYpaaKMsWuwTgfwbjdTTDoO5BxEq1uRiwBOYMK6FevDtm3T/eu1Aq6rxxG9Evk2g1uu
Z1WE7R8+YSxq0sk5kmA+Od8uWr9NpLka2mAakjRX0JChgWx3V7iueLxMnpKl2dHAUv2rja7Xz/h5
8rSY5+WM+vo+byEucZ5QNeMxZQ8JuQb32TBCjxCKutycMlPFdLpMihMq75VRq0mgpqVda7WjJjvE
0HL2XiVKal8Xk2VNLIcQ3RvXVTCn/Ly6mA5FUXQN7qj+2jSkLGppAuqvzXaymSfbxguDFbxVOF70
o2CUWay+aua/hv4bn9Gkq0V2X460J8vJi25ym2t1r3++Qa9X2fyGvJ6aqiQ4hh5rEotebHPejQd/
vkmX1ql/RBeAydAaGEK0Zv2L4Wt41WLWJBgIKWQv19Ro/yiD/tmQWZkLpv6UBjg7E1DC2CYaxf0E
1mnc5qg0H2j0Rh6Aqx7PWUxmsgFWKKLGNLCEGIWDihGOPabKrE26W9fG7n8cI3BxqpVUCMhmI8QE
DyoVJZVtFEwOgtkqTHY47RKjweOD9vb3Zz6bLJbVHRiPJCW0o27jM07IAt/kf2ZUCFwql50EVIf7
URHrNA+D5FGQGpwFC6LBldPlQyMo9UGjJak4sMccDNS9euyn8TZnJjNbKjbCkvWk6fhQdx+inyGc
oeaME2ZRqzMtwbPz0zXR0XPg3wt+ib5DpmuE0NX4EnpqRX3jCEyMadUVYbN9DcUCnEBwQHZWiJ+N
P2/S9Xyfm9gkH/VMGLCJUMlYlUVwF3gAAudjJNqlSxzzyC9Y03xVzZQuCgG063t2NEHbh2TdkKmP
/Koh/aNybmpMa8+zFRdBRB9KOceDquoSdVS4VaqsDqiVUocA1xoEFcVIebdS9GMboaWjnwe1nBTh
oHuMrJBtJ9S21nk0CpB+3a3zzLT6dbbd7O6VRbIJP4bKUB9GcqswrdJdlqRPycbM16/HywzkjJ+N
g7A54zWVzuCMCx7ToHtWVULAVCbjgPbisKT8EhtvSwRxfEH6ubZWY60Ak4/8Wo8gXddlqQlC2ivp
QF+ojd8eN9vMXxQxIOfpEg6WU/G6NqRGNF0Dt57bWrnWemMDTN0pxtzlpcNgWx836Vy9tFJLgsEa
L+PJdOoyiJVT6sdWrUcmnpQTq5/H2WK1W07U7dakbbv14p+75MfpjZAkYgxFr9/qvyoiyjeryTM0
J1Wi3Fgql6FdfYkBkpQD/CdxpBpXkjhGzXwVkq0CgBB4fNA6/6MrrXw7iOQciTorfi6oI9y1RbBM
zBNYM45eVx5dREPFsCxM+xEXXajtw+nUgfMYKDJ9CJBcr0BFdepLEKDiaLGHT9liqlRR9mh2Gllr
EOfDGRmCXqO0AiXodylULcEsBaPHwmGQbbtTLiZKF/u8/1GXld5N7j+N1Qo3LzWDa1mQsiPvqFYD
NbOy7TRMhtwAaCy4BsVS2Uwe2IgjignhuM6GR1+/whHkA+DXJoPOLuSBzLkGjKHZJlZpQke0HZ+T
3XabTbbm3AgIWuqbgEtxnofJumYsdAxxHoZDKdRznhjoZNOeJ4QosdnMUz/nvKJkZ4tNBlhms30p
FGwRmXnOltuzTv1cz8V6GGbYavUi3mXLzcbAeIhpa7KiwpAq1FAUkVQrwcZAyMewT7ZiOGqWKmuX
aOe+aSoWGtFxLRkcjltHriumv+5+vlH3s1J6y5Uq8dBdBRnEnnZGKao5SB6gjmzxf+ZEMRPq+vkk
Zoxaeb+3pxlBYMaIuTLuNMBI+ktIqT1iYYiMSMy4HyNjvXUvdi+xmHTl/nnVqfRp0ZVHFPnf0+Ma
9zdWtyB/fJxXXAFEhO58DwfHq1CYxrFSNnQQa2k0ljp2FQbT5HV+7jUdUsZ6HlG3UlGX1Vd+YLvB
hd6wyhwjFuAeki/bitJW6dCPmZbVsRLcaqwIUw6xKx/R0TMgxqXycv3zbLE00UDEyk4TLLpBA/q4
jbePQmmpTy9fronVVToUyymDs9jkMB2brxaNvROglzZRJomleUpK6cduUtG324fFZnqKfLSeAdqq
BlYl4Tn1uWIC88nSuqAG7F+FploPgIl6AUERJaRPk3KoEQnmgHXJOk1i2Ypb5ty2LNbQx/yUjA/5
N3XhHtPH3eP4AMG00TWnqWJIjaAvWtGzlhWOBwU5T+9q6KExjEAU11OKZqcwpvEF5AUVtksfDEll
n9ClscaGsyCd2y46qBbWMtmH8pWMiSDB2lyjAKB+gdNxUC1C11h80ZqFchIYHtjyo5wLCGg2r4Cc
rWDy+HiOD046GgxSDIEz9Q/GOMjtWZyQSkOgP38hPZdtswVnEKHoRsfv3R4rVbBs26VT5qNaWJrs
Yr8PdqGe2ju9Te43j6BbNB4igGUlc/AIaunWB+7JoOfhZjRxtUigauEXVWOaLXGhQNL1+EQ7Kojw
eIMM+XzxBShgc40wKGDiFB7EjvoIZg5YEowIRF+0eeDF4miFDSCObp0e+GoPkAncEezJoxeJzv/o
75WE3qTbh2TzWJOsRJKDig1abdABcQEmPhR7LqNEz+aIbp+3xzmiEv55DQN68jlSj0ul2CqOBEzg
jmKn0jkvmVA3f5reu9TwKcFUX3GLhTS4GU4sHFgyGP3ALl+GTxyFMdT5xhvBbzXwCGTfvPOHt3F3
rZyCRHrs1EVpJMlRLLiMm/JI8CEqeSSg/mfI4/KWpXyy2z6Y1ZwmMhIdGsqyAVEOnzFhQUcSsKIN
0Fz+uKOFHj8ky0ezoQYmgNit6/pCpdTIggA7zXgr6Z+p99clYurKP6Sb8SapL1iPHOmfWqu83aPa
6/tJlpjTtK6Ty3ErmiVMWEB11+R6mGn0PYgemB7Ii3kfNkKiOAokBnuUOlluc5p04w2NHQNtXcmD
W/vMYIpeKkVPcNyDyJrJpyC/1svFi91IqS3Hnm4+TzZT+HDq88x1yfRM+SqZpYMH6d53ijq0dJbi
FD0RIgqukSy+g50bXJOeRbyVf+iQ5EY+HrHhCWlmmLSAUc4pF1akke4goJFTDdDNK4z/SLbjtzrQ
on4wyDiPorgjKWuSA3MWXRlMBXpZ3JPuH+dmr6aPD1HHpvsAzoKV3g0qqtwYszy1cUMiCsPMO9xA
TdktJm+HobzqlnDEAssv54QhKaziu9plMFD0abJcqOMxGWbBMR9Em9sJepT4xB0eWdH+Mr796adf
/qGv66EOAGoDdAZGD0ybq3UCby8yNxcQ7DgOuY1+UWi8PB4mFyejMebcD2i656a2DxNlpZIN9PBk
4xz+m3dO11vUVrujSEigyxtEHz5u0m16ny6XSZZZCgQId5zIfLbCvTE/bt5usXfUK7ZdIUUKFS9d
hwiOR5L3gUxtGTZ1bwgPjS+4ZBzSp69vtTqqxxkmKMGiQcW/Bl5I2jKktMhStVPJ9B/pZjmF6et7
Y6muqLou2xpWtxhy3jyw3jFjBeBlkUMEIL7qJuVJoFQ0inCgvdOgR2Ehp8AA59Sxmdrn/mxTyFvU
3B/XqRRDCbyUiAQQ+AM6tcu72dgDVwVBHXk0Z6UmpW6tytQ1GOzhFbqvuSZ36fSlQcEQTP2CSF2U
g1oygQwmebj1t7peDXBa9nagimfqmyi5IC2F1x/A2Dn2iNoltxKlNtKNo1hEMka5dF8i24LHvPPL
nGs7czcu1QmCbgGWGx42FywwhS1Z3wbIHp3A2HFsguOpvGg2kbwOFV4BdgVN0QgjlW3lfEjzdGEc
SMJzvnnInO77pZ2EHdFIaAqKCy7R5ZVJuFqZxDzQZdFEl5czrB5pZTa58qejkCFb/cka6FaeV0v4
xSZR2iQrz8zJi8X2miRvzi103WnHRl46IzAPI9n+VZhIsKEiKPX0MIQKHDoppCASJQoi1RqD179C
8HZyY+kkjTi7KBLY/h7lJnMkJWX+spaHoT8kTzVMZ0RQBBSEw8EFS/wXtYz/XqD7jTIjgb5I0kAW
cbZTbhEoHiXSy+k9pBFsxQsYkjldA8zC7yi4su34QFDloka0TTppulutXoDs4rtZsv03d9fe2ziO
5L+K/0kwczPqiKQoSnMIBr09T9zMbAM9uFvgcGjIthJr25Y8lpw49+mvipQd2yIl6mXnFmh0Escx
xWJVsZ6/mi3OW/3Dbobr0UX21xYsnbMSBXW3CPgqhnn2aTR/ipbbWPP4XYKcZ3V+2eNTJSYJUupP
Qp8OUsRhP23ZHStDZc/1BJso/P8X90OX1P1gtwRxA5cNzh71zQ+Ek4FNnCMLp1RJR81K+jESLlZ0
0k7P0Ukkui01lvHEaZdgyHC2ieeNFbA8b9Oj+vwlk93orR/hmc3unuMpOshH23+/iFfviuLh/PLA
2QBdlO+Alfz14I+y262jNNpW97HrmIgHfLsmxA8PrkhKgguxoxaqCNHVuhgZrS6rgGLSiTLDZSXT
6esNpjhjTWZdvlS+1dcFwbjvhlcJJQfEc9+6iPVsHVBNMK9F8TPk86VxMLOQWXxvbI6umwgmByP5
b/1YvKE6OvKtuvx1qSlZFXDZu18LQEF5IEZiCWl4yZlKB4SCsu8UHOUSrE1NkjC4h+NH90fWfkJQ
cu17DtVD3bAy2i0DdsTwj5mCuQXjWpYJO6YePMFlbmsg6cJVcM398ohwrscewOSIPzaT5924fJwK
B8kjiD8cKRQY25lJxMUBgr4/6BHJAQnglwOFUvh+toimSz3SGFrGoTt6b4lP2vFgDS7vnqiJzHTk
6yzNJaLC93j53J8mA26BC4ptDjcWvVUJmnt5Rur708p6lRchgReOrAGZH4L+C02QiH4LFVjRgOBL
C076yfsiQY32okQ8Kj1rpFq+na6SPEfCH5VLa80Ol4OOG6FtFYT7CELwcQY+RZTr2/JcxiXw1Gjl
b4toLVEH9JFnECvvOlUOOpvD4+I612ItUhJD9CtOB7P9gD2LE9asjI0UIOSMcHcE1kzLeVVJukzS
uGylrp0bhYO2w7GLIylhlPgsvP0RkQHj/P73LEUV4lL4DxaC/3Ep+EJCBWYD3/78+59t6i44DcZM
TCrS7pvTq83SQqLojjQqncpR6bQK6AdfCBnB2DQwUt0kJwyceOSarVLNMAuMtmT1GhPAWtIZ9cLx
D6h4Wda2LXMZd3YvICH4JDoB4Tgk6mr63wwd4BLLsal9NCA2nnA3JLYakNdrQK0CDIJL8VldDbXs
0uh3nSq/CiEs0ZGQdNV34mNab4QwhtqqrHYAAyudL+PNa8HZQwE/KbJIbNe4iLRgT1hPS/wLx3pK
TRjvotUapHCWre4qetAHOfS6tPW8NYb33ZCMdfjNlhMm8uyA0vortE28zhBi6UyvnQzPkUKjDzZ4
ICZ8ZErt5eMxyx5eTEXXVIxdlU9FGATcC25/i8BhXWXz5CGJ5zXMFyhgJcV8GswW7o1Rv6Al3ekU
YQP00CiXuLWVhw0mlI73AMdWjPO8SOCn2TJLUdFmU1S5euhynxNwL8OLPJaWLDgngHgjr18Um2S6
LeqfhAtLLOdBnqSOVRCB2AY1jIVnHtF2WSSIlHok84fXpFOUwBNunqLlvXubrB7JPd1R53ETxymG
/vAlevbSc5QU96zisYRYKYwzNwZy/jV2i0M0QKtBQCeiy/i3jsOQfDZYbquMuutbiHi3AofetPSo
GHFVqlnVF+GE03EyefFskTmSxYvoEQ93EUfzeHP/Qf2ds/9DR/3lDXv/zZlh8M1rt/kN+9s3pfUA
f/RNHj1hzhZ/xl3dsJ+wWvCG/WBjlVhYIZIvbv+6/+n9r79VR6sysNY7yJp54JMeGQxLkccUaaZX
vL4EBbTjiArgetM8y5Nj+x4P7X7II6tqDSGG8OH2GEmvDSnNXh025wX+oOfX4TEQR4mJofTK4QHK
vt/qQFIi9Umf1VRiUkmI2t0CB7+WDqx2jzj81arglFnsEe6gGEyCNYiqZoMUYYTs3E6bxeo3a+ho
x4lzVleFzRNImfyo3yzIj91YZ5uFgEFnXw5kLWW/17kzIAS1Q4lh7dsADk1oYDF+aewGYJZOIbPk
+4OEbxV0Uh37Y1sg90fhSMNj1CBacuJZQoYwuzzUURn02UNINtkY0qaUYTa+vqGU9anJlmzRVJEt
GMiqVXTF9CyrZBfPS5sJq3Rz9FQKcGTkO+BZ9i8hOcwl6p6HBQqDPYiWItVn0ssKWLq+1/5Jqogt
zYBszCp/b7+QGVsudN1LnXL9HC6BkWvq9XgYZVD9Is31u31YTv4kG8SweVlvOgaWQRVmMiBPVj4e
OJngqHtl5+kmgnmTMOxy0rZbjlfrQhsN5Fjn511jz5RMQuKJ8fb8qBdfKmGIgqHWNW/4+8opu5OQ
uXS8HRtDz9R3LWuPW+759BlQjeGNgs9h6O9BbJ9rMBvF2roxuU2qcC3p4RrnYkDLqtmgIgJj/C0t
qgGlOqAXcmXIJBjMj6gjssmP8cAYCPhlHBmXsj4XNPLn73GewybvXhGM43QOXjm2LpuDEIFr2zw6
vBfVzOsMDgFHffdzH15TPtIqNs5qR0BxSoZynk9X1dKe8wln3Bvq4ONl8hRvXuC05wak5YB2O2zt
eseFurOnquXJAiHv4i4+jn4deQWt1Mvg4eSFCVIaQTU7GddmrjHP9GXEsyzGsNltksry333CGcfI
POdOvJvFayMQJgswS97hCcoC4EOltQOuBNZVq6rXTfzgTGMELHHMQ9y45XBmm70f5WZl3DAvkuVe
j5lVmAipZTaOdZ1+1CzLsAwWK/hsQHY/Jscx5yNBTPoSS5S8gRlhE6+X0Sx2XFh5lsFh6EUunBAv
HGlpWrs0Nr264UBMWAreNo0eHlRV1hQr5PPYwUyR9goF+9MnQyob83xcho2rXp+9mvMYyUrmMdRz
pFk6M2ChyagCG5Pc82y2lQDtZpSkkNuWwlpTvWliJUiWZQGCzcZVBLdGr1Hih1jyPFK5M5PlzqRa
7ozpehF4g1sJrW5vEnQwU+S+o/wlndXMNxM4rM4XY14XzcPyWNCFdQ8E3uX5++08Ab15Vw5zQYMf
hMV5ht/HB/1J9bk/LMnwO11URwuf5dJfF9+mcT6L1pLhZq9JiUrEhJCJ1yssZksF56TWVDpEs4W+
Z9DDLrmeXueX+GWaIViOXC935vC06SMCTD4l2FIVLRvyNbKq1RvK8zx/HIlcVA0Tuyj5lA/HFfVH
MoNbR18pLqQZc2m20DMDeJ9dcgFW56BqnOs5QbpQnj82O2qALA2pXdI6ht7xbI5sX9Coemz9sBvs
Vbf6LhawoIPNoyurkRKojewRjpdf+1WOaiDi4jnbfDmq3D0EYspHcc4f5XaWrVZROscppvFrXsmZ
Zdu0qFKCW7VUe3oyHF0aMmlxoocUgA+znNTtjUGCJJ1tYrT1T6lwu46Kxb1mF/sPUkp1XWmJloNx
Qit73espMnrPCIzkIKxV6l6Pq77+gqdkwq1ACC0eQTpgMiKxR7wyXeGyOJd4A+8ZkwHO4SFQW/x1
f8M+4Cs31MXXEP5L2yOHH3/jkpoVDp97J4sJf6zoBYFeVxAMt6c8eoiNbZYMRNAKqavVuZnxmj2K
cVc26ontl5cHZzwmqzPSnQ7lVhVerXbxumLtacmKFj70adVayar+PWi/ZjuoRx4Sxjix7jJRXc1M
32WCgTHSAAt0BbXg9lQLrqDh0GeP7Eb10V4Q1CHV0OsObVYPg4nXANXdcXW485fLF6dRK1pNlm5N
a2akteuPT2vD6uCce2KM3ZqWs4PHHPSWI1YDq9rtEBTaCs1HUGjJkz6AipAhLruKJup86Rk0EMGr
TwxNRXPwlb0t/d2HdD5eSHwo0mGLGBjmMZbhF84yjr7UOgZEIuSSbp7BMRpBms0wqPaUzIpEixDm
h42DOdsf23HjzlmbRhui3MYpwmUpeHf57ntyKxlAKQ04tmgJC331qcCYyTtEQfsANtGHbB5/5e54
8C38x+R/X3/97/Bnd4e/qxhpYH8wu9qZjscNrBZvNvqIeiiFp9VpG2Ah21H75JluzZM8Wh655thu
qN/14EznpmDCfD8ckXmHZMBa/uPYZW0HYtOR/9QYIwnbF+WHduttjvEWGew5TPPVz+whvhyEeH1a
3/3j06e7empSCTEaDGSwSC9obq6ZJgzreIkY2jxK1wvVmjXfX3yz/Y7jY1KAZpsdaBFXIoJBKNyB
CKEGG5W4H/qbCzwAHMfVhk/aT1FilRH1E9/tQ3+J1Oq+C8+oL2OHJXz+Q5Qsq+BGziT0u6ScrVLA
RKaAP77/9Ol2nqVxJRns47AC1xW8lRsy4KAEu7Jmz1jpoM69WCSbOTbjgA4qT13KP2qmw5xhg51E
A/ROOsR25AFM4XgxiIL8Fi2TKDe04Qhga34dGlM/CK9inWmF/VbqnfKU9voZ0X/QGkcZgg0nT2CT
009A0g/ybfAD/LYsa8FfvS7yJ6yu3iSbpdU776oKnbmYi+a8jx6zmWCEeQkFczR1EOZTPyeOoVc1
kGMgUTNLkI999gOOphzcEQH769vTXMtKWK9W7VT5X0KLq1fuf/30dycIHB46lSoUEk6CLrLfav2H
LJtGm0qSM5wIQkZeOgh4+JloluZCjLz0tngAIQiqw9QnPLzAiet3TnDkXehfgOqOjuoErfzRyf5Z
S/SAjU/0z9Sl9FvpdMX3/4y+fYo3mPq/dzWDaojoYte2PgcM2Ov4370EE/ybfulLSP132qVH17W4
NNGwnyf8C7CfdnUsdhhd7NQdo1/d42NTHYPAqeZ2A2vDpxe0NVRl7ydVT3MotG4CKKGE4Xxqv5cJ
3n/Mqz2Ai9ofHoUc+nca81cDSDghnazdfmurCjswMbtqmOl2irGL+QZMN1XHZegEJTi6+4KcZZjH
SQQWUgZ9jFjbYVcdZNjoPWFXcbE7L3ryJtzrenBlbEexh9798wlsQ4jLHNqxJsjtVQHBxmrC+2vr
U3ocKg/1hdJA+F4Zuiah1dBET5IDGKBU7vn6fi/um1npmB6mIx2etpyOBC/tnwe+1T4RvH54Jvl9
qRPPu/l9dIrEv5I2Zp09jlmUPkU5eLBFEW9SOZ/GkcV72DYSLR3Zaart1kHX1vcuI221U+q5b9s3
+CbOU0VmZJRSc5I40vASJNUrJ2ms8NE1hcqAvazje0UMfMzzZwkmIrR5Et6GFCU7HQ3BbqO6yyLQ
gbMHZ1EkJE2WyrJ+RZ2vyNcVEPhQwpYLK/Hj/ZS6kUYVXQ4fmEpM/Usqc48JxOXqQYejQ9kn1hSj
mAdH+COS3UbX9I9al9cGqa/j42PN0A3doU7sUEJt6G6QPa1e0GabrSq398t+P0q2GbSgx/3xtaBW
34GtCkY1vYyKqVcmrxCxleIzMQms4mytmCmBxTe//Pm7vmEmdGXF21gsdbq4Yqxk9QhkAGJgGVU0
zbbFd9NllH7BmijqAmlwpqH8nT3jacupgONY6A9Nz0M70utL2TpOZd9I+fDGJm03GIz/5a1q7lPj
8mDH0xWnXR6nCmPfqf1OvvUrzLAdnzqRQkDPiqP2535cZKBpHiF+MNqB2vT+UTGgsNi2Q34PlMJs
ZzK/YT8A6dTf/ZagzNCyJlH95oYy9VJpdpXvR5re0ADIHsrT+PGD+uWHu6gqN9htOSinoubcFc4c
LtpN9qIHBPXA9yGdKGuF6n1BCGdCmS9jI4NfNh0HlJjgX5nnDXbG82T+YRlHm/9K0nn2/Hc5McJQ
0hXKaVSjnfS/Jn47d3loSbO3j3DOAzIg4+XrqJgtfjQpbeIhFJA7nPt9wCFZb+De3xRJDQKUVX1e
t8vKthlaXPO6ujdcVvj66wa+a2PoWd1eVv1P7Y+7yDDQY5yxRIZjMnM+h3lBX8Y6XSpKXx6SZVzp
uRbAQHSwVR6X2TRaOk/RJsGK29w0Vo4SOprIWJnpsu9UXNJuPrWMLe1gO2wru7M5QmDMF9l2OZcF
3NqIq36KOOaBhDcczUiFGXGEKBmLMfRiJmRK4Br+00ABF/SWBgw7Ky5puPQQObSXGjyiXbyaxnNZ
mDiDvR/NvtJ2gnpyKO8I261R+gThwwfSV53qZRtIpEpl5ZtkNew8vq/EXx8SWWkbLd/lz1gEKINX
iqdUKBQ00XP0kgODIbepD9MwG0UjNfTGPXr9wYM2tOo2sDv4w3XRbN8xt8M1bIVt2AixKeT0jo4e
ga71ISoLrHV5CYQS5SEbYK9Yto0dYLD2ogE7kvo9LzmbUv9dvize7TTdNURiZg6r/fvJtEmiMdHz
HQZY7vANN2yKXaa+9+3HX/7452y1fJ7/wBfTn//zZf7hcfcffz4/zegfL9E//uZ+fLy/bxJqPmEB
4d4Ah3CUIzQfxzs4jvMuRTCs7fLI7aW7yZynQzM8bWZ4MrwCrYfG8fwA786OAZkOmsSjdFyh1ja7
ir6uxSkbpVsg8KbZPGAuv7oSOTv/UxWSRqsYcy2q4UylYGQ1A+Zf1mtwtMsxUzjQ5UtSqKkyaVxI
OEf1/jKV06Ujfr5drV6k5eFylcSp00eBD3Y5Cd0L3nueT4eWSDkESs6GgpNcJSlylX6eIoeLfjie
VXN8m3jW72nS7ql8mmDXQwdy33KMfAsFlMj56zuNlzrxRRf3IF/eJeVEsfXjJpoj3QxTV0gYgBks
OkT+S8y4A3ZcnMLdrp8MEQQIoSa6r3E8q0xa+Jq6ZCoB93pqLqmqEKO+ornujjTQIk4eF7JHj2Mx
DVXahEoin6oTz2PW6oRS5IHb2XKLxYCo8dYahcJCnHUWsOFkTKXd6j0WVZvGgt5sAjoY8+uf59mz
HJvx+UAJfVGxTxFAuv2yR8YbyvJq7VUYn8LpAM/QPh/+fhGv3hXFw3n0B9symNfnk/O/ttHmvGBc
fbawBBxupeKbB8oznMoZdFjYOOpNI8Wc+QKOXXTTejiyZT/FUKIm1VauCsR06ahfj7AzTWvWICFQ
pOZwhUV5lM6n2Q5O0jybUODEber13e1hc3Lb+zlapypfIY5wxrou9hBvwFJlLjGCCXfRf+qJFVz9
AfMj3oH7owNvFR0Y/bq4gIJ1KjQ5O94D7R1dzSd2mDsTnwRXdhE02urUSSgN/ErG7lDoo0YyfN1s
wateJD5c4cER6j5WoetklXS7l07PMlXC6ZRnqqkFBT869MXgV0k9NL0PeiikfVUDM6kGyuhwQsAM
QsBQCLpE7ltpCOF5AfdC3k5DcM+kITxKyXBhKYwaNadXPBwf7YUX4WVCiGBXVkynvH/5wEU9FOuR
s2ETuAjs+tY0J1f6nftehW1uaGOiVLCOwdIT/jhepzSCHK314AVwU3apWL6u5LrUZePQaBWlyUOc
F5VrLwCLok+go67xFQciOuCCjaKNzKEiT/jDVeMeZF4fCLMdpqVls3w7PSD3o5GQPcF1hGPQ1UwA
A94Os5yS3JpL9NnrkE04befEqPDmuSg17baq7AWm9yxn5XbYbY1McOGNKhN2s8BsZWI/IqUpesoH
OEV5XcI9jZIYa85MjkBl4XXv57ecTmi+kjmacG5H+xaEKnl4ceBbR0FIzjWRWpBp0XKBztzghmQg
VfwQbXdlL77+0ich+AViEG0Mt4ysrUzm8D9e6xu9XYPhFtYx3LJKdvG8LAG/S1K55RjZL0c0Un0w
y2cEuzH7hBxrJs6U1k49IQ7jZ/Ii2hxN4CkTKojaWK2sZswfMKKoRpxXw4qEgbXB3gRxgAoV0qjB
PNPHzyUQgGYGD5IqeBvH+xhbHS7hk6CLPTLCE8+w0cOOIYMBU+5Ftm6sPgRFaIUe4TdpJiBRkayX
2MAI8peaMioSOMIqfHq2Ymlhw8rLJY51zZ0IlBL+FMsx6LNso5rUVe+UNq4FZhsGA65hAlTuCGUF
YPZOVaPKMn0VJISreA8JX5YswSu1latyRrhrFREykPXYs7QisJNti/W2JstAsTffSrsO9kgPySav
eaIQ7ig7lGW/1aVPTZc+c1mPxU6FGSF2fwb2gqv4R2OrAwlxLKrVtDC/T+7g9oP8dVkpc7+Kdg6c
WAUIUQb9Qre++sQfX+LoicSJvcSJnhLHQ+q+FUrLkrSAD87bzIQeblcb5rdMSVS4vKz/c55lm6Sp
spfRziz/FG1elMpYIorFIUGjjd/gRNkBhCt/enTm8UOOzT0vGjcIrOmJCGnXhXZli2G2Rs8xd0Ah
aGeKwOVv55bYnaI6osYicDQCBhCbs03qyn444lOOvpQKnIiGDt0LaDl20HISPuC/nxdwNuB2/89Z
m0x7ZadmfTPeaYdvsNvcm4SB31m6Fhtnms1f9GhkWNQhvB4y1buRPZesqgKLxro7gcA4vj/QdZFt
VjXo/14IgugPIIeS6lU5d/DTg1Yfrw8aGT6f0Qm3iqW3UpN5XPyZrOIMTehtaiSejx1ThPVhVvh0
8EOz1FHN/Xq0HyFhq/ufkRpIXEX/dPCe7rMLeU/X7ECgY9kwD240JXwmAMrSxFexPUy+bpiWCr9f
xcUim9/vVPQ1ScGp2oeAwb9eJcXpL2S8eAffSDhIDPt+XMZq0Br+DXx5gQ3Al4+//vFO2bi3aVYk
Dy8/yOEkt/kie36vnolUwgEc63h40IaKldvy9LBqwUmZ70/sBt9ZqiFFbBxHM90WhUkfIbYQHVGg
VeZDK86UygLua3Gplj5H7CpZTf0KWOj1L47SC/EukgXjoFTuTPz10+sfVniMY0ETIwMqVNlqvYlN
Uziwztbn3hhMJoXSlOenLS8lOw/JXGLpU/RJ2cXXpNdy8A1Hcc7Oe805DjejfWBXSWDDXUhn7LGp
H97ldnW/nx730NGqWTtP/tekqHCN8EoHq6fCbZL+AlfKfp7R/l3qkOVPr6nQ0xbPb6tYAe6pw/Oa
/Tz6WA08APMEHyrIcpig59SObPVlnfiA3uW2SJaJ9M+rU9DDgMm5cJ1Y62xQmoxczX/DhmxdgbYg
Phvo5m8cR2scWqgfUdtqrqbNiFoqOvlaJzR93MRx+km1ZcBvKtC0HlhSZHyd4PqDsz8m9BT0uLl9
AJdm/tjq6BSZ+PUP4YeG57UdgntDAw1MCSIN7nhwQz8gSsnhS4j/MGT9U+1EUo+63uCHUlYjNffl
CBy8QP2LqAzayUdtK0eE816tU0v0BtS8dGAsNSQSFEk118tE6HfYz76nDYfCLuPXXrbydT2WKsLk
CzKKvrW81W14yyxGyfEN39xXoZkdjYOSWNCBBOddccR1sXjue0xJPm6ybTqvWAqhJy/TPms1NA5a
9U3Uf3j2GFWm64gAh6m5Y6mTFLllEcMbNYE2IWBtGg7No032jl1Jm9216cS7NZis+vZ0ivhSXLwp
GTw6kFffqXmUc9kd/OvD/7F35b1tI1n+q/gfBejNKmZdLHIAo+Ekzk4y6QPtbvQAi0VASbTNbopU
i5Jjz2K/+9YrUhf5iiqVSMk9Mz0DR5ZtFavq3cfvlfEmYMtYh6AekkLHtAooaYXoV6aLHHP15ZNi
2tsq9eqVn/yN/pM4K/+BrwARSj0Ypnvz/g0siTUhC4Bi9XtQelsSKU0ytNDZDwPHrBlQzEOUQaXv
pJr5EGd6lGhrE7IUgF3He6WaYdWDnWkgO+X9mozmOJ0mk6sNQGVJL9FrjbO8eft1ha+8Oc8Bu97B
VGY3JRosikjJJFUaP6RH+yGQaF0q81wnW3UjblPjM3DrfNI5LQEBDavudtxuAiw0R3MGNrauONvo
IRw0QjLLJvYTiJ3GqZg1frQB5XbBtm+DPCW+bpKXRxPY/H40TMY6yY6QFucAA0YP8loO/HjuB51T
bgV7YugtCQjUDPKjzCjMQqaIhUy5CKV4GZRbOxUz3Za/2Elpf6loI6Wptz5umj8mVeH/OgfkErjY
Kf0vB3oDu1SP3+AZCjyj/qOd0xsUTe8PAIDaDTuVlq3GGgulHt5tx7s14CQrssNceaUQWOfnW1k0
Ws/r4ojSSUJLJAHMlx4/0LWyiWEG0KzZJu0TDdzGhUsWrhxcp2T/GvJnOFLe35Co3aqrTZPCcKNh
qKwKXxwjuNZl/nNsNKmSxcwSPGT/CsZGAju0WL993m55YOPneZIqMYR14ii780zJdDvCtQ24HY8K
DHxJnApYEFKFopxkMomz9bzjuyROJ2ChRssUzSUGgMRnBZEla/KoPjXU5kmwAphyaNdBD3CgXNLu
UPmcpuEb1GrKtXRo5oCgWdmpWEKJAeA5/ADvOBkr1VF1zFxWf7kNx1N9Rokv1GijIdA3Ghy+jwMo
SR/l2+Re4Pla6AsTDldZV6PG0aBUgg4R/uFrrE5zdYazZAyFwGqnys5JcC1NidQThpwXM1/dt14D
/Ex6lmVMexfTWSN9hkzHEkljvg8LLuz04+Ebo+jGeNjHxhi2MTsot4PX4thazKN9rCWwteyU/+EX
5mMXRqzC+YcvJvHF2ouWpJ0bS7EAjMcuBPHcZBK2CMF8ZQAf9ztcxLQTxtkZNTWFnivZjabu0Hqr
q/e9xlu9p/0gx/ZJA3RuSjqMll0ABR12MCNH6uObX94NP/2Ia+RQ6RRxTpoJlaJhPVp3eMWxD2Ek
esSy2y1Ueoz5YzKJ89JTqMr/mwmfQLv2fv83/vH2hyH1KDVdO4yaovIYi9bCVaQOlt40niTR1jLl
qUbLxYO2mHUUapWbfKXDWfo3LndTlVwj9Ul2TsJm3DI8euRV3z4kd4svnz7e4hctLBPvvR0DdVSv
veqEczjxoX8CxocZMGqL1U/wFCJR3uw5ScK6WMyCJCyqt4RPlaw/wdnDs5T9FHgvDUQRXAWCw7F/
+6V668vVLz9/GAbIuAM7mFr5LzLfc6t3bc94T2JX0S9fypDP+s6aPWwBJ/0ziLrJijwx/gB8DEbP
aYoqhiC0b4Y43bUSdZwad8w7yHnutnIVLVfdaXI4QZ0qVEETn9FjDF40bUyQtDHhIuCiK27S0CII
L+nkK16xr/RMGHROxm5NwHg8nagr8c7I6coiEMLrJX7F0egm7SW6SdEooPR72ZhAA3P9xKN9fGO9
hFJlZ4eIzlQpeWPdSzTU8xrjiQFWVHDLZvX9sqMYF8u9SenAs8QUsUyWZLFpKRpySE+Lo+1fva/W
3LHv9ZO4kBRngX7yPwEeCA/+bbC7GOweof9kBntHYgKMCega39WZmBsdCsvS474iOXtkKdKpAaVu
I7W7vyg5CPPsVzH56peauFoEiqB4cM54GVGmyTFhQ/j0Ikvu7mJ4gEn52tBTR6hPLBFjjtF1OIwX
11OIXiI9sRZ62k9EElJxIWf9HqppNiilwQs80pYDNUGT7DtmqKfzuEscsQHRECrLhLtYfE7eIfVd
vEOb08ZBTgLLBklLE69I/mEAVwsC6Wakr1oKkaazcugbu+DE78P4D1DjPyB9rBWia4W9ODXEwwtE
+nENCcFtVd8p7lRP/m1DqpXyZJMKfPPmUv2/njTcnyCk0NENNbPkkEfcBzakfjLLswKbTUvJhS/8
Uy2mVcHpdsZcImvlkv+I5/kwjbP7xcNQLYoaKSzgF9RnrkvYwIPBaMeeY6T2Erx7PUmk52Boqae9
jIoiua8GIOu4YxqX5apFGhUPuKPPNCiP03JbM0K2FlbG+8RgwerKKo92qk93O8OH01xpvfWAX7RZ
w1dyXHZzwOCL7T1jJsQFcSlyhRXHSpqW0CTNHmjBATzq2Ltbr6BeNAoS3GpYtx98ePd1gnw0BfDp
I89EuZLND2agKdg55cNeiixFxscPP11/d2MeADmg/oCyJyoG7C0NyDcoZAwAGpOQOxKB2kL6PBzN
I7XRYQytZAamEcKzxChrJTV9luotbRL8cfW//4fAZ4Z+n+Jh8TUZx/qVvpEYD+wy25FYyG71McYw
ZHyhnghXkSJwFwibud+zuXpdlbG8+a34tiQYIkWgKKbJyWEo3O8vfdzQsLIv0miRPMYG/R+CqXYi
94xxX74gXsfJCzUR6Ba/Q0ulMg6Ed31I5zLdY0sQGLXLhKsxsVzcBVrT4TPcADLbVY3WaXjwngwC
PnjvDd56+muov77VVP1BDm7E4Ca8Gty8G9zcqFdNGSjYS3kSpyrCuvdeUZQilNKMGxezYZZnpoYn
aTmfsDOpiYcIGVFS08G4+xqPovn4QQmUyx3vsVg8p3HxEMcL5VWabCsJ2WlxiAjYWm7D+eui8a1V
EeOCXAhCjtrhqidU33MrmAchylqmLtyL7tCwMGJAsQufiN5XbbQxMWY5X+jIdSmybnCC/bIz7Zdj
++2fqholCHpd1v+6PnbO9AUbCczOSOjFQtA4Ai69BQ8J5D4h/jdLwX1YRIu4RGdY5Lq2luJ+BAGQ
ZSciuMuVfr6rxjsN4bvh14ckjYeV9sQBbQg9WCmVKcLNBjfD1re2epfPv0bziYaIwHxzGPvKJT2l
VsbH74RuEfJjtw+WEOmerFAbgAP8huz+jtVFzAEoENlfqMjK87o/17YlIXTrv2A5Zu3r9CDHJFAB
czM+71P1Sd4bqs4mmvyYPMVp8TaaXM/vUbMsgHnZLhWbuyuto295psHGlXFvAx6iM2xCWE6xchYt
m0vFU9fQSR+8JMe7/sCtQKADdj2gkigyhP+RsvxpVcpcgwctAegaaoXCDfhBj3eAJ22J9ghecqKu
Ah0l8iiXFK/BSrI0yeLSRRtGCyU7RkslNGFejTos1OBQksEOR/OIJ9HdaAZoKIiGEe/lcMp+7rCG
yYVclXDKVe053Bpvt9TQUB/Mm27ZMNcIycP/evs3Xf9lnKrgiR6LO2uXpu65eMiX6eTLfJldPcfF
q3Exu9IHo+7vP5rxXqKHTgp61kQIdpKvqqq3K/VujQzLX78avJM/2FBjq0GgLogFjIi+abNi/eHo
eQXLpKN2MFYcB7xh3dV87Z4yBMwe70099FwDe7JzUWyWa4LdOiIgW4xmie/LE10ang/3NHbg+bmm
dp9V49XjfUn52+jKdQbaTC3Z5ZE6KvNl+WlNDFgoEQm7rXpTN65YeDXw87lVZSq9Qo9qQu+CVLdl
K6jIdURe+y+rsnmMgqlTonTPw2ssXJ0LgMqSbbUIogfyA6Up0iZ8Akjidp4aX98vnKMeKFredTVa
tH2WToP2BIxJCvq8/OqcNEwbVphAoPvfxpEMjrjAwvUGFWuE4REPZ+JMPLfCLHsIgv7ugoruH0A7
NvqgW8SQL33LeHWAgKJsYtLV93dJGmMYMzqN2l7XGPSrb7YIoOkXaEZuovxD404d5l/JxX1GGQXN
chRzbT/+9B561OfzfL7HWPf0CLSzHLHpGREzeHq/jpd5RGtz/XfW9jB22kqW8u42TuqBKBpc+KKH
6wRcFHW+E+OdMj/U46XOfafNB21c5js2uOZb17kerL36iUQuTwZQuRF2uMFytcYFhhfMCkvCtNaG
MH/56fPud8P4Sf2W7ivRYvhp1TgHuXb9NpyXol/DdGzdMdI9bSnLbXh9++7jR31ndO22tdaMiv05
RHdy232EuLKjNBG9ruLnyuSkr9cCgdLLQQAg7G8NwkAHzJHB7LrRqbNNeIg4oCHpBDPH2BfXTIwQ
jxCmszFhQHqnFxP+uxVmEautXaL9F/XSt9W3TTx0nzMftkppYDV4LMDaDvPZ87Cq6dN2KF594lOm
GfDcIhY7/1c98QcLmOiXPw490UNhS4k4xlousRHn8TRfQIO0Lq3Qr8uUwbpICvVNoPDaynM7igHt
5DV0q1q1T5meRaMwqAeAhxp+uv05mt/Hi++VdF4NpBlGk8nNoyKqz9Vv4iVcXCgPRnTxINvyMUkn
vypX8q1xbjnR7hvvdt2FPoR3sLr7kXAYyOWdT5XKAQyVklvCQpqERD26Awl4GEXRoVF2QwcBHVy/
q0sKBiaui+OLQq+3Di/xfUBFl33zLZ4cY3ZDYo/Xmz6TWm8KzsMXptJQjXYkmXJJvS7J9MPgrfr/
e4xMhd896SzmSpw846ZWmcdw2duWBNW576qbzwhFqe1ZP3TnQhgnp9yeeJ5FKd4r4QmAGT7ZbrhL
POsoXw+CbEpNXK9z9UYkNOILog6Duh33liR4no7yVI/xw2b2CgmJ0aBX06B4yOcLdRwGkyDUI/bO
LYS2eKwesyBljmM3YmEHq9uMQoUwSKlLaURQs5qegbBb4xfQleEHJ7bA2iiPwzkJR/5aQLtlNMln
5XrGfoxQz17rMGyzHgmgB+yg/S++ZzmHrOv7L7YEm8GHppZ1IlbC5u/fff7rYjH7Kf5jCcWBVh4I
VeKGhAfZPG1Rgm9nkVoMixXwwzzbeswnn6pPLpAxSOUIOEH6cqJ2DxU/Q7A7XMMt9nt0i8Q2htgC
qyKaT+/iqGD9HoHkQJ2cwpg9fmbW/f4WZ15fMS+lrlE2kJDDqfJFkxmg1kfTJH3WXQt3Ed7HxwE4
QxwVQJmmkFyelzdQKzF/fvO0s6RWnRyqXQQ5mzGCSPdX43S5UH9/9Z/aLBlvzJKn7aQYpf/9P6/+
oJVxQsqY3rhRM69YC8BIOtvfE2Z8HHVpbRK+3ZBktoO4cPqMo0V8k8bgTH6v2KKYKbokNSIph08T
y3GqQaPgvYD0+gLS8MVivhwvoKppEi8A6WUybJkBEFr23x/mHEG2Ts/7qa/HNNxS2EfPOtK07rGA
hfLcQs/QMEQCLRNYRxZcWSYdgyIY/vXn7z6XsAgJ3vHKNUV7J1NRrdayclw4oZ1yF33zhAXOPekm
981d43jgVelaTo9h452ulUMYmirXnpPgBZC8Qdfr0rigW1nKcKkNqKVBZwojyaIxQHEMx2leLOc4
SwOivlO5+qrrUgu36CGernstx/dJ09MIdDJWQh/WWQyKdmGDRTk25gRAp4SyglDxgtULUr0gfPXC
L19wr/o3rP4lhhKckIZ+txINu/eh9mdQZcoUwYWeK2kXkA/U0+yj7HkInT+6MhmiR4vh1KBEAKOT
dplKRWM+LqWJ6z5iaB9eDfMtntUZT4fr3uLHpEhGSQrY2R/U7/0UZfe4wgKUZcal0z4Puli8m1p3
OThbgLUyzBJoY6T0yDRRwhNuGsNr5xDSO12wJTk4jBzywM1+2eg5EDHF5cPzKLnU7gVQfClVHqJs
kuK+bAglaWFwYqM17KjiZaskXlcq74hPfRvzPDUm8oQkgNruSIjKVo6hpVxvd7KclxBT0eRZt0Sr
NRX7VTO7xsPoTqmCqh4BihMe8dRKAPO7XA5ncwnXSt+9+Zrf3TVaRCS1nMdopcK/JtlEqdeD6gp0
rMAlXFTjfKujL3964AX4obKfZdBL0A7OC2VBccE5PYdsassEBFx0VYyCezUOBMSJuh0WnOOo9gbN
QwhUdhmz2a0QqQ4pmwzLuVZgU8bpNJlcRZn6xflnJf5KUzF6nUwG7P3m7dcAOqneqZAZPf2fH1Xf
+pWt+CT9xjts9c7qhaSrd8LVO97qRWVqPrHGJ/vj1QtR/5z1X9Fg9eerv/JWv6xb2ctBHu8uo6a9
yqVU1pXgoifR1hrO4rr7ryu9DXYMKOviIfq9JV3lS88txe9uR7YW4yjDxRL/vRtZ0XYjLOSORUgH
2xcAOoA7Lz47UnZ2IqcMUYPQh0QvO/vTGbwwShiYwl5HLJVkBRCuusxRfAeYtkD2eLQH3D8XA2mz
xIZ61+9VCPZFk4WlXu2l6wvlrdXCDCSov1FJ6jCshx1WMpwQWgtEiMA9eMFgHcj0bn27imW06QkY
0uSHjPYuN/GCRWHZQ2+rKIrlCDqTF/kYfJwtXwcHAALwGxqeRC7CrOs2p8tuRFvv0geXj1TpdCiE
6ekJlVOexV9bKt4Il9y5WPBfxZL0PBeT0saSZEreeP1bVm3mlMZp6bA0CGza68+ff/j15n05JrcG
LAGCpOQSOkzjxxiv+qQCaliDEwgQ44B1EfYlPsupHdhd6CYpfoa7WOTGn+Fig4L5Ijo6oa/5/Pd4
XlxCPFd5IlA9ByJjHkcF3rtRNtL4/5ZaXfm/+4UV9KX7QdDxjW/FrdC7/605uiIILziXp+cRHGxC
XDCvp/hyNJ2pI1KHYYIXtANtdRJR0H6hHiZJ8CG7ENwlJ7uCUji1w/5RCoNYKHnBImEHXHEFpXip
GPDvt7eXg30cyCCP5odWLmN4sMxVhmKeTeOigFYoYyhIanJ3eALHi19FYmYxrgWkHs7U8YHURRJy
NA2pJEVgmWUMD5cD296WYRYLtzThnAijfAOlB7ACrOaYHHkB1SM0sWE8yQCDp6MnGCUZjIjTeV00
d7I/6h6e2epY6XpSUtHAC+sCR0mbgSe0wNE93m1aH4ozeCD64fimzbmSAe2injDi6/agbsluXYes
FOFKD+LBDQbFnqR/ZjfCCntebyyHnwICyuQJ9SzkRIRh5TRSCQO9rarRDzmbLN+S/1DX85yNlUpC
BQS4JSTs7XJMj9K4Hgptw4LzFyyqcGtoSzjtt4YYC7o669E8/z3OhjDPCWX5QFgO7OyU2tFH8Rhk
D/qRPq3BVA4QMntGvoamShFkEnI5spZx0eknVtja1MpV7eK29hipJJCBMpKCPw8rDjyv5EbPgg2h
kZ6Ffj/kmGfxcJYuC3iBU6SOoHclA5YApRRPrqf5MltURTxrE3S0LJ4NAA3QGNGtifT+5vuPBp9I
PQpkFmHEaglvAOLCKC1kWA5LdyG+3cfa0F9t+ToSua7Fy+dtSQf1RBdc+n827WTDDzBLibjYIF1R
wz5x5PHQEjrYgWGL6A4HVoCCUyK7u3Djwt/+sUEP/PkhKQbU018iqGhXv7TGKX4DqIINNFeNCH8O
boH7amsPIdQHWcP7ubd9s0wYYHDI3uUsjsnhc6gn7YOjmsr8MOlKAVUP4H9PTTBxG4oJ8Qj0dMo/
i3g1z5mxDo5yAMVmgNzYB3sYTQ96Nqrca3SGwrLwITysrElHyAx96hzSROfghb3C0/NgDLz4JzU4
fHmUazpNnuLJuxIF/DIa5cvFcJRGSitU1Szq4PXpm41MDnjwx/gA+1AVlbZI5ooC8SwADNpyCQFX
8ZU11i6sm2cpSt40gCGJXbkaimCgVcao9AjMpSZCdCPOKl+qotK2rCKDWlIeuJ9l+e8avhjLlFzY
jXw0LJBFj8l9BKWO+27LrjyhfR/r1ZCN+IB06L5CEad37XuAFhqXZFttD7AQ0hpFHR8fJ2dwkquS
V2O2LoCoPXHfj66wa4M0pYEkltOg7XdlUY3CqBBuxkDLurqZzjDzWrhFmfeMfFArbNcUT2f5fFE1
zOvB6qtZHD7CDFBpeUwj2SHQEDzwpQPlmqEAAEhbWRn53FBgr41L0untKm1TyZZYV2iuBSbq+kG+
q7O8Rj29qh5lWY1TMmp4n0PApos0a9kc+mUazd4snhaNbgHW4Ubr2wMmVhJKEfL9GD9nKRy1hs3y
ys5TXi/wkbKlZtHcxN66IJPIzk33fTaH8rGZ5RzkLsjM9jyk8AEdsZ9LMcBPSDsqFF4v8pVi8pX7
Dg/UcgSlNlO+JkCWGwaDE6h3sOmNOWDdZQYoietfQG9cGW++bC2zMJ78sfgYLaZy5cBpRAz98w3g
MFRRAryWVA7aO/iRwVuTGujTpnfQZoM7z7qvboBBR4gNhLVx5R03cctF33Q+b/uOLaXDQhkLDkdQ
6e3LQinxNP4yyb9qFv5Svf/lQdnS6roQQAaYQnwhCDk/RTVuyUBUA09Uk+D205TyvX0rONGDaaod
h4rYIavZ0dMozUerUJfZDJG+bxcK7nxR7nW16CRaROWittEVQPyiwfmJF0EKAsKFAJamWuD+v2ju
B6pFxKQNPPIlxHyV4B2wt7rpDiZL7mMBwqGMQBKvBx5orYhgAH8Z8F6F6ppeWrIQDGZ4d06glYPU
yhwcQMGEOM0JVP4hGlvQCY8ODRXUEeRQ/9w+Le40rLhLlUYl4h2iRELPJohqd4+6w0nfWTmGYtgm
4DQN8R6Y1zRPgwR+rwRb370hQ6NTzedyMgTqZIjz0/Y+W9sKY3+/yiAAMegL1iXVzeKs0NGcr0b4
Hal9S9aVpMqnyvotChiuWFmW5rpB37LRuCeC42jUkMmzPRDDw5hdudm7OA3pY/xrPLo1+ryU65pF
ByG4J4ZKkRAq5dQLvLMdPEEPvjuZXK2sLgB+HFvZMZIDwCzr5Uym+WSZxthJGIafWKKfminht0ID
gQyVcEBqw5U3bNm8ayeENBBfPk9Mms7j/r7OvJ41CyaYX5Wp+vd5Fl+RUt/UJjjbTXNpmdQOKcJQ
EnkyqspWWY0HQwMfgUwVsUnV2NzINErv8vlUaR/oqMfxkQI7HJBuDmAUFUnrwHJCAblb+id7IPOj
aInTQ5QZaeWpIg3V8+EQQUQIfsFkV0JhEt+l0Ro1EeyU4ShZKBsvv7vDLyYMzyYkEDpeGaAaDPmy
mI8vdyc9EQhUsHdITUBgBZJ/GHtBcRg0Yyl7Qs+E1pHOIUFbkADHWvZJVvpgd2hdw6mrEy4e8mU6
+TJfZlfPcfFqXMyuNr8AE9tXzzRg14HneeqQrZcd0A+VafNb8QrwTOYJIIlH6dVivoxfaXa70l+b
WIkAMC28Ho9k/WRNcXPBGO2Fp5LsMUqTCWTO1LcL02gjiIx4HRHkkczVRsW72njzN+UvdaWg1Tcz
9c/HO0WMz/kSasFjqAhflIXiVWcdVItnE/U1y9WXT9FjdFt+gHpfr/uN/pM4K/+Br1CgR70fr29v
b96/gSVnTXOAgoD1Pcr+FLxZjrcrtZj+qr77f/au9bdxW8v/K94PGdyiV4n4lFQgGLSdDraL7ra4
swvcb4ViK47u2JJryZnkv99zSClxLMqmaUr2zG4xzcNJTIo878fvjMevzAoQ3ocQpeZwYqKw2b+2
iwL7J5McjL8r+pMi4Y8YI0ynwKfVEPe3b71uqfyECWID6XQ2UURtRBH9VkRRFEk5iGbaq5EoodKu
e35Y3irKLmuNIfBqs8zDGQlxKMaRecws88AfYfLC76UeXxcl1FeUeBChxWyEFvtWhFbMEofCV8cR
ZElEyFiRAl1/GmwKbFLUU3rMwTSKlXojGUfcPLiGw2cHp6YpeIX3f225SKsK+3vS2awKgIhgU89B
XmdLc4xc2mFCnrzwe2Ja2kUMtEXHiKeWPcE6aVEHnUk9JJmIkAyijLG2+e4+75uuDm8O5BSORuVw
CoWqwQXHVf1m2zWFP1pnKnDf1xDBwmhCIk+Eh1Ur6nDsSA9T1GTolMlJB9Yte8OIXpQko5xXl2NU
YUgyImEhWMTuWRVZDhpmjT9O4czwy86vqFYidY76FXP/OrCJlGe5f2/PZSiMlPFEMk8SFQfoppiF
sJPlmI2OxljZIMxju8YqX6SpAnXqG2PEljN/as1eorHIbhzVaat2Dx/WpZx70nXKjlY1N0UJ+hUu
peppoknCBJTHycLwczZ7ecb+bpk4dHvGcVwp765TJ++ZTFhEJDvpsJdZnbZtvzqxZxTMgthBX+5Z
aUsAb63ZB77Haei9QqTKilnTYzjN8scerCOG3QO+QjYqmdVM7FPTzAI1zix4MVTxBxreCrirytaP
GeqTalUWCm0e7FYj6VO8f483r5jMWIHOImoHln6+gMUonMZoxD3Rvz7sTLnG6uv/+cdvt4eYgiSw
CcoTetGhoyFCRqbbILFLDr2P+ucljnIwCz52CSmKvWc+yoFzYYO9BmrC6sBbtJ++5kAmqB204PjH
3tQA3U1n45x7bNOCvufcD4gd5dWs0nnPAESc6kuswnPkjDInHEvsCEL5aVzQFgup2THgSn5J1zNs
+Vn3NIAlYI5QHl3+BWz/G+cyGAvZpZ+L+gKD9g/pY9bG6qtVql4c6ZhC4kA+h7Cat3CrzdFrYofk
e9S6byCat3fQLQliFGfNX7jgin66ij4MQQf6nU29MJSF3PutKG8qSNfr9FmjDhpJglrCyTuShGkb
3apsbDNlAxCmXhtbXc2D+qgd2MRZpdXHK/HzINSo3tlIjZLywQlCXUp3wlFIkRK49zvpiU++aH4V
Ju7R9jHlmID1fCQ67nGIO0PLCI/bZXT20BXZCMbGB2CSngt5dUYwgdffWIE4GcRmfLwz76qdYN7g
/Wa9uH2o69UPNzcvy/2A5Wf2b6Zy/8EqrXbGSWBaL5gIJgd8kL61deU7/KMDU/Zjnn0xUzc2SPCx
SauXnOTo5IRJhMVDWdV+ySkmo0kMdbeG2m+KftkghNWrzRV0VDLsk5u1FrqDTPg2ohoIw60p9Q/p
YpEVcyBleK1cFllVmYk5tkPkczwJu40ZVAmJsNPe0762MwgqQN8P7hVjoUcceorYqDKq9tutZlMR
dlJhsGoSu2gpG8JY9wbqJELJETI0ATRYgv25QKGyNqfFZl6/DGZ5tcyrKqsClVTWL95t7u4WPTA9
UQQGbXwRx2A1rtLHPrp8B6qNyWRvcxk5CtMOk2WbCrNgKkGmcK/K2W6NBRZ3oS5KTlCqqCaD8DrB
uq4UTPVgq616X3+hpGpiqyeGnz5kOFJ6l+ZUIZIaNL3owU6icAjMx+NvhVhWD4HW/vdpvgDp06nd
TDilx1y2LzsSJ634ofCXWgazNxZZDjhysBo1ZAmOQKyCFMybaV2BcssXZmhUjlNomS/ppiqi15tV
nYGZ8Yy53/myBxZSIljloGG02Wa5ClLspH+qjfjJRDrctj7eNxP34PJboJgOLcOfkzA8SYDYXXVT
pWRk4iicMMIHPOrdTuUGNKinU5mE8YRFvqzclsiQ5PT4z/6SAxrh8ByaDB0uK+/+hf4/Al+hcYWh
sfZI8LKu2E/vFuX89uOPv/52/U7/5BZ/+Yd0tYL303z1hCibn/NaQ0EUWV1N01X2d/jD/B61ZDZ7
h+92e/hvOqWdKkDmYlztpf4AtjY3BWA4SSacsXOf+m4ySf27hKtIROifGQ4DCglbAIMTPAoSGjwK
wpJI8ksgB4xQq26kc9MAiTn1TwP9kpDAgpZVq7uXAO5qOs+2bUvwnDHrDPbGGhxp9KNnWNk8Ldcq
DKpu6wls3gy+2jflJY4kKMxR91Q/5Os9W8K5oXagGgOTKm72/IIqTMa8nOvpPO+gY4BPJER8GRdy
RT+eX3BEkfQnOMB2wyBY/VD1IEEpG+r8NMB5chH64+NF8CVxKt7szNNADd68aOo1YbEaxBXGVFyA
ECChQ3DY2M1HDd18LJYXI2Lg32qR5sX5xX8cJu5nvlqXc8S6DO7zIq8e0EJtKMDoqUmJ+Gvuy70k
YZdZ/VDOzPJMuYPhBeg0SkV0yrO+ydBtPTUWAi7Nj04ngvKLIXJF4VtkCS8VpSpnOzvZw3/HndMf
v3+yuxz40WZR78haFuIaMWGD0MPrku/bn2UzVVKz66ZJEIZ01OemGGsPw7M/N4vY+SUCHEQ06ukz
WIHL81Md4xdj3YdvBZJZZCj5hMgXZ1PL0ZEndiqlYH2G5IPLxAOkQgjCk8oLMEXt2ngO2SltF+xL
U+503QMCS2NhicBkz6k9qxtFtIupUm3u2lVVlmiuuFUD7Vf18yIDixCn+LU/6n960MaWOEc7W3ha
LjAZuc7+2gBL3fzzP3/7d/j2H/rbX56m2ap3gF8UCcuhAztrTqvtWLl63Gt47X2ShDKRkl0TJgVB
Nu7A17jkjHYecQvMu0CruwbvvixXxluNXI70dQGV6lmu+Jv3xeS51RDcA+9bztM35yMndEJ2BNCm
ytZFusxs3n4JVJ9uLaJnFKebWhH8e3yb2/aBtGRWv3Hz9vmafZAoOYUTl+VjpvOzQb3OMX9SIQBb
ZS6mBZPMrZj2OAWpcSfUYewAW+2DwVCFDTqIlGJzCsjZ6lANLKEMpKgQp/jy1Wb6cJ8vMuQsky/P
LyBeISMXw9YsNat1jnVE6R3uoGnvruuembpEwhFQ6UCjLQj9W2Z8SNfm0ji4RBpaQhf3csMGh8PB
4U4xPrClFxDiDJ75Xk2crJtx8uauNm435vuA6ATjKwBzrLoJQ2IOhcpkIvwoYcvH3TNAKk4mnCfj
7wUYzhApjPlEuBjx3d3oSRBv9/OYrp+RSNIpcJ6CMmioodnMe/3t7dsy987E54kkwiuV6GqHLvdz
4H9yCQ4ld4mY9j8wDSq4nkVP2oxaovSfVvSyzKtlWiuKVc6csfgFRw7aCATqayubtblzUcItXEDy
RDK7uY+nnUdR4ufea0koswTkooe0UlN61VFIMrQN7u4sAVc5vZlli+wFhG+2QaBNjbOiYFamD2lh
7mznqvlLOq66Vb1msX6/RsBcjbSaFksHpTXQkGQ0WuvhuyhkE7vxAafuAuF29kwGYiiKwmikjewp
LeaIPULo2amDiVAOfy94GGYjLoqlpTdFDQ5ksOtA9pU76lIbBzYAbTtfwDuF13S7VF7HBdUPtSzs
tckJw1LLWHpcer74E9f8Ex2uCm8AM0zo7t0sy3V2c78pFAIthj3S2R/5U7aofkpnP67n5vaGOGbY
43B+UoQLisY7pk2R1zvuqnbW4DiYJCNvpEs3SRjjxG3pnTmPjsR/FSF4wlh8fhJmNCLnv7DthO7X
cn9hGIsLEEEhF18Hw+1c8/n5j0t+/vsjhLsp+W4p3vENsyREwObYQQztuvhNb146nWK1TltGrkfz
zTPdtKVgJvv9fxqFlhkqu710+gSnYF3UhtmYAoEe2ADr2p5GjxEYY9twTL5WdaoYXXV+wFfbEC1v
e586LNy7RAfRmaAFRuIz3pzBCgqVj0KHI2PjfFeOEk06GKMurWnwjHsbLekowWuroSCH9zJkuFhQ
Mo6nahxoFiFGK/OvXRSKsDE+lyASBbssc/L8hdYsYZcnw6sHuOEv6WMW3C/S6qF7Spbi+4p9RAqc
lVkFfKui2QEs7y7VJYUjE1HsnWyV6L57fkWMr5qJN0bewT630H8UUgeBqvU0qNeIuakCbuZGu8Qy
Lzoy4WyKz0X5Rf/cjWrevIUmIRWKTet6nd9t6swjNcUS0/lEHKOvegtirK2CrqnPBEhHTiy38fsf
//3r7//1yf9WBKY4sHiCS3pytkFXJpXzx059i2BsMPZtR+AqjIhHsJB66q9iTOpHw+jfpmwFXg4y
hZaAwH66KA6B/A19MBRhExwc9a4V+PTQQvJXppXAZ4hcrM9eczMrpiVoQFPKniYTEh9pYOiaTvsh
y6ihXiuLuhVvgsYDCOk6Dep03sxnQ4ibdvgSagyjsSWwYiZk49ywXQmrnX/Rjx4VItpFOMQTvceJ
sVVW334u8zhYd5IfE85jX+vC066fg019H6uV1be3Vx/Cq+Tj1QdyFYf49U+x+kjVR6Fep7sXDJJT
JD52VW3uDvIW1kEKKgbwItV996WduBSWk8Odlu2JcRAyNgubYW1wqswQ0YS2m6xrFiBqEXeIQnaL
sQ8gLB4oulUl2pF/N6VBo8xAZbe5ZTXdDkzwdQGvNWi9xqLVGKRPMpgZsUyfdNOyucAUJz6QUc6j
Z9JBbAnLedz6Rblv3l0CKoz4zyY0Pgbce/U4x+bCDJlSvWjGMJNuhQa2N98UXQUtXvseN5AQKZVa
P8J92MtqTf23jLy+I0lozPmEugQaHOtoA4TXxjabvvAcGaB6pqGklwaUpm6mxyCjllglZw0RcpdS
kh7xj8bELQujd60euGI/6l7wF20Arzgj7u4ccoO5O5zA2L1mc1USscQjutwj5Ek0+BE2yoaaVa1w
k/u2AhdnXGPAYlXvE7UhmLzUxUduGfZlXl07Ra7EZEmJSJUlGhsKsALFW0/XA0twRKg4By0dkYVp
aIZFPiTbzpEZu8ojkgywVNuzadIeBPFDk7F4gplrYR3Nz3PQAj9ByzUZ6HYEmpEzRWg5+93LfZgL
pBPLsY/nFvMKndYs5uUJ1pnC2cEWP7Q09l2WRDvQxaY4RphbpVB0NpAMRTaYQ1GGQRVky7ts9uJf
wiZ1ayROnDHWmSSWk3+870sX5u/dVzTCvppXrA8sCd02dgxJ2ThjIQvdaqI9nND+q0tUz+SgG1uB
mAZTeA1Xhc2/IMDuUnPglqPPOpxZ3t2NcRNcuMmhozeBR7H/PNSs9eHs26I8bN1GMnTzRreOA5u8
y2pLYTJzh4Jg2CYVj3T0ZnWNvfaDiljFmq2IbRxEK9HPhuWMvn1ZiH4+wr6aV6wPTIl+NiTrwM6L
TLV/7LMlRKyCZuc4oIOSn7JBVRKc0YEeMY4G+rAWTbOJfSY6j9zKd48glZ4YLU3c/PZjHr/I9t2A
YAT8k7HLvE6oZ2urdf9NjWDMl/M38xcR3bqTDUbRSVxqLt3x3+1AkpzpabOar+E09sodhE6xIWp2
Emnt4SulzePoqC3oIov9vi95ZzGPbSt/2zU/6nQ9z8wxI3Fg7k7faR2/XtsznETeL2lQ5sOqOcV7
r6Swn/1iLHa3At9kjvxQBGk1zfOGHXDuzyZD/PXg5R0aO9cMVAD2vhWiMDvGwKV9LGHnbjlz5SoF
ra9di328KaKJHZTTcbxJh+JNzPPzKByXN5lVg9GJV7UsH/P9d6U8MO6bQFkvgVp1B14SXQg+Ll1w
K/S4E+nixbTvSX7hZHYSeSeLqFeVEzrqQ5vFlrScyzegKjkw7AzogwjinYOioThIRfjBB7PjoJ0q
WHcWIiNowQOOH1KTXXiNHQ0EaTd2ix0NBGnnqB7F8XG/pUKHeIYwiiNLoMze925xkfBZuh4YJcwy
hHscD8ZD8WDcWDfuN7vMn7LZz5ottragQ0AKNREcWfzlLNBFQcaYEI8nnMYjiwK77k9nUXAIpogD
oQsHZj2+/zSRJ9mTb6745TbTzSwvAw3JkxfB/u7TiBBs7TvluOFKYf08XVTm8jpzuz6lMXZcnLDw
DnnpvqEWxPYNDio8IpvIHUBhBMwdZD0dBQcS2ukcGnpB7qK4fJpBbd7TbAQxS1zSk9h6n3lMI2oJ
Yu1BpG4xoXkvxLInwsdxmKUctQzz9u3gqap+hKfE6e074SU1BrdO5xhb2sFP3vqjZbpALKZsFsCL
inje5E4Crrb9rijr/P75Q1lkt+Td69/oX7rl7/66vWI/6+L7K/aLqlz526ca8QKvURz9/JCufwZl
/bfwScR/hw9MffjuO/irm5c/g29W8OnX+ysaPpcb+FhlCuXlIcfG0WVWVekcXwDOgI9FCR/+I31M
P+k3gNfVut+pP8kK/Ul1b1f4UwxP//LhGpfEZTqt1Ryug5DQjzA8KI9Vq2VebOAUzUnXGMhDinGF
13CyoYX231L7KNLaceTIKxVYI2Z/QCAWmB8mOUTvwhi1VyDeYuSz6T8P7ub1H61mmvn0i7wwA+wy
LKKLTw3yHMMqvfXGdgNbfFkxjHr2Tts2jhEfgksxzEMkcoD3bTtS4mjAN4/8s3iTlNzqVUvvyg1W
gqXFZ+D8YlZ+MfIWNsvGxJNLkPfP4NVtLfSCTRBhY4KIb8UEYSzm3k2Q5v71HIz+uQU8lJaF8r5k
UBJ7UmO9cAPNXNG81/kWSou9lVlb5xQManRp0yYax7aRZpT8ZEK5vIxriMhF7IN5S4uftg+naPUg
+2AejbxWGL1YdUbPmMSWWGMjPD6JhzO2N4sFwmuuVTuzsrfNkbqIuMVDLS/DZqwN4vkzHl7InZAR
1RQb0S4nzMWALtLHfK4Lhl6/fA30V9iDjUgBvRPtBAbmIvr1Mtxo9qi0sUflt2KPCikT79mRKRws
yLt+KuAxPTFSreC8wutkiwaK1UOw1VTXyQUFk0SEDmLlhIGH0sXl3OL1Vf50syjn5fU8v9+dOkfD
ScQvx4CwnpPIhpqT2Lj5RLpkNvcOomsAxToZbxZx4Rbgt79j7HO/DKvZW+rrRGI7KWxyhCIw1mTF
EYLY8dM0ePalCQ29anAQ+LCn5x6kA2rZUDmGD3cZVMDD+P99uEvcBwtP4g3D2Ghj/owKjGWFF8IT
l5zijWzs2ehbsWclo8N582ADrrJiBseGfr3ZkZdSJc2+Wrq8FJngQuqxOQIqYQe+T6J5/v7xJBER
bmWjx11A71wJzinYpw4O/1O1wP9rRBwvKjxvncH+F/CpZvSXwdDGC6eRJcKWGw9+WZcaRu1QAz1Y
5lJcsFyObeRy/M3kvZwqsZAWt+B5LanyyVBiSyaM89E2UHX7vvlEkpHEYGIWg5FbBvw0uNpISu+i
oPysj34b0j24y57LYhaQP43mImPcox4aRB4kNvIg+VbkQZQkYpwq0al5lhmNYBeJr9RsCx+tSHKd
3cOW3oiGnrHBPEncrEW7AOyBsnSmOxxdUn/9zKDgsoERFJ3iuXyvzgSkR/54xT5cUdocD3z1fVNU
o18Pr9hP38NBwXevJ3fFflS0dkXjWTndLOG3r3UK64om8Edd8iIYq+JCkCGv9qmB+ShXahBtCxtu
hldCyFExyB0rSm+/L8vPubkIKMZB6JwNJogX2TydPu9UqrcA/o3o6tlYhOLAoQ1EOx43m2JTZbM/
m2///JKuix60ToFTbzkbndp3KKVD9bOseDbTMQGbRQjBRhOTFpTEYj7h4QBbavdhGlgcwkH4CrEU
QMegTkGEgCehczcaiAEuKCsCRDYB1ds3sYyhyGShd17OnuBzjcbjMWwdNZ6tX5LuPSG1BU3pcExo
M6yntwQ+Nwd2q42Cm39++nTzXWfoNEJXOzD6zgwheC9ziDyZSCb9nQTpZGLiCZPx0BL0SOmJIQbh
QI0vKKF1Cvfb9rM0BwLEiL51z5gkwkRyIi7CNjeW24ZwYyuhJW2ct5G49a+6SEM3huQIepSEw0nH
rX2ZBCWRmNB3pwecgxg02klNW9MPfpcX6XprEJ6RLpBLTqvaMYtG5WnvLSYQCnP4qD4FP0lnrrGL
XMRaF+9aH/IHRAuq8vqpS1kS4aWiccgfD93oNFEcG3vObMdeifGuicBs/Qo40SaP+QZd1Ju3TnEn
ggjqPnJJq1Wbu/bZ1FPNd+rEqnUebOp8kdcoR7pVBSwRQFVsMFY65BYiSJGvbDOaw2WxeG7EZrcq
B4SWwBS3E1UdOGhsdVKzW9S8jXxuHGJFxYQzMcAt4/APg5RmkT8WwgdUvSc7sYY9k5CxJD32dtZI
ylmhop6tkqzrHg+McAYu2En+TE8TjvqkpoCqoV2pmrGokUqNG1G1kJ5CP431pAFcMU7QztjEql+j
1YZzw1ystv4buM9wPpGOzBrdFuzcYq2GPE91FiL8OkXgd8LP2R2iCVc3YUib5FeQXtdP9e4do9k+
AMRfU5PwQmvNaKi0fjAXdiOuNYniQZ77zvjczKmaeT9tGeA2ceSZ8FZ/2FUT76eLLF3fkg6wIQK4
Sv8uuLYvD1maAml5QOTI/QTWzfIKIC/u4o3trXfsLpQIQUMlQ05oz6z+2qTrDHT99aqYa9mhIC46
NRQJD0+EUT3G1u1VlWCGMZdW4D2s26OOYgSG9rqQSTYwN/yvPatMDasI1UTiNyZl5xscVsXv1tki
fW5wkYJ8VqmhT9kjUMntXYajBtEx0x6DfrcrGuaz2ysatd9GmA9D0oUvdfevfk0pP/jyMLYr/r5O
wSFc2tbbKUxK/W6KL/C1Bvbq7Vi4A0c22yyXz9fVl/urUOi3u9ELqpN5eaLmOz8PpKOBvjfcXGnX
ORMYaWGRS8dUPzkzM1w4o1ht6ETRtuJe0TWetzbhd/oIGLqi3EnMG5Wt4ibQro/AJiD95phUMwcY
GenU9vs9gMZleVF7ynxvYMO6nhpcRCy83rgebNytXCB8kkThUC7CS1eg+dBtZxf4eUzh0h3cvxY3
x+exDVl6VT6896Ekjv7xnhdx1EFv7/obUkBXYWgl0i9GAbls+IACSqg/mQwnns/arum0L/+SqGnH
bBxGAunAmFef3Yy/hIM0fdVq7jKguewA2w+9Gtyi9xAjkEaceDVUjJ1JCYdT5H7X0Q+VVnnH/Z9w
cRkC9v+kXf91GfWWAjWaMLoLIHoiAcdmY0TGlqNijpHcWaHGPyyyYl4/mFPnIXPDQNnzgHs4FNwG
i6W4tUhFEL+8wC/NsTG8P3L8iv/L3tX2tm1s6b+i/WADAUKb8z4sYHTTJkW729sUTYqL/XRBS7St
jSy6IuXY++t3zgwly+ahNCSHlNNdoHVsydZwZs77y3MaN0caSj1iMuFeYRn/hRqFN7OpqaC7QuuT
pfIthPNfx24KCmZQ6iBS070CnLcW4E90AiLcVyT3ki0vI1wSPOXYS7V7HyRtbO+RHahwrwy5TYsv
zikH0BYLl+jmYOOtyMwTVtp/q/tpxm/yvL9EAf/ocJG0AGwcHXSfeKQH8u5QqRuWK1qZNQ0nEsi+
geFT8NrTCt+5cogXpdVvtqZMo7qG/lvGJJOBOaBYX25H+4LXnE7Lhuo3Iig8Ag9Nkah4lsxOffFI
oPKB4S2oVB3U0Ysyyuz2rnw8y6/va0laxpNON3q9MJ8Sn9HdDkV49V+wuX9dzRcWH2kJJSjpcpqd
wxDncyiCwepfpBDGR+tjvTTkfy7zVUNxggKoTN3xYGdZmU5votkaPj166uBBs0oxYLMmnYRM+3Ay
1KAUN1lWCylrYv5XXcyoF6Tk9r5RWnhVpJoIr4qXrvt+2iYeSa4X4UDRTxKHIjAkiezRepPER9Y0
/+dd50btZhTbhBPtNSQWFfhOzF+uLereLFqly+vMxvYc4PV6BVh8n+c4dRBbyEtIP0FcZg+/3KbX
GX3/8+d//IpXItnG1FDyfle8IzODVi+61G1ZvYBsMQ2kwqGBIy3L1fxyXWbRZT57xCe4JZ5FHIG0
3NV6aUtRC48rISQxooF1EU1OEy2htTRzBWFV+hvH3wQATinHUUNWDtaSmhr+T0Z6hDmc+8tHYFYJ
aj2gaqo0AqqW0PuP7WDF9sTZBBDhwlIzN1DLGNRFVl58yec6WtXyjmwiOA+vE+HkD8ABJhRG+YTY
9cPNats7gwAyEzXhAexnlM3ghJ2Syq9eBiYSPfHrhO+2bn01EcvBd7nENqmGXvYqz1+uKydKqMDG
lPFC74w19Vh1d1JqG93AFrrwb7o/P6+3TwEqC6VD0Pp+/ibEkD4N71Phw+4Mz6PyTSvPPjqv3f+1
zlaP0bq80nb/9seLk/fxSfLTyXtyomP4/gdtv1L7VdjXaS147YmVc/CpivVlXfDWyrH5hOs+7u2u
0XV7l0LF5t11rVVXGjOSig7SbtOdtLYApwV4dxbm6TKdfonKPJo6j+8OBPvUaDN4HY/RwNBJmpCA
Bp71TCLooDRcuEenGBvKExSvozrb7+FJo9Ko7KHSKiraROY24wo2T4cHhGPPtDY/1I1mr9Y1dBhb
Jap+IdopE0fPXBoZo+Pem3azMh3YCN5oCekSPqY+VbEOwkf2Erel9l0YSnfj6UYD8flh16JxQmlq
y6BbqFe/tZ5A6T+u5jC9s7a2Bi+8Azk1zJNtHiMb4oErxGdOjxPV2SsbXfjGvRDGjomh70AzPRQh
Ru5NgvQ8QOiyS2q71cIUKT+V0FwTD6RRdlrMXQ+Ma+xDo4cCMIiDHP0yX2YP86JMl2UN8UAaHZoM
d8yPyzJ9+GCRNpC+lgkjKqDVULnhUMIQ4wBhQnkOLg1lHj/HE2i+baoNq2keVql+XH5owjiB0WQ0
HkzDRFnDlSuwwfXrEfblzSr/iol40S5w330512fX7VS6yRy8WFJb8KjQWq24S5db6KStaoKCs1p6
mrw5YT+cnyMYSYnxpDhjtD93VPnnhhoEbZiQajqQRKK4RBKeTXD7d7blCjQWzo2sHSkEaxz2WgwY
DDw/QH9frtouixgOFLIN5GgyHpfuyYSzo9q429i0ywFiIg8yUr0J0f3j5N1vefn5xpjSDWBOsWeN
ezuhVw3r3N/iayeI9NC2AKEZQSbItfAWN/l6MbNhf2toITkwQMjmIwXm3BHghKgA0OYViPmajAfU
CNKr9Aynh6rIytADFEahyft9092VkkZAtxKetV5oqqEXui6ojOfr1+rWRd0wPAcDhB+grLbigwoV
OEqNoT9FCY4b4S+GpXt7r1s8lMresbfeBAkrQhRUNkEku8NwxcY19WTjLFIMvTq2sNIwG3ZA/tqT
+mOA/kOOGDSpc8ZpXVadUIqLq5OMQpoh1VFkzNPT6WJdmpUvHh4eHKgnVJlUn2Te3gV3RvwfLgWL
hyMAFKGbMCHFOMpnD+cRyFeI3gUvn9aXh2peBMTlk7EPmYqYHLnOhnbRoEFqXg7fCoxNgaheElDj
VdJnT8gnITAsbiix54sZaXsR5dgEGctwBrYP1/tgC0NaNG4n/37/+Kn3iAItxOhrKh7evYGE+MG8
pFAwB0GNvWFCEqKH9S2KzWwC0NddakQfLPDR90ivA9SJSdIy5/D7n72pxBikYy9JeDyQDKaNWfpY
h5dEzVxRjV5EPToIJwo19pmrluWe7z/8+uHzh76rcqWPUiHGxRE2KxLybUifmuiBmeykZR1LkDPT
bQslf/7w7n3fNRVjA4kfhosfY3y19DsCbNM4vC2ZL8TZtk0m/PM/f/r48Yd3f/QWNFIMy3vbthTb
3xhY9UNLnGTJMU6OxLSlsAy0sFacD8SGvNETS9qZV58+vPvjx597yzjKx1/V3Guij7FsQsk3womY
BS6MyRI6PI0Go5gv0mnXQCweAJacdSts8qaKenEfsYD+gZj9Li9KB1qwJ78m+YQqNnK4I1FqwEZ1
HDsR5qSMvlGt9egB5FiR0YM2WnPuKcrcau1yBrXYvB2s0rJOIUSciHfsAq3T7QLG5m4AcZsbkwEE
gAQKAWxaaKLMNvma1W9tKXtDOFZSi7Eweiiubcixt8OvZcuCpQAxBinGDiWRWMR6wKasTapNPDz+
z+UivTl90aVlftjk6eo1BZBv4lwcw61WLWk8yKokjr36m0QPrsYDfABZInT7pZuF2EYD7xn+rX3T
XSJwnInRuNWqQYIJsVeZduBFectLDRHBEGR/GaoI2eW5lR/0zTk2kVJoHoqsb9eLcg4TPYx+Xrq5
VQUOlMo8k9cieBQn9qoS6CM/8Aid1IB8dJQtS3qco/arFRChowOC0gG5a6OuT9h0BrNxs62+Rnqr
GUxm+7coQtV2ovX4x5MwL7UdeFWtvaJiHbjOcBzM+sRNcUBsoi2JcL8jCW1zqKqG6k4/NBbR0met
Fm0ItmgY/87i4dZFZugQwN3qYIV1bFoFT24Ult5rffu0F55QeULZA71y33BVAyJX0KAl9WBn1wzc
IY1TKuTQC6OgFkToeFjub8jJS88RgftZY6eb3JAAQLM5xqgLOikgCBnzHps91I1ynUOftSXhVQZ9
V0h/J9QfcTrgQ+wuX2dYxc25E85HFBBESBJ8v2aBc7dJO9ENii8yKK+/XuarbEabui/9YCJCkhyH
WoTjiEd/2RgZmfjXOi/rwzTNBoRKRr4+9PaU9hwT5KdLn7/smmmggeYqXy9neOE+OAmsI+PMVqkF
7bQoF9lsD3gN4VClSIeVyQ2FCsI26oU3V16cbj0rBZDagxho+6+5DgvL4UHEIPReZairZp+oyJaz
Itp65Y4bCkxkx3QiYjbA4RjKLABxBU7lZTE39ASzdtGtF0mQg4Cq6X22o6hcC4XXIRkyvsrNZ8wi
UvNmKOfJt2COgsitj7efMKroQDEQiGuiKEKUec50qdPX/Tz7mq0A+fTuXfE5eyjPp0URPUHlnj0g
qJDSE47TZ7mdjoXnCyNwvBrAGI8Q2yOEnFDB6P9/6fflTW12qoJITRKKdG3vLMjDcpUZVbnIbMhw
ukqLG4SOubATG8NZk3ML4FQCo+Z3L/RA1SHtV07bqJqMaQUGQLooIgsQ1RgwoQQK+JNh5NAyB1Mz
K6IyvYyKhTldC8KPBqOF5sbo6vMgOwIC3X6Vpn5+3DwmZv8T3SUcjZKWG7bRiHzRy+IAaoris2QD
A7unm5jaEQMdjnOZ3s+vHbg2Mkcadbeo+Qwuk+ByvppbcpMtDFUhfGk8Tr9JaMJnOvnubitMOmzm
sSI0xA3uYCbd3URX6XxRrxOBRj/WZbmdO1zmjvxXFpmhyEq8Xy5OQBIMpDG3csCpTguefhIn562d
11P7p+4Dajk0Be3fXTwLlOJr57YhQwQEOKaJRZkYVoji5W/Ks/0q8J4TBeN7SOiE5aEqOMMPzBOp
se2GG7cqdWK8VjJgHM8B7yKI3jWJYOxpncQdRN7uGAGAhirLRYXCCsEsNzfm7Ozc/ed+uXpqe09n
X9P7083fXYj41AitC+IGzKSGbvNz8wu14S+KaPHq/UpaE7qMat1KEh5QJ9NVXhS5hXiM0mX+hNeJ
6hfO+Xgh4yAnltjUUKIJCaapiv2NdYmyeB8DnNO18QvM+pePgIJsIWqnN1nDWA2lkgkT8QCyaGf7
zXKJC2lkEx9HZ5Musea6ngR7rVcSqunegEQNc802VIqdF08mQshwNLq+bKx71dq3C3/gBBSgYAwk
ysDJKvbLMinYiOK/bj0ngh0v/WZMakI0Ger458tsYb65tBJ6zx0IRUe1lghMbTj6rllMhrHGrVDc
U3JO46PvnXIVyC43N75jkePgehziJ3EwqVoNDrtcpMsvDfN6AVmXDqVDNkZQBfU1x/w9Y+8IQULF
HYrVPLK5dXywEqDt0KNKUSWPKEUJ1Ht3sSw3AEZPK8GPxlRZZgXSupYIQWNP6Mxj+CsVeUIOHXFY
5BiFB02dEZu2iMi8WsfehG7cJBmaXW22F2dXQY3dJ+OxlaARVOLoWlDwo0oOodTRJIeG8idK9GvQ
xscmg54RQsfn0dMrG5BDfJS5BfhOBjW/8KovCe0MMpjtY6eooOEHYXbI5NAyzbxlXdpZXtWxQFTw
KVD49QawEIy2gDDFHgVKJoKokMZKM+6ijLnRoYQHkrXOCDQU/X1NtHRa5BBv3abGCoPTnM2v0Spv
CqCCY7m09u6fwLSNKd4obpmxiSFnrNmgccvq4uvHktg83KBxhqa1AdBI0xEkbOMDCIDDHEa+lvPb
LF+XeO8W9QQ19+drKKlBJTpnfCIGLajxszEp2JgKszE5jVV4geBOZFoU35NajeqEKj7kihRZkekh
V2TIip2qU71X5MiKXWgaV+DrxcKWm6TTEq99SZSYEMmG3KGo75AM1YNV2UZ4wa+iRj/IIbcqMYId
lCkVsmKXfIz/ihpjkUGZMsFXHFTNbxc/RcQeTDwZaXVMBEo6sJ2xf/OKjbY8tnsyhi954Aj0aNSH
KCRG2FirY8opTsZaHVUcw5o48egCnGBmVTyoBCeoXUWPbtoya9raNxQSRyV2aCod9jYwAzBcnuNp
yXRhzmOZlg2mNfcc6d1rVVpf1Q+oqr1hhtpjAApI9Ous9GnONSRcQNtaqPziXUOfitbMYneN38DR
payF2aFbXczAHg0CKnntZWKkRjsJTKV5TjuL3Ci/4av83XwtKFmNj1GlzoJLlvnyvxtmMArw9GQ8
YB8FcrZUTzqV/3Wui4879aygN3mblje3C6x9DbBFYzpgh+gNdMRUxb7R5eMT79zZ37QR4A27mbcr
uezepFjekUuYODh6Cvt4O45guqIYWxIeb7+EaNA4sQid8J8vl7b65tppx761nont/AzWE1TcX2MM
qsFdYIPE3tF4oaYT2qWnCjV+Vtk0mxtmSler9PFyfXXV0KAHI+2ojF+pGMIKLmIBU5QDXf0DnIkl
zDoBSDgaJv6m8q5B3HVJO/QwNGUvQ/OZwLlaODBCsCXujNbF55fxjnmtfuYLj+XfU4ugSkQBNJDi
oXpeHxbz5RdMQFOAu+pXfHIHc69tKcYmK2qM4Pt5Yd5LF66DCSsThcHLlPDx6UiFqn7Y2XjlW6Bt
voAYkoyoHBbZdToNYaqaB+8SSMAJcPOi6y/Pymh6R6ggCE0aC6pjIrXehW1nsu9rwia+0wl8Gvnt
zLFtoRc6c1sYoa2D0/zzhev989GkLe7XcZVwIBKOIBNHR1XGXMXfjpYKdMzEnLIFshtOWKzLK42K
CmnYNw4f1nCQYEhcg8ZK9A572sET0+yudBcKk3Sj1BpeZsnzTdzzNl8XWX4PELqU/kd6n37aHUY9
y6drwEQ5m+XA/W/cX9k2YfPt97cXLnBXV0acxy8qI4GKzFKrgQWR8zzUREkZyt64q4ornZy3fmL1
Rroq5/ZAMdPDVn/rka30F8NEeh76ZVrMp1G6NjY6CAL4JHv3m489hfbYr/lqZl+BH2o3MVEdI3Sd
j4CPG4Hv1FPQZ73klZt5GEMSau6Fj3wvI7NezEIrJizUoTX3HOcVTBkR2XIowzdn1jVYdWxcsC8o
re3jIuRFUc0iTqdmxSJ6//Efv9zeOVSztElPJQTKtuXIwSQaKph0vYKdEqkIJThUjCaerbDSwwh5
ecbI8DvGjGc5Zsf562AYAjgDxBNcXIYjJa98Y8j14r2GeTsiqkJZ5uDrzOpGDGD+PTRaMD7qtrkX
x0q/UMksu0rXC6Cl1RPIEVYdEwMCtGi/sK8dj4cMqREYinS65ebEmnGgoq8rd8bTRmFMoLVI8x5H
3Yb50ZqbxJy5Vp2ICzFlisV+bFgqtS3mDLPc7sBXNJWv5YQL0Ztz0kugXIcTip0hgFsz0ecW68p8
ai4Nn6oCCq7Xau0tQr+CUHmoFX/zijlYpJ2MSw2dnGpobnBe7p74rTI2d6cT3rPjHG8sNBumHdh/
b2bZ7OwSx7eHlikZh+L1NcZyFJLlB2rFO+tMgAhp0pICsIJ10oN4nglzq6uq0rcyvW7bkYvJegbH
T1Qo9QbwgTajep3dzGd4ZgCa5PwmYoSSFUTLLhZhSw5+MlMxK3bH1j0YZubMqAgtX+kTN5RZEEJl
OPPMmJ6wBLzy3FSzxLZ5tFV21WyhckBhbcd7RwgahLsEiBZ0sWIaObkhjUgBzCw4bYb1LMOdalWg
ICgfSGD5kToq1kjCZSjd0jQv/OXxh1ZIp9kyvdzWbEdf5+XN9o8uCDSosB/dCifsQ4u5a+zH8+2f
mR/uzD+/XJ3Q+DFfm69Flpmv5c28MP/cGtPWHPVbyCrl5stTBsr84JZ8A2+a3cFX8z9YHJC5urIf
Ah/lHt98c5mZbb91ry+3b8Mhmn9+f/fp04f3Z/Bw8ECI5cWF39BuOQKqw9BXX0ONoLKXh9/gsFym
0y9R9nBnDmJeRi6JGL379deP/8QhY4Qxf+XrY3bOYjaiRbAnINfGlGGKTCTVPbXSqoDhVe5mZ4/L
9Nb4SjaX7O52Wa4e8alW0DaW6OBx1+pR2lMX0RrGK3dg8AYEsHJ+9WhWXeKwwNAOFIvXTTUNqTq/
aQrhogmJTAKFZIqbfL2A9PxymjVXBWpqvKCWUbbjmqdh7hagcBM+kpR//+G3/2qIV3mO0XklRmyY
szeeN9iyuostuyuPK1W+CSJD7dIStFdRZHiYwQZgkmR0Odx4/8wXG6wFw8/MK6scbqG4y5dFBgEp
HJmMTaiivRe/zsoXEHt2hB4MUfJrHx5B6LcprhNGN/olgb8BidiycSzhSWCReDM3JPmCH1BqNLq2
U2q6IdzrStOashIkBvSAAOnSzTbdCGAnBKPF3DxIVJRQEmfkk/Ulp/ntbYo/ipaeiDmvXwl0KGLV
kg4lj+3Bv5TFDfOeKIPSD3WsyCE8pvFR8ZwLIQCyqDzzBh9///zLx98+7UlxNxOtJY+bLJ1lq+Li
rbnqfPH2IbKTniGW8Patec3+dOowWi5gge/Oz7en9p2O45egKRzSqOpAe6Zven7sZ6d6opQO6wJc
LtZZVPy1TlfGCVhe17DUExjbNdZt32blTT4zJ/b29z8/vzXP3up4uJpo/sqVfINnJw4gF+1o9z8/
H+t842QiWqqpb84WwXMIIrh3ti7K/BYvT+dgfPC/tQpuLFOjPE6C20E7Ed3COGSPy6mb4ORoHy1w
EjCJuUsGvj6T01XorxYbHgMPcXGTF6XlMW9Wrkr+LUODNQdz4epjaXWXZ26wWp828mS/7um+h5n1
XNGhxe/GfClWUzyKATB8tM/FFXDEu1FEDKvGWu2ahCg92Zl70TQqiimYccySwMs1jdlQmg5hHx0g
4QqtmXAYivWNMZ6Q8ph8x8JkYtukY1CpSYzQJP3iaOZ+IhaTbcQIZXIt7AiDI9Ko7mKHj0GjKHnK
lsW6e9Irmyefu0GZ7o5gF+a0ynVxYe7u1A2Jutj8qrUJrAyy24gqOe9M0uqHi6t0UWTPHhweVKp4
0HpGZowOY9+xfkRbP51OW3azuhXMrwhrbc6yRVZmDUXViSfQYS+tPb9e5qssWi+L9CqbLxdzPDnn
5iX7yDL+/GlAUs6X18iQ8Mg8QBld51nhEqNfb+YWQ3e+cHkoqJrArFFIeccx5Yy9vrQ31WJoBd0k
92JGhykZdTTaWLlGrHkZq29J6DIW8KgOtDUF0br0oNYlYdpNwrIDo3TwqM98iTq4UNpje963iKw4
CowRa5SNp4JpIBVsyVgdSdYwIYYp991x9bpcMFbqmxiXUL0mG0Ikr9WHWubRDmZEg7k6uP+59yk2
FEgTIkctuCFJ/A3fGhEhlBA77PoRNYK4z5dZTSIss3l5k9l2jtRIBvi29ivGlnke60QbKAl0i46n
EFgghcAA2nqgHEuTWA52EYiZr9VEduG5AQW3Yq9C9vFOCeimkFa2uoc0wNwcAmbcq1iEan+qG5N3
B1DgmKYT3iV+d2vuOz2/n8+y3HiZq7wsF2aTtrjRnOn3FpHn7Ozc/ed+ubp9ezpnX9P7083fXYj4
1CiHC3JaPt5lF+l6Ns/PzS88e1Y5kVzYpCxTg7vst+kCyombOsDlpGftNRKmqECtokqLYZXoEGLs
Et6v6xl1QM9wc856hFxUQy2msL3uoykI1UlBlKt1VutY8JtH3j1Q8JxKmiMGgHEtRulQeiZh0D4F
qoN7f10uyI2shwI3PlAUB7mc6H5uKA9Ndgujf3kcphhn21ozzVfFmLkfKnpV8foJ480YD2vKzDNc
jcZS2AnL39Jxnp7QGDrIsMIVz+KUzcQV8ip4nUmlQ+gnfVA/USWOmAKTRkcNT2kbaMPvNoiG//4a
aY+QloUPvXS1DqOrNTBNPHjk1DoCKMAZdBywRL8qxdgLE6F1wAfsvLA2dLY0+nfViGMkKcAoJPyI
coNpwgeOHwDJuWbln6Hm3t67gxK++PPzT/rUUefFbD77Y738xWYjt73N/8velTa1jWztv+IvUHfe
GU/Ue+tWUVNhJyEkQAYSvkzJtmwr2JKRvEB+/dunZYzBLSNrsXDuTE1YDFhS9+lznrM9Z4vsQ2+y
Eo8tsrsNEnyp33VnC4uo62DG61v4cHzwFYdX7/n19eXZd/nt+25vC+/u3r0/tTpfD632z4lwg/H5
+ZF6tXv2Xr+nWOj/kTCwkpaoQ9tBoHRXo2hlZ2FWWEHw4o3PXhnARAqv040P6/T2KwMh/7cIOBgp
B0TPneFE74Zq9IxLPkiLJ+SLWpigMzLQQhGsQIm19hs6GHgJN0SFti5rlVQd1atcVJf9zmNTwn19
4jZuveGCURIFBSB//fWaqgGrgHCUvnNzcJLXMqW3k2eW6IIYuGpkbgMFkni0oRb68rhgC81kXiXf
6Dn+rXFrUc566RncjBy/1QjuH5tuIWc9UDLrRZCxnpudZhYwS3feltThkxIUMmHZJa4zllaJ704s
UfHy0UwhqGwe+XN0mPwmi63Ysb60hbXZyuWfRdVSNyiW+lK1YhW5X4tLrTV5jRCyuZ4WkVTp8V38
k/RuTy4b+5+H9P3Hw68HX8KTL+cfhTjbE61RfzTYv3LHg+bnnx3WiFr9j11reGIP+e3+6YefB3fH
5uXnWQp+l+c2g0EzaCXEZSFvjmkJTLCpFb+RKQ3beLPFo16KcDBebguasULQsiQUo2/ufjCE6+dd
NP54dWv7D8EneXr989i+uG0f7J6f3d8+KEjGvZ8H1lHjBu+Li9vJZPT1/MseHpwABLtwD+8/t33v
x9X4zg0G7e83l9378eD05Oi6NbiYdODiibq0jBLtXCdLWeOCu7TzIDxki2zMUZVVTmNskV/3JPyT
dA7qeU4BxWSDdhihLEMxKyi4IZgjXhNESmG/VZH8XQnF71Nx/P3du9+3MO8ME6PX182R1b1QuIpd
nONB8+L0/md0FTRwv38yurbOlYDv3l9MQubz7sdPZnGz1YoUV5yiSQvjjNaiNrUtKImjNt+Yxd8j
W5KZl/4jCQLS+vADy29UfD3pKpv4t+d3968vyR7bbzfPr/Yufk7oh0/i8vogYempAq8Ft4e1vVDZ
kaFn7i9FFrD9Y1FRwxERK2VIXtdoaf3XFTWaoOJXENEwbHWt870e5Xd3x/dt37+15EMLJDW87V55
+MN4n++fjv7+QqxPJ4kiSu1CnJ1JEN7CGNDA9yEaEYVLp0FQDsxJZCOkxUai2PssyU4zXEBwWyub
qN4JoAET1Ue+ZlM37qEN4+WJ3JiTdIC3JN16v1uevme6rKsa5csJrzARsOt12Apb8Z5uHVLzPnyw
pN//fDG8uXn4IXnfb9z2/OPdz42rAz9ybu9umt8jp3EXXX7oN5Ot7moh5Oq6Ti1RvDc8VcRtx+sl
8HBT/CsIyjW9/XjW7oz//uRGx+7VN+Qe+bxNTtsjf3gsBvT7j1P3szPae69OcrL1Y1xWsAWWLTfX
Zy4wYyeIvT7uLMOQNoJY4VSe82mgFz+Kc9jTNHW95QydulIyZuZGoWeAb7CUtEb9/kNCSD+X3jN5
RfCNG899NMJNCqTCm3rmWluYJ65lPrq7ZfwFz1a1DtNKljAbIaBBJVaBnoTXh4MbL1C0zJfgDGXr
CStnFQje1HhocXqdszL0uu4PfaQpVD+qx7s1pQY0dYyiGiP2mqcWU152we4yq2LwDhiBBgDCSogB
PvmHg8X5nQzGBwq26VntwqqTbJSzrsVpGGl/MaYY+NzWSPa6CGl5Fv4Po3h1Ak3+ZFavTBfwVAUZ
BRVQv4M2O99VoEhnCTlUkBiSyAaeXkIsvn5nj3BpbXwPxZU7xBdjh08mkf8g7x8ap0o01J82zp2e
dTRsW4c31+Lg89XdXUf94Nh3kqEBpVV5XOYxRrI0Tr233eSS6JMjWYJzFpkZAkTOWZyZY2BMrgGg
JrCYsFyVxH3v3m3tTTWi5+vX48HFmi1bSbseV5Hoo+iZztT635T4JKG33xxqF0C1wqlVJarDbJ3j
ZRbAllQHVfDNFlQjaqJF5enMHNO0lont3FgzO1UvzSC49dz6TN1M07zGojoEOg4J+naT7Gl1jNk8
FlLBCPpaU8ooJOsHo6UBLiYBp5QbqE5it5FqEfAmezzxTpIEB6Y8GDAfm9IsXvoERfEw4UHojZ2h
W2+EwSSCUV/xEOmWka+S1hgpgS4jERxhlOtyz/DJ0yVfQSr1iee3gokRJVqaYJRstgw6jeYW5smu
tCh4cjRE5+LJNUragoEbDh/qybUcSPtBGFXEHsux+FV2N7HmV8p1nmHOrcIJrZfI1JKcCKasRsmG
w7jTh6BzddQdNB924V/35Oh+3Og3O9+xPWxcX41ae7uWc3RonRy3Bo2jSed7/+/OzTX70cAXvZu9
XdTEvdHNw+7e929nvbMf553Wkew0jz+Mb46vftxc7nYb3m6v0T8b3xxd3Z4cn1nNvv79cevbxaT1
DX6/21XXgGtHDcz8m28n+jX1d92Tw7Ped3L1oN7nRL1/cHJwGN1g+8H5dhE0Li306etJ5+aop/7m
zDr13t+dTpZ2aEhRJtCYtZPHgqOMwNjpea2YQKHxsCRSgwQMT7HWWMqsPGW6Rhj9V7PnOuEOWmg3
qiHOEVq1bXUKOObdPXe4F79o0MMQwxd2Ts5+dYX60O0P6m2vFxMhwRc6pDvb+D3Y95O5bd99OI43
fbEtUt2UwLLcht1lElnII2DL5mUMDFzL7WOqnHBOi3J5lpUEw0xzgjd8sxFKXdX89jZbT6dYbZ7Y
6lqGIbvMoFInqA+D+nxoaSFPD9MLcUnVsnNkaiPfgzZjILfuq9X/mdz0h+w4CZFSbooN8lEuqgvy
SZhTQoqe2Ak4NRi7Yei1zJAUEay8HZ4/DDetkzezPooaFmKNoJ9yZJfDcjW/oIk0V0RAZyOrEj3G
M3PN6JEiZV5YiYfeD/zm04DuRv5B54IxPV6jCkj2KV5Jo4nDWbJHFaT9kVo8GwiSZOr5g5XCimVr
zkpgYskUqRwGnU5CpFIpVZZ6Gkxl6CdxlTXUtcimSwoiaZswv306+Hr8ef+NPYICobYsx+9Ok7xi
AhAJFdZbtRSGk8cZVYYClY3bpVynbYce52BkHhfAgWkvX1mVETWa2xyVKaGMrckMf50+tvlsM3tt
4S9uWXjNyvBxy7MuD0nd91eA9cl1s2BrrNSDHYou1iW2WKd267kdp1kEHIY+D1atr6r8CFKU24gT
B3NnaaTJaP+WRJ0tKtAblxOTMeRKTAhaM1o23AjFwOpnl2uVCZf2uvbI2HzF6QqMnYUrMlxh6Aqz
mhRrCCgo8X+KKhprdCB8mEoMRBaJh0GqcePbNDlnqGrlQO2GV7+DBKWlHtlpD4FOpBdEeqbLyNeh
AhMYpAAGWWGjKUBBq+9GPQMuour+KU830E2UJvUsldSJcqoykQ0jsooXtpdiH4OuJfkiyUVKFsbs
Ut93h44CyZ261/GDUJc5PE4ZhrOAzb3GPGXcN+cCPZlEk8Wcs6uvIitlLmuM8jy3bHSnPk/8L9M6
kX03vvcgNPtYEDsWGTbTjKzqEdxIQm89JbJGJKtScMyUSEqL51yC51psYTEWdx4rsJSuWVek1Z1p
rmrzlKWXlRwRU2xT4WFqy1JlZvo1NDb3vQiCraal0332aI325y+wzDvVLT0ktkoBNwkGr+rnRcq8
QhRXyPzacEYODwm80NUQyhQ+xDBKolThHg06oQKPs9KnJBBJRT5dlPKx4+nYjNB1rjFJFbGkSwOo
CjDXncEgemchEmdin7uFNCaTt5TzTitGqakaJUpCqQrqo0zGNPuxXxK9WAWLKWQC8fzccjkTy8Rx
NdgWKcfVpHfawtB5aIza7YQSTkaAh6dUTZOgWNLVmFQpDEbUoVwcXJ2zh9TF1aYxXKkikZhsEtwp
Zut1k3J1CpQDl2VKave3gruKWXiE4hbGfO7Jojvc9SLl/D68WpuGbMpq6UaQJ139Porej1qeutyj
YoxXTDuk7VGvF6+aXplWoP3SdqBzsDOjoWs/QKVDycd0j4yELEimrMnPpNC1D1lAZQpCmpxsWZBa
ZK2NM23s0lGQlJI3YopWyb5xC9eYpEVGCkxRVgDmiCJIntjoF1H7KySv6jWMsjh+qyeOcLqu3g1Q
7issL8z+hgZXgUtT7kakrSxpDQtZlE5/tsieWslQaXbI5b5Y5RINwXbcsTz/LtNLTLxhd/b3O2j7
bmeL7MXX3SIHTk/d7H8uhyGEtyCptNd1wr2g5f7HumfyD/WB6A+//ab+6t3sz9Q3A/XppL2FrYdg
pD5GrgtNe2rl1ae+2gSn4/6hvvQD9eGDM3Zm7X3xJX+DH6oHhY/qX2vUH6hPQVu/CbxVfPvqi4by
4Sd/xK/7sx/D0qpPX95fXh7s/wk3Bze0EE7lSr1biFUKmG1SZBR5pqX/ikaNvjeE/Z13MHcu9ctq
beAnsETqcdSnWJJcWPDGw3TVH/9me+jeD9ue22uhnTN3on877OtVvod3AsGAKbORGz79Kt7ZDp2W
F3TCYDRAO223r3Z2u9l1m7eN4B7vBP525PbUuz/+gufEF3JC10E7n4IQ9tFffrktvAdP0vWa8Cjx
CCctE/ru4ZTrJ5rEojGJXx6OQi0owZNEwvTWP7cfn/fYGQxc322ZRtlTpmTGopkCX1lk5tmAM+iV
ecUSrgdNEktoX8/i5aO0xAYGKNiw5RsHZwlxAiqq8xYlh4i1EPh/EbAhYfGSYmhjz52Y618pUXjC
Ki5I+Hzsh7lJjUJ/pv2/iBnhAyrlfC14uRo9ZeWKoZLUGFtboNNI1kIhR0nLgdeDMBgG0PJjvDKh
NVSqEuwrHOQNejO7ou3IQncpokobklSVky9H5nlRc54xpw8T4COgTRkYRs0jrr4CYmexDncRWIEK
tMwLO7qMVJ1ytZ5WUZGHeejzyDX8IgQBs1kospFVbdyb4oJg/DAY1JfQKmOucA/j1cEHYKwThK1b
v5o0qEWyZYVTLwV08OrlmKLoKGyCb+XeD9zQgxkDTk97Cdux7/FPOPJ3HtxouxkNdp7+RHkYs1vc
Iu9hKpFytFPfxRY+jN9Lqa9trdN39MfF5nDE7QwwQ2uyVqgcBIiIPurLaaNYPb6JejNMqGcVBDwi
VqwNgRFOuk349eZwzlKy0q4ErsylaFBpz9aiwBkqNNWrMECjHvjTyMvjEAaj+sYwk5KW49cZt3VJ
i7rSdNiuVq1bqDpNCxgJEYQzHmm334BaRg1MoNClHoyGPW8MnkNTq1b1fXyuIbxn9CIYVKdk8LHn
+8fVLqutdxoJWSlsUaA4Lq3MIBo6wxG0hylJ++mGQYzTRxqcQ62O8ahzpdQwwuUpNTP3moSCC7sg
HBErMt0w+Jf++u+L051opO9FXS5xoDlPxzf95kwqcMNhEfs8+qP6rhwzK6ksE3R0XN8NwYlUj7yy
h51H6jEChnfO16D8k3Q+5vhNVszmWVadJiwzFLPIorQecdHM0cJ6a0GmPM8EyAvm48hN14ANJ3I5
7TpKre3qRNohMGw6zaEbRvkV47J3X9SXjElakil9JcgkNR12ceps8brLQiEWUvi1tHIbaD3QjX7N
rtdrJY+QwAhAlrWuWhBmEcKL9l3M5UwUK3thv3FLnHqbLBiFTN60mUj9LMpzo5S+VSue9jHA/yuh
N7AY85b2IZAleQ0xLMrSwGbWF0wEAzLVN2ZH/WDRjBbvNQwTHAchhSwZXKvtSATXSNpWytmD/9ab
vKF6E8qyJK1Tcvg9Z2X/sz+gT8x9mPGYuu8FVx+uccHK6+aeqTZPU7/XfzhjZ3rIDC04mEO561tb
H1J5I4aglUUubRxn4gsMyy8pdsA2hM1InijpHkRBzW1QmNAaoWSz7Niw3AAYQlmilHGeKXAjdX/u
vRcNn3VCqlVGwLNlF9zKAecYQk5D8/ZyW7ktkpeuypbqMMRspVHLxEqe/wNOkU4GGKogIOq2IqVE
4foKycwneACjTXQ+zZhHQiQl5Uy+QpuYPaI+8iOn7camK2lCEia0wgQ+gfowIot00vUemN0PAh1S
62tFYTlbVhc1SND4Me0Y//IY9fncNkckhLJEWaIfc3IM7IQA6fstZ+iYu5I4iHT54uwbi/GmxCjz
TbzGOL6s4fKSeqBWYSLZC+IW43IpBI1xOad/Tr1lWjhDSYsgNWll4QJ4UY+mPR+li8D8tWKh8vxm
b9SClLD/JGAG0hLK1KkVJZUAGA/TEo8V11iWMtZkIgZqRAFCnSkqCr2OfiiFa/50Ii96AXVoyglj
mQ9HpPa/Dwa3pxTo2EjgQaH81FqHGgmUD/fyRPiuN+xCtZGvDkegv1z4FSUuz+t9Tcbdwsq441wq
dxT2zMkgG8saEXi9uqOw1TIcbbVYnFeK85R7zP+NP21W/MmmWepNk1UjMwNFPbzWqo6GRhCd/pWl
oMeliUosGUAmsQZlrIs69TdGaj+i0/qFbraJ+Ch2OmHypTK6ZeKMpzxtIsQQ1C6lkezJGidY30xV
s7HZgpI6gBbPXCAAFjKmUqKVqnjOZYVcKAQyw7JIEZbmShFI74sCz8rTI6pLxvJ6bwh2ArOD/a8J
3TATapUQQp5vlRj0RvCpFTRHEDKe9cyp1+IEcfLIblsoQc4Ooe+HUPijS6rq0/us9xy/M4K6Y6fj
eH40rCtZ98amYBSVNZGlOig5FDXV/EMQYaj10gJk5CSGIt8ss44rmI5FLQmD1S0s0cbk1HPmHhbs
CtNDOArOKCWMdbDzwrFEIBi9GkbEWAiFjqxSDqTSqaAbjR2psL41oG8tE5FF6SM/JEtSL1aE89b0
pWrUFCOPITmv/aB+4ruLXZtCwqxPXNI2TLtTE/wQbrENSjgWfdCp+s8uwVr6LYUjpgOs4puINMc3
7FA8LcHEpYVsVOOSry2BQQW2itU8AwWQlPCp/VUL4Q2VvPcdc/sXzCbLkcBYJvImSed2jVNeyU4/
zosyk7szhbPznMBlytBMZgJ08mUWGUzXRJcZTr/eebY+mnsJvu8HLaf39O0cyFzwgGRNlpLjKa0y
In9FxKKysqFdskj8mqZNk0OwLAtC+dcNrNANZISLrHiirTZOiWvdiaZVHMYp1sqT4wWPBtFRrBS2
Q8IsNFaN3TbdD4NYJrbekE416E+OstatzTV6TiVjrJRHP/pTfb3Y1KSWQ8qirpR0Cc5R2Zegoiyz
HJNNvJBz8FbMRYEwqnqTMHq9BLuXJaSV5I1PZzEYnXFWI6g8lBjngF+gQ8/vqnUexqRTyiDGyM3k
HNAaw7IgO5xiNbBgNUplTiMC7x7FEq+NSVRveVFMVGWskQRKflG8WUlU25Kv/wExXzfgZ3itQm0S
X6w8MEtsgB6bjldsNFuFhxUJQVmrmdvq8vW2ExduzBjHIrcDTwZ1V+pHZoIJiLnbpLT9X8HZBU/C
Wl94QzJOK8FkwKv1dMsp/VuWr7/UoPZeEASaJ68wpR04K9KrhHzDJCGPCa5k8Xz7+dSeNJ62sB9T
GTW7avNc3+wFMawZ6Ve/SKazZS7RFep02yvdgbGKM56rqfUnHKwXGpxCBprBsXru5cDeg5Nb/BXj
YpUa4sTerLCPVUrkJx2vgSxZlRnUFmVWYZAUoFTSiF0FzZlFU8U05Co6MhgGzaCXLupAUtIhJmoU
PRgOQkSDXsJFBBiuVON1MmuUNKXsxAZWKpFfrZge29BZCQVx2GaiRBkv56jP/1/8sZeC4xJFIaZd
TDYuiKWlk5brCIMwiavQgfHACCNik6vfT1bVh/NpnqETAhnWjHEzqWWMahJhO9dzDUZRFyiR3Ppo
0FKfonrott0wTOh6hU4maZUm5q+0D1GMUzLhvaLppnx3zzL9phIoWmM2LUhu4tabZasLTQvpqL+L
ODdza/2iU316Yoi9YRpefwHR9a4zdh/HyEQDR79YuMIHRiOSUzbiuJ7a9+QJnwQo+2kGfZLo9JkJ
XiHykMq3NKqteZzWGukCu6RQJUc4ZYFsBmxoDh0iZZJKgGmxHD6LKXa0IBtBGvjupDAbNJOcRd5z
DABN4dKiDN4r5KBCSOjRLwl4JIUL0rW6yqVJpemDGS8hUwZA81yBMlqY/kjmpybcBj7sjdLlYndL
7OfX2fH7LGpumzCRS9O13Laj4F/d9Zv1lgdjXqCmKdkdJbZdI6n4S1fReWaKLQRDDxRUKtN6vzZy
WGryCrY0eLj85CyuczKtHKE1IeX6BfwFEefdDsT//vvu3exG/gv0myugs5n4zh0NZVNmRwOoWxal
mdoIrbLS6Wtzl7GGYWVhYN1JYQdJh9yXnCGhk75vitEJccKlrAlKKctz3lLOZ0tq00hX8pUJ3cxy
z9Pxy8bCeAYM5bZdEN4wMpQnIp443c7BcZKbZeTw4RbbK8DI6fcxqQVKC/MaQhgB0uwFkZm7xoZa
jAwBn0VEq11TIGfeIZbYHoU9rVT/n71r623cWNJ/RfvgwZ4E2un75QDGwSZBgH3YTbCTA5xXjkXb
TCTR0cWx//1WNSnZErspiuwW5WQBJ7Ykj0l2V1d9VfVV1Q3/T3xM9iM2NJw/lutN3du4+/5V9P6n
DPTcMcf/oPFRNcRQsz56rTHeANtauQ4frrGV9/ga47yhPvo71iNXmWcAimIw4D3TbAvNLucRDQRg
52hJf/5RTXoFBs8s5t7zDVy/hyJANLBYpSr+RCdW9gmEOundtXOe7YsTiuXaTaBBZpAXinA2ETRe
8KeqOfOz3LBRWQ+5PdI8i6f8odFXT+FAk+TyuJcTn/ZTfNKNL2hGmKndPiT7LzgWGyCW5Ml1aMtk
SgHWkpmUnq27C6fSdpoMHLq9Dvt7Xw3m01jmTMZL3FboA1wObNej7cUMN+cqZa652f++AY6wCT8n
6gNYy/usmPtkDVshp4WYnvahsl9GIVYUihpEfZYNA/JuRNrmj8LfGcc4hWTSGNH6rapv13NRzqte
7i5V5O9MJgycGZsM5oIHO3W1TNgusPZDfVpaqH4hiWYIptFBW3CW4O9iSzcB7sggRdOqUeGdORKC
Xa7dC4UohukvLEkOzlTBv7phSDUX0PUmDm8wddNmmUopZ3gvQd9RYWMsZqKFNzatCUSKULnbSJkz
wvdVtSJsgz+rZnDgJk3JBQgIhX8iNpcMtDmN5vIgsa3NM4BrudLnFEbrdNdrasXAiPp9ucqLh+WO
KfUuqL7f92BoXTBQRUwl0Z+cqoT6kyVAhYei0oCIXKHdE9Reheb0J+QwuEZI6qXxxthwTgi5Kv+6
aQk/uX/e+M3a/X4DeeBx1874/nX9x77g3/qLOeRw2MAh54ynRti1GYZtjpTh3HNkXHbEhUzhab+5
4d/hWjeTJZ60J+D6iWRW0Gv1oE/iPXSirY5mT3fFqMFyWVgwJpJyCw/3ttG4CYmxfDCEqpUteCF3
2d1j3hZwVw5Rs4uGDqKLCfhRE03JCMatoycgAKdydjkvP+7yUsAtOKAhJdA+DTeZYlEIHDsk8gY2
u5wTCUeTWxuRwNf/PhiVw8I1sN+v6Mw9rAK8O6wM6jb2pbfriiZrN6Qsf4Zf9Q+gMBPO7WgHOzjr
mDu6LE0UCPHSBwx1WaBhR2CRLYt70A1+edt92gDIAyu4hl+f6qHsrewroLPlw4FjJBBgDFJrHf4+
1SkpP26gwVPIqbLg2RiRIL7c8QD5rQlTE9MnavPr2kUDpm9LsnvnaeUxGkwoF9wW4nJZGDKsqtWH
3vzTuTHWRmOF9oqFa72wCZkDADAGHzLqlpW+CBqjvF/0ujtSQlszfQTHc45tPQ4IqmEqmse7YoyC
a0m4Hulmd2Pt63qKk7fKiNbXFOPoErn4K4UqsIZJCp00cX9+OFsmdYcH+4ZebxDAqxQ0sbPgBeca
CYLsIk5C6PqMySsN9wQCPMzw63SM/WFqqcDMWxMlJjW9e73zk+eY0B2HyVwWt3HNo+Pw+o8L1rHl
5LBr0EFu7QlPxufBVG4AFyy1N+0N72Hyh8q0Hg6L5Ae/i0l9VzxI7FS08s8YwHIOHhvWV6dxSpvY
XiC0VzLtcdwfxHooXXUcK8W/XVfTOHAYSSh2TF3jK5ZmUZh/UZglJpa/4w7QbNdy8C5bPmd+Z4Qb
0I3aXGT3K5oBqnyZ2Is+vf27goGQACDhmlkdH32835l6Y1poJ5ZY7FQ3aqUhOHKRCw17JeCmWHCl
49QvVxy7ZenGz06rPttZiBmjhJxwxmKp/V3/6E1WsX7dy+9RKrwm1tjYDIdgnwRY3olS/XgoQz3a
sLn6hD+u880tvu91Yj//68uNoV++fD50VRvjTCZSaTu24ql+brM7nJOU6KZ8zlerYoadaNt1IEdS
ZR/2fSt5p4Y5XF6DauWDSeX1kXIkWZxzXbc0eixQpbxOi02+8MYcXf9Ckw7qVQRinCiMNXHlDIyx
+lpspttlga+C+61jNwzxL0kjPCKxkbmOzVhq3xfPFDgmcLZZUjrzE2gzVAQYJ3atzbDUbN/nzLnN
y+3ia6DnGkeWpuZplNjmdZ4/ZuvHtpwpOCiIGFMGsvb1hHWkxh9QowLz2H30eX+RaambY8Tg2IsR
BRj9iCmgFXKJExzsYIajvbkmiQW06g7bUrdFCXYT7qPeG7l9QGpYm5QjwbZqjwnLkflNStd2yT2c
ONAb2GvYyxfnFENclkYzZlXLwc7mzGDHH6USCH/bjXjbyNuJFSqx9J0AToqbgQylRfGSz76vR3X+
mgGQqewHmnPnsmCjVmR5B9GNVnwiKBl1RyqFJI297F20KWmtkJc4ctOO+2y+Pujascs+HjjCB1V6
+xuuXfHmB3X5HrbrqO8NfvTeLbzv7e7haeiho6f7O8DBOsbLbCJHFI6vBxDDJnVyNLeEMMnkaX/T
0IkWksnrUIqy53K2u1q7T1vcLG0AF1Ex3sU5N+NdnKWKN+xtUafmG5SCY8MIH3EhzIjyx9WYF9dq
vItTy0Z88kE9IM8NcPhbXlowJyYWEjvuOuRasHrgWcgvkoLFQehPcCfYIcsVeLoZP/7xsbRfH852
A+S5eBP3gfGjIm47WK/jMWGSfGA4V6O2i6I6Lq0aKZmhBY13FmtxdCNwNmVFL39rYX/CP7JVP7A4
6+DWoLjfzck9XIhP1bvtXTc+zfJ59nqLd+bnWVj+QW6VCfVRbpVyS0c6CDZSavkSixSp5/w7u9E2
ksDNPI/PvNiU+6tO3VyEJgfDanhkTezV5D/9EKdbPrSLh6qtS6nHI3+Ed5UKNRH84r4Q5lVg9wOZ
DNzwQZHq0+AwYKXCjeYlm6ikHM4LBajWfiwjBI+JZUB4k/aZD10Z3WlBI/FWQSpaUbzpqRC7qhk/
KVABPCIJtHC7zxCtydsJn8GmydG4M7/IFxiNQ3O33q4C3YQ0A0tnE4PhXUP3tsZGkop+016Ga8GW
Im83q6LLTdlO52s3zAxMqfeIaTHhnWCr7CJ6CMl2L1G3VgCLkwbCUlgIJq3o5BXZMw/au2ee+qaG
VyfOEPmncZ8vY3MkY53yavbsg7veHY3OXqzBQnpxPYy9EwCVkRtjH/Y4FT0RFOBTaRTJpabRdMEq
W87KhTsWz/lqvV3vFHawEohRiuwoPWDTT6DXeqh4mHVDqaQAWHksPeHWYLcqx6+9aVxDxIDn98tN
Nput5wDcwXJixtb97Gem8Qk3JNHDS99sYTpRnYi3gza8hb+iLOtIOk6032rQfp+JCd40X4tnxCcy
mQyIgAwoFl0GUljHG6bX+fy+Gu1xQVNIJOshJYEexe/aX78vMzDkpFh9LVeeCfa1HHcqL0x0iKTp
cfG2tgJ/BHoKuIZ/fRRWr9NRMTSE1SOurEylG4lfFWimUoM+x1t3/ySf3pXlbxjACrZEN5xPmBHR
1dM7pnJbn0dNwYGVdkQBoDTRxY1fACRpr4K3/QlJbzio6nn4PqT7nK2+/Vo+bEGj//D5Rn7/+YZ/
5+DzDTOg9y2WULXBZw0OiyBkvI0SyRQwDxhtPqLG7xbkjqiEhUkJy2flFnuI/L4tN3kImXcrWbZn
R9MCxcoUXIExcTG3Y+Bij3EI2wZh+ERoeSEDuUMD5JJI8B1BqVxU0yCeHjzFEGOCPyKuzXnw9WTa
54PPnAq4n1tzw3+EDQPz1Jpmjpr2sYzrqMDaX0JiFPwgLwQzatqzHdFUS64va7wGh/iHPKySIwB6
/0RG0bEgNgZKqpfekPHRLGPno1lhBR3R/Et72SOSLuTVKXwx5IhEZSn5eyNQkWhxWMAHNOQjmPT3
ZIwPYtIlp4Pi7Sc9mSUOmAvSHdCNGdNJVjTVxWkgnMXplbgx3v2wfNIrtHz9aj7gPfVxaVN7T5Lz
lOFFzFjsUmBTQv1yoDuSdZKFmaP5Gduv7SO/CBaPU31ZFGjHBODcXDe6IOKyUI+wxA5JFz6Yoxue
aI1/EeeAkB7OgdHqo2mL4Ua1nUcnk4mxX6dISa8gJexDmtUmaT5CTj/QTq/vmOfDdnoBKoAnXS80
/2ABl14Mntq4UZbSocAmTidTI2JMn4KlurgKeMeWXA4vshBe7JUdak1HVffQ3oGHocwxOzQyhc0D
n/NsCRpkVTU58nOhbMfucV2Q6abEmdPLB3i+11BrSEsZnqorCBnqHqhAG6muRueHDFkanS8MNyqm
UFaDc/ztQ9WEMX0tmP7TEm4UVn5T3L+6lqf5DBevIuPTJujHM9Wt5OV6b1/GD6GhWK7KltAZElWJ
uZzi5/676Nqv+1o3jxptPrLskWh8A+9orrqeC67mn83lEkN9iChek7hdzvL7Ygni1h6yodjYJpWv
3Ln8onFEe4/6+fz58YbQNnNKsSG5kpZehz1dHxpUIXhyg6rV4BDDgUENd6tzE+lVIjTrd1mwtyun
qZV5SIODy5TCfj2X822gBhwbBHWbADqi4m1qW02H+vGugdxuhHNL1YUbxhct3354WafgXp/yW/fq
2OPAbgxG0w+3NZqPqhqxPiTyuIbuvgbGO8Y3hu/P+5EpnJV3W1d9/gf8ifzfbxjDj+DbYQ2iq1WE
572FT14wO7aGH6rpd2HLSAlgEBqPfHx0Rus9qxbiZXP7Y1Y0Yvc4NJPaCx6Zbzofi4jYLNjBHp4e
R3nqpPZrk62mlV1dw0IE1KYVEzYo5uAXbrizYhNgkQnX0oSOpKo5SXXphuD/nK3XTcFnQsioNrFo
MYoc/tNXouYTQeBvPOrdChsNjMKP1O9USTpBLtDIduTgqA1wqG6YyhYAK767K59eT8QqKcBvSVk8
Fm7gEBfeU2wnVFDFhyTvcGVhKZa5s5nHF5CSuSkjKdKDoUza2798qSQPBI/6K0VtAqe27pM6L3BI
cz34w091kThliveLsHd6yKrvzERQPipAgaMdv5FA/uK67eDgzfsSQYrfvTW040TXJIeLE2GiYaBF
tsZoaDgaTykSORiLqbBZoEwCtrVP8DLuqWaB+m9JRsUlFEkhsQ4182uOjr3I7NV38TmHrNxSHmQU
kaPjB79K+lT/SvPjwIR2cLT/9eUL/P9vx4lNbOrPOYkKesuvvwYKvhH0Mk1jqhMewH/ox3SQZ350
oar7Y7baNEZJwXvTP7Jisxvi87XcLmfZ6tVDY1DYZwR+ILQXFzM2ULlbrz3c5Jgo4a6htECfMBU/
EFss18Usn66fH/ClX5MZfQEXtpLxJv0Wu78KEVPARYDoC4ZZyo9QSNLSSiamwpZcETkqKiVWxkke
vx0tHrLV3I4n4DgDJBYEfcpAweHlV6vywQ2iQbGfl+t8usqztX+YruUYoTMxT5n0nzKOU3vluDEp
rc3YOMSndj/dzbcb+DsIN2bFcxXYLuDbC0YnijrQXX1Sg5Lnh+rdPTqBn/9tOv30O7udTvElUzeM
v5Dshn+t2VnuDWbgjS6RkoO4iHvhLnm8rdgFTIo+cai4pln4vQ2pWTTbLPwNMOCLf2zb8U08w8HE
4DZAT/MMLrMBBYaEy3xazOf5Qzb3T+2lE8ZNYmjkNxxMdRxn2VlvqgCnRSOZp6MU//TzL//10/98
mXx+Wcxxw1f571tYzPd5JMfb2XNUqsGd8Hv38+LhcVOREqYbkKxyWx3I+2Keu6TS/pdcxumX+lc2
L5uGGFBJux67n//5y6g3yw2CDTV+sMTrWUQ/TMGjJBi4WTxmZMTryFAVrfil8WyubtI7IZlNRB/O
xJFYeoWxSsseiaT3IBvMUg3LhR5rDO1FdApHyw00yOscNGG+eJrigWo7Wf7zz7WOJ7i7sYpt8yyY
YRM6Bgkuqh12dI6Ibhxjil7UcJwvKchDuJSlOPPucPa8IDyyGypDbijh17oQgrvsxXV5TrzhOR0F
aumhCxPym9Bjqv4B6erzENfDUdC0nvsCtjF7CAyTVh0nmbZa0g3GXt346krROs3kJ74iOOApLagb
1OVrq4pc9gQVot5EsD8IqkiX0Svs76jQOsAW/7IHyBdK0C5TKpsXD4MG43cz3CTuluhI8xLnqaB3
23z3UDQK6BxmsAOes4vO8M9bse7Bz75yZ9n2i7Vw7mPa5Q6sNO2Qhj5Hoqw/P6UR9A7Z0kvlQYm9
TB5Ukg4l0K16ZI2xTpyUUZEa1tMZYuLp3SowqEEo26VjYssevK32A7gEuNt7Cur0Mc9meTVesZjd
FrPjMiTOJkawc2S812Vp87JKXuqZWaNko8u8uH7aZJYvC1cCddrZJFK5nFaftU8G2d5T95rxa3bv
vi4TtmZYNcUkTS6cvCkfpo9wesHE13m2/M3vV5n0jyY8j8ZJ8stKz2WZSb6iHVp1nI1Olnm2cpDI
z/Awpgt5vt1ggLGezyucmd3D6a061ICWKZ4xoAJP/rgfATiFs7rcFPcF/BoLTD0C2HK6yWPzlvyO
DxiybAOH+uvW37JDWiR2d0VJPUMYlVYNgVJrSEyoBN9g6Ve/hfA+1aRLzf4VgKYT5LEqlIVfxEaN
aQkjeizPRQjLHea4DzH83kiAVW4MWTI/ovV0SKZEmtPhVz/Mcd7E2KjmSG2fQSF0VWsHL6f7EdFf
Pv/NQxGRrENn0NTyHqLyCpJG3hEE3GfFfLqEtQw3hLfIH1f2YyvLb6JqRy54ApjS2qpXsgkzOq2N
9gnEoUqSjivqJkGrRBabByZ9oYvNxzdJvgSyojoiVluW080KdgFjpcHZkMbJg0ijGN62v44nZuvX
pbcll2W6Cz+jnyT4eaQUi10F/xDq6K1qHF7cPYJHnYP9gos787W7olNY5IZ/FxG+cZlYV6CMoL4I
RUDBORZYdDU2iDhQqo1SgxtCPDmpY/THUON3DiP3SByeWkxpYDWZ4WnOmQw7oYZFP2felJC/u5Xp
edIvwnlUhF1G+3r1LrZd7INYTxyX8ilftg5AFEhkZmcd6/67EVEPNB+sd3FzSFXUA6ONGldPgLPI
0ugJP3OSOmq7Gt958iMzmfyQgu9eT1H3zzCXGvynTtTto5n1i2J91+haAJCw/IOC3Df2Ab7BteSH
ctQikrA01WMbaMUiugG1bfSKlHZ9H8nY4Oq0tVAOOfXwjpzsPyzQGc3Wa7itKexAqE2vIKbLIMZ+
Wk/7M3+WTmif/T461L5H9PclE2Dysbm2MvIKkD1T0bHHEyj6k31XlXM4EyEvdwdHAZBdzdMUa8wC
BlDCD31FoaIYwOZ6vXyDmRl2bRq9jW8bT6NTqUzPRc1Xq3KFa/p0fILApaDCMDJot+qC6u3SndZZ
kc3LhzpSsihnsFqBEhM4wH3iqL+up6iOp2+7ti2mj/kctqi5cPCQoh8Z5UgzFe8mcLx/Xj/G4djJ
ZfA164Zqs3LpJ2RSkAr9EU7D/uuNhh6Vc66Y5TqNvfMTF6mVXQii5x8b1+C69dgQO+FcpbV55RPm
8deg92EHt09P5WrjTceh7VNcXiYoIvwcduwTkSgj9MdjscndTdS/VtNCvDtjqAW/JrYUwm3+x0vz
5GPdlJXxxW+Rbe4ecbWz5Z3jDE93d1c3gPQGvcUZEvnzT18Swe9OgIkKDRic0DhMvTd/WwXKdAWR
Zy3Meec0LKDNs6rR1Os+LI9zj8r6CXRH3nZWUGuAxyY/EpKrTNYmuysj5iUsFWkch9bsqWIMrJeK
qaqeYFEL7Gfub/cAGCwFyET71EtlYd0BHUoSDi9CS9tQZW3akoeWkxhimwl1zu0MBcZ92PntKuiN
m+wys/XzthCYGK2qNyPGp9zz361yR2bM5sGqek6T1F+8LUHN135Zr+5dANnZznMW7JMjbt66ctzj
dcMhG8ykAp/xH6J679gnRDopjxYfm+WV8i39to5xzruMr23XfrNykcG1cB28IT9KGJgT8TFEC8cN
z/NN3ij4QwWhPkzA/g0V3BATkU1FOpMVQpbpvU7O57nrdR8oAGb2OoB7K2ChQuIcaqlTW45Fvnks
Z22WgwjqJl1d3UE7uPUTOpxacp063PcQ1XtNHU6lHBiAuZ9nGzinCB75PH/O59Ml3CO+rNAMxmLw
1e5h/c2UmZv4+CHkoUXxcpsmheFdMxyKysnw+CgsAyxLvZsIOis/oNw8gskJY3AG0qMITa1MDqNn
XmWCcRyqr094XMJnd+snlAnT/GPEoDU8VQ7fImbZiVDXqUgPNtCjO8U1uiE+qWtRWUKrdEf4zZUL
032p5fZc+tddWf5WVC0ZduMSHovVDMPcm9dp9ekUh8O9oC4L6zCkk8JORuM2PeSb/8ZISj77/suX
/93Oc3+bcY1MO0ljO8754gmeHrZk9er3nJVxee5BC+0U2PfV283jrBwviV8FGvazXNREKqXVsEWo
JWy7KeZwD+5oumW/3y7vMOlzO8vxuNXL1BB4UPc9WcyBuFlT7sJz6AQHkWck8QKAkPxYltUCNNqp
AXa5WkYZFj26r3Du9VTlZPUXDlK1MR1bQqNZy7rhyHbzeKzD8b16arojUBaz2/uy/Oe6EQeaTgzp
0IORH23mY4FR5oMBSm5I2gL7Jh32kq9YlxwbyRMuovDxBj63cM1LQaEOshx+zdVKfaPETTG9niUw
zKaznf4WiRZHFI+rvpVSl8nWB6ooCCbJxSXZ0RFN8yUI80Kbi4DadkxrouHK4qBV+g+7yZt+ZjiS
Gcm4B0QKPiq+QJbfFSlJyq7KanE1Nsn7FL+bMfkxijGPysF/jNhwzIjoDuIJ19AmVJp19rwlDEC6
jWg/G1Cts/vc64VzynAU0zAz2tJtudtauE6S27WnEbuKV227LKd3WwDci/ctmaLdqIkTuE93k2Ki
ezaz8+o8r3D94/e6F+3nX8C3+Ra+sm/x02/rM95sEYJDrrWMBhGWs/wln82+VqRxf6xcYhcWxdIf
89ApN0ia0lE5Q7s0VLl6WwPvs2s7EYMq2SLcQIfu7tcQ5j82a0/Z5jHeTEFt+1QsxNK67bqMqiQG
yF+LTqWjXV+Jlm9dGH4eaLz8PbrJYySZkucdlfwN/67RCJo6fzTencEFdyd8Wf6+LTe+SDznoO0S
pnaqvKz79H7rZeoxpYXrgtj25LSj3Ow8BriT1doJzf6d/T3dblbb/NOxa+RKqGr5uX2ZAkL+rdj4
f6tS6LfffApHRCJ1zq7HZJ9AJTRp125qOwUo6Fnow2v0XUhCDLhWWLEGJntJUK7i/wUvKHiDGPOj
wpAb/qNzY2/4D2sXJ4yHS6yw8hyZOcuAiHcZuX+4qGexeIBnhCe9vWGs3vT9E1ebfl+W8Nln3/A+
JB7SXncbAcZ2KzmlKXE0HVFzMqPp+c8Pm3lceo+4xUT7U1gt221RTmPJP6XaM7aHwfs/9q6Et3Ej
S/8V7QBuYDphm3UXBzCCPpJJJsEk2925ejFYUBJtM02RCiU5dn79vkdSsiUVJUoslqjeBGkfsuwq
Vr3je7fZpTaL8vCmaLycFi0rQBDdhul4dht+NFfv+BpUkrJ2P0eqfC7/IpHdJLIndNJUsJQ2iges
Wbhes8XcG2bjzTHpyLkeRouY+0WV8DtBZOZ4GJhn2h7pHfKggvsnWRfbmZyW2zn3iS2AX/Cchzkb
IPZ2uRi5UANGW617UnhJWZjCH88twsqAio6A2tqtmGv06IBzefhtNHUDrJdMe0gW+Sic1VSwsiYT
lw+XOvloFVGsFUGMF9l/LS+iqJvde+pc+YWruSP2b3D66wJp6cOjQReg+ajt8IGUrDuybFbBSnSA
VYy0GyH5x0dijm8LIMaOb+KwxPGDy1d9zbonbkvPUFe9Snwp+6al9uYYlFmm9tIMQDcoehakuKOE
AUfVnVC/Yr8aV1qFEd6x0NxbvEk0a9qjp4klvXoRNzQDc3GE3SemeTbPRllN+yYc43rspddnMa0z
6u9XZpdc49jMNrsRbGUDf0T1juEOKXulyu+l7D+o6pUTeRaXsEvqKb8T3GLGLNh7xn4Ep8hKI3IY
z71FGo+ycU2mFtPHBZAOknx7K02JxkpTJc/Ntq1Ag90kDo2TQvrGQodU3BKpeinH9hWdkoCcxbnv
KpNvFT5aE11Fk8dV38c6xwNeObVububRNAqxdh7b+65Pd62b6gvIBXuqy+6CVzunvvnS12csvTqM
/UpxmA/+gKx4uBLUbOt6roSY27Uvl7+8u1j4PhVUwCfBLndOkdF0IJQ8xpG/B4tHd0V76jC/iebm
pgt+0+TptojAmDonAErj6LIzpmX7jmalyKkEC2d2kxG2xLp56CrTYsCZ7nZlIyQVhA14K/o/JQHO
b+NZPAsv2CskReQ5eNAJsFuSpRYhImfBCWRqITnZqPysWPlZVp8Vrb4Pqu/96jOvfi+qfk6qz9Xf
kWL995fvp7r6fF1+FtX3gj39TCX1199Hg/V9Ll8/fL+bvSX0QLKj3DNmgDVNFvhpV8QPIA0j+lSS
RxP7rqhplJZdkEbz+A4LEI0qSIAK6srzWB57TStEANG60/yr3atT4jvQ+9zsiKBghvtnLHbhJ8WH
EP6VOMDHZ8dMwGkIG7AIaaVQp2JKALDW78hYIV8zPwxzFH3VB0CPczpLvVBqg9VH0AgLX4zLj6T4
qIuPqvjIH98T8eIVWnwMilfKr0XxdehdLPQ4gl9WIf5YXPvX8Aoh4cVCKjqCj4IN4XVyPYTd7DQo
CCWgPiQJHDC4qK1QC8hZBOZ2DYa2GKIjgSAn4mNCRFdWceNa8TrCefZpcBtoNEEsg7VpHt+F88gb
5tkfhZicZzc36KHageKIj9q9lXO7Ka6oLwKnOBZe8E4x1e7VuWaW0OSfUZ55SZTeAPnOo3tztw6K
gy7bleG4HOFQK+2sxhYEEZo4UEDebJHn2Q1yyjSMjT2TWYBDHk4FoygPuH2ndTXPoOzOm40f6ou1
fSzWJl1FScr81dU2jElixBedpKc0WVtQ5UgumzEsFYOWdnxvREOnRVtS9A+imETLs1p//xvNAHS8
eUO+3O3uVxr1E9fdywRjFI2wAaP0lOJAdhP7bLJ083zeTkAR7wEwI+LTEEYdRF4Iow4Ai9FgpkHD
wSgtRALcQrZ7GJkOggFRnWSE7NyKiVVZ4Ldvi8/ysVeOM1ibzbQ1zWB7A1RgkzWfCD+wix+MraTp
kVbb9pTU62yRjtfJu6gspWwgifXkiVmYjofZ/ePkgaf1fsUgE7N7CCDpYZDQntO9VTVVa6e7394U
qGWx/ZexaxibxmmQ8rxddrYT6wWlx6iEp4NV4vQuTOKxV/m9a3OKGDApPy11GOxXzrDgiMq/AsCu
Ar9iIIXPSTuiy6NpmGN3W5ybMAYSSJJ4FmdmseQzLGUSblSDWR1gS9OOghXhaL4IE9jVZBIa5Z6v
il52rvlu11hMjZlRtlBHHsXXmAn6R5yOYV3MEsfeu94smiN9mOGI3Nuee7+GxIUfqmXNhKcHTDDX
J18j5QB+sbM2jLrIDwegprvHjFWq8rIW/484GY/CfGzmVkSOyiHN1GxuJ/+CSJOqF+6sLem34b66
fP780v/cv3z++fNLr/Rl+btzVflAFAMcupFO0zwDhpg/eOW1mLtQgHRivmhtLO3Rld60tloQkLLg
J12fa3F6HqiRpKIdeRymQKgSn4rU7s69LnCeQDfwagQ6dRiOPs7MQ4rYcT7PDU6ZRem46gx9f2ue
iqpQ5rpaienAkVI0nmqgBtQpbqr4f5fKA5FItPMt1VmsnOhPRipY93ML1mDWU519iZOdSv8p3AW2
bBndhqlZTxEJxixvFW54PPObPIpSKvx74b+YpjebQS2FWbz9SHJal4jWR+OUWT4C2C2wAc1x5Ege
/Va2e8vm0ai0DTGJ1Wyqg8pl1lqtVGcX5XmWV9VKyxZAZtmnNY7LteklezKO5fHLrVZgxcwVJU+0
8FEdD48fE1Xj5K4kyvx+vtVvT+4ZhEgPc6cbVyoHUwLybuIbo0cgGbSRPN9YoaRAvzGpDl/YwG7w
jH+WHpiqd7qJzQINIGM9/PVy7Xe/LvvhHL6FBgRYTB4yLre5y0HAPwmniZNKKkFIo3Fv9DjJaRSX
DOgo4K3p9pE+nsxNm3nRbBROa3yIjOE0+EZA2Q7Bkm25KTdCqsTR8mW0D1CJdPb01PD0hBwllK0D
oqeC9dkoWczhr1x9voaMqH9/dUEVeQZg59nv9IpgCnhzuAQfGNmDmYjGYpqNWZ/U0ZWUfhvsvqKd
kQQzAIkNtxVztHz1+FqpNvKvT9rCYQFYMx1r59K4QYwwaVlpVb7eLC211x7Ez4MB3SiU5I5OoCJb
4vvU2Q0Ig93Bj1i+xlzHyT31FjslZMCZ6hRgGwvxlZZw0utgQTg65dUtB8LZLUvzfNGDl3dp5Amx
zoXS0fks70dLd1yoDHIwsK+8jMWwyjxyTw1osM4gytEBlOlJA8mPAPNpeBffFDYkyoMsSYq2Ul54
DRjQw415sLH4DpTANWztFser3EyKiQyFlXEdw9uoubJCYI6oaiUZR7fR6OOsyNtDh/PUaEQpNKLE
sSL4SbyvZsnt3FOmJcEGW0R3qnmNdEb8hh2BGluM4+g6XCTmyjk8W0rpSejKuCGAWyBseCeCZnkS
lyCpyV6nH5ctibv2jhXHGZq9Mg7pLuNwnx2IBuOaKUj3mYI4ZYdvjDfAPbu96EKxqUEguic3upfc
AklaSzju84L0DJM0KpFGNzBER4dO9x662oD0nW1kFM5HNXsgPrMn4KNZkTTSZLaHappD1SNL3GL0
UxzjlGwiy67DdPSwq8qHSdYw17ReqsfpdAFrPkwjL1vMk/gumnk3o1VuTpFfXuOSBcgESMaXNpV7
0fT8x7ffLaV5igc1h115swR2Es3MCkg3HGBNj67D2GCImkwy0APaZuTq8A0chX52TPOaRJMhQKAh
XMs0nM3+yPIx8MsCkA/2N13AW83yH+D0+kZwOt2JtqIF68mZyO4vp9lOmk0B3hQb0TgOL+8A8mZe
kVrmLfKkptWSGDCm+vKwATnB/X9RYNF0bOw1jfPdpOpKW89v4xz3hpmvlbeuLi+fBuzsfOj2lDdn
R8pr23bLtq7fMFkuiuqjBhnVigyEOMrJXq+V0wxHWxozC9DRKsQhZ9gE8pYLInOZX61hdKbJqbWv
6gMKof7yRv72txNdydIukqIbcBynvxUxnsLir0lXYEV9LjtW0W2M4in0XiHYU7iOK+TtF5Mpf4bY
+ar44SV8u7YF4A0gicAqLy4L3wEk14ByWJXKUz40kKDGoQTNhon2SLesNmux4jdoxQFrggA7iv2e
7J6zyRvORLHj1i9S2w2xjY1U0vJt7rax8oR1axOW92GuzQ/gn+xIGe1eV1jA3U/O2NjmnJaxku6Q
09Jze/n8P/8BjPP8cqvQDL77r9dvXr5/+T/PL1ddk95d/h29t7vwUVD08JLueMTMImrDAOuYQ0wM
IhsmAtvbgSGrTG3Mayjf5m4bS1FBpNOTMCRTKXp+llg3OpP5gb9FFMzhjVREIa36DfZvgZuIgm6d
BHe4jeokNKVdwfiynckoycreh6HR1cyJgNPQ7VxWq5QWI3ASWAjr9LqFKTlum/CFw22solluT0Ka
ICTfOgnpcBtLwufC6UkYEoU0DbZOQjncxpImiD61WaE2vFonMiuUL92ehAE2iY2RbWHXuCk0AieN
3SlaxR8LL8PBkUdfsYYdsi0+vQmzEXHWGehWRxIEm/n4Yde4LTQCNw3X4rslDVOeOzVwKHe5keVh
BI4Pw4RrAr8XYZY6uLnKFANmuWCvYwy4sNfDonqodcH1loeWDAT1TeQhXF7NUoA7rKkL68Be4Nv1
kRqjnQRbvATbpy5dPvGSKalj5WXKQNcGOKVcbmSFIfhJPKW0VeZW69Wp361NvcgTL0pH2biupFZi
q0J9LgBmtoZgLthXyw7eFtvTMdbe4zOM0zB/8O49jIxi8mac1pSiYZcRatPFRIV8ActvtZ6WAxFY
KxVfJv1PIyD2FJ5xvqzyMSF1IZu2ot5zqkk29KpvvOHDPPLy2rIzTMimsl+IY4sZjcCCXJDdyR1o
+TElzpNnl1aHxegq0RaCXXn2EWgZXt0pLkWAVGXV9C8XXi16v03KeiC6yqBYdpCuWmKNAMgaPaMU
Q8rtEyhH4eh21aG/KqzJIzT/zaWjAVj4R9UQbKQxLL2+3jzziiQ9xP2jcIq1PiCXJ9ndVsoGF+IE
6+LcN3pM7HZz5YZPKfRZxJsuqJol0TV8stg5hQtX58wI94UARtbiaD/ZNAMdGw5nGRipUV3OLacK
/lFHj0U0Y4KDCUG7gBW/hXdhRQR1GcYCC+sU7YWOr5OkGy1JgJ6xKUlVSL06tlUh9YVPd+wPXgRa
LvuY7B4fGYDO8LloXX41ycaLJFonvC1uIpwOpJCdqqhxOA9xdWPhLrBXMY+uZ6KsdtCEGRJd+MHz
Qtjh/zZbM1oowzPQAd1eTZGB5DY9jdMcuNErYcOStaoWZ9ttOj0gRCWDU6AURqSbQn5tRKVCHYka
8JLXBS2mFU+LiEzNPKeAkwGTsk9Cd102PPpxS+/t8+eYJ3a55chdCmOKv/6Pzyvj6++Xl0X2GKV7
ZGwgMYeMKsu6r0G3ckqwBzJzI2+ZWd4GLYvt3MlbfJDS3qy+CqdTWKyo8wfB+Uj9F+zVMJxFkl/Q
1+PJVw/ffP2vZMR+mo1fvwy++efbu1/ZT/MPPwv/u8k4GX/50+zDzyQZpm9fRz8mH799PX748Mu/
yfDr/06/fT9ffr34MEkeRuztm/CfyezDa7EY0rfJT5OvZuOff7z54d2r1ft+/eWtP5ok8fiXt8no
QaQffnn7/a/w9z98mfgffvazf7G3SYR/+52gv/58Tz68BxXyxmALM+r3kTOZDc7EbE8P/mvGn6QY
gWfXWD9UHTGh+LnYV1FS2VefPpvwQJCgK7mN1FFYTnVTuZTPB7SV3d2c77jR509gAwFtGW6JJtP5
g7nfyYBbKD8ouSy7i/I8Npe+B4SBDvZ9q3Wd0+TB4IOTeiCp6nghHNfmDZhibtah2s3BMSEdLcR4
xwtxgk3LmOSOHsinTh7oKNP5CJKjwtXBcdX5QnIQAK8GriiBnXe4B/1b/z8guMC5h3Yh+BJbLKdY
VtD3KVq+YONNsDy8jR4u4M1bkVFZDHqwmdMM7A172+J3QgMpnUgWTl0xIncEN5h21BoyMBr4Uh9X
Q3oERhVGjIrTq7kb9cd8R8TDfeYIoPhuIKR2xAycEgf6XIMxIVxxN3Mgfhkn5xMTWcGG5+uQwV6L
NnY6tXxBZdEJCLTyEwVtUs5AhEQ1og6233wOhwmOB1+bjVllJNS6J3TAGqrTjQ0UKz6NIa+5yZYL
f4HNba7AsnlW/Px/q59fTRdDuM7PJ+G9F95EVwQvf9lyekUaq8bTj43zl/cEXz6lhOVA5Oq5Mf30
gpWvvsZ14ULKbx5Hj8BL5ZsB1hWrUoHrClxZPEWz+DquvtXNGqDV7rgI2+tVMez7i8ddP9vc87Py
bVc7xwtsBaxAsQ50o74crLV2NyedgukkdHsax77H2PxlGKeIZaqQndkpxWTDwZ6srh06er9vwzyN
iij8pjNKCIAsrJEl3WQFUB5ZbhBlTHEB6oO3uLweyHWrDbyo2q/myD9EUHfqRflZmI69GTxZgp78
stHNixeX5f9ldky1x8tV/5sJHMb7tR44z4q/8HJ+RcqvvsryreEPYKz4SjYb9vt4gz98/25/YGJJ
/4bu3wHmlim3a+pgoChxuqQiA7VHz7PTRMDqk4E2o1xboEBxnA19oLy2cZKN2spapFGxVY7S+ZJ0
IKljrhADRRwzP857CdpojLWAV5Z/jHLginF0H43Hw129qBQOVDgQTLZ+2u1O3NbBTbZAZP37IptH
5jxM0rDjf091tMV6Gi4pa3EQDSqsNujRPN+6rPtrB87b7kBwYgHzLlIcvATG502O46zLEbd48dgK
8bsovTE37IKFy07d7c6gelZ87Mfn3bp3MLePw8KtVqTHmK21gmZ50vM8TGfXUW6QNRhIb9ZYmlks
FFi6vGmvcM6mSDRjndrE5wZZz3szfqjGbr5an7HctTyW4BgWPLgW4BBn8FEIw5jzylnDuPUeeZpk
s6hK4jHKbZwVyIUVSTbORotiYBDKsoOfWOHwW8FYp8gG/Urz2DxigTPesPiNtQ5LEd98GeibZCdW
45SSfgCaPbmeVlWrps6VObGpzJ+wuVcctblvtgBTmx4rM8sWc1jyHd7UtKMmHDADk0GfVPcazx9Y
r7RXbX+BnvYJaLpXo2z6AJ8aVC9hA1vehaTpQo8bslxsWU5KWTPa72eJ9+q7719/++UbczdfECeB
bK9NszQFGIvt6ctBvNjtwxhlEqRhOlhTDo/T6ziN59hNLJtuYPUyPCNlB3IbDtYQ4mVUgf2jnD6e
JszpeuqY5ztALKXZDgcLwdky1C35+I7Xo8oxe8j+P1+9dFuZ0DvFHNYtBU4fM5COyUZrx9fYjVR9
bNVrEK9KDtgxAew24lXo88MjYDABHtmRlgtvWE+iMG50I7liB2YRwTFS2cbIcTAphvF4HOFgnIck
mt1GEZDOLNmeOa4dww7iVuAoyhw/n3SMcxzfH3MraKRo4+JZxpvBJEziNHoxMtcQa2zJ1UEWicmX
M47gHEbhvGZcDU4PI7JPBvEa8jQYxC2c2Ps82BKnh1oA8qMs+1jjxsNRiA3z2FuA90Wyq50UaThz
cBeVv6/iMt4smpdpFtdxUtsah2hCioZwFkPRN7AwLl4edpE4NEqiML8ihs4UAad9xQ9FAL8sA06z
NLLaZokdBQg2YxClZ63M93v0rx08h43IA6nuYALYvnjh+6QnB1DNZKP8QMu97SkQ9Olx1saZNY7m
mAA79mZhOh5m9/BV6TCvb5OhQJtSxnulWNak4sGtoXxrraECTU8iCEmhfmgrSsiiGWhoTHkAkLF5
8dzHhCMB6sXvNlCWR0lYziQHsjRHEzi2aZG9tRqzIpo7K+V+iRa9JTFaVACSSmEBzuR46WjbAf+H
OcqB6whRJgiCZaem8hm9eR7f3AAsgF++TuKbW3Mcxvc11hUdJB7qo0u4vdV6pr2VEzvHxiwSUBI+
Z73YiOK0F/tAp1Iv9iF6so/A78U+BO/JPoTsx71I0Y996H4IMkVZT86j6T6+/+H9N9//+12nMlX0
FQJMi78GJnO8mZAW3YeTaQJQLpvAd+X7LPbeVapXRRomMPcUnX9WlHK+eYLKq2C/HacPwaQT4feI
Ynl/9uL3iJN10J+9UHmqvVyidAF2j+fJw0t0HX1dvutqni8iw6GdRDUdtknJz2CT2Me3/5vkqv+b
VK1CLM0jH5Mwuc7yCWx6Es1Dkx0qlRxQ2m0izQz9ZBg7LV+Fk84fzF1dZTEOqT+iX/VmL9i6v0+i
v43/rEpCx1pnU1dFHFjgk948rewRRWJuTW+oIHAjw1IwLaJJPMqSLDXmVEn0cqoecUefJFjbDP04
TbMRcutdPJrHk2qeVH0COwNbQtNe2b5/IWbDXmR/rBrMN+nNuRDdJ79ALXIyh+6qiodJ+DCMPhvj
aLo8W8w+K37ts1kxL7ZBgM4XGDQR7bNG1zIqcQgnfPln0XSzfJxoMozGeBPG+IhWRdGPFSxfu5EN
IqiGkgaB6qvHbBxdh4tku286EsHTLMwn/jOLuRTtqrDGOZD3OM+m3ji+vo5yVCtVmykjBQQ4n1S4
MU2MbaIUB2poq0FXT21eAsO0SypH+eCG0MsaEXvG8qEMpuVJ1tWKnUUO9RpfZ8PfsKzAxPGYaFz9
ACc3oa3vhaOyrfH6W7GtceVnX3t9mizw7DBtByPx642R73F68McY2AYHnqbRfDYKp5FFeSKF6qW6
3aFjEVJ4q2far041x7Ybqkttaq7PxQqlZkNv98vrIvu9SG80WuxUD2gHKtNsDabhbBTHxmfGmj7W
rcJYIH1N4hSziT2fmBOKgwHztZ2K/X3Kg5IOJDj8HLOp1iFbrc3HJLrtqLZCaQULLtIY9rcDG1Cl
ivlP1p88zZqoEcJX6SF2Vfae5SutrfS5VQLRry5es4vgq3iWZvN3Wf7KcpsREdjltl0txTSTA057
ZSaahJLt9jdf1Ey9Ws3UGibh7f+x96S9jRtZ/hXtBze2g6Fd9xHACDrd7s1sMpNBO8Es9suAlmiJ
3ZKoESUf+fVbr0jdRYpHUZKDRTqyDluvjnefB94gam5n05T25Pqt1PJcoDEWJ5OITrYskN7yo/vd
/6rxbVbj4ehLpYz51irLti7SkwIlyEgmdS4U0O0yzoEZwfipYB5NkkXWyRpM5hLvKxfMDuI8053D
ho+AZp2dNToXaIwovjR5XDBkz3t1DaaXVeDgYgr+G8HRprIQC1xFdWPVDcGMHmFoLpTkONVz8KSy
Su1XWcFlRdbuD6x7IS90i8aDACp/nJUv0NaWHkm7aUSNmxoPy4EKijwINtKXdg/+EKySyj/UA8b7
Q/b89p8/By+j+R4K7C8KGSWoHs5ltTauiYtlaHBYdSWYNhIJAgnnwwONZQu8r8tv3LOKFe9Rps6A
jbKSt56dXy7t/VuJqb0PPDa2OjZ99Cx0KvQ5OaY6MjqkIxTF4sIugsqeFKoF3TxGhhUs5+M0eJwn
k1x5L6iD571jadcdX3qlIe7sqOME9uzMzeEwA5v6VXkOnGQuwIpLMP/qQ56GT/HQfi/w/GQ8TheG
uQfho2H0AawpMGuKn8y9Ppr9j8AtOrTpbLGdiWNEojuezYTusVbS6KThpw0LLh3t45EnI93AqzmJ
0/7NOJwPo+BrmvUkDycu45QopTmn4JZB0EmpBs2d1mahnm2WY6ZK7t1zVWkzVmlIZyEjtPXxMNwG
3FRPcRisUz+fzS84eSIRTFbskNaObp0F+0pBO/UuFUZ32jOEzxqInK2pXQ/R9Ww63K9Dh0noBPnh
8Mcu87CHrhI9IaV/6VYtRiMJ78QhVC1EgxHyI1nTZWF/CQGdfDXtCG8qNblil9XFfl86deX02lRl
nwO3NEFnIyp8NtCCnpOeJZUnsFMObUKCFDkfB2VnAy1oC+4zisG0ew1my3R0b7UAmIQb9qPshTXL
Nm18isMpFBvBTMhZSZ2fBe2qjc07Lr183QRRNs/kktT2TprVV2mfpIxFbfZ5LtJU5GwMyTBDfbZt
I/U2fKk7zlPnC4+KED7SNqjDC8GoK9f+YjSPomBhzj21jUyjKYyMHgRYPMQLyE2Dl+6wl6yYB1nP
29Vfz1sGD8dk5kxWF7YMTnhHUlfKySxcjNKC7EeMYHYK86M6PIRp3LfYsPU0a80cD24Z5hS7lYez
AVdS+L3/TTHTMFq4s29hkgW5CNFYnXR2JKcReQQChXxpzGZs59Ci96VJ1VD2SSoLwQp1Y8VH7lDM
mMFyif1zvgqABdJvQQ5tW+LfZQ3ePc7bZgJ5MA+gjSnErg07S9PnZD5wa54wdEx25BRczMN4bEfb
JRM4XncWmwCxQvyylfW0iqweMo1+//KL2yFrvpV4yFo53mJ/T18u/Pus46pNh5sn4yDnzZCwu5eE
YH1Z5voklidY/mZCgLxxLII3waEWiyDEuQolOlhFAGW3Ta8TWN3iZeEY7/NWOZ3X5PaK3dirkH4K
bf+NJhkbibwiezsgKyDugb0C5u6hy9AsnJxyHcUyykKcWc4PENzaVS5usiAYCrMR9/e2EPoanA8f
R+H8o1FJ/hO9cPUX80Dtw/tS5cNYPT3OufDjEQSHyKtjxIxQNmvoJGLHnbdERQ9UrDdGg5nf/zM0
aF4txKPBq2krzQMq+c2ZGzsqCvpQkRkbEpwauoyfnBYll8TcAblICqR7FEhQKRHC5yg07/xHENQm
x5ubIDjqGDNUSYRu5iPcnNBaguad3dPEnc+BqYREsjdKHpuBS5w+AK04F+ONcJihG961FCtIu4GY
vjwNH2Xu8D44ZtoYEPFkmE1rznV3iMKnWaVkcYkk1cq6Ybo79OIKFK7fPFlUmkOWjzYriT9X+cYv
d/e//v7l4939EdmjlGiJRBZpHw3Omlu0nXKyUBC8kwaLxCKWO4WZ9GqmzDo4q7EWzJe9YIT2cg7y
bh/KwLlMZZO5XFY3393cmP996ZQE2iHoEyl83OlBpkblRKgVjs2S+SKYJIPlOHKwrHwk77zvHqkK
nSipl7hj9YUcUJrhYD3G1ZtIftm3PY00l9Q8CA4P8EzCM0ngpYZnDB603+prhHVLzmB5kZEur1m2
8jrc4eyeCtU9iOOu0bRwSrVkJ96taJLCtyfFV22jVjWk0O8lGITp6CEJ3Y5PDkNsLiRR1s2+qhn/
L7f4uzfyn2c/BVHc3CJRb5OXbSlOFXjVmsvxNQ983GV/dPvTMn6GMGIdMpci6QfDwrh/c/LK7N5s
22zaHIg5DnhJs3duig4BTGnqqTKkynEcLIBAVzSOfPDZfI/7nNbipIvVktMoYMHvBBHlVoNIr5Gx
XBUD3anEWSVS/TLRPTkzMyxrV8o4CkMhDiEQO8P9ck7/X7HzySwxIsyDcgKzFYE6sioDZzRCw5he
4UHtyw+6htonIA9Ua4+BM4slttGcI/1S9RTlJ9Yxeb06zJNpelt88iCocxWRK4WuQuXLBDdKL2XS
W2r/sUtulWNbO1nLTVQctA7ZIVElk9idroap7eB2EmlbOANanUXHkC2BDudRNA3iR6hlM0wrmgfx
Kq/jIFfSaHJM9hTzzqWdySLaJul6ZJTrsbuFMIUwVg7jbaqgzCnFE+ie4jg8rHtUNlEaoDVrOoqi
xXU/TQ++FfeYYF2uuVW/F4hKmqdRMIwSiIcVVVkLSloWTF6EfXlFqG2RfkU/ZU3SfTrHUPvco0HS
/yWB7vWfCxt/MYqa1ZAWU94OUNvvxRlmoqLHpbxI5aFegPrmO/C++HPoCwhHcz/+7C06zFrCrSk0
x063SwGDmPWBflmh7yCZhFl3CSc4W7mNOpbo+Qfh1PbYyPKLnXjJtflJ3jxrop+7Yk1GUNP2Bv/m
PGaQMwEH4rD4OTcsCleqVeYF1wHqZGBFXl7Tv0o+BJpw569RJmwbstpA9/aYYVmQv7SJ7W6AWoBO
WW5J8SKJXjEt1sEdbO4r6IMbHfCdfe8j6E6HiZWVnFz8KFNygD1wJBIGtfBHhvLyVvJhl4tn3Bv+
9OZ9gK8IR2Tr45KKAgmdaust9Ax3Jypp1/zSkmK3s/E6VrhwJRHUhMu4eQwxUq9SrwdeR+oVlZdR
Rluzsy2Wbb212VQhw7R/+N+rzx/ncX+/daUCv+mRdo5dkMZDlKX1B+ki3B/XlJMDQ35YWRmoDSer
1r1zH9zTcLuobJ58A+O9yHYz6CSPxNPPdNRNBOnlcZ7u9ClWLe2tmPPAiI2P9/fH2sYRzIxqS9VZ
+ADDR6Yu8M5tvV1ncBiGmUUHv7D9fLb9fKMZtLbroDEW4Vi1vur/Dp/C+2xXxxoFSqErOkurCJmn
oTGfDANyA1O5X/QN0rr/fH+mG2kTOxx/EI3DV6vNDcCh4mSuEimCziPYqzVJLN2h9Uff/3sZzqNr
88k+v2KsYv5zOb3EmSPqaFNNSntM4PbgrBK4BS14HsWLfJqkM5bCqE2fPAt33KPpnD0+DQ2VGCSZ
pt+/jOPpt63mJM/Pz9fP9DqZD2+w1vrGfr5uP5Lzzn48748j8x3zW2y7ad3kH2egYF7YwvDTh+Ui
+ru5m1v7Jd+P5tGj+egpHBusNOv48avhdCt++iFjw/g9zCSLjMVzi2DuWDQd3Jq7gqeP8djQv0Gp
P6INxJtwVf5h9kTv3hmxHj++fkqm0S1+N1hOZnfjCFjHj6/30dioQMn8Nl/kfo8/YpOiEL00BtdB
UlRFJocoZ2fhPUg18UR4AIyFEP4ZhNs+RNANg/oT3eU2ou1CwVUHLi93hWjWJav1WUIpfhXdF0uY
6NJKz74I4q1SXLKmWI/qDKtUCdXwrn5wXhYVZ5OILpuhbwVIBE9WXbv+55d4+rOVWiAfIdD1/SJ6
WdzA3/wlXHUjAdEIf7a2DLIX9tsOYj+4xynV7c3Bp3gQJQF41s2ZH7MLmc2cFB1y1KtP6Ep/vvqE
Ie/GPP/xzj4S+8i33v9gH9FBGZHRNwVRb9m2qEu8fnsBkFaK7RZ5PMfTQfIcJLMom8WdLLO4RnYq
AXhNwtQQ+sLN9u1cLeL9HkvSl6g7yAe5sheO8Yx3gPEGSQdJPxgkUWrW+/AKLWy2cd7ZyYbZ4JQX
/DFPYRwssKUc+EM85O58ZvBddHACdvZxyZxGKkjF/gXnRA6KunSrPhgTbC//KNMSodquvZL4BFkB
1iKeGkQY9guisLobZmER4MEIym9FCAAJCbIbwDa1a9NFKcdD4m7iAKmO7CxqUAmdvnMFTkHNeWBX
HKaDv98bGDAyHDla3MIX7NjfBx4YDpM3mrgrC0IZYIrcUiTfrWIa64LrdbOGvOC6FWUYCGaZqmGw
ujkpUk1OiaOFhY2adSUbxglk7mSed5dk4lzxnuR+Ynn1s2OlZG8TVwXVfo9smqxPzXlWqCdkVXtu
b4xcUdfjYlQJstZILoRBkrCeJOIkdFMiYhhMDNHyjWIP4d6Vo1EEKaOuaYAU8x6GeqGumEz6NU7d
if5G79XYP6o8DYNH80k1JQAjKHjQ/KJR5cOPHz+bX9kL4uTYwnEnctEN01K5LSegzJOeuoApUU57
lhCpWppGNVHEPX1IVGw0epkIwqUHt/NLP5pBrpWTkgkMpiHCp73/RzRPgnE0HS5Ge00oVy4XcSF6
+5q9Fert6rFUb09H8ePiX+ZbjinvnMouNNIDWiiRq5IbgqRvmFlS4oEWFvMQ3GDhJFqATHVJFSW5
7UjiTabO5skiT6peeeDcfd4lRJoU7QRPstBaJbmqsGyWGnNCTMnU69SVILGSrbIT2VoCOMMeYix1
5SlKkTtvj0QpGFEYWovWAtqi8kCCt5q19wLmXdPsCABn6j/rJm2qmBycdrwGO96ngCwfgjBOjFWN
XcM5uHjjJMku4RSxOu0iyOEiNNn1MTyEA2iaf5aVNNPFjriGHpfjsU1wcDk8dE9gdP474Nyj02Vf
DT2wVDk0q+cnEe0lOiCHgTYKn/bwqWOii6ZnXwPWF24YGgCl3BSRZiUNYCFdT2ZsBzeMndwjmHv9
RqyJYqzH+IkvmznmF+1FtE/EcR0r0Zqc/zRapdFUsG7cjVGIso3XfbNAY9L1v1WzbKyBRdorAJvJ
zUE/nPajsdVjHxJ3bgdBEL4jPtnu1gIWSb4G54apNJYQ8WWOzPtHM6aEFF6yJbMdLqd2j/Zog/48
dA8Zx5Z/Ee4HqRs7l4opYTe3+ikcx4PcrX9LnL6n2iU15oWROXd/hSzx12QJgzMjyPVejGJIAJ9E
aWqUBMgunw7M4zQxD5tqGXjfwn1v/ySaZj/g0ezY/PjHh/v7u0/XAHLm6IrJGbTl4JctTy2fuH5a
LA7drBp14itwQbQGu6zYRr4qO9j9wKBsTjhOlsCEuSzVrQCg7moOXbENow8BUNSOm6D2Jz+MFsEg
nA6jebJM1wE6F2cSUvfqZhgecc0A8DRa5NOGHf6ZACp2mvhnLoIYhQd10RzRh/H4Sz5U4afi+yEc
Jmu2yuDuSnLQY5KD/lkkB1aVnM2iDVMoMYoFFj1aycEnKrJjTLh7jiuRFcvrRXPW6xyYorgC5b/1
Hg1h7VKVu5oaUjgqNTEVl8iAsH9stAUeWXZllgljw3ZWoY1cvRGYwFBa0uYEM8YRDAzncE+VIRVb
Sx3BiD/i2W5zYqcYhEEUiHikMQt3nBhLxNkKlEA5P/FDaV7ZOjvG1tmfha0TVCmVThQ5Wo/WpZjD
S5f9kcvJzCHerb2TcWYGV8tQhnB7pUBgOcYDVhzrmENsZzaFzsFwS72AGUOVlRLGNyv76e7DpwoT
Uv81iRajZLAZklqqMue/bZtB5dvDOyuFlWHkd6m7cA/UdE3L879EbRcuPRLPEQ1duExc5A2Sw5Y6
lboi+LpAIdVFngvdORdqXRw+FdzSY6EVPY6ixONoZeb2cG13hr0wmpImF3kF8tDLpMQpUZO0lz3x
I0y8iB9hQqHRXvpRgJzGBcw0lg3ATcOneGjvGvSWZDxOF+Fi1SUOFhKYhcRPEFo2+x65MzyVkfbU
L2470hYZFN2dAApV8kRaizOTSHODrB4QZ/qY/Dr9xzwZmh2nd08F3XRzvz31jDlrBjKPipygSuIe
ZcLDRr/CkY4KbWGtWbMdHgAyOwv7MNQ4sHt1t3KgBppsAG0Sp/2bcZguNgSfWyxuxqt7HKEONnXo
zCRKY0QFtHPC3IdUgaYEQX8cme3ZvgsQBw4gHfg5cU9t0+A05qIF7O3CkXD6zVlYiSu6IQs1uJ3b
s2JrYE709m+Jsd0+GouNYPPw9+QJniKkzA8EhfiImgdKzcv/+ttv+1QCBUG8y0XR4G/hPKixHso6
XY9Z0Ofooc6CBOvi1n4z9DEIX9vcnJC8W3QKzJLqnBSn+ET4rWXVJZGOl1QXm5hCPngcOJ6SImcc
g3HSSnnhZ4cQbS/9Z/NrUUFOL3QAbC057CCcRThfBFkhUjx1j8TB1Ah6InVTibgeEFBohGBJWipt
k/glGqw8qNtTCWzMotJYAgkNIVADd/HXNADLP9h1BIzC+dTobYf9UjTnBFxbwjOkeQQTjw7hUcl4
Mz3tJI4tjIho4OEsNApWN+xwaFJqGbov3w6FGQQ9Kk64fK1wWyqE4uWwn89fzCZnuF2v0mxN1Tks
C2crvSqMx4bk3GVUPSmYBwY2TJaLgvojYxRhn+6aDNj6DUsJNjfQkRroSTAcTFexXG4dKLKszV39
bXROtTdhBdT0zg8gG5LaU/wEsOP0wxKiKovYHFE0OFyF3IvMZV9ywnWs0UFfxjpIaxFupc9LOt4O
w16/ODQGDXX1HTlh7OAd69mCzmC5JyZ4eA366SyYGEkV2iRL2zHeWfEOCfxYXgCGaq4a3ohDe3Tf
TXrAe3XDqPhRXcs9BY9W7HVUinf2ytNZ2I+cbaoZbh8Vz33VQZi+TvsFXlIBM/dI6ysLIZC87PdB
PXT51RRUeWFfO3Int1GMeMONTML022oWSR/q4t352rqZSl9rE5KIE0jaIhnLqqWAliNDdpD9UdT/
lgaPyXx1po6YkIIMEC2Zly33kwk47K6/zoZOOIR0fHmMYtZecy7HD9IqKW41qTyZW5//JJ5ENjvH
naXKODGmue54S0jX5Kb1QWCpa4L4vSYEUm1oSxsInHpIQPvNXPavWd+PLcrJ21lmakgWtJiNfwDs
uA1ns3Gc8ZGbqD/Ju8s7BjozkCa++G8AbWT7Be3/sbX+VbfHTVFNCfzp7pe73+5q4qWoKRSbAGGi
SejHK+JsxhK4EEdR3sC9manFB26GkiQYQTuHskqMUd3jDhVIt08cKAfBavrmG4BQFJ0ZOV+CEr5G
ehxLgprytWgRrtIUoNVe+AoJE0Mjgf+9LKiUExiDf7PjYydS+rdln5P5N+iiNE4egng6isxHqbVg
rVsnDaKn0D3bgEMolYrWimdugQRHcpw169GaWs0/f/78668/fvhSF7lr5tY3A8NwKwXaDw2VsHhi
+CFHTT015sGmSG/7AJw5KhqalNcHYvY0jsLp4MEc8Rzcj64h8rJ2YkNDjKE1/Rj3dx++fPypJvEz
3dhQzuyH8CFNxstFVDSthFFpLoN3vxOYh356zLczK4qFBqIQ1Ka08+1TJBpf5HK8iGdAUMuHiTtI
yhUYzt6cNgE4NedBP0zdFeJGylZsXr5vCe5JgXWPKju6fFsWOHpWacM+z6OCWCQq5pqAREhVcjfJ
Nj6zSv5a6cCgaRLsJjo4B9VDXJ/XglDfuieiEm+WNfM1XEk9pBacT8lfFzVFOaqUlNDixnG1hADZ
Lbbja3QYwwCuKVXXyMKIbIrxs5FhJ9NguXhU+f4CSBM8bOxk4SjUMbKYwxKXcJXYdZW4muhwnXPy
YLNno8lDNBhY1e9pGNjZnjbh/I8omEZDw9Yz57YtszqofDKyS1TKr61GSs50AkZ7DCPd/gqq2lHx
BPJhslK8NM8Dsj1QUogZgihPYd2Q+GR/013bjoVRyHnHbMaoy6Rj0VXNH9o59hMX9ktFO94+Zlqe
C/PWNQPbpThltfRYCQif4655u2LI+5nspYztT3xfJ4h9X6/QfDVBKloEdnzrbpZbXhrEUccnZoy0
i9AGqIuIkCCkc4zhDYSElzITcTrydcb+JXTjr3m+tYMojPCOISiOW11g9c4IFMoMuj4wSuUl0CNz
0SNBlHWFs+bDKUgUSHMqm9wAzQKJbkey5tvBMb9pAgMtEt1DD3nFeeqyXSiHK92h3MqO2AouiPXf
TsJvUfAymttRnFsHf0XQTu7z9mBOEG4HJVi8JyjyRH37t+IecCh6RGvVWrOqUHApUefXTqoVKbcD
grU+CdGWdVLSquLggM75GnfyNYHFZZDfFZHQvsT8cNFaTVWtQVRQa94xiNoenjrouAk1muN1Wynu
9FnovNj51gkXqHM0K975mkJtwUs9zl9/KvPaVjpotSt6GvOz8YICZzuCmr+aLL9hsBYhfmYbtVAY
hln4HGAYqybIW0eDNra3l9w8RfIEB0Y6tJSqujZKNFJNNcyD756wt9d5ZJkrCt8Zs26EShqNYWrV
PrXv17gdTAfQRoSLU1w15vJP5b+R5Q2Em26kHHaWqw7FdbXOslH8HTVx8vth5eP4KSoMnTJdN8zT
KP5OMDs3ayrRu80Z9ChB3WOB4OIi+N++hlPA//bNE2mOSvy5HMfkbBpWWTYljLtBjeIWe+i48SAE
6ShZjkumLCgCnbZpV2QKOY2l4xVhJK5EHj0WW3svmbOKdG31rJ1VCwfxrlzpMI/LaRo+RkE8Hccu
M9doAD2heHv8iJ4BAHS8XzW/N7tw235I1vbxeSWXkhQg3mNKM9wV7j4up1kX2vWTMkSmsuKMFF8Y
dbC89uglRcUGeNLXKG4CSK09BINrwqSctXG4rerEQLrmwtX2VllVjo1fzWfRAAqBw7EzzUD8H3vf
1uQ2kqv5V/TifvAJ2cx7cjYcHTN9OWdie09PzPSceZxgSawqjiVSLVJ16V+/iSRVpQuSTJFJSj27
HW67XLaFBBKJBJDABwH5c97L/z1st9iW83rL61v9neiXartLz2objJ5GY52XpqjisPzC4XgBlA4h
E56Vo6Wh56Q5GmCmncfFfLcr50+EJ1R9h4GGSYD7oVRnQETmlMoAtQInAN0OckRBF5Ie47AUjspa
2+MRRyOejXvzE3I4pBotlfJWUAyBS8vokxh6sSQZrEHmXsjTCojPK3ObFrtqnm63xXa+3AEk+tz8
xftV9vCIg6lEBIrEJn1028unkc2p0kfcqEWPBfWCamKDcpBOfS8BM7EFmBfQBgYVbb0z2ayhHkPW
HILzLAjAs8qxNN4HOVVTfXEI3gZUdRA/vn3kSfx4Fjg3mP7zuje+PMfGJtFwZchyz55yyiA6iYIo
QSeDVuuYZ7dXLyV4v2ZRjY+ggOAaRbpH3bdlkZ8/eRnBBCk2ccglrd7scmtUQWY0phPa4YOFDY8n
pPGG9Gj+JuwryC/AK4UJc6Vnd82kzxTYU0OIB+JB56VYVDBLrdqmyRprZlSKk3+nbCGXo6tw8Zw7
CxElNSaAXKEAA62xYFdWPgR6zPYTchH+8J7Mh2zmEqXLN2dyvixS207dMmQ1gqFKmo24fw9pnm6h
wBYMYYMJajfzeMrSeDxSKsKk1E/XVq5ajCFXxn2l19BHi8TyeZOfwijFCoJzPeZZtV3eGMYb0zMu
xtmCg2ejs6Zy6olLPEpyGAufYQtUREYRRLZ+aBEGIWYL9JgvfdU2ycv7YruG6dVmMYge2M5yr9Sm
vph9vwFesQlivQJ13VMK2FKQJ83/aGo4DiLBc4ziw+Dx/R+cgRrD9DcTPgEiYf2cdmec3oe8MP98
/vyY5vN1Ui0eIa2SvC3NmlBrVP+j21PmFqi4h9QmHP1oJ9vVQeSx3jVvqoxdyw5sVskZJm0Mkzsj
cxLakoh9VdApijo/q6AOn0xyBtEjaJSJer0S6jF24+nuLKkmAWFQkX8ro+B5qv2G9N7uqfbCRhug
xy3JD+PceWaHxtJj/NmZmJWpEOvy02a3xyEkzGb/PdwagAyP6heLx9GvXZ7c39e38N3rHhtpu5gT
hxfLibqWnr0g76PGdFARTyoZ6gix/KrydXv6Oy/e895okiMCQKRo0i04x2Dm3O85xM3sk7kM7rfw
zAO0snx+Xyx25fwxyZcrSP7lZbZMzdE2f9OB9cZhFplXDYZrFQC5YdzSLF8WzxDPb8wBfJ3DCOTD
ByizlmaE2NIsce0aNSc4nVE+xJc4wD3O82IB6AtPmaG8rrejXm26SmEJDphdgPoZYiZymD69TF/S
5fJuL4h8eVe8oI/PDJCQ5TBy70VL7/3OZh8s92m5SDb4jcfMZ/rNGLqMNpq0iWGSeThaexjHUzax
igICLz/BKVu0+BIjKLnZVhqeYGWku/DZWBqzGVPxWCtoOMcIy3hGBRmJME7RnB8RnFXHtgo9kLdN
sdltjozCvCrQRDyPJODZhCaHkwI7MFCGRnDpdovP16SAbkBYELN+QGpu7z6srS1W8KbKQxPEtAJG
4Sg6FSVJJqLEB/lhDWbUKoPRoXhFIiEcnLA4CD8n9DpLX5QyLq/ulaxxE+2chG18PqWGKGV9nA8G
0uxtSFbuv2yGSmyLFT4XC066jw7FQ5aAko6J53ZfTNrmRNsyVJp4DtxV7ZM0jFzBp17Mt+DnzAEk
4dyzl1qYX4mM+xRSDKIomZiaRxlPS5GTPuVRgygKL681Hoqc9+nFUZAjiB58aJqkTu0J3MODe+oa
9y1tkRQZjOliixBt6ScUg9XzleDb7yWyZ8FfbGvRaAgDdcRwE5ya0DTHpzoLT0AMJ82tFecPL1Vq
1KrIyz3JtogIhpQY13UY3ewJXuLvtsWzReW2Q8tsZTUaXcPWesWacfeM7LobvSni/nY/o/vLc3r3
Nau+2Y/q/gIY3uXJqDgJjVjHx7j+ZxOvxfq+YqaFDiISWIBFOkaU28RFig+6/GB076JYze1YJRg0
m5SpHTtrNA4SK/jTDFz30SDumrTwn376+bv//cP38BRss7N//+tP6FmSEJL1oNhSYXufrdI/fP78
uVpvPv+UvBa76pe0rMrPoOy2vLrEdgP+1XtWG+/NaypuB23MWzCysUlP44c8J684RCk0H8o4iK6d
UrVjli3Rb+sFnM3oNdGkV83M5bRXxQOm8fx8MOUwyS7T+2S3wsHRqW/b4CDRNitAZOuXQw0nW98B
3b6yhbNUtukuMZbEK3YZR3cZpRPLlw+8FTD5tmgwF8QzczaSBvuNUw0lYSgtFlwFl3BuHLEtjn1v
LIQYXYEtfUy6nE0tXSbCS/cg92aDbuPj5g/bZJniEyylZ9g9TOTORWH7IKfeB67omPuACl6Rs/nD
4woek3TkEWiQKKCkpU9fUQtFTNLubB6XJpjyaY7oweOBkOsFYN7ctPKFogUfv/5C+TYlTY7BRfY5
2KdkY5iM3xeBeXaSTShnybWRNQko5yx/SlYZXvEklF9AMky8zQow2fpcyEFthIh1QNm6vQ1hQj0x
unFweRtet25guYbU2cv8DJve1+ML+xI/gyoypdWQzM/f67MDuIch/Wolg4kc8zB8cqdhtXwgxWM6
Lb4FOHAquppv4ZX/D+hbEOjjCCjZt7TfKsu/4uMWIDGqRmGykzjg0QjWw16FQCE4XS2M52s69k+2
pk6OqnicK9pNt+7UVzOp9QgqgVd+e2YPB2gDXn9nzLYQt6EI52ezyY4LNbEt4FwE3fjVHFqnWi4z
IQNGGV3UhBLmLhFT31yUB5Rpx4OqioQfps0IdkP6DcFoofywBdRtQUlM8fpgorRfdvjyY+vCFTj8
lwfrm5eveZW81FBLKJgMa4W18pK/H7368c94LtEtyAVmRz+7xWLWEgeVi5NePapIQnPWENfxsJI+
2WwWyeIxbetlEjELFoIcVfHX3Qb3xdZvGRo69UMxvjDiJjjoAcwh8mlBJMRb8zBRvNQrMQsh+FOy
8jKzpFPmLYRqNMeZF9a1k9KpWHFLF0kCfE0oVup4ofcBtLhIrHgzOYADq4BiZQ5tVX71RgG11fx0
LlWvAP4yZT2msxeqT9Ogt1C5A1GJBt484YAqhD4WNeHmcceZoCLw7qGCtTjDIcUq0ZA45n54WAEt
DXYk/NIQlxka/Ej41Dh6y1ThaQZfJKC4tVoWilbxClmiDCMRpVT0kNphhaxFuGkAQ22laJG7hnVy
QWeCiIDC0/g5B976GGnLFyB4fKqZ+wSARp/yovqUvmRl9ekhuz8qh+QAwmmiiphPRkuwcPuFxn+6
BtQNt0fml1932fYrWpvEuAC4sCA8gdrNi11lx5nMHxbvqH+ARpXlD3gri4ghb3p9/9NrRPHo3hq5
vm/jhck09hVNCZVXv9KIjENd3/vWbfPFOjG/L6tiC4emdUKs8HwI7b5Uj1ArDyLRBnW4XgzafkiG
+obviziVwUXroHLGeShfeC/91nEnxPOBf2zpx6Hcnef0rvy1dcaLYHSwe9W0tNVDuy38WZ4BlPv7
EXBEzNpz0peHwBsZ54ULzpho8yPSfa8962LV4BBvMBL2lsN5U/ZdUowrVtSPBRPCSE82D9o1L2SY
aWbiATUKXVxvZ14NfCOwyRUJorIP2zTNqYheRPTpGK+SGd/TXIgxH64/6XLP1R9/+unnf/zw/Xxd
LB1NxjHzHBmOCnWPtFBmDwBgMrdYiPdZulpaHBH8SQ+GVV9mAOppGSfbiNJeJlVyuIDzaTPCaBHh
kerN8r7VYpU+WIxXc7cbgVfP2QLnN4bSajZYa5sdbcjjSU8YRDLItp4p0Pc//PefW/WHEDuPigTm
j+L3JDzV0d4bVxpl2d2tjWG921UV3nPIWGwi6CiAegK5eo5LvgS43uzeaE2RYzqpiG097G/a9j1c
BcyVswj2CV5ZQSLCjTrSwdvlook9kBNCVEilbGZmN9N/bQMrNPzhlyMMcPZC7O8UbfpSQdvkylWL
ywEzQcdBRXtIs+VmVDyeyUiORhrd1lgFvaveHMdFUXzNcAeAwF6G8da76Bv/wDgJyzTPHGCIgHYt
9VC9ssm8X3dFhQMlKWi+JeH2tazSDQYsx9Qs9umiN5GKNx3mwGQmkQ942CWUOEYp0n5TUjsImc/C
DWkMDQ6Xf7z7ADRA0ijWEaPGa5J6ALkWzW8jTGHDWOQVndIWRUctiNABVc58CzoHEdBELmeEehVp
ee/VQ1q84cg9pNV3uy3cP38poNMcdyygt5lF/fl110vZ3KokASTZFBK5JUlic6bIOFp4uUg1jfwG
73ksZ/GYLr7+8pi8EfwBcvffGef+Lll8/XP5nXXz/2Gs9f4v/D1PnpJsldyt0h+L7X++r/7/2NnT
yHQvqDlhpL/tq5He9rPqkO2hsR/SVs/PN8GpcVXJWOfoGTDbW48Q4X5gDUPVr3MlmoiZ8HrOaJP0
OjXBag26Wc//xfEilAlKhtpJGCEF8Cfw+9XOxVasxYxxHXKDW5qrmG3o7qGuB7v46844/sah+HQ+
/IMYdY08G30w0TVwhwK//yFOZF7OfrvRPaByfOBE/QyuB+n72XaYQB7iUBgahl4l5h4xIhPjHLEO
4kxo41XHw7YrKV/zRf1Imb6YNVV2qHaxXTruTot9yuTgfazpugY7mrhFeXXyeW/kvtRxiY9Po/Cu
0Uc9ffbxnbb1vtFcFOVkxgWbZAF41tbsax+f7wSkC0bvbd+h3wFHCddd6fms4SZ3wPApYReQEI/1
CEpVZ8ZxvdK+xWr9t7VJzDtVC6ai+6WwgqwBf8cigD07KPyr7dXhUNq6vMcCpRmjBVGZExpN28Zk
1lqiTS+eyAxTAbAx5YL6jTW4hNlLx7Ob0IORKDDD3ePZvSZQD+AbLwo3Ll8UmNdz1npde92sdSHL
GsfJr7Gwm0X7sv431zBl4pnIv4DDIq/PaMfpjGFmsJjwdIpBN23DaF44rdH7lC1jME1U9JujmsLE
KlBQOR3fUgbne7/HnjxrGE8goil5DmCJbdQJj6WOtwzCoMFa00CUgB2Lu2y4tJkW+52yxkpMHJ0x
9bChYXI9mHZz7pSLmV9NqZPD9K3Iae8v7O6ab0DhT7YBFxWaoBwvp6A5atgCvrfk/pqukhdrjn4s
tnfZ0lxq5ou///Wnvxlp409GFIBU/DqgnOQfk03alIXarW13V2M7/WDghh7PFLO9+ketcI4JSToy
39p/nPny7QPN1zUDzWviHhrcfOYH9iNAZH5g33/6ZP6a/enw3x0lHz5QaVdk/va98SbS85pP1c46
6y53cqzzW1jll0+fPpsfjtTIN3ZtmEGpsyTaK45gFzUl3sBOnPDbFL56pTd+d7w6tI7xq2vd6cre
1U6IW16d+XtDl/c7sFboGSE6YrdrrSSXlyzud2qniNL0hveAxpdb0W7PYZ6+bOwsPNRjkgwqFaKA
hB3l2HFncoUNeJLwaqEbQIBIesNmVQp5u2ot+uT0Tp90wNQfvQecV/xRW4qnvSaDn0rk7LkDL30H
hGale378OzdvZWDOtw1zWDilIa1BqxEg0LUpxWB6xa6ywx+hPNPiNCznb1zjKVdDlw29FmtHILvf
Z8hAbe0ohu3DXbLaPCa1li6X/5NsX5GgXEEVbCSuvgqv4egDdqBVB+D5nVI6hRBQ5pXWA5gPsQK/
dLxT/NvFslgYmed7K+qun6XwIuxVZNNBDRqymv4WQzgvKg/aKvaE1+ikbRtqyoPBeIX9f40/NkBT
hFeOmvVFoPr2jGQ805EYgVW8nBBST3JMBk/5Mz4V14PU6LCbD2pZVkVRprkxGp0Ndgpmrqgw7B40
9p2taPGY5A8+C5IRDGzw8jX4xeLYrHaOtxcl7LPxAKrd3Y41dbdjQgGLNhqJ89NpT25RQO2g2YFR
llF3YOIbABWAPMgG+Chiy0qME3s6Ymog/2Vl7PhD9eh5JgE3xat5sN8CWk4BNZvAyHiUL9NCPzs8
8oHsc9n1DXuM3ZM9pH8Y9izhzpkn9yY0aWbmVa+rtHxMU9SP0BymEbCeNM+K9Zbp3e5hflcsX+dQ
HPywLXY5Uu8bS5t+HUvNWs42PD8rPpzdE8me76fxkwgnfW6Us91E39Ft9208mJFaXVqK82QoaR1R
wvWfRV7VvG6l2O/H/NG4Xq1vboJzO2uuLU7i4ZEmF2X5N1gljqnm9ajcoi3Q7m8OBn6pKPAyh+/l
1gQqxfqdFNJeBJab0XgiUloMMiRPD016xb7Gv8Xa66Jq8i745aTNnqkwzso79SOyZmVnTQwMhtUN
0pF/1i3+/7STZMt/1mC8/3RDZjFKDd0eEv5XOYfxiu9pi/13sO6PupJ/3H1sTZsoCuF0yAWU+5ne
ddUD6l5EkDdTPS7f04uoqY6BEW1mW7/Ahx+TmkOiopdTW+tOWh3iNhs7XhXzfLdaOSqs6YzF8XjC
bM+Casn8xoh2mB9In9t605be4hlnUvYVqvFbVikEJNtkAe7aJjt0KV4cMAZ+rzwYweTs3JnjHff1
/Y7mNCe52a4KaoXXzrgeWvHoEKV4Xd8Vq70muMsoKdG+k5eEk5Rx1V8et5CAq5ytTkoYAXqhrogL
xxCfzzzWJ8Dk+znFocnVQOgQivAp6UkvzXDRqdKXal6ZU/T1sFwRbU03RGZCtRcvdLOzSDZVM6rb
mKfj57a2LkGhZnFHQWQ44t8uTPBVfYmQRUAr5ESLqPfiC0FWIUk09Sr+12FZO7omrxJS18qesmVa
HBko64k4oB/ts5lXyuuE3trEH8mBZ1WTxZ0rQgg0pqihora57DRfQK/aU5YeM2lfa84U3lhhqPfW
16BMTHwneV/ZHlC3Ul1v+Blnfhd/v08nMYVHanD2J5ZdjbWlGRuFtwbJS4rBZwwwhIzLdHzUAKgM
B2eHFpmOmiF50n1W5Gm5WzyevDNaHFzjygiviQHSwcPbhx+Lx344DMvWPtONnZ/eISE0nWSoso6C
SNnhLa83SVl++tfm4QwkTkJLmIgHsPSc3j2s9uGchZ85Cu0aENEmWmhvl2JU8n7BJpbVekf+hfDL
vlCvki0sqfGIAUf5m3W2TqvXTfrF/vXP8C34J9DIeHYLSS0FYTMiaAyDvi7YEewZ/a4RzpFUsEQK
5fDqIUbfI3xLoN9d82DM7qtJUS5jr4qcnlw22KInnTN4m7x9SqfTMO1XveVkuo79l+l9lqd/2Rab
dFu91gz+3NLOBuURfDhZ22hl/LpVmmxb0ima6c4Wq255Pibl/IguDsYrYEyrDszbpthWTs688kQB
+fPzb/zYszcDFkHHxNMUB2SMer1tq3bGwNI3r2zHPtXuZd5g7761r6OBqO3D5wMW8s754ZKs02UH
dL49Rpx1/xv/Muq465VHg+nD/IBwC/pSNJ60634yD3EzQPkncryVlLs7/4VQFnQhRwO+PPWPxbGJ
d8WI+vf+yef6R2kYzfdUQr9iin4Cv0AFmVHBeLSFeGsgB7iAQCYQSjqKqsCzo9zzqd2LzlOy2qU/
37vnrZAeynyIaFKZX8sqW+BY0Jz0ExoKYvLW0lFAe6xF5NltliZaKOePGbx1vs6zKl3PD9aE+HWM
QDt9fCtrumQIUsgFPRRQaYLXyBpLw1To9WCrOB0UadMcfa73kfWFR3IKcVg053n7kWJMGu9ADJOR
MXoNOLYJvh6hYv4xyZcrMI0wqry0kbljFCvgxEShtuhkFQfU57Vtdj4iMspMSBrATu7RGdKXRWrT
4vO3ajfH1DsxI0oFFcDSjVpAAQ09EkP9zjecETdjksy4VylNl0A3tprMomifoSE1GBj7eRTNnzsG
e7CBQcdBuJ8vHg33VfJQJ7sstLj57fYBr++DecMkFioI8U1dRgHYcfDo+6/kKWlKD1CYMxMje8EZ
68tel1tf/yGTxFkQqjUxc4Y2SQWNXvgTDkyr7kHuVNc2dVIlS7vzHAATxER7n5Pu3EtIUO2MxV7v
Sb/iYCfwCkFG4M+V6xDexc8heWQiLI+uhIeA+tNB+nKc8PBiT8201/O6k71i+/Uk3sVrqLTxeXrw
FqKwslljM929lj8yvFtE8XBBdMB4KQqTLeMx5PD2kUPlwFWYE9ZJrhlOROSQ8/Vi9K4Zt2IIwFCb
NzziR8eDloQ8SwdGUjd7HYTn5mIwsQdeoa2EuQKlGontokStJ9fKgtSOxzbMbmljm3AFkJ9kPL5d
mR4eC3g9HZf3OvnSxr/xCAjRY/EPde3tfheEeV1vadoPP/AvrgalyLO+rgeHeZGb4ClfJtvlX1pu
NUWIuWzUeJuNrKN132Njc5TXsMoeQjEe6GOb2nchKg6SxJ54x7GHlfCx+Ick46JYOflnfET+G+Lt
/Euok6fjsF/nfPC5ZsSGlqMx36SbWi86i7c7EuuliRUWj7ibJY0FGJH1mnQ769AGIgLd8YtVtvhq
ER/s1Bk7j80sqcjrDESWJ4sqe4Icy7oOOPCsGhhGNfQWzPK8sCMEnzJDdI2qXuz5oubDel1q/4/9
822CnnQBdXehSB7XMuBvxZC3Ie2WNb5Ew07qJ9o0i0YUJt95cRt3c7t/GHINnqRQFjWQ0YO+Wgtb
4STHOaSkaBjOHtLqb//zn9/vJ5S504K2AUEM3c10vTE7Vz5hQA4cUm1cjMJXPWgeR+SIO+3gYL6Y
10OeJ1vpyrByoV3TmpjdU2EWAZ9vFrGykrVp1P2ITddjpoypZye47lUz+OnT52SRLdl7bhNQhk7K
BuFbzrJBRjhTJvIwq1Q9jMZ7+nPTXPmLJF+kuMcl5YyzQOd3n07fLubJKkvQrBlnBLqptR6o5H63
GvNC/o279/lYkvhgWq4l9HXSwRTPWvFhCcQo2Gl9MYMmBx6QXq3Opa0lP6cmZtILgR3Vx3okrbEZ
kIbfVfdE3jkQM6Q5AMOFWANw/7pLt69wiSVrm4D79cuHH+gHzT/8kX74QXzQ33/Qp6dPmxuUUi/g
L09GVy2MxtdlVPBgG8oovqGEKyPQmFyb0UC3XjPqa9++WmPQ4PBtxF7mwcS7ahGvHOo0HA8y6+aO
GFdFsOjKm0r5MPHa8dUd9ggc6guNOjoqG+UUY0oH0tT33GLtGJWbxAH6KGxJpQh7JTcz/+xIcByR
Rxi9pQE3cOXewAvN+bANJIH8qbUdsenn1RLbdyHjYOJ0m3PwBTSZTp4quiicPVOzmEHBCg8omVWL
ZC68UAdJRvPeXL2hMliYiXQ5L7Pf0nmePpjz6q50h5FNLA6k3RnUGJuQ6G2EYVLacA5vm4CJbNFA
C1Wm+fKdbt1OvK6+JJvNKqszhR/oj+9m88xKzuKYj7MEaHs3tI+hhOoud/ODjUo0XaxxhiFZ0NHU
NJS2U9hAe7BT40ubnFW2G2PK4unI03PyMNdyAm1PqmL9gf7pBSlvmXHJJ5MAQzZAyHHJ44onDOF4
VMJnTbXmxzSmrSzysyc366+MatQAwGm+TvLsPj1rYYKhi2Tcg7bKnlKnjeloyx9Ke7MyYdRZCswO
UZ1gv7dliZ9tCu8RgTKwdU/Hcd3ca50PPgbrfE8O14lw3IeCkb6MjhKK2IWmq3TtaikkZmtoKP8m
h3fHx8RIJblbWc99U1nRePnzCkZXEj3U8SXCpyqfRt3s1K8We/Gh+VYujfsbhSG3TR92K6gtvUxs
Ooptp1KL2E6po2KTPjMlfPg4LTbHM4Hcb0S8kyD6RHlW595a9MAEOJo0ENd12iHLrc5keVW8H//a
UlBHXwHAfelpF/Gt+d4uWa32r7joojSfalHMMZ+A2SKpSRfRJRm7KJ/OU2PMxlhU9+q8CvpPV3dp
UxJ+lYAj6YOc2ELdpycJ75yA4kU9/BEF0gTnr0F1MwpURhNGfOBtwmw/DhAoIztF+uI1eKZBWjtU
GIEgSfckfvhif5cul4bGOVAsyJlrOZg/+3pZ7CrrDM8fFvY6Nb+vcYQcqGYEOq555JHro9iwKIvl
t03vDaOPeK0KAOHqnp9+iE51QOdMU6E5XvtMwMV5MC72dv5U7luJUKdDqQFS2uU2QLJOYnMItukm
TVzwtpL4IQejxO7O8K9sQX/fj0uRjzPGp68o7tGP87Fj6MctsY/jPlU96MctsI/zqqZBP+4B+7i4
t6I+Ih+n4r4bm2F6Evng1qAf9y/s47xqgDqO/vnhQfDozSVHjDfQd9+/Yosnqu/HrbCP4zrq+XFr
7OMo6XtmcvTjdN+NLzAlp7zvxm+w1WnZV3a/oic67ruzW2x1MZd9rx7042jfj9vhsutrq0vk4xjl
fT/uCV2d7uscvKD3HO17Kl7Rrei9umdM73RvY/0btjol+6oxQVdH+u4swz6O+DzIox9HUR+B9v04
gVpj2pdZjm5Fb2YV7l/1/TiNfVwk+jIrMRMQqb6HLEbvCtH34yL8zLKAzmTc++ZJUZ+CspCOc8Rp
SO9P8pAej+4dJGAeimY93GY0C/GaLx63RV7sStu6g/crRnYua7gILJYhYxLiVRbnH5NETAWMSYz5
kgGjCEp6h4dfUXsT6ZCOuGKtT8lOlcQHIHooJwz5IV7jbxzJCMhzHIZTaK0Zg0dyPcKRs7zuoZYO
Chh3W3w+TQTAtL1DMfOpHdWfJI6hES8aHKimi8eiT5krgNIoPTxQhkJe6M3L634dbHQHIIrJ/mms
A1mu3LKk+qqyFFKG0drmvdv8nL407aaOHk4TUQ6Xqasak8XayDRm15Sp4jqoTOsG9VWKgwpRYJjH
ASS6apOovKZEtVLhJdq8KxVbF74iUX2ZPppSMOy9gdqyr5DMA/TbyVXSVQ8PlQxUqLGXgbeAeg7x
vpS0e/48jwBsXQ/0U1rJtsNtUEinsjAsv6xX8/QFMN4S80VemT9Gx69xmGxJAm3xS7l6q2p6H1X6
giD4webSAUQP5b2a7+zgZYRyic5IjftEcCEQvRpMw2OB1OhVqnes8pzeVdnazgE/Qm3Pl3ZeMdqi
yTRU6MeDbXsH7bedICiwLhdUjKB4+7/QjHF4wfCMZFerWCDGKco4iSI1tuypAxdQwjOGDqtrhycC
gU+m4QXdNgeZQGs1DAa9gKpztCt0PCPjXbnUdYlkGBoFOkMWRuZoMnir8qIF2Y9Qc+0wr6oudtk5
xA4eQPt4XeqslSNAYm7VOeX1ssY8Ne+IHFqKYDMcYoAM2+4z7BojADQdcNNOXIX2y1v59fN2bCKw
vNq5Wqwkg/MVWqRuNs9FbFF3+/A5sqcg1e2tyQsUuacuonZEe1aiDlAOTCfM5zEpBrLqwoIi0sLe
RYHYqglRPBsTwxCR9lDHnwbDx0vMONHxYDPxhl+N4f9HEdzD5heivNLfvJ1UucJvE9r3s7HbBKig
nZ3UxNte5fY8iO/iVUzJh7swrA9PJztTPRdvthof0qG9Hme4t1X89Mm9g8erOdnLRmUiEVBlWgnu
PRChe8s5W63mtpFqm/66q/e32m3zcp7vzJ8U7e62iMxFGanB7L5N36iKOdxJNjOEHkevMmec0Xrm
X2GCxKrY4BAQasZjPYyAzfhUj+anZ2Myceg2wXxmx5M/iBM6Tf3tCTBTPaMekxaN4T8vPwblCBio
u9iWMDPC+RgGSIZe8/WoaOkysOOuzcfN7XR116wn7nW6vOjYl7a6qrl0QQkq5unwCt8OhtL4UZvV
t/brv//1py/vC8IfjIxOmstUXXkJQvn0BF4id1zcvu8Oo4rbzxHz4tU9zolBe7fPTCU/Qq1abCez
hxJrhwSV0p4JXi++3GDB9RBEn4Mhw3Dl9yrjQwzcpkWxTNE5W171o9JHdvvOrVYJeqWCZd/jVpir
cLtxAK+TWJpAwS9h415BHZs2o4PskKNt7ZKiqKnqYgHX8DT4PjpI77u1zsMWZu50IUUcmmN8OouJ
KVWo7cV4dbJJGUzD5SG4bGp/wAtx98Ap2/NMwrJ6RrnuOUQjOA6VI3Rs+ptis9vgL/aQmGNq7AWY
QAE3JABoGg+Pe9xgn/XbOPRbUtJHsQ482ufHbGV+TrLK8QZPiYbH0WHaC01zb3GN26WFq3kgqYN9
OySKvnMb+TMpSEDW2rw5ZifCj3i9dDJcA/yyWAXkuM2nM+IlIWl1X+G+AcqIVzgVXnke9wp2Zbo1
BPIKS/SZj/fs4nMTOAzOk+XyeLwnjsOgPEdsD6P6LUHpRuPRRbVIwuQHMjLRM16BrB/UhR/Zt1OT
2HzWunhKW9wjBZO7vToiT6jbdstDqEIL7gRDH7bFau457Aw9f/2Yad6Ggt0i/UVKOPeZK03+IFQn
3rg7rcUi+K+P3vTwNqRfRhDDybc1V9gAAvvJXu8j6MeuV1XxNc2z31KYqwnwsnVF4TkLHEAwgAev
gCMe7poJH0KM+BKiGCECpSw+eWCUzku5AncMhq+6ZnbCCGMvLIMORk5IzXfbDHvQNHIHFJFxyJXn
c2ypubRJNJhcXpS7xeO9caWTKlmd9TdRNeM+rxIRHWAJbIJb+SA2DSfjAfpK/sCE65WpnjtljGgJ
0rKXw35URv3jPimrevjA4TSCVZrnyad/berpGb+8Tc8AJMNN+vCN/bQ/Vl8IZ0zVv/ux2H6R0Zlb
EUNGwL4HqOsxsh8DcsQIfHPPhxA0buODkDjSYiYjePcl2oMRGZiRZbZIu/kwlle08SG0NEEmsBEx
rwEnZKj+img4SI/PvRygtNTrNHbmANgfopPr0xhfcMaal87PRZ7cgaFMnxxV4QrQMbtNpTehzbZ4
MFyWliDUg2+zu12FB89EAzZ8d5+gN3FDeFPkZQrzFKp0i0+moTBVqjuYOyd6cqzqB9Aks1Akb8fq
kpV9A/8ajg55P2gAcvTZtWwSCaK73fkwSz9O5X8CUFnngjH8Uwp+GY8lkVdZ70uLfF8QyHMQrjFU
PnoRdyhjut0W25YjJyCR2wJI20nindXEPoS8BWY2BzdfGsc5XSIIOebG03F3msGDRbstl511KI6N
aCDaUM3RkL2HbiR7yhyvnWZrdTQSXbvVOF2iZh5NyxfsdZbfZzkkd1dFscFr0bsDrrD0utt5gtLz
Ke0Py6BQk9LjYlr+WCyn5S+eVkE559PS60aUCbt/NJqWPzaxQZuYnp/LHVJfpj0PzMt5DMnfxPaa
qZEueicAsJTGv5BiJLKAmrEvWy3xNxwawyL+va+Nic2cIGxiehMfEzqxW8Mmdmumpiem1RceTe0G
T+3WTHvtczKx/WQT64uemD8xsZuhpqXHZBzovrfVdu5UkdYKsGC7iZGogxiU3AAui0+KlDJJoYNq
OFlbKGF9mOIp3Tp9KJiRTDUZTK+epFkima/5TEdajEpACS6HS6zu/09fkkU1XyfVwoWhQwHpQLcm
ETtIvSs8SrRlkI3xObUJrfUlxHt18RGpAtFwIxDEwzfNmY5NVra7Myvrrr5va0F/+XgGV0Jm8grr
+ECjj+Z/8wNZEI/Z9AuKYkw2nE8vG/i3H9gfP9AfYbTcvnncfAcqm7A1sqvs38XLlNHNLbNWQfgR
xQ5d9EnDhtfFi4XL1XX19Pn5mX7yWug1lNVbRen0i7tkl9X0wru/9JTTqyniJcvU0RXPi88CRXyt
BXqdYjL56nyWRcVt3dYf2I/oMY5ubJkUX6a+tWW6Virora2UoaeG3doyBb5QQW7tHJlfUIne2saf
2SWhxEzQ6Y05rOJtmT/9/N0ff/qvn//2S5tJ59ddo1ekM71FmqOymv6e+fjxRvTfqPhHRMevYTM+
4sftKlKh6qP5/0Z8pQ+UmtXQGzHtkOn5eCMm5+OR+f54I07kx8vj/egq23j5OuNrGKhLllkbr+k1
ERDA+khUXNmJTF+S9WaVfsrT6kYUEyR5I1EBuozbi/aOP958442A+frSN5nbjBg6mPx9hGcjbNTN
RUz0O5d7wMTNLfXjjdxxH2ux/R6uY1jq78G96dr6yy9qdds83N5F7lpeL+lfI+r67kainF5HTt6c
uqL7ykNVujymyTLdHk+/AFwuWzWEIr5pO2IuSOEL2j1Xi+nkj45Wi5T/qGgWe8x1HSoVl1CMlw3d
tDcolCjAE1qLUCwSYYuuENuD5yeWGgRxGrloRdjocnFrCwz00LcoljiigcUCgLF+hoWzILWWY4iG
x+YkBUhhtovGqS9E+ACwXUsyWsfxiJLpMDGc2+voEvpTnqiYEjm2cNx6I82v6mZlo2MVTDbPj1mV
gm8F0T9grWB1zoKqYNc0zKqpXk6DhhqbLGBR8BFf2QZg76Dl35bVohXrMBIj5qOI9SDHgpeRUxhj
Ho9CG/4cBzYQEZ/RSI9C9V3gadlMM93dLYt1kuX4oAwF1oiNvhYcnxgwP8bZeYvK5xgrpCIy2q63
S5tIFl9s4FDST+l2my1TQCmpXjdpY7VKw/cizZ5Si99U2enwi3RePmb31b8yhzYCND3psaTz4nn4
7WOyzc2On9fOx0LQaMaikGE1+CBgvhuQ1G+rPWCLCUyB1w/sTwuzoDI10en3f//lx7n+pvnrXz5o
9kEK+Flo+/XpI7CcKTn8jNrr7m5V3O3XObfb5fQOKOfKB+q0L+HKtgWfbQ6hJvChF1ZXXnbzniQT
Tq8hQJph6nr0CQR/16bPrkv/wuRbcPryyvyra/MfX5k+vx59IYz8r8y/4lemr0bJsHRbXqXEFJQP
E8hn4M/IsoSWY92DrvuXxAqGDLPBCIMH2JjFc41+Zt3xZbpKXq0wjNe4tSjTX+g39rtfyLkYKOAd
RpRdmOYPqyB8Fl/zaEbxTF4YLoWnz65KX+jr8i9kdF36Ql2Z/yvL/8JW9LBXM5+J+MryF+Lq+n+N
q5nPNOe3dzXzi31159V8dCu/TXjHbmYiYgAFnShRESRFv9lm+TGLSF4Zpg/RiIqJyDH4EUcy/Pah
Gf0YMvpsKlGKGSM6wItgM6/O+Gt3xS5fJttXVCUjLi7OYPbnTsoZY5SEKK+brwpIXbrTUJFWQXKz
h+OMa6Jv37Jmx36LHM1JIDPKZvKkZwiGIZEp6Fvu9UyciHks+sv0PtmtqvMFMMmmET49Fz47CYSB
eToF/YZ3cgpvN9YC8vTZvQFB8FVqqo63AG2+ENc7YvLKRyzSVz5iQUs9LzxiJ7n2qY8YP8l1jkXf
KXzupfmkg3iyfLUPXYvHJH9I7eASJ7C7IBzGL6oAZI/mBhQPT6dzfoyP5ddsehl/qBkxH2cMJgtA
rBlqtii2b1Vh0KODUY1jBsUJrZEJ8VYcF2EMSU9RMi7V+SYp0WDMGMwejmW/GSCt4HvvUyo+Rd1z
QCw2H3iqVKtplt86B+Rsye5JIExQfZUVv7TK2DELhDMaRwFPofnKxAJZsirftODvf/0Jz1nHAt7x
Axq2pkxqZxPW1oJ/NusiB98/OSHNtcZP4NBBnNMupIYb9HxLG7YK2ikOdvKQMJI4aKc4uFQhVfOg
bhifE8t1PCN9rtpzA306MvSt4aAeGdpi4Der15PRghfMXBiyMEo/IwjaeqQdaK2opDFhM0ovcw/q
FMUUW0FoPPbS1Ple+GW/+u4F2sNJYOw3i291G4gQnl7Vz3/55c8///ffZpeRqQFvKSfTbzaMQBtp
ty1O8bLY3a1w1Fuj3J6FhkOtYMs/6KMPfvW4AxaN7BMbzUA6bSMV0txS8kZvqYhNvgfmthhpD6pt
tllnOd7gTjX1bBdpYbdMq3mVrjdzmL5ruYYvrMN/vMJ5+wr/CQH3rjwzXrEXLoWn8VoUy/QLi9Q3
vVSmVcCnQbOCs6VIQPN+AfkGSZ3LgM549wKMeNfrJF9+cWyl0vS2dY0xGu7wT61rLL6mrkkmbkrX
JI1vW9ek4MHtGptA15gdq6GvqWsiZrela1Lftq5RHZHQdm0yXSNX1rXotnRNsBvXNcVVcMNGJ1C2
el4Qu+olGsW35bDF4raVTQkZ2q5NpmpcXFXVCLktu0ai21Y1oi98Wf7+h59++OWH2wkPrqpuXgPI
J71G1Y1btigKfouSCXSNWNPGr+uy3ZZpU/TGwwMSxcHDg8l0jV3XY6M3do1yedu6xqmIRrhGJ1M3
Gv//zMeBaeM3/npA2IVe2609H9zWbse37jSJ3236nt7YyY5uPM/EIyl/vwl0QW/steTG7bjk4neb
wA5SYBHwZMsb32umOfv9ZpDFjSU62K2/g8bid5vCvbU3b3LjwR+RF1Z93VoO1Sd0pdNZci9oanpF
f5yRixZ4U0lMcVubLQm/7c3mkddVQ28yi0jVbW32UFGOfmury0zPjWXx5I2dba/GiCtuN+WSBZAY
QtrRxqQ8m2fo9AXiTPBxF4YUiPMgl1FNOCvy0nZsQ+/5HsAYxZDhhM8MVR3wrJygIZm/cb/KHh7f
9dKKZf+bL9V2lx7ahGN8pIFkzqQsBZma1dOWUkZn/ETx/7irHs1Z+c1iFs7/y+7Xv+8e8Ci+9h5Q
blZxQ0p/aLJ0eIF3NPaPre7iBIHr1tR9ZOlH1FP63e+JfXZgbkdcXm3/4aixaDr6V7NqlN3AzSLJ
xMo2vbj3RQayYfT/scvzwjB2NJsib+IS5+QWLMvIF0hH29fo3mpEbsWmjCXoRqeJulGbMraC6ev6
BxEPYEtSQzUBqM8kX6QrN1gZiYSykyhDk8SJSRhL1Bnakz+wE2LrrFwcQt0DjH26BCC4Bv2tgbU/
hQ+bxeY/LUkIb+Q+3aZbnC2zbUSHvAJqnNY9TXS4ICNCkolJmv9CxInrdH2Xbud3ydKCoD0X2yUO
DssB3Shs6hKh/XlR7Azr90m22pm/epTAtKlGrIBYXmFVCLYmPZbOfVFcaSWEekGnj78QTfhNrEPR
6DbWoW5DHlrzW1FVQdSNiORGjgwjt6GqTF/T1qNvQWQWqxDaUmzSfJ7mi2KZ5Q9ukHdOA0oAxhbu
qvu5Rq5zIqEEV4rA5J6zfFk8l3NzHRCEqjZhBQny9ly/7u0FiqIDMkalJ/I1DTQUILrU1exPDjYw
kpxPRI4RKAq60MkdMIMAHFwS5Oo61hR0NLDVEzmctQNvGsAS08VjMU/KtjNIKFMyGJP322I93xSb
3Qa3MJrOiFf5Ies68mllx9Du8YOrYv5bui1QqhBWU0U9gj51EvTtVlW2SbaHcn37Xj3azOjQ9ilZ
fYm+ydYP5MsDRKFzEwe+mP8/bfIH+Db9ktyl9jeAtYtEiYQaN9pGiirqLpTgHtKpsZSbDEBh7P52
W+Cho/GKIJK7nGivYTO0u8HGh72GYJbfZ3lWAR57scFzKd0tC0HpeVjfoPQUiSelx7rHsx3R8zVS
WLhvzAVR0aTsxfHE4pyYHlcT05PTHgdO+bT7J6c1Zx5xY1j+lJjWnCk97Xln08rTo6os8P5Nfd7j
cN6LnWVbZr+luMcM0+N77F7rTJPaSWWKG3c8ZuFYSdeb6nWebLfJ693u/h7P4ptgWPqgw16wY+AS
z1dp/lA94jjV3e8uF1DDKzi5hdvVAYXZFkjFEZt5JBUu5qp6OU3CEwWDdkITogglrwFOlxJiOKE4
Ck2IOzgS4Qmdq7igM8ZJ+E06pyQNpaC3V7NLOCXNQlMSyDap6GxC3jBKNg8xz4v5wsSJJoRHi6Bh
tGVA2wtTeWz19fuQKTwQljqw9X0bCnQ+9IeRgAax3KSLLFlZoSaLylFcTiTkuKN4qkhfhLxa9kXz
6LSqoDFwXlTzpFxk2bzOxiMkhc+Mk06SZQoz3MAlmLt9AmlumUsvz0sSg5ZTLNmqZzGJSRgml0mV
zJ+y9Nk9hpWIGAbMqmswSqjHE/8ohIlH19mFIkaViNkOn6soEQ3guVgOwYi7aog05TDjIgyhXb5M
TZyTLu2l4Z4LCJMcoqmSYSZU9cAnDEiNBwh/ynRrriUTwLWPO4+0nFKUjJqDRwN47tACCC+79d30
lKx2uGMhIuBPDA1Vu+7bIKakMpYkfzBR465sa1SjnABPIXPr9aPcnib2/BfDWxUPwmXzZU1tnqxW
xfP8+TEzYt4ki3Se5fO37TyfQkp9OiUv0lbL+ov1seolIfzHJpCJLkxvhqBL4MREnF2FMCfkKhxz
IsjwQLjM1ptVetz3u0zzzFwt6ZOxhmX7RDsWwb0dwLn1W4djYBGxaTZnPfIR8SEj0zyqjg0tPpDR
lglZfMYpHX8JuDmNiWeOp4P62tgyEwfu8q/vw1TnMMwV9WGgulWwwVTft/eQPnayzNESUUyEV9o9
bmcVAvl5cm/C3XmeVs/F9mvLKzccJS7k5VQPAsOGiNnh3er/cvdsy20bS/4KX+SHrQMLc59Jlcsr
y/JJKk7i+JI4eUgKIiEJG5LgAUhZ2q/f6QEokcQAHAIDiNqH6GZFfZmenr53tNSAoAAAVMlux38t
ai/WhV6TJB+n83k8Xlo2IlH21GguouXNq9OdaTyEjBBV4mhx44QcK25SHS9qXB4rasrp6XsarjlZ
B0+DGj7aK6rY0XJNPxDHe0WdLKOnYRtS/Ghxw0f8WKEjViD8aG+CCsPjfayO9h2Vx2P31hm9Skkv
DsEqL8HXt5tKBB4t7g5utVhoGNqv0/+wVUxud/GUKVhhvcLVHtdr+OoVeHyndxYvd0RoKwOhDRLJ
LLqOT/Pb67/++vD+y6e//rIgJEZUUToQV6LFYpqMTRP5aZ5Gi3q8CB0xpQgdBq+rND29jLIGNrER
kxTxYdBBmJy+OfvYiA7hErPBuPO35o7m0P82oKS0IDE1HEqBE0qhEuFgKK1RccIMc6EGw+xEXDgh
JZnkwyGFkRNSlFCHM8ShJ6SoC1IMCYqHQ4o5HR/jUgzIKfHGTStwFxfFG1JvnZBi0qWw2htS507H
R6RLN4I3QWdOSIVOoRZvSIm9SGmDmjFKBpQpHrodnxIDIoWJ2+2jZEiZ4k7HR0NBBkPqv5z4JCQf
SMyNa2CtPh9RIuRAIlT4Bov5dRULwoVLV40XLOa30TSZ7OKARkSECA0ot6GbkKBwQKSY2/sqJRvS
EnF6X4lAeEi1I52Q0h7cgJzCyun4kEQDvhrk3ElBE+5SrYiRJ6QuXJCiGLsU3XtC6r8dXROXELcv
PuFzNzEPFR7w8Ny0FCKEDIjUmVt0IHQyIz0hxdyOT2A8pExhp7tHsEstuiekTt0Oj7u0UniTqHdO
h8edcubekHJ7jJmgHsT89joYZ3EEaF3eB3c3Zdmm/hYqrKL85jKNaqb4ESpHBHXHYaPO6fbaNPfo
z5VSLuJWaLQH1nquybWhOQuWNxEUkl1Fq+nyIblS/pI1z4E16/H+cVbsO9KMyGoxTSMovzcplWCR
pRqlPDfFbEG0XGbJ5Wppz3kgKfX15fggHDpUdqORZPvfaHeKzSdDqLV6zhRd86GIoyNJ92/LOJC4
w04TepEwGvA0pZR+CYb+jpLWPWlCTqT+Ag95un0TCz+roZXqL9CAtDqUtHSjFep8g/I37flYDNd3
f2zRI9HoQG28B9p1vNxp2aUwpOtgqd3L23wZacVfrwcpG6H9UT5/jBQOXo87hWsVWE8gCvX9QFwN
KSrMG4Xb9Nk1OxFcEzjgUya0BvBF4MN8Pag0KZVAmk1qJmVjaCNqYyQ8krZuhzZNE5VuLIyI4WVt
x8TWn97fMVF0EuQwdmX3KC0TIDHUf6rurM0S0+09XZmJ++kizqLADBANQ2pvMZUHK4E9owKaUAiS
qyyaWdvtOBcjIrFHTMxhb6Njm5Xg0sHSifHMRq42eEcO80w9MZ41MF5g7jLVoxMLuP3ENQsEH4gF
vEn29C0gQvTKAmEFTLUCp3ggFogmKYBGGxT2ygJpBSxAu8uBWCAbWMAEHhEle2WBsgJmFN7ygVig
mqRAK2GHerUuLEChdXiM1BeBkGFYgMJGFigvUgCRrnS+mtd5bxwO3YO5CLG+xungSELjs0/p2gJZ
jR3ql41I2otR2jQTWaqRFJL6YOhmcfT7Tx9K8+3CmKjb3+U36Wo6CWbRcnxjt1u1UkGC+caqCOqZ
yUifTPV2gcjbJF8AKhd1PhHmUnt9NBwIn5/T5V6UEIwEREx6R2kyMTDfJ/kynsdwG9dnZ78nRMBA
Zwc08CFojG/i8T8BTLh/nGMVXGmPR5udwbdkeQPR4st0cm/10ZHUd1d1xmkjAl5U21eA765VgOl/
VIp+uAEt/BZ2WEfEIJCQ8CA8vr84e1tBZJ4uL+6Sart8QapwCqMdRmqRgIGsSzFHsmZ3A7z9zOMJ
FzMrt6bkV0dhQeGZ8E9yNr0CUT+bTj+WTezF0rea+TGadNqddPDzPkTXse1kCWYjrohvQrXAXiaT
iTYmZrG+RBPt2t+N44VxMa26xcTavPPbVGMFMPnMxFInQX57bcltIcmZo63hKmQmgpNoIbOAoxK8
qd6JtTJagBLnpBdK72yDNgSH7O3h8PJ4rC3U5f1mYBh2EGAW3jGzgWD3KRD6DLl3rs4SLcGgombJ
nRagcZTbx/YqzVcnqxi7G5H78KiqLWA3x8I/E/IcllJcJdN4z03GVH+gPq/SJI1zLdUxPE672ovQ
Ee3hzM0qDE0quEP20VdgtZLQN2AYIFq+S8Vw4702mdRiR6hHbs/T8wKD98V05W0/gpVT9/RFoz0S
bx5la0SMjzAhfZD7GUBGeZJXejgZ8f48Pp5q4XGXXtLmVGtrOoOikVuyzZX8y+T6YZyObWuqvlwC
Bghp2z98ArAhFt79jWJdmLEBC9vEGnHSgoYY6gV2AXVd5WM/aG0hIN6C4wdO1jtMsD98aTSrIfzw
oEELzloeqBEXh2mOtxfvLz5feADMDnyVrF7SoWADEKXDuNwc6nGlFknm81lwBUtIr5cGzJ4g0Vpj
nifL5DauCSlxxxDOYXjcxlmWTOIHS2zztVpP3bPFKGTosge6Mzpl04eJGNTOC6NMebH/9yHTbC0r
CmEb6RsLEwYdZ1FufT4FvJ4K+7yMZhfjrlddFqt4N8LXD+bn+G65xwinVHoxC2sw+PLxvT12CiNo
CfeodtYb3f8uwwhmRAcsrLev5DCrWhAaAgHws6/S1XyykzIv99N4tsntsAoXiLnsMjgA2kGFGUiO
ZCtLpWVtdnVXCRZuadlWkv71p/d7rxp3zF8chEBllq/2juZ12XnM+3BGbSjUDoMWXDqmaLGvucn6
JZNUKO9kQ4WlJtWhvgwzDpmZsPuTYsPhNi/WCuiPeZyZJG25XNleKYG0p4oay7MGQYKGqgsSjwJQ
LvkEXZCl0+BSO+fjwmuySoMWBsx6hGyMC6BdC8c8KMbh1iDCOO1LKqEzwj66XIbKZQ7TQYG3b0U1
PSTCgkk8je6L3bDavjTDhl6xF+anr9ju4ldm9qQI5t17NzVr41W+TGdNc9wRDrULpHyaIjtAba4e
l6oXes36hqtpZK9foLB72CmdQA6BvJrn0VUcrA0gq/4LTWMQPhx01cB6MKwAh+9OT6fpOJre6Dv3
nQxlWH8sD5kmqx3GnF7mJ0KOcNmor1w3DNRBMbkmNMIS4c7CsRGafJy/XTvgnUnmsh7+ABr3Lvzj
qBcareTBUmu0d6YME9+Fsk6yctjMkI+zZKGFa/q6UKPVBdqBvtkh3zvKWIPCO2olWizG0fgmPoVK
hlk0T67ivOYSIzDfSAcQkKExiUeTo3m5hlZJNasR32ssNcHZYF/x/FqWF5IRxjTsyK81oNpd7/vj
0m50bAGz8K2c2ce5H7btHJTNm4SGrS7AikIn83WQzk05C2QO1zjUlbEgLLlWi8g75JokpXTYVOcO
bG0pAaXrU6yllIChpoiXA3VEo+5GcqJfSNoHG+xs1/CwDPulvO4aUaZpVd5oXTSlZQlDUEnYA6EP
YGuoRIQ7FC51gRyglzBqyTLdJOR9gsVPA5bWgKWq070pPMzbJAo2bcydGcfao9g/MMaROgtAa0EB
qARPr40NZp3YshEPW6jEAmRxaGt3PZnNVsvochoHYNzZe4solE50emxWy5okA0QkZVtKNtxNO03V
XK4AYzREnt4TTRbsEVstKgWvCGaYMcq2Veg0vU7mvoEVqcTdaWmdQZU9DZZ6A4XMdnS/4B6Mbgtx
aLQ7QLc7I1eXD5akpZ4VVkFw1V0uCyYWIaHSf4H4fPFlsCW1rx6k9l+z6C6IrmPwcMLKuAkz4rGL
NjUpv+DbTTwP5tFtch0twQKKvkX3wRJ+eBmN/7G3VlFvllhbHKjGYX/cyFlhPA6zh1NZzRPt2v4w
eYVenB9+MlhqpYz3tv155E/N68DESOwtAe/vmEhR7N/GORni9lDFCDpK+YHhrQKTJ5Wf4vAIkU99
eGG1HYuFkqtOei+exPMlrEhfZVN7Wg7ra+znBhc9Gg0GHHeRQlJHy32WTKfJGBrS7cOuCDUR06cW
dJuUS+kkX2S/lG9yoTYeJLQdhr3Dg6aNmT2zpFUw8gMwmS/jDPLpxTFMcHDyNjxR707eohMZwtdv
LsxHbD6yjZ+fmY+VawSFmk4SfjhynXFjYFYiz7hdRdMpaLvO2Amtg2SPYvQ6edUVRZNM8H246ylz
hyIXfDj79KnSgAjRHnXkGIacesFwO37cRQBN+FErMi7wIIqzNAME6Vne32mC8cm5Zoo4OWfm6zcn
58gi1xS1uHv9mySUe1JYjifiZNf3cCIBtp1JKIakXXbRvhP9J7P0Xr9StaMaEKHa/FO8u5z1YDNp
XoeHI7aeUWWZWpVZgmOYcklgDXVbFjSFFq2xf4FgN53odLDLwvqon8FBtY2LuwFJrq7iDGosDSXr
jd4PabpZlFjrHZk29DGhg7ITcxr6eb6aibbavtDoxxDxdYUcA7osxINQXONiCNjLpryIVwmxqQIB
UQEZdfbUz2FNeEW6hQjJE4RXiJL8WNnmsArKTYJy/W3NKCJERxghzzelhFcf6KBtXtQNwnJg36Qm
/cahcPIIDUMactTpwUnHqxmw91sGnQVAfBBPY/MjbH3jGGzz86T464E3nbOgx2g5adfJSQDp4Sdh
remW+gVW6HCA/YskcStbo4OfEBJOJhKtN5HWCfMknVvtIgJTy4hsQX7VgnZoFaYYdZC4stu6wQSA
8XbYySGm7ePUhdeF2zDtAcxD8A2acfJFpE3ldLXMk0n8WHEF+6rtlZZUaTsHeaHSGZFqjaS2Zxym
ZrihYS3ELBnNqBcQ0G5h4k2gs8wEktUc2pEa+W3iS0yO3FJj+07b7oPBRFBCvJ5m7WuEYXGz6P3I
nIrzaIuN6ms8gjWle1enY6WGQ6ZYMW8VviXsYTE/tlwlKGhEiHs5l+3gaqUwF4RN+FUdzaVnajCy
1IBkUUWGIYuFqnfVsK5MGP7Wai+m7uIi1uZtGfDigiAQAo2b4lngScTz4CdmzwNPt2LJJ8dTCvkc
0BTqWdwiGT4TNNnzuEOKPA88n8mxP49LpJ7Hyy7l83iICA2fBTu5ehbCKZ+JSpJd4iJXaRYn1/Og
KTSBKKfQBuvH/9gFWBOiUGzEmOgFZCOxRDls5GgHd7df1hZj4mjEJH5S8Ep6kKcyOl+X90cMYYfx
IocRWhY41CWhuRaosA+A9pZgzUzaA7RgszGnEl4nXEsv6z2uF9ZPmvDJQRSyVgmZ+W2Ul5+CZQR1
kJNy3+Uki74Vk82td19QPBJtrl8Jc3GTTJOFyYDkDyPHXwLQHwzM4tfsk9QVheRIa9Df4svr6WlZ
HjGextEckkxQuhbNxzWLyAjUcsrQ71nWXz+3AjW6d59gfWUWx7hXwSwL7Sj3IiGWWh2u9PPDuxLR
NM6CeGbRXn2E2+UuDbc2RmOG4Z3+L5gmM8hmjm07xWGjDMfNqon5Jg9hxA+BuC0HRhXlp/exmUNm
2ULAYLjpIX/fzBLa6kOPLX8XaXMOww6esAXuh5+Koi4ysAutmNo4SfJFCuN503m0hFJGqCzIo/nk
Mr07jWBPBUx6DPLl/TTOb+J4mQdNNTEwYFE5lYqyAxLdWQxIWAREUNO0gVuTf5VM9cOVzK9Pzay6
8h1raron0InhlGCvQEz/SUwuYgVFlP9ZpfBwmhmNZZlFPEv0qzK1z66UCGmPXraHu1FDUfykHFcG
J/tynOeVfdxSq2J1OLyGgVxVrm9MkIyq4zmKyVsYkTbsbqzoXKP2epxO4lcazgvAz/yOKXHN9A1I
ZwFMkwDsXxTf/51AjYn5rb/XNSYLfZrJ+F8nOKwpsSuJ4Cr0IKXN/Crm+uonjnvil40XrzUTfvrj
989vP8k/2c9/qD+//xVVW4ARaier+5XShvK1qqe6uQFKP5ZuVSt1r9iN9uvS7N7cG6uVqaCAXx2v
rM7TACiIX2hR/btWVN2agPc/9fvYxUPmOA+mi6j+9pX8+Q59OLs4P6M//vr7D1VRpU5R/APpbZhr
1OpiHJWEqDYK+UAJKX1h0ZNpU8zNLh06ozL2GTbYYWFVZ7365ezjTx8+/frx03skhfpgE9be1aqN
NXVKlUP7ATlqeTY/aJZnjvvWQiH6ev7u4vPXr+TDb+GHsze2g1XPnY1umZwubOTqh/ML9Cf67eLn
nz7/8jOpspFJdrxsnK2Mh2M2f0TLfULJcT83XeMZZ/NoeoBTBwmKvq/I2ccvF9//yPGHH96K3z+i
XyxnS3hPjl4Q3y30Jzv5PDQh2Z61rvVUam1ZOuIU/z8RdIFIz6L178/sF4L+/f3Z+3dfkTj7d1W0
iNNQiuNxMau6F+OemfgH//HT11/DP0L+/hN5/8dbyxPWiokOtwTi7BAqNJst03mjsoLldw7LPTvf
112cGtxOrlg/2ECbaBD/Z5Xc7tHfwmHkdmeObGBTxwyJNDOoByV+OU3H/zhE6zhR0MkxWBQLVk7Y
o1jtgjIOB7CYrrSh3vyCIxgbjpToWwTWuNSev3YXOjylzee/7xEnVAxzAo2IYMq1V9tCWa8HqaXz
zS3Lae2sQkSYY0tmnaMOK+IWqenkWS3gHbeC4YpAdNNLQKAKsb7hkyk0HMwiGoFaBfd2ZXeWTpKr
+0exfdjhYZ8KR7gaIUmOQIUxLrpJ03yZXCX6xtZFBCVy2TTYWktBy3hW7oTRZnaWLBZxuS9nFi9h
7nHxG9H0W3Rvb+SEKJAI+1ajNahWE2CSyBHpIJTd8HlU86/Nb+hfeVXwblfnIT4SkjYmQ7nLRd0U
IH1c0dQ2rhf6NpFTrzHv5LDBklVj85TsqfHTGPZLd51KNAOfu8Jqyme7dS7x9tpvrxfuZMDwPlXD
JL6KVlN7YpjCNhPct9gdcBdLZCuXUZhxZn6F0ta9J52KWoe4hESrg94vYZmxwOFTC+k8vrUvN4aV
9Nip/LaOIbDNOVtuDwQpEFj3d1vHgwimHNuVh7obhkeVm6EtZsaPRGZpm4Mq1l8aQJtfaydhEsC6
Z7Ok1T42Fju6Jf2Kbhqsj6gYHw27Yq4z/b/V7PbSz57sxqbHg9lmUpQneXW5k1v2djAprmVXxTjg
+v3GRyLazGkMlKNoby12H99EWR7bV6cRiRxjIE7S8rBYz4oAHFP5D59hGzJEUos/BAcaR7MT8uYE
h+Wvn5C3Xz6/C+SuvOERl/RIEf6WwCKnPIBO4ireVJAjxXu1vLIxmsjwiJSf/fUWjs7nU7D1BGMj
wvqzRRqkPBK0g6s0vYwyjb0Fy5Afp27f1WQYaa8/9KlCs7xYnGxXnIw7DhUbxi6ifRqwVuMIJrgy
8tT6oSjJqYtLuWXoh5LeAldLHIhycSyCRORTn2i5trku8gupAiSO6FQf8a2oJKjGP5qTRcMGiqyH
h3k7X9vz4VU64fQVpPJYDgqjTrp8qcVytYA+ioYElVkchnoiuRiIuad+CtIaYe8B6TUqdUfP1Ihj
1oHfO8svtjlfF5UGeZPIC9QyOP26Cr1i0BcRa0x7B8ztgBEbRq6RQAMe6HovR09h3bvZZvVbsMhS
WEkKm8O01bbMVsWA1earJuEtIkOKW8kUp/Jdb6K2ngAp+waqrPJN+veUHIWh9p2TENPsnT3Ifv0J
6xswqVF4uG/AtIbi3u8cswNmvG/A2A4Yh4eklLb7Wl/OFtt81LaiNss6uvQwESfO8i3XvmxWtyVU
YTkIFl6JQApLql8lJoQfUna77oPiHywTCiAmwr0Fd0tom5EjW0IAkRFrE464ipfjm9PLdHL/JQfH
sCDKtsEFy3Z366CB4RBM8ikGHENbumxzNS0DKdLc0vqtIYyk4oegbT/pON8MfxXxw9V8+QpVJ8Vj
3iq3axlNYWu3hnEhqI0K0H9Mi1IG7p8ZeBBM02iiH0qbPCmq/2uTA4HEEvzdU8OnIMrHiX3zJ4PB
MrQVhNnjtgNtGWTJ5WoJI5VW02lwo+2DaR1NRI2UbJXbauyMtwsegqlgiAn/4GyDVwgCscCU9v3I
CfsIi1bZ1cNnOCihul6sctYHVMNeZ/oGT3bqmIpJz3jEQ+pFK9WPySGEtrvEm1Gdoihqml5fg9RX
pRCmC1FM+tN/uKr/eJtw1vZTZ6EEStMpa+HGttsupyH1xjNi2ZynpFfKah9D5DYlo06tb1ZBPCr4
ql+FTR+BHI6HYGIR0eXKNsyK1LcusD2dD5PT82WUPZ5DsHEvK5PUKZEtlBisyIgWCTQ0XJoayGQO
XUW1g9s4LNZW7Kn4oQmvcKOYr1n8b/jl/ywsrAlJ2LcJG1IfL3IeL8+LH8Jmoeq0fI5C8lS8v46d
JBFBiXqb7PCDwQCAg6ssnQUPs1QnEMUH6No8C8ZZlFt35khOofTzqRgEc/kyt8uKKBbtL+uGsrRc
2/oVr1Q4Lq09JG8PIzvirKbiUz8KEJzxEyNxk4u6jh3tFrZJoW+5BRulHSaRau92hFfei31+vUcb
UIHCQTh7qZ9GU8Vpb/XCVDnu5q57/stS8SCej9M635HD/pxWOd58PVTkKprAvQSQ9miHcBygtHsx
zb1b3mTpcjk17UzR1frb2Ix43pxp0vS+EiwZlFN4ce9AHzULkGoTI1mroXEWg+v2oIOMAP0fdVfW
5Latpf+KHsaeJ9rYl5pypewkTqYm98bZnTs1D2qJ3c1YLSqk5HbfXz84IKkVYJPgIqkqS+8ADg7O
fr5jvLmpr6DAKC9pBDTvbMU7ZRsJzLIeeD51DSiC0N5l59JmqZ1hBaiIJnLYEBZBshejfZEYj366
iD6liYoyt92uQrJFXvH75d6tcDhXRkoMHrEMiYm2k0OC9Oi4OW6fUyHDGKwhHLIXiBkrpqCls5OJ
ODPcVvKDx/DghsNZ//KgTH3qDva+LUwBc7r4grGf7ByAv3J3nsRcE1cdnmmyvI9heut8q16jY/QI
0POetjLI8vde7GlL0Yz+sF1N04UbSZJKGVbJEBaZo5yEyad9922538IBrsNDUQPsHLwA4jdEY10Q
7osOCbU7LdD9B+2z4Y35wIPqYNsAzcifye/y1//++OG3b79n9B+/O4CghB5KdlUQ/HQ4Vvzi4kQm
yECGwFenlgAPMQHbac+QTFkDAppLNE+iQMFw0pGH1OEU1i1wB8hmKxt3E+bTlXeuM0Ech/X8thFb
/1U2N7xxda4A60hxQTLsFJmKk3EkVFmIheVQNgfuM9+8r3xrs86UIDSoMHqOvzhWA0t8/isl7979
9PMfv//504e3bz+6YB3ZGPLkOVIIhIbmAGfeTY0SzUISD306R4ZMaDKwMsJBK9Q5WavpGtAaq4kz
t8li8YvF0XcqCQBICvFXa2ci+DzjIMcofPpCyzK4EJ5hjqxqSL1AjT/m5BzIFmMymDIReGzC4WKE
z0juHEN4tNAWU8GVCacoWaVzbIcCbgGznnuLL+HTU+OHakz6C7q5gzkYh5W8B4kXGlSp005ay8u8
Sx5SXhomwxUOV/hmRQhtGSvLxrVsrCtdLp7KYJeTh4zuNyoKDxasCxEF/V8pcQC/67HeTYgRPwoJ
WI9JlTi99WDyaiOj+FjPR14EralDgoxGAkU7KN9K5VovyJ0l5WHNrV4zBjjH0bIIg4RChEcb6z1f
Z+mnuMZ+h4ICRoc/rGo4iMKlXY1ufbb4G0sYGBgU0G9dKEUZYb2afwUvuhObIeHgtpdjnI6gywlM
hQxZRHXCLCHljphrOlaRREi9o1dF2Y9L6OjZIs09FhFHYZHdHm6hpshyyzjuQkvMWUj4e7NY5MaF
jJd7H1bgKHuBcC/8CMEgInGHUpYv91lkA3Q2MWprWOBbSyjrifOZ+RG3SCNEGO9H9Cec9xu+TqWA
5HSipRi4gSCo6eIw2DnfPDw8OdqM5ISHueWnf/xk82LCpOwcpf17M81igl7dPJy09FJCwjz9NtbA
OnnwqU8tSC+JreqId8ntsZZBExZiJnsWOBURnOgwEnpWcJRqccBlFGO1c9AAeVcM8QVJA4LmOEWw
k0Agj9OlqylLsbAcao9ZGcbpaDQeOxmOlWAjdc3o8Ww63KFiyVgQ6wQ6kssvuCfO47Dq2fFywUKi
gVOJ3+t//c/b9+gP9OHrbz98Q4QjlcjERZX8FL8SMFYY25F7QxP07S//ePfx3Z8//oR/ZewH/K1j
7BPDY3iUiPLBAgG2kNqp8xmCaQL6CjimGt16wiNCDl2x9c8/f9To6x+/o+Ldx+8IcY0txWSMFDZi
Co0mz5G8aq4IaphrwxX/wt99YL/9/vGnP374+OHrr39ziGIySiwKU84v8apO70QNfSfvv5Ma//LH
998K/quW32DXSx1OyqbukfXYtlrgUVq2ENKjSQhGR2FvhBgdhXRB/f+NWKNoVagtozE+l4SCy7Eu
LwhbLSS8aa6vCVlls/DmCpzGQ9wiZ2k/dGdoPNIJdSNfVfYUoGM4YLUWbPpMvggrhRu23Mpe7JBG
UWrZwzXiRrUfDRnVKM90uYQE63wDg6Gicr5hTXs5U6JhS5FshiRf7sDBRwwGltFwuq6y5LM9S9lg
ZEwwXzMWIPI2Sy+2YVlzTPcYDMwhdyvYaOzZqEVadlZOupEXerTO3SK9mS7uE7ifp9fl/6N5vIgt
JxZQKMa4q50xyyiUHPAQgoLlZv87jx6myXIbunLPUKINJ6DJpgZi4kPPhKwbCxArNSMnl+ka5r7N
02Xsni6Jm7XAeFesWaDke+DHMXgRCynCuWE5ixeVTIRZnJusTiTarusAzt82WBzwnVlwsYAnDVHw
qEpgxllmPvPuwbhXtGHLfPdnLiUd6Jln8a3Zx339U2cAZKE6kHt31JaE97TkgccWIswdG8o3M4DY
tZWDzzwmqQznqX54PIs/TxfJ3PZgRHYP8dwNMaCkhP7yTkLCn5PfIm+0u5ht1n6e5KU94dJOeITX
oYUW3dXDDnSZIubUDRqpC7sDWxwxTwEtMoU54MlRY5g0oh+g3+SgKu1lKULeoBOScazP8VqaFXtd
3E1hHGI0nn/fiqFh319RTi0Vvs5bpQGPYJS6XBRA0KC6XEbIVV4d4dfJcijEWKsUb75DCLEQHX67
kDPVsFfsEq9WXefVSjaQJ7BO1p5ScMGN+U86avJtLQeUpQCOkjMpQrkM81cvQQ2Kq9w2ldepVkNk
XAl5sTC2a7QdqQn4bu7YiRaGIVkfPoxHqAKt8nW8chQNYUGH4qfQOuxq9qj9PeouxVaaXSM7aXmV
6kCRq9y2lNcp4Wl4gHN/bG9yt0yNCHA5t278SqQa9qleoL2CxUD2yuckt2gGi2T5yW1LWKTJ63Sp
Fe/ZpTZEmx8Mj3al/xg0//RvX642+X2+9tQacmGYOyS86Ynl3/vi9QwgBdXI7HC6tx1utzdsGhLs
73mTlkufj9/Dz/qBvxU4DpzyARIHewv7UPv4hKPLue2aOLkOYcqOFKomKV7Dc0CoN+FQF83AGAa+
h1TRPHsX22U9vEoRbdhZM9hdVFts+vK3AckChJy4AwdW7MqLOFejh4gHvHzn0M7C14P0bh0qUmf3
8hQAgzF9yd6lu9FXKXFRvOSVWVyi3q2oLF4tpuYYXkMKMl8kQIhUK1qztfRJUgtIEK2z5O4uBl/l
5sk7hwEj0bRdTvbSmMd6XcmPUh9S3FERc3+y1AlZgdUNZ3mGl3BtpCZWHS9ynRZHcwwJBoTrZpNg
dgt8+PGXmhW+ws41WhLwmTWIc42WOdOgcxAcfhkHMzjKNxxVjzu9+Qs0w+w+WTiz2dr8VdpOOZwy
oGsHuXMLVWmcCw/e0IGHGEct6OCuucEWh354CvjPzgmeMNFBslYrlcW+doR3buda3cZZ5hYDwibX
eB8SyOg1w+a1iyFlDNAOImeVrqxiim6NhiyB9lfxcl7Et6yWdzfBgCNCQmJEu2OW5pX5c9tqNmTI
a4TsPH+1Op0aJCymguiDstvF19Pszl15rI0TzAnp+YCk/oBKo05h+AZTiJ+Zod3ZZD3GzNV2JHSn
cPcqtSNgjU06+3TwSXFYbxED0RoimSFlLi4IEVeoEhJaml+YRb4wHFhnjlMRkvx3kWT95SR8gxuC
2jf466doC2BiYdlL+csmie7jxco1nZ0hxiY6xK9/DkfCMdODhjh0IWZx0IGCLH2MmRzpTKxbALqI
6lR2PSi9ZJ3HCycsJOdGASESYEqVzSfzGFppo3yRPtrHHIHmTWaRf/KRMPyuGTuLeGk4v1PaGeM8
wJY3rxvQXss/vR+GsRUnAO1mS07i2X3qSnrAP4KfL7Enz5PmbzM2lAp0hosh0GOB21gZHlWfLJcw
PdVr32PCzL9KtFnqdPbi8Rjzt0tDeLj690fjUb+aG56x3PMQn1Qvw+StADtjuO3QkPJxZ1DUKyR9
TR7YOEG4FzO2JprEzsDaVFt8xz5Yu7h4H2aXsdLDGoPbzWDXaFCLoJpDo4Y1BsqcmKAjp96LdVXL
5ENvjMi7FWdbC8TCrq+ni4XVPoBf+ebVq9fFP7dTs7HSdNn9mtF9X7B1aOevVvn8JZi3APb/xv7k
C/L+83L+ajpPAVv9Pl2n+X26emmXeLt+Y8yn4ykPgkvoRxVnICLn5jXTDm3TRnfvgZxF8ZdVknm6
W8xalKMz3NcdoKNGzNya+Reank9vDL5Yc0MYUzZRIYb2IdSzsak2xsbK76ee0RCUkTCt1U5xaDys
WCVU9uGTADSGD9qTW7jf4O6deZKvFtOn8l42SwjpmOtPH/OobO/emZ7ujLuGibO8X/uiOrCvLgST
iVC6p6LeejRwyfqpJogfVmtXkCQywiCkucgPPwyP2royxpF5MM7Lv73OC0FKTqjqqQnXSsCjE1aT
7WgP5vDanCsLnY0uaZiXVgrRu+TWCJLUSNA8Tz77n4PkpOEIzr6tACjTConq1EJo53AFdejZWEPh
yxkcS2P0UKXGaNynKijN2sMBSQj4EIQdQYhvpzABZrDtub2H5dZpNJ3N4hVU3Vot7B4PqgEZRODe
IvVN3HfSshC+FzobAYgFRT2FDQ5ElIXBaOKia6GNo4x7jRiE76QrKEepwncpL7fZANYR6S8V1MCJ
JqQHCBqrD7DnSBONxDiIVlyE9BAepyRcUsL/RgkCDH7Sr6W3xybHHrUET56GJHkfkny2T870YTWF
pOBJ/osqgQUgBrFRT8WlHHc9Pu6tiZC+vmRpTA/gRUC4L+Kbhjnz6CY2pq3f4mLmAoPKyTqcj4Vk
Nbusp8kovg5HI78DpMalI+dtFH13cYmRHpdTKBfjUpSN/BIYHpeeYmTJQvi4LzAkxtbehyI4RGIm
y3xltp5m9iUWzr75COq5y2/FgPc1j61L40Zo5phCiByNrN/xyK9CjCxlVJfb3LOmq6/ZQKpjMJM0
6xGterLbfa7IRBI9jt3ONG1Vc7cj2srs//UhYk+08hSLCDXBMsRw3i1X1iSYQ66eomkezTbZwtMf
KIw9hPoOVNj5aU2DFQwmqZE+vVYPowA8MhmT9Skd5mE7n7VUus9IsCd4T0SYFvdk2sohM85gLIZg
bLDTf1rxbZTNfrVNfWUQxYibZ8j6YEtbi20zCHa4oFPRwbgXpMbwE5AWPfuvx+fzsQ4Pcy1bpWMI
oaOYREFBBxCaj8lynj5G6SpeRtObdLOObhbT5SebEC4Moa1M9WTseMNBjc/oVPMaHA13jiCrwNAf
q9XQ6dwgxIUALY5VOCjmbp1Kvvh68gSG4AYa5UVjTEflB9xwJrFfMn6J8uTfsaeXEYK9YhTAbMUG
e0jRshx/cxykhyHpuK+I3hdLRp/AlRMu+vFlplAFdDpzkxBGwjKzQWFzGtIefmgOpMvFU1UbkW9u
trcFAcqtORJBTsqNaGMlVZfJF1AZYQygvzfp1i52WuYwKEV0emSQQdui4bhjXBRPsO7J2z1czlv7
wSesp6hajRGABy+KIIiNItrlCLBoBzfXoLWe9MMxXgimYoSHeWxylBIBxBt5GcpzoMrBWN5F08fp
U/R4n4CDY0kL83sMl0K1S1V/4syCAMxhoxZM1cM4HdFIfKl6pVdJytrJIVhb8GXUgbp7rNySzj6k
F4AabJS69tA6f1rOoqJwa9s/mSxLbzIuC+/c1UWidblNzRihx2myjtb38fJgaILDXOMWwUdw2f3W
y8l+ldd+yl+KAYMJ0gcrPysbRSOPoSdGppqP8j614mKMi+ITrRslXlvSr7B73WPsJ7wLEdf3STaH
4tL1U/Xusngx/eKprTW2KW44uKgHYkI/oeqDQewArYpBHHFF41aGCFQHJxYk3KyThZ01Z+yCvzdx
9nS7Wc4gKvYGcG/WcbmVk8ssvJi6YPizO6i50LpiM2buFWPBui3+PJ2bYc+rYG/D7V8IbE2BTmfr
fLWAdXrWHXDBB96Auf33aVps4GSSImB/nJkARIxCgLfL+btKITnCBwqdmQwYn5UP2DMgG8MT4Nw3
wNR5X2Kzai31bIjOTiN/xsojEybkBTw7JsklaHjG6JmZP1wDH1tvHqsNU9SDM9wgF0BZgFW/yzxD
ECfOXt8s0pson2XJqppDdFBW87BKM4gqFj/hTrcrCqSlXTbTNg2O8IgvmDA1LM9oitAA5/H7TcqY
I1wN/RA6OINl9T40WnuHdQpIW/Ie3lqxmG9EIGF9hDl8axShXy1UR0rN47X51D9XNeB17odVHwuM
y7/ydFlICSNmp4X4TdZxZmse3pCX9qtvMEKnzWhmIcwC9O52ugtkOcoInf2ar/8VK9xw2pBqkkrf
rFZxNpvCSJmWSXU2IbqThK5KrvZwqbJFoe7erLNNfBzfNn+JS9r7iv8JF/4f8CPJdPFCvsOvXhH0
Qn4zu59m+f/+3wuCjglgdwMaKuR1PrMbx6Ep4qF8Zf8bzdKshDesw1OUIG9w//T9arO+VW9evEcv
9PsXGr9Q37jOyFtFRlq/XVy93ZdAjGP2KlJ7MMir3QsuOvLa32izWoCW6zSjM9LdeMkYTYVl5Vdc
1oLBvKd1Tk0kjMDtYO1Mig+/tbwpAK3Ak2ZFS6qujnsH3g5WZ7TO4jia3kIjnzVBC/22q7lzl9Zx
yO2hrlvZz3LmYPaWQPjmycQrd+QQgqesD5lQXGuVXYXGfafRIxBMKB/qpNh/UqoblpWHrHtjFKwT
aFVOZLuw1YmDs5feKt7lnsfjmG1qhI9AAyxYeFLedRWdcEZCRUKJx7cbfVcaSiU+nPPJIFs/qc+T
OyScBRjV+yvvfWyOXgoQd0kKoWCNtF+upN5rimQpkCii5UcW4sVnbWvS7Wz7KYXqZA5EANEQSu1Y
T1bn2u+cLpAA4Hwl6vGxm0LBFdKEhpNxt5xdBlaTvtVs9Xk3uGMfJlL+92aaxbgEPKqwjVDx0fs0
e3MCF080s7iOTHXhov3jywKCwPgXq83aTYNC5hJbijkQNJRxbB6SPDc6dbZIDPftzzcw2zOq9i65
PYWEgi9WZOOY+AnHNZX2tWOlQlzoLUIUSM5814M0e5q5S96xNj6HFOF3BKBuucVBqEWPIRQ3BA9o
dyTzrdPiB6pVF9/9AIQbJoubi2+1jXK0jNDdj2uWB31/53OaCYAyhFhxB/cXZ5+NgK69Pw19O6Ln
A53eHkayYUNsp+ur2UV5eXqcsxIdyCQWpmqTJcbizz95R0iHFDrtgwhYcGVwAqO1LaQ+DYsigaHs
QqiQopIdE8Iky+nGeNpW+P728w9lZB3Ms9lmDXhR+cI4h+72NamgqEv0oWn2tgLRdDAFLR+ZN2KV
wGN88ykBYPg8N7bq/E2Wzj7lB14ensC8L3Qk7IrfO8+erOnDJ4TRgDuavn5983qZLosCUWgydLVP
FcEABnUhqAeGBvBH25vs1iXCmOGsF3aDAhSj6R+zdHkXGb6fmwMm04V7SAdRekJDCoxOrxTukbxe
Zem6aMH2dHoANwGCyxG+nN1udf2DbqCYigJNlHKYHTzH27M0A2Fefb5j8vIb1edHRDMCQR8BSB/9
pQvbdDHrZiIoDns+5lEaJyuPtngaebTOpsscMA2dYQImGqKD1j6ivScDGIprIEoKANszY+E+eVqN
ScPegGdvY6+aK2/6mDRpV1SUH1TDpotkHlkQWPd0KNvZ2fXve1BvIQ5Aj9pGb5MsX49BvMJTN7am
7sWha3hZxw5tMe1noCVLzMBjGLkx1jSqk/a2aLq+N5Kg/e3qiW4E1aKbJAELmyRKs7vG+T/Q65QF
7KB9IAhDWFi2X+lA+LmxhM0ZdMAZdp0sgN5g/vCrL84QJETtG4WwtN+qX02NZoJ0SFnEUkKVnpr3
jAvAlOSNSvx1O6VUa+JJig0ZdTdWOIx3rrMnaHyeJbknIyKhJifkAbRr9Kru1z9heMsBnuYZVviN
eggmqwZiy75eYUHy8gJemWdz4gWTCaP4/FSva67FzUp/dEfTIUQiHS5iCy48f54zFS7wDmCiP37/
s3HPF4sfzDd/LkBj3dMUjfDg/PxX6+wgLaLF5oIl7yZNdzGSmQc/C+ymRhDo/dChwYhvwkl9QbF+
zsi4TdMjghYhADLhI8rQ59tkQ+yJ6rRFYey8QH3eRxWwQartROpZTXc3xlIYcUo6yOr09naRLOsA
2jCFyXeYhJ90760sDTfn99AV/DmPVolTKDJI7EywxGyQJSNAzKpZVyB+/kttNjexE5sf3vzzzI4p
G3lLXpF7+HORN6+gqdF7kvMxWLcabIRGY9oO1tQY1+I1MMHk0YgEGv0pxIhhrHWezerqKQgiuOHg
scvj2Yvdt6P+nwloVxWXst9ac4xx2sYwOTR/H+Mby33lJAO7x4d0HsP0zffmGy8hdVGlTOAnS+v1
63Rj3F8niImi/JruGQdZ+UcNuRHgOBRpHthta6JhejbdWGPz4mb1Bz6zIbUoKcadtXYCpHlvYGqC
sSRunsynzgpAhWBkDr4e6Q9lRDCEOyiEde5NM0a6bNosO/v0obhfxxBrKFvF8vqogpS6uk1rqa6Q
/fT1cYdxGtEVUlqQa2QPfI2bFleovDC9wk0jfY0a9/oorcUVSjyig1J+/tYk279nO2ZOkn5EQqAN
X6GIpfQarVZ5jRqY0C782GsPG764OCzn/AoDfozJNpGXTtJF4mGCPPuhibbBHmwuLsRX3yVqlpbU
FYZrtJg+xZmvl8z8wYZTWfqju5C8S9HAHlf5TuoDHKZ8IkPyrI61q0XhZvMVhJm329gWNzkuF7GJ
kCIsom0O+8lGfIzMmt4sKsTookTdpn/LKFGU38exzSrFWZZm7gIhbeRnpwqhOlos06Wt04bNVD93
nKPlbMKwGmoDBVPuvnCyHXdTMJmIkIj6oWgowKjN174KvbKX8/h2ulk4AsEogGLVwIV2Ixg46XWl
1IUJROzsWD0WEzRhSwDVJHgkFUSagaDWchuHhsiD0kJegMdyHB5nhqJyKKgu5zgVFtG228yiFeWn
7QqBv+aLWWNE8aWxBsMhBSuB5NyzNo6+F+Hdr8NsLfP3T1pxoYFM0B4AhK2gKkFYHUMshO0UxYqP
zm419CFlXwT0te9T6jZZJvm9s8obCzKuIYTQkSkAoyZ+q2sMuUzyWdtd4YlU5DIeB60atPf7QuxZ
vPvHqGlT/jN29+N9so4XSe7BvaYqvMCypTXh3IBgbIIVPZuJ47VsmjWJNnYKdtfgw/6HPhaMzmfs
vZxCVfpyuo4dM0vIMLQAJ7WAoD4WRzBRRwy36GbpWVazkLpXADTIX98lt9sRD9Caa1PidfX8nMuG
0G4eUQUTlmwxuV3KbsMOr8oj8sXpXzPIbjH8/+xd63PbSHL/nr+CX+xPhjXvh6tcrvXuXXKpJJdK
7rsLIiEJu3wdAGqlS93/npkBSFFEDwUOBiBpb9WWJWElNnqmu6df078zLKyFMhme7NPTU4uykuQ8
hGVI4rXTLA1wPgYJ6Tv1jY96NQQIlF1q5ziFZBm9QRkQjxkjIMOun7xWkVe3xrNaU6htS/xCW+A+
gdetuhJkEEE0IEEOECRqQIICIhhSfWxLSllMbSfWQzZfwwPrLMiL5sPxJgHesNTDEVSQuGA0HEEN
7l7EJd0eV7XKr++/YNQiaZRe96r8prflar6pMjdtpKyKfF0bbhddtwWHkwnVva4j1HeA6jZ6T4ZT
d8QMBvw7N/2hPt+PtA4rC+CIhir8WFey/R67uk9ZpUW1D2Lsygrm1+6BlnwUyQXZX/UjuCw2e8MR
O8/CmBVoLUtdmrJ/RKwKtJGWpBhugTwRiBBmjfh51qiZO/iW6GAr43FWpn2xsb6WgPWZxMShb3XT
H40DbKOdGFTk1fPNrEjvk9WjS2osVvZSz2rpJtgcwTWyN55ZSGi0o9rtSikTgcWo1e2vNjtzl1f1
VOLMhkMmsn2EZ3tTLjoC+b5h8C1WaupWMF9uDNHdlGSHXGnh5LfaBkMeYAsLgEnfqL/h+ee8mM7b
MyPqicRB/YGA5tQsN/x34jzB4EVY46vxkObzWO/ksYPaAsvogY3M2baCwJf8ddhFaEC9y4fV7/9j
p59nxV+soQPrACqk3Qwg5i6OE46eOAJsijZRMSXsfEvtA79mfCL4sCJGQsptxy3p0VwWJhacDdPh
TCqcP7Yw0aL3GIJpbTgNky3DiW171xgiBCqmNI6r4qOQ93WpaG7MNBpWWFmsoxg+ZAkKC2HfWsUG
MwU83jjSw2zdjqhvw+y0Jh5cx7+bZw4AK+kWc2pbwOF8WPEYrHXd+uQ1y3kFshwU3iJMB9t2AhcS
LCylPPsihYS6xheXA66W7wg2bgjH4uwrdkLgK+TAPun5V+OEGFhF6sWBpIb65tUIQUdqX5FqSPZ8
SoGpbZwYVMyCbvT45pcZo1xtSuPMzOrv4TnIxt02QTYPTL2WD+m6SZCDM37rs95WqUis6WB7bJVO
jfYefCYtUDSzayrkBA4izl4RZ24oeIj77cTF6r+DblktaijqXbeNi6lsp8JObD2zh7HNbYzEO39F
nltpDmldCaJNXtGue+kiBFub0obo4BgSZuM5PQp7FOFXhsLSEjje0rrRGon7n7YYlKULcOaebf5l
IzFM2sP1KRmfYSxozEKDE6ejYRFT2liMscSKtqBnWEgo23uVuRhwlf31HDbSmWQvwB2i7jA0tL+q
rmQjAxaUocM2kaQjaFqYEIFRJdPUxEhoQKJHKpGRQmhvSoGieG6o7TFIq6rIbzdw8Z8zW25ScRzQ
o2lYSklYqivoUg7F0XTwlfK1wyLJrSzy3g5PA8+6fQrnlFHgbjVY6zusncR4MuAmCdvDE1ObD9g6
4jIzs21M9GLuEFJo2461nn9pO3LazRbAw/N65BQMGRNwhN0GZg1Khtombjl07RBHkUzik0wi+5je
bQO0Occ2ywoGQMYK265/MQKUOG/giNtRs2Q20cJJpBR9i29vn/+EhZT+mpPAbKAxks/zrL6gudhU
9S2VtZvrb8znBgavZMJOiI3Dan3FAJwLqCO2lboTjxzoQN0eiAMHeHUdu9j4CKj/eHPvjgGz1Lj1
e+Rwpvkw5LRXrhGS/Wyzr3KpOJoEjRYETBX1mioURwi2Fyi8pyaXxA4LHYCYb/aEbcZDQ0t4UAzV
UdoOQ2/rCGClxlnCba45jvxJrxOH+vXxLFaPWeJ1RKm0LcOcDbZFh0G73SKiaaQt2mOu7c8b66Cx
iGNeARBJInBYpeENTvzjj12TAedqpMWTIXF5S7R/fcEeSuar5sIrSmqYpRK+QWbOXsUG4fLLblyt
a1dul/y0HHp160yLlGS4+xUEul8R0vbabTfJ8d20QEZ0nFVVGg+3qhhYVYbI0P4uVcNqghs83VYE
HNjb95gVDoMwSef5/TKxi1jPwXJVt5eaPJwPxFjLMJerE4p4/d9dWlaH8D35b1n58XaxPoQQt48A
3HXUMs0SU3svLMSBOzZPwY1SaMsFsVi3fABS0LHDzWlAh5aG452fiLOwFq03Gbax/SHDKizKvAgR
FCryRI9s+rCqR72Z16rsaxnrMm9GV9zY5Xvf3O74/H/vCLEPzJdPVbHJPphv3EAA+4CRf7YSvBNF
6Zhv+7icfUzX+Tvytft7a63/2dYIFtLr8aYwvm4Orq/FKEOr15Wp8u8b48JihMArMZrZILqDsaeo
h3pTuLXCeHq0C0TTIe0L0bSAVWuLwNxhuTVlntyhrhfZ8ZltQmqLBzv0nnUwyUhf7eaJfuBzB812
Oxi6dVvKkcW3NP8IhYbdMljJkO7mUbVFFYLac+CV7dlOjFjEDaT4tQqEFGpgfXpbmyi+Wm3q5bE7
6aohcW3WqC6nmAMLAX3vwmhRgIwtTASb2rlbq7X58CS/S9LNLF8leZnYB56bB8af7xi9HtLzoNc0
uL8Wn+ttEBspTJDJZB+ZsNX1h7RYgrBFmnN7a6XLHdVOFIpsvSqAEStUMjs6Bgfu2l6/QP2za5Ft
D+ZQik8oGrPiB4goU/YLETrEN6hnPD3ks3WeNGNIHLYdmFax8JZdxpD4t87duXNkatI4EQQ9MQZd
ojCmnRI37i4iQZJghtCTXUaAJKdI0okOIRnNy2JU9KG+x/r2mWcMkZBIThgJ2M/DRM8pDc9Jubn1
t3GY/Rak/wsV5kzavsvs4/Q+b12hnWhNUCihKA3epB94W6xOAcxpH/06ckFmO4fPTezbqxW7t14V
M7NgzRkVch2NSo4u58X9V8QaH6OlfXYSKqPXwMFylbhDEChI2aE3WlwDE/Uxvhsj2U4+d6n+XAob
1tcGNwMRdT1cGM3IsiXIiGbk2vhIzPPi2ZxuNfgGvD0YXw9bt0Waz+fZsW2SWl2TAUsIzIUkV2bB
PIzgizrLOxgxHx+dpnxcmPrDrGgirtuQefjqNOnmMi2ZV+iovh5/0jABeJQaXYUT4wJxeEAgvSID
ti7yZQVrxzXZ4Vdaf2c0xeORXZHCp5sihdlQTF2d3YIZ0dfDyDJ5ML/1kM1nMCvXYXi3Sr/6tZ4k
BKsJviJeKl8sTK7IfFWP8EYofGUnic8vQYRd8WHi84vlBR0nHacVMen6Ry5IwU8ZrqvPF+SGTRvj
6vwvHJwUVfqSX/7NZCiSl//6viSoFOLyX/5IUk2dMYiLn/OU4gq46ZDqVJRdgznypWvYtdgjrxeE
e2m1r92nTYhJpthVWD+fa6X41dgPj7Rew+l5QrL0rE5j3CypVuSSOfEX2xW/aJfGnxJVokcr4EnD
BzrhL3Wl1OUmGyUDEgQvJKoBCUKQa53ARUIJQpBrRJLLtzT+xLkWA64XhBjHQuxZH8Q4igbkUIZC
1IUSVKCSieEIQjBulKp4BLvBuAXdhDmrh+It7GBEriBePlLROWOtLU4lh/U2QadC5V7Bjr9RM9KI
X8M5d7RWpMgVGBFfjQgTfQVmw1McwojqK3GTfCEyH8RvIX7HMqQzoyMm8nYuGYpB4QiWbkMnZtTx
RkCFh9skMKDC4grdEm8WiA63emB0qNlwBDmIsKyGIyhBT1kMRxCMBULu5nYlCMYCeMA9pCCHAxIE
A0g6iOXHtVFBsTYxtlXpWqPnyqgVRud/4VNq8yjKfUNgysyrU2I7ZybkLrOfWrLIqiKfwhA1Gqm+
AxtOqNxQ3Sn7hWMc7Z2u7uN4RzvpVEfFEU/DTm4SjmhJ5YBLCrq0bECCHCTIhyMoQI9GDEcQdDD4
gEKjwHTqgHuoQbUYhOCR4xcr2ZcikB8Ck0O8Hq8xBIP0iH+hIkppO3+Lofxtl3GwUQ4KgtWAywkK
KBuOIHhQoAE5pGDYhIYjCB4UnRJ1OF5ViogBORTjWTV/VapbGQxHrEpJOhxBMBINSWfB86+q7KkC
hnwpJCxiAKG8U54Jx/CwldSjedhiZMOJxMiGk6ORDaci4xpOOuRZxINTeDENJ+bjGs5u+aaohlOP
bDgZHtsBjXncdnRAVcA21gPlXGLpt+y5/iYx3yUP8zJJsxITBQMFEzttSAcS3KutPOazbOWZJoUx
VqwbNsobfJWbNTzUDWPJTZCCh0gnIbBI2AlPzycZdT/zsXFXWCk7rD6cxF1eZElWFKuigXmsaRop
2/IIDdmSdu5jgDh0Szmij1QzRQnBRCjJBCeynYRktIfD+ULVMupGX9V8365mzwfTvuoh/RgzIiMu
c3MJf7lKmnnOiZ37DELsGPUnQg7EbOsNQOaR5DLmbid2cKeXY9tQJCec9PC363GEW0u6zqeVnZzn
z1swZZNrKMYiH0s6ualphBrpxWoIWhqiRaQYghYGaREcgxbo1++I8D4Gr1sO+4UhrIegRUekxeCN
GkQAOUxrkP0SIC1Kh6AlQVo88hoCOdwXi4GCLPBeNmA9z21Xy1Nifs6rPAPGfhOlMeVqIogIiYNe
kXupbbpzZu//GX9wOcsKz/hiyXHHNhR8+mRN/0T/EIPciyIJ53GR5suXwjA1p/oRWghZ5GMUSmvP
KDsv1FBzTlIbfUtbvuQYdBQVY5ARIV7XEbzoFRT1EIue3gm00x+SxJrkSkOq341IZotV8dzI/7rY
LG2Tw2xjldwsxWM6z2c1vCcEiUmohYk7ifR///V/Xy3B74Xh06zzYl1P2rac22/cMHmHDj5PzR4s
VrP8LjfaWqtoDaj2sVqs39vw4zMmlHEhlT5cIGWHmp+Yca5f8Wkxf6iqddO9sffGi828ytd2nIEV
jGSLAdNCSDfxKid9srNvy9+pnu/h4js0rh6LD/QGn+hHHr6RW1ILK/Bozpm75+Th+bbI3Rxnqw+L
8rPd7k8/Nfv9Tv58uCo2skYBRnMfxD17yksXWO09tDgH1aZsYsFmoPW0SMsHH7wqDYk7YSz5bQsR
+GLujcDgyETbIkj2x1RPjNXIIvPBPfjqHsAShENydPDWNWIzXc2s32ZWr37w2QboL4QtCcbohSnz
qTsTsgyvnGZLAksRQLUTzKkPBZDLiQhx6oKATjGVlybvUsmepmpp3JcYVlN0Q6D0n5ltOXfS5prQ
P368sSiic/dL6Tq3KDUHf3ln3nJWpPdJtUpKE+wAYIhGYLXGsS27dwG91p0wNaE62hEzW2Xlt+Wq
+ubeolW3oBPGyblPdsG4jqClyQ5gFrYHSPIJCVlZ0B60aXoQ0qmeSCJCayjNDYt6W90PDWGHQFQ9
ZEsj0NlvyW06/a2ONKypMme7TSIXqzm8Etgq5HAr8dpAWsTurveb4tHjJ7ppsc3xhzfl3rxHiD/S
Z03UuHvAQirNIxt9psfVA4ZYnzXpgsWFR+aIjixVCo9Mb2T+kB6VHuXjWiEqxl1PSkbeP8JHpqfO
cdL9/BL9YzjcpiH1mD4LgUemx0fe6BA3+cG4/avi+Wb32b+WyWw13djST2KPUJsFTm4zc1r68V+J
0icXvN5It74kWdtgbtiWZMilOXAdxV5yKWJGM55YhppYZiC75o1kpEUYHIgmJPAa07g9Tb5pcoRP
OI6jzGW+WM+zA1+zmVNAeRz9Nbq6sG1oi7xKkPFtTaw3K2H0RXyymJxHjz7ECKdCDvqX9X2RzWal
q7S4z2r9+3LoaQtuDjg+iHS2wxQiTCjV52yrhTKpuz3T8nk59aB8G3GhKKa4ODnpELHVo6sN6+/d
SPHP6P08W96bP2t1XxDbmMpjL/2uOwKYXEHphEdKXgMb4TO2NqusvkfNvaRPAY5vEdLnCGz1Xfpb
s9EfF2vWqvKa3SXxTwNy/DRgYZ0nHTWnbbgon7ATr7lHsifeDFBjX8jWvrC2CCAtxlC8WijRT056
zdf2i3AkUCyr7zX62HZ7kAHM2xvWTTBy0YJBoIOHSN7rYt7fN2mRERConOgJVWhY07P1Q3G/XsK9
8pJtYMpmiTk0XW62bmiiEKI9RVgJNIJepbfTWfYO/XJ3/5D/ar4CeiXkRcoe5seED6legWUTmIAg
9W6EpIoZ/3j03nmyQdPaptsLtEbUknVqwSlaeQPualvS7O8YftPXn3/5kxEvY7n//K//9pd/r78d
0KE4FllKfg55Tm8z2yG9ld6dz84A6SWIRA7mbXMl0IuBmU09sktaD9q+jUbcPe8+Klet1k37C4aD
OYUnWI/nyPCv//Uf7/gvtTfT/PDe+KLmT6tvy+z3eb7Mys8YUBCt9L98+tR5BYyHuynyaj9kn66K
cncH0BxD5qia2a76dF5+ropN1va+bfE1jlY2twFLsw0eo4f5RFAclZpnz6WwVwXOL/pW4HcBPIel
X/VMNBxtYbQHa1LO82nmztp7ex/A/tLbrYtmCU0AgEfzUxpNqZ2VU9RGqU4JchLDoAo2kD29eUyL
m7vVfJYV5Y1c3pSCTAl+4GzNmZ5P10v+iDBZTI0Iofvlzd9ujm1sI3tbweOA/y41P33NAJNLPJd/
u47iJt6lqlab6UOAWEMAS2o0N6gR3NoROkWKBe50QYxcrmgx15LNjXAh2kO2oBPF31OGJ6xTRrI7
NVikKSYTTvkYfDWebKcQmAwmtB/e8Gg+xBF6KaKYIQoWa6lgHUFCTtk0esS9YTSyMIKMKSP2otPU
i958bRMlASfs6SM2KOEj8iT4sAoGNYIQPZan0g1r823NYh7NQh1nfkZdQI2iHy3s2NHSqaHvBG1m
Pm3mVI/BVy35lKLxiBGhx5YSwTiKqWbWhq1XyzJLdnOh9+6U7i6RZkn2tM5NwJ2slvNnUG0w0x2n
XvhWf7N2lOr7NyAJzjvOrYy65hIxFde0ORZnibdTRU6ojGMMXq1p25gqNelYZ+9AaumepLfzbHcy
wvabazkIc19eEMszkFOFRlpUofVYa9rYPUnGVgtGBR9I22ueMBs4TLCR36ddymsPSmC13N7n+uD7
nV0vC7Awp3r+0V5891Le1+56acIdNZEc/lPVlMcySB3UVI6tpnpYlZH46iTvtL8gHp2j+kw653/L
KIxRxcV5CvndkL18slp3JsBYhnhCVBzT0vQ/+HIWeKJDQsXD6L6Z1efuZX1c3T+26EhFtf3Cx8gk
mA+LzFK7dQ1rophx1Oi5zUm7AxhzrfrzX//sUr/tZVaK2+Pvx7SkPMhLPnkKmQ0oTXiUwVdRpOoI
LENi1OcC1q1OEb+TtjfV/Mu4gG+9K3L2A7lOdlMu9Yehz7DAv6jT7d++fvv52y/f/gSsosbkgg73
vWYufqyDnSoReiDcVEU6/a3+N/k9u32sqsQ1Rm2hzMBCjjZ269R09gh+0GFhDUsgfdxtXmXvwxNL
emGS9GGYBeXdxtuN6xD3MrmduOaSfZ9c79jWoKVB+Lqjn56asFsdRgCh6IZlePW+nPdPXvdtkTda
Fpkc2usHaHYbPB6VJuccjU6TDG2fIOPAxOg0haBXmbvljNILrq9h+h0klrkQ5MeMrakYsZLYZIR1
r7aMvdHN22eAf73tpGHfZQqWdcM+GDUNhoXScjRDBRskrG1f/w9abzi1J+Ai01NGsNEf6am+6Smq
hLzG9BSRV5kq4hQFWL59nJv7pCymZVbVkDcswYiwJ4EJcGOXMmXewcQKLCZJCt0Nlspe5iIh57UX
/wCagkOFnGgVWkPa4+phXr7Av62L1f23fDnLnj4u6Ea1mipdYBnQHdaGbtkCS22Bph6y+ToroISf
uyHHaZ+dq3cNpOGG6xJqUcqCF9MuoYMBnBpiZX47z6vnZJZZd+42KxNvERUjatEjeK95y5EQLEys
pyMLk8VaQR+rwx2VmgvzOVTQcQqtTEbma1o8ryv00Xzbup09EQr/EJlpgiQNsAN3WTV92I1EWaxm
mWN27QfhIYLqjnjEHlqtYVFOR176mLKl7fj52fxsLNT7TTH/bMfgfbqpF+zBbMgnhRCCLrOmc1vN
ye+SVZHf567P/Yt7Zj8te18/dR/3jv70jvzZ/LdjwzyxH/ve3RZL51lRJXdpPjdi/L4p6//teZ19
tvjTN2k5zfNXkZrhdSKV+PFqA5pS8QPWBqTG8o/agK82YE6UAAPhnDjjZK2z+8SiCeXp3DtWUyA6
oRL9UYDoXIBQXAR1+JRlem9dxWmxKu38U4fYVj/OGgTYWV6uU2Pc4WEKtuuEDnzxp2WpCJg9F72c
Vg9acvv6sMBy6NaKN6a1dVkPzik960sONJhuO0OEHpupYuLSHmFT7d+nj2mDfVwDBy3S5XPy9FCA
E+Q4Rya2IT/sgisVJ079R1askpoOkENMJlTx2GRagUzSEXj9NFvqjggIRdSCrzD5HUvOLqFGCQTF
1GdHd2O6H9LyocEWTabPU3icF+fSTfM6NlLHu6l75SNoe02ok+WPIFmqa6Tw73iL5c6ZhoousscO
v0aQteBt92mVlYkdzW77/JbpY37vBezEtt5CZIg254vsZgf+npTL/O4ORqXqOhn47RydlaP7Vc3X
aunFybXA4oh/z0eNOhaSSsVQyH6W0xuGcJLOzWG+NBLzWENBGQ/34NaR+S1jlSca6VMsxcn5ipYn
TUysRbqNoaU/WO6l2+22H21VTgXQPHlgJEOdSji0r6rhbmMc6JvAwQVwM4UwoagNCf6QoLZeqYD9
3R3NDhd6botKuXnPKv+H9xxmDpXjD8sG7AAJWJXDG33T1cLqcbJcNUsC1GSVwGKiRY/97gAKUJf3
9IQpGuhy7fkoy/t6l+3qbe2H88YgYBx3ejKFOoWh/ZZzOzQl1DR+/et/JivjeBmPK9tmnKCwgTNj
hvX/k3dtvY3jWPqv+KXz1KrwTmqAoLDbg14sMIsZzGIW+1ZwbCVRl2O5JTud+vd7Dik7tkXZFEXH
SW+ju8t2UqZInvvlO5GLTDc4AnNdtv7Rjm/o8U8ae6rV228496ZlBp/9KSmfCD6CkJYgq4v5t/vp
/Ft1/xus2Xg6zTkioQd1LXIPGf2+qdbYtPs0rZti7fl6htNHtYklloOK1FW9WcK+/Fg+iDjGThqS
w65vT3BtkDlw0On+rKCv2zd3nNAjVYvYh0GYF4Mu7qt73YmiCDaMeM/MxXLqBvyD7G1ClgegQAGB
mog9giDbl3BAOMXcM/KEKRqICM5PY92DzYPh/Y4cywWWCcay/dsqB1KGfVl1xIsBT5JwknYh7l+I
hU2QTkN2Jo9ZanbYhDsvVth1u/QUOsgc5LKIFEzg4S7n03qe2Ww8DqEGNbO2ibBsb/k3xbdaYAQE
fXU01+GTYtn0WFlSmElYSyA/qXntcxw/Ah757UNV+cYAsdD41jl12KUeizpsGL+OJFFBgdl09+y/
VRIImhZ5q93bDIMw8F3mX//+X784S+1vsFPQwDaF6IfkJhqrki58sdkWIthnY4A+DGv9PX/DeLFN
52Zb+yOUfSMvOnWBOs9JSmrbM8L6BIjAixhhmLhoafbSZOWzLSZb49Yf4HGeuiJFEI4wHVIOVH4X
ID5mLk98XlIDJmfyUrfcvV0Zs9b2clfzhwzRr8pWfIKmXmCMvPEXJAjEZr7gsdrykEN/1MvMHHMD
VyawsGLX4Dv2bL3riiMzCyHU+2tsOHIahskdL0DbX/DKTqLgzjW/IO25UAgoElQo5dI2QvaTINfo
5iY3HLzre9le5Vew2zLsGI7d9Wa1KurZFO57l/vzxmZsXJlcgcQx/kL46Dv17dMDO4ppsGt48bhN
c5XzFdiRqd9/YS4RA9O8/8IShCZTJHGYkZ0NMzaIf30qysjywSmDJAdCSY71TDT5iYyL3Bm2TUdj
qutfTVFfMZjI7SOJI6imZA/GRj6Y1OnD5kdP1EM8Kp/oI4F5uVPpC1zkEyWvTCysk+hSRwh5VyKW
7oOJ6EROAmKRRyL/GsSC2JBXJRZ+cCcchd1Rt+qViKX7YEP9mqTEYqi4OrGIPKmN8qaIPTldLEKh
JmfXpU59QAQaO8HyD0Gd3QeTcYGPNNSplL6+KFMR8Y62MQnrDfb7kjD9P12snqbeBiWKGWp6Fe+W
qOt41YKkln18iJfgIhC7iu+9Sab+0c0G3fTUVrwY9MSbeuGvSiZmwulVfJvBJV9pnEyL+MGSk88p
cenoBa7ggFTO+1kx6WPXwO665d0TuTdt0HCztjVhnUJuyTE9rpPTaLAW6exexRQE7s3oBOJ4mtbL
omnqYlXVnuw516ILuJtMVyQmCedOMi6vEM1WEihEXMjDjqMRdxyKmTGNlla3Yvy4WU8XC7uULZ/8
8uXW/bsP5jybrvDBmxbP+e29PUOcI5ktHr7AT24wjrkrtvyJ/Yqf2RX+DS6VuZe/VnVn6iSlFOuP
san5XcXTeUmkGXuny++hQMbyieYx9v5+wS7mv1NM7ZXXKAKhOHcjqnLZpxJW4tTsCESGETmPXeoM
+rkf+5yCFRuRMNsd3u02CWSN6AwbejKXyFpUS2/qRAs9YYZfR57KmIT7W4vZcbv429iibcM4k8fN
scqaekrqUQtPl7CpOrufNuXMXyyswZIgiTaHRDqr5p5mCi2pmQzNU5w4xY3FcIJv9pcIaVhMx9rw
//0///FrhfgF7QSfvoY6o+gkDB7tdCGkb72i/tK8dFDLGBbMxSSKdyURbavrdLWyInQ29VVyMc1z
eME4y1NU/W8XdfBPnQ4DyjWZCGVS0Hk7RvRcKTqsNomqG3LqcVbOWbYqXwu/lyZILidC0kS07ia+
Wgu03eXZSnvCUD5H7K8X2+5ki1QMRQoiMjArsuap2izmtsbRQknfdrpC2GSEB4hX5b8kltOJiMnW
DXpyQUc8uXdmNzVC2iAnH1/rbRdpcWs8Jes4H1BomXSZbuk6U6AeokNE/lW6EBBU8E4qaewqfqxA
bIBkidZ5AL3wZb1+6BarGTg0qtNaYF6zK1aUvC3kMbgc6uFyXdTwDHfkpnx+pHfslWWPdVEsLXwR
fMTuWiyj7vYpwkmZfEh/jFe4PtZgc86eSmDkPQnr1RlEBU6U5OGI4vbUERHyK/nCKZNKcSG4YEoI
xTvsCCJFxFr5h0ZaxuTDqun4E8r2yTNy+UVojF07HFXSREmvwePrKJHjjwzBK6ebeVl1MEk9GK9S
iEkuWYJ2ImZ8HGYYKnYRU+R+SAT+6yeaXOiLSdo6+HX53OMDcyY5uPgkqZFVeVGEKYe7PrSxtjGZ
zeWDn+fjnJyaS4sMqrSW2KUU044fsxLNc3EBEm1nfYqcXO7LpaZppNF9ubqvVmfQpuG8wLHX70id
PXGaHPEgKH+vKgPJ0DpmR4Pf3pEvg5IS3bIlQ8hV49XME68WSem1D9CaU4qA1pR9GFHavR2uYyyW
3kDI472340DkohO5uhbP6qMyuo/GQd1arqj2/4RUw7vZV0UuFmzqISEquejI/aHrrnC66nS9BmN3
sy62tDurqu9l4a+eYRMmxEdhXx9psI/BVDKRQ1IsHxdl83TrXBKbQ/UaAZpNjEhKDEvY+na4nItR
HMWObYxNSFDESdfd63XBRPG6LBqP2yeVmUijk+st2tVbSjKuMKdxcbcc9CM6s0dB0Y8mkLvliyrV
RfiofTqdHZ+TzkU+0eNMeESkXBcZEl8H28zFjgVjV1UzuqNmZP5hRK+nuFaZDyF6FXtnF4TyVNHm
ZrPC2qtsehQRQopkHEOuPMa1dPr8ACWnWP/iPvTsCks2DBGJ93Tvi3Jh5sHE1Kn4k9LTlyL7R5eh
203lMqVlf6YNThisP4lIqqyK+qGqn2GxYv91dhQRy9pZmMAsNV6jt6PeyAmXEbnBZbUuH1oeBKFs
hwksrCVQYPJz2jz525ZBbuYykSEMu5t994ln1zCuYXskJns4KLPKcnMxu/4MAeWwfNTlDcGrooTp
Sx9hTJnSoD3kLBYMro02Z0Vd44SPTY2MtRtT3AdNLXISl5FLkACjKrrIeTd9zaY4bLlZg/Dr7oO+
1CNT7BIe5l4BBQjU6jlD5euXYgQsfRrzFKGStBWhmR0Cd+9HoEdGgRfp4OO+ki+5YTkX4MdTITkh
uR9RjpskDNqb2GBRCqJHK3rzNIhmQWmy9h5/XAIH2I2qh7QVUospnBU6vriG25O3GQMoYaLJKNF5
oGNPSVEgPB6DBjOQ/L3HCu4oiymv9hNgNm1+LGceZx7LtWLyhmGatgeLX8OaMik/C+DmXCtlmGZo
DPkRIlmqhDjC+dTVwhMdAXrBEIlMYvmBYFxm83KGH01rb9GNsba8vByNlssS+B/Hsc8aL6UaRG0a
WfG3jbdWiFHlr9XN4f50mlP12nwKI3nqPc5xWb1hN3qtTwMCNUIzPIGbUNU/3vC+QQDg42TN5h6B
wO4LeFf0CnKu4IhlKlFQrZ+KGqdz+EUADxyYefI2999lbfgggzsAZxjxAh0WtcM989pY3MTB0oZe
+esTuBrwYlFYSe/l31xLEMLqsoYGjYEw95HTrpOUZE0BQnDeY3bgLDV64ev1XqmxNZURV7rYgD2M
c4oKxEF8MS3IeLYFz/XD5om4uzt5tOz00QK5mCRmI0gFq6/75IGgJg7vcHuW+9Of/Kealc7O820U
W5FVUhry4s8xigeqUlQy7TVydtkwl5KRwKFlQ1Y62TIaxoTi1AG2fOeX4hitp0mNR4uGufhqX//r
n3+7O61GcjXhggUVYJ3cZPNU/eFvpsFmEBpziG87tKOpbNdeXTyA2i9qP4gsAyOHjVrp7Sy7a24n
y3v6zHNwqIKySKJPZmJEwdn+jrHbMfPefWIlmxpNln+UyznOHoWLw7Fms0Xp1/EmtwnL9zjWrx7H
WIDiPVWmLc5LziFnizBsUX0dAwYcgcQMqgQ/wxA4zheX61UAAgcPBjXNCd9ejqPZe6igW0zxYu7H
qc91SnI52GjG/APkVWATWA+9PMKuMHPsLPyNA3aeg9iuqx9wm/a3vOZSrgLnJpzREdsdB7MlnfBc
xW/4KJbzI5v3dc4CQwSV2J052Z2l5tbzWiw2VShidlXZdhA0Ab/fOpMoa6bL+X31WswzN2tp/3f8
xijRYOfz4avv51v3nmP/jbM/em0blucI3MySrV0uMdvVbxwiYDWLsW26Q7Gs5Ma+XUys74Zg9U6t
go/mm+fnH10YKRJx8cdfZcsfCAtMPgWepaMnBAMHE7hzd4YB2QjzkY6Sa5PuKBlhH2lvIihUF7o3
/qFYQDCecG9UX2dvu++wr9++5Sf+K37PT/yv8E0/MQXfBa/ttzGJ3yfxG+X+d+Ln7ltlPz18LNaL
8UBOqy83iChYi4kc3DqSkI5y+v+Cjgz/UHQkUopwQVNrQ0uNmF05bWcwZuIUe5/56G9IyDuF3UGL
nOnO/krh0XMtmBSMKk+vthE8hQW+3ZuL0rrJD5aOmvV0vWmwa+5mPa3hKO6sXwLHT4+a1Hk7Z4+S
FA/Ut0rr33Gej75Q/z2CEUzyC8nPedk4EWpLQwOlKYVHooaP2i7stvWxbLHIcrXaeZbrupg++5OS
cBRUJD6KHlhIdGHHJZPxLNuZojtQIgrizTcbhhBmRu6rfYOvi0XxjBV+8/Lhoajx1Sl0f9wqj4qI
HCLgYIhn3RfUJRqDuip+lb34R/n47fl3H7pG4HAj0V+VUlePsFCDY7JPVqbkI5jdXlO9WSH/nWB8
biSswxMJ8Fdc4QvraCI5UWpUV+4VMARFfhZDkBmpE51c8/L45dV7O8rkSdXrqydTgFVJLCkN0A4N
sMDpQOFrcE/JUx6T8Bh4I4KmOisLE9PFCxMSrj3KwHFC8taqAZBn39ycvG9A89+/tT/8Nn0AyfAN
dPIMKzm84UDg1gnTEVKuFyLBE3iTXOlATdtbffeGBGgpwjdmRxo6UUQIMy6RkqYgVcREBqarlas7
/uOpXBdYUJ/9US7ms2ntVx1GBU4l61tnLybeXfF5uiwf4EY7eQDw43TKIw5v6GMxgSnPbvswqMAn
jDGc3u6trrDz4swEQWrHyRGS5uK6S/ZcHJXgJsrRu2vKxyW4THVPmohSW8SYcnP7K/btDVzgGI+p
b2/+nWEp1ii+7t1Z7750YPds34qv27RsaxmBbnA1m/ixv3dGEsQLSSNWzi7fJ2QQn/HSvB7WfjV+
k71uDM9V4JCi3ut9qrF6sgA6esOs9cWIODhMLMac8e3Xt2jPRUrEeTUXW7Y/M08JFYFwbOeXbsrn
FaJXH8WDBHrbhl9ud+yULOdySNXGiCQmOEExgb9e9DTXWuRDKVDMTMJgncToNnpt6KXXgb3kySOm
PjxLHRNw8RnXDsbBW6KUw3+j0kDbZjpgps0Ca8ytd48neGeZITvbbXeD+eHpcn4H5s7ycICBk+iC
qDxFcNYTU8laRGvv4RgEZTAp2PF8HpwxeWG6bQHWwmbsiIQoZWFgfaM1xVe/qoiQ48cLn6XgE/qK
5+C96nfWJU6HRTk90fheNKxZ85JyZDVdP90dC1pgOltS+Nvq8calLvDr4O92ooLcKKqwiiqPY/mA
nuWwPvn3kLU2fuQXt5THFAZ4qxD70VZc7ZbBROuIHKett8xcpsjFb+riuVr7QayECexKv6w4ECbU
wgvFvHAUkDTaBW4Ukfnn5WcsBeCIpDuumu1jbEJyFbOJtkp8VS3K2Y/b7VA+TOHuE8LtAVUgQdj/
9fYFx5R5RoNvMZ4nkkQncUV4DvqLMUb/BATP1OffBI+puhmeu+A8fTb9DLwLFYbFlb3vz6eaV7ON
Xc0yub+ph2qBAzXZn0GGj2gQehMG28ezueji+d5f1KGpjouofTgeYp9f85mcDDPFD1Xenh3aMow/
FsYnYdNWxgqcsB7/D34l4vMrScPZhXPJXski5diK4A9xelp9fr9A6xEBxVf857hWGOeLx9SVxbjN
Rk8M/RM4ZyxGRXWHhuDA0l08rF3P1qzeL1zx6neHmujNoJncxOWTPtphUiH/BEaLEYljI93ololp
yXYxoDda2t+hPR6/3ldEKxvw+ew3k/PPL2+Mpqn9CK+e15jy+PzGd07Ee8ReJJFWeLH3DHF96Q18
akFBofMPnhHNxdhejxZb5R/us79ho/VsurT4BOt6umzgZLN7eM4CznLrPTU9Q39JXP1UR5BuatuG
sC6fCw8CBHUNAjRFJng4tAUj7xGSopxH5+y8QK82QVJkDRiUs15kW05pIHLVUJ/IfbqcZw/Vwg3g
3g4cQB5FNBP8hVXPqDdKMAYcU2zhSMvCh+LTgRnoOK+/IianYiyEwfnRAnxgoeY5I2d3vLtzRcSP
7U+OHsJ1R1I9sHE73tBiJkGyDWGSq+ct7Hl7f13hkGNDh6RjFPxquip3TYTZU4HDwP04aFhYQM0l
czJnoshKY3VQPv4B9tYZkAeSGvavB4XmAhjyK+i/TXHHmdJGidwYIT08qmOgW4bLYSXGH254+JFp
mrL5lHnqYhHmh8r3iaaaGOikeMYHUhkRzXF/Zr9NX6YtQGC/JcAJNtbEwSYcMR4oytk6gvWMGFPE
0GFAf/2yhD9HqUJvW6vwdLUKwZVhwyXJXqFdR6ZYfK0e+GeOlffvWPZKqWRx1UQhMxZiSmdGlfKh
1hsSn9nvjCjXGCV5XrmJzugS4QvbBururXuT2MVf3OCw7jtryD5VnZJpbSYsj0EwiOm1+9ZbSCsR
OJnx96y3A18oLd/gtCN35N6gM8idGJit0fzKxiAzWPx5WxxW+ic8GElxtMcYYRfCqQOxGVJzz9va
He4xQl1cnfWHWxToGq7Z+xIyJUq+YxET1YlWe6gLcKvPiWlBsdqUJV0SN9iZyGdn4kgO5zki/GMZ
dOe+PhZrz5UZrF4nIkElt13NCnH0lEGkI57iYXTuW+eJvGXClA+s6nYsHbbpdmK0SXuqIDGWZfN0
t643Rac2Fu0ikloQnHFjJUpGNhKEDLN/pwRj9z6/WdHgA1iJEdJdN2y+gaexgPirTnQZjGsaE1ff
u1Y74qR1i5rN/W5dH+PYWV9BQScZ2EWUFa+YfvUXT3FYUovhq23PcP1U1nOryX6004itM7Zat+Tl
hT5iCtYlEVs8Encv5byothV1mctZbOvr3BRM+/ruRAnejSU7G1h4XokbbNu+s197e9yOY+eXGYEg
MUEYXzKRXOsjHr+MI0GFMr2ks9ftdl94myKYYBiRjDiAzmxLKwm20y27iVhN4xbqj633tKfmgUCG
coAgHVe1LfIJC6rZkf3KaoDQwaPWUqW401YGOPwIR9C/b8APe9gsbTbjzoXc21vvMBi2guuYqxiq
XfpOp1fT0NMWrzwX6TsnKE+1/tqxW8MeIIbbWBAMoxwRnz7hVegchIsaucfx1GeiRfsOLm1RTGuE
MMVABF5444bALmcFFjfd/8h+8wsiLnH0Dr3uCRguPplexvZursSlKQeY59eqcufWxTxRQbnm1Ark
VE2EmbAzXWsXpyXJIpgpIgFPPx/JtqakCBtU2qNcXsqmvF+AQnPv/dZNrgORMWSi8DnTLM1qwSHu
ML9+gN46l8vlIrAs/IwP0Ab9dkVHs8fy62ZZApP95/yO3fxif9wOj7xbYoCsqouf7Zw6+MnPq7p8
AWPl5+eN5Ze2GAneT18z8CvuSKd5F9GDjbnwg9NLPLikUorLi9hzN58LrOW+rolg8uHrN8VsU4MQ
34EUZA1YwK7uur2N7L6u/mh66noMjtBgCczDIRl2nVSOnMvNxFh+u2M9Hmr7UNXZ7qiB0oLOWOHk
cJHkKbYIEwcP0ovxxScy0e5PRQ3C2tvGrcFYBHPYkls78dhWZs2RZLepcG8MVAUOHZGp0hHcjDg5
QWi2qB6rzXrvpScKIBBiV5loY+rQNOqH3xYqdkpX2MQxQrS4xHF93ZTzu01T1GjnHZQK4iKKkhGL
/u+vKDb+7nDrOjh2tvAbUZh9wVSDbdF6DOrUntjYfmb3a+uMQTnfwbfelM+P9O6xxuJiSshri5mC
H7O7liPxDd9/I+78vMo1NQKHekvBPqUVpSXhn9KKIiqmSshfSuqqg9smLopjaLvZE4rzUglV+VGi
ZsdGF+VM5yDIiRER+ZTQGX3cK+mU6Li/F9zzjfv8oCcExRKlAgQTTyaY+qE2dyKqK5V5jj56jNW6
ZRh4Fgvd/9Zu4TXOGdb8649w5kzSBCmiLae7YPXe5j26e5KTMdfsRkFa52SLfLcoXYDj1CgacPdj
7IXIjTqMtLCBm2Pvdtqsm3Wx6iCOaZzwy+TYrNR2IEVv17lMYyvv36Ir2d5OafrL7e2uQO8vOJ3J
99dtqqRvWCbWJzNzMaPHJWd6ul/cFJcB0c2hm6M4V5GPYOK2eOEE3Itto4txcntDpK6EoRsnpaG9
B71Rg3vgkn9fTJffd585pPPXNUj+cuoH45Q4T00mSJUXNXiuB9IIGRbJ14ahjw97P5V2Uy/nd5rn
4NwwzgxRXJPOKCmtE8TETj1FtwgLVEWCNXdDWroBa9tN2naPZlsBa9tIt+Ug21/fioPd0zhxMGJ/
bS2CECSpSgLh/ALrnlRJJjJOddbgWa52+eLXh6pr6WKOmHD5J79Trfi47Pwe/6bRRK7wjnKlLyTf
HrGtZfZULua1HaXWI+3Az8Ckl0zzFHsIyI72rWVkfyG7x9/Itk/kfxYeOBS4l/ksQNo8s0P6+tmN
C4o15hezAebF8kfWNmm6n5TLFg3spSfGJHGYnDbJqLQz3vKAXJkcSKx2+DMnaYKHVue/VHNvYozr
SRgq7HimWBSvJZyItxNbKxI4YmWsC4rE4nM/bfX4qOjc/Q+UuDZHU9WNE8yNDa3DWRTLBiEmgDz8
cgEM1UkYKGbgjXfDxIwwnB9FZU7G0D1+ee/U9lxKRgKxRINM4pNlqWA72H7VS1llp2tiOcYmr7Y2
VxcWqC7Ku9j6+F6ylTx0TMm5IKfHXOn49EOLHQ+33JplB+Uxbaq1cOMrm/WPRdE8FYVfixn0JyW9
royijKgrP4EQ+Uif2kHUlA/bHPr/kXdlzY0b2/mv8GX04LnUoPfum1LdGi83lQfHrjhVeVRBJCTB
5maS0miSyn/POd0gRRENsNHYNI5r7BEpmgC6T5/9fB9aUPueTWZfuXffskQfjallidaJa6N5cR+F
zSPICHpV8GodqSM/4Zvum+GYwW/ydHGusgTOnqvhn+ic97rTJyIJ5e/vkWibR6KsWdfjMHLX7pEE
FYO4Xm7MsMYBY0SLCdH0L7bAkpFejaSfpxonamXrKXs3klxO4iPjBAXXIzGJ7qqj0SURMK8N11zt
X3l8G428EElkPwbaOtUXLTRPcCJCjR1FaNKi2OHC1pdNvrVx9cIrYkorC5/U/WF95Sm/GtMgE92L
RQ5/un6NsyHJu9472m7vOHnXe9fOZBMSkUI8YlKsvzgwitc5K182hHM9YVz8pWWE/oXPtxLkL6yb
lSRt8kfzp+XSx3YvTFwmslznDMhQccra5sCuK/0gTrppz52lztu4ft6XCXeVhdfoy7nNH1brbVYk
grJ9Ot2nD5hVv1vPKzwSOYmaUjmXC5BBD0CNkR3LxTbbrLeeIjhTHMH8TfsHKTOiE8SWaPXNl4no
DGs1F/v5MVtef1nf35eaAhUNhMHvP97AUT7KOB8ucl6sLsTOEHZwMVDY8Xoed093x3JX1cEkhoGy
I+9k4w6BohAd5IyP43WnU9quM7amLx/8t8C0QDMQPLTLnmI/01SP+qwsptpTxNynz7wEz+B2+adP
QU8UHdgSbdLtGSeXay31ZgWwwajdhh+bLXZ7bF49Cv319Sf35z7d7T/ZhM0bvJh85prcl/kys26W
/Qg4aPim/a7P+xvOkkS7V/9cb0uthEJLglmFBKySGk/FNFlxoumEcxMvdscJuN2uEPjdZrpar2be
nhMlBSqWljkXnK05+gq+3lmOu2A6KTaWL3hoqanAW2ZDX1UgHVDLGZ8NqEU4MdssXYLdeFphp0gF
1g/oSTFh1Axh0r0RN1U4AC06jwmcryJH145VyWqDrTnt4rmK5z7GQnFpyu7VVdUSUKYnYQDj3hO2
2683G9tSd2HuAPx/NlipnLEOVIbv0VB3PC38BXIF283IUM0AqudQqstCQsix9VPO6LitDFKLX/LV
HDzZ9aaiP9AoiIW1HM3p8Lf8gKFgSfxpPRSQprvHdFvFT8G5DASPvXiEjtfD61jX0b68wctnyGTm
8ajBf5Kqi6vXXANM3oTHQK805WlbZsv19msNUxvnVgn3d9hWVn15YwMGmy30ABJ+uAnv4JtJepyQ
OfZxFcwXePzvF7m/VVdg5YFGHy8vj9pDtsq2CGtw4OCwI6w/uOzz9DUu+oRRkRtn/aEYZz0MqRIf
wnyi5Td3QhvLTfXulSUJMRcp6SK1Ur0oEIVNaxdGQsSqejNYEAvepbusyl7SRKA/q7oYNqx/TkrF
hGs23KlFV/ZS4C1wtlXJMcTy9fY8gik1gtKo3vwYzNH6xSFRgaTsg6ozjzIznIlRhKkqLCIEea2o
HFmZyMT0KTULfzogIQhgzXuNXJsfIcJJf+1sTRJ8DAseIvkGjhVlpqfhFn/EZJK4KY7G0lO5XWXR
URYSLH4C/wT41nWmuUQA8c+UUTYxvIOh1dOr+oEdOSYNRVfR8UkwjKyK96djdH70ZYT300Oex8ok
HgWnR5g2aAPbdPWAR89yh/rHtJOO0Awvk4EyojowO7b4X5lHQDbYLjAOL14FJyz7NCMNFQFlqiOY
zzciY5P9ixwzweUhQ2TJjGt9eO0NXiACWrqdv/5kkbtrON0UuOeYk2z/tHaifGpr2p7aH/xx/0PR
T/Vph0Dis+z6S/rsquEWEPUTviw+MoUPPOwfwf+5Qkxvy+Tz9QwbFysHgkvT52ahb4blGd+mIWiu
1uSbXT1CE40c7SYehiVsCe1nz6ctkUeGSRf3JCNdn3McxYxqtejk+opThLzWo1yec6IhIJZtcviF
vP1WvP7VYZP+V3b3ebfLlneLr07TVoxoYuo+/uHxkYuWG+flLrItctz8tk+3+x9Tf7xLENA7iqWi
wTMfhv7R0JwgDVRjQnCj4mqgzTnnObEQn0mXHdq399v18tYFabfVT0lx7EclQy09jpRvV+mipvuH
aoIUiq3W3c/+fQH/WFERl4S7sBSvQhC4KJ4eTHDIeN+gjJxSI4RhVyWUA8SdiOk89p6Ealpyt/uW
50dF0MPEcILzViASjUS/rjzIuIkDm2t+K14FLND0RIdiJ73K7rUlpylLsbbDmmYYjcoRnnMoLBIE
5u32SugfZi7a9F1TY16NdaskwaUuyHv86PDYEpSMpYMMyGcUFUJjoBHe0uafLSsmi7MX8PkwBHDD
sW/7QjDMZFzExfXNn063m3aoVN72MTD3HsNkUKZnOaFzKmcEEBKLtqpj+tWlG1+6h72c+buhOOL9
8I5Ssy+73fTHn/793376cVqIT2bzeOAxv/ZNV9WIGMOcbUM3KdpOUtIKgLXNardqMTjphc7vvmzT
ze+e0SoiwPFjQnUz/GTHwF2uq0jylC4omCWp7cyjqreE8BUEfuhmGW2e2eWcvVKJsKmqm5XMV6v1
DM8AyAfYQb9NmrSDYawQTMsEdAQ4KqJl6i1dKxaXw26G824SxOVVVz/ZCfvdzc/r1d8+wPUp/Acu
BP/FS8FfxODFuIAf//Xn//RgpBsjQ+Js2cxrOMU+wLhzWsndZbC0HbRncoj+LZWMvhhB/eqyY3dD
ItFr8+uGOwJwLDTrMZT+kub76dNqny8cFmFZqyPnI+EJ7fEmLLNyigObL56oHQd4CCP1M9WyqR50
3USr9R4pdb3pEzGROgm8aKhH4Ih7OxT9KaLZk+YSeGFv4Ps/2U4reLOm4Qi7cYPGks6u/pgjTcXX
V/C733fTA1LzFFEUH1bTBMki1qv5zu+26UA8OBkH4FkxTJ8kb3geFgvYpvvp/tHmw3AiMs3vS1Ce
FCLoVrop0EVBV5YQmSRNTkqTx3FlKWM6MTtnNntembWjoNyVaHPJUyVQvFfRVCAV7BjEBH2uIFwD
mW00ixDfZkkACe6OITLU3aGV7g6XXPQqVVIivVoYhECELqG1ugSHoATt8/EIAbkKHaGPd5O82fgE
g7IIC3EoiZxOIdcVRzwKSSOxD9F0BMdMBBIzyPgMDU9Ix95BOT0jjelC1748bo+1UyyYT7MVWrw5
QhXjmfHjjBEcWgsLr1vbLmFJcVQiO3dl/FGo150hGObrb0YrCxDxJP5gVx3nYlalONZ+iCqCrQX6
23C/FCWda91LFLAKZ9JJXybFjUBqMY5ipUL0q1ibhhQt1KvSXRhGpP04nJoK27jw1UwVHUK1coKu
lYgZPrakp2fIJ44DtXDWyzUFik2cRBjGetajBtWkMLppMu+MMvGMGNFHhxiGTNDMKt0t1ndIBzCd
rzMcdd5Pl+l+9jgt0nDYglyBlIBgQ7yXgN9CJEx321nBT3za31NjNjnyXcf4KUdD9HWVLvPZbTpH
+I/b4m1/JQOd6Jj63pHH9PgTbPpmkcJao+LDa02LlfEcIZkY7ZhpTYwsnHAHu3MD116unyuaCLBz
jVPa+RafqotioyuiYKIZRxb4GAiXcApeIpOuKjeNaEax2tfAMNcQqW09+VLKpWaXAdhle7Y2E5N0
9x0EmwN2TFpTOPKrebr1xgNS08Dp4Oa6p9A4K3h00PS789fY+GMBAsB5sAVdB6Hgd+MVZiXFMCqy
Jpqwmrpd8DR7TFcP6Ka5qz3m2Tbdzh6/4nKsV9VaUgVqyRZJ4Xl2n4IE1W0EY2hA+1Rk6SID+bVa
xgtEpUHVJD37IdRoqnQiWvohB7QTX62Rx6RQaqm7/WfewsyuV1kJhQwJZ/qSqFNn/T6rzALDLUiR
jOGH1VLxSGQS02oQZVPTeciVgahQtJEShPuZzrbp7tE7AAa6P6rE2kyn+CfcGILAKt2jIslmj+up
pbJHaIHN4h8Yt918YD+g0fmIGYlp9udT/vyB/fiB0sNY6uHrpu774Dcfiwu5z50ZsY8fqAJnM4O/
4Jcf2E9Xf978+vm33zy0VgJ8TTqIUB0TYzXSJQWc/5ga1jtTpCwqmdmN9+Ighy2nQ53NlFhiY6ZH
UXc0z4HcmmEG+D7NF34WQyV7chfX2+U0ndkaD8YxNX6YtqVi1p/lsAYDjEdhMvB9b5OKkRPGhznU
NrRL/8iQQzybIZo73NgaeXGPn/QLHzIcyJ5vESsScCe1rrOehOGFtNI3jINHIXl7fYOH3Js5UpoN
bbSy7U2FeZr+h1NBv4AK+sA+f6yxTuz7j4W+gi/46OY0z5KqBYQ66BG/FYMYhIMO0H2cu9kfF9td
RaviXxXEsyeDLCRVIz2jkV2lya063afbh2xfzptoweF6WrUxSmHt2r+nz2mRIAPF6g8plQ4kWOje
iq/g7yNDFZh09wOeGec8eTeK4hxoB8lRlzE8JEdvH7eZN0GswFWL6gut5eGyKD0hLJmEIktmTw1p
JRNS47Ji9iVsziVW+55Lhz+VSq0tE23MQA+cjLCRv+E+RhPBcOQ9kKYnxbfMX2xvgjNjj/kcHJkv
6XZVgddpJ11Fn5b27Q0dMMm99wJ2TxExiNNbI/5GJHGpWq/auVCVAS+nrc4JP/Mh8aqmNHCa4H37
j1IQ9Q1Ggm+UoIsDZdK9I1gYKqeHK44jITSyRT9IUYGWfKusPtnuKowK8yM3i8XcrxxZNgwdBBrV
3B5moo5XB092Yz9y8+rqXzkAoRtr7q/saSt+dllP6ynefO/OWiktJyHGEUr0ePNB9pX1GmZhd8fB
KQIp87VyiKjO1UbaBhw7RrVkjbXNr9v0YZnWpcUkM63o0JoQ4ghuevDeq07juTRZy312RP3oLSjZ
3bs3s/XyLodw4Qj+aM9j7ueB5HATYQBWsp5HJV8+VGV8kNaEEzrEAfaqn9IIKcNJRCWH09dPG/g9
xqDOrcifq8aEwc3swYatVyt0ZtCdy57h90USsTY5xid0pCq8PwK2RbLqCJiTCVHm21WPrI9STJU8
5iv7P2Y21oYVzg9VmmP1wOuBM+ycFIOJZ23gzQP5tnpU8W9W8XTtPN2RUoMPJiIyacGK8CxfWswA
jvS8U+Qq5INJyjFc269rkXMIdpRz2ne2/L3sAqE470BZTGt6XJqasGTkUPJELE6fIV+iI2R/WdCF
Xae7vBxCYr/04FESmrYOoiTOBO27fM4Z4wr+Oe9vPnJoeMb6lDD9+jS7fbqdFqfiS3a3wwWqn8GB
i0UNGHRqb713ZvSEGPl+DJvX2cJ/tRjhJu0M/+Fb3AF6zteLYgxzNS9G7StRBpA5RIr+hTFQCt2Y
y+BhUaFvvGGRoHq0Y3Ehh0V5IExFGwUnlEx0YpIKBZf4C/C0V5EKkyZLQ/KuIjY8CdWUuQmLq1lG
LVxdLIEL1zB0dL55HdxAaeJMxLUL9Cy84O6Yfv30l+UCPbXDYHCdBCMGixxB/bxm0asNs0Y6EpYM
6xt+F+YSfnZrWqKMB5cwofy9OBM14M0CBVEPKYZ1USI3mIbj3Y3EO66Z6d16/tUPcIMKQreadw2Y
FopqT2xWq9RCGS1FVXDgUT8YT4x54OtdDsJAFMIIkTqTzNBcBmMKjnjyrVRu3UkoHg0nIA6GYOPp
51VqYKf4u5IOsBULpTpPnDBP4oRJmrTqbPA3viHknut58/eQSI424h05jFguq/YXFcg77RifrQKn
MqrP59DUAsJ9a/caG1oc+uatG6O7daNQt/N8N8M+6QpOPFtw7kHnnPbabRZPlu3pAF1bnEa7F7YZ
pho2lEMQzQgf1hMqtM9xTaz2+UATj1bSSRuvyeY2iNSNqpVuNU8Rkcvri40r5xmKTbnJaQLbT/nA
6q/R6pb46JCrr69uzHhFUl0qlMwCFY8hvzFyWpHwFXAKNdc96IndpqCLnOZYdl3tq9QxJWocQa0X
SKknmKTuFdugvEZllD+O8MoRXn15TB9fPqbblReg2kDcbIPnjq9UVLHKM7KKI+Ca6HNS0t7V6yK/
VZQYLlGGQF5BdQXVu9KxOE0XOvRxuJmLzm+32ZIZFlQzb3YLhxl9jGXy1QI7j+ooq7ByHzN1dcGv
hu/+ly3Y1xv4SvjfJBEIJ2kQQZt6itM6rN1C9d8TicLTuNgnIGYQ3AyxlzUxKMOMPNc9ruNbaoVp
VftvAffCgmAY4lekeZ1Rg5E09dycatjGNwbuD+t/lQKXRway1Aykwy/1mFm0ke4X79ATiDyrOwRi
Sby8x8h8QaTs/PpPm4ctmIzXTG2RikKQwF0+mx5+n97vT0YjrivRwsEwi0BsKdWB58O01B1fqtb1
CWstVkGQlCeJtZPgi3PmHcy6A0uyeniTLqO2MVy2Ecq6C7guIsopnNWkRz2P3e+2daoYzMRGYlBo
u8f102J+u31aIRHrn/44tUGL3AH15Qr8pBurmCDI/e4D+x7+er0yvHgzpWxfJ+4HT+5OUzmSJ3HW
NxTtSfBouLk3gJvpV1Coi7WjICjaxK6Wu4cbduXF+5EUkx2JpnQ0lTZbW+jZCkXGua2gDaHw/Xw1
BMmlzYCrc4oPG75ORCAJMms/DO8AYVF8Al15Qg23GNlGRwQ2dfV71Eb2Tpb5MnMc0RvXxI9D7b/v
1qvDSOvN/3ygFN+Av/6+3z5lf4MfntPFU4ZvcPq/pWrcRKkRfMLqrh+mqI6Q8tOEd2bz6a8TnLfp
/rYaO04bxN9Nhtyx59X8Ot3kH+j34XsHIlfaPDFRZjQXrM7nShD45R3lQy50/2jEyxF/MZei1odI
07TajeBCxSB8tMUppVRQMqA02+HyV2H2WBJE/4zR5XGhQw8plMvNB2jk8JgcsZ1C+o8UMZNesndl
X4T5fREZSLCuKkX0mM05MqfM4B7+sMS566e9HxQOOTb4YLt0oYWpYuu8d45YkolutWCeRNhh6TwJ
MOz3ot3ndp522fbzA77/mM7XX3785ecCIgS7du/S2R8PW4T29FPm6UDa03ZC8w/iEZuwFq7LUTFi
Ix/K5vv11AVb7rIlDCMIk/kYweB3bWJAsASch82ddig58MndeuuXGgKqphep8R5UbM290FjSsZRo
rnp7uvJZwBg/Uf+vXK0Piar1tpROhnR7rNt+KBinTy/5Iq9APxdo7xI57FG8zxeY2QUxcgG4F3JL
G6RN6Vhsl2u4MWyF8h5MEsr5qnw865v5Pbi+22ew7uluCq8qRkJpP3Wjsl/F/TjyBNZVDZwO8PY7
Si5Z73nksNa6wV3uWvhtIXlg93S87JfVNkq/pO8noK/tzhQSttaQYfXWl+zuj7ygkcJuVz9GmZyE
zUA02bvq1BZDNjutRsnZWh/k1Nb4wn42wXyq6W9BSpKMS8IUHU42suUdSK9rwfTKBOKa0g6ST4hm
+MsGFwA7iy270xG/DzOQ07X7ZV0RHAyQ6qXK4APzC+DTAN/UgvWM6S5+zXY9+ouIWplUNklMEUhT
dVK8LiSw3BmYGJA/3sUlAuZ+GFGdXqmSKqjf/rYqyg5CeSCXXxN9VlzN2/hKLZHvSNGDM81VDGlR
oUPoQpQUu10KM6Y/l59k6bIVaLsZevur+QEYpQ75zPFNsDHSNVHTDDGpHWMwI0X5EOGN8Atl6JT3
cPnby9LigdIxemK0eddunaIxlUkXLD/n82w93T9u1/v9wrZxgDeHw50WyfltUeUaYumrw0dvDP5z
Vaq3wmfOKxhG8wncI23pezrM4MPRP7y0ng5mo2Fn91WTVTa50irWdwidu+eHU1my6UwbK83XOFBa
lQrnpJmBbIOlLxQlHXu457bYPfxRJG3d/cYuyyeI/q8K3/emcIzP10PBLSqlRrjFUiNH/Z2SBFZT
MyFHuFWLlI7SFLCaUo53i893u0t3iMg7hiZj3eHLCe/DxQ0XIJuyi8ar6NUMu0+CbZmtfNFLmgze
OPf0GSiyhk0DNYrsdBzSO+bOAwfwL6cl654T1sGDT8OZeSfObb56zHAEYu6cFD9zKgF3PNFjRSa7
p7vDWldyGMbUvZyDUqAMux50eAP7TH1T7QRja676FpjpLN/OHLWFB9VCJC2riZevTD2X5nDpHlKP
vkTSQ/1kh7bgFG0Ukz0cP4R79X5qVjVRnHSrxlfr3Sq/vz86noUyryOKgK+nI7fP95BR+3tFCbac
TzOCiVEiJ7smFyInBX/CSE2rY5Jsu11vecKntlvTzx6D+F9Dl/nazvWLQOjOfi2gHycT1tOYPnBt
vYQCTJCuWrkOwlKe0NXS1tnZWBYcuXkX2XPmJ0WjZMJ48p4yOd6DpkKn7tsmvI70Cm71dv6uSRHX
wtBnEbcGGYMGMiCrIC4IBCDa5f/tT7/amREqOzpUb/Mh/7jPs8Xcpq7sT7ajv5QkYRPBuRmnVDt7
zEDq602TsPGPEqob22Tlwz/nJCL3vfNUjC/1AjZIDFg7foEAY5UuaipA1kaEITRVnJOT3G5xYhzv
0OahVGMBAcC5UzGiFX5LmBnUrU7gtgKR9gft2/Y+il8VElDephd/zaEYbFJQyxchq5HglujBQro6
sj/sRzKqn2Cq2JO6NgmKSkoPWXctBP3i7BUlEhtc+q8r1DapKRyn1WYYJ5X1EM5WquQ6NWMJWJOe
+/zLDdwMHJe++sXLVwsDV1NtKEtKzmx1/3YsAuib7AG5OYEMcemDwzQ7/Ja+DueXUjo4Y0HMmGX7
7srzAh6GUzJmiH0Jc5/EeYaXBruxvkI0Y4ryRAtwxf1z3dTEtAuHVxfQpnDdjX/9sMbysz/5oxBu
tZ/a/PX1GQjY9XLDX8vzBNmYN49n4AtyQicarLkaUIsx2UMbShixnohNR0fYRpBqFT9LD4KK335r
mYq8aZgE6Qp66OipNr9WVZTAfzylOmSF10Nmejfb9ebYE3dw1Pzz8Qm1JEkRIrBGvyvfFUSOy+XX
t166BW8nOD4xWr34Naoh1yVNCmddKBPTX+x58rc1J/foBmxY23Xd/fkEquNsaMTxZmAeRLT8+s+P
2fJ6v7/3bpt+D9tGfdumVRfxTqukTDZbFvdYBpyAGxRdzBu3Xz3iWz0TtbVvxfI1PnP3d/28358L
ESPYetvJ8XpZLnzHKxm7S+q0eaY8voCNB0I38SQq0NBm63l2wxJ1hbBooQhoSBhACaNjyeECfA7/
yiRsIplUbXsBaqfpWPcJETc9c+RqKHIyfoAqnNSWepQMemH0qyuE2DkUEyeGGyYmWrlhsLJYR3qG
cPvJzsNXOc92uC4Gp+XgVR7CgpJyQQml4xSlL2J4c0NMn1Prr2lYz1CJCMQz62JAh/AYXJcQHYpL
bced/gl/jgsO7zTL3Jys1Jl0OvVrWDdIG4HkHFz0nJb39xLpCVOjqrqLGo+oiVQdZTN2T3f2QlVz
rtRi94qBw9CKtn5q8UJ6Fgqfkuhj+qlBbX9XJCpdkeASAj35P/autUttI03/Fb64P0wGR3Wv2j19
fHzLbGadTMZJZvbbHhrUQAyIQcJ2//uttyRogUqlQlIJPGdzctxtuo1E6b1fnicIkpI9XKjDT+4I
9zzZAHXUTodh0BzZ7Vdx6qxJaFuBRkhdfcugPno23p2La0Wv9fldBOMRConr53e2O2P8inl7zW0Z
9JZBcWWK+heQfBWETe4imAFxazPD1QxfXdcVKnOmpL9mT5WZ6RzDmiHUQwJph9NudT9tttSC3xVn
9JsOFMllZQLL8Zz6GQMyevkZf807FvqE0dn7VE9c4qHlsnR3dtGUtOMh1shYvvUCuVcv0XzDVRgb
4CpBihO1EWpOmOKADiAQjKArdnu/pqvsmZSuxY6RwNwkYB0aXAYeur6/JSjqh+XCMWfk4lXVbxnk
IVnEpmw4qwJkAfiM2iGKhp2pO5GpsxJ2njlTYEkInXgUz9RapySKtgOv7Xxy2W6ySc2k3eN+M817
CPrAKoMgYsSi3mahzaBvMQgN3//+8cN9kmnl3tal0IqPqMKs06DHsYXx6jHOpovKwka7EubZbEMy
/1xNBwSFmTTebUylttCLAJ6J93MyDxPrLDocTptt/e6hXZW5dA0iXSAXWbiZ5ZAIwweDaBy8dSjU
+HgVsILtxeFWJvA0c2A+zCt0RCXBV5j9KrhpG/argLmMDzIxQ0SAAX+7dyD2kEO0A076Qqbff4kf
dAr+WPqwdcMGWF9F3or3rgfHI5KMmKDXUfJ0EdthHCU0O6W6JgSHBXKDRir6Jqw2F+SKYBYWKBCK
sbrRfSNCI3Zt5A8b0gfF15sw++qaAIFhG6LkVdGGLMrJ5KDUJpV2XV6QtYYtFHYPRbe9vkdtPQ3e
1WQzXSQwmlkPSWvalwO5WGvhA0kzGXpDPKhUCBIFLTKAvCb77BQQ1nFIAmbt+YB7NcnDH/DcXDi5
ZIRZdM0ItWE9QcLiqvoGauKGs9haE2dt1pcuj7KVFHRAe4MZu53GeDOtLw7AAJCbR9isPC7d15Sn
MIctGzy05tvLn7CrMsyqhBIDd5fPcwo5IoTjqF2DJ9RqURupsmohQZ33RJJPS7Bgabqcb57bBvrC
9gvSdhNBZSOT7L5MdjPYJdKaPTeXe9T2OXUg7iMYzUIcD14EOqPfbVkEIu0wKC6aMGwFQXIJ9Peg
C0mwJf0Y5/2HeBWvazpJCEPU2ZFcONeAh0mqncwDRHMPq8nG6kakibJDjWMbQ7ZJnkk49GsPT+PS
Em3ew7aV8igDht7+gFacGjrG9mcB6EFtSscXouozfgMTmvWZH/DH02t0gAt/2AZVEpMwx+pU76RO
p5n2ap0Wpi8AFqzv5GMEcaMMOJ3++s3bH+AQqsCkGCudvnIxrKWpty5UO9/opuisiRhaXvUPna4o
0o+sFzzurnpvR2bl+hHSG8rX3NTREda3q64xoHH+qE+V03R5gL84wIxG/HnyrI76oArGAu1zn8br
ZBbbKAsEDkK71K7h5LClSo2oVyYo+1HYbFeD04BgIRh7YW3J1k/PnjpxT8ZTGco8NBTaiK9YtziY
IomFuyjF2C5wLoCSRnzYhO9PXnne6/whVypisCfMffI8fHaAk+3WgEPV8btbFH9sEOoiQd1eWTYk
PaULAtjzOH/dvhsFdNc0uHR4YPNhAUUI0ulWSjlfNrGijAsAUOH924lS4azho1eXkfiIeDWjuz2C
w1qYHSEWSodRwFPJLffpDn5ORKU9nWop7X1yqBLKBAn6EOx+S7tQP2zenv3H14UO1NKnzXSxSzbJ
Pm0INHUq6Tdd7qGcdpxtDguiXuVrOUDQo48nZ04rn9G5LZEwSDJI+JN/iAKEFAJZ/fDmZhDc1NIe
d8kalgjLPyne2yp1QgeYqA00nbWwdObVSoDc549Ywsa0bGPsFktQ4qfnLZI/0memu6LM/RA/JvrR
OfdevbBf5TDJkpOWl8JoG4t60Lj86zhbxI9FW6WEpTpLpnbuXeY59DuAWWoIcKm2GxEdQgvLNdui
BT+bZJNywcVaaJFIB1qoZ6FvlHbQ80CRXS480J7NftS/tGtIkgRWQMMXMLyY7ddb4IqHkSfL+gU0
9EjAy3+ZLLPxfpMtVzVgwNrYeqIxXiICi138OI70U9D3N0vt6anwXJ/oSQocsQ5HUG8kAWO9vvg6
2+SJClrSfpiXFz9i7HzEZgiCBX/Evy3XMaT4Dj03DYcAAZGX1/CPZb15pvo5MIdKMAUbc+javss1
4QLOC1qxw2ZoXelvCBWY31gqYcke/OodZzw462U6Lbs+CLYNtuzcTMLlwTe+W6fz+yo2IXzBmPXv
DKHv5wc9hiLBTRHwpgJxB7UKKIC6/G67TyqebaZ8SR4fq0OISF6im+63zIv6wA0e8Zuw4k21bZ2l
BOg/WGW5jhoYI3oj9pvYgf5gfVPerPgyfAMBYZdBMGYaBAGE4FQKXSyFMCeG2Y1IoT2I4J4TVrL3
ehNSbQrbw0i/jEI44lNyGC+fzCFPRKzTA8qX15/JyqbgdVe1BQpBfDlv5Rkb8fVgcV6QH/Lh4Xew
nULeIctOwCDeICcWgF/fJavU2aCGthry7bDkB9z2eF49H849sqAwYt7CBJz3UM3fx+lyvV9NdEhn
6BT2m+W/9vGPs3ssmVCSs7u35reKA7pfT75CVbxyU1gn7ZIOmLGeIHDkwPzPQ4qOnFVg6jmT7mVA
91P9xVpNkAY99QaSPQusLBFSsusmdfXPz2pVGTIBztAm3k7aCIvsXYxTSQWTdY6ruZ1XVtA54mZL
8t/MrvOGHcihTCiSopMRmCdjswqWJWOz4TOuA5YRLDLV2htI0s3XJohUqLH3ZR/hTOCEDocF7VV7
HxX6dF3OyHzyn5/vwZzZ12ysNfy8vWk3MBD5k1twX0cb5PZjDDpB/dcWcgkCW1ieQ6uuW9TC6wrc
q+zs4glI8CQd7zf6++li8mDHwcGALaJI4LCIMYIVZ7guLIr+/AJHGx1Qwo8r9aARlSGqLD05XieK
sIiQJ6e0r4aWgDuWs9kqzgsMJwprvREY8yG95aF2WEpKib+7PqC3Rp0Ev2he5XZykpdTTXiS7h/W
S224kk154cheoWIjTESQZ5TzSjc+HayDFkrw8GYp1fpmt5SAj4VUF8kF+RhHL9WxaGPmzosFfVex
xizf0YDt8gvwuUrcjN6bmWSk40+K+zi60p7YdmFKGYcDNLAAlcXkMQAboNABATSF7eEANgFiP7PD
Z5wOBbFt/mvWaIhrG0fkjbsywgP0W0t67uBBFqjjJH4HsUT6/eklgnF4hwi2Y6ALhkeE9ZI9emE4
5wtqAJ+kAhqiZuKQVq2TmqKLdojZiTPcVsMVrCVUsGsJCeWyRTjgwVXEpOptkjEdf9klm/mBWXsX
/2GYtaEjABF+VY5g81QI1dYw6Qd3OEqg8V7uciNsxwOJYJScq4AWxjVNDlNmlAf33BdDNjGEIhXY
K1odIhXtyqaXiZ4Vf54FkIJGPon9cjfWsvlsgOxMTNpRc35dhezYMbXQydjhkaHEL0QPQUlO8jbW
kVAMEUl1sgYhHmCoxQfD4HkpcJnZyy45EiG/mWqewXWqn33HOYRtmzi2XZwhCAtosvO0uCDbrgfD
EfmgUYjmSwMZFun48QtrYKpez4DyVhQIneyTC31BXlHvFlQpGokBdbPyk8l+tkzGedu2ca5JksiT
db7pkRyRn4BoyHopKGFHUTdT/HmS6kRMq7pJEbMvyRiaMqnd9yBPqKk2sUDBpFT3YTlR7Woq5YKX
Dq/NaJop9BovYSd71yaM99RuK52wFngTZts+naRAY9WD1Fy2PwyUH90s9eQhdlvonDJXRupKRakz
vDBXUapmPcAUpRAiV4kPbFPJJYNklV9g34tIi1LJOp4tJ98blUzj3ee8C2L2cqxOLxKdt59zoX1c
7gDobLLLngqBLWQKWE5s5CZYttvKcqhL3T1YiENUxLXh7TUpKkcZYALjnX0NB3mCZtak+cXXcbyZ
JrCOatFXKVE7WIHDNaqzKlXwOjwinaoKrQwsDWlgqwdJpQTksWHsK1XqWqWDekgoKpXAQXpDFn1x
qA2SSj983lltUkhd493/6jgl59M63pC9ps4vn5K0DfpbWC103M869rxyac4Wy93s1OqZIhWsqjcM
8MOqARZdPp2l6HhI/GnLeMiXWqhbIyG3Obt4nWRxXsg4TlLnXW4nOy4qcNlvJqFvAP5CZvis1aJK
pfEN5/QfR/6A/wS4F07/vPzHm799/BL991/myWv938+//r54//scvn0Pf7x5+/pH/eXt32folxhe
ePd+9f7v//hI8foX+gL/wOSb169/09+8flR/zH9+v3tt/unqh98+/br/+/rt20qBT+DQYxtECqWT
ZdXU64LHYul1sUiwduu29UazyIRih6UEFhoue75uXY9GGxD/DajKaF4Lb8y6xfBNWm9VdgKoWQEw
vIyyn82SlrAhHJ0GBdEX44Gdh8sCci56nhpZbuAYPsdHvj+T5Sfb/XZ8lHqT9NkLWzJH07xCgvqn
Dnkp0hEWlgTftiWjXPAWCMR5KpoX3bLFLsmylVmUnczM3W30Gd2/fGkJJu4Ovw1LRXeb7eJsFpeP
pFLc1NQx68ZiYZaZCmiw8ipTZIGGE7wjQFLV+hzHNrPk8HqtHTLbjvIiy243sYWeJ5vxiW/XUcX2
HlUbabRFmGMZX8Bdshuw0r9//PD9V50yvHv/84/v3+WgS8/WewMVyDiH2zdRrwtwTRjeCBRiHrCZ
zl2ng2chbXHQhHZPNF9WKZ3y7LLbhqIjMjAWGoT5CYTYw1QLMiJtZpAL+K1jAWS5noPLTO28d5Sh
IMCbrQHuJG+jSJetX2kjr6/lN5yl8378q7YGb4010H+x2H0mpOjb4D0bueMkZj7apjVKH/dysqrB
WSHEdA/6qsWUr1dXkuGIhzW3uGIFgKc6cAuybtYqwO5k23zWjc2m1QmzKGDH2GftG3MogvLAKs0l
xYhy7lTp9d7wPHyerJbaIVoCOCJYtzLPpd6uC7cXaEGrUp8t6JA0iNc75YKA0mX+QnIehtixBZkO
5gLI7yFx0j9Os91+qqXJNRGLAVsoEh0tarF0kGdHDohbGMzD18jPnJATLXI2IEpgUadw1tMx2v0g
NvXHa05TTNMGjC8qlAE0HqRvwkJA0NhUyekMhFnzv5X28tTu5gnjOhAVgX2WlEIybeDuXs/zDL7O
d1kclaKd4NBrOGoMRfZLfSiV89CGqc+8CKYiHU0sBEAsAVBBC3eU7zdB7LTdJVpw1mt9V9pBr57G
k9nMBwWeUxoE0ukC4/IYZ9NF85AWE2KEuLhKfueNmIA4IYPsT+jbnI3LxIpVki/RdfO3wWcdsO4h
v4SQIO/s1qRyUFVH325bfXkINtLlDIzt1l7oYDqvYjdsbLlA7KZSPicKIFIhy/up1qCHBBahIY+y
ShMfsQAdhosmzC3G0UGaJ6nSeh9M/M9xT2Cj1oTSkENje1zY2b14WqFsEW8atgHB/Yu++7NH/z9e
xKutPQwAEnuKUJDE1BRi7QSKI9E51/OOyMk1IN96qIXlaDNE4oF8U5vyxGXugXAdKRGUu4eLInEu
0RXTdTs0eIt9dJOuc4WuYgWt6m8mQEOGYse1g/oaFI70uSDxbespFYM+1WN9uF/fdpE+I0oEUri+
xXP3C2ziTO7rd/AJ5xJfM29yw4dD3oRx9K1LJg6o367BHEIk8WT5HLC33S0JOw93HMNvgOivrtTH
ckKkEQFBp7qKvarzQkiwb1rLWCRv3dyarocKmPHYbQBjrZFo2uUWiIcX7UNu1xRgccNySm4Ph4EQ
EpEwUzj187mIqW9Aye2tYONK+XVqVNtdkiXTZLWK09QxiwAExCL0JDpnSssPqjNDZghgu1t+nmSx
ZR7AvFT8Krelekx4TVMoT7EsSmnj1x8+/O2f79+Ns2RbgsTIO1WGKXGujxqqWsjOzQkI5Ux0uLGL
zYrTYxqzgjvdT60pz4dk/UvoSgHzhbz8XsxM7riEomj+/rhc2VjTpGSeO5rKd8mvQE4vfTrLZc3K
irr8srdktUSfGlUZPMkWEx0YxTtYH0jHeXHErmNmqL4WiwZFgIxJ3OUu1XZNxTTQF5PNHCiQ60dD
OB9Rry5sKz3X2jxLpn4U2MqzyaB63yHoZzQl72czGfAjNECZIEkuv/hN+UK/mmwwX2jn7MJKh9hK
9a8jjeNGsHTgVaxUncbTEQtx6sWqQNOh28MPwMX12vdoc+QHVz9ZZbXoDARJTwx41f8Iu2OygWk1
iQhTgRVdcBZxJOrIRPgFmm5TdOpXo1O9JxZu8C19rp6Yeb7KADszB/NTjRRy/2yNdwWBWKzn0MAv
gLHH38wTxFt1nKegLEJ37wFrMk7vf0o2IEoR1n/oC+k/4VL6C1JwMSz1t3/56bdLWmvCbwasD7sy
zqOGmqlFRHVGE13FwDhRJwiKIhRIBXJMcpg+KRbE/LQBUYCUaljOUMMPkvvxTwSyYo5qN9ThQ+uq
YhGlCke+ukrdumpTVckw71kQi6CkAAN22zxBmScxXBuWWmJYalEVS5NEkQ5/SGAbpT99GZffMcfE
ocim+qlDlNYVJjXYRowQHXmxdq4vmEkUvG/jU7I9hTSWNjjteDiAFyZJ70/CvTjix9GtLBowAUJb
R8ovFIeTbXWubWRKRNcx1kd4mKbCIqVAFSr/DQy3Cp272f1ejqgUrJy2mGyh+W29ODXli4GNlnXX
GSuCQ8fpXAjtpMjdh4lO+9bJbPm4jGcOQZJ5FyYXJNtUDEEikMAYlILfP37wyvo510F5hFu4/P0q
WwKSS5kk6fCa8fpLfYs7nR/fR3fL9Rzd4694PN/F8QbKMvASPnvpy2SZ3ZMKNQ7k/xFClF/bmEFd
1LVnAA0kNvRDdadcGHtOiQ2mqm0SCCsatAWbd4ys8JR4JAJkwD7C41wsJwAipHhPx1HQF9qLi6xd
y6PzudNgUf3jfrUywNM6oFzNppPdzFlXxoCphQKeALacABdKB2LyKtrnvzSG2jRwvM+F1C2GUhoF
Eg1/qUCw1MeuZhnq948ioHYJFR94ccQL0Jg2MW0FPf0A9PVcAWvGUzcE2NFVW/LuKVPTdG+Aa+nW
osKI96qWLR6DUFG79HtjX1YqbqDoRleXVNCIcT6Q0FuXfGGOUbFbFzuuBk66Cl8Sf52st7DYnqy/
ryIXA7pgtzlwKzietGDjSY551M005UKRA3vlarCA3drFZDNb2We9BVS/O7UJ/J3FLjbsnec+4wTD
2mi1vYgLGZ0KrUcuTlHg5+a4J7uh5SDO4vHWDj6PYf8AEXTrSqv6Cr/dklsz0BGBerZ4IAc481Qf
/ip+hjEvXq+J7Sgk7D193HTyOR7/Yn/2QHRJ+wrqtQ+cfjpK2SsAB73vZjGIPnUcLowzhXTD/3jM
Motp9XR7QCvM90HrOj2R7KI1OVw6iiIQ+FeQe853yX4zswwTAQkc7XItN+47EajzmyfzSWVnUUih
YwLRo6M5xl57o0dOfwOlm95SM6/bcCyRM0Q9YTQ7iXLaTpYhjaN9GZzD2eRzW6cHZDR/V0N3hokY
ERJ+eI2pEEXGeXkefA40dpN0YXcmBLrEAUZKNgWV5HKzWm7iIhR0QsoB5h6mAQss+T0dotLqCKqA
KoIa6ihckGBUO5sA03uVOwFsK2cSRVruClz8TAzKluWRsFGracFWB+FqzsEYAQ6UMJzh+PtE5SgC
KD95WWDmYGM8XHNpoGbTbbJJTVb/CkLk+9Pl3Tttu7N9quNqfJdPRN2bj5B/f8riWMBTYxbA2+SP
Lv4M438Hm35sqDxmxsLDYzZkNnE2sQOjszDD0b5WjxgNo4Fv4HAs8yR5fKot0uFOYZ0148eWjB9T
QgMMM9g/cYkUQ0cjVmOrtAckvPdiRw0TABW0k8t3jIUdxxP1QXxqnA4DSGzUqvh0QNQvlZtO8fOP
0Pr5REuycwzpICI55NXDyEPNyrPZ+Q02IGUeR9N4lCDcEC1dfAw2bPs6HjwkgDI46lSM38TZl2T3
qTRccUyxi1sZn9/K3TRZr7WFvtfvEmfHFcLxVKeYWdU++GEL1BzD843G6232dBpTGAIwTEak02Zi
C0aJBnpbJVm7/dB+HstyAwTQaXz2ZO62k2xxbznZwxsZMftjW8lsALACRzSYzz+JW8dfFkv9t+kq
2cCHTB7A56d2JEAgdiBDD4MKOsg5WE2b2fXFQ1l5A64yG7tsvQ4zVJfzWC3TDBBcjPL99dffjMv7
OZnB2PtUn80ngKt9DzHhh+I37Wi6UDITpI8bKVcdl6vZP7XFf7PPsrqlWZNLBBaILNstH/aZWzSY
MDjbvZ5AHoG8NQgbrR8OYBwSSnus1DUX6JDQATBifKA2BxpJxEJ6oHT/UNgmPF7pFGllZ+7Aqt2W
oEdZ8qzYVtPK0OZAiKG0wRUDUmn2jy8wlJcztpAK4pQh0O42dlBCRTh0E/MhNbjsgSdN/58zqtkI
05628b15l+/Pi/J8hLXN5nKY9k8UkaCOIV0ku2y6r2Ezp6qjOTTdm+ilKsdk20WuD8WKhMF82K4q
H131N5hxWeer2TASraIItYrILyKMPAJO1PhNLM3g3zA2U+dq1VftZRMGy2pyYC/qkmQKuGG0W5/r
uWhiUteHSbqc2mMIwAvsy2meXtW6zMVYx+jpxEr8z08f/ksr7cccNNsvcMTGTgwjh/ZdUgO+KgNF
rqdHYj+BqN34Qb18mQ9rJx1BEJWxcOrVQgQoEOh2mh36ul6BsyjA2k+q8NvV08uvJ5c0JQtouotO
m/2NUleyefYGCI7aNWa9dM/tm4HzoeX6dFP/KZ4ukrFZbskmcyjeLuLJLN7dF0Qw48M/HOf/8gV5
/d3ZJNd3z7h9L8ib74pxL/2PvjPxTv53cMYvyA/gjl+Qdz5dIY+xMXNYd/+6/+H1jx+qlB2EEKx6
Ms25hprmzivzvRal+2Z7jQ15PB9QgZ2eMYIlNxxAiU6bDE3FPiQRgNb4JhsV6vMmMooToSsiwB4F
rhq4wwMOppsDfhSECQeujgj3ZeWOxOTTVZLWoQUhoa+qeo3Y5knd+hDAu3bD7bAopO2j1rP4MqKt
QgCgsZbDt7XdMd5uH/ai86kf8WTUp0KkAwNvU1XOak58fw2rK/EbMKi9hRNNONjES4q0FKrFPuOA
57dQrxiHgbD6gVe4JP3/UOPCUCOKnE2G0gO6eXeGEe9F6ivZVR1EiQJsKtTvJcshUgvVowj2tAPa
n2qH9DiqCcNGTYBKEjNTuPYTubZ9reLgDjdkJw3gI6JYICvpzIqoFH682w7r2BDhJ9ki3m1rkOIR
fPSIc3oNKbFnG6IxT+xBKvJuZ+wCnlEKkHGHU2mXnBAFLVfRSUw+xU8PCezfmmG7dDzTN2nmCf6P
vS9vchw38v0qen+ow7Mz7CIugpwXFR19rts79ky4x88bsbHRQUksFd0SqSGlOrzxvvtDAqQuAiR4
STX71u6pKp0A8kIikfnL9CHOxRvCVUO2EaTZWeVYDScpjYcwj9mBAxmndNIw9hiNat/isaEPKYdL
J+oNpMHnTFLJGXn1SA5B/eBSStKUEhAIH4/aJF3bsUGbf3XMm7rA6oS5fKiJzFbprJRMs6HgkFaM
RrSgVvfAOGB8SF1osXbewdW6j8GVe97nLDv/yA9Ow30W3TmzCOTSMTn5GLKtfO8SVN9tNlE2D3Mt
BXxC7M7idmQ/GENb+0Nk9/GBOQBB7HAeOa4jppkmC31gnwQy/XR8Fphq4a3wEDoZXpV7Xr8hEuG8
UZvCik6kx7Wkl5DZ7qgW9yjOYHLWEJnQLqkfVuiUSKJT/vL2y5dX0NK6glMJe7/rutwb0Qg0OCDi
P26HwNrPMdNA1RpCTmjS7+SrN0ZFXLx2K6BMpia3H1sKwyxcwFkxg/SbcBWHuSG/mku/5yJib0aN
9H1IyhxqFjLFWY5YZJjUmXugstXVdQ8KnE9I73oHdoBBWm4fhq3yXZb8q2dufZ8FgN1XkfNgYtXD
stfgd2k6CzPN0KwL71uv+6tu1ZTRkYf+/OVn/eiI2fXb6zX6bnsn+O1Xu9TY7TO9ie7oiC4sajD+
ur/qVs0ovcCq/0W3auaiCwz9o25owr0LDI009BYu3fj69VU7utAvSoLxR3dMozOELzK6o1MziFUz
NvL4K+E5JZqxkVh7n6CBuon4o7wJuinRgOQjCGhJj0J/TwWFJYNFK+K1vCyJE/lyZOW0SaSGLtvZ
UcafilJBYZImUkU9uIJE7RyFs+ulE/IeFzDFyba8BZovY01eOkK4y4apWVyqjcOJ8w/udXHQ7Izt
2anYq0caEP6o748nwKoIT5cFABU4gTeYBJdrDXeLOC16BTZHQIT+tnWJh5EwjCZBJwHrwv8jmuib
16EJ98h4QgCwAFrED2+CCRtqXDPx32iqsAI+pt02ArphD7Bl+vDdfOVdWHFlvJM0mRs6PMsQaAed
b4fTjzklhGNrkHWJ1k9cI8g6863mjDvEyxrjxdwyD6VpcIChEKPeCRreNwRIsWfXP7XdmLhpTKuG
fedjXlkwXCs72mfOHveDgHu03ZwZMs+ZE/S7mzO1uivQzjnfzfa15VAFlT4IQwmQCKpqXX8hJ69H
2omj2pzP6dQ0enV/5r4/8T2rM1XT4DLtq8TL1QxFJz5F/DIDEewPwsEsXK4hZU14FMkW5CrTNywg
lsmm50NawRoU0l8/rz3GAQDOHUFPFMUXcG+gAaK0ae94gTmLyVVmrEAZZsuv4je0JdbgL8AKrNy5
8VewjKxojtiEWx3hx5/xfBWFmZ2ccMyG0CbVaGUFF7ZCSCFTUR81h9taPPaugVr0SaLjOwutpsNZ
0HU6D2H2rI6JqyjPnUU6360NyJCyc6Lv9194/rB0FtFd7sDgOgh1jwiL3ZnhT2U7yA34urlDXKpv
jUotj8ANyzkbT9dEhE2CYPSRoGLZmbCgPjsUmxOSdWX9YVGwrFkVhSs92lnynu4zZ5YutDESxHhg
eULGhtNinKdCraLF39NstbgJV/t76U2WbqJsG+utje9xO0Ai48A2Rd9P+Wp7Vu6oYGKQHepjk6BI
umqxBjzqDrC2o+RM8ypfi1WeJ71hankX3eTzGVZI8IQxv49I7hLYENMyqGEoXHLtwOk7Sec2BWQK
g3Qi2evFTsGbeGej394A9l6FQrdPVcQzq3Li869XgB4q0Lm9F/TarmQeTLiQW6iE/jiD+xBjvyrf
ehvA/xT6B7Qeu9mswjiptHR0yYQSK/gHsyzJzbVGjiAPDXXZUQ1yBErRYN+ILdxPH/umzXflHMx6
G9GtbH+nJK3NiQfcWrus1hrpCndbPXh04PoTzIdnnFJ9ffAS+EYvuLW3PZvXru95EwrvUuWnwzMS
Eh3ixcDTPWCQHv8E9bS15epP0Qf0uWCsY/DRuqxLrlUe0crOHD/e3JzCDJthElRyeXkmUPAkBejR
adRDtesQh2E60tGyEVlxWYG77AyqCDgIHVTtHB50E8+38k4weQhXsaHBHhLen9djMPOq3rhasMgA
DzHYDDAsJcIRkX0sULUPmj9hnI6yMKxdGGVjLIzoFkbwKGNR3Vi0y4mxeSymGwsxPgrDPB3DxhqM
awfze0XpTLDT1eMO8ZlPx2AY1jEMj6RhdDAaWgzG9KC2o6iYpxV7zscYi2vH8shwO0siSGjoaxFQ
YtfCuIuGaQ0wCsYRD187mNU5ibRqy/VVefm6eBpkSE084l3GhlAXWVUrEDspyeN/Go5mvg+Z+rj7
UGbh97X7JmFjjBVox7JKg249FnK1g/mDELEi+whpbSMP2o/WqX2EG3ShYieZp3Z5UQ0yX6RTQnMX
mZgFpz5jfg7kVWJSCwt7Pt7FYWGLXm2Iu6QPI7Sd4CTorFUxatvvLWaNgw5f3pB1OJcIP3UlTj62
ay5lN3B9vp+YjT7Pj0Iwb6zFWxSbonEGl6svH6swhzZsDG2wrVJOTVM4oAlB4d/JIyd6Eu9SwCUw
x6cSe+ZQmixmtEjXhoseLEFg+in9cU+CuAa01rc8cA8jihacgb4AgQ1obdsplfN4LeZRiXKhCfFY
bztz3mwS7Jcdds6QUgZ7yzLavt2DnT+Eq50e6MCTmMV4cE1UUwtnq1ZKyX2INXZgfSVJM6BCjqxC
fUMTvlazoUyC96G2Ppa62ywzcTA4aFoRJ82rr9xF2zmoJMScvxnuYFzqWV5DDWAUukkKta6f7Ggk
jualsxfIs6zxshBURPk1LER+ZCH0tgEa1RJ+TWlVCPXN/oRs5eQPbsVkK8NaV47J8h3vyuz7yxc9
A6GLahevvIseA630iZ+BHQb9YFLUVP9kwDDDHp8wj40mRE0uMVTQ9RGkI9cvXcPdoubiSOyJwnIh
6l9dYtOFAc0P4M1d75pGB+5fG/nF/KCncRyKjAbl95ltiujwemcmZZHTo3c7EJp4fPhT4QECqc6O
AwJcnx1kHiaCg4Ia63QLRAkX5d8q/LK/0NajP8FWiwbyJwi7lM03IvoAjim7nHbErQ8+AeDted7w
dJqlmSHdh7vdfMY+DQcvawHKV/b1ZrIP0jZVJZBWleQMCUXk3rXdhdoV6DGs/IkdvocxgnDSJKxM
hcl/vLnZf+ePPqWkUQJ1Pe2L3ts23V7bCrxuOIUt1u3mxtqaN8cY0QUDfLFdCMCnzPIecmClzB1J
T6f4uL6/F6T6uFfRvZPJKR0sPqafqTh/06swt/HYHMjmOH0EH1Ai/ixsujioHGGnRckid5LdalWD
WO67cK1Ir00Xg0saeOOE/fdRgporlwBbojySISA2TDDZUDxOgqFEI1rFD1H2LOTBkE3t+9gyncNm
vOOdav6gMfiwuksdYXv56sMIueEIixH4XeII2+X+Rk9veNZZq6edVQ1WPxHnCMpH1LD6PdcDLaPu
QPJWZKWWV9ZQrPCYC/7Mo40RuZL4PqSivwTZ0BtBjKhtihW1oNFRtynA5nfybbwq94qaljaCT8Qq
CZB2oJLgVRI91hhjRDmVCex1GkJbacgxHY6VBShhamaqOu52p0GdqhxdYxwXgmiZwQJAFRlIIApl
2SXh3Z04SwifavbsyBQhaDSjdRkwBIsGkwVAwH37008//93QEM2uGzWGvt8ED8Udi/369NLJzC4A
DPetbp46s6usOC6Q9PV9YjzLmqWhuSbOwqbX9LqObdM8B9Ezfa6Hb+n82bBM9d6osa4YeYFlKjId
zw2wQ0sZWDpMjXrtsK3HUWW9EgOGTZ85CZK83S3ibZrdhMn8Ps0kIYTCOo/i9UOmD9Zn3QTQfKPT
/nc08Bncy2HwXRLl83AjS0CP+hW90SBWUuxfTEyU6Tg8ob8u9IjlIbGdvTiAYtcEHyEj0OUXEAsx
j1WcRAqrXZ3qAV1U32OYy05GF9EfM1I3AJ+RAA8ns/X0kc2M9JAbsm3BxYS2Abrfh2xn3xtcXA+x
chkB0kU9lY+ir67g3JsQ5I0qNKeNHYqt2BwgFz4/Q2REQtVEfwB7qpcPYpaZqj9USlG9oUMEwhhW
yBYD6HXdxYXsPzEWX2zzuSDXCLsX4pBdJyQeMOgueEkG2aTHQq5TQAfnl13WA2DQIP/SbNKfW4kl
bsqge7VeeCng11r0rzmbitpt8/NylPLh600lwMY5BsRaSJPpcGQ/4IFKrNN8G4plylOFID4carTe
KmPIEvJ0CKY39urjED/jw2tlp6QVHlBAr241G4VEceDFIap+xJW7NHuEZj6yd3e13A8wKTFzvT4y
0G1cbtmvpaXo6btTgeeLhyeuYHMGuqxZX4AnXpfTR48REYAsDKpdRQcqnTvbro0qD3zJgS5O/+m0
jG0iz+anslmELa4JH4sz4oQFaIyyP03dn0sZpx32GXPhn74hE9SE4euJQZPddanY+jG9xH57NFex
FL1DH1imXdN2aPGn6O2lfYJEHH2GNRTzkWuoR1MvVSTB5W2aSvR3SgAYDJwSHLT04Adqn4AnAfZG
saBV96RlG2qEiLyPvLSE1LakRi60yUHBUOpTbXmwMeS5Qo69XY9bOnyPDeQS17uWlDS6tQGz7G9D
W1Q6K/xTyFNvIYA2NdkUDfqNZTU27yKT+cpwpH2MZjlEyPTAZh4Rx5ouV2hlM59WvYsCdBUj0LhN
uDKcwLqRPS4bG5eJeoZGJyjw8aTTibW186A/R3gy53Ks65b6SxZhebrdZIsx4f5vHq5WcBrLnRAi
Q+KRYGgMKSiZzFAuUlH09bS+ZSpio4jDw/swS7Sp5gFjGCJTxO2+zGMQcKsFO+luu9lta4oQoMur
N5DQyRQK2VC8hBo03dcQ2UCdDSxtsLk6+0nAmeW32yl5D89MsQvP3U4xL8ATjxLGATxRfP3URTUj
7L/3RnzHlHysgLIKQiLaALXZak15eLcPSlcTCcmE9nLutXwzA2qqFIU+Z6+m4p86OE9fUBf77qjy
Ui5eio1RSKwkRCcbLu91i9wwYq2sILF9UXdoWam9kAUFhwvZLgxrwkKVvMsi2aJvjyxq0+9LfaYs
CYLGEWJF+Qnoj/6YKI5/mJA+93LmSZ3NxjTJXAL4F4cIkw/BKZagBC/MrLp9zapdx8VW0gsKg/V3
+ETGcAaj4WGFNqMHviyAG2F0YXFXq2enaVexQ3drTWtipHW70GkTuLd4ZZOKw40O/g9NfBSMz1jD
UoWLi9illgo5IBekK/HRGEJjIiTucqepVvjPKEudVZQst/dwiWVIkBf2HuOhd+smzUOMdl2VTdME
3OsiWL+BFbe++fZ5JTarfUlxAd6lvSiFTC08vDkXVFiDVwl9px/09XAQnO+UI3bUeyoWVFjKaUhC
q5Xn91G0PbwkHIowvzeh8XdKDZjneYXH4rk34tROKQ5ee8jlAfMrkK6OECo2LtdrEqyIH0xQwIei
eJ7FwkfPAW5oUebMbLeGQnLkIcFuSi92rueDk/k8XgVwlAacYA+ANryr+H2dD0kGfw8Brt/gPoj+
jEItYVS6nlROOQgUzO/T3WrxNdslt89R/mqeb24lXwVB/2VK3mlqIQnyCBtbtgolloUV0V24Wynw
VegBqU/7IrLN1os6Z/QROkgEDdhQ4RQgprNIo9xJ0q1wNsJvtaFXJEEoELuWICaplMMjxoM06kQR
k8C7kCjqD0cgekObOdhgMij8ElQ5CyW0YeqrKJEAfXcQFpHvvkWvpACrxQmxC1dioD982UrwE8g4
eC92lffpIvqD+8T8H8QPIn98993/Fh+72X+uEs6Bm0mf4PHEVahKlGX6wpkAzGYQXFlaj62m+HVI
HBEPhJInaSKMBtcJMWXtLJcBfKSdqJwQ9JW5h09LedXI3BR7XaXOJHQKGEV4kjZMZ62YLhzJb8qX
kyAyR34O7EWA+628zLrdCFC8iJX5ZB0FspiD7E200EFdQtCGjGiXhrQttaaFQVscalXy24fReVdO
Y8sumyNy2q6ShXUzvOKcUVSpP4b53i3bQa8LR504y4oSfaQaeZaNqNoRSKLeS9bUbM8e92SVdJ0a
sIuowc2/f/lyUy/oGPpY2CHpmeYsLZb7OrgpPScZuC92ojo6YTzxAm+IkY+arm3uHbl45y6MV9UE
NGcSoCAYRnBlzKkuYYIAgJPXYYWd0kYQ8wcdCfKyqkMhImOCLYS7fz8+dUqdBG4vm6fVLZAXxcfy
oDUvdSU6ViLhic73WhRVhYq5fVSoRbtHPWIRIxPfCilsCEHDuIOTYZEpZld2Z6OYCpchTv4hvFTD
aZNiYaWtGo4xm9qQff6YJqWsoeCQgr+BLqO60B57vH3JfBbQcuSVMtTqtXILW0fbEMIcYNqFxYgf
bqcYfxFEfC/fJh6IV4vdGV46DPKrGF296fbT288/qXfeVPc84so24Z14/7AsrX6BHhD/0xB49UCk
fX8ggYZIuvN4H68ip+wdKmiuHMlNuMsNSU2uZU2MZpkHNsuCh/dy1T9Bl+jTmy91KOKuz0nfgZZZ
FCVfftuFwvSIVyq2h1oWv/RjGqLuiH7jNguFs2tEjPGZbdHkACyj3gVYhhEZgZzC9wf5j5dJmgFf
7+TRoUgs11cmwj0Iwpeeix46AnXc6/SS7ERPGwkIpAfJQJbR/ZbrThe7FRS6hoewuVhz9CS2g0Q8
Z64ip64KEwzsyZ3ZQ4hNpYmEhrhVjhz6rtoYxAMD6XXJae5WH0YC1su8HK28PADnsj2LlvVULA8F
l2C9AcPTtgkvsy2Hg4hEoWgmaHbsDeRFHpK2DZVlhOIeenwfJoCTWFzhbqJE7up7sdLDvyFLNMt2
DE1S4TLCX9pVBoEYlA7sNlaJ+2aUQB6EJElvF0g8coRRgUtByNydbzWbHYH8H+QNLXtxkkTZH3/9
s762EW6C3OEFIp2Bnw72HFZe1I+oJ/WRHEBZdbtRWY6QhUuJYge5/Mss3SV6i+JyCHP09lqy5cyJ
xcpzh2gYSSkEN1ErgW/59QyT0fTpVGCUVsXrJVwOZXO4OQ5n6W7742wVJt/gGhi7qfhAlmbyNXut
094gg7qN4PAV8rhH2i8i5gZHD3fbAwwXXHOx+lvi8v1t1ZS8neJP4t/+zko8c3pr1RReVwdfiVp8
tgLAVYcGskPFKDUl04enoOJLeJJLp5AAfXYIk3VBY4nraUHU6R5Qglu+lm/9A5zoj2UZyTtOfHZL
XErzcfROV+HpBZcSU30NP7LsCdSNyTY4NIgHv2stoWhAK2oLMfdGCBsEqOLFlHwQ0qc+91MMxhQX
+TnqlSkm6qniGFK8HxY1xb6Q3EAK9Mf36sX3N2HVoFLZHX58g1q48Vh/XmOWeFuDi0oVX2ANd4UF
8uBGIxKUXYpWxNCE3hL54gXQitFBPbbaMAQJuCWU+SDM0Zu84Fpy3NLkyatLrcljBI1FQohOyg0r
d6L1DNIRDsmQ8/t4tTDB0WAJ9MYGkCVzv0WOSUfH0uCZI51njqgwIN4Qjr/p6zF3r8G/fecBE//Q
iP6mHURPp9vrdZzPT/JbF7ISE6JE4SoOc6Wn6pnbz19+/opdjH+Q6hnd/iP84SHKcjHFW7eS/wPn
TI9f0724NTgX8PyBpD+2ObFZeRsevYCEFs9YmxgZ50AdBWS2m0G6zEKYGeUQ5/riAbgXpP5VVl+v
oIHbM4R/JIez6PUmWVZxkSge09GUi99sVqCYmWD1A+CWLiJISNcaBA/u4QaxxFgXqnMJZB91FKfi
BkbpX24ouoEYBO1t0E6HqoWPQgEd0/utMlCfy8Asy/f6TgKkp16EKOnm7RU8liANm3AL11kKFi9O
5lkEfkq4MnsqPnEt2ykMQQEjPLLrjradWwWNACUDe5cMGp2GhayDQKMqjDTwpTt2nOXb5E6DMzQY
7dDRABQgnCDnk7GxBMSMzkqvQetm13fwlCi74OZAF1zyeh9dgLLFM9ZiHLjDnSoUV+GGX9r9Q4W1
PmCF3DFjDbU0aXTk7FDiO08sSZuKZClzLfFQx0oGbOCmygOUb5KpfovotlIfdBfLNMJw9Tp/vBPv
Uo611BGVVSws/2P4nAuFAe1RX6ZRHgzZ7wxdgCN1gSmwjsgdV1X0ioIATnHc1SdRnTQyghrx9i4t
hyYphIybHwFO7gbeMCUz8D09+sMvf/zLP+br1ePiA7uf/ev/eV68Xz7926+PD3P8l+fw39+5vyxv
b5sEkYltmbl4eBmoB6CjkKITeCNWEkl+FAIBBASWqJi0oid4s7HaJW+eIGf6W7xVWcxJtJWdqX5Y
pcv4DhKBosUr8fftL2+/fPlfsvoR3NCGWkcMvRsR8Tv4O7URdbG3L5dRVk2zpigQbtYgufhHgAsF
zlcVL4WLr/EoH12Ha+wXIx2PWpr4hITRLru4puIAlhkuMH0mIauvbTfO1OvUaiTCF4CsCiUxKtli
+7yRzzXLvXp/kbTRpdx/sVuvn+UG6TKVrlFngnxok86sMmS9NiZIMFIco++dHdB2HSfh1uSXMAna
9rsyRVBoIC3RQV3qjZEPZyFCexC5UV2FzoRrtaXVKS0DMMb6Y6YFn6XGQJfligLdHCnCfRQv72W5
BnMhZUMJNZYlsKdSTSmxlmqMXz8JlZuvdhClAcXbaOSaBHDitcpO60nydfoQ19Pck/nYQ2vYGU6A
9lqaWBaj9CTBUWmsoZslsoRCGm4ieun3enLCytgc7ycKQO62KBhzyg866pNT8vb7M6zL7w9mZEre
fV8AYooPfZ+HD9ER8ueUfAIrNSUfeqB/HgFrljsZGLdKbTMYDcr6mo2e+65G4k933mLXrNyT7TPK
FBb6d83bIlwKYc+qttIz9SForLY/5WdvJNdzXlYLEbhHx5b9y60HYehhjNAFdtWGk7w0K1aJha0M
fH3PV49ZNqL1LgDKq4fjRZY9rjtzpyHmRSixBLf3WhwBq+gCDKBVOb+ydTwVl8sfSeqRjo/8N5sj
CfJI8D/bdIdtGoEgjqxyda4e5tgyzvw72je9YGjjbmrwZle4PQT3TKVtdugIXv9+trW9dwDLnbmj
nd7kTE4vTWzRHxnruPF2awrEr+x0v+T4VvNOwiaEuMy7sBiZRYdaXo5asFVI6lORIoT0tzyBZSO1
dksv4uBHxd+yssyRlWU1fXB9V9gW3x1Ub8yAJ1YpUd4QEC/17bC5J5wZ5l5FhysSotQYAnEqrUBm
hqoTstClOEnSuVhxce8lnqlNQQAwScK8bkvrFvknjA6uO9isO1124nx1s4GCbmkZdokEva9r7YN4
YFk+fDaSWNNNmOfQ4E3G2eWAq0iBxOQrAwQ7DohlKoLXujV8/pzMLfrDB1xsbW430h6JjYnIdf1O
oawRdyP1USrtEdGFyVsYMGVk2r/vXchNQAHqStG7KIsyh7hIH0GGyB/uy609cyTbyna5OngaxLpE
DHTKAHtSoz5AmSvGwbXNMz4xz7w0z7yneaa0yzaoeBRmS7G/7eE5o6c431YyCsVG69P+wrEXQaXF
FcGAL/bcYPhjSYP9qvFmuMsmHmZ9154oVXAKGmgAECFTw7XL1mm38REjPJ7Pu2ngPM8L7PpqC3vh
+TIU9LW9+xGq0LQesYTlrpm4c/eoQ73FAOnG+tpXYrKvKCA9p401k4bYuI+H001i0E0Cukm6El4c
nJ6dWRaKsZwIjoeG3ZRB9qJLL6JuAeEXOqWgLtcxpxoh9xvxlAyE/Xb7X/+3KgZeQyusC+xvZL+/
SSyH/3i8D7fRQ5T951ladPttLoBYsd/FYoFkFG2Jy/PHLjcVosqWH0FHN10Ktjgqi1UJEukhg5kv
m8D3lO/jdRTYo44+OOCLYwfxu63nkPwhW6rf7Jt6vZlib4oJ4syvdnMRBhq51BtoH0uztROaUV4D
KEjC45BzHSbxXZRvK1fG/oQEfQ6oduV6DPc4wqweIiGGQrEU6Ji5XRhS3as6Sshue+dLT1z71VQc
5SEb5CpG6UxwlM8Nz0I6uXze0P1WvL6OxLFicfukoo5xstlty9Bnvput4+3pCzJO+iT+eAhXOxkd
/UUcSGQ7H/iM+PUsFiB+/fL5L6+Vt/9K+Nrx3fOHNAFk3Pw+fXyr5oQqtYyQOuxibxgVnn5AU59O
P7jTd678Gcif76RSf+LTj2z6Mbidfnw//fhR/FU9azCOxtA2fXQmIJZduy+xcsrpOCuvtTNkJDtD
xLnOmQx33hCKpbQKuiLOdtutyWBDKKwDSx+jWVGYenPcyPi4M6G5HyFH3Vww4J7wXoSiOuJPR/Vl
WGiOPUJQWT/U9DYoo5S7hHci4Z04GQt/bbUCWBcHHp2iTutR+RDult9R4nwmaaLiCqEYr1KuiISH
woOrbRJaqT3aLaSlVy8JC374xNGtVvQUrjer6PU8Xd+YzPunwwcrJp4BsiQN6BiqKPcok2cIoe8W
dD/SwQO595VbR6qo6ygz4Qj1UvsyNCohY2txVBGCmGyXaKZ2hYaBNUdxAuDHo4/6BlXHxW6XAKD6
9ptdssujxdfi4dfHMEtMx3NINO5pvq2WiDV9g7uYoLbjEt243vjjUg1LEX0BRvFgP85tYun9jmMS
IaIRdMngPtpSJW692EPB9XkjnXTpoFdOW4Fs0eGOz2WmkS5+Aan2dFLNB9puwIuVuN217VigXQbq
5rQsV+J73NdYrDVc/BI/Rav8Xbh4my1zU/M0OxDt2pH2keg0kQKezI9pbbypkx6NvGvyr6O8em68
ipM/CuKVTVjKdylFlo8OqTqnZbA/VDEN3NNA3SE75+hrNTAGBGM8VFRo3xnNqW197PHWPk49J3bb
eBVv40jTIBsFYm+kZKDzVGPPYGOPOH0f4Vb9N236CGNEhmcm3EQqLB5zng0YEjp6oHuKP5UfE38e
PigeNMzXtkHuFPsacBBAjn1i/hS/B2yQ/a8A/sGV8afalpYoYMHgTCniFM1VaBxQsdDw2dyqd8Hh
ijq8u4MUAwlPok+1EfMgaBRFtLTCNtQzC0p8bJGba5w0nZMhHZJjd4TE+iK/Y8+Mdbid38sQsP4o
BpBhmPhjSWUCLLmPxBt1l9Gcd7uM7rcJIG/MioZ6FlRnxKiqu+5iMG3nIrVBRseloJ4l+xDYLyjx
vBGpUujWnjjSThQFQ9UrWTEnxl+UfTiS48NZq7nda1ET/flO3TGAyYjktcN9nMt7jBxCzXDjkciE
7lT8+JMwKF+KxCNXffN38iNRon7BTyhkwS4gcXz88BqG1JVeM8i/dTkZXLmPrCU0VNa6doEv/YAx
mahwWx1BO0cdXk2OV7Rax4vbA5qrYl/4vQSRPzz9fQEef1jelLw9AYwnH1UJkRa+VVh0YdYJQ4PT
W3atLmDs9Ts7EJu9DI2pTNa8kYYHdP4u3U/qsHSRB6Frz6qXH2/FjKLkwFA75CPbNol8fFacTdXM
CPXGQUpKlNGDat2jr5PQDOrb9newXU4+JyUnqrso8L+YfkUIMAiBy63Sr9oJgcyWbzwKgVbWBwm5
qfbOSgp0ZwzMKR18uYWxlzZX3u4p31a36gCwRxG3XPVool83Y9sjYH90SGAIoR4akyEy+V4RS1/A
B7cPwcswSDXTbmTKea1aK8MhnhR+5iEUZuSYD4EwatXqoCvH9FdiwlRh8uLYdAV9ESwYSF8swlXM
wy1s9BjhKm2M6uQu5gLBKRkx9OhAdC/OTPsQ974kU59FxKhlz+WxJL9hvpqgT7WNnzIrxZuqRSDQ
2gBZ5a73oS8xNbjHxH2J9CU19G0mKoc6eea54xLVBNuJKe2ecbPvrAtZRWVuTzVAhokP+T0u9rwO
+qFN78G69B7a49s3WboUUpE7d3ES59AuYV7kL+m7fHgTzEj35ChJsfA+Wu/JVq0dQJhKuiGxk/MX
KPc1Um9KeW3ShQCD5086GJhzBvlQmWrXwNMgEfsgn0rT1cedOQ0sU4C4IUsOkuOKIZ38Od8Kkdhn
zj3EeTyDKPCz80m876/Q6znXV8GyCea0z2Irgd9i2dC3d226/6DEH8dsafMroXbNKrx7fhy1WKV4
abfaaksFOfFHIexhyDfla9HidptVUkeg5j/oMIfD2G+FpXn9mN7dVeq3BRPtWiEPR1Ooy/Uwvz5N
ObrouqG0jSF29XUzgq8S1tDq+PD7h8cxuyhfZUdFl489ZgNjEZLtgC+5E9W26sSQW8i8QbeH0+tt
Z51mh/IjfbtQz7KxfZMPUCLzHHrtmaoAMECKE35NDWskk1K6z5/++vbPH80wp6r67gmzKXmHfaTv
1e5zYVJ86o0ud9rbOQCt9N1BLaqB07pNjLtkTPHePsbzSP4lmRfpww5QmE17babrFProyS482yyG
dgTQsizLIz1QKFy1u7zPOS7fze/vYkjbzXPNOQ573fan9mkE+0qC81QCH00oJr1OXY2pBIeKIm06
gQY3gIlJ9RL2XQ46VrYDPExABu4W8R1UsSfbulsRQmW3s5dj3PRKovUqjvudwq2b8CeY+7Zt59M6
9wPhAGTHH+S8YMkmM0CROAML8+D1bh8puxTKGE/1ro74HoI9FjGPuJdftVASTbzJp+JATIaYTbwG
hM/T+TyE2TOoUTifp5nctAp9KSbzRj28PXVeNTgKHhvfWavz0CBZHnF6yS1MH9kltsDOXNdjU6jr
oQZ9ls53DgLwwPm3VZwbVh4EgAaK+5yoLdA4GL3MNiYpX0mGky1CfO8yU5Am4nwKgq2EYYI7MvYo
UVwxdf6cxSsxE11h7IRzMuJmXUi3dqPWXoPKLn2DSLSwdffxYhEl+57kd3EkXLUCW1abvMO5ZZ+O
8wPpeeNgm5lo2EEIgwyiF+wmEDs3YRQfwZdZ06ST8S+gQ6En9TbbzSVi6CLaqk2z5no4kKVCY8qj
PDe9i5dMe1ATviv2hjG4NaiF3L2izGMObQgvuZvqEdcCy37ERuE6qUprI2YYKswvIWYf//be+dMv
ekGD8yO6phgEE6/LBVZbGnz+8rODXYxNhCCB3IJergm2PqiNYIIBzJLRa1oLcZD2yAVU5ct9fLf9
+qfPX/RCAteGo9qsA7/1ZxDEJWbKRbzUp/us4iYTCDn5V5UEDA1/xpcE6Gi82Zav6IsdUOtb5GFp
QcXJnb+k2Pm5+NZWzk3J26lQJ2Gv4P9ItXIpE93O6ulUGUYFAwfyH3xMxpcGyNdTd0xaSRDnV+z5
vU9u1oLw5mvx1Nfbv/36yfHPBQP5wrkKRjRUejRVZImm6vdjBnTGVaTQ8cL3LaFo/bFcGt8ynmZF
Bqj51xFBVlToy+uh7SS5IgE8MNH1vpR/SbPUbIqsi3jhxpxQq74ezdzN5/muMfbmu5YNen1rVU4T
mYb4r+/+zdzfDgr6va5CfFwBKpZYG4lifBhilqDzp9JpSv7yrmkgCJowl11TP3QS8KqY96149kxZ
1Ntvp+/5zzY6U3uYcGV7OY56MB2ImyfyikPQf6H+NuHkieOtOGnzMRQIgA4flsZ+YmCHEXkBbD6b
Z1Fa8LBUrDouWz7n+AFa5pSp5+XON+rbKryGjnidzEjNooTlFjLnbLJ0Iyb3XNtQLZAtSgdmwX4a
wAMJqq2mVMBr1+PyVEgEOAC8pTmyI5EedFPVhV1RKI8mV92TJRmrNfbQbfG8yB67jaYGjgd2EKM2
tF0vwfPMsjRr2Dpd2aHuKiQ2zVFj3NfLfQTJRVLl5eesrbyO2oR7A2pbBZQU+5Yw8C3ZCWf9BO6t
TTwlcCOA2NV5Wp1ohZnvyfQtPWLnHtq/fIVrmAfXn9ijAwqtGq3CwMAy4u3bdJI5Cz5IcHGLlnBk
QH/giDdQcPP2y/vPnyVz8L6bZW3GJbPFGvQ7d/zUUEl7GyH0lw/Hm/3dr+z4UfScyp19UnMDlwKZ
FYBHUrhT3kTFPi7V6Psipu6K/77fm0SMb6Y+AA+8M3W0x4bmGMwd0CC6GoNIrDBm+8my3rfi0rca
U3QNQmSUGsLwhFE0sgwXyiTEt6bCGLCOEb0GdQq4cn1XiQkAPl17F9NJ16uxFJAyNq4CUiu8o/YC
l5cstTaaPuTSu97Y5sBuZwP0Xs4vpwAHctWYB2LZNc43pVUcLsnuN2/EdqrrVuK7jYuYpZmGbipN
no0WM2je9vgUEK/4kd5xk77xc2UDuHzeALDbzoX8iKc+nr59f650RKaPjK10Ko1XNSicp+m3OMpV
rEGrelC+g8nYqqe/diGWHdEH1zQNjcwkoj6x7J40mPYdp+asNyGgwWyWFYWjDF9BlvTBfnq96Ey9
0L0a1lIQcdwc0lJ8mr4T/z7oLIU7wllvm8Xzb896t1hFfV+GNppmyPhL1EPijayHNp47tEfDVnVD
gzOwwXP38dUNw5HcnweekEw946dhJztoqGooEdBJ0Ivw1PbdFat+GnFHDnX6HaIxh7xU4Gh+c/88
g65rOdS1iBFn0R2Ut8Lljj4lFcwXRcNZzD3om9D8dagPyAEE2PVOpZoZvpqvdlvx+dsfpJTPD1L+
dBwox/g//vPVb7iQdaQOofPz5UHIkw95H/CkiwKRoW45klWcRE70AMVjf/z1zz+pvqkGh4WSMcN0
Dbyrn6nOPh04B6XaAS8aprp++Qcq/kC0/MNTf1C3+B0Uv5ExHW3IeAPSBvz8YVh9hud8SkMH0kWz
dGU8djCOxD6JxjqqakGe2wE6FwX5rvyfFxYPvYLHT9yrPEPKZ8o/OC6fCcpn3PKPQkSeSOWbvXn5
Bzv/nv2nsF9+vPyUW765CXGacj4hnl2/4t5iAFi++jQauEdBL5//yPXO1B35508UlA+Cc/UveYIQ
PjMIzO9uRAiMM083z0cPS5tSx3ePgwFAwUX4Dqif9brP/0f3a3TfdbsYASvdxx65hAwYkVPHC1D+
/2f1mxkuk1i4zZ4ftGd4uN5EWS4Ibqo2Ybye2cFFcBnsqoODa+ITUC9oQ6gLa4W2ucWNkEHoXtLc
4yKAdueI8t75wLXpm9VUWbGZAjSA6yLGg3E04NjPNUAGUcsGWkG7o3icCNHTF6ViClAh7YdUKbLC
s5CtJlcPYiPfZSs9FqeHiThLeC9YaOE8rawkUlybusG5CAv5nbpMirC8Aq4zpfJ8FjB/fEEyWVNA
vP69GYkjCjcbCULQSOStdUgpFGCh35EBnrqudYMhuC/B3KoReQe6QjHVZrXL4Q89ad3fF2nt6SqR
N7p4Vh0hwuoBIGXndzIOk/PwTn8XJLZruyyN6/pWmAwnf0bavPntkCz7q2rVJn9Avyp4E/xStwGQ
RFtJrOcgTeOwr6kqHOrSUQ85zqPsQThj+2upuzSD+goAxkqTcCWvC6SQG4FD/caU9xdkI8xVx9Ye
MZV1Gz7xhlCdM/JrUbWZFVZt26FKvFydPUIYPKZRBNq8z/QwRXkMve2dfDczHiURcy3TrU1jQB8C
APuU5Zs1I3kUDg3uf9NdE7ldBF+3wOO2gfXBCGIRbw5GumqqmWVNS0MI8SCLpoVwQ+gGjI5A0aYz
CQFE4Ib7u4sQtTJRA13FSaQoqmsmK9S0uASNQNb6K1HUzY41hAvEyOBJzldprg+TBVDah+n1eam5
hgU+gt3RtFDq2AsUoOY8oYpi85Y3KeSdRXdQKvulBHgEkag9ngIiAsYvQM1OZ2nUMbeNjqHBIipN
DW9lpms7a1UXEHuzCfNtpAuLNdUMXIJXTbvLQA1zkex86JLWRG3K6TvAHRMWdIxk2o9hB+hgLYOb
KMmdJHp0HuNkkT5q05Z8btksQSuSgJLvrIXvHYPTeheu49WzAzDFd+HckJdILbuP6ceLwm30cRVB
au5fhNOab8Q46PWTpqs0ssTPMVHziGuyB6tKfITSVdmO8/xGkRB/groHu7ULw6+fdEn6rmAZ9wcd
iegBbX2ABuNXNCI6CW5sMNm/lSe0lCSei7rSOIcWLrJ9dZg8OwBDJ9ErIO9066wNIJ7QvMwOiM2C
5utwBSWy0UJehpuiHWKhvW3aUaBsFi6cdSy0BFasg8mh4l9XwV1Eq2gbFWq42AGHBZHDxXO+FQIt
vIFkWeQlL+dOeCdkzHmIF1HqyF4X4Urf8JxA66DeNLCa21HmtP0MvSCYUHodFdTIULmTy5TEmzyb
35xmSiPwaMn7Sm4sFFV5bGjRFk9CgG9bdCi8FxQXNEXamhQxh07nmRGoWTftU+N2+Ix601D2Drrc
i1+f74RL9pzuICQcQWB4q+LFYlPIwyU8ESYL8TNJxY8/hQ/hl7KbtRr3O/mRKFG/4CdEXLD7y9sv
Xz5+eA1DbjSN7ZksaXGDy4gD1teYBsIN6SCQSfgQL2WLoJt9ryDh0cVL8WuxyB1BQDGpZyfeRnp8
AupNKHcvMPAbpBm6U9jwYiqAbVQA//dRARsnjrn9VYDoVUDm4PWYgR6KVwxQuU8raoIScfyLyhYK
tOpEc4ggtp+QTjUgTONAio6dVjLX7hQ0wNBVvYTBbUq1bAbPos0qBCLbGSPfDvyi/8gaa+Tbwaza
jG3PaMJlCKv1qA1hzSIs8/do9kW+S09tuE3h/thLrpIaFu3ivuN+ixb7scw3Rn5/YV5H23B/tTcL
81iPAceQvJvqM9LBTh2PaUp7IkOuS1Iw14Pb4QEXpsaJJB66/Ptvf/3ptmm1SJw6CMI2pYu2612m
prbqgGdBOBluqPJG01QeCPg6Vqg23QmcCmcg2wgHQk9dcR5yXdpzyWXUTXb/Evv/Y5gt4NYiM5Xl
Q3MISq+24TPdhk9ZcLUJYa0Hwjto3lk4QHyTlu9uMGE+b//1+3t7iCY46UxGlkoiONETQPwb2qcj
wiwTslrueDnkPMPVvVC5KH4wJN0RKBtF3VesYMMVl1UcTcZPVNKxWLl4PjetHCoNO6l5Nd9Ejfch
3Iav83j7VMmiCTwhOl18aS2RH9PsW5TlN/KS1IF8qYLQYa5fqk+wzIEedvijALh2IhXlIZD8R7g3
kGGVWSrlQ7Cui2gVPt+Cu3zuc0xwwDwfXc2SeFrTRnkvShz+dBZxLkxMHuWAlx8v1JOz3Wy2Mtze
8yHd3FN5jBMnTYrjsbkhNmdsgnw6skhq5lJlBIPbXTaQUM7vI+i1ec4F2RtQduBcGeA6MbgdYzFE
PaEdGKt0itH5UEyhQn7kQrcdwoZSBRlpynYbyNGdPYMbvZQ4PaYWEl2Ot7Vr3/tdws2EUEs6T/Wl
Kb7scMqvZpSIzih52L/ahJBuQqzLwfRoQhKF6njXkPmTmhthjCesywFuLY4V4dEA6som3G1le/g3
UFl+C2Lyer2hr2THKfmOG/HwBPYABsSuN54q6gWzqpA+JP2yDnJ5GEquN12GJ1/tTXC3c9zZ954S
jggvzhFHpi5SIvxUsTGcVHGqZsm5EwK4lHgUyb4C8zSTJ0cp30/Q8yLLtzWwvtDk1sejKNI6XeyA
h1X10V/RU7ii7yDWpfwcxe/CRZqsnvVVHeLETNAlWSBIlSY1bSeFZfWEi8W6r1z9dkoC6DyHiedS
72JshiJS+fje4FQhzCybvrQyIUl65EVBnsJzMnfSjV7yMYQvLikI2/s4WzShxeJe5swEsgWisbpP
860s6GmyUwpNq4dAFl5OmjXqImH+aNuISRqq7XchkZHSoItDsZuVA0qHbnmWcZVnsbPbQjN7iGVV
D5pQpMlYl/PVmfLvSa7Rfq+js9SwNkClXIdbWYUkDnbLSNtKnkHzM3op0yOD7HUtaBCmcEPmjsBq
SB+CSrpKFBwKyLszOI9Wd/V6JMPsF9vEa4jLqWqHOhBtQXmiJJyBPZXRsjzabk19pSghdrAADYoE
5NZkRUJcyh2cxBqftwAXLwi/1SoVEiZjgrvYq3KxckOqwwvHvsQUYkPy8i4SxqLmiE+E5826BL+q
tv/pHvaefJMmuS5/D0r/fewPMVIhNmU5aHUsHwcT7qJxxnpT9hH6lsa+k2lQsJHfJVrTwMSqSFIs
VIR2uez7Ry6l3Dl1SsSyEm1+csDE4XdC/WBEZZSZQCemr2wvlt+nu9Xia7ZLbp+j/NU839we3gCN
m8o5TclbcLVe/XZrPewUf9qjm76C0vQshoBQuLrdZrvolbS+t/Jn5RoOwymu04m8g+YIn2WMgepF
GVn2du7Mcx2wbOEwiD2NDLXi33ZR9ixcwjtfrlk+vJ1+cKfBp+kHBCDe4u93vvyJ5U8mn8fnGxKg
vrFxLyiQq7mgQMJRJoMIgLAxjcYTgibU93rv6iUKeon8UIqF9iDGO2Z+nI2p4ocqzc58udHlRvMK
hkyhSSsPUP4Ujy5o3DxCBtxATzlTdfa4D/hhtTVnrUJ/KqSIfDToNwrK+JSKI7TX5mvtiHLASvk5
i5exJqYE3SMIvkCwYogJFzEN5o2QPSABHMxlwL6LxP7hjyW9jnoR6cLjsGXikQfWpJ5Ah1+CBnFG
hEGInuJ8GybbCvIyFDLS8Vb3LIzT00eoCNGdv7rdgV7Zbs/CPPLofSiM8TuZDP4JXK5wvhX0GMOc
141XQTdBUL/kB8Puuj8nioPa4kNs15yrowBFBtHhbje5/X/kXWtz28aS/Sv8ItVNxZAwT8ykSnXX
ieO6vpXErrW3cvdTChQhCWUKYAhSj3+/3QOQoogBCQIzIO1NObZEPYaY6ek+/TrtS28u7ub5o01b
ckk92BXLcqX7iG0Ex75RWV6/UEOgnoUd+AicuiHbiCjZfSUyU+aBnfaNiYdW1Yu7l9lVh8sob1kK
TFqK1Xo1i+GjsHNthnVsL+bujq1LeBfx/Daxzitpl28g9oq+ZXaTZmmBLHeGDMyUzi7yFfPdzJQR
rfJS1nip6ZdvQzW3/RYGvXKL4X2NqF3/zO67UP5TKr0/8sWXO4CmDZW0uGzYXRJe9tscehknR3++
+oZgI5Rn50IBy6t7KBnsMwtuUjjkSZ4AcDJna8rIDHR7LfrlFDANkiecS15DviK9zXDEzjJDzsBy
SIn9JChmAjuowaf7KWqHefL3EjyEy//8/tu/4NP/Lj/9dWdNcxSJUSsa5z1rbhQtGcWwwJFC+azG
XId6R0faid4xcZR1kLiLAlLtRhvtEIN5EcxyEzuu1C0LrU3TApNDSvZYywwECy/0pnMyuwtM72Rw
E6dT0Gtbi8JWCyIHE/MsSLKbHN4Z7L75zhUfXWDOydSyNaUQWRiBFupwFvXg/eoVPBeLb4jEwCHx
sikbybQ+21MPQmK2jYgoHPAokQV4+/1mSYrNOPjlODN9OfVvMSUX5lnKV+wkswSzX72VzmMyDuLZ
rLgM7ZeOhFKPJBdHOWxnG1gXByoVPFbodP/KRO/1bbrtFyFCaJXYcSR5xlMwn1irpnjbQuTWj06D
qtDV6pmAj66Ej+WC+GLxtNiW2HaDODusNrauxg40xZ8+fm72UjCFcgX277zZXbEOAK3Z0MplsbLe
7h410yiEh69XUp2MhOPTtyMRqtpNbG6NwkpyrTWLZlmVZKpfLXecCZyrIZXTB7UJHBtxKp2ucm1Z
BaMW/FTdSuduZE2WsHEsapXUOwjW0iZYy0LhXIdQXzrEZGG4GFaHMOFU6BsY5hhtWS7lTYcQqrRr
sWNNYke0U8XMmgAQ4WbckPrGZFzToWWcD3UcWkTslKOGg6h4qpnzyEXUGLmgzOXhcruzptqSKhx2
zyJf9ywyXQq65T0r36qDixY5xWm88aJJbDiVznGEalToHuIbLnMBPnIAtpvNO8VHu5wwqNJDwzBt
LpzydeGUSQrLoS+ccorehDWsgfNyRC/wBM+CPPvxtLDPmrLHwCl4nkT2sSRb+1qhxKqnd6ttl7KR
3AryLotk7mW9sjEFhzUOup6QToNTovHyRkjVrg5CeS6RPlEnrayH0dQkdGqLI3vEU+0bc+PtnLWO
nOq+qJRmWLZWfmPG5TrRQnsVoXn+NFsmEzvBsVBhrSfdu5riTjdaNaRDOoYZ10+VFvk0XiSTP/P5
dHI5fsYRDGUe9hFfCeBCVpUH2KU3DpIGLm5ihuJwpy6j2iVc5CSxZdWtPr6eDKOvGHO546SBmg0N
fdQ7xHbINbaPaQ7FqF/6+0BoI1gXIXvYrKCZ346DFJ6rgEeCr9SS5OAlSTHcE3EhfV+bMtdp3Ict
tutdqVeTH63GiIC0IyVCERT4aV4W31uxLsOEnhpQ/W1Wnr44G+UQlOY3SokJuUinV7URR4JIsVAw
R65H2kzGKgh1o/Krsi8rmLlNymIYLJbdkdel2GEV8ROPN4QDhRy44MTnXhjJ31PIemCbpCFtBnCx
TLYrWzEqF5HI5eUhdkq0aEQ1cY5ZqxtUarNqOrLVuskRi4iz21QrIC6nG1l601BelId1297nBkoC
hY3BbvFNWRSDFLRWUCnC8IjbYOMHNNEqPSDiod2yTP3uuFHgZv6ZP+mH77D0iKDsM5dpR2JFrhER
YCm71AEVU/x/ESzmcVbgIIuyHHtj2vIkLQyfidVCU+yt191ALPy/ppAE4IPlt7um20sZjVSXWqfO
YOzpbt5QfBN1qwjdcaq7FQeTYbez3ejkb3nKFvJGTsATHO4NFPW5tLADOjp97LX5ZxgcFgrisvqP
2CtFkPKLRS6rzTB3Uq/D4i3J1Rxc8Nctfq09LUIlzlNT3TXeskgMd/o8awh0gW/lObNp2QL7DqzZ
L02ublv28WTP2FuQXfhTb+J9v3o/2ERre0fw+uYFWGP+bRsjNTjhJ+95mQ9wetVd/JCshlaZ+Z7F
UHlgwTqFel7Fk4rn+zGAyElyU1jiSVSAD8MV+55cPyY74pcFzpqKJzm2y0120LHrUI0oJb1PBpQH
Lmk5FoJ9YFoMozl3zq4REvtO9LciHxu9UBbJ4OLE60uin8+idz60S/mba03KJiPQq/+tvZzZra8J
dgrvtrGMLiOfeCkh+DZruzHSXJ64VXp/Jn7xIh/mN9vkQ6rQOYJbxZdANsB1CEoWttaAjUuAEMxf
NtwWaWmogdBUDdUWtSbnND1hDVOpFFIc8Mg/1Gw8shrChF+YmQlLQ0JMzqJR1Doy9fHTlw8f//js
Xk4ERjkY1nbJDk4deHG3U/hF4QXdPIBk/DVdBOaLZZdrI00lwXo55tXzaGO8+9eiVIW2erDL9jL9
bndCEUnaKHF5trfTv/BQ/0IyAwzBYm/oPSY44W3Ok8ubZWaG0eLOx5NP6VMyLX6OJ2/nt3Z2P6XY
SIrBJWC9XCf4hjbCBt+k8mmem9auyLZIl13seszLLF1YaLyJhONkXfR7rzdS3w7wgNRIOCCNeDV8
yZqmDakpeDhOjaOQ2kOCoRzz1ECrzaUA0CV9LduQNVNyaNXapE5JxL8tZ7NJW/FoANxs7wOksiWn
66EidJ8s7vJJYbkuyOkiw2GA526IWXpLyNdUG3QBoJC4yzddwzv8GiQPDQPThA4NNvCRHd1jqzjl
fYjHfNOnbG1jNZpmAkvO82f73D0ONscP+ptNlwDuMDRQBPHNDcgRWIi7dGpPj/KoJS0zacHgWp4i
ssKgDAGOzyZTe5xESz2i2meUdrK8nwUxHvzTwjp6gnTp7twa5ZvczxbPF/ntQ42XuBO/yA7iH1vu
nnKET7RLiWYpJK80IZxmUL5cZ12CHydEap9R01cOODIIrZViLc2Oc+S6XB5zeJNkmiySqtByAu8l
uzWDYJ7N+ORrkFn7WG5uuHGJ9ytbscVYtQZW+Gl3te6TdPLLNInnf6bZJH/8aAZH2yNURHfrTd+6
Lm32vnmWF1NwCpJ4lMHteTHluTQBW4LBCO5Dh92mxQJLPAxIMnSD13dJw6C7CPNqvUzJU1G8XU5S
JN7eiu2aaaqL+BZDuluVzBs/dB9P0cdKJgG8GOBsycS49MEdHC08RpmxP4c7nd48vwMkc0XOX36m
/KYrdv731Rn7pQTWZ+xXY0r+8XmBMnKBxfK/3MXzX/JJ8o/wSag38Bczf/3wA/zU5frH4JMZ/PPh
BnDTc77EBGeCuU7kU4R/qsFl8JGhTi5ToP+OH+Iyx4yvm3V/MD+SZOU/+Dc8Pfzz6e3nz7++u8Al
cZla7pGPOBIuO7yhxQyHgf3ahMkI17Rn/0uTEJp6dKRzq+i8bFFJrsGSkg7dtu3zo/FDslFQXwPp
JGLeU2C50YzBBAe8w01AhL7SDKiyz9jP59P89ur92w+/XZyXX7nCb/4pns3g95WDQZ6CKtBp7HmW
LIrreJa8gR9Mb5AIMpmU42H3/0xN6rDKBpSjYxQQwFu7tc1s5mANaK8mlAOUh5VXQWmOiX5312w1
yATWn8H9b0hGMILLymOL23Ydl/lzfBlkLHQlFF7MEG9jhvh3YoaYYL0KkprvxyJHEWmiI2eEDKMX
7JQDIVzQrW4o7HLFKdyt4KqTYd7VYBrRpWHDPtX+JXuDPMAYgGws5RER7cY87V5HraJWxzeOtMuG
bBzFLH26hPeSX8DbqY1MQU+gS2yy/e/XXSIV+yarrunLbZSGiror1TKxILs95Yq3HFh9LKMh2hgN
8b34LpKRcFDadKIZc8EfXvnrO6boUskMEf0hwes9N8hUiayKRLL8hbfdeqUi2tMcJI/BownUvJgD
EAwQ4ueGlnUcjubtgbG9r9j9xJJFvlZPs2QKH4ynye63IDpxJHQdRm/JIiHbLlGUHHsjmNDHfguU
cvejApqGBBDCuTv8G2fPWE5QM81wuPy19drocA288qsIw2/Mj4/zUPCPjvA06UXnfgAgkHZKdQ0G
JnIF0l4mQjcEIXirxDR1MRI63E1NRzv1ga9ZTuwPqEZCRYc/IOCQhzR5TOYm9/e2+AKSeXkNp1gs
nqdJcZckC0vvICNypFtRQtIWQ3/XptnaX0+FxP7iw7bUh1kMOzxvg268nebjeBo8xPMUuyOLpkko
7XgF2hzpxrO/Ptx6fRlVI96q6bibHG/z9zRmrfYgoQGOnJGjvwXahQPUNRijijiShzZkAop3uGid
SxsX201CZZGQBKwQCXLCXrZs42XL78TLFiGh6jRw2xl9f2zoBh5a6MrWm9F4mC5fzJMkSKaJiVmX
odK64edi1G4oIW2L2aquJBszRMhhQc1doLb9xWycElePtZEZxDw0bu4kvU3sK+Nj9tCtBygMK6uo
Mh3G2peZMyGedeNZjQACgAbztXQZbGlamyHziB7Auje+ATESLOpk6Oo1hON4YgoHi7v46448hzRs
Z640RzPDmwIIyTqpCddRJDDjzkB7yWVjhtxujBa1Nrta/RjkmKBd1NkmtoGH/YDvg77715fff7Nu
PmhN5sFvqOD7XTKdJXOLadDgprEOMLF1dWgUkh5n6SxD9/4UgjfgjCrh1AyjR2itn+SMj3jkDJJv
IvAWJbsmZghYnHW5yP376/ZfN0I0Q5hC3aOH8kzAQf8n2TYeEeaCHBoPeCtlncJ1Pl23Rl2Db2DX
7yRq2VrS+Ymp5Ykj7nNFVl+xnfPdeUVueUaiO2rQSbKIr+9WBcIvXqG9nQ7wrtJuYKcX5zZq49xG
30sKWSu/giYsot2quqOrMb3NcQL3Jq+zhbgRvHp1EPrfeLS/lwAHCVUXs6zGmgPok9UqmhzvqLTs
qCI+V4xsZ+gdEDUWEUehxnnxXjWysuhHHvqyeiXwtDWxgCdBuVdrp222h/TG0qVNAIXZ2B7CQ5xU
Ex7fU6OEcL9BiPVmn1vQFKeu/cQ9VdFIHkbEUE9MXWGbDqZc2ZO/4NGJ0HPsZ+eRC0kHW96GZkMx
RPRp5xYwRT0YENMDU1WVGVc6gK9bTAgxEQM91B2w4XvlzYfCxePiOk2tJddIGEOjoZ7c4me0KyCl
g2RT4M9sGqfZ0QtipNRyqDOxQHLGvEJWElrMHjkMZDjuQ6M6DI+HYInpvPCK64hN6VLhdUlr5CT0
uqRFtTLhISAWTw3B8qIhKAYOpRC+V6X1VTtBqTJokyFiSkzd2irsZi/vItg2zY+O07nS7uKOaRbP
n4OmzigtsDFH+wYoGAJuACiC6lEUcfeOwY52MIJ+QXTCkTnVJjKnvpeyE3KohXLdqa1C1jth+Hk5
3pczFLQlY+gwkNDgwQ0QBy9luWFdPzpI5FwfOxfG6fFQk+LS9AkcKxu3X5ZxlgMBQ+WstmKef02y
YLm4aYhkiBFlbJhYira/A0fRQhsYwRZew7F/ld/c1DP+Wnlf9ybP6+uqLjay5br11SItvO9uVosR
jCLhHf3AlwxdySQ3xSw3OfJHvfTKPYLVDIokm5SkQ42eFBkJfgLlPlRS4gytIR+kuXst+C0OrKnq
DhLMYa2PZ5EHzQCi5J8kEdOuFOHSFO5P3t7nywzeyQ3SLZUspnBC42XxbC/lZwBpt9I2O/kFqC9+
ASRq53xE2g25pM4adoUUp4Kswtegyg57DMZCcHwsjKVCrXrs2KFtj5z0SoYf2N5ABJXHKM6jITth
t1K3cSv19+JWUtYl8NkRvyisUVOORO4+XtzdT20tgZJ3FDHHIEASxryAgN0kPpS68gGSRRzAfQqM
GoPzhY15NVJxOZ/ayxR0y1HW7ixbxEMXeroMjO0ioiBI/dsrWbnZiYisEwhl5va19KjT9eyxj4qr
QdcjhHho8Fxva1VvYjd/7QjP2uii4uHWpojQHe5SiN4H4W3FhBAHZf63tOS35S3pJPthfLveM0pf
D4ymh72bgnKPV8VyohQ8/1AM+ozcFQA+4Bm5pCcAFgQn7j0NY89srgYVqqP262yhdTj8yWruSMM/
odJBMGTR8xJns2h32blseT82A9/3pecO7Jbc70Ghd4Pek3FuEP79aOQKTjt9OGPvziitUCB89GMV
DihfRwrTHwEPwmcvAPGMvTUOyhlVKw7Ki5Jq4Yxq+KG6T0KYhqsgQz3kVQiZHNZIR1S4Estpmn21
QQ8cuUKHveCCu0p0XE9T0/rdZO0BM4KHwbVPN+ep4rnPZybjE6S3WT63+wRckr5lbBs6zfRvrpk4
bG4B5nm6tMH1ONtO4ew+63H3UOf1xtZdAnxK94nn7QER92lhevGrilT7oAi4vANjS7nlhuFtbGRA
c7fvprgFK//VwFBacXfhgklyEy+nSOkwf5l70lhqr13u8+sQ7z9X2Yyr1a89x5bwx3w+Ma9YpgwL
pGNnx8gpkpAev4pMqChkrmzx6sWyXTWBpWeECmIxz1hE145xzpmyaYjVKYnF58yZ4cYc3Di5AVMJ
ljPJmjsupDO4XGWc9sBlTLpFvXVMPMY73khroaTEHspeSABnF5fQo5oP+e7j7x9wmK+Zko1gxFqj
aGb8DOpBsk4epNVYbD+zZeIXw+QtDXvTGb4sVbEO4+TC2haXQ4Os3BlmBrk3lWGKe2wKoxyhOLS7
t4WCa24fGPlnuyOHlRhUEP86LjOXvhFMacq6NcTWqZuq8Wo12QR3teU8E2d3j4RcO9XZ1/kkqUo6
4sKuYhgVAuX/BKpr4D83vl8G+4BIPL8PHuclYqzSbGi94ABugzxL5vPcmqBhLOxmyXYrA1uISSne
t0mubllw3+29uIrgB0Pd3QZsEiE5BHHLutY8iFE6j6Y1Cpd52FLrgoRh1n9+fUXg30rWrsq0/uV/
Pn++/KE2c5uOOFXDUNFRot25SXCpcAV85bXLNMOvVn4Txl+ajS+OO+XUDwa4TRaNCwtsOGHEnXyQ
Ghk5zi93iImzchpwvFjM0/FyYQ+jmT1lQ5houOE7PWOMeETSkwVtJ3nWgizwGw4CXW5KBMtolAqd
RYmL6W4WbSpVz66LTZuab1ZVVaUimDmxDjDWtZJMF1Vo8MTWhDwOn6WnJ2ZE6NChRrcoc8HQ0e9U
lOw60akFGUjj7Kjj4YJ1a2+zX7ClTdzoq+b641QaU/QV9FHfwrrYWfAhXSTKROjURUoap7jC/cWE
unepRpkOraMJItBsRClH8a2KVPQaO5+mhmfUzq2qW86ubYdZCnA/x/kT6pJGlqCIiRHrV8Rud4NQ
nwXJE9aIp6t5AMHb3377+Kf1bVAxEiJyu90TeGWeP6M6n+VZkaBmsbNRs25lge2w8OG7AYIHLskx
W4V3Qo7zSVrgbIuNb7ki1vrtSyyYvnxdor198hL2n5L+2VBwN7bGLBg/AMO4gomjm2lJBXMbYYKD
qWauJAFOQ3vlDNdH1mMKVDnTLRv9Cdh7YbvSBKn9+9/oSqVUxKUG9AXTFPYCEHg8N/z2j+kCk2T3
97F99Bui1FA42vwNeVgdwzIz1NHNWlZyiWOiB9Ky7379438bolDgnYaunJKshINb9evNhHQm2nkK
5ETfQqOUALeqLWvex09fPnz84/OO/H3zJTLYs+zBKa7ePIMSmb55AsUOZuINbNWbN/Ca+ey8ZDu6
wgV+urxcH+JPKgzDWr+CGhHZyyvpZlEbJZ+hr3oQC+HJ7CXWDAsX+WRAg2CU/7qPZ5ZxRESzAyKB
vSXuPlnc5RPYpTef/ufLG3i/B20Jj0ZKtj1NWOBY7zPUIx2SU6jJ4I46mCrlmtyPYX0s8dskFLeP
LCDdUnl7YMBGrzTsSfGcXQdm1mR5PNaQqMDEZb/grMUI36XgaWzpISsEIBg56O9QPubzr6BfNifR
lDJqOXuMt3Lprm++kss9bfM8BLDjjH5xG2Thyd/kSOh1e21HulHHas761MKyBGw+Xd12RNjTu7xY
mNveWqlUNWVGtSBm3Tqpql4wEr7MpYHH26aySOwZIYZEOCdGF/StYDbFiOuE8hLu3L1VziWnHeG0
6/gzFdxxorddkGK/MTqfJ9P4Gb42x2RkOilMYtLEHa/Kojo89DJ0Uf42ELV0cnVGo9WnEbaJY2wW
PiylqnzNiAl8uF9S8PvLzvQYjnbj193nD2lS/rayqhM+tuKKPVs2Wd7fP18UjzdnoSh/3WW5oNmZ
9RNVn7l5oDLF7voNV0dajxIJgFKCay182LLmKkdu0qjs23BZt5Tm0ak+pNCRJ9SZLac7ICcWNh5G
9+vIklfD3wgLI+LWDkySadJQc4BUlrRL5feR8Q49gR7REIdOeCl+KQ+ssf6FMC0AJCuHi+8p9OVH
IZGjXJEjXkTeiTxviIthvxO9ODe27ZuZFrW3iJ+F3JGntvJMsxz58ld0+VYNrcmIHSb8/bd4JRNC
dhlfufOJNzLor5+9dhkJw7Gw4mhFgOgGgjzbSziwxFwy9i1dGOcV/B09j9eA5DtyO87CsBWQPxm3
o8sb3u12KB9drAMlrYwzgB/Br3i/XhM+vsfMXdV/MZvWYH7jErUCYoKtpiR0W4g0BrEMyklwtjFw
WnfLpnZmWaMsZEeyVkyeaigTbN1GV7JVP3fiZejM5WvA5jEoiwkJfYOZ3bu9khaqulS6VBpiM6Xw
SjtsK0UCMEYp1x5uxWcSVPJqqygRpFt30KlcBxlGzpHndZI+wCbO5/FzyfBlryzE+eTMV4LBOLyv
z6/Z84X7wnToJzBkf3Y6YpJ4g/y2I6iXi0dSIpoYpqKVWm8PWE0mIk/hDsvpBw/p9SK1Ji+EwslF
0UnoTB4pd0xTi3y2dzwkd8JFsj8h3lACJnrWAXbxP+35eDJih83JbJSBNW060jQPGcWkindl+53M
YzPMOygj7VXhvdUt52G3+sVd9jbJ4MLOGwtGJWWgpxXxZK/G03xsHz9PMQX9TQnFOXhn6KDZKola
VgtVVLG+2Bg2zrrRLnP8nyjvZtKcfM0+wgbIEZfsmEmbiPITbGSTSvq/Das+pp9W7Eb/dYr3gxAt
el6Q8TTOvtpD4YBK9UkEE/9fVi58W2ULLYOHWHopuD6tYqpjj1kTNOrY+N/yGofK52+X0lNhY8m7
m5lJpWAX5k29kVheSbU+PVPFI/5/5F1pc9pIt/4rfHHqzp2XSe/qvlWpqXh34sSxnbETf3mLRYBi
kAgCb7/+9pEgXmhhCXUjyFQlsYMxkrpPn/Oc7TmsQvstJHOJGztRpPVF07ZJg9kStmru52/81ysQ
0ewH3d743Xg08ae3Xxkc/t956IvtVSkDmDkAusaRvwf2MjaHoVRKmrfSxe80+nH1q7/oPbP2lZk6
nz/mxFtVJ11elehx8B2Yo8P/u23jNBRtrZd/5urBLMHX49BQYY5ddRnltBQ83+A8auJvSFkbZrM0
6qNG2PWT62tkBeXaIxDSr8EgI5IDBTe5uu1p7uC3BrT6ePzIyJkACIUoW+Er5nTr53Z9vuQFuMV5
qQllxWcxcKGqFjJFZfFVX859f+HFZH7IfIv8zLFGyuK9zl8mCTDV8lkOWjzuPHxlxhSVpCaQsHQI
Xhgr80GHBEeusWE0f8i2E4y0azXOUi5IUr3EZP1KVeKeXsNbmGba6Tfi3rwDmrNKZYvuQ3qrHflx
OK4nPMx1ffnli1cEqXGVL4JPl07GGLusEJI1JYRltfxSGQOvktkMA1v2EoexskK/fPOSaVmH95ki
Mfm4nCOyMluabN+8PQXGZEbEBu2eoKTE7mURj8z5eXX9K5FewtsgbEe35kkfXk15dC1EiVG62GWh
hePNj4gQNHPeCHKpUOjcqFBR45LgQk9mr1pOSCaKXPn1E5EXWhXVZzRPrgk/v1vYryDsPrvr9Lv6
uNcY17vaMNYTXozbXtD3NToN+inbGAzRnS+Z05qEwzca/tGNWDWsz69lSAX/8VOeemNWlKma4p5V
5JgSgtfHUaT3Juya8SMHR5nZ3RVH2p17osSmLGpmerY9dZgCvYBjKZl0Vkq3W70V6jlBd5mFEwkv
ZBmQ5Aj8T8LrMLpNf74c8n/2EakbkJCc/6JitugRSG2+hPRoNeaL4lIe8jJ9gRJthI4RuWZ5Ulvx
I4EwdgvzzWUwCtg3hLRqbiYhNH/9eoOZ7BR4daU1jJ4C8NcKIbH+u8y2Lva9n4bnXvwoDZxPY+OJ
DssalICxl1Ch2JC5KQvrjJQUKv70qsSB1kKPDI4ZVXhUopy5Xlq4anjkJ2ld/XLd195mawzVWemh
1t+Zxr+SZGyGAwAWm7M6MOxbOLRo3UiDsHpi19LFMNRtQ7UuLvbMX07Oi9xFDIGx6fXnFx14l0ud
zFxmPfPyHtOwgink2B4uPKkGY6kviamwrqPTr3Vgyot7jWsfOjr7fR9SPCP9WjQIwZIaFShQTjD7
Jiq38jDOWqASObNi+dbKkA3CXkJ84E6lRWH/HhLGyRja6ZRZYq5A1xpGyTXbNY6Xie3ZMYpZweJ8
1ecFVqmMUcQwO4You3YIYmQp2dYMttzXWw0Y9Ggm6IYIuvMoV1G1qEEL9hTDS4UVF3q/2cuzwA0m
jNc4YSs+6uZxOHmZjwsB3NhPUv3RZFzvTMJWZi8FhuGsiLqxVmkc13hdRWuUWAGx02vp/QhnNQeL
ZoEIQE7KqRbL6nCSRCt1zlzbvXTVFwg/B1eOIyfCP2Xbnu5AHRzKuD6Y9MfBsD/DkrEJzWlf2nPh
SU8XJaGCN+Y6BOJrsSNE2S2+Ae6P5/znxit7GCLJFQWVRCnFl2EMoht/NAraZr2PKdHfkPXY8YIh
4XLeW9rmket81v0w4bFt1/HcgWH6ZlZ/SikvWCi2urWaBivA3s8vFmZ83beYGLZY0tW59VZuGkqm
GZFqzW/75XFSTEHrGK4uiiJhHoJ8pdeZlpmzOVPHme2dgIDz0S6sQCUzbz1FKFvLKO3KYCy5U0z7
q8A8da20Y3PT6AfttG+3eb/AR9deH5CerwfqJVhadDmCAezJebJ/8SKnQ3Bgr5PlyqLiZGbtYFjv
BP0kBv43fJP0Hf7anR3YnKMne7N9f5juzHzRax3moND12BZBcuqfJUuiF4mvlaUk2Mv7CIWGfqzk
9gmDgKy34VuAmZOMTKJ2Z8oZMlKpqZsO8zBULkntUElvPc4V31yhpBCYYtxhkKLXiHu/WEi1DfuF
0obJO5NS6dnGN+9nFjj9ITHsPExS45Jad2hNu6tg2CorHU5tNI0khoQwUqOloNBrQcmUA9hM70Jy
Di92l9e0HxFd8gDTCiJivJyHXzar62lNjm2XHxeiu8iInFnivYDiDnjt8Qr/l04knRGV/ZWOwfnj
F8VFJo0D4QJYkcnqw0jVadk6zJhej9NJMavS50qHa5l9Lhht5sB4vuLKVicV2gFOJ8nSCmKTgntr
Io9eJS7mp1QQM0A53QS/YsEjEIzwuqPozNsH1w5bL/deTjyx5Cvwz4wuGcxTIRsuhxgqDvM9wrdP
e18PT3bX7BHAo1uqivwpvcG4N4rGY5ikk5QWtLrB38kd/fXX2/RP+uaptCTC+9dt4+bN7PfecfRG
K/V3eFqIr5Ff9Fa/4dm9ihqpKakUtZ2QNfo7Asbbrom/wayUZNz1RmkVhF70MJosjI1yiXIyZ1fh
5xu0CUdcr5Wo1D8Vq0xTzHloEkjW2b82hV6Z5IHrg8kqXY5xGq0xD/mUokaZgxLV7MDEUtbDBdAm
3u/pWhk9Kw+mSPBl8otL+RbTCKEZA1G+JsVaAq8WTs5O4rILxzB1Bb6fJkQSXvsoug78uH7b80P9
HMFNY+zXm6PoNoapb/rOm33gHTAYVlZjSqzO1yq1puBZEcpWqP4Yo2uSVpIW+/HgX33ZSWyu15OM
Fc4GlIOHfb/baNnIBgGDD14TbWUN1i8qrUbQjSHWJPO5SbjQksgBPixWyusgc/KvpwjPzNZQ7ehz
DzFpPUN8cht+mba+7PqpiEUjc9rYkzXmrUf5M+UbhKItHVFMEETBlKdWCRzw2iQoUFHUPAWTzzgK
xjvpi4auAihqw1JYitsNNYB9pPJoRu17Y/0qTDkXK4qHzLetSlJjck384lJUeFlkatnXFMSrccJt
clIYH41xrrUmW28QavKoMGBQsfI9UbIQCil+xiVTfA3YF7y8NZPW65MKFhhuHLw1o1uJWHWNEpLX
MBLyt4YsZsSS5JCxdNMjHAeDYd+oSTzMa4Q59yenNzBPB8G0B8+Etx5hs3HU7WaEzahW8nRVxsnY
1ww9RApbdjxnzfzgeGpHkRDtYkUJrfW7tF7uPC0hBcK7nV5jtBO1/f9Bd1z+R/9Dk3/++OPt2zn+
Ow5j05V0a6AYU85TmmlQc0FAxpNMP6uyBY+iwVAvQKzVxiysmgkCpJDAtWoRhiexg4TSpQ+dN5lX
pqosO5bBxe4Fsb6R+1e7izH0Yr02ucUdKuAIOZe5R8NhsitPrM+rrjCjQGhI3TQemnZs8XxJwauF
FtpLtxWWedahYqTjZyKhV1xPYcmouShKPlgB5rX3wBDKpXLF0MN0SAnTOIxUE1NeqPfT4HH6gh1k
AHU9BNlmpHiiiYwJLqAuJHzd3Qp7kp3WExDEPfeaP7PjXEs1F8QtBBRc2Mr+tf0ORGGmDwtArN4M
oBk86nSMCp4o9eqwSWc4BJdjxC1pSwlPAt4WoedUuIBYCuEssj7hoL4i+wwucO2LQDDq4ZostVYL
FJ7238ZRwottck0oA7y63kuWFVG1Fut/fq6n5db1JF3pjzPoFAjweRLkChoktHUJh/yU0sGgwQXk
EIVF9T0nMosI7DV2FcTbIChoR/Ig6kurZfuVSGwOTLGz6hgpAeT3qsKOWKyg0oyXpyOfhUDTxsE4
m6iQMFqjSlhH/fGwEU7DeU+gO4w9n2uGxX9s0e23b+erKLDS2I1zbjnEA8MBksbK1xnkBF+OxTFj
Nx5X6dm+pOB1Liqd8OEjxtbDchYpfeDacDGJ3aB+4/YtYJxiwLkqXO+hafuA7lVQ+XvYr4LVabJU
SPh13JJw7UL3/pRvV0tIwt88JSYm5jFKQus76QTRLURyBBNR0vNf5Klk0Irz5aYrrqEVX6LsaqkA
ed4jb44CUIykO0tlNt4SOlT4qp+UYYmrPN1mtmdZE0yuwOZkmRoY5MoEWm9zneHoLtVlWPK40Ap4
Xqte64RwCP3WSjm7sESpZaieykkZtzfI6rnBhya3ZicIG+bRTfrDC3AduvSr5pwqqvG5VzAlaGMr
tGvNHNnHVwKQMBbHuV7W4tGY9NO5t8bMs+fkLp6azSfDtAZBHJvnrRKqakIyi4ZyfhsWBfX0wWCk
AulbKsn6I04bTR4vAv/tNUbmuUKKc5LE2i1fKas0VXu3HLwLR44FNQqyYjWBbdXqJWrtNhj3IDnt
32kBjzPmlyikCjs0ps7RgnLjceRMa5nb7Qn1oBqSuFZYKbauT8K40fGDsB+E5pJ4AaNMvFWvu/Zf
mWMwr9c/E8xjqcCnYE719WTYHTXakA5KfsnPyMBgXHB8ju1sgKK26pX80WjWHQgTqNv39XgMmCrU
2+HfBTHcJ7Awpioh9kc3SUNKPIxCGB9eZ4iZOxFQUqK/ahllzHkqWLu8JvQ99YafSJPZJfWSAWGV
JTR4UgCyjLWYt4fTVwwNGpzq56SO0vJPzskyu2KqcFM1VXBJdveO977ulZVXooqxrRqP8JP10Ed3
EsOZTI4rcP0mjXPPH1n/WF9NYq+6yrJ5TPNm3n/aIsTsQm35ZEuirYas17fo3ptWfzLWV353d3cH
leppI/D0k/SPtQgEnfvdKPTf4TmuTrCmUhG7eAJ6nSEwlRF8hvlrpGATkR1x06fSqf3MMpeIoBVo
Zb3Dczog9PU5gOLFUKuDKPl27i3R6EW8xBS8h+iBZ6uc/xesNk6NlZAhWyocYK+MTBVEu3bkUyvi
6qbxCAVT0aRYqc2yJrNm5k1RKln9UmtPObkXFOMpXLgB5HDv/W7p9AdbRoVXQG0pGIf2VcKJc2dy
0OhrmRlkDD4Fmk3ujJUqBgNoobsO45pHLKfwpmwp2jx/mQXHTsyFvNRTWhHa0vn6JrrAMA8B+iBs
jO4XzLgnHoP5A2zlB4nyXJyOzOpFsZfLm2Vli8KBxGsh5GXLBjCMMrUgkkGgZbPgSl9+3D852X5/
VtrlyDd9lpXSPbMJaolxCsxCjpHgNcqR24xMeldTj2IZoqG7JKz8t2EABE2GDeUKcrxYzcdB5s9o
GtvBCMTIWD1CONe6kFciMh4q+JDWKRfwEiL7mhZ+vZGWezUqifXDkrudQhDI0eZq6LC/6ZSSUo+e
aXkXpgaJ5IBOSKkzFcKidvzRKA1Vmkt1MIH0BS3zjIvwMclqkKYecmqEHlN+mfYH0AWV1LUVSI6d
MXHEKDDSq0I3cL73/mznsLz1W0a2MkOfQGtqCH8yIakGccLqlSJjpBVTiE1UsJLaJnAHqnHOf0jy
DsvS2jK9D5wRJ5L+PC+cTiI91HKfVPm0eo2RVjzv/vm6L9+kZ+JdO2ifTcKjJK93PoMlW3QXiBVH
E3+Lbr+Bc3OefCrwIsa9BuGivkX2b/a+ktHFe3F5ef75u/z2fbu/Rba3f74/Rt2v+6jzcOv50c3p
6YF+tff5ffKZ3pxmlTWZqx6yoB3NdmMwlqyGPdfLP7+uGoX3o+7EcDQp0UqYr/yG9oZBxg0xjTEK
oitLmhA7sgDuz8X5oeVzwYmyBOLnoEe95/eH5lY+BNyFZJkjWfbSymOQod3s7f/v/ObXDVtfX7Tx
bBl4v7izy1xAgnKO9CwOp+NXA1mEeF4NcxdylilhQqraUq7xuhheKplWMNvkgfavj86buydj9v7j
/te9L6OjL6cfPe/zjteeDCbD3Qv/Ztg6eejyZtwefOyh8ZEai+vd4w8Pez8PzVJHX2HAYusS9DCI
MUeSCmtnZr53y1xQIBiFaLA98AJFkn7YHfcyQlNMH9hl2EgqyClQIrCoeZJ7Ljdmfk841vaLvUI9
V9abjfOHVBnyVhFF5myT/QlQa3UnSk0oVGWMECtGN3db9Fmqn/bwzceLaxXeR5/k8eXDoTq77uxt
n36+u77XUFcED3vooHlFdr2z69vbydfTLztkeATQ9szfvzvphMGPi5uffjTsfL86793dDI+PDi7b
w7PbLlw8EwEpVV2AUzH9lbsKwVFzCI7UiJIOFaU59ySR+n3F879ZwlkvI5ocedbCwElE6TYI29Gt
MSLpQVp+bR2iP/Ua/TndnT/fvv1zi4juODNedNmaoN6Zhq787JQMW2fHdw/xRdQkg8HR5BKd6v3e
vju7HfFQ9D5+Mq++EjWxzOqXPCTIiTP8ZO+zHRbGBRAjrTqiaboTRGv5GEfWQxZ36JbkZkn8SKOI
tj/8IPIb874e9bQZ+ycIe7uX53SH73Zapxc7Zw+37MMn7/xyL0MSmfac8YolUQkif4f1H43aPXS6
02fi58/Du04YXiN534ZtGF33LgLy4WZX7B5P/vlC0aejzPXPV1xloTxDiY1Z9D2yJdnW+213cs+1
BlZLIOqyKniZrE6W0Z00s5PraRFMpWUFXHC7IblhYwTtMv4djMcKxvV2NGiYaYAFh8xIhfGx7aDL
C8j7e7a1z8zC/gHJcHByNr66uv8hxSBsXvfDw+2T5sVeGDeuf161vseN5s/4/MOglaliPMTcRsR+
DTprN8YN23VApMYYIV51fhRNp0SIlasLgkWZx14UBTJzxwL/orfSQDaWNSHQ73BQL9n1x8+d7s0/
n/z40L/4hv2DUHTocWcSjg+9Ifv+49g/aUx23mtztQANiCXiLBWERSUGT59yQdjqjwXHbHO9fYuJ
VY8U1EnlW0AJYshRQIll9jwIucHbnYzSzAjBSM+ZR5z2Kraitl9/8EdRWtszSQp6YPuNiRlBRc66
+CKoDW4nB2aTXO80theTmk5obfYb4bU5CwUMJQUrFG00UQuEN1Sc21tEZAszdlnL2/VDfwRlaa14
WJjvqcyZ0CIJUfRVZl/cP1TinW2qDbVYmESFI3idRiFfaL16Rq00MBSRgmbVgiJCkspNryCxJQmC
FIPddhpysQvXZ9Gsz9VoTOnVFBebnY+zJ1pMeRtfIH3hj8nZTUPc3sbhvby7bx7rh9a/2jxt9NHB
uIP2ry69vZOLnz+7+geHYSN7NZyUtZdigywj6xhr1IqL4nhL7CYEyQ0J65l6+xQplwUyexrm+d15
51BZjWtxJv6FnRHZReCogjNCKf6XbkIm0sF8xSFlKjZ8C0yRN89SFAz6ztKhRNmLqF21GiF45cwB
1HNQ9PeEszV57FYv6Lezu4QJBr6GjW8xM57EkgVY6VzI+uMrM9/T2BzrQXKnYIjGhhDpDcRrHhfK
LYsIJoaiTZdFmiWOZK190dy7BN1XWFmGli+aYo2+AOcyJ2NvJZHCvAtYrwnF1OoVxVLROCNET2P+
47vx3/NxTybX1P/Muz0YSSAZ5Xyz9VCj2doiYkFo1j6PQ2bNg2LVcAVphOUGAYyDgR+Z2baVIjAk
+HcRnszU+DIj0Cqoo8CCQJ8XDOdG1RDRuCjGfanSUrb1+iPfrGliLxHAtZ/z1L+wm7loc+eIWgQ0
QdANdy6O76PuxUFv2Lrfhr+9o4O7m+ag1f1O1Lh5eTFp72yjxsE+OjpsD5sHt93vg3+6V5f8R5Oc
9a92tnGL9CdX99s737997n/+cdptH8hu6/DDzdXhxY+r8+1eM9juNwefb64OLq6PDj+j1iB5/037
29lt+xu8v9fT14Brx03Cw6tvR8lr+vd6R/uf+9/pxb3+nCP9+dHR3n58RdR949tZ1DxH+NPXo+7V
QV//zmd0HLz/eXy7OITkVXNEJEHVEnQhVFn1oyJA5uTZDtVC12kr6ucrDKE1wqugM8KKcUthnlE0
1Grovu7HrcYwGXQP/C5ZRK8CauukawapSRgk2Y4wGg0a/eAhgRDmLIeSOXn17fOo5HK48eL2FL9Z
bwyH8VuEadrk/PxaDPqCgOhJUIacG8OFVhBzVeMFYwyWhB05CpWnzxpGYct/Op+67OBLj/Ma81x6
c0GYNMkHg0bXQC2EYfwhq7orm1ns3er4IzOlPsxQo9hbV+kw5d+4m1Bd/t5rClqTUwetddONyuDy
AHp7KrnlxPDMfkFqeDYQgt/dPzT7jR7MliBEw9TUHYX/zKZJzE/jwzBQC0nP3boYppRhorEjXqX4
Whru63EgwXWahAnCuemzxiloMNmmVB12HjRkpvVk0Mwl13z7TEpI4Br3nHrXcavnD8BG9DV4uzEO
1GJad4vy5+3xnA1HQTLNKj1t81gCeKc9WZDe1rZl9OjKBMZYSQ8pW8wqsz+eR6FACCOHdiBL7ZM/
3hpmYFIhCXe/JfqEPno4Rm8SXBmh1qXul0rmUD9k6AO+jFtbRh8wzKlrT9rMRyOgpVFVGr1xkXJ6
KffNRhy0ZrbJKPbCgxmP1mDX85frnaDvJ9PgOtEkbJvTshIC3pVpRJEgcsZdkF28ePp5fj0htKvK
HFx58TbM8/MyfSPUvZv/BCSZMNQTpPUqBGYU1wQmLihK0pHRyaK9mN9HGakRiZ0k54xJOamv59l3
V5/y4gz7E/jSjlqTRGHO9ki/lmacF/E3weAptAKfcou22v/P3pX2OG4k2b+i/VCF7YHVzbxJAwXD
btvYWezOGGvP5wFLokp0U6IsStVV/34jMqmTSYlHpg7DQHdV6Uwyj4gX14v09YElW6PyAGMYgME+
PLDP/zEc2mxLplhwq9vb1oOJwn8lby5lxN8dY3tdwfxgAbgPeEeNU103pFfMTxzDnnaOBa3k1tJN
/C0tqFdsqRJE/bIaFvELwLoYLNsNqIZZfk2xoWOcmWi8NfuKg8klyaWTm7v4lYwo3tdFx8JZC7pN
i9108g6vzJNqCBswFSBrQi8p8U74RtrodRaKgepSg2rN+NrbM2VNhrU7NAVLJHJEczyFOy6m8RcY
dwo3nszhCpbwXD6bg2SwZ25he0Ia3vhqWdWU6stob5Gd9gQlQiJU5PIScOOk+/rX1RIzPTFm93ka
Lz/n4+Q/gzcRfgM/mP7x4QNmIVH2RifmD64q1rZC17OIPEC7+fg5fzOrWPo8CgRzCHrhEMTjZGk7
dzC7aAvdE+Jws4cxXCa5Hzpt2Mq15NmUB4wPhBB3BATczDgyjmKRc5cuEGdEbrJc5kt7eqMcsMAZ
AFkk8zHaiDoGrLHH5oV4CVizLl8Cy/8oJ35Rbk0PNAkqhl5F3Gx6/lnRtxSt82z9qb42MTgZ0IEI
fdJ4l3OrT27599PBPINyMo9n+TjOdg/3zPtqbyj4T+SfRMy3CLqhmO9y/s8InEmcZtpE2vaWLze9
tdZKgKl5Seb3G5l7QhQagIrzq8if2tpvyq+EJZsDySEAyD/W+coSreFCUuFPodmNaUqwz+KNi+sa
S4V7Dby2ldYWycx54E1ApfPXOEvH5ly8JsuiBqMgq2nbouI/iYKggkd+oVlNbwzRM/J8t1pB9wMO
/GmFZLZYvR+j0XQ+TeC95iK3ZNk2i5gPfHHyWSbWChi49ia69a8USZaMak0UhT10iTND6W2KEz7E
Z6bpuK6UP4IfkTfRN4vfTNcxe0NqQUGl+Tx+s3W2ShfZ1jNgT9AkXGI6ouzpiYAjmaQv802KyZ4z
YrvutS4JTjnoINGPaFib4MP4uYZ0hwYcNbG86Jm3nW4aDUTE78GZiBiwslmwy3LUJWTf9NCkxSxe
jaa7kpx6MI2EdQMaSj/KM8vtdfWSsp6DGuFYxsHjxcKIrFPpewQkVeDPadvCbwJ4lhLpUEzbRTMm
PHgtpqiHzat8sZcl0dC5IZhPST5fTA1XxY6fGk968gYbNsUAXZw9YVHmYzHN19n438v1/Ok9KR5H
xeJp9xG4le0lPrDvkS4N5EPjq3igP5dlQr8XjxpCPOmfFTwrWFcBd+zYLo/InjJpclpEKAb98vvc
XQclTUIb9EitpcVov+5H28YFjFONuLIQ24HSgAaMsZ5zPovn6USnbdlucPNqJWl0IAI3tLVdx4dR
et55/AxAfP6y99Us4GiZSTd3Vvf9JOQXkum1GSiBP9N/BpBQg//F6pQSB0MMgLC6AVlvkettiXh3
53e8jF+G+SsafmV8rvSEmKsajpY1GeGKIQ8AvUKmPCHkgQpG//rR78eHSiMVNRCcsCZbSTStHLa2
p5BKNqwzFCfg2bLAPEyza8fv83iWjlAmz4bP8egLOpWW73Y4ztSANSLHE90FSqOIhw678g7zcBqj
1x1XFvB7RH86nVUZb5D+CY/8IELJosDp5te+BB7wj3GRFkfZ0nygwrDP0p/Tq00KFDHwzRrl2Iv2
puk8x9hMUsBFPAMwRPIETeFiR6F8wLpE4BuyDx0Sy3ycLfiOc4gKaUiHjliG6ECJZvas6I3QrXOi
lPa9nVKx/kYWjTpfCgumSGbPKJl3yR/5epWlr7ARXka61AseG2BRxwlIBNesRm3GN2GWGvLpXTao
bTgM6hDq8uQLO4akoHm6uCU8b/KAhz03WdV0MF5Eih6SRklcPccgoZMxrMadzagzllGzPOYeMKKJ
ezHQwXpfc1yamJR5VFVl7LX+FgWD6widHlAbo43JQkN5wEg/cFrmC2T5yBQxgd7DTOe4KJIaxz/W
MoXU+SQ3MC8NbZrNqmxUAC9uGS8+x0Ui+TQGEPgD3DNAQUQg8WiVLIv+MPLUt1fRpYgC3kejfkaN
WZOjDxqMK6caLLQrZqxJ7whJzlv9W8RozH/TAzCIPrXOC3rUHzVfUBGXaOUyFbmyurSKKOFOAY9A
mtnrGFiIcI55Uxjz/LwbS8mgIcOCbRuO86QALJW8pQe6UNd+Eo61n5G7LbjbI7AZjbR+q278iDak
4G4JlPdXtVzUU5WoQTRo1ri7m4osk0XgHLzbw12oPAK/Vpy9xwJsaRq4gh6bPMVVrGPS3+mHn3El
rKBPsqCzPMUo+CjPv6T2GjXCcFIvpI33VvcInpdRuy6WWHOhAZc6L1MfTriqkKWdq1s4aDzkNwZL
5nkVlbh3Wa1qvFa8Ge98/TnQ/AfoOcWGVfYQDHqJwg7m+FGMEJZ69GW4nqPBOjbjpvNRth6bivrt
NVQTUigXcBa6mFvnRKxZNAQYheGhSWcvetWt7rKwm6nV4jTW5JDQCER8h42/J3JQth4UxloIkDDQ
FXFyGYBHuuR8V50qcARCyXsdgfUys4O2iIYDTqgfsLgAYyHLksyugrhqmEx+wg7FPkksIAAgikU+
L6wylWMCgAfw4lWmrvxGApRoGZY54X1cJuN0WSrY7TpoK1z3TnyC9Xk0bbefNm/VWcMF0kMZhpry
vgpDg24ePE3irEgOPDV4oWHkyZuvD+4p6uUuZsXJCes0C1pZCDUIJfUppteLlyVgpZOIiTZkznB8
rI78JX+ca0F5Fqpuj8zegQQluT2QSZV4HtOrGHF/88fZ4Sa0BYiiiCeJ6ZdgNXsDAbqbdFURmLOL
UbyDvCa0erGnDGvGy3pWSNMGQpq6jAWVumjz6gnUrXRDXna9wUUgrjh4KK83OI3I9QbHLInrDS6u
Ofgl1T91pP4pXKZiVzymzdoFd9W582FcjNJ0k/79GmfrZAg3MNx+Q+n/tDM5gvzsEkLyh1CEEv71
49xah4Zkh+n8nFuRSjgIQeDL5N5M4iZ3ltrzQiI4jJ0199sKwzEmxbS8mGEWz1/W6G2KX+J0DqsG
i5e+2ujoeTgIA+plkY7hVdvlslA+Kgann/TxEGxWpNy+4wSEk3oE21hDyAf2PRhQ8A+jmtkU9n0Z
cGsOJQ1B1yIGAXPM0nVQ8QXDYkNFGnSSZa6uwqQqYo6UJ3dIk74Am6YAQ3i24vqIBkIElLiAn+ws
/GyL53vpROZIJzLUiV2Cbh7lPqPX1ZK73FQ71bdqWPHZWzXBiavIu3mSrqa6DhkOZ67/rLwlXx6V
T9tcEgF2g6JXCk0J5UdlzeIMneTJ2FazGRA+EBG9lL62qmuKRErSqwfKzuAksTBbXGm5CQmkm6H1
sOmkxN9HYz+aZ09r48dxksXvT3hx1ksNZHAnl0olIfdyqYKTy+JEZ7LTEmsD0alIdC8bmrLoTwR6
uWIu4Jw6A+c4bFnpR0WVfA41/VVUy/BpLxSpOqFIDEVV1kV5MISrkEhnwuoH1pAC0wjyuujxFHk3
NnBrm+LWYIG7rJqJoaIDgXgHRCc4aji6xYi8AwGFm8BqhYvIh5ywiQcZgb3Nrm5sUzS2lc3YZjyK
XEjn8Kx0ZoG4wDE3gnJYFzYLsdUS8eYALJYjTPVM5pj+U0YZbdPB5YBEF9QaoRutEWqtEd2SMFTU
UyaLTpyaJbN8+Q4HLimK9dK6o6RQdMC70Lk1LIEy/8yby8kwxVBf49ddMZQITC3U4+p9kTzFIDjy
T/CGo9IoHkaRQvqeoFNdaAuT1s58p2jD1gy3kJfTMw+nmj9AlGAdFc8Ezs9IC7myDbFVyJK+tdfn
ZFt6qnmRFJrk3J+QX2eZLrfFyzCizU7wprsUif5aTTdTs+7jUAJqDRy5YDUt02oar7QUtN4TZ9hj
Ouy4efbI4sw2+gg/qgWqgCyjyPcQvLONVhli+Aq256yoG0nSyNtWBIVQKnnclPZdiBRp0fWhH9PQ
T7+gLAEXbIlMpGR3lCvpXC5TyWVPuXyQbK3xwzgt4ueshlYuCkGG+CxF1PNdimqdmOwkY26bRK4X
Rzu9YF3+9sB+gF+WtbKk0REORkfQKZWx68UeXwEG/qKAXX7FWxabnEDOmhTGQPoqNVmE9YCAjf0A
PKs+ZAjG/Zl3X5f5/KVJKaDoZmWahYVdBSMaX/SWwrVIXlBEYW0HvFTYuX8AdwneH2/o41oMX3Kk
+yHD9dxYJFa/GeUNKcRuJsO9f2a7JSOXCOET76IMG5ok3GHyCm+1gjMsJBPuaRPyL0a87DO4D5+T
9xxgD/m3PWudgXhlAel8BJBrKsufd63M7CFR2PBnmCaFF6K0LtU02HSJt63jtdZ6mebK5mLhvB75
+zgWkgtQL0fchbi26yJZuh/RsCyAShXqngSBcykgoyjyoFl3Anhhy70UksnQsYpN57+jW9zKX0S7
JaPuDrbWMavkbbXI4nRup58ng06byTqVL7nmrbMzB4iGfY7PHBDbjVl6TCo2IEHo08jR2mGIwjtD
+vGDmpX602AByBSEq5BhJK50sRtCkrJm9OylciVFn11ZnrUtV2ed557rlJjIFcqy18JyL2WDR4DC
iiExtysKvbiy7Z5Ygo19wjvQG0ZpxM+jsXv42Ha1rTKoWJs+G2c42WBzKeraH5TO58kSKRENaupb
ehxJONA88Idly04yh/H3TcyqNO3sOZy0bw7nwSRONq0xdK8Se6cQ7I7BSGcsvd+CZbxeGvKsuKbN
AMXqaN+z3nLGCejoTnwkleYgyLKjU/41z471cJSFYX1dw+VZtDvtByoSvke4hk1+KEAdV8d28vIZ
2aruyz0R+PBQcNVyV/fy+lEViVtJcrSmNnohCN7BK6R9X4LgAYmbTOJ1VusEZlx281juyfbNEMl8
NBynk0myRFRt+jDZ4WWEkcO+CCCFOViiJ9QgAL0pYtPfa5F92vhNZvm6SHA60Hny3/FrbDgRvzXQ
YJyP1nhIPpqr/WA+pTMO4M/vZk9ZXm23QnW/KkadZevB7sHKrw1r1cLSZkhg5/TIQTlQ6VS1x80B
WoSqzbocW6GV/VAbJEdeQxIweXeicf+fezFJaC/BdYDtXjBbZ0ikIpTYQ7Mh0cwDtywoQ+JVUGKv
AdP+dQEvpSudxw07xDzQyfTz9ey5hryWYc9AFXiTA9+NsiReVpjjKIYPQ+ETYbVo3Yf4xq0xB8J4
+BU7VW5Zdu3blzTklW+munR/rRNaS+mwQj8zwDHDNxGCg6mqJKOBK6tJq1XYdq8Y6lvGOupnt4sY
zr+DRJl2SoO5I49vgCPDiLkSx1qYlKIHezegpBnn2hyc5Fp6brPOv06T+bAomabL/rVW+YMNRCN2
ZzpU/4FdoaewyfRjtKcWsX7SvUoNVOeEsZdknixjDHpvctzTeQEHGdteZDUZAHTAaejsLBr+dBw9
na9rRWGEtZns2vmkuir6LKf3AQTYXnBprVdf2DJ//7y5VuTitl0tPG/dGBa6bhFGrpC0vWRVkG7V
PEcOotkieamwMUvk5nXsIC87tZ+kLaTYL4CGzPHeBoGfw4k60agYS/07hfwa+Y1B25Vu46Pu4K6F
92MyR6mxqdHUDsnNh57wADywz2aEB/ZTc881fOrT9mPwAM7QT3+fwEF7z9coVxMUsatpigJ3BgZB
/JJ8sxG6O3tYdxnFIT/gi5rxPojh/3g9W6AdPdFfgl9lLh/+eE7gtr8xz8+3L+Mkwq9fvv/1159+
/IgXhxdUaa/KBoJLTu5Kc6kfHtSP/TWU+R5L9iUhXZBNC17q1+3mw+273bArmKPda9py83wUqqWx
QaeM6z1krbsRrb6m9vLKEIm/gntWkLt+uZfTkywIb8aL+qjtpDK0iIudjPFImQJyUvUeCGxYreQd
Xz6JuhB+VM3ISlcoQZSH70U+Zc4HnAnHAGEWF1+MLYpJoagLQaQsX+0umVABVpDRPe9awuld71oe
urLPEWbDo3VmMc+5MOY5vy/j9+cH8dkBhNDfY4s1BtyLyGjWh7qjyGA0uH/LtbCrZM6ZU5VMSCND
SLaQr8X6eduLbtfkyt6sjUokBG9/Ae1j7hVnL6iWRrnLshdPx9bvrSl00ppCh4jANJA+F1Nvg9uj
tEQhUm4/ot1pYXzd62Vmr7HEEp2w11iHMrwyqiV9W5IBIZHyvsBbyg2bGw2ZxmiHa9g3RBagGzGH
X0ffrBBFMHRktxrljJJsMsGRBCvL59HVM6tRxobA5NtPn7aI4tuuzEo24hLRKLtI3oUpdxnFwZWM
ThOty96UqxapjXVorMdSXQDNViGs4sSPGCqfMuxsr2memQ6iurjFrnB5SBvyNN/UDEaE9FdVWy/S
i07U1AHTqlyTgg4kYf2kacPxDOesbJQu5XB7IAXV8LDXt26pZkzhWnIdQiUfNGPQc7YSgpC7EMxg
ghVJNjGW2AXhO1Ms9Imea7aQPXuD4YKd6fja9UpMAVfJ0VLVCzpthF9QrP2tsfCX/VH2jj2ujjiF
IhOzUDchR+xN6bD9p3Jvb+2lXp1C4opgGP0acrahaOUYkuQej3KTA9RA1rJjS0Xbt/FyVcn1ijEm
GaewaZMJNl56ztfzcby0schKhiYM4IGgWSDdzxppsW3PwSDdDNga8xyTKK27IMAwvxQuLTmbuxNh
B+FkIGjQqF3sRdWrzd+5hY0t3ZxbC/KB/Qw25AP78SQadaqZYf46GMeHLs5pvJwnNjsoErB2oG9V
nxEOyEIbmNi7T76ZnQwbmVTDr9haKAqudozt4pVKUAGq73ocuZwxf2U4YGfSVc8jjhPTaXAwmAgd
5vP3QuO04W6gzTOLpUUFUC5DlAs9AX6N+PmuWD/P0hUmqewjmqdf9dNwxvEVzPMAcQa/TOA/wayR
5/cydWTzmUesSJ+kSTYmT/9Ivup3L2c6VeQNvwl1LfxCaojdW+nT4zIep/nLMl8vyNMkmcVZ8qib
DD/nb/Qpnz8CgIdv37whjc1A8TKJydP/ggbDJJfTwz3Qz3gn03SEt2KEmk5s0VdfrOBLxvoNOr/l
q3l6tV7qbJd8l1aDxHUfHzf3+1+a+DQZ25g6OayEYFypmzICOA3uQa3sh1zuRa3IUIVORUFuW0TM
p2KcuTNcDhmY7BYCD5HvyiXKonaUhYz2HjzXe6YI+gI2VN91fXDBYuM0chAbKGDDZxuUPUtW8bCu
OXsUhA3Tei+rmqlk1wYy1A5kxBmO8TbK3d60jg94FHpdke1alH09zIqYKom1LlYaTdNsXEvrR5CG
K3QWX9pPE9ww2SyqM88jRqQjJLLKF8MTpDno1+QOw6/wJ6ux75BXqmnY5J+//Pb3f/7j18Gnt1mG
O7pk8d53VRkSBNwCyzwz3iEEd5MsfZmuTBx4uAKdmK/N4ZikWaL9Vts3aafWb+VbVm+risYhgl7B
BVtTed81+mftS33subVl0HbxKbq2sOBH9XTIprvol3/9dtUdxELY94peWcKdqVonWGZDKXFoyB2u
WinqKe8g0o4Wz7pkxml9tHB2ktaADbgHDFCLfmgd+qFdfH37h6tIkJ1sthjipjy1O+2CjQfKNcC1
p7/grF9bxZu/T6p4yS6qmNovmAroxYRey6ujHGWIuNXL40jTF0UuEQ63I5xANCTw7yzkdKNFaxpU
1DPCZBPkrA60U08qbfWeJdO4mJ5qnQmaCsQnaeV3bLfd9qZ69JJWXDwYPpDyZmDhPiFT6B8WguJg
jiwTozZ0ufh3+u9//d//PJVMWDCa9YyB6hRBRJnn/Wc2wol+ZXDYMabrE9HYzzmSSTqNxgn77SGX
Kg88T/MZZCpZ2C0w7NYK4TXuEQ8JtrVA0t75CPn/ReQMuHM7VceAC+FZ2tYJ2k6uyiYnbJzMU+wQ
1sBoCOD7qeKej0KjXHmCmfs9nZjH51/abxqVbBj4BcVmEerWnrWM+/VJBuABi67vhbU5O4SUDp2w
NYY58XnIrClJmEDvNXuvBYgqDlEU58w7igoD5lGknjxXLAy9h3/qlBVn8tJiFPnHdDfIusxB0dMT
8lfM/+Ixfy4lc6kClb1+iTckSukgGTH3W/chwh6zBfLl2dm9NacgcWzWizqznlC/+t5214dCSmjU
j5FRoRxG4E+E3mkUAdChLrdTaEdUSraOJDbeT7sJLb0XcfE+H9nZrQDY0eiqmherCBwTSjfWvIrB
mfa6y3EtcKfXGTbDAQkV8ejBKHsb1LvQCBFkIAOn6SaRVefDZ8FekQ6Tdiz5OoJhfj3x6B8/t6Qi
HBAhWeAVV4FmLgsOClDjdk5HbDaCuUv9LAa8VVzTbR3Ipj0eWjfp+CkdH5OoMjoQvbBdm8GD6uCE
EHah0WmlnByWn1zKUpVwdqX35eXVewyZ8D4sqw6ruP+7FZZhI3oZRW3PVEObXPlWECe82zKiILav
LFAV4lGHGgp+/bFOl1/qClAI6qoo8L7uYJ2/D+ubcBKBnT+j8C+j9L6MUqmYuhFU7cmh9bcKkJWC
KHKjZTiShdeVXzQi0dUtDRIRD1EqfVHDLMUc+pLz357oLbjQYQQvMtU03jv0J2y5pVfvi5piXCYG
LBR+NIs96Z4ieOtyUJpSTRX1OSHqVpPLOflLw92VhuMRRh69CrR8gWtrSLuL9QIpbq1xjCG2W/GV
fAHzukq0bCvfdrqfnXP34U6asBo2gUjnPzn2jtZwr0fIv+5IcmU51luUk13bl0IhmaEK/xScVJ14
KS1EhZzeaC6+5D6rHfUi7Zi0K4nrVCB5Q2Ocp90u7SRSvTCoSiUF+5ZHLPAvls732SRcsoZ9Rhuf
3A3wKP0ntqMbCu036L4jTpKjT9ZY66fTu130eyGYXcb8iG57hjBB0RZ6TF09sUns2QAAztU9lCuf
oJVyKmlZJy++9cxsUxHgguamMbD1qEYRAwjhHMzsUtt0LLDcBydycijRufyBnwMhagJRWI7MLpbn
xZpV/6grpJNKdtpboLrJhd02KFMe34rlZNeWos2meSxW8Sp50rVH1SZ6TIS04Q20tg7c34R57tjK
0bXxd7IMoxz9HatjS41hI7teZF/u+/v009ubVj973/JX1x8kkce0VdlBnDUR17LGdyZBWsn2Q7ZT
VbNkNc3H/8/elfY2bqTpvyIM4Mbu7DJd9zGAEWwSBPthFlikEWC+LSiJtplIooai3Pb8+q23SNmW
WKQosliUOgEa3b7adb3H895tqgoxGJfILtrIlUz48QZiy+7NpNuADhk+c1lweX2S9Ii02hUaxgJf
p0JzHaL8Wl2hYab+zG+9tVAiOtNe/GpYpwWEkE7p/fJ6Dcu/+rMqYfjX2Erz2GfuVJrEGJqd5iH1
AAzSnfSqywTmqyNmGzE83NYZPQAJjFepB44O4RD9FPPbuPk2McL55QTbFOmo2q07Ax3cXBkej0kX
ZhNGfqTxqjk3G2sKIdthB3Y0m2o+tllsxii7cUFtU749OgEFOZM7cnIZiyz7PS27shyabj2l+RJy
I4rXqPwuPEL8Amg+bYx8YUOBHfvi9ZDQ7rIErMFlP/C4VnL+WH65fqNCYjtGcNAS1S3ui3Rlzmml
jeG4/PVhv7Gu1ftlAhKk2kSNscD3jkfegbmDn7Os3EGt89BMEeVNi1SV0/vi6VTgwNeqTvnWoEuX
9w9Z9uuu5uuKZlqxjhtqT5AauBmGDHXQjl2T5fA8JXcnQmE0ZqdIyCWMZ67su5d6kIx09ffLC4q6
RFPt/pkmjmFfWU4tBoTEPZxG/YINgjEVBFC04wmBfJL11mjttEif3fWKlNkOSBc8sYOom9ds0Z1C
6xlnalrqkoxPq2MwvzYo50ibQTpQ2gxllFyR8FOdEUgQUYz92RlgXjTNFjaGFWd8kL47EgjLpHzx
zJ34QiilHSfs9hS8VUJFixmHBLaZJcPEYCnryiCXETvAYE2F20OD2i3NJLtdA1QnFvudo89k5yDA
edS7yaLFfldk648VXL42ygX14isZb5MMunLhG5DvZ9IiS2sd/iDt2WzXcny2b+J6RcisVyyup0yl
jKjpuL6Vl2hny3J0pm/nea6ugefbWV7r22b5v/rkcYGVYsP8wfvdk3U6R/vt0vyzi8x7JHnuTmgl
Us9op9LyLkxto5Ot60Hk3PzLxxNjZZjIfvdhv3JPBJDGilN+gjZvPugF4DXgi7evvO3JxkE/nUJZ
mw9Rscj9S/Q1mf+eFu6fehtL2Zy/4KkDbJnZoAZTRHkF5rc1T7WkTJ3tyi5HbXNrdsD+JIImIpBK
e47TmN9bHwZCJLXd2pWnxc7015US5p2oCamOSY28oYdvkvIwYugmMMF7HybzyeIpz4w5m7yYxXcw
HOmwokUN6I7+4M8SIJL0kNDtWfznym0xodROSh0pVaCz0Jb4T/Y5wz7clzPqMSn+Jy6glcePX778
sl8l7kFXEjq6EOENNDQP3KC2ONQPaihNkoghZp1Q2b6I5tnydIYxs4NAu0c3/a2pO7vYzlP6Jesa
I8RnhKNOQ821sYziGVN6kmN36nJFTg7/lEKW5FFetZ0wb0fiHa9ScieFSdgGBEwsRrnkLEw82t3Z
XUHPceJJh22yj9rL7bJmuOMAkZ5253H5bATJwPki3jWEEamdcjB60l3jpurFxuAuQmQ8veFuQauh
1GHcHL4L7oAZy1d4skOcwz8aLaEyvipm5gn62N5dibRboSRWmnWcCNCNOxtnD2g7msobWqkiSpVw
+ilb7JuCSkb+SfPBVaWPXlqQqBW6Jc+pP+sHcSGvLWH54kJMLBS9CepryV2mUgRzEVHcJ8TuFkhQ
obZ4ivN4Ubjd1FpyY8+okQXx2TJArCC/CV+flLqkyoxoepXMelGRGRXsJh6hjVmp9Gaflx2V3HUG
qB+wv4hzztYCYQVJqBx5khjbbPPojIkrs0ofwDZdeYFHNYwZujqmuKTuCQtvlQjpZpm8JMvlvK0t
PUf0AmkeVhqeK7ViVAVT9YRfV0Vdn7IuyohPH1pl2Txk+TupOUkM4vlKe8m9770B0qfQwCl3DZ0k
kBYd53n8Ot8/PDRkMTCY5tjHYG3XOnmyTcw7L20T1uNpenm8e2oYg4INk99Exdnbn/fSM691Zkxh
OmJ8v30KmKT+whEGacVvfSScQQlwLmLPRD9fZXN3zg7SM6yJf3l8fNCacKYC4DxhyrvWdGIr8NAI
FMZJzdyZx9Awn499z84kbzFjcjINgj1Vb/XfQKfxAKxLOkjZdab8FMTkMlnFr/cQhTktsFGGyLlW
UnjjY0hxbVMVmNjxv9NISMIHF2K/E/RuP7fP21h+zgwsIP5gwXEacXnHLcVTVHPoSznp+r1ypxvH
RAEWOda51AYxIbfppordAXEU8SLzhzpkL7ekW0PZPI0IQrzxY+vIMWZ+H6EeCSzJnw3inKeFOxlH
In52gk1/AX10bHcvTQKunoHLW945uxaTUBDAx4zLZcVTkm8b1oe4HNOEqamgLOVdsB4/3sA63S1q
Y08iUIfYEXo0+BVhxhW7mYjSu/S4Q8qj8BAEhYtpSM3GkVRf3cNAmeAzKnsc0FLT4xpmkcQ7I5uK
KIMl3cqeITXjlE8pmwhRwWQTJLH3u9APQ9wcV+vOkoJcJcqoWdm7ssm2i2zpztTAUPRPLrNIvIrA
wcnoh0TP14V7FDFhRoFz0fMlS/pkbjsSogSU0ttwCclNtknMPx6HO2g8Dh5zSzjWcXjIRR2mLNlE
uC7HGYhxpPpKgCTPsxzIZnvK48r2BiNsnJMQ90mIVCjI1ZUYVtgRF12QnWrkuWieGK2Q7DdWZC7T
eJU9VumP62wZN+SyG7BjDiymMr1VJ3GmztmC+zR6SlaGx+t8Z0iIAXK9fBk349m7PFzvvCmv0bqu
rraeE+qx7Z9mL/i5ou7yNxw5zf1hTy2o6MkL7q4KH1nDnQUH0ot3GmiiRhpxo8xfQvSQAS7tbmXA
JgOcuI7KBrb2J5wNdZjBwp2GYbRf+CYr0ofXaGnUprM0AhvjVQw8Xk2oNr0oNyimWxqvGu40bxh5
gbr2ZFIdwKndV3LoMZhu3j4/jBxxGbNKQlvoMzn2asTYE1cDXqBjd3V33hruOFn5QoVa9nNvU6jm
1SlBftjYGECQX/RWwV4VWURpkazd5UeoY/zNF8l9bzBNnN9jR1YJVYxdvpNzgehq2FEp1rPla3Ob
DgjUEeZb4DifoqbEODVUcKa8VfXPcClh3dsdODP4MepUGnnR4Vvpsb4JRdhMn+lw3lP6dLkBLpB/
AbCGag6Q+vFmYfVqdJBXJUB0SiMCrgp8yT2c8wPVYKh71jlV3MApFJIOWnIiCVJmRyPfg7vtJ6bG
zEEjwjt/Tt2Tnio/+3NAMEbEhCLhMEhSja8VnFxoaIAQPopy7ILGuISmB5TpECqpEYYT8HAg6guW
eR4b1T4H6o84+YliTKeEEepMy/AR9be40HroP/dpwGwnF49FM6w1G1HZPGYwnOqjR6Em7gl0Iugj
a3w5NLCiRuYx7B+CQdFDLxgmxYz2sY4aTLMq56WrcaagyJfqcZWfwRtZ+8BgpSEDiVzC1AM9a7yP
HdhT6bbZowyNIspaH8Al17TQI6CwNmp0sCcxZKCR8uUW36728E9bYpB1yYzmDzJfWcWLxLZXdPvk
cdeEfDV18PHUAtjGxZPHnknCv1fkIvor7QAupU9D8ENiREmLDT2jZ3SQUhy6OtaB777NHLf6UHqT
zZtlFD8YCyBarEAEmn216AVmG58g39pwZ0D5PHtJlocn+dh6KoKCZ3dBGnTjVOF9hVWuqtbDUNIy
W8fmePAaTtGLzfk4RtehdTgZ/uqNyvj8+7eNllByxrmacneOSIrNrKBYX5XJXle3n+x/r/1kZdG/
2wrGiK/s+7fPq1/2xdYS/rFsfEYMQ3CklB+rZFvlsNnOYo9NTV8YlGkxOkzmPKziwoAQsMHoKnlO
VtHGHBg+LQ0DMI7LmcZVzYmL4TiZ0VEt5VEx2R392Q5tuaM/7Sx9egRpVHGvirm9cBRzO5BQhlHH
bhWMwWtyrQ6fs+ZFBN0Yw/p8vJ+BCDkT2jsMcgilukGAZ72SBU5zUMx1vBMbQJPSR2TrGlo0P2E9
w4VtrZed3hdD5CicU84vfWCibAsYHhwhtY0Dgxx75lt9tvXuh+IB0idDbdglNEFDSdlIThVnionC
tlXhOLrpOU2c2gEL1nXY00WiqcjeXjqyQxvq6cBazoxgJ9jb0s2EhZmYMT6+TVx1/Tg0gv2arpaL
OHfa6QIsY0VvFqERGm/ML889BtG79TnyxfoNb9UqEY1gUF45FDowGGu/Mpqi5hCLYRTaL9vaJY4N
d7aaMcrIYY2mf4wmydyt//gl/vVtnj7DSJt5nn21uadF9vgIHVlaHO8Y9c0KPCs7W/GcZiIEnuo2
YTeYZ6SLv+OP5OCA6Taccn7VppHTJOB0Jui1GqQNJihF4wZVmmdhEoMLqcYBQivteyCIXqd55a4R
4KKcSBkG8jm1qIZ6T31zqZFlMZLH7EgklPQNmtwlxMxgaorD45Y2zChnAjNvsC3dPMerdBnt85U7
FwBq8qQfvf3Bg/FD+shtQ2NnEjCFDATFR8BBH45bFas7HVwsPFZtgKZM+aX1ZL0tXt3gEzoSauKN
snJzzmxtb/o5yXf7XbRO1hBybOytTzCGeYs0EBR3y3nCbZf9wWIe5n7nyW+lsyoryrynaLeN3QEW
jgxAZuLWzPdKtvvNe8FCEI/892E4+/uHtXk6dgI7DF2ZZmXlT9xZvjtw4unnzgwfjdhIi2NHbgEx
AlZ4FWrZ/LdS6JTBvcpB6DJCqZhBgL4P8h5qgDZrv0/w4S4p7uHrTpvz8z++3Cn85cvnY8vy1OMr
De9IRKYjJC7Z9HYF0RNaVljrka4fuVlJMOpFWZnj/stu4TAx26WktIK+Ykfr/dfR//3vcnbIKELz
+326vHcud7rLmRYTSlOOxyIB3SBNfaUcuURUVHxNF4mFcckGui1FWMzTItpvUvjM3TpTzIjAXiV8
F5e2ILLjxLSxXp7fMoAbMUkGUzw8Y+VdGkQL8wxmM6k5bZTsFvE2dU+7gEaEBl2NJQyEmx8V1iFA
pJWH2AFitVQT8sBJPyYc6PBl3rYx4OhYWFY1SN9hzUvqBqszmE9Qxx79fm6W1MlKnjjCSKDl35Qc
DnZ6Wj+9kGw6nmIaT1KBQSatwCDYK4QonnJ3QiPGSEILzpHel7nFBqbiWErTQARdrU+EUsEYijkY
6iR9kQVavjp+L0u15/LcIUzZMbnxQMsfjEYtgp1eOE6PpwTpmNwySPefJ0XFSc6cCEQNb8QoA3kf
yyIuSVEw4pcO4r+spPsC/2O0TBwGOpRad/Ev7hEinPDzbkZlwBiRJ2EaGegSrVUHYdApJQj1WfHh
zs6DCCglgfxIJV8w5S0JLk/ShzL/ziz81fZALsNfSVE0mOqSiH6NAHs7stxtuGB8rfLpq1gmD/F+
5Z7pLanqB3O9kTJDIy3OG9zVYhwz7nDNn836+HycD8uhFhWQ+GtF4E0t1NhJ02Tg/LDnLavHZ0qi
G/OKXngF5HyAlY2lMWQTpZMQj0/OPj7XNMxGFtDqx70Hjfy1182fD50LnHoEBldRdqMQH3KC0118
R38AsA/p6/EuWRsgt8o2XhH/lEFiRgKFSEtc06vorFmf2zYKv/7y97J6epHZbrsFjL/creLdk3sa
iWRq1m3I12iReRVI/FVgkvusvcmTdbKeG7afm7vfxrvd1yxfGh7Ybwo76XZvfrRB05OTW3/Isom2
QjBhV5N54kbD3TJRuhiJUkNnd6VGsii2eWakbfEaxY0FJ1iDRUH96Z0ykS8zstidLIzFiKHGTo4t
dR0sR5EMFIKrBDwhox+828klkleyE6SJl9BNFzOHsAktWCbkBFT//SJbr83m7qEOvah3Fe21qyHq
FqvxPCfuFH0xo1TfMMw237F/QUVd6VlHgOigPA+StHceC5GlmjIhg2mf8HeT7XcN2YEwAEyPhe1p
Q/aFvyEa6Xq7gp4aeROgIAbEX9iQtYsNXd4oCBv3V90SXvIpPeBvk2r+8peJrqFyLGA0GthwW5OM
TOlKkzrMoCThTpQAVM9V2PuWxKf4OvQANgZ8Y50nwdzHrLvqK46O35wKmL2trsYaPGP8EXSn9OOb
DXgI55yLEnIiRmPOTkKK+bI+qzuzsy+j5NkwUXRY2l1HBgNUCaHB4sy2JsGRZDNaeIc2CMdj+VRu
K9yxD97mPnXa9YLRcpl8dQ9b+9vnz3aU61O2K/4GMPJsoluFCIuXoj5ahU6ovJny2nrAeUxbqixn
dLTUDuGmP8G8m0Hxclk5du38HPuxu+qBzijxqazc85EI6zcv8fbKWwa8aU950iBFyTHkGVmouWSa
MIYOv4nOD40zaf1OyKJc8aBk4ciIFydOnvLHwm2j0na9ZtF2xTnuKlrlpUb+knO7UvJPpGD5Y+G2
cbBAtSRBr4KdT6gtfyzcNqqrkJoGvQlXYjUfijhWMQRzyyTbcnauU9tzXSvIKbcU7sgH/ico6K0L
l4bktZsQAbdxoD8qx0qtfUeBoBePI6PPcf4f8+xxv7ujP32+4z9+vqM/WEv5jih0R7T5tNVSlsZU
HStJqun2XInJw9z5Dj1SBWuzTalQzpjMTBtZSmt0JAPexIGj6LXbj1hN7lo4CXVPZOoLGdjJ4sKB
w6ZzhYqDtSJzzx182ElxWzw2No6d4FiZt0FjegSW2R4ahv5znxVJk1MAq8DM6sLK3PEeNORGDu8x
OPPwCJ/ZWlJntI5DE4rQYtIBzbkWo2pVpyrFqDY2Jh7bJoidRoGaaR5YQrusghMpEI8N1WMnVlcz
jEOTpAOtn7rH47HheuzE68qYrTzsZUhXYb+DNGTIjRwko/aWLLlLdjtbbmUUF/TMaR32SYyCkt8E
fhlzyhMfravYyWM1pLLOGBWj9mLouA0AM5Ob2IT0MLGx9jCBYJ5u4vw1eokgKwWqX9JNgzUr+YwS
X9GvEuYkBVyM/fjXX/5+XzXbN6u5H0tC5YPy6VYgXHxnbqCWziD6FZh1h9l2HGRjKiIE3jz0xrGz
M6pPovlrkUAL2wZOgE61hMqxBHbxlOaQfwoZ7nY+n5vIoGaWEjqtYCKDtIe/bdBvRIn5b/CAeacS
Y93V6GoeVEwFNoqqx2KnrJhnvyebyHy1rE5pqBnnGnWci6y7Qrdy4bdFX+q0BrD1CtzMCPXQgZx2
0oG6i8yCJNp/rlqxJWfQgW/AguelQ7kLdwspPSMEtb7UWOtyOpwobZv0qhnrrprXXQ5xdicna2o0
8ZDLvoIcAf+jIqQiA67kLDCBbNlz/j/KyVDpCyWnu/28Ir+m2RAQGyCd0nN1p7EJR8vapNLXbXJv
PztZGUbvsVOfb6el21Lxvzbk4WMhZ4ywayP1i9T9GI3zmRZc95J3fq0z2cc6I4O5pIFwo+pKy6zo
l+L+5zitaaoZFqKTn7I7+bqHbCjRcYbPGCxKsaTepeFhrkmjeQbgvFN0+wLY4bSGsLUEJlH43dpO
j7Y6Yh4x8DY3TF9OaXl73KonfH1GDdQ6KkwnQTsSBZIY/xvvdnWJwRjSviTGft5eXI6Q6mfpXKfK
G9FTa8Q49SZrqkjb1piE6WaXvI2Jc74RF5CRIL1ivbQF7NGO7Qa6EGCRZdEq2zxG2/i1iek0JmeH
a+jxi5Zq+qb3lM7Pn5/uEG5DJhiBLYf6YM2LFHbq1NgaSk4JGUNjP2erfUMeFrTAo8gXYe03lZP8
jHzDUForvhn55t+Jh7q5uMcDyISSHrGEdbpbfFia5stolTwnqwO4sU2UrIsb6k4PP+iq9eXQ1QJh
Rntcw8kuNlnxkBnKPL5ohhh40zvmQY7D7twj4zXOZ8EUGStE4ykxI0a05zNWhHOY5FiVLy/yprIs
eNWxLK6OSJFicQ1q86PQP1Gay2yxt/PBv5pfkfzbHSHwLfPPcY2vrQU2YvDefMcsY/jHfFCOuG7W
ocYs4wa7fhP+mjD9+QimxJNFlT0neZ665YDGVMzYMKuiCS7/Fj/H1c02jJY1eBnsZj5MDOTJNs5h
FJDRHkYamIdYpRAudPcqohCU9ydh1/Hud4NsmpMQMVa8Yw+y7jZBOe2w0SbgPuW6ud7VqyMKJpQh
HDryQmX9J9XMOwIGgilS95sxoBSiw5xNiDCPRRkKsxDRY1MFw8TeXCgypyzMgfq4LS5CnaXcqHuW
DD7hJBAv40CvFmIhMTOGsgdF3fFA0pva2sZpngCB5HlmqCfZGTRZNlQ26jTeuZWnpl0b44xnglKm
fcpLQ5NmwRqRGvA1yOlyVWA1XJc7o2J4IECgAvGcVFNbbUdAZYCj846IeG2I5YdFtn09E47FWIIJ
gnkoaKKnU3yS8TDanaNxxXc1HtcZFxUguWkguIRQIPwXSNgwFerihvs1z9jE0baBQojheInEpOsz
5T+66WxtKJ3p+jA6WugAmNEIPDpt3JoiHgq0cv/BKwOT8ioj/CGD3NOdO4iFZ0SSwRRtJ4faiq3o
5Sl3z3CCPHwaaCWqSAAATLT2Zm3kqyguDEaZ790ZktzmrQ6Nmm9XAGYLow2hZUsSpatV8hi704QQ
7tin7RKnZ4eBBEYHUw/OwNOjNh6UwcwJDzLNOpJjKHM/mchQdrloDr0o3XWEcFdK2mRRkRvTEAR5
YyM+xUm/AHaDjD29cNuM2PW+hMxYH4eeveCPSWBHYbTDPX8P4bx7isgn+/3/q75/v93PjbL7z3X8
Ehn1em9wLfp0aDryZh2+tR55tw4P5Gw+/Gjh2Xz+KH2onhkisXe0/OqPsC5YEvYTsy/Q8cZQNV8q
f/iO/mRXJRzW5bAy/2iZwtdh9Vo/E2NyDE3Ud+z7+/ddfzrd86fyx+5bbeha1hlhxKYf941ZrKG4
qyroAiMekliaSswEVBD2ceZP6YjwWLRkVPjk1rcba3w6tMmrffseO230OyL/8eWL+fvfaxJyxjkm
ykvu6GOeJBvCjcmPvttuHmv5v3xGpPCnfPbbpTU+8+QhyXP3SACiutYHnlFBT8nidyMR1/N0A7K/
yhN1j04FRyVRHrVOZTq4MZnuOv9EN7WLgtWe4nyT2ID66bNxTiAmJT2tYJ4wyx0cB56QGdHcO15P
N/9P3rU2qW1k7b/CfsBVmURGfW+lairljO3NrdZ5Z5zY8Vv7QYCG0VpIYwSTmfz67dMSDKAWCNSS
IOtycREM6svpcz/PScNx4KQPE3iLzY0jwPg6jDR/fXezPx9lSSbFbCLicQjO4lbvqU67kO1OU6Ce
QLUrgtSW6jT0qZMdfRiM2ezioPG5bU+xWjdoi8TDepy1SzserogkVE2nNW+pg8yaCIWq3vMLidhs
mGkvL08JlKxz5EoZLcmIhRYRpF0GpehakqYsYzBbQHiX2ovCpQcnAdc+V4BkKNu9pdB4VPXMnWB6
P38y6z89ylwLGtci/pxlbU9Ayc27XsCJBADPX4J4YgaoVzeWWpp3rLub9I4Xo2gxV78DKvo4fMgS
F0P19AjxsDBPZMw+yRX5h0l2daXRq9f/cJwXX/Cl48BbzPuYPLp+nwzzkkd9AUt1oUpsbiMSp9/o
WxaS5Qj0MyE2w9/LLZ7P/DhVOryBVhUxeZ60zfk07Tq6AMjM+iCPCNVzCabgD4c7ZjGJFLB6oG10
Ge+hvG4RXwcybjVYqwXztsoMhpEffzb0BXF6BKPG74F5/cBdlhNT3vySUq8iEH4dm4kYbSZobos8
a46oONnli8II9YhrnRHsYQGiXkW4WtAkijL1Nisohb111N6GD+C1UFR0B7m7Ezh8TqiVsdtQfQ2X
dAZT2olEtVZc+zFSXdELcQJzIaEgkBRhIRpcckuT4scR1/0NbYqXtcNTjlmBwJY6Jhpjpqw0AIwo
2M5Y56Er8auoepze+Z/NKfDQvvYM62qbYf7Ik6wWfZci0grFKamLT0spJAWlcMtviza1szKVEJTB
7A/cquqcC+B8HKPah5y6VC99oUkotXmqFVXFSu8HT3cG5Q9xanPsDR2nRpWykTC+DeNQsfAoSe6N
Dak4Eg1LYHMjLu9gV1c541pdhLBfOp8tRmpAq5LZktoSRUQYyVbXGoljAMTWOEQY3y/UEj/dB06y
mEfhg1LNJyOtDqj3mX5e5mtHDJJnUMsTFrKO633ZFlTd3NAIlHLoE4m4lTskxl6jiCgZy1tdM2E1
N68CA8At34+ed3q4VdcoJpK0uvrSRS1TV7v3E1JYFyqZ827uzybB3FwZCdBxqF25Lawid1bYSI+2
ez/W7npK1Pb8TszJu14kUfTb4lv9vx13LQbcGC7aPlDHJLwG49AfPKhlTDJ/TGm9NoKEpGOcQGvq
n85XPljxcwWxnPC/fzEZc9vdvGPE2h62fx/EgGLs+Mp0ewjN8SJGWF14vjYVmnRDo+mTt0v4bIsa
Dcb2URLjwJ9BqH1mLtyXUDltw05PPpeUtSPqKdNc8qOPL+QNOb4iLQARKWMSFIse41YTQJTK4qTa
MIa5AZzMd6NIreYlKsLKYHk8C3y+o2ZSmiPqLNLYnwaXcL5eTu/pC11Rpj8cqLdbxR0YoBjrO3Wm
yXgRBZuLXaBURHGPHYPBYG+6yMOSAhKi3aym4o4bdpqiRtYZFxcaEoyQZy0rIpl9DmZKcxkHj8F4
PNwFoC4g5FAPzrA73ry0Ni0yZk+6rdIZAMoSj9Cu1dwt4XFA/rGGZ9p462Se6sHHm5vBV4aaWEaw
ODb2tAn6Ax077rXGV5Kq61EESZFNAfZuHTSjuPIgiOs2C91bcRyHah22xCYQOaZC2ld5djbtYVhD
0NXb+3xtYZmf17fAOkDFJRJZ2eXqd8TIAoZXMkudWDe/8eOxPxs7qX8bQD1rMF6BJWec2VHG62QS
QNAguI3Cyd28DEhY9o7KI1o3FFcdjo1dP9Tc6UE8szyGDPNfTcg0efXd+yQeG7OXINFEipMYiCBn
YWH1sUij4FY9WQwquwSdxB5wzz2Ncezp2NXaOMhpnA0mT2RfDktabW4cgjRlbJgbJZND+yQ1xyYx
O41xuPI0SMHlVrSWJbyr1lsOphABBdWVD+m7X9//+O5fN40ekM4DD5u6baHos++6hnSgQvdGiBFU
tn9aWFdOT2cslHdsF2JyOqshCD0NG7UyX2yBQgjuaiwDUK2VDhzOo6dX4Hj5IfvW5Xy2CIqb53ld
CJMDByn5GQySuGcwSJeewSD3d4qU38I3D/D3aNzvnZ4BwnsEnU+LSrM/u+96F9pUhv8WS0yZu8Mc
29iMNuQNO5mxcE9WHIsFL+H+Tj+W74jlCa20YIes9Ho9eX7oIX64xB76djBYoQ59C2g6jSjiRaZz
NEpqma6e5Wd4lJzMRjHvhIhml2HY9lh2eXBaXxfvdNi5kKezLuyUxsJO6EyfDn/Z6aFueyxuHZF8
AC6sNDpHmejR/a2qdo1g3eR+TCPn+1/eXf385rW5psitUmJaSQXZvq8BoZVo0Ntd0ZlqNoB9GV4o
zgd4eSwOX5jteOr6oviL+Z16+ZeuFl4iEwyVqmbGMkOuBFqQhw/CmKX5VzBLnEjDaDgA1muuuwYs
M887ZIPKD2Lp3Au1g6iHSc/bDx16sIkINUp7G0ZzIEvPs3nmVlilOw+fp06D28jhe6ZuwykUvEel
Z53JNWEVj/25n6V05a/8e/A5aCpS5u1z/k+ffA9YqZz28dV4+vbpxx9+ikbk93R89cr78Z/XD3+Q
3+efPjD3l+k4Gr/5Pf30AUXD+Poq+C36/PPV+OnTx3+h4Q//F//8fr58vfg0jZ5G5Pq1/88o/XTF
FkN8Hf0+fZuOP/w2+fXm+9X3/vh47Y6mUTj+eB2Nnlj86eP1uz/U7396E7mfPrjJT+Q6CuC3bxj+
48Mj+vQe+tYXBTLzjmH8x1tFz3+p7MZhqPgQ5H08RUF6FwSKctLIUJu05A3AWdphD5nk6HmIdcKW
JO7qvvxwYthOtV3xoXmi2OAig8gf+fdw22D8cpo8FBKKOenivgirSbM6mhcwiAyAJ47COHg5MoMm
S2iajVGDkt0cy0CsSgO7/StbdRePUV6OuhdB1IUMLBdV1euyRMImFLtK4h5RoXhthS5/bUvAsgSp
IMoTpP4HZCD2ZFuEiyQhjPak5DW5zvscz0ynv2o2dBtGpRUrSCKArED2hQokZ6sRbJoZpUA4hKsl
YAjbH0ecVJFvWK7iqXZ1iT23X6oTFDVjbezMQuYYr8X5W9ehBKvjWRgHc4C2h5zgeDxMHpedaHe0
oBBQ5r3K9Wp9vlyIc2Dy5bE/UNj/Nxg/d2kzZLKEcs8KFQ2QkxKS1OuY4eMkgKR5qI8J04JfRSMj
YaZUjlVAp/1zz0VXa8s57m7WLXlyPbMPEYD6O5s8dqk8DX18p0BEVJ0MpRF4dg2yjCShIGxW0gKO
gHcVe7V0v2WSqx9FZqw/ZYlJaV/Bei6z0oeupM5KWdQea0bJMao2kNYtUeOzLc5SErdmwkYYx8kI
dvIhHM3DaeabD8sxJAlSRNvAVAv89Lvs9eWHn6FJ2xZZFzB1esLDHVKblPQsnMobOFUXm5qWNfz+
yhFNmyehem5Em0RJuyRKQbrZCHFiG0FETyDR4UZwr44sGqspOeNZcu+Mw9vbALq9LhuvGUOnHsTW
cE2xsLqpUYEQbo+53K7eUvBdGLsXQY6AoCeh3Zl7VPEewxSx85YGVlELXbG/n83BqtjOFAZI7eC8
zXiiRdJqI8ES+lR15Pt8rivowvXJV6UXXdxdumfMF2yifiHMu6I/6XZI+l16/SUiXSef7c87o6QF
3dFkPNLOiAJ3FobyKOuQHkW94ONKKdYiWYcdjY4oDE0naEdUJa3rPZDTa+yZQhDuVWg/YEf5x03Y
eBXPi0u649/UHgc17ul3X/LmFoP3d2H6tfrvfw2ffp0L0yKKGIIEm844iOiODiT3zliXsmpgcRfz
RhgNMTMapjtHNnUSSMWT0CffF5qnoh6tF+ZfSZWsp10cKkrd4WzBQlRpnXWwI+S5Xyn0JZmae1dx
nvWzsLcRan2XBB8nXxaJUgsM3auJMulZK9FF5Jo7wZEqXe0Ok3S7oEElUbopt8Nkh34ajjR/W3uZ
eRnC8SVFjKAir+OUdXdz2RBzoWblAjqjWy4+ea6IKmnJ4EEGrkSNsTS6lor2nfbohNOJkg1KQlz2
Mc59S6s5Z76l2yRRnw1M/UkhmeqIrA31i9vJGRkmla2fothijV/5DhrMCao0IVLbnkgegpkyUqeK
8Tk5l9oVCmWcrqU52M1m3DddcSYuZkNGly23skReI4zJ3DqRHlewtIsvrSoFsqrMNPjt+hejlsGh
WXclWGxe5tDWwON+PAZ00yjSELUafPzly0H2P8sjzndksMIkn6rtfr+BS/5C/8Kr+SXKXr1NZpe0
sD3UlZiS+gu23yW/xTZL/z7L1FylyOcCEKT+Fhq15mbqiPFaRyxIR/69RnyaLhOjg2jswKIb00WJ
B+mxsoUFe45hiIFh2lS2Owgl40yLz4n9wz0bPZ+5spNOqDpwxyD27F0CB8qzj6VeEASbrZfzSA49
7IxthUTXPLq76LUI186pBwlstZLIOpJCyn5QUmhH4rH6AoiefFjqpXGg6nplLH0L9JRJjhT62ijT
MAzGK6mhG4SWNFLGnFnLTJsF99GToaiWy169gPdtoGajzkTqQEgzV8BK+qoAbpA4EjI/gp5szn8A
IiGZKK3OlLWLpVS7RSCdzDuGEdaqBiSK+TmKAwkrti0sqxlnAaItpBULfhwoQhr5c/NIqOTqWVgO
S21yiy8lnLayK8TQDYYIdagF5y1Ua+UkQeyrujrRE/FhOAc/1ygZl8QVCARQah1vXSgDCihM9CH0
nVX28J/qC4FZ5aVCRxlq5HD4w+DlfTzZVi4QrdKgoNoJ2zezIgyZonhSoZ1OV1JT68NZ7WWsqNEq
OL2aDbey7OmitOiKq92lmDRDNkcBZRwmxs1SD8opWFPRezUOOPybrCDjnMXUo8HHm/7CdTHDTD0x
MtiJuiwxNOas5aq9CyGn88m5X6R3N3MlSBxQQ/xRkL3RCsNzTV65s4Yg6PrGrNCfrTFhCRwBN6kb
lvutCDlVHpRoSZhmXChDNMh/xyo7wm4DuKxFoUrMjSAFcJRT3YF7/WtKJQ+3A5jBoz+9j4KXo2Sq
3mXfs9i+RGDaAZfTvIyMsmdBsmeePwucv/fy927+TPO/C/LPUf6c/w5nm3+//D6W+fNt9szy94ys
P2OO3c3vYW9znMvrh493u05ZAjYfssGkF2kwA4eBUv/T9M9kNjZzPUJ1bVgb9sfUj8CjoTjiNJj7
Ro1BcN0cq3lOQM1pb+D2q6IXodqLEStuEEzVWKKS7HpOlPJkfyyWuNI4uPUXUREdBAJp686eNR5l
UXndBw2H2lHAYL4Z18h4xepRrcjCZePsEelHqR+FfqTP3wmovoL1o6evZK+Zfu07/YUcB+qPhQ8f
s1v3Vl1ByO8vuMAj9cjIUF1Ht0M1mp0KIEAbcSIrAfmhmseLGUnaJT1SKUGj7PZ3Ga7OVB2iQFnp
Sk8PlV4VK2UrfDCqV0zgHkX0KGJZj9fk/vEcYSJNzDXE2hchvMMnuKVCLg/XMuwJvWidsZ/eDRPf
zMeV4tojHJ0qtyiBElJvkuF/dADAwEYAAS7/AHDntTMcGnoD6MTmVwF0IleQNq7fRwsI7cHygQa7
CVvx6PwZDD8rkoXwmhMHc+1zt6g/IYkbYlKVc7zLDuaLvwc3Y0qzcg+n+fWGjqAl+RO1yWZjH/xT
zK1xrMLpJOs7lYeZwT+VZglt5ZlsxJPw3JIeEvvpKAzNHS1RjxC3BXnhpIvZLJmAxX7vh7PSmGwl
JyTa3Sr2fqbO0QZvNYTUlFrMEBOy5tbrmd76YaSUXg0InWWqw5UUohBADmZnPOAVMQuSBKCSYJ8z
96jRq+yB51+ImkJyFozVjz0i193y2OWFsMqycetPaIsjglA25fvLnqylaHQRDVU2/RXpe2/DNE7m
N8nse6t5yYjJenzsPpnNnbxxfJGjBer4zvQyGGtAFYGxE5SGJrbzotTV+loZy+rxNXqz29OqjHiG
odXwnnoeS5SOEfdq7Owa+kjlPS5G4RjvceTVZCGaQ46D+Cmr4F/lXRt7OQGsjEfakpFG64K7XkXP
YV35aNb5PcW2uW0ZYXQTeaRian1Vml5h+JXek3PWY5w3zbNK2xEI0jI1C0Lq72Uy+iWB7hJvSxNl
KanaawGdAOis9cAnEdwqHW8suE7WMgfueY+JJom5TPQC8OWRpPy3c+S34cBnkI1HcCsC2SiKsQDD
jdlgXvkx2mZf+uwagHWOscWL/CtL2RgnUz9D9TFXHUFCytGm//M0MydAZpQ9uwJgwjohe5V5Pd/I
ui6gnKNq6e9HaAH+aL7wI/B5Ts0RE1dUDB+3sRLIw5JCHYak9e3057Fp+EZgPAZDnbEeIlKy5lir
ObWF7cXObuSQMcbOQ3Jv/V8K8q0PLNq3RNRXn4JYi7P8re7iYE7l9TiCIqv6RJev2gHKKYfkGYZa
Vk75niLjtsz3Aj/cMtcHFxcD9xt3cPHNxcDJbPfdzeglOPqU/nAuoZPnc7SRC9JgaZcgrkWFOfO+
qquzJ1349Kn/9moWju62twWAiZBs8IAl09BcyY2UrctZM+J85EfR0B99Ts1totWdKe1AqNQTn7F+
GTiTIIFIaRleIAc0aIa6oSXXRSfBvzYJwDqiXOZrZwAKgNlZsLSdXKwhHwCS2I7HdI3is3rl1VnI
x2c2ycFWashrqAWj4yJjEwxP2QpMdnIAiVsrjqgrZsOpMkoc/3auC8OzUh5YebOKRmjVXLIT8nOV
v7FI/S6Xh/DCg6t+DQdFlzI44e0y6K1+4IW+dgVe4EIhJau1bztvW0gjwBT3JKEnviKcktOQX+v8
5cUoWszVr1x+syHIsPt4qSgWvVCy6cUXfImAlqtLN/VA0B4Rp2wgpoywdlI17/35XVrCU5FLWI8g
0RBvM3M26BNrIfBzFB/HTHRyY6UcNysyjVJEQGqEbJ85DIMMDQEQIrbbg+e15swSi9x1qzUOSfEp
LoJ7BE3E/kM40TobkEISRamuFMrOHozOUWQaPqhjeKsGcwcRyon2SYfajroN1dfMKgditEcRbsAN
Za4n195+XtNenMyCIAZBpOYbzGagxKZmealL76joeaQeuwOI0Kubm30F5hhRr4cx6WSHS2r/1IAo
PweVct2SusgAFCzGUCllp6SN4F3ayD7FAzSUDd0D79M9IOhAXVL7DPzkP/g32Yz2YS0IoDzRkAC8
9WMoMCvPNCEAbii9BuV+/7Xb9972X6O+dOH192/0I9aPbO36K/3oFtIlAYLqmMqG5yEp7qaVMBPT
Q17vuPS55y7mozQt/CqCHJ4Gx0yJd6a8ym7qI69lTmaHNcwSPPaCooAPl59GqmPxXG8xxr7OsKgQ
JBHQZ8yl+LQ5AHdrZdjk+6wNsbVtdv68C+cBGIRm3BQP+s0x3gxrDmMoj9HJ49NpiT+RAMnVMo46
Oel5axvoV7ociEUUZoHFiROrx5F9YjX7C1xmxe8bPICOrE9CrBTpyajE7wotr8SZkuMz0BgjQ6BN
42BsVokx2aCwWKrEg4t//1ux9YtBIVyu3v3j6vWr96/+/2KwynW/GXwFavEukeBRZQdIeUyE9mGy
DoM8Sz6D/VmmxmChRE99tg4pTVWMTiQ8pF6Qptj5gx+FiptHifYswi4Z6yVYRVDtIyf9nXHW55Fa
tPPQVkIHzAEHd0Qdq/zi9Zubd79dX7252X3AGUNu7Y3MkvMgDU5t6D63CdW+k9Mw0MsIfmWrQ4yL
XIWgjJKroQ4Y1A6JFwx2BGgmR0VcN1jVOIj8Jx2eGUPOt9kjiWQlnyTedSPtkrv5svBnwUv1SWGD
aUUMOnw8h4LUN+2GhHU3ugRERdwQdFKAoxf6yDOd562TyXWmt4BXOtdbJ3rr7G7hWTVCsazUDwgf
pJHeBVB6YIKEhcYgiO6zRHHLbKBAVcbTjvpotzVKIDmMoBonoDviW5MsFYhrRZZsRbS3m/RK1j/d
mcfHK1Ul4AomwBywW422KMZCAie0vjV9NVs1TTVJtQBq+vCWZFcGpdCgGNAlcTOMMg8ULxHMR0os
GVU5NYZqiJ17Fv5xFGRQbMZlzxARbTKYv4JZ4kRBPJnfbWFdZ/TEBT3L82eX+Vs8n5RSC+fzcT7z
IXHBnwZzkAwmE0dCXxfGT0IylB2jrYSSrDmLKI0d9128Y3zqolryLAtlN6aIByWn7LB9qFG8IgC+
mDHrB2lHFosZAYLhivBBx3NKjWOvFABszomEPma0Nv3nUBu6lZK5cwiq6KzFVto4RckkjA19nDyJ
ux8D9dodAy6OAblbQbuhP4Z6s06G0jZdmAaBmGx3EMTQZKxSqm7TY0DtjoEaDgh3T0lGbjLQZw9K
5je5uABX7qDgQlk1NoM///ab3ML6ajDQDl6M94hEjwO2HHfP3dbqY6LDN33yOtXOJJvh5a081JZ4
GDU1xeWdnxrood2GHkHMeoSn8zVr6xGrZgLOyI9HQaS1imEyM1u9LoVOiTZF+toAoFmJHoMxQZWI
Hj/Gs2T0MOdLvMfDTLGEzJXz5wnkbVM8gXBex0FbJztTIGr3znGyurnxltC1Ulo6cYs4640HJ80Z
zfz0riTzlStzwaaWsvmBEtT5UIxnjvIe31NP2JFuQGzoBhASdtS/ahoC0m1LZUvWo7lRrfZ+1ef6
k2CubhRPglmySFfOdRMBcuEpY5IdQgLP273E0ijAiOBaTKOzfL31FJ5mVS1CDwto7F3zHLCEYmTT
5QN0lAaQO5J8Dk3oog5gljArBPsqiq7z/iI/lBMsZrpMSVrmWfezRBHP/GkJ+ZTzinX20ifjbe4y
vAue+urLhTgtB5hKbNMARpiZy7awEpQC/x1OW3NKDHb/S96VNTduJOm/wpd2bLsHLdSJgiMUjr68
M2t7POG2Y/dtAiRBCW4S4AKgDv/6zSyAFI8CWDjJ9obDarXUUlVlZeWdX1oN/+4u1I1o8Yy6ltPH
rSzbdHa2cEJPn+BuH6/y8Emau1uU0hBCnVf7M1ofohkbFZaGYBVfI8P3Xx3KqOgz9KlvYJkAZxkB
WikIe3lByfuKSt0nA4J3Twab5C8CZUjZPVmJltO5LlbKhG+J591dwJgrWPzGr/3vn959tBgu/O9V
mN8n85f5wrWmQvmvdQc4VurfMpcc1BURbS8Q0udWD9c9NU9ccZ2Uoaed8Q3fcjfCiIZRnrHowg7o
wpAurFcZV0cWZjn1ZHyyeAdk8TRZxnxH4Ce2EvxnAkCLzXKp5ZopHuPjlJ//B7VRtspeWAED1j8E
oP8qmWNn8NzJohhUi2vSKQonfHu833dnKL8p2syvMP5UXbtxHGM6MT88jsOwlT8C8VgPSdYoXiS/
xP/C4eVhln16qBohoyM7auDgWLKZLkPnfzeVAXsC/ob3tcsEm9r+nSDoT4BwrkQP7KLnXN1X+oO+
j7i5fSwEzxjHZD2EjoY9MHe54NjHK0tvHzOxWYy0GSC/rf86G8qmCDTjuvJrdpObPpR+q9zFwB4d
4nPkUViBn8k7xjh2YH7FEOfqCV2CSGzT8ses3DMmvBlW7tEhxMZp1Joqn7hMTjy3VYXQuZOns3ky
AzEQZnHuTJ9xbO3+IzFOr8Xiav+apNgBfzYsYj0rwb5/RWWwWr9i72fJ+hn+sChpZT6YVYgq2/t9
6fmMGqDJ3BjPcJquP2SXxnS5CY+ANYoiEEtE2/ZiKE5qrC3EhpdDEXwKMupLFcE9WLiFabuKstnN
MsjyFyenlD1m2edP+ACZyhewlF3scMte1Dzb1RaVpl70aTjoPEhzp+huiWIzMDRhHpjRsoUzWYGG
to1RfLOFRdt1pO4GzpYdqZ2eRBH38IS6Jjl58IAMcrKDmXfOxpPYlMvalW+0l0isTQ3lH1kxnfYw
j30fpHGoz3pSxi8oVkOQnldKQ4RSP12PeVzAB6/P3PkWONkQ2WIM8RjHW0wq2eWtHwhU/eDnYFfd
/ozThz8Am1Pi/BBOHSCkeoX45PDWXQYfGIO//ufPv50OKlCcDbkh5vwcpE32M3RzXYxhzurOOgxq
sDHVUOWsODrEvfwGzDoPnrfMAh/+mTzgp/YX5LWpom/CwW02Jdu0h9pvCti44bOSfCwq+Z7llrjH
BhY9sKFGNOpkyO/86vs0XDizZQjWpUYnwTp5Bz29x8Q82N5nyhLc6gptLkF4D9bpXbLJK/o4W9ar
GNJM02UQfzHXVsIarMegfHGg3Rf0reheAkMDjjhcGDlm8LULVF2E+eTDLx6BCszvMWgADyScn25D
MTGKhqtxKzkWKh2F9YqzjEiOkiOOk/2X2ocnydcpko5Twxfi6s51fVqbrNMkT6pK3rjE4OB1Ob0H
9mzjFne3rxZ3olQ/WuP0JvQYnEf4Z2FF//XEa+OeFhGq3aidyrg88eiEWU0oYM1E5sOds4Dv2EWm
iEsYOPyi+TaOnllZ/uIE2XM8M88nUFg03eLAIwqjd+8//AD/5AjKqjSR/Pq5JqxlIMa8ZgFR48Pl
WFXIsNaeaxougyKXMrsPzYO4NVKwarGNw7eQhutlMCvHlhZTc41uqvAsRxNYcaS5p4EKq1q8KrKu
oqdwvq1k3h+tpY0Tq9laHvEtBwP39P4rh4acmeNnutO97s8gWsJJjb9cTDyXfrXv3c7X7sCDzCVi
2BW4pGoEBquxyD2hLEdUsuYj7PQr3DUU6F2YvQJU5bSV8B7IvDIJ3X0j640uiv+4Z1ydsHaXvALB
Wanq632antuMrY2x9fq3SX23q77TWYqnbOkU6dBiuMKTIVnnYz605WoGC9e8bnY6Y5GAjyUHJiRV
fBgbtwAUtzJyFfHAlhrWjMowPIiMXny1AGA3wj5gkaW46qdXFHJnJlTXUjVSNYgpXLNwEUak6BEO
zLHcLivZ1DQ0zhnGaTVWIctaQVPw4TqYhUagX+k1JNnvTYWlsAISrhdfAQYWNrMZpotNb1ghQKUY
UZQYfRNfe2Vf+ettSMbG/ECl641g8VXZekQw/5qMvUrVYA6rlQV0q+B5Gr7ZYTy80T/2pmictgie
4WRtYpeb6/Ly7UDgTC9/FWRftrNEZ4gYa4YrAtvII70w0yxZYfru7R/rY73CFPYcs3EMlRpnSaA6
kKyzKC1WBM9i9iUDVy3dEtjQDqdP7nvuVUu0FFuZquWZYM08mY+ffvr026dRzdgGQsKY2fQ4dmcP
fkrOBe1i+iTzzRKDXqnm9FUER8JIuxmYBtaaUEF6f3N5Gsy+2DkGHqbIuBqee2RDb9LYynnOYaUD
L0F9Jq9Sr9Yo0yxYhM5eA8k5vQnmg+CsjVIbUR5qDn/7kOfGnOkQjplpRW1ugWPN/O5P+DeQEr8U
oPF7q5b3ru+8bEcDPkGxchus18uosAyBk8CWMI9TcfXkJz702yOED6ocNvhMVlGMKeqK6e5c+Y1V
xH//+MMvv7x/92tDMWDXKdGH0Db6zFhm5fG+rE4H29lmFQMTQUdNREPzsx1RmSBjLAMinF34tf4R
PNS8VkppM+f086d3v374e0Mzx/WvSpGZnnffLaXfV0Ak7gAYp8vg/iQyzRAftGGRQpsbAck1/LVT
QvwRxbR5egBOr5OX1phPTo3OxBir8N2v1QJSvWVtHdRBqTMLMjMIm4ewb21C+YUmCvMAkVLgUMBA
cKBnhOu4qwNHkIRMWJu6hUbCUVHSOQJRBnKdOMmjxbMzT+LQPJB4whm9+GOoUUkUDCupvOvVFnQg
AALWWl+43B86p8gHqJs5skBrwnQaoFA1S5x+TP6RjxFxKkRLlOlu/P38r1EX+RNO2Ygq0QyEr4Se
Q994G/Cil2EQz6dAxhRrPw6riHVvHPHAR+UDS0zuqwvIsDx8ymt8XxdHDyrWNppcxvKCaZbAgw+r
oAk58yasaZahRRFBw7hki+fWNFdyRSaPp65XP7Ge9dM5tVR6O6ZacrBsWierNss8WqMw3UxX5p57
odwJY/2VDBorYznTj+FS0qbaUEJpQ+zmwx0LgiPTcTeEzgHRfmBAGobS+Viu4Q6qwsxFPNjq138U
TE9B39PaRZ2lHi5xMtGiaBwhE7uJR11KpSXrVLR/xgcgmAbyBj4DUw3ttZenHyfOYY+qiR8QmJ/x
yz9L8tY9eZkSDD3eJs92tknX0HvrqYEvkjSMTLQwNsgAhQAFtLsdWAyWTAtyRSp9EIQomwYwhZgF
dOgSVeb65BKmX+3Ij8K0U6pRz5HF4BY01vv8jduxJGJoH4AIv60/jECGcRI7m3yhSgHqYDs/vAVT
/IsMZE+AlxqGTg5iO3sZLw82MpHTKAezOcK/Gss/fKxf9q5BvRCDehGEsoHrzLjwh65hbR/2TKYa
MDVcTcP5XMddHu6cebgMnjUE85+hE4d3YAQVdYxa5p9MGFA4mYoOfESPkpEUmzncJHCUwjVwMTVx
MSf+CHVkgrQwROPgIborotVwhGS51LiXTrAAne7g2g6sHT3s0gmLNLhbaYC4Oba2g9WWmtPb0p+A
RXUVpoa9dDywRMCEoAL/27iuJBqy231dW+GDL81lwxd9cdam2bnhVVd0WncsrKu7pjSIlijkcFAL
MJc5yyk9bNYYoa6uYdCuRdEbZ1eheJlR8YqG/laL2iblDV1XyHzGr0MEGXl7f0RlVLgsJ+Mp2ady
SrUbFGMDPus6/bc4x+vDfZB+ANn1H+6TUH+DD0x/eF0rpQjhGL5vKEFa1h4R6l8Di3NT6MLzxylq
8zw5jsA058AY+GajVIC5vhy+0oY0bS5utYivrkIyCxPbcruh0x0pwNR1Cs7j2b7UrZWd+H03KGb5
NpaiNzeOczaQhDCFnuuP88K5OWXALGfI1UdHX+xDp5i6UD3rXVEfJ0Ve7I1UZIqwarxVGWolsNce
TfIgvQsrW8kEVVca6PN8r7ewHHM5/BYmukPoxOEjMHaIM8a348aBMcw4UnAMcMOuUhxxk9t48+3N
Dfzfl7lGwav0eZ9cvYYt5bvR3qcKAKfOggYgF0s7LaOHsDobzAgTY1NDMCvMHt4iwlVQAf1vDE6U
YS5n+uzMsrWzAsEQ6MG9iM5vfh8Sobz8DrtrwPCiqnGCeRfjlrqaY1dgAsHKZuT1AgthC4NNfm9M
lktLMExuC8pelCmYlyMe8iPrfCRQanGYPybpFx0cSza5E6ZpkjrzTapH7qThYhnd3ecV8H6uhpZs
vIt2eP5MdX9+bdmrpjhFYHD9zAwxfiHlJBoEGZ5uybdfyX89x0OoEmi9WSXBehCgzu/Upco8ModO
KKMdtrHtkkYUxAIe1NFzXbZ900vQKWBpYuA+WBrrwKTAlnDZip338RDS7dSqwqB9WfQ2TzfhyRT4
iV0nUONzJxUVddjuQMWQx9TT68znvEZRsceVJ9HHVyF9pdxXgerLoNXTkygZ4sJ143bNxDolQZN0
YbUX6pd70C6ZUzUNEMMDVvVhPUiWyvkgfg8yJYotsRcoQ4e4xeUWlu7JWJqaehM1/CrbGhRXXuWz
bRYMu/kWFWd/jqmcCFd64gJ22UHXb5bEJ2YZh60RzgZ+eOU3sJoYXLcirWyeT+lbgrE18x/RdA9T
bCiaAkPdh/CtTHuNusUoc8KHYGkujMVOd+Jd+OaSWR7m2KAYBitTe5z0lRjw2R0+juJR4I/evHbI
KypcuvftmqS/N+G+x0TfrFZZreWxC1+bAWcU/HrOuaQX2JlGXLhZx8fIW0AqQVx1aXPr0KQKgqCQ
zvgP9j9f73/+wo6dZbQedOB2upj9Yz3cgbADipubiBUaG4pcyk83dQF7qAfIhdzzI2qVXPBwB3oa
3lCcffcEWuTLXq3z4+Pj20f2Nknvbojv+zf6+7tq5pJFZlE6W4bwO9Jb4rrw50357WIp+EKQA9tM
N3n4T7CGb/Uv+Q5nTsG3QCFswgz28f4lpvGKvSu4jbyGfzENwXa+dTP4NIznt3CL+OkiWi5vF2kY
/hm+rHgTbLNjcCawNop2jI9JHN6Sb+ab1frTMkQr5f3z53AJpmOS3pabPC4rogKEqLLKaw7COutl
cDL+yNcl4p3iqg21drTCCZOf9V6zEu9fp+AyjApjg1iGkTssvtP/0miAUyIporP29+LrdZKeBSQv
RqVdeej+sPK6FmuiJBhj/sVY7WF6EuDENhqfeBcTUiZtNdNvOsRPtn0Z//NTFP+oBQmKrHmQB9/t
5O7fgm19JEor/LGdTir+on/biZGHaPG8j2dfB/AY6f6277fJVJCzuzTqd80aZbeD2MFq1YL00N8v
ISN5T0/vMYrnyaOTrMMChhnD85ggKnPzIGydIMtCc4IeFD9GuMZ7lsZqUQ/rz9kFX5o5Zg9cRyQR
Q9EGvhmjRMKkXd2AFKoswQmGyWqcGktSI5K4/bAvfOqA1YC1xdNnRMd1ptGdMMe9QSB73oBCoLgY
LQUwcHW7Cr6EztN9+g0w7u3edYGQOyi3OB6RYcgcSL97Hm4flTp/mz+dQCEimG73EF6cvMTuzJCl
3oRRf4xnUQeB4ivLaqYRuAG0WQzmLPxhShqdqS0eSmXXvKxvTDENVMlT/kqA/e+9PoI2AKcStNkt
/oID892EVui6vhpKNiwTDSqjvV2TUSsEENzj48YaDXMC4I3QwR7IS+AOuNFs2Zoz8Rwermvr5BaF
B2f7aKsvSE9bezYXwnmUTzxJB3+91RTayRadkWsm3+FL233Ap8adwNd3e9Gfl+bliSyVE5+7nYT2
Q+hEixQTWsiWcLJFMttkzn0Qz+Fd4yS4aI7o7/AvK8K8nHF8Ohc2ryu1XVAgueEaabJ0pkEWlRbT
URXWFoydDyV+sj+izJw+s0VHb/3ibdzZGivSZ74eszf4g9vf55ltbl/e1l3aqtIsXKIOOn6Fx0Wt
J6ML/Al8+S/lI7ZMJ3Zbu5DQE9ZJi2Jz+9wpfdN1Ct5pmj87GKDez72DcApmegrdHGRWVXKagK8M
zOtf+nnVWKM+7rBTDHBvdkYcJzOM3j1EQJtVYWwU9AyLQGnFNAM2EQN48m1e+LFurXjhxya9h2ky
eiXG8k7WVxrLalFrLGf30SL/N/yWcxYzBwtA/ZXkFve7uKEx3tk8fArn8+lWYsTzafJkLimWlgNr
WokGzIzXDhdFxU96dHdwNjg8Jz0mHNgIzWgz2r4eHELIiP4v0uKben0NHzexHngRxdi2cfrG9eRP
1ZE9XnJSzstQ9TDVQjPMZsHafFnMVdiZ0vvaRhfHpxMi+VB8udjEBZPsPqljUuaNHCo52V53vvEk
aDcbi0RY3d0Wp+KYbUxV9ASHAvToNR+rJVMvgsesUDpEG+Yps4L7+cMKq0aiW8N6J7oeFJmZaA0L
elbYZ6InTj2ghZFLS8ZE6VfJrPDVczFggtXjXfjXQlEYkTB8ClJPyP4vMQfhN7ORu9THsp/B2HmH
jIp2/LY9y0QIrAalbChClExtOj9mkikdkat3JCnJcZKLR7i0npixtbldzcGHFSLw8KJ5eZJbarTG
G9c/wV/W8Mc/sNblOdkgmmCIFSv5fYRlLKswy4I7XSMTz+FjnMCH/4Kr/7xNchfrvtY/EsbFH/gR
Tgx//Ovd58+fPr7FJdeGThLB0US2Qm9tw4pmHpSWAG4d5A8zu8a+JVZ9q9dvg/ulMIXqt9hCReP1
nhtVBTt54jWXLOUUA0CzkxHJdiC6jdihQsEK5XdYqcHBdFQORL9S3U62Ttab9YEn6OTJunK0ORFD
8dqLaWBsGnERXY5foVRl56Qq+6tIVck6SdX62w/zXf9rrbeFFTW8b5avBAGnZFihbsQSUYgQ7Psj
mjR71O/uTEoxkcTvdkUgZMM0NcMaUqxokoPJoW2ZVw95IeK6sqN63sdZ31HF0RlJU8bT9yx74But
Z9J1ioPml4PzaMOUlyFtJT13JHpwn460kqBDSofxQ9pUXaFi5+cUO//LuEuMNLuAo0DcOR7A8q1s
Mzu2mfUEJ+FOZKfrtxLmyWNcWSArKWjbLiZFCRC9jIDbKlr6CeHehPQkiY7WO9tv7XkgMMaM+22L
+Qz1eogcWBfsbX76c5VZQikgQf8BosOKmq0ECee7vmZnnoR6RGIx4cVsICiK0HEdNlcYs3uARVsv
Lsq2n8LXy/IeI/+DtUkUH5A97sIYriovYohpiPq84JVDkTwcmSm2NvH+hcxTtqwxPrgHopWoAQmr
Rwm9hV2ceElqwgUd5Lx71QcnAPAU5AwfmpeNPIyNFpwMcuBodVdzaEIUTnQZ8JLzNIizRZKunDzB
zRjuG6f0ceINcny7mTY++Dm+GJAKpq0YKmDelEVte7HDU5TG/XDjyw+cwDqi/QXWII7JKbp9puD0
3sVJirVXYGg5qyCf3aOpGOy2puWSllRvznvKnLGJ34Z3RhxLqG3LIvx4yHdlEZ3PWqnz1stu4ee7
eUCVgkbfa41HLxSxrHLo/tKM6zNm2d399Tw0y5civ+6XIjtZeRZcUxM15RS4xvfG4ppqbSkk9haR
r+AeF0G0NEs8KTsLnpJARQh6gc5S+FBRnisx70GGETibOFgsCqWFIrCYS5nOHFJh3PEejLuDo+91
1xpLyogYxKqoOzutMOS7OdDgvuAFf3qC3WTY9bQ9el2VG6FStZucfTRyNYoxJIV9HSku5mTY3HFS
GSVxTrdL3aZzqrqvyKQYeUW39ay5litSIsde0W1T49bTeCImWzifzYetvX2qSBEK5vZ89l0pbBoi
yKExbecRy0aKajERPeCS0zR51DFoTXENQGzs3EDdIPrJ9pR9XyXW8fc4qRi7Im4fw+mXKP8GzZrH
JJ3fptgaeRDDJRNU6kdJp+LHRt6LltUC7oH1QhLcgJ5UbVAJmFfqFGDBOFYyS5YIIrgO0tCZBRna
vxkqCGzaMVv/qqMdt7PR3v/0y4cfP33EmII2lX7/9SejCpauJYKFfXHPIlqG393c3OSr9c1PwXOy
yX8Dfzm7QWbXEJCZ6Tbwp15MTPMciKLYx7MqQ5SVFCpzrGttLIAL9Bg8m8e1Uz6xU13yLK8dr4o4
88Xxvi82cHwvWLHtWWnq5osvkzsTy3M2UUz0SNp5uAg2y9xMWwTZ40PTttyBgbjUZ6PSFixMK7/I
lrb4mLI65iW2VXvDMC+3sqf7pC8Xsnf61nAwF2TCBLkcBzM2pnTASgsueO8UjsFxMlYBcY4DadTQ
9NXrm+SD549MXbsGh4bU3asp0qFP8EnjuzQwI+hyheemg5O8clNGLnf/WvdgJDx6FiPw+ssuTJTm
o1Oa9C+xq+sEuARvSg1O5GIDJvpSNSZ9MVlL3N7pWwbywc43Wh3Yya8GV4ovmzBadmJUy0MBL6se
6RzFugjNbHN4CD06NHnLHRi1oje2zdErbautDcEt2w8GsjbY2LKX9UrXRnYGJlntgPHHszOoJ8eU
GpIBFdxhbsBsYcARmbishWE3yKxXLhd9hopqbAsw4LjLL2ZbjOyt+HBa0kLL9xKBl306obuAI+K3
m+F1leW8sOqz7hdKY605CKLYKBgJ4xNOh3mlZ0+KeAXC9brd6jJ5XIXAsLtSAQz1m6e1gDXexiI2
0vV4XTMCrpxw1uKd9NHHenwb6yTLy8L/owdWxLglH0ZUVq9bNGF6E9mrWqq9EIwB++6g3G5GskGs
L3odjHAqYcuOZiZHluiso21/fAFLB0spa0wSgXrL5vo9i1OeW014CK6relrN1v6Qruy04uE6Z8pp
PEwXy2GOeE5uSDgu7bTyXYowpYISn5oB+ghoYsFb8Mv5Z1vV+7b/k3v7c7LnOA+eijm+JjgCCc5V
XdWsDf3t1ityuJaYcYPTJb9PgT8ryUJ81S9dKtcrjCnpWgbdqtbdB9sM1utZMLsP6+owhc8ss+nn
T3oA9FkgFC+S1G4bSlgOxLQ5+AzITczNTYgMYuVU2nOeiRRPxU5gI8RcESB80QvNaxYq5vZaNqHY
kpVWjJoHZczliGSlZrJKq6hUE7Kam0u45dxGW7KyCm7FkoNxuRU+nFDV57J3Zj1cZ0dUv0ei8goA
hP8j71uf3LaRff8VfXE+pEo28QZyy5WbjZ2zW+WzSeVx9n7aFEfizDCWREWk5pG//qBBakaPJgmR
ICXvTTn2eGyrH2gA3Y3uX1NPAARfOgKnA2O7vSL/UIvHa44aTQKvHqpYAJ1kIdUq0ZDf+CKvhztp
sC0hSfiDBt8SIgqoU4WnUahnUbcvGY3vCMXddPVwdOwvf27TzWe0nohxEXmmGYe+7DW//NUohLr8
WaQjc/HbzC9dNOzxoUkop2wHpG+/WMb293mRbQCerXHCmOjmViCCHqDe7Dn9Lg7bMYPPo6SetQ3t
TBzr4Cw+KORYeaDV2Gm/EUKc9PQ/QmlfhQo0H5Ob/M9G3HTBANFEd+zA2AsxYSwl2mNC4HKJKIm6
nLX7fR5ucHQZoZejGLJV3eMOF3TCTdSRHjRzvy2JvgXAiLerrHibPKV58fYuvT0GpbEKJET2c48r
5IJyPKPr3V+lRWot5WUD1YR32qWgR5MzMmG2R7UjVlkdhCPR1m1lwewF7z0iEy6jYdcNx4EWnhV6
rcKB/U+zbbFIH5J8ejd7BaQDeJOa2WyECANYSv0lT+a7s+27T59+/NfHD9NlNq9BNTJMeCLxaUxq
t9XL2VkvU7ackPjOUK4ElZ9PrV7EDx//+Y9GCQmBeYy8q4h7qEVnCss0myivUq7z6eJ3xkQKeREx
/dqKdesBdLdJkpWN4J5E9Ha9ujtwA7n9VOr1ZorJt4Nhz9M7mKo0dWgst2kCE4Br9Akk/YCdvI21
GktYDWxzDdTQOYYfSMohT6qz6JeobkcrisoOc6f3FXA4Kc7ZkzUoIojprPJdi9AiuXPQUdbFtqoo
HtMZrm8TddP3cY9tqeuKPJ7mldL+r0Iu7YtLMMuyzym+QYldUK/nrXMEpLi/GvUUcP+ZollUe1TY
82KerNIa6AoA0fLyxHAryq3lbm+W9ia/2RYF3mjPmL07wy5ohdeEAg4y6ptoatuaIJ0DurTkp/u1
Q6f7URE3iVIPs6hN4lLw+0z3G3TX8WmlvCnRoWO8QIlExNoKD3rm3iXZS93ZXVJ8v93AgftTBj26
uDFBV6hffq95n9YJjhWDkIjzYRb2fPk1haJ3GYSd2X0y+/zrffxC8CM4/t/bq+Amnn3+R/69uxT+
Zf3j3V/4bRU/xOkivlkkP2Sb/3rl/r8T60TPkVmM7k1WhjDP5KmARvVFXfMDV8r6ryKoZezTbPDu
FDcTv5EY3UjXWWU01F58BOi1xm1IuCc2Qs9d0cqJJvDaTvoamMuO/LnNCny2kxITo6JwC5wXyRrD
wmEKHqBpyHVtaGhhAjoBTFixWA2Mo1EqLCGOEbIfYAJIZD8LvwMNjDcLuTw2OAa/AkYA4DXJEoqu
TU/7xoscjRlmA7fIxIT2LNf3tAb7LWgTR6CluISnuu5xS31Fo8sImRAmXZX61QtBzMSYHjK48Uq7
4WLI51Nj3YqgRr0r2prjcxsoPBtEcjCJqOETSQby2V5lc6cQGsNSTsBAqOkpIhTVVzOUk0fAbsRB
ZJS1RDKKtHiWiUy46Hs5woAUwGSC3y+2dbe90cKzUvpcWy1zari56vMjyqOH1vzPbbxJSHScOis/
33CYWs4GXcEqZ1hrsjCk1GhqxmICf50hciI6nUXOlir8VIFf3pCHCJHD2qNyePSIssrFD3O41j7L
T3evoZXWyvc7B3FovTlIBtSCGmpoUVamn/7i/Hk1Kx9KkifLVwFOpF3Cec1NCFNmJW1GKvaIRrNN
Xk0pc+UIABH6vthsk5MMgI21+icASiEreqfVy5CDlGGXERSaT62Y4LMsnu2fJXO7pGnN24i01z7j
KrBW94hiyrUXs1TDyo2XTCvXAhxU1lPRhCRDiNY2IMSeO35D1dpFdMUQv9QYrZWQdUmANEmYrcrT
p+XcMQzmj0TjHQFC9m+VdMsHPscaHoadm+W+XWtC1qWDizqKTD93uVTzKqs95V8R8e1NmhbpXzXl
N1K5GddXpvXz5N5ZmKfMmkkbD48ps+L9ZXbGBc96NclLwmBSu9GBKIE4biyNldJled138hKOMq7p
WmHWke+r1z1079M7VQDctoeEpk7C5KUqbudIbm+qb0ClWLqGOAUalGpqDeSEeSESNDDwwZH7OVnE
T+4g+SHb3KRze6XaL377+dMvVtt4jpgCVI2fa1ZL/j5eJ1UZi1vaxjZbCWeVbO74Mu1lR45a9Si+
G3Pkdoy1sPdv376zP2rCnK9c2Sa2q8qIh/glkM1ZbXM1CPU6st/aiWe/fPkU+3WdiG/YDyDkG/bh
7Vv719xP+//uQNg3VDpx7d8+ErhCTfUKCr44WW+tH5kg86D5xc3umLNXu5Mtt4fxaIPcH+DhIEK+
CCOEubFnSP6FbjUZ6f/89cU3HoFj5moPfEGumDml1BWfWVyKIRyHafK0dlM6UIdJMii0IwEJ15Tv
Q3ysup1MHolVQ6/Y6oy8YquzMUFIq2s0NgKNe17lx830sm2Rp/PE1Wy5Vv3XUZY5njGlDgq93yqU
F0V6u0sDwQK4oQqbu5t4sb6PS33P5/8Tb56R2E8BRFx0cSa0VztZ9wVoNAGo5KBSjqEEVHip+xx1
IThQpn/5kstgHSS3T6sVqavmU4J02N4nDwV4Lwog7nt1UNca02Y2z2bWgla7w62+GptCjYToKsze
VPNdzVXts4CZCOWVA2sRC9rrqlYYKyFM120XUhlPvK5W2q73Jn+F54TkCaR38XcI6EIRKsjWqIFu
+vaEJNTTqQFExQuGpSesrwmFP2o9Hs57OVb7vZmQwl5kWZ6s7Fnb2i6p3MyZMOu516Z5wtHsPl7d
+TAkIznhhA6ijfViW/MqowQ4t1EQNdS1rpbU649JCuNOCRtG8uNhV/WqgJpiL2hpEp3NRtlOiy8A
mzCfcvJaqufZYQMn0EBMGAupgLyw5/hdce+5JwFwRJHBGGjYBtSugg8aY1fKZ5qhT0mih0H02ZFe
sB4d1dFghO4FtZ8JPC+S/D5Jium9vYcaXweE9c9aop5jOiHw6mZ5/gtwieJIEKN7nUEPd1Ww6Z7A
XkKPZVZUUShudDAENApzCr1SPyBrOUMmBhOv2So9xG0MthQkXfqdOEcMQPrB7bryRQ7dXZHwHVBh
AgU5XPjUgR4LuR/kzMGlq0Cyy/KAl32GGhR3w6k60jypMpsnN9u76U02f55CU87dJtuukD4bIyfS
CN6f6pGAp2q10QDRgsrhLKc5T6Ql8wN8aV1TtI4FNqcPTm2LHkujaaguI5zSMKt1QArfBoypnpsA
YCfsxYY7LwrqKk1vaTY2IM6Wr6SQ+hvqiiTYSKS8Jl3WW/nz8iZb7Ey7vjyMEpj7paNeC/R7iQzw
uxvlm/9eQhX/Xo/2wii1zrePUZBa8ezh+3S/gYxFUdudpYTwmyFWS6dubu3pkFx99FSxG2wbmlwJ
uTxRR8nqgclJn8q+WjpF8lRMi429QfZrr3Ccfqqsf0Ib32M85JnF66IaxW7P+MP3iabWDaGgUoeO
RP3bmb1Pi/cRwoWQHS6Z45u0qjCDQZJ2Y76Hzz6kNIXkJVVjabuaYfKeIAJLSsbm4v/slyOjPKkO
Z0d5LibFPmK7vSKLbLraLhY1HUmAfqV77LCHdJ5kB4e988lrAIXcq5MP9OeJbDb2il8fVCqyMNYZ
cTMIgc4VL1+NNN6XsIau+6ChBRoyaj3tx2VPk9UMOggf0uRQm+5Z5eTEsFfnxLDmV9ShKBMbREvD
Oy7iHnW3fMs1P5HMC6is46cTQ+GVhsnOO8za9iKB/Jq9VyA6Wqf7ocNTDbYLM13tMT45IOwvnT/t
oAI8XtmApIB+pWVtltq46tGR7azEVpJaD2IH5ad7IUS1HHwAlmJN4PD8A2AqHHOcmAnlHRyaowr+
Il3Cc0v7tCPp1yHZQO7wZj8gjJffunSHPsdeVtkqybez+6P3YQclCI3n1EcCWrNMLx9+aAHuw2FY
eeTTj1v76S1GgIbaAFxDmw9u2nIrLddxnr/9Y313gnsmoZOQ9hHpMbm5W+wSag5G6SC5VmHSVimM
5lYuKyZ3kKFnyIoVFtxUZA/oYbEr5XSifUY89pQeFxZQJTQNJuyu/BKVUvk093eVsgKBPepYwXtL
HVZjNI7QXqjP9UKXXvE8uU1XyU8b6x1viudSwB8bmtiIH8huG1nX4GSjgkUSbxpSxZrptjYfD33e
x/n0gC6Omizg7YEHlm2dbYpayXxmQ4SUjxHaOwhwDtMriCpEta6saRFv4ESoPCjAwf1qaa/H4nmd
vHd//R18C/4J3JonYZ7UUhBAM4yiiIYzMHczYIGKIa5nblT1U0L6CwbKrt4hDt3G7dO0Agd+cVfQ
zI573/SRnLVKvs+S8yvdgNSXB8ATgAg5kaL5tZF59L7eTffo1oGyePVt15Jr0XXZa+ahbObmNQzI
Sb698WfEZ0rUGYwcDObytD5mDKS6B7S+108+tT4vaM9wNug1hayjws8wQeaHHNWREW8L5Mav8dGH
D6goyYoMf2vgfgMY/eg8xItt8uNt/fQXwvqT2jU/J0+zxOVOpy/1KjUDn+Ay6XuSvjT11xOSDhku
wKK55Ou8xFM+gYWper53aPDVn9fg9jM/CHgP+ePV7N6KX8R3ZfjmoD/tb60fU+DYOOCy+XTCeBBf
l6UZgKsCmac/4oe4eiZAgaTExO+lmDcvw7r089Ok3fUGvAqoYGiyMd4qJsRM27wAFO0qxKgbuc2o
NgMIWOd/C6i188p4hRTSa0rKGTLWubcCysiIDCIduLde4il7XkjWR75s8/nIwcGLlmDipT6fUIja
tYrHagxvuQDY8FmvoqoWRbQgyigHgqyG0EP7CG1PPXDBghhhK7lqvALpoo8Xek/W7qppFZYAYPG/
INDe1+QvpXC1Gz2PyRbC07go4tlnvFgJZmobMpDUWY5PjQekppa8TD+pAXW9SWrClXszH07uOs+e
G+G23aCyl852k/zCugSEDyQ+FA43uySMQBpBnE+/7dWtse4PksqC9NW9O+V/qivCh0CZDaPXVbbK
C+vdxpv5Tw1XqSLE3d6DWRjCR6OxwdgPPtDBuo6L++atRkMYWWlbqaMH7X14OYaYMD3gzt7J2nKy
gbbNQNqGsHmWLeq0DSOvhxO/It4svqQw00YMI/8mqauFlA5he8ArrSTdfJWriVEDrXxuo6HZPe5H
SpeqGkzyknSz5NrG9kyGEX22SGefXee5G5niRtNYlrJVmX9IV/GsSB9gSs6yDKnwtzw4hZvBDD3U
kq5WmRvt9JBaokvU8oxngs5H9LJE61+754gY3ekCyopoIJ/x8AURf/uArA2j4Szs6NWyybJggiZ0
mwRS8C7VWTeQjAaIBvYa1VwfeC05zq0P6HMvi3bB7pLil//5rw+7wVH1SUEogYLunSYZRauMyXJt
Fy5/wBqjASLPa8RQB7mqqZ1oh7txL7KDysV9eo19xUoWVpQzjzWtfV/wPZiAz7dMLJxmXQ51N/is
LjsvDfXsrPQgv0sfb2bTeJHGaCaMM8ATYZL2XFfPc9zLb/ERrRzXsuuFKruXcbgU0lpxInw7p72p
khLMmIYR9jXSrOB313ENTI+AbEuLk3b2WlajFdxkN7wbWHg+4nrIunQjsvw2C3E1VC3h7hHNE94N
mxDNAl0SUNExhZKOF0j4OHenAF7iwp2X0W+x8sT6cS90y8aBZfE+Xq+tl+f8S8DKy/M39G9PyJy4
iWJmGA6gmcaSPuxhLntn7DEvByWazJbVjkGuGKYGpf26W7HrjYxEm5w88AvAPaejkacIeapHI89O
yVMz8MLjqy7cOI0hCbsh3TUWx9SwFrde2JvwxKewlhaNca7V7jUBKNrDLrfDEpgu41V6m5zUcgEi
OtejqCDPTvRvJsrQMYjHRbbELxYGE2oG1f9JMTtA43VMhbaXb759+y6epXP2mn4HlMCjCk74Vm0F
JyMcnoAJTEYIFOSUJTiHz97PZbRzCO3yGvqUYR6eV4VEAO/goL9mk9dVEm8Wr2YJnkSV0p4P0SAe
qtOGjbeWdUWmdgVg6FhHCY+M5FBWfEo313KivOo2RMv4uyPAC+CAWOM87lGxFqakDEiv3Aq5a7k6
pSbgfTeQLUMi9D62lgxzc501F86cvUIBBbZLaFfbLYdz3yUwOWq6LW6JvKlBoJLwstc74CBE916j
cmLFn9tk8wx5sHjpzsc/37/5SN9o/uY7+uajeKM/vNHHB5GOKHRi6HDKWtQqyw+raUBBhQ5mFIzi
RkG4gh5Uc2FBaaAYtswA7s5RNJED80K1CKfXRYNe9YV3ihCmn6DQ7td2rEBa3Jyn0J9+/MVTUnRX
sIBCLWqF8ppfG0ooJQMlFzfJ3XYBtZHn3UEaep+J7n05UBrO4urPLLi/Fb221ZGeUi3qpRJedZ0y
jFR+eDOy3eaOi77xC5X7YRvXEkQfC0/qzRvLDwDZjHu9FqJr+QJq5qBeLM08/SuZrpK7rEjre7K0
gnHYgTRdetDpyl1z6arIXuOjMpSi+DupggYZNS4T39rvbePFYveGizHFvMrcgjDFanDFmWfrUEAm
2jTjmPKCbB2GqXbuiO6wi/ahHQr7a16kMzTWNZy4Zvo+FJBZP6+FOtv1PC6SfHqfAjrc8zQtkuV0
jyekLRuKIonRV8NUNYeLi5EZussApRKHr5eebRdn8YNxcVyODhgnzKvORo1qMNKrwFH1Vcd0nq2S
afOeYjai5X7PuvX8WHemciTtNXgPM0Du7QW8gH6GIt4Uucs74nO/OcytJlEgdRxxsUd9WvYt1joi
jLKAy1LyMa8fumlvuYlkXiGLCnGW4/iTAFWjeEe/Zy+BZz2g03Ra2T/HoRor8hr/SXQn76qxepzZ
S0lEtCPx/Rqfm2Q+tzROIZ1BRr/UU7N8zkqzbeGevqZ3Mxeh2d+XQDo1cHLENR17QZFpDzt6Xs3u
N9kq2+aujhKvVHeFko0hoT4Lt9+DKKCWWgJyADEdH7sTYq8spW5ebwR4KLSrRTk4zk1yazVxj1cT
Aka46W2vB3ROtqWx11Dk9WiAygAQWNOHfFdojyYOlA1viAizXtVrkP05eaoqjWvKdwEWLijNsnQf
ZhvjZUK+PZdnUqwulWxT71CRoFShWfvI+tsKsyBlSgkfmg28btO3E+lM0vVDmHikoS++57HXSLa5
H8dhQqowIj8tF9OXkVcAJ1Y8o6iNHAZzSNXxnNiuXD2Be/uq1nOTrJO4bjCBJDZuYYEkzBcvL8Ov
8zCekAb/yI2e6050f3EX060bdYJQzrFBHNb77WDEIXqaK8iDQ4XspnF4AYNiKz4/AS9kgDYqO37c
LfJxVJKuHzfDPs7orp7pDfJxjJmujmCCfRzpzN0dthQ66nrn32MfJyXv+HEp9nGcd/Wq/kA/rrMZ
f8Y+TpCuH7fAPo6JrsfqEt1kvCt3K2xXRKSrC5phH8dEV+7W2Mf5gSxhH/cnqjvTOThFDaWzY71B
lyJSvaOB05sYmRdCbFSgCet822PME9I5yMA+TnfZg63uwe4vVBiYT1jjvXV1o66H3QN+UXQ1ukdU
M7LrrfiE3jtd/DD3cc/Yx/mVzGAf9xcmrOh87xDUSDufThQ97DrrjuGHXVdhOe4+db1kBfZxnHVd
WYkuhe66FBrlTnfdFQozY8m6LoVBV1Z3XYoI1V2kQ3pjEQ/poJjOZoe52UR13hQz1C8mImTEo40J
GAQQ1fn0vEX9YqJCxhTC0IAxhe7stKMxAOkcjqFOu18rr3dIoTs7Wyv04zrnjdeo2XEZMgagnSOU
P/FNwQN62SQyvHOWC9Lg+6412tbJhGtV60hjs2gpt7RBTPks0/uha3afdakrFcIKyU149xzzxyXx
HF3SJWmH5eqInHDZ/xURmqsBr2NVNvFj896gs84P263NUBYNhsLFJQ1FioB2cpTHbk72KpfDD2s3
9Qyc2pEgAHfPry/n2+ltdWCmVGeH9nUb1BULM6Ohv45ddBsoMdg2QE9N7Vk92MP6MaOnkMViJsBa
LhrWkl/07pOs7ytwHXATkYCIR3SgdSsJUfz93Ex4Z7fqYBBUv4oW6qYK939pBUkZXkg6YV7oHtgw
8sfkpkiXYPuHwzhWczeoG22aZJo7EMtuFPcwcZtpv9w9BK8KbRvuGoY4RYlzQweXn9aAcMuJ8gJn
PmO592+8U0WbKLyem4bOEQd5RPRZy/tH7mZo7M0U3X1nvUlOoZYpl5pZAUUgGhk2uZRCiTvtvzVX
WQOKNqFQTcH7U4Hy2kZD4F73ra85HJBDKyiYAxDqLRcQX2zrWlckY55jy5upvIC1YmXSUQTWZn8h
XoVqNGomlS/Q9dE+LhiNPNcHqKCgSBR8FHM+pU47lHhZ9hmkajdqJ0JHK1M8Zi82jfcyKNZhjRpC
k7dv61fwkJujtaxg/n08JG+TaST4uqe7GE+p6HSxmDrQkU1iPVu3wMV2s8rdROyyk6H+QBERmXBm
esv70qVQZFOIDF1dH7rW3fd6NdswK6Z5ka1xJDmY7R71I+Dq9Yp7+9Oj9ThxtEwBT55drcR9bAl4
MofJObU5RUB05T4+FSX9Gjfwvg0uJl41LJT06tvAIeFhzK6Rve2yHnmkjESgEMYePz6EaO1SPt6n
C/tznBY1EY/126x3zDoSOU8aKX1eRCgGKOQKRDGIU/vJRMnWjau+Ee0QNOUUbuxoYIAxJLy4Fw32
PrOUcst2w8xobvyaxvzoONMubTmv6z1SUIhIelE82kt5UgDOk/v6t58/vX9lCE8KK0AV9glQh2RB
KMkD6x1XN7hK9NLq5j5zt/1krW++ZG4kMwlFqNGKBZ1Qn8ocL7W2aFDBYDYSTIH1MwLcFE2pR5RK
hbJM8N5n2TzBumK9Ymw/3e18iGYNDnq0ZNYh26xrprsQA493yidBi997y0WRfU5W6V8JDM8D1OBq
tv3JHcsFRK4k6qvd8lGkmk7o5ihuyjAMxWaHqXbnHZslPghuNDWkd32kp/c/E9wKLUxoifEhd8Jv
oJ7fBkFkrRWTMgePEkLKqvcRXPz67lwFmPtChRX1hHLpaqNZCxg04BMsyT7k19l6u8Yfdewd6eWF
9aJvI2P8zPIs12ig7tokXyLfencTrk1KQwm6TxTtY7NnXFjJmhwt5oDqw4iGnvyt8pYzM5hPpZW3
xE3uFrcHRUha7bcr8xtI3F3Hrbcro15vWw0cbPNkYwmsCiwVzCmUjJBeBPazN/F8foiTgYMjQZTg
U4HQj+q3BKNLzHB0USuC2gAaDUz0RFZHVoST9WXXxC7hucwekgZnQsF4+C6ads00+8hqDjYb5jBt
ssXUc8Aquv+6CVMlpiMS6BTorlLC3fkXne+1dMhlMa+GQap8CVGMEIGqXy93HqPzlC/g6oc5l3VT
qQF4xu8hpVmQI1LT7SbFioComUifpqwu1PLTIeZ04tWG2UJtldl48/42XSRxES9OSrPtv+bth5f6
Rpge+Udq7H/MK83ZnwzzIMNo3ZNXOXTQ7tcctOXOoR3ge/njNs6LEgZ7Hxd7kaxW8ds/1iUG/K8v
GPCAyL9O7r5yn/Zd8Z6AO1X+7ods815GJzeYgVANBKE++mJsEEF2YPYHgsA3d3IIQU2THISYSMPQ
hSjiHo36AwgyT2dJuxxcRKJJDqEl0U4MInygNiPVN00vpe5djOdBJiJqYDJuN3rAK5lvoqP7zB69
cO9Xr67vslV8A+dk8lCDL6JgsEk7eI03ofUmu7NS5o4gIIts0pttgcdpRFszJ+3vad7ELeF1tsoT
QMQukg0+pY26BIfuoNujfVW+xsapa2p+2VfnsPYV/GvYO+R1pwGC0rs6vkkE5WxsHNYPM7pvYTpK
LcPY7BoKSUkZwcieS/D71KDfJwQX1zFL2wHVLLOyxRptHJ1tGvacAHTrBiizVhKvosYuH/4SBLh0
z3SerNJkjvTaMzExRPIAIrplOW+zw9Tjdjw+T9pQWlKRvYXKX7fLah69NHjtA9F1S43TJcr+FPWm
uz+q5TZdwdP+IsvWNQWgYlx6koxKzwMpMyg9Tvi4+uRyVHqMjWsvhLFxFcqlGJneyPKRcQ8YD+j4
sPLRcTcEj8Y9YJgZl57HRIfA+hx5P9ChLvraikQbdMJlPxBZwIzd1dDm+HsBBQClse+pkbfJ2Pd+
+wN44GN1ZPn4yNuSRyMfO2bc9RvZT4Sxj//J1zAZ2zHlnIy8gPQ/egHZyIEo12P7wSzQhe8Koepz
RVor+DUAMajvgCZonyQptRcuoCj2J+te5Z0Tkz0km1onyg24DBCrLZPiPpvnSOprOtEyQHTdREBp
0n9XV123yVM8K6bLuJjVNaxTwEFvGod+hsGjRBvGp1mnU9s9flYKs1tToaSBaNS3/UYs4NFxlI+N
F67ZNM3LJsNvS0W///qkT59MdFAfwo+PNzT62v5vfyAMcSrGZygymG44GZ8V+Ldv2Hdv6A/2xwug
jP0OlNFgPMroEut3NpvMXB2bpQnCj8jU2aK8hC2er1x1WTt9fHykb30YpeoCVuC9k/T4zJ2108dX
3u2ZhsjZxQzxHDaFvuB+8WGQXIxBL+7Gvxa/hFPw5H5hP2BsKnZlbNIfruTqa7+tcYWaa+OUoYdO
dG1sCpxRxq9tH9lfruy2wRk9OZeEEoBDNjqbwMULm59+/P67T3//8Zdfm3yLC/Podb6PfylOUbMj
40fuX1+LwxpFXyM2zuUFdIJvN67oBWIM9bX9/2oiHmq5oVeSW4FMD2q9fPz78OuD4xvlipILc+UV
ZpGLLOP5eYnoEgfUOWyWJ8b4uwLwyLpolF/YN0ue4uV6kbxdJcWVuBGgSVRT48cvKBv06qK9w4+3
33ghYL8+902mDG3YlyXkldjL+AvFyLUJ+X2de8D01bGK88kucRd/3+XyoNFFWD2fz6tL6JwvA9HX
LUPLRX7pa2uPvU4WdImo6/srSUp3URi/vothILOs7s37JJ4nm0PMeQBNclVDKBiXhsINOlz7XKmm
oz864BYp/1HRxEQB3mNatFKnFA5wTpG8RqUIMqRSHEhcg60QVz7np5YSn24kvRClBtdLvbW4+dPX
qBauZGC1AHCo38HCoRpsQJenh2q4sTtJkYFVU2svMOZjSKe1p2Y8ALN6aKbliAHsoTPpj7qjQvTs
tSin3m7khJ5Z6j6mbrTWwW7sx/u0SMC3gugf0FawOmdBlWuCD3FNw/y64uk4aLDGKHjIouADudI1
YKxBz78rq0Ur1ombCcsH0etekgWvI3dD38ggtOHPcWgDEXHnfA1B9VXjSe4GmQE04zxbxukKH9yh
eJjK/RZecOzYyPMCVWfTdhhwNaPqVEQA/WkQus3aJpIZT3W3kH5INpt0ngBOSfG8TqpjK7dyz5L0
IXEQTjCgI7N7c5rfp7fFH2mNNTrAC3U+S6fV8/Db+3izsit+WjxvhKCRz4jAVvyePeSp7LGEFnGW
Pk8W8bOLVO2CbBxc4Hv6lfvue3IaP1MBv7DIq+dY+Z+y7kapQEK/LXYgMjZWBu2/YX+bWRXliQ2Y
P/z26w9T/VX119+/0eyNFPCz0O7r43dpOSEeAF+tzLor+GaR3ewYnToLqvVYKOfK02XpRLhwvcon
9kIoJA60Om+znOcOHGU4ju9GJiaEefV7DMQAsYtOxUXpC60vS19FF5ZfXpg+vyx9een1vyB9GJkr
1WXlF5e1P8ma2/YGPHqjiI5Bej+vfQKAjPB17o444yqsu4KJAYz66IKWyLj1FLm5HAORgRkiF6VP
CL2sAhS79ALoi9K/6F0A8lN5WfnFBddf8MveRU5+eln6kl3kLuQwXUJd311oLULTMHfhwTU4z2bb
ZQ3CBSHCdItGO+YrAtw56026OhQRyS/DxBsq1FjkmP1BZIAs2MnyoZl9Iz1TnkFUKSaMERIoVeJy
SzfZdjWPN8+oSUYcUkl0JOmknDBhFAmQtZouMshg1qd+IsCTITJggmxH9OVb7thx3yIHExPIBJLz
x9D8MIKHjMGAE1/bI1+OQn+e3MbbRXHKAFMjaZ+eap8djfsF4ekY9CvZFdej0F8lj7X65xENttFq
ngS01bW52BaTgl92hxF+2R3GI3G5Hdal8aLbYIFGQK9X6Pu3UftwAYf3ZW89LRUfh/3G4QInLNeO
F+AqUtFFOH5q1HHNgAEuzVEZ6tgnsBDj0G/YnCFOxnj+7N5DZ/fx6i5xI25qJwDY8wjmnIS8dZ0F
ZHcPxxOhGMzpYMHlQ68Z+3ETYkIQqyatzbLNS/Ug9HJhVI1hrWWm/oZTRxiF/idmWKrTdZyj0bpn
u4avlu1XNhZI40X+cnL/9vMnPElshCvTDGe4VbnU1j2uux36zvJF9r5/pIHqWuNHOOWwAcZlpIQd
nEg9vDpouzrIKOqgrerwa+z1Ns29+mF8OCnXxmfs6ynN0w14PKfypfGgnFPZsIHXi+ejEYM7EFg6
LGOUvkOgwtlAK9BYWUmNg67sUkowxlKQSAzNmnqHwNIPuRZoLydRUEmvr3YZmO9d/eNPv/7jx3/+
MjmPTAl8Sykbf7GlFzqS7rDYDq54nm1vFjj4LQUnSLPzqZ+95A3/oIs5CC/fuwfTyDIxL9ClrsuE
r4+AAcvRCOvT5ZLyevMOvAZRNNAaFJt0vUxXeJ871b4g4g3i5kkxLZLlegpjeJ3U8IWL0Q85nDZz
+DvEU9v85OwiWp63KRoPr1k2T96zSH3VyWYaNXwcFCk3F6U5KNJnHe9nkC91J0mX1e3BgdXvcmmD
/fc1i6kVvXJro4oE2/5jGxujlzQ2JaPrsjVirtvW1AAHGxvB1lg1F+2SB5tgV2VrisnrtjVKlQx9
ro1ma4pc1Na4uS5bu3aPjVGvqsHzDjY6grE5V1yJixobo9dlbEJd+SXqlWI761wbzdTYZYODLnfW
oKZ25XcoP1djHz5++vjrx6sJDxS7qLlRdV3m1jdBOPg1GjER/BolIxgbccamLmts13WNSiau/Bql
NPQ1Opqp8cuGouy6zjUdXbnHRrghA1yjo5mbiS6aZSNXdo3K6OrfD+QX/H5wZffYtTtNUusvNn2v
xXXtbHXl+XPGpfhyE+jqyna24VfuoXLxxSaw2bWd4teeadHMfLkZZH1tebUrjz15JNkXm8Plre64
+oYesb5M89k+phrgpSVz6NKoWjMq/LTj2v6Jsf8Jc2V5W2P0ddvXuQHAlaVtzXU9dWt25QGf8MO+
v868qd9wnREvDxNd+/uf/GITl+baModXfpArQ7/kxKG4sqd9bq7dLxQDdRDUtE4pT3Dki1Slj98Z
wEW4zoA0W+WuCxj6mXfYyShuDSd8QqQJWXN1hMBk/8btIr27f7VLp5bdb94Xm22yfyYcYjL1JHPa
JqOjsUU9bmNl9KSF9rttcW/3yl8O03n6d7de/7lrwIOWyXdaA8q77fGhFL5/ZOkBFM49H9GGMXd5
tODXZu4Da5+Ge8LssgLAAb3c+sNWI2w8+hc71SJ2BTeLYCMb2/jqrmz65Uz7/+zyjM67PAc7Uxi7
iktcXMPJMuwFwsxlr2+m+bWcKUMpenemqCs9U4Y2MHZR/4CZEAFBYqnGAC8ar2bJoh4Ai0RCuSmY
7STNWSRxYtJMqGIBiN0mm2SD07A6JF71I8ZzJUug1h1NdMogo5EmI5MkxoQguUyWN8lmehPPHcrV
Y7aZ4+iwnEyo1+g2451HRGi/m2VbK/ptnC629q8eZBNd3g8p6gyqel+uEHDNI/TQ2yy7ECfGq2Bl
eD5IRNhVMGK83juG50N5zdscng995LBezlSJ8HpFG8FExHWYiJFXYiJSXfKsRx9mANVShrjas3Wy
miarWTZPV3f1MO86CqgCmBa4LW6nGrnPYRYu9+scOofcY7qaZ4/5lFBBEKraBq4kCmFu5VvbTqEo
PiBj1HcsgAk0FoAyEo1Ezi4go5SIkcgxAi4nG0uZEtxNIUhwS0GHBDs74f1F23OnAS4xmd1n0zhv
2oPGD63OT8bbTbacrrP1do0fMA4BK8hZnxRuHO0O9LvIpn8lmwylCjGux2wx9Q1jR4WD20WRruPN
vlpfvlfOYbUmtHmIF++jr9LlHXl/ByHhlETRk/3/7Xp1B9+m7+ObxP0GALKRSkNCJY1ctaEiLech
+yaKPLRTAqBX4Xhmj/3NJsNDR635hCtxPtFu02Za0Mk9xasIpqvbdJUWALidrdHEhmg56YPTk2RU
ep1Wrg+9ljfTY3q+ZxQW7oM/QszI6pQjmycfVz4+rnxMjmuego273TkdWZ8iGnk/6JHlG1efktNx
5TMj24uJvsTzrPRe3PTYPP0rwR1mBcC251NrHFpROqlMceuNaxNOlGS5Lp6n8WYTP99sb2/xLD5l
Urbiw563YuASTxfJ6q64R4Gq2yYDnUcNL6fkAIfXkmc6T5lNcZSJYOaQDC5V8XSchCfKlSAEJkQR
SjAkJrhEDCUkdXCD4CihAdaIIyYuqL1TRPhFOqUkqT39RPhVQinxoGGNoySQZVKRXScWkJJLQ0xX
2XRm40QbwqMVySKUcZTHBYzScqXQr1OE8EBYahuehtzQL5O8Tid1Ma7DSZivk1kaL5xS41lRU+lN
JOS4u8SnHSP9kBfZroIdG0ekTMjNsMqKaZzP0nRaZuMRkuJkbmMXknkCQ7rAJZjW+wSSqFbo/q4x
N+QFnaRYrlVPTIhcjRNyHhfx9CFNHuvnsBJhYMIsu4SgJKKGXETDbXMIztcwakMwCZlGl1EtCXCU
OxHhEK8r6NGU2/PG4/IlUTuh7Wqe2DgnmbtLo37wG4Vp1meR7JEMm04MJ2o8ajYIoiH0ubH3ko3g
mgeeR1q25ucDSsfoxEihA0hXuJfd8m56iBdb3LEQkWwFqUDpnXffyjASzWHA4ibb5k1dY5S7x9uo
N8Xj6q8dTez1z0yIPappCCmrL0tq03ixyB6nj/epVfM6niXTdDV9Wc7TMZN0QikJaqxO9CfnY5Us
IfIbSI5JNTpd+3FMtOGiDUa4bajVUIQNk6S/oaXL9SI5bMKdJ6vUXi3Jgz0M8+aRdixiMCFWjsRH
zcgiqIupm5l2TLzPzDTGzQiCNszIAhdiBF3jx6mxaiYBLtylPctsHLhdfX6dpjqFCcyoDwPVrZwE
PMT36WM7i8D04SgyPs9QRDSLCoH8NL614e50lRSP2eZzwys3bCXh5UCJujt4R8Su8HYRF5YQFADA
UXLcfl/L2le7Qq95ms+y1SqZnVb2UuO1IoOyuY6L+/fvjqBxGLMmSs218kYoY1fLW+R1jV1Ib1Je
LW+cXS9vXpGtdZMvwZu4Yt4iRq+VN+21TS/CmvJyjy7E2tUuaNvQiUuy5pVfucw28EkWXuj0oOyK
eVPXrLeLb9Kd81vn+ZKoi/6QsGCbV/TrO0A1IROv7Hsbue16bWnY6M7+wUFFOR7oGWqXg7BB6dq4
61v46j3Efe+ekFh3IoRiIzGRLuO75F3+cPfvf//06bdf/v1vhCE1EYxxMQ5D8Xq9SGeur/tdnsXr
er4Yn3AhlRqHr9sse3cTbxrUJCZc8oiPw449Md797bufG9kRkTTRaNr53WrHauivBpbMhCvCx2Np
6sMSU0OfNPss7VjxUhaVYjzrfqM+eqnL0IiMxxQlnkxxOSJT3IspTg0fjynht3yyrVsxrE39zW8L
GqpHZOqDD1MiImN5Ao6p772OBBnxEZePCi+m7BE6oqFT1cqUdalFFAkxHlMy8rIpzkg0oqaY3+HJ
RnSi3lDps3w8Yj7Vu0QFYeprLzMnxGvvqUChAVqDPuHc+BQBh+CijA3Wq7tTLphWYiwuVg/xIp0f
82ADROVXc6MC2a3XDrd26/VAFIgp8Te/W0P6dCYFY8rrfuXaaDri8mk/9ygybESmjNetQakaUVPs
e6/7VSox4u5jH71uDW2i8W6N/+tl5kLKEfce9XMjjVdNbbDF8zqlJCd0TIv6zosp0wYOF/bo9Fo+
IY3gI9oU9TsQrHM7GlPvQgYmoSzqB78rho95xTC/y1hq4XPFNGM85g9309kmiYGtm+fp031VvGl/
C3VWcX5/k8U1WH6M6wn1eg/0Rbu03LgWH/vrSUEXA5+oN60dusmdk3kzLe5jKCe7jbeL4uV1pfpL
6DsHtaqn7U3V5GRm2hEj2/Uii6EI3z2pTNebzLKU566kbRoXxSa92Rb4mwfROmodv3nMQ4/ybjIx
lNBwErtfnKBoDR11qz2WcHyi2mZ1nC/ceatpzw0i2HirqTzC0fMEhi6PStaWZ0IJPSxqzNX1SJ72
Exa+VyMrDIKRI8rq8RDaT1ao9p1WfxN/j6XUNUaOKLSIgp6Ed0lx1LhrnVwoI2WBj8C8iO3BX38O
ctGKQBxWkbq9GcJfwt0RWC8g1HCOefDBSd+OZuMr4aF8+MnOlLQCkjEPAB7MSF9A9qDUpDoEss28
Bi+bQjOR4PVtDQdk29saynL/HLBRjjWNoDTSiVI0gOSb1LVkL7YOoz5bJ5t46kA+o4jjjaD2NmP9
L9O9fv4mFqbp7SZeoj1xUqqJiGRATlxLzyE7GKCBm4QzpOIFJq7QzN4yaiTFiwbFKypbp2/1VYHE
V5zBKImRVCCbbM/uAi6GVYFCCXN7vlIzkgpUkxUwQNPng6pAo4SVPXz5WBtBN6hAKDrx6GrspQKD
EhbWjWByJBWYJiuwhzCTg1oBiVCEF203AufjqIBEjSowrWOBfTiBRFS22q7qgisJ3YVRADrLRTOC
N9EUIrmAqj0geZra064QYhCfsQm3WBvICwRR6H7x8qdffqrct4/Ogzz8XX6fbRfz6TIuZve4W2kP
FRLApz3iqsy5OfiiX1x1dcnIhzRfAysf60IWKrUNyvRY/PwzK1pZIoDbF8IHPWZpPnc0P6V5kawS
2I27tcP3CYMsVhSajdl9Mvs8BRT6V7Cp6a0NSLh1hx/T4h6SuTfZ/BkNoYl1z3UUcO9WxfAnxI9n
H3CHXCyH0Qb02SPqQHFcCLgH57lmf//43YcTRlZZ8fEpPe1pL0VVKvzCl+8j8ChSgj3WzFeAuz+k
+1MCSx4g2Z/iVblKXx5c5M3iFkz9u8Xi56rTvByTVoPxwoP4/xDn/RTfJdjKMgrIXMEvBWuwN+l8
bp2JZWI30dyG9k+zZO1CTPRsgVRY+LPFFUtNAZ7MpTrn0/zhDnl6Ilpa8iykd+USLKk1MoQc1xqK
IoYWFlW0gkM8aDTxKukThoahJBSCn08vT2bWQy2e9/O2MCiAiuhJuDEBx1eBsmvIg2t1mVoLhiNq
mT5ZA5rFOY6ta0CvOqwT2cbH6bEF6j7Xt/RSQp7D5IjbdJG07GTK4XUgpCLmWZJbq07gcjo+vaDd
KPwlXM6rsKJCOITjU4HXykhowoDyWd1LJQJxq0+mwTUM6f+ssu9LDj6VEMiHcYSosPGIZHxA4d2l
jGbEAO3ZDCHur0AyztP8FF1EBY8GXle1jLirKGkfehp9beAkcB7kJr17wbzB5oxySZSNw5mOhLoA
WaVl8D1WjvRyPmDpm6AZJwnvOnQQ2iXVXREOvtBad/P8zoO/I2e+XP/W6FZD+uHlBC01i1xQE3lm
Kv3Dx08ff/0YgLAQQZ9a/eUNeTz7Uj03Sdn+XudNOfzNsL9twPGZpvbcWOVpkT4kNUklOcT1nD0k
m006T158sf37ageOh2UpdBTkFaONnaorw+UMamG9uDAAEjQ4M83+suHac4XMOVy4ROhsE+foBarg
/vTKgHqj+rqJicdxtasmIZqFlm53Zf6aPBUtbjgH/VI1FAe//fwJz54yyOaK3mT30Q/LKei/V4kE
B6IBQ97xyRluAo/XidubAYi0b7Ptan70aF6NkYlCaqGOVhkECSsyC0jtrNIMoifKRP017ls8fTpS
xJ72w+21//ffn1q3mvQsAjyLgRPIXRsfrere5/+XuidrbhrZ+q/4JTxdEfWq7qlKUQQIUMDAsAwD
L1OKrSS6yJKvZQP5fv3XpyU7dtSS263FTtUAwSRzuk+ffcXc0g1sfYTamc3qESxjaLKr8cZKkwk7
K32/a0MJpLqqRQEYZhySIqy9SjGd4WdeTP9Xv+fRXKdpyx3I5loJNGKKCJoKtAY5BGzQanGIOwIo
d3GCLJhniXep3PNx4TcZqWEk8I76tHaQtXEBd1fEkXrF1FrzQQJOWF9UCa0L5gnjwpeWqRJpHXr7
VZS7QyrMm0RJeFuscFX2pZ4GdMYe6U/P2P39rEwzhwg6F8y6am28zBfZtGncOsI+GSHZpTy6B7Tq
/HjQFdrLffWWhaskNFcwUKhgoJ1jepnm4VXkrQwgo/zzNarF/qCrBtbasIIz/HF6mmTjMLlRPPeH
8IVf/yzrXJPRDqMuLzLU4WCAl528aqbMOig624RGWLi80D1oG8HJuzHZtXPYGZRR8C5l0a69fJj0
c0fj9WD3NNoZTyL4D0iemykrhwUK+XgezxRxJU8KMVrdc60cycBisYgCdb8vLpzNxuH4JjqFWoZp
mMZXUV7DxFBDQEgbGJCk0blHnaZ5vAJXyTZLZatiCziyBs4G/gr9a1gyCFWzUrYAAghbAardyb57
24HdPbaAGfBWTtXjOwN6duDuPZTJnaQjJlkLYEWtk/7ay1Jd0QLJw9UZ6ipZlBrhiotR55Br8pRC
b2noCtjKVIKbrl6x9qZEWWoYiU4e1PIYdRzJYXpN0AcazGhX8LDk/d68jo0oU5Td3ZPPmjKzhNms
p3C56BpszS0R4UrIyh4he+gxDEMyjPoIUJ9gcR1Y2uttaR3YdrKqcDF/xqG3aWTem0MM+9lZR7cz
ADTWFCgWZTvL/dxh1pEtU/zZRiSGy0VN1D/ojhMVDFiGtZxVCkKRHgTGmANNFFAKuluFHOLpdLkI
L5PIAwPV3CFFLYzeWnAbfq0ZcDVtHGAIMuD2EIvugiKqUJrAEOItvvS2znO2Ps9/puFvL7yOwEj2
KyMFRkRgTLpCxt3MbjjXMo2Vf/B6coYePdv/bLqUlAXySNFGiRDHijaK/ODQaPOrbRRKIhN2cJxV
ECag0jIQx4gwEhBxfAgDxpRM9iGwjUZhAMkqYqFZsX8fXvozzMs/vEUYp5AnKwY2TObhr6L21xip
CCiGlbJsf6B3eF8ts57NDUoBUy6UTc+o87U2sum+/1v98pJ4CnHHsWlOELShUBuRVYXm/GgEC+kK
0FHP0oC1h9iLwpAI0a6Q0bXCIBwFx4o2Kemhj2YSzZRzfPDnNL0lkuIoEcYYl0eJMMKYbCcWVz5a
nKVGWUigV5b4DvSyUiF7FajCBva69AjAQB2pE2H1oGZos5s4iWf6Nvm6aeUxKOXXWicX32buxZEw
2wg5g/4VXV4np+XC1HEShSkQzFU2Vx72uGaUBUHqttQBZFGPM4nzWQaFl1kaLhaKZmBBeR6mk8vs
92kIPUhQw+Pli9skym+iaJF76keAco2FzlA6w20sVgvkG9Qol2Dh+f3cdiMoYLx30UBfTRJLrl6e
sX4OtbVDV59g1wNgMG76xpDpWHX44erhfLkP3+tc7FYYLzL0hyGM1WU57emy0W9ljKdhsgftU6V8
ad+oN56rljapYkfez5FALnn58lL3kmVpI26UUIa0ZO90ef9MDTwrbJIkLqcBx8OL/reMf+4gF+U7
9iU27jCycZo6ZAilQgLSz0FmyVKJiGbGQZCuxjzoGxWrs9TiAXxDNAwevOj3TNkvZoQoD3yEUW/4
uIrm0byselJSRNnNs6isCJtGCwjsF98RJr/CW7PZSC3T5e0erOaoVcNAEAGdsgc6zx1BPdHfob7l
rMBdZZ0Gh9FHvWsIaOzRfF8e2KwY7GIuvVJYOcXZTGLEojN0yCctD1t502BEfXksbyrRod80jX6a
m6ag2RXb1AoN9qL6qJX3ZCPavyixfE/GyMHfM/NWCPN+3UTKzst+pddz9WM1hXQKhfSYHrn2/JXh
+NyucmYYTkbH9PJmfrZMwx/iqSvjZtEQgQNbruYHl9KF615n22HkH9GzFmc12FJW9TrDcCvlh37R
srh/OU/Mr6pcCkmO6FXvzlvhVf+I5DCTw1rJxsfD4A8e3nKqxLsVC/r4WB6K9PRQRWZpR+wPCUW3
vZs9q6PUvQiTI8l7Et3QxHsXcoReSqgEhLLkOFWksiySTM1YElDU0rvMtjxpLVnrOJANWePtUxZd
pfoQm197l+FET/uqnYIkfAinyHYQN4bxbMEzjEDSDQGyuwtuTc0Y34TzPDL3pRCBLDYxWV903bVk
PABom/HdLKhi3WuxFEFRQRROT8j5CfbLbz8hz798vvBERfRCju1ID/wrhiL53IOZFdVz21lHhzi3
HmhsOLBNA8VBDnyCsSYO9Wf12Hbp8yGO7V1l2WU4V6c3nNKqTM2a4ed50UNtZnNW9P00pfxwU/5X
V7/lp7eRbg03jIaEyZCc7ANgu07h8XRGt/6f6sB6NO3+OCpf5CpOFtFcKZlT3c9e1vI11eUTEYwk
kftcwkw1Ub75IAWVLNPFGaqWlGCJpMsVsx+xbjVbQmXd/5YZVCvqwRFlHU40jdUZEvNADYEQdNht
A04y8OksgO9TtF8MrMLSdxAkhurITBFKtTwS2hGxi/psLJmZR1BwUAVHApik66sbdUnsSGJBq1ZA
60eJa40qiaBXLOiP2rFhrSyj7sS+UexQfFI27oNh+Xic55XVcTADmPR3P2LYUHsvfdz6+dZNxQa2
QiNpFezD1p33VdG5kasNq214RYs9RizoQEo3gypmXynvVnQstJaX69Zgw4xyohwPBxw31yWv8K7o
aBKdKSQ+AuTr79GF0nPlQGVTD6wJONOj4u//xlC1qL/r31XV4kyJ/3j8H2Ua1ZTGFi+ERMDa2Rqw
0jWa51s2R9kebhpRg5giTzkc6ykNQITs6J1Mb/BEIR8/v/hGXz4/558/nv/55v23yu4eRSuiGzTf
78H3in8w6D4Io0t8vBSaZkpAZ/PokSLQf2sJVErU8+O9wl+eyX+es5dfgs/k7StSfTzus668hvLR
Nj0Bk9evqBYLB4pZyzI9hrHIoaXhz/g6XEBMJfwV3noL+PAyHP8wL7yiIxSgjt0PeOpoXpNrRgRh
y5DpUVNq0NkV6ihVvPsSyH/wxSv/+/nTgL4xUao8ajTqD5rRWPE+rO5wFS3GN6ewLOZLDimXQiia
GnexUNaC3/NLvfvTf/v088fXry/evHn+/PPL6kvtXl+z01fYVcDvwsb7+zsY84dOcpJ0L/DS2tZx
qWCiIOiZAj+cv/7r7+/fCBPPxPnXi68mWYHb8lmVJHR9qBPlDUUS06V26/Ww5nCxUxgR2kILbxbh
u+ljqvRxELC+RYXft0D858P3Vy/enz9990K+Ry/kXwaB6BK6d8V0zRgM4AonZ8EmrthYRsx9N0Ha
EakRvWcM0WP2aPdiXOmznin65cX3d5/9d4y9e/3146tzg4ClgnasVnQAd6xQqj6Pw8QcCiFBYLG7
87hCE5X3E9zB+4ENSeEsPr1MsksoVvHiFBpMGjYrw1Q82jOhIOG/+f7s4suH9xfs66uPHw2ij5DW
mtioO5RfxUTPugO7UHlxeEAbyKZiwG18BRUjKWycqO2BxT5M9nJJj7kH9LFL6Max5bYL3aOof/zD
IqfFiRzhwB8sTAzDm81hYipRJzmgpgkZsucsE2shrzbKQQySy6uVX1SJDuS7w1WaBBacroFezZXo
Uro1rKtMVOZwYNnt1J+hVtgq2Cm0acMru+w0xGmrwNxKe9chOYCyfNYNjovVrvVD35iLp3Z3l9t5
nChVrm4Sm00RpWDt2kgsyGUTWO2oVsUR0u8cHqxUnZqrwXwYY9QJQJgrNIddF4U5McHeyXP/RF6c
PEcnwoevz1/o37H+nW18/lT/XpmXwUeBoL2crfXRgPR4Bww8zZTdcHvHu+vx6TWl1VyOkGAd4+RK
uXsgrVpjJYD8WI/U+yQ+a3tE37Y3vH+jQXT8jGm0gLjx3q/ofXj66VNlN/ooIPS4D8iCbmhte6p1
GybQQ5GVDCdEDKIzClOCMNozz12oC+OTZwopwckzpr8+P3mGTLwlhrw5bmO1/r6Zl6sxYJCDNhvh
n2BNkhflY/Ut5jHUGHNkN/27D5x72IR1lzrnqotn44gMStmYtzFNJup/Oc9u110l5q24GIrU+tXk
OyOnjA31fL5ohdBFYT3F9S6d+mGMXbhSu4qLm3m2WCRah4ZXq7/CckpvawxQU1SMYMEsG2RqL7qO
5ejJjiuo6yUE09Dcz8iUS+KEYqfHtEvCkd3Dr0wVhgTqaHFzXTXZp9BpM+zbWDdMfKt25Pv3yvPT
y2wOzWS6ottrWCQgYc28b0Uh96Cs9gScluvE8nFs9hwZhUJa6QJhqn6Nl9Bu5IWLxTy+XC7APlkm
iXcTppOk7lJEwq5YB8w1F6GaY0aIEFggL7sHZ6J3goAckdX4LWLNWbXBMGmz5+E+oGKQGKhwMCU2
S6a2bYxxNp1mqemOgsIaE9k3yxmKl+36GTvArJAOFFME26sOWJlOAol954vtClw/gr9W8zUkkA7C
dC9xTbDfBZKXsXcTJTNTyaRyP+hIcuYmPTcRXJguSXZ9DdKmyv0wCpJI1sV9bPIK3G+r6MouH4hy
XM/1LtztTp9ieREe8R2dPh3wn7G4PjhOtsAS4b7xQQ34oGQg0sIB6VTyNZje1B8ak0rgWq0UqRdr
q4jN3ahhgAZXPVMiwzMZXI9AwSk75SxfhPM7HHkbQqWypY5yJFsYY5vtyHdmmaHnQa+rQ8fAarjC
agzxocQpcYBU9c/uq4unqaIDyHxf3Mv6PZkoX1kjaRpVIsZ6Fc2hSFTRYoVAH83Cxc1Z8WP48X9n
VWolzEVoDEJDVtPYO6EhJI4BBaSCAruq0AMcjMpOfLM8WjwrPjRsj/ZGiCFyMHa6jqzkPYKFw5wO
peEFHsyW4IfCPAxwn9vpWuTEunVlfVF2VTODWS876ILir3dQPJEctbvQln0FNzJMuwksSzKNkmWc
ZGl0t/gYit6MWGOSKyrC/d9GjAIXcwPcxCIOexVO4EJAh+YulcAyDNzyInJEXZTx2nQsB616UTrO
6sKFHNaOulxm26tumizPfNpJJA3EQDOzcF90EjQ2rauoXSSFBBXqN96JjZ/Ei2geJt6PLBbe3Gzm
M8o7iebUBrIwZn2zDyEdimn9dVkopqSReTM5QkzXXw8VbKGkB6YqM4dEdiZ8Nntdq9QWMKKMTgf2
NVUiNOedjBVcAYZ5EC0C8XrcHZhuxQeesjAh3/bf3Nz/HgxB+36bcECc3kRKMsHg+1Kqe/d3NSiM
1s0ChwZilyi1HV0iiXoSgk+qUtBqOedesl75xrARZLWY6CpOkk96SImx1l1C1EsOYQP6AvvDSa2+
yR+5mIAO4qSmCjVgo4CgThnQvIIYyIP2xmmBy//6mFqIBB3MXqKcd4Ssui6iZ/gbZuTPNy8/vSDf
v76Rpn5e7i4qlMUGKkzB1fpL67QsTW5LpWa2dqAMwCVith8z96dMMD4mEq8OlJC8X/UD5V0/ogYF
RImS2LRnyn7xmTx9d/Hm87cP794//fpnYKBsxlvI843GskJ+rydnmYgamubs+tc7UYZY8iGimhi5
mDJrYbgSgXoYqLlmjI1w4KiLIDq3s+YIBYS7qbsGkV7cxyjReSB7DEZWruyS9UO+k/B1iHogKYKD
YKMhwbTmLHOSCSEe9Cs9F/G0jlYlV06lcIg/XCfZZZjcxDBu6Pa0/NObREl0rTv1dHpWaYfGxk5K
IGrPBhNhnLhToaKHRQwTscoPzItTkbIzWuXhKz0nabaAauNJlkbm9pLABeD+ghk5kckGZ9Xfo4iI
w8xj1l0gbAbjjbfHlxkb/xBTT8YHDCHR9jVOdeyuu2TNxoIvIXg0iIfuu5SLWcmTeXSlznHTLFPA
1g/EYDJFdJhjU3fK0hTS0ZMltBqs2o2V0IEWZPP2A95OrtlLAF8EneV51jc1MAnllgNJ3IXoo5KS
KgvSPbeEgiV7ZuaZsAgGbWExRPxMBk6WmBtrMHLMTiuTfUdC/L+/PvP53x/eBvjdl4s3nwyDdzAe
RHcHLnFGK5G8iBc1Pjlnll17w0Xmih9xGEAMh3fy7feiF/7X93/+fHv+z2sq8dM3bw2jxzjFncQX
cl2iZzRhEVWiyB+knIOwvhyPn3Guo9JJnP4w7xqGzK5bV9XA1Lka6Vqhx8AtEbLPsOgL/OIjwd+/
oU/fzvFz0zyoAPekLIsKg8a0ExLUsfakMYNS8kb9KBJK8UOmG7vdc91YAL4YKOxjtwC7DTN8+/LX
i/evyLl86z99Tj4Zgr/ExTzeIc5my/wmX9R4dYwLWItzjMRY1Z4B7vmBXv799Qv+8BX77zC9eIuk
acwhGoYcfSdS2NDT9dvuEOLcNeNpLXZ3pFuQgI1rhAzE24IN6M0Hbd5t1c37C3LiHmDOU4ysP8JG
551Jy5EANXiczeOfOjxQFvQo4VFXmAd7NRHvWl2rhzRv5UMMM8sBZBbKuR6xTXrapTLMjW6IP0jx
i3q/nujTWAEmIKft8IIrbaYnTZWRrExntrzFPL6+VnbWxLu8rR0ljXyow+2mS8pmukI3fQMWoxdd
4swrZG62vlXQCqo7jNOatRVKyhCXtrsdtsk8miWhOlCteaLH+w4Rc5aC0UGCZ9RvyQ2LrKAPwy4z
mIaM+J5FDB/ef2oA8QSZgFAnv3f/PADyO70LNt4F897xZTd9rAZf+V25ra5GrU9cMF057xySKMcd
wsCaxjJiSEEh0VXK0HQ3QGS+iGaGmCtipNMgWu1mQG037tXQ3l/bK2LSXWpsDUMqJa63EsXZ5X8h
WTRWxorRWZBQYY2wO0ml4yhZqRoYcLicN6WiYIo32WuqQlW5me6bGy/cMJuKK64lyEFWl/beJAI/
1sthNYLWr6Dj4rFX3/bCwZKXXXRbL+JpNHedhxUQyym2bcabYPfA4zZFrVckQKF+vhyPo2hi9nqF
1o2szcX0O+qq0UWYJFpIwQDAs8ePT4v/rsJ8sSKAux9Dvv9b/QLp9niWTx7BCnS9J1l/5wm++Kmc
gnCSQeHmTbbI8pts9kiDeLo4g9FT90mTKYkgJO5VIhjlPvjsfgdBGL2rNL+JogXxqVH0ShQc4KWu
51GUelS9l/oFflr1reDDhrdBiFCQYi1cLD3GurFuExL2KOAH4SDa7TiILVGlVYSNSpRciUqOOtLN
7mdg+828c1RV9UpKwbdcENGCIYvycc7FPlfd39KrDqigLg7nPnPhV3NDfQf7//c0gb6B0q7bgFYU
+UFdK7gEXjS+yUwFKlBhtGckphvAsE7ePwBgmDi4Z4irM7hItJSV68pNDen3zdycEYYMDj8Abhkb
CRd/bM0s66HuoCXzGZgD2XKRx5NorYg8qESu6Zyw3a1SIw9X8m61GSNLc92YM4+uovncHJHi4Oq6
mHMGAWF9+8XvRWX+GNFaoIOYnDqTOkLjnX2hfLFu4uHl1urtG5UC0d3EKwcdewtlMnnxdZpBmNZg
aJhDtnA90o3Mh52UekI7nAYmdXvLFCaiNFKzDsXrcRcuE/bqJ4WDEakxovAxVTj4v1ocYF9APQLp
WKN7l2WAd/U2JsVAYercIRQDg+S7OIAqlLb7d2t4d5bNdORaEZiCXcx/mqmnL6hdH8pcrAl8hrED
5Dgdz3WyBabHFiGkbLzMvctIUVvRUWJ0GBC33LjYPYplIDtQTObx4URvwRn+WpDVYph2qnxqs5DK
x2Qu2nVPoY9YT01Pq3N4q5veDaIq6rercVfuktCO0xwG52dzPRa78KzUVxDMLv9J6aIUgnKhcnLN
ZdRMsaaShGQwVOj2LrMC04M1inFyVbuDE2h16So1vrnSpJKahmp62eY5Nre7lJ/pAGE1OMgDP3Cb
AtFk1W36mlt0H+iSXNbGeCtH/2Ed3is6S3yl/hVlT/LHs6Qa/IQqCrrX2O47RM7C6+jevkpvVhNO
5mJEAjYQfWA+4Is5mdsu1yKB7F3Cl8KXBl14EGtyXITza3NNjeRMuU69tfvWy/pJnNeJeykJO2qB
C3QHKwx8hB/COSWmDwKdGAcP4ZzCxfg6wDHFw3h15eY/CCZi8kEcs53mMJgveIf54hOfPwzxgh4G
39KHwQ/kgUjBB8G2Aj8Ii0dI8jAMM/4gzhmIh/HquE35AgQi4+vUa4rcwUT3EWbdBLUqAGsCaZKN
GAl6Adl4WSKVJ8l7gXvPhzXmMziyrNal/YFHLcCvgBZVELXbFBFDeISteqbsL1pWXtSNvuQju1rr
vQGa7gdhYKvE3L7QoB5wXe1b3TTHFQF3c8mG6DNhzSGxrjAorea/0w76NHwr6/MepKtlkuRjKELb
+HLV/nV/tJ8xf4gowA72wub+tTr3t5JJoYjEHwi1hDuIk73ezm53JO2ib8hHvFvCr5dVxEUL9DrW
bpWR1j9nnmzH7NKkQ546gb3vDUemmOFjRjQx76kSWPQqgktBLx2IsKvaEkk6veFOxYngtu0gGnVm
ua6PuEjcDujMcnMTtK1QQjqR1Q2LUoPDyId9lihRGvSssXyrsuxaCLMsTmHZR5Ipo37zLwXg2lVW
WEpoSUWoV3W5ml/ds32xKn6jrgLKsfiqgCtZMJBwKgUxd7BPt/aNl1eC7ghvGi1C8yRFom37/TG6
6n3U8m81MFX5mbN4XtOdwNiIWCUSqbFh6zq+UqSXXSuk5fHP+lqqQE8Zxfs8Vg2jxWkKO9oaHRZE
MO0CVEETdevEBQ6Uc+nAxdsTrZUOXiqdnN+EM/OFCFW4Q8yVwSZxPkvC2xLaMgU3JUyS7Nf/s3e1
vW0jSfqv6MM59yVM+r3ZezCCSbK53cXgsBhggAMOhwEl0TYTWdSQVBzfr7+uJiXLYrdENd/EmQVm
HFuW1ezq6nqvp/Kgal19kdV2AAslZ0SEPaskgnt2UChmHd7dHw+Oln8eNozRuWTTrq67cOHPK8B3
Ev7S4YJJl5yqDtWH5Vw4FbIhEst5WX6OcgLxmQyJHxccUm29NNXJe7304fEWAJHeW4O2+sB8qNh0
zR+2JbnCXfDHWSDBUJDuT87hjDOIRKveGWVXW9QPm+iHWSUL43HZT46psF/+/I/FAwB0F7dmsoGF
dUjXIbgclOip6BtW+ku/V+TcroUQQ5z3WeJj0sW9PY/txQSV7S12Yzhgu9GAZwzLztyrJlafl9r1
N/2w8jirxyRfHB5U+riJwEesxZa0aMUQC/FRjZcrekZ9zsplHNmh6zRHEOahll5XqL9URAYGh1AL
mmrmpqlZL4/tpSXODkHLoQNCtX2Uw3hIDmXy5eIkWMbxxp7AxQ3RxltrZkZ9FFij/WH3/mjZYN5i
3SqypHe8eQ4i7aFss5XVbxVczHh7dnLscR7Zx7dqT0hi2pHgJC7BSXziUt6dA1jxYXSOkLS9UfX7
Nspigt7dJ3fHXSgQWUNtF1huHx+f32nv/DiA0RAXr8GH1+0+wLBBYWe0mT/WMc4I8fOwHUvUFRYn
sAnU2QqWOd5wwoQN7krJUS1Tggjuhu/q1x96Kjv6cJuehRC76ujSWHI5GIRlD+xQPwPKfeK+jmhs
NevAPgOgVaSvjggQrNPDbMvpdB/FiGv3NxzC4KSYDGQHEdrV6JynKCmC4iEGqr5MtakzjOCQOW04
tuuMoaDPryxRfA0vaFkU7AavQJMrOOKqzBN4JjkaxmQAU93vgkOUe++baJeuvA4P0J5cpKaXdQPm
ngm+W5taNTHhCx/4DEPRXoVat+72nYk2AoVq5TvvBmgGX3O9lGnpX8ar6LmEiIdJmvAMt+SNeRXG
vNThDAhiSKEhhI9gPoZos2MN1hUy/rHnAAoLXVQs0v5UcbOZru3jwNJnnbu4WDxoIZDmUIzy9AB4
I+Y118xMHOIZlR4s8qIQDzeVunGwNTs2g6M7qYfL6dhlju0gsWwybXs7oBwcb9XHJi3G6UCittk8
0ItE7dqgxzUUtxAcEW0SZ8kyftykpmBgu1m6BjIKpYkasjbm3Ppec+rv23S/I2uEAuZbqm7SI/Wd
ucH3JWLDrVlVRZAOtOTuOpyEUMYAS4YHSX0q1oH5Vk1L2Zn89ZVCDi131NPFfEr0xz8F6UbbpNE8
3RbBfBWtvxkMzxKuY38xHZl93u4uNFcRRCLZd1Fbq0J/ze9rbdUncebMH4cYgMLFcLzOu3GSGqSD
OCEDcTsjqgcKlmaXfdB2Q3RBl7h/Xi+CEp5sX96frCtPOq5qaOwlTwAfxVvWpx2xpd5wtLLBgQGa
YNhFTq/ZIQIYZqcbc2k07ZoLH4YpjUvzVZ9aVuGMncIJlCAMaduOmgjwqOuhS0IY0SblIO4NJ5cd
zsVuHN65cW+AsrdFto1rzgegp8leDWi7ySwA2xcPZDLTEHd8C2zQPZgw1O4CaP8Usmp6EecMAYMh
1bqfrMGl3hXSyo62VLcGAHFmxtpUyBUPSbaEQfbF807kZ5rjfzgcU325sV8RmyWmYGZHnrEMiOY9
0UkFoBkjtmNyS34QA3RFNx5oScdtkazM3DstUX7fxtnz3Xa9MFIFxhsVcfUsNS0+Y+3aVJN1HmfF
69FwRsDtsU2JXYnDeAnWlVp1eQBKkXa9hyc49lTVDGPY1Pe2W/w8EzGfvk6PwLS2Y9ttpS2XkpCQ
AcUAJXjc/Qre9wNo1vqSpuUD1GqKZmDyjkqAkPGehQOGSMQQNP5pvfy4s3iONZzUG21VUFQq6/fz
VToP8kWWbCrx+xpx9HGTZhBVK99hDxSGADKIVQ+3zO1EhqFp/RmV07hg4141ggesSoKC4HEvts+Y
3UOkaTPEalvchdWw5DpTIQHmFeFMjcxaEsveLRzOR+VeoeQVCFFJ0DXY0pKRsRnOW2tWldnQIup0
ZoXiM9oFT5eLucZtUeITca56ot9HW6glKarugKqIeQ8uaDRTHjxlqbbgtVAxjnW0yj3/zBrORtQv
dbPbAUWyWp8iWn1n+u8cMwqxV31g0zMpAwsYMe/IQtWiv0m1rxjM0+VzlZSu9msNOCHTxXaR/G7J
AAcFSUe/C/DLn0PWVX9+jUZmGKjil3m0Jfz/7rkPWybKcho4/go9+Xg9CnAkCPHB78kJMhFDmrKU
65Bgd8k6yY9JxhA8cYh9PNg6xQylgGDSRTAD1u0TcrEtJsuBDOm22GwL+4pVefBM+N/NSiQv40L/
6Lz8SKI+4zdWCQdVz0fBUyi3+FV/FtQmTIgNywmG2l5USvnzBoAq5GYu38l5poRCowq+DqFGd+x7
8P6SaE5CYSS0idEkXMjtu8iT/wPxlsUmG1L2x5vXAvLDqgYY1bq0UQENP3EycfZdU+vkySisdbZq
u7PDmfZa11UIR5v1/atB3CWkv2g4ycJzQWpZkDaqYfFckNkWbFTs4bkgtyzYrKzLc0Fh22GjaRP8
XCd/ni0gD/4Qrzb21EvItPSQXSx1BjQAY8q7I2HVkPU6c1vSDs9Yo/yb52FJ22HxHvk/tC3YqNjR
c0FlXbDDw9vJ6ZJdNlqIodqSUovOHvdILHvEiLdSCHmyKC0Es7lff/m5ipiCe7LQrvd3GJSuPWB7
QaUMtZQRLaTMq83uHgVIDK4QePzbyoq6fYrn3xIAzcvzpzRb3mbp4lt+ZEILKDc7yuCVfzfOM1WI
EoRzfDmJovfv5/VhiVYkX20nMebBeAeGr7agsq0pnz1R1iqlXkziTvgN8nnrZbMgAiahgs6hFjs8
jAzX9uoqC5JixlU3q1YlOx/qq9f78UwdD+Wki2sFfEu08EqLcsqaozOkdEAV6X2zwr7Zo2oawxXb
Uw5UVxsvIXu0IY+GuT4EeZi59db1l31us1UZFj0ukSolQzhTlPms+JJj2ERb0EPrXUqt8ozryQbG
ATue8CNI9c4O85w4XqQZOIC7n1/kcvWL3c9HfB+CFkVkQOGyg/95rbmPHv/KKFVOdp4JwoeUh1Uh
F2adX5p/Bzvn3+AtWuvcyI/43TuCbuRn0yn9P/97Q5ALNJ/6GDw9AYwMK7AvGYnXalFl1xI+Ns4Z
NrAITEp7Jyrucn+2bPDCMUSVaRdFkr63R+3b87k3ly3MrAsrIrvXuUDm25sv6EZ9uVH4Jvxs4SQm
cN875tYdN0OwaLUwsS8ser870s5c8jLmKrNNHsJBirbuz2GIOQe/Tuvp9DGCcPZq9ezoW4QJKqr7
HTZiY+oTBDsI54FUKm1HbTN+cHVnGzRuxjoJJhzU8edNnR+C8WW39Z+/XshBXDt1WP/7OkBxl2R5
McQ2yyTZzCsYYUnLNqNq6JNH2AsEE5S6y7SJtB+jtYTuGlhzC9B5ruKMUABAs0+MuE3AkfHXC5bj
GnuirzlO1RCfrIsIda+xTVtKiGMxbDC1WRF+hzkoQsXQOSgxbA7Ky0Npk4MioRw4j9LnDq15FISG
TmtQ1o092Uyeu3AHQMDywQWswGzoHL+PVPCg9jzdrhexs9WF6M1T1h3B0+IhzjxMFmh46SZqWnb1
7QbLaG/COhlDCEQ1p9He8stVGEX1nSyv1sGDpbBV2IckJE593ZOBQJwWiUCovwWtRSpY9regtWak
zzO0qk+m+lswtBoIuL8FrWUIIe1vQZsJxFSPO7RZlc0G1Fy8IC7vIerqXhy4lYtotQMTt2NzYUjb
y5ahHvvwFtEQe7mJgj/ch8ts0vabRB46wA7+s91oPbOAM7oUBgiCSaSvU9uNCFNtIlXRPE9X2yIO
ttkqyIss2UBxvla4m8g2R5CTGWtTAFq2JZZDK4L//tsvwVOyWv2sf/lLObLOPl6GdVYJcZZ9quwb
Ol2ke9bwu0vTI2jdMrJIAKjH445BZVKWFM/vl1l0H6TfjUX7qE3J/Sy3E93okKOWPi7bftVmOCy8
TaFu2dm0LKFED4EfjUkPv72HUPji1CB3LEGby07CqWuI4D7ASPHvebBJrLvWZwqZdEpJL0sGgNbv
XpdQfA307ih8fYbeO0Q8MRilLxlYdP7e6NWefgFPNM7+Dore2kBEiI91b1ntHuYEEY5+cBvgu5Jc
iyOPrpEu8Ju1JG/hUCxTWCTYRRdg2t8cBstoRp4/6x83roY8IkgbNam1yOLbP8tV61oR4D4Y8VCL
hwQ9+F5fxqpWwo5AS6hfUq7RpNmK1MEq0abOy+zQUi6k2RKaEUtC7MfP5kWUFc3Gz5Jmg78HenD3
kOoqeVc7agguhK1mNprHARNSU21lMOc+mAKld+/eazPzMcnzJF0vVonmhkMXQYvpdA3jOd4AqD6M
A7o1HsMN+QIvmg/7qbjlmJTff0mzW1ybh0GluYQEI9mOWw9Rana8aglkiZnwKQgY/rzXafAYL5PI
MqIk0Iqu3Saap4MFklJNgV6GWEH8uCmerSRTik9nG3APreeOfBpGxtpFOR3QwcB4chsJTIlvkG+N
p23dVthu3LpLEpezcvT9BNtpL1mRW65iohg0aSFGMZ4OnedZpL3v+CTj0DAcKJTeU57WHdlmmExJ
MwXEfkKMy2FTEJTJYTMCRKphg7utYgg+KYhmU+k7jJcTSYfNeTQbdN5lzqOf0h13zoNINnBGAE/J
xjKmolOG+aTgRrQWXftoBvp/XWaWays+AWP9SfB/BTiYvwBULJ4XK3twWmE/cXtNxqmLhhSHU7UG
XVvCPoU6Z9iivlAITbdsOnEiTa2vNrF2YYtdWb9+hAMFDsr3OIPA6sPzPEuWAAUIqPGP+S3U8/zl
J0wo40LeyE/HkUIY/uWTij+M7pRHVTbTZSsIU110nGVkmyM6hdM0GtcyhBXkoSA91MRZC+K4gQoi
0xEdmyxZFw41QsOJyvY7LQ4dYl1MSMtH2yxy7MOrTG5k9eSI0/lk6Y7FGFRA3GXRvauegxCpr+V0
jn4dPOh3PcSrpStwEPbY3ID69qvrZdzYik4zVCkoEWzYXhEi5dC9IuHAvSLhwHhll+6wtcH21rzw
0bxgtd+w7JKBG7WvUDwlyyP9GhtoZIeMI2zgXpw+j8saWAvVsL04pE+1oboCETyp3OusgpG8rpKK
c4xfOPKu2KsS+jJ/7wQtK2+PTomS3x25RTYI15FpeMYHjp4z2iXIhF09164QuiJ1WCGpnyuzYhKK
Mxm/LlsGy/CaaGnmEDYrWsOMegbDgSRaCiTBY5R/swd7Loen6T5MiJVC48VpfOoIsVfTc9cP7FtP
xnl4zQ9/rrgLe1VFD/38rqoudaGj3rVgfNsgah/iCTDIqboh7pM+HGcDDQrNMJ7CdhrVcyk0BbHp
tDGVmojgdCZQBZ2E6HTWBSg6hvT8VL0QKoStFkzIiJqMxHHxhiQdmJlB/GNjICbsI0jEbBLa+5I6
CzYFbdmsviI8M2OenxkEetCWVU4mP5gMWq9RUKFfy/dwtHP34eAxy4Za1RJo8y7s4ZDLoJPzrENa
g18e3fJtJtsJulTpjHLBT1RBIBlOTOK6qx8Qm4CePVX1ENLJKAvHCYT86ndwrvgA4Unc6NPZRYLp
BOTp29bxCBw2G1I98nG5cmJK8Ak8/PfrKynvJi/UbtCEmQ6wX/uugqMI7tJsj2oXZ5n+yQmMiymn
Zu759DSw0wnHV3AdmyajeKgfmF8B+S/J+JCwG7yqC9nXAWjFAY8U/RF1zTV9iiUtRpUYqPEfeyE7
WjhuFyuBsz4EZLHOspvR3urM9wCsl12B/W19GRhjC5Qpv0DZXbIq4iwP0nUFmJUHRRatc/0wjzYK
KSZ6LMX3JZFRGUuALwIwHDMs72jWNaUwPV1M8bmVxFN87BCJoQqNOR640JgMDEpPLxSFfrqu1APo
J6Mw9L918Q9C+Q9e8Uz7LJC1ou32Frzo9Xpj1CcrWCdLDz0dmXAyMKo/ZQNXEmM2cMcL7RImuGHH
S2+FUf1eMIzRJPV+b55tv48dhpN87N5wrPp9bDJJFyIUQ7RDRfPFMr5Bn+/uH5Kv+t+6HcakmuYl
m6YrI8NpciufpOILGZ2mbJimJEbTtDLoIJnGj58+/1VLYO0Mf/nPv/39H+W3FnkcEh8H/cfj6qEo
NlXc/TBIvl0VyQZq/81zxouH1AImyxkkItlgkQH+8b9+vuGfy/BA9cObRbrWf1r8to6fVsk6zmtY
kEAeIVVnGa8HV1aLSU0Pn4LBy2F8MWQgBrYX61R4yeM4w8JIDc+WMAFAMjKYoVRxYmktXcSWhNLR
z9BIu/OJMnhv4JxoEQKUvPSpZHcDrhfZM7SILZLcMX1eUkArkz1kBQ826xpow/0mjdmvernNatPv
ojyp9aUC8AC9mvt+KhOEsBpMMVaXrVSNF908zMTgfLObXyGuX24jjMaR23yYVjAn97w9Y2687YT7
qJCdmSN7fADrPBgY9OUzRfIsq++XdQhICiM+wlFF1u4Rm6q4PWqeucEBsXZrCDD0VN9WTXCXrGKA
Ps8t9ySYCcaugrAN9IFSqkfuq4StbXRPSMUlJf1Qi3BQspGuEhgIa+3YAVuHX9cBOKkf9qyMbUYt
G/l2YMTY4LvGF0707HzXyscftI9XfIrn35IiSLP7xpMVicfU8w7IzjnlwxsqjOqV8eCbpUwNztdU
Yjw8gQ2gARvhYKE22StyMNrCF5wuyI+/vHtXjtw81Ebp2gQ59d1+63pPCT3xeoDmTvQhMgKLMIi1
oRG8FKq1P5Ej7JhTWFiNwyP783dyCLxuQupmIGqRBnm8Xjo4BtMRwoIYKc0ylE2OgJf9BXHQXMlO
L8sLpfXea8ExAIxXaBxKu6nSCSGpUHwMjShlODLn2syvMSSwabeRYwiQGffJaJuStPz9fXIH/Yv3
etk8+V6N9T2FDMEBiUzQETQNGdEaGVtQUuVTN95oUKh1+OelxeOdnDCEMKgYYWFMMSDDyKGScx4s
UYZ4byQ0L+mvjAtrJxIjjXbhnHWofe61EQFf83QdPCXFQ2C6kUwoSG8ji6DN+Za/KXuUSK1HCbLN
CDEvdn3Q5n6aPe/BZQOKsBUMUYgZDdVIDNoo43VE4FrzFTR8JbYwoekmEkBDBB0uLWOFZsC3NVoo
Z0yObnSWaQ3KpXrbt93k+RdlYuW3j799+u3zb3+1uZk+E/JeGP0YTzl4iFdaakMXoGb+V+FjPFNU
/4c8+iJM2/D7aFukG31rNeMF0XaZpEGSB/BCsr63z9xSzC8xeGJ/RZTdx9ZonYLbJcQVmefAAW8M
2KgWeKt4fV883GJkq3NqBwkOIfaHKFsDrGAde4lzgvymRlhXyGKA/6mvQyXTat9n3nfZlH4gS83P
QNH6KjgM+YwS2n6V78kyTqseh9oqWGtz0OgNlhFndRBx6qC+cT0uF4oVu9I9u0pbopfKNoQ5KbPI
UcpLy6xQkfCi9fq/1W/7oSxH1IPlzjUcn3THJHR6MtwJo1MXo5NGuNainT3SrEjx5CLzVbT+5vh4
QvEVMeGBTe/rETS66qHAvV11+uqqU2OeiEazwiZI5T2ZFepeou5voHTeQCKvjq5DSt09+RmxFVI3
Go7hx+XyqMoeuBzJkWTJsGEo559E8xh6WavDIWh3OBQhZItNM1+tmK6L4C5axEGeLYKq39VaAIUI
1v4KO+kvn1QdT/HcrFaFBky84zFdxgBf9EX/4s2uzuG2eucv5Rs/pdt1YYnZQThY8g6EwteXGocA
zgHiLwHSh7RI10v7YFCGL5YXtfE+eax9Nc1upR0P1PAgACd9EYCcJoD2W/u2OW2xADb8mlSoodek
wgcMIlkvshgO8ZUkMYGwbXEXBvo6aoFbq+BBUE6PtAEqw+H3GQ5OW6YazcQSbtq+UBRuRp2khBEo
gsU8FOPosJaFHTT08RNcDR1agxXbPFhoSW++t49aJowT7UD4gEl5BH4xYajdDg/We9mfKdD7cPCC
JXqP6UxKNDnbxnZ3L5SL/jRkr1aHZgrG5UBr81drc1gbhwOt/doQh+JmRj3WLm8I2HbxMrjL0seg
rDSO7ooYUBhNNgoSUckuNGIv9Qy10UOH2Xs9Mq/37hNsdKydPG40o5tfaqGUxdGjtfsK6j3Fn8EP
saZd5EBHTWo1/EzxMY6aD7Th47BOMGuGbjnZDR97+N0K8As2jAfZMEPHAG96w0RMO7zkKpthVHVn
LMKY1qgosmS+LaxaiDPRMLklBq2IE6FPBEY73pBeO8i57V7ZZJbUHmECZoegznTwqztTN5YlpzNG
0Z9TAVLOeg60D1GtRHlIxj6/P0ANSrORZuLKqiaoUB5CqSxlMRDt3+Ln8ptAfxc8rPIginPtCNg9
eKL9A6k8F7yw7kC23le+3djLNDCWXBtkYT+R7sOY7qURb8hDX3iiV1IQwbH0zG+baQIwyX2Z5NF8
pT3Y79FqG5eFkybWs5s7UE4b0D6swXSyurBcafVJWNsk+H4e7wffp3uzjO+i7aoe0Zc+WQUvM4Kj
bldKbdeVYMAno3+O2hRJhGjLWhyhI0OMV4hKqp3/8JRpYrnyTWbfq0jTWYup5C7RfFwGh5bxKtaG
ePG4eQM68vZlrsMxhgeD9q52j3gyJdbgEeut0Rz9CQtSpAj7mJRhGZWBBFaEXzlbqqsy3Yaql+Gq
Zday88vYDCWsvQVgVfwC8tXYQ/HvEMCXqQGF3AF/l/fD1EzM9cl90w81f9YPubEWEArmF+DryOpw
GhtE0vEeKoJyzHVUxJaR9fxflViuSqwwxKJN3Un96pqrbaCS9k8Lb4o2yXv9wuW5QQxiV/yreqtx
9RZrBmY47pFy5ikrzCB00wp7qrwMVDchuA0ZToArgViqP8ceRckcU9NxdHikhzwxslD/EbHOt8aU
i3GetuFIQs1Yqu+yo5rRbJGqCiM5DqEuGYVIvXJIflAOEAcLfXgd7nw6/2pA2pKi7G3VxkDyqBX/
93vHWFAxIwoPEG13zyBsxCWcte7SqOjxKckWq+MCJTM45v/Zu7bexpEr/Vf00v20tOt+GcBoJBPM
viTIIpvs64CWaItpWdSQksfOIv996xSpG1mUSsWiZM8s0DMtqw0e1qlTp871O0RNOIkas7dM8LgN
dpdnwwt0KrZs9kvedMNGGj3ZrB3vjTDkVBfqFjt0LhtAdi/dfWeEx47DfeANU5jpD71hxPHSWEoW
W/+e7HQzxo2GSszfsJjs8mXUod8lR4NzA9NasRtWdxQ79mxnvboUYn5SDDVVv2GJkLswmkNtMIxu
sWHH/iNGp1SbJxpeLDwSRySYKfgLE6U/Eq+cvrbWnPyWL0F1KjMgUEjqM19WcGMU5dbJOVR2RVkl
8C6OJghprpNL4bqakOt022QBvtMqrSqHg8LBR0GaxbVCw4QORG3HeO6M8eChNv3JRAno86Ra5MaB
BBX/DHXe8EvnEyRSQAmfCr31nhZGNKBbzC/KoyEMH1K+5u1p16+Ur52vFBTwwUTc/H1DYj9a83FO
xv1rWt4/FYtZVlb3cnlfCTIleM7ZijO9mK6W/NVcBi9Tcw7Q8/L+7/enpLPldXOH30KZvvkGXBDO
0sMU0rrYTOcB57ybb8PkkgqmKptujIp5b2v3bSbYvMa0zGbZcp2ni+phXW6yTq0H1GXxm+/VBRE1
RcnnPiMMenHNBYpRaHa1mqerZnpyTdFVdI0klPddIk7hVoPGNNJSTvq6lJIw0JUB9hBml/XPD2Bi
UJZwAD2hVfCmGbWSVOv3RVbXyL1s1nUH+spOwquMqnFPuWGA2oH1YNyc3jfo1rMZI8rQRDgGb5+y
tdH05j1WZpFZ8ljM3p2Hj1I9YYzHWSak6jujbbDRI3xIzVAkTEsquY8Uye4yYfRSbqz1JF3kz8sE
JsLDFKamKmV/T7iH+2Cs5cSvzV/2scA+Ha4Co60XC7twe2Ubt6H+85RW6zaYUv49q+4ejYp/yV+y
v7+vsgf7ql8ea62/WPwBovD2009F+dDxK7A0xjuEdvHlr96gE8/z2SqHQhYo95kWq3c33IPxE/zm
u/QyyAYgLZmaNE4EQW+MuaxX4yMY9azjEiQJNtflGwQwHCQ5RZJ6Wm+DBPB0BBZxiBSyTyqJkuCR
2UfdcWvAY0Hyk3LNb6TwIK55CB36tEIX0o/vxvNYZ29rB0SKQuaKhAGXIkQ9nLKqrEHlaD+DGznk
KLWwMC7p+U+qzWNv8z8jkMMYV0rdJxtp80GPwHVXCxM3nCef9RggOlxgSvPuW1mZOaKuxk7Cxkwb
4xSA6dhemZpQHryqOIAXXob3BWvd4p5/g81ew2anq5Xx+62FfA9MgFGiAN3z8L9fCIEvzF8/QLzl
P8wHW1MLXzDy705bz0R4dVlFe9vX5ewuXeVfyB/931tr/e/useOMjCBSx0nYugNMAeLCkCNe/bIx
jhSGPp1l5/FEMziQY3sxZ29zv/EhH9IYklGUPazgb9sQoPlniG5mu6Cgu0dA6onfgF7ZO6C3Homb
wElI8yUUu+drs4lP7jEvwujTALmvG1mPoccTwp9W1d3L6rjyR9hSLYxGJmJ4Z1x3mI2BB7DvcOhr
LyN7xg5zPKGKhS6z7kBu4BHsD43kWDD/9TxbJlWWfTcncvq9Dm8Y47FYZ/b9ymLhPocYZmiIGPK0
Ssuqb4QA58hzRrwcgI5PhYpE4TQ6vhbR93CzzheOLm9jWcC4ERpXYLc71SOmGJMJDQlrOGj2oZEk
A7VYG1mnRaKZZi8jbdSKWeHoKBUYjkEUxAUZJTHO0A7ttCcEiKlZFIsrDQc026OqAQQJS0auSjCW
6HnTU9dlKJXiyuvjV6XHyJXlheLr0hPXpcfoleWF8ivLJ7ry+dNX3r8rywu+sj67tnxqeeX1Rb3a
ey5239yAiAGJwFSQqezDRCcLlaYxbb0eu9Xwxm8EqnS3z1tb9WSEGSs1YUrFEAfroNUU+ytatCeW
7QX71Kbbx0s+8UNKGeIC+A2p7NmtJyNuNU5Rg6pZL4ohtj0FrhSB9B1l17+Bb0mV/8stHgjmF2kV
vqg912AdB3tlCy+OQ901ZCdGEsfkYgMasSySJlKaQETVKZ6gs2gsXfxmmdonjXJCeZxbrSmK7sRE
CSMTQsRIW9fhp3MrKSE6/AXqIokt+Mcqn64hmghs7ZmOoaChdQhX7bTU5CldLCDm5B7IAnPJRCSD
65hcb/SCT0gkk/KE6kJ69OiFJjGkcSsIW8Fohho5EAXtQWMxaEJSoE4FEDhs39ptbNJca0bo1Ri0
qIsWIXwMWsxJi6MxaHEXLSxHoSWctMSg4osTZdPbc5Ecn/B9sXSxXBrTsmvICjKKuErntiI9Bi3l
ZPUQM7aflnbTirwubGl12vEbYnFiC7MiqyzWlR0h025ipeZ240FJ5oN6m9Uihwlwbwl0E6zzzDGW
iCgN2MUTQeggB2eZvubP6RoSSOmv6Xvy6xwKw5tygDW0WVhQzlVZPJeQ/nAZthrKjOMY7Je+Ts9F
TKlhkApBM/NurSNIhKz5aJ/3FdXWUDv4N+PTLmdZ2ZPTkhzGqwVd0dNjurNsBYSWjnwTNx4gH5TU
6gsLdJUpY0QF50vWpVHY9f+TX7PH1/X6GE7Nmc/Qioct73IwZj/tLUavHVd8mLh2MFrqgWnmLWrK
1NX4TBHBXp6FCpnB95g9FWV/dZxRkhPqldz3oG7nIFebxxejm08OP7Q4317ViSpkZv03x9B6gkZY
JDm9SACMDFikT+1Zbw0zRdemSLyKoVT8U4O8kMmcS31JzRW56+8zHt2pRSJEYHZWKK2DdgIbujTU
bLzIMVkOIh38GnSE1lchIwJWc2ltEvLKqKjhKOTaqybizGrmi2o/QACMtJ9zY1283b3QTdvZIBRW
J8XILGwqrxgOFomX7MVoyUZnrMqNLbaabcA2Mwx+TRf5rG6Gc6E2EmOIahqZsXC+0d26vYtSc0Et
8ljAZXDZhB3JhylFL8v3ZBUnkQomiEbm7LR8X63RnfnYKX6c+NXuqRNznJqRo4lj+mcdBm8aDaZl
Ws2dYW9JPJuflM90o23nt/PFeodEAAAfodFeomdQ2AM/mgIHJAQmYxM9HkwGJLAmwXoRRMvOhJka
mlX+aLz6d2O7g0f0mFWJ9RzcdzI1xhUPVRuXOSchav+QqUtjhseQbBH2KtEqm3GQNXv6YPXypvdw
EWP8+U2yaO98/pLZ/9kcT1It86cnNwEcqDfzanrPEE62uOT5a7bNK3VgOvFEyonkl925FyHsX4L0
gYN8QPfWQvTv52Wx/tkd/aMTyugQKT4wQLff9ZxfIZGcCEoDtzLdQNn2umlV2Rei4Pa/VDZxWOx/
Y1oWVZUUZf6cL90V18acpMY4PoXkcNkrHeRQze/UBeeHVR/ftj+0BuMyOxjX6FM6xCJqN0pTV3u0
VApPVJDShqN7kDQzlo+N8kCz5anM7T55zBi6UHcOQD7m5jHYM+rsWukvm2INXvA8LQ1HHZ6VefZE
hgQ07OPNtbOcpeUMsN6NbtgG6+upFHuzc8/h1QLcZWjmgZCv+SZbVj3mPAfXPEirhXPa3NJksEzZ
hbfXDKy/fyoKB+SFcSNUiIl3+SWhza1b6wnQcv+osvKG6qKeo829wsKD3mjbNthW6dqy/ab86A6b
FlJe9Sy6T57td4i8L+TsXVeB1XrqqiPQE0duJy+chBoAf/zrX5Li1Viixkc4UbZGOSAI6NsKZXcg
uOB8PK3Y1YaXav3Ie8yjC/5Qi4qRmBYVSzAi7M14+A7TijKFjTdxa8XYndEu2Q0PviChErkncaQC
SLfIAKomsNQyLiHaQ0jgODYfXC9V535p7E1fQw95FvJ5a5gDe7fP6DKKlqPIEkUvueLqN91lVw/w
LN1hEzWESxdsmhv2jUwIlxEuv644AugvUoqNtP/dfRfBxnb/vp/SbfUrbcrF0R6fVfua05HTNVQi
qG1BobrtT3/9y4+1u/HnOt9rozhO6YXwCUN0ROmta7DP1rIzGmra9smag3DXuwRgPCzEmMe3jmAY
ZQtKN1/aXFk/H6g02iS+Veek7zyFQTddAxP4z1X2DM3tcJJ661GEMV2pDBW5zWqVlVOoddzFeZ0G
e137PpiPLnJdtmEpPcExL9Fe7KJby+gxd2cbUhNGUPR387YauwqUkojZfEd6llNoA2o57NEM5rCl
11EVIti13qrHaCbGV/cbYNOmDqXhcLbvtzqkhhoCDKWk1oOLYuk8jJLJ0AYA70pUrCgPEKv2TM7p
PJt+P1Th21BNNnMWh1LMR4VQOizunKYr2POqqe/c/2y3xmJALZ7uzL/ssZVA938hP8F3W3AlSvbo
SribDbW1UDykFMqrDtVdhYo9+6BUAFrcN9zFi/Pr9G1R21ZlF8t2de8urbqr7zUcbN96UM/mORHO
e5nJS7Yu86nTMSHaKH4iQqO4//0///mTMZ12k8H6bnMlYGAVHuwcu+hlpQOcjRNI9QxCcY1UTIyl
Dli3BfTelZtauxEUwKq/OpEIqkF4Qq/waT4jySp/y9wGAkOaezYKXHAlOO8BGG7mZSbpPkKtZkT4
rt41Y+WX5h0e0Nf85Rk/kDeSPJdZtrQDeMxX5KGv8ZRhwPj3GkulL234wc5GJq9QuXaLTacouvar
oS7PMiJbwlj1H83PMO3CGIUPkHL74b6+6eZFtf5BIYRckzzMpWCUWf60DfXD4+x38LTsa/2tfdwX
+gdzq5g/u2WYb+CxX+3tlS6ycp08pRZRawv4uLuP7tNqmuedBAvmXhUfLbZAq69hRFLNi81itu9I
uu/M1TNag6iT2Xh9dtbJaQ45s9JYe4Vnfm+7LRj+f650uOI3SPD3xhXqBejwu+OKCpCVvUHgNgWI
xlC/dfmDD4zjdGk8zxJwafOpO5dqvEHOx9X1hONBiziO1EKJbNf9kxyrCVYiEqFqYytkzZPdkVqp
bD1Z+J67pyIoxmEtSAY++eA8AI0GssExQEZBB7sXvMFZ2bJ1tNXZGjwmgKSKtD918a5VH81rnK0B
RADRH1xnelCeny6fk6YJH5J1jrCObcZFAbJ4IID1eBcXPkV9rKjn+Bvt3YhzoruCxKXU2/LjV8Xv
L/nuUnbj/8c9YF1PhghzjGVcKl3kFcyocX/FJYa08zQ9wxABc+kuZodHynmKkYCTHGldT+Z2vVuv
n7puoIKAHo+onp4fv7uRAliY0HlqpR6ymFPmOS/Ed4Fn6sIYxPUwHW2hZ8hro0XowA0NlVcSk8/u
wYTGiEJ8LN46BYgq3yyXdmYHoab7MDkImFzpYjV3xooEhiSejMHF56IPHYty3ckThXOxWM+zcmWW
6uYenTCmYqxnC5DYFy9kGLoCUSSFWW1WAMWepK0rB0wCQjFMraYyphza+pDFN/v5H3/788Nptmox
oVgrFXm1j65QoYAOBz1orXY2gG3bKbOnrCwzdwOUDUnG4mqX5tbG69qRXKuJRvgalL91Try5n0Ls
S780ELozl5/ZPq4polIIybljkBCRw7d3XdQpr/45WeABYxIj4LyPNbsizZoEEDEnsEqfgUzt38wK
C6VQf501KJWzvFql6+ncDRlhXFVN1RBfxKNVH+OQtXX7ntPNLC86HamOZn3OoFgo5ALcA00VywQ4
dvfmrFnhyHNAlx6Ip9CKI5ysQtBXKalu6iMU4zF1z9FRdGMgEWHci5aVGo0fkQsQGyZJEuDnt6E9
psUL1FNYYFQbDXXUnCuBxUSF5GVC4CmowleSyp7aGKUBqyI0whYkAufLTRVDcfTcY756LFZnAEnM
VhiniQ1J0VrTfpE2nd9w4pqb0FE3hwhSE95yhrfs2Ix/As8fNt3qwbyRquw2pElxTa71nBgNzdfo
5qdWhHg7lyGjbmX5qzF75g9O1Mbt3d4Dx8ig1FoKGvU096HgUOOVEZjMMoq10uAjh9QxnCpmOlXQ
a1SFUU3tMrErqgqvy9rRN8rlR9Af3d5BLslNbzrSuen8xnuOfIpPwdPjNqbaLXSdlCi6TwcuurNg
S/IJaSE+3fB2dpyuYRmvOCLjhJCvY34TzBQL9/PrIsX0NW2GQtRgjeZ+eU/e5mXlnhdq7PaWxX4r
00CGuOiBu7OFKp+Zd+9DK2cfQxd3e2g14bfXKwTFCEj9KyuLZJEtn9dz99wGjWOT6YSHuiPiPpqd
0L2OJWNXPyu9B8UPXm88RU87toEw0nlBynl/3x0EPFw3nyGY5a/uFjKNPKuudf8A0x1asw2Au6P9
WDLkORSv955o+D1Pq/l2dP30fdoz1grCzwINirOtLDj9el3mj5t1ts1MTYvie56503kEZveOHrba
Tm4RA9ye4umpHqhu67HcyTzMgFQAC4t1/tScjqpGV0sWFhsvK08AAwIUIpYxd+ygxRF6h+x8hS46
IhdqojiKEsnvr/WhaHQ74XhPz2tALgYcx2Po6Vm2yMweZFUCWO0Qld7vSs8sQh2W/euH6nV27oBQ
IXVlzvda0ce/158801TCJJwoxgpklZPnot6VYtkLDw5NG0p8TE71hpvAYeU6QIynVXXo3cxTczO7
CjoFzN+ggyoOf9mYh2OEnC63ZshzXs3HE1BEP8zBOuWeak4+qFR3kT6ZMDIRUge4U8s2RbEApZgX
pbny/tWrg5mknjMzzuqYfS9x6wzVNbV6QtWANS0Nr7PZz4/p7Ofi8Z/mKqtcqA4UhkWS2FS+1Z+7
zlfImQ0jxdCAPaoVfvJaJfmLtdbX4A88ma2bd9FwGKKMGS4KPoDiavaUgOmRN/B/02bQWtUzecOY
ARGSfzX+deOAJHWH+9YdqR0v+/nhhMdS96lYuIWXFfsKQfoH+9j7djbXIhQqqJTQjEYrFXS7FMxz
RONlxdvfMEdCS0GZlow4Srl5CJDuRVAGkpO4ZVANsqEDKsNzWuLltLr3DYEJaSoysT7tuh2ARvRo
BLsrpDyMYNsiIsgFrgx3hRwQTd4OIDWXr8UNn6bOThJJNXwQKo6J3RCtoVo6i8JUQuwjslRAwZ+r
3IABvVjtHjYpetdBlyAEGsOG4ELeABSE6bOgIEiFtMi7i2xfn+/euvE2xSdCxNXnb45gmwJTMqoM
kI4MmJWERIfCZJqFBClXWQljztLlNDv8vA9brPMXiBhZM30GMzjLPOuxU2CKoFDjOoJB9bIXESAi
ZotRF7iEcZBvNN5WNXuUWASTx0VfGYWMystv6E4jrYyhKiQMYxVK9eyfB3uNnzJk5U4r0dzJ1Aex
sU27f72ECgrjHbD5dSGFJu4F+yiANtFABeCTugvlbb40njL49nZknyuOyKhfu8nwN1gWe7xSZ8eX
51Amf7bDy6zMdZolO8Slg+jqbvJZBmO68tIoSuNUvrtbOpj2G1d7iUw02rnXvIeKMzrezrzNy6Qy
HxaZPYLOhWvJ/UZcd15isXk2a7+flhkw+FU1y0y2cQG3z8z8gpJ91A7zhW66zRgnZ8pQgdMhhqy1
2IYWG3InslCEK9tfeSIv6rPKSyhipP0mQ/QRfs7WNjdez6zd1BGYmfENyuLdeMX2t5yVSHa8dsDp
OTff9czwXCq030iu85y2qb/3ZNYHkghggnRI4fXuU1206YgDmq3DgL8q5WVllO3FjZTqb4YatMAH
x325/uolKuVwOd8RrnffKWK2kxLpOLK9KwU4OZ2ZAm44FrcSAq8amW6ZFBf4ciZFlFXZKUuhIaqh
Pyl/NCrPhkJbIRObM2B8wmiAvXUYWy2L5xLGMb5mp+OrigyxnCH1ba5QWGVn8FGDySbQEAJHOwUo
PbBLOxSnXtgl89Vs8/Ly3pEwxgJep/0ouzYYKC3ER1qbV57pIhVDTqsY7pe99WYnDzhrdUXSUT47
W/9Yf+mIv9uhLoh8qG2TMUUSqw+1tgtt5XqMnBs9KzWq7L+6imZb0ahVRC6iGx3s3TPs5/1TvtCf
4Dlf6J/Mk74QYZ5lPtunEQ7P4/BEfvhM+L5+Ku/dHfSxhCXE/O/bQqzR72ILCf1IW0hCTqHzuNdZ
7JX7vDOowCEM04jyoqIaeg4AOeODFy8J8NUd2UBC+aEp+bokbmwqbY6GjuHubsnU9nYdRDucMk4R
/rpOS/NWDzYI8JIluJVSbSZRDgmotLJqDiJbIH80PKrh5igNc+4Onm0e3QQPrIwsV6tdyGRdZumL
MyqLqN/MhY6/5Gg2zZbPi7ya39cgGTbB6GwelzAxlQ/ROEf10acKhwkc8ZDY5plmWtxtphWcUAAp
oCJCFoEoVwZKEUVhjqYcQmFbntPF+8BipAcjOejB164f5CzkfU9kfqlLLBWl4x27NJ22t0FqSC0w
FmllJ2Es/WYenFvcVSvSQFAZCzm8rtBqHZVxKVy4OjEeZG8doh4lafW+nDp6MjT3g8m6+Dw3hXus
1Whyw+CwdPgkfMSltwcj3Sr0LMjnO2Rb6dFSXPlK8Gj9Nc5ALBjoo4k/CYYQWLdaGGMOhZxUU/FB
70dH1wicMAot6yFxS18MLjcIuTBnL4hqt52uSowvNcut45G6U9LKdzjgR9uZoBDurV8ac/IJzwBG
n/ClWUjGsrCzkyCq//2+Lm1IKqNOH4u3bJbUMy4Of8dddgFvwPBn3OdPqKCp1p/wpQWPYhqfGBkg
gv0u8LbMf0mNBWorqytopq+/6JtlxkJK/A5K4w9P3uEP9Urnabl0erJEawrptc8nA5ypWO6RGxQW
h8VpHVaEs5RNoLAQ7K35TuRnvM0EiXa68iXgK/QX7tleO/YJtaoalqNzXf7gThXL7vlSUDn+Kf0Z
9BmvS/IJ9Tumn9EE1AF6pgHIbF44K8uiTGabErJ8u6LwPnwPBsBCIVESF7BQz8x34Yfw8/EuKj70
+j78yezFLxtrMWTlS15V8JUFDqrbrp12HWB9DLPrRsCj0Vh8gPQzRnpk+42oTyS0O5QVykhsv7uG
QfB2v0N7S2pdcjBU2f4MEyjLYuFwPShXyA+b6GYtNsPDiGc0iFNrAFs0jW2K2e2HgOZp65XA5BIW
tUDFHx6MxioyOPS9XdUFwqwSMzWgAsYyuNys4GSdKNmARmTKyf+xd229jeNY+q/4pfPUqhLv1ABB
obd7GhhgsTvADLD7Fsi2HKvLt7LsXP798pCS7VikLFGUkgoWKHTHKlco3s71O98JCi24zbqPfYTI
mbNuo4XVotRs0Sp9zfYO4i+ifqFfUYtnKZoh5fPC751HvOh5Uz0rSQUsQwXevWaWdRTLpMfWXagc
1yY6lA8CvolEhJR3dvGCWLtmcy3mWE0OMovFLp1dTLf6ko2qCmB4PkEMa1rKXZZgwmvSM/hQbz8K
H51xvIQxrG4jYoFH2mfQwsyivAWFfRQD7eNmu9G1K8YHMt+7RlIyOmGYD/UCRiadH9Rex9H0Gkrz
x3qnNqsk0ATOX7u6zraYeGMGB3UKImC7YWMgekkCzSx8RFArM3ueF8bS1miUlkY3gih8/NEODme0
rz4oTV47E6bGQycDO6NWE5sx6Hw1mudh9zBQ4mfH+OghCRBXTgPLAQstvpB9j0yx3D7bqa0JAMrR
GDKCxUxdSipCCwl3hA0PcQ/M0808WmxXBmpU1cyCbIJOHfCFncO2RzHhfrb92w19Vr6KGhz2FWiL
Z6vcLgVlog/qwEWiHQG1t67CaYlPawsYpepvrl7C4A6R4GOVqgnGe57g8gP8rNZ2bfp1LgDWp35y
S1jgPfSzD6/1RzXT1qcI1Zr/ebm/z8v8kAGdur1VMIR2fTACJYcdnNT0Ve3bg2EOfVBjfn8o//JB
92Z50BjEp8yOO+Oc+sVp3L7iecYOH5FwBg2SQ8FJjQQGPGz6CNmHEzldJ25QgmjchbakR1YXST7M
euuSOB3zuNbbnliXuk9XPrHRdhKIGMkkxCK2yPr68Eu1XcPjxrWKXsDB3sNKgYYf9eXlpTZwEsgJ
7Tyw8PHh6gV2luhqVBydXEJSTpjsFfI0LqoxH+z6LEnUVUHhtWmh2ZLcipRKKLUPFBS8nGaDsNMF
f1IMN6ZDwXBlM/jo7uoAaWLkyFQ5mnjDXnlh9h3lVAYT6PVGf2XvGNSr0YOGupdB8N3qmzYZ7oE+
1cY0gRPSN3NYOuv/NM/+E9CDsxSy3AdIpWwKZfVFU+X3Zsp5qDAD9gyvEACkJP1v5I/j9mCSiPnm
CNGV7bPh+ToR8FdHyUEyhrBfMq06Umeru8Jk6OGz9dTuzQkk2nVCuR7wmlkZmL0PrtBJLJThw+UI
hgEKJAbMRpa72mo/I2S9tpL6yWFTTwV1cNpdm0NpUnW5bG2SJPdj8KnTVk/zx4f1D1vXE+gL9n6r
6xDCoOh8iC+rG/Py8tYw0J43gq4RbFhhm9A+ZZkXwIXqmbZ2tCx8Slf36rfe5etHdP+4BwGo5PBL
yeMKj/F9+V7wgVx+oPf2PrBEIAmEy4wT9F6HANthS4lyLel45fDKhXu/BXDcAkyVr5sMe2IJ8gp2
KcEFVZi77SqfvVaKUkf0LuPeX98kXyDvov/j4jX2Coc3K0l7F2BQKXQMj5YlYZhbu3KawsCdXOm3
+3kRzGyCZWIyYSIezsCyl1YS5NdGpkvHEhaPIw/tx5P4EQt5DO8CYkBNPhnYL2E99Ptml+7yc7pr
maXzzN4/msRA+yhwfyF34SR3kGsMrGTKgxZy6ZMMXc5Xho/I0dJT3ZNxpJyQIQmNsAUvo5xyGqNA
ksYuNbEOsIwjNfEQ0qUMfFo9FgY6QSQDDuqSJABhZT2Ih83/3zSNd6o+EnMKtfeDyi2U4MGWEdvb
GyfBItb2QV3mJ1BDkmTg1WSDTcxKzcAoxP/pgIO6VhMBvAYPq1P7ELNpkh4dtMztvVYkQ35w9Gsp
fCwcnEM4VuICMR4y6KsHaxSOVCbtml97D9oQakbxsPdLyMHmhZ38gDQZcNCGxaQDL2arOCRqPPyF
4YqvntpdHMOC5oHPqFtV8+N6ZwqUaqQ+YkKUgYh6TOl6q64m15DdocBv0KZ13fXY1QwPy3w/1z01
XyNDiq0Ng92htMasg2IO8JfhJ9x038MM7z6icfffXycVVz+dacXr1IMCqUOKQgxUbp0pynnVwc4f
x2z/ujhutGtzb3J25avU3NQJR6zRZEe3vI5b56gJjqHdZEa6vIDXUreqEXKdmao1gprdEcLI1plI
cJJjj+sYGozazle4fT9qs3bCiVq24bk9pOGZrPuukd/Ktu18XtnR/YZwBaMki1umEm+/fplUdF8o
JnC7xoudB3NVu3Jlr8jB90bicaZUOgGtwFr+97j8gt1+58Dh0W9F19unzC0liIDcYCAl/mYwGwK7
bS1ct6Eid+UrhKHa+VghZsd9jkqLkb6dKCy19q4JRJkMvn9U3wWBemrnvvYJlb2oF6zoG2oB31Am
KaHjLGqidPT7LmoSD62xydDnRhl9f263Zoo1aww6Pgx7MbXVWZu2EPiddxZ7zNsHzv7g5L1mrZuu
OnyLp7zIp6vsofxsx04loiVjK7qRlDrs89nBIy0FECaCuux2j3QHxf1n2h5j8MVZ4CkoglaB3V+m
O2QNiXjAOd8A7HJIIcte3FXa1ASQWnFIV6tzXcSXL1/Nn0VaHKoWfBdHIZ8Z0NE6X2f/htIJ/ZVf
8J/wUP+u3w73lMSxNJ/+3O7vUR33hoCdR72nj/Xlf1BRwgNfyX6YGEieoeQdXqnpCsmWscme73Tr
iCe0ZQ/2q/costlxr5TTSV1GxXN+mC11FeI+fwJmnul++1w4KhIlUCti2WPgizJpHdJebPcXEcRN
u7fgQF4UB3mLypN88yLONBYBWzPIuHZIIsJKXahhPDwTZ38LoFpS3q0dLU1gNT0OtC/nj6RiII/S
npFBiIE+Srx0cAsmMvMCN6kDb3LCERHj/rsQoKwPGqwQ4ZMYsSF5w5/yXqxMnI4UW8DcR5kOsp1V
NxTmE+m9nvnNg+6O7iCSTJiP79qDyskn0hL02htCwqvOTEoWaPzlX7vHO0NPAr9O/duaLUiULagu
JMNkcJ3Trix/DBHZ1PmlHaXosIeY+Mitj3KqTozEPv63d3mB4GEGW+yzzWx5S9IrP1d5oPyn3yTM
fNB8vfscMUFDRP3PfBzYUUHHWmJWPvhVEjEKerrhKtU6A2owKSNyQn5mnXZu1II+wSTi5OefBJLs
M+xEqExeXXS5oBNgB3yCQxxLNNjS2aiXOItHHY8yD6/nQoXOlunmERbexBiWufLC9rPlK4Sqts4q
JsphdT+BeMDBctUtt4vSccdD5BNsEv7/Reuu+ILhTD7oyf4EDhDy8g96LBrxycCfAi3TbLF9A1MD
jjzThbfsiGwtGYAWJeMqYUrkJ7jAWPwMi9ahjNadd+QiAYc5GRwy0fAKCWvbkC+k9SY/gxDD4y5a
/An8Eq/4XR/JL0WQEPulxNfX6Ntxv7qHW/W3r4aEYbktDn+TcRzb/rkuQ5xvN3bCNN6ybULIZfkM
Pq4Y9wIySsa98MmnUOfUN4pq+lztVulrpNRblq6j2fK4+Z4pM8xeCodiAjy64+4S8XEARsUgKKGb
dMFEdpVfKMbKDUJjABBj7J1xspGO2GcDFVs+5R4eeEpJQmZkHPkYz+qVstIu3R9yOGbq2t2qf00Q
naAkCepqFdn+SZm5ja4WwH7jgewKZ6AYiLAGCk9b5Uw7xvleNV1e8fYmV+gW3JHQllRtNzL/eyX+
tuuo7G5WHtA6DVaCAH9LeyXaLvcokA1IlPxU1gUeFRXsVZLY7HXe2G0miS6w7lKLcVsEfVOK8Jjd
Ky8eK6HNEimwRSpJTkKWD6rlTQ+pEuvbzbf4C5GEEC4R4wlWEl3WWsT44Z1Pd9fc2MigxjTRqn1T
oWEgRqNCyyUb8/ImkrKAMvDNirrEPPzpgwxWXnu02j5uj4eLHy3gQorQhPE+I001+Tl0Xm3UlgRg
NDxMvGeRfi9X8Uu9jQRGLYkUOy/dt2M+vwfgJMAl31TywSBMovFwzy3bCqPGWkhTtlU/EwgngOCL
MRN0ZEgtEuG05Gw7z+6VEXNnVZeYdVSWJguCehys//0TZMx/70wnnJeKhNR8Np3loDzIamqqpfEB
uzo0mfWCJqxl9+ZwgNqrUoHT3Rr0upqzxoAHLmxx/yFfO7vqMqKpHTsbIRdHs2aOgL/i4CAhyk/w
Ctye6j9LVtOH0wtYS+wpVDBdmdID7uKdef4m4gPSFyFApPNQxo7T1jF1bbhbpWetw/0+s3jmlAOL
E/0QS4lJIBqX+qo22Ds+RTUO2Xp+A6eUrVt60I2QCB9svF9vX9Iroz4/rtevlrbryvpBov8vfqn7
UUDAgIa13yri/7Y8VIao7aKnnDoLSg5n650hXoRDDz/o+hYjNOtitDikh+wOPKv7k3lwrbDkhHAc
919WS88IZcz1q71se9/T4lAcsl2tKkQAnW0vw2b6CpF5CBDPtvvCVBgVugIyezlkmwJqIJQRZo97
6gbi/db2t2W2/vK8XSxq3boFNFzrFymvyqLs3epQuwambkP8xzHdZ2XfCYsdDu07WJhUYmpE4Jen
Q60OFYoaiU9y3LeEA6GYhjWGstlya66ytV2uOuI+JSq9jTDSDzfVQo941U979IYnvbRKG+OnI7Nb
aOF/Hrsm/AUXg/l9JgDloJ1XN0Um414UifuognSqlM9/rNLN99Mz3StBKQJle+Wpvd0fw+Ai9Tbf
HT0ulM3OaC/Ydssu0xRB4osmIRMmLuoAPiFhB7JlZrBEA9jkm92yCru+LLb1wrFIaT5GvPMzOoZz
yp4/Zrawp4RKZuwD+bvZo/tGOkJg5gfQPC1ruXRvwHal256ZNnPF4XWVFcsss0diJYgVH7xyTbjA
ShtSiMM2esr2+eL1CkfwUNsNa00y8iJysN5Qd8twI+A4pNrlQCLuEbIKs2W+mu+zjVvgIa6pQH30
XbszbnJ7CPG4JwLDIG3yRXWiYXf1s9/hPe7MUx1d/YX89gv+U/05OVHqiYxlfKcV8Iv5qjqeGLyg
O71im4OmNYKl+woPzW9W81J/k6erotZvAMQr/3hTQv2m1DEF26N9PEfBXSFg+OhXMnLY7qKGlgJI
aSE1Ag9zZS96EpsxDek4fCGawjei6vo6rAml5cOqJmWkbvJieX/YH7MaaZWYSELHP/Cn+ekDH4e9
w6JfkajjFJYOOWXxx1uuXvKBIEz6JcWK7NDoF9WV9IN2ECxtiQX/ZApF+CC4fFwDqq3aMHjr4jjV
wquh6yti0MKpL2qxon63WrJMWbJJ2Ak5NIDgPWupml1wdTpeq4bm5m+USW3aQj85YCgs9i3FuNAE
WvWU5rxagXOqzeKwQCTQp9i5wV/ZZ2nZpsFeoYP96Py9vQTXctg9BkrJME6UjmPf9KIotFfCJOiO
bLabKHvJC5BjJTrjr93jdetlaGTLxnFgVuptlOy1pn4Fh8Cd7OfCdLgB0L0job2K4N2uoV5YjCHL
E8SQtXPUSJ3ijcdQ5q6FdSl2r1Y+nbOvIGhtmVeprjMwFoY3LQzLOwKb7F19vESid53doBYqStjH
3rt+IQeJ8Ifeu16zU461+Lx7h0kgnoSzxe3m8EETHsvPK8MoGyQS8UFkGCWIhWjCdtGArK7oIjBb
A3WtO7lMVluDIGXMJHSkuCKXAegfdclVCQuqU+SrP+YflPv7tQCrZ5Z9eU6fDGOtxk1/hY/lV5T5
unk8LO832ztoPqeTvK9X7gREL6kQ/nVqZdnYbJUpf2oe6dYYkGc2cJhUveFKPZ6+Rn/ZMwEEkKEc
jSGkql7xZFhH2hA3ryq6Euu0lSjxAzR/kEODcCyFrp8PBJjW4Iin7dwKjCdQgurDF+IRpyLAy4FY
HG5adQwQjjGH7uJeXZZuBTQuPfrFfruOnBwkSSx6BrDODp+1PzYmnPph20J6VlgK+b5vgCTl773R
NFQN10nGkqbQay/AUPsAjcE8NYRpCJLMD8bRO0zFdS5mwHANmTCGw9pS1mss1W8grfGKba0oE/4M
eMqhcSlmg+p26+rEcuLVEKP75TIGjFeo6nqkEv13Yr9QguvbcZP/OGb/mN+jO+2E6Du3366ULRAV
6kvZr+oH/Q9/LdvK/Lo+6sRZyYqhPqcvkboP93ENiTxhmHI28IvjQV6ceFXlhbSPcTLe8fLCMnQ3
tEhi6olwd0r2K2IcXcupq4mr7pZ1LYw1wQhPRqmxabAE4jgZ1uSzJipjUIE+uVBY6MuVjUyrFjta
F0lIC4YxJ6nDnIz9mlMHSDl5tXHsknrBIrQTTBsidZjJwTRl/rhRMrd0hrNDGh3SR8goT7dzqwYV
kis5i8czGFebGyYjtMqTge2durXCcFiT3H5rwHrzqvR9f5OBxl6s3+9vMqgX58lImuZ8xU7noOGu
oYRMKMbB+0hD/NoCl+J+rm93sVbaLigew3Zhpk5YeAQSS4DF5cTW6Wr1sP5hq430K5L1XT2Ke0gJ
dXKLHEKRJ4I8K6hGXY6+BqbNBLrZw5ZNkMT+23Uy45WhZaAFxS5StsPMCh0SXA3HAhQYVDLIjHmx
tJbA5USMrdKVFwNW08Xam/JyK1yIYbUkcrQlKV1ln6BXCHwSYu8n/btsi7oUfsjCTpZtLzaF4w60
rZu3BSPAYTI0Uqov6RN9KQHGmvnLXjTLwFfjAe7JLtsrQf+GLh+CbpAhhwnfX7/MJbnb3X4zv6dC
KmeVUq7cR47Ym7sFb4UkY+Mgh5XkQF7dgSyK8M1pssBMIVpP+LvLUVewMaFIuyYjuErWu4aFgOxV
APa5huNX79Smq4CDbP9GP0mnq+zEVmJjAKMQruw/y1Pje3PCq3sPF1FzPJeczlGl1DS5c9Vfuvp6
xd11ehtDddljRQ2CmNNA4PXrO/WtYkYGug3LBVNegfjka8sSMpK44twPnBfeyHDJLKzhrRSTsW5w
afv16k7dZHWY3x9MJHW7PRInA0n/53wzV579duco/UvAiRJ0pHMtfEY6lzesgIQl3c/PP2m8eJTO
Zq5yHioJJFVHPqVi4FNK0ajGjHVlhca3B2R2b6JRQT4lDA0jba1E8oj4TSmQ/LXbSWzCGRkO3ZZv
tLttde9J7Ifis3tGUaWn7fPUiPvBbNDGwQnx6w8SaGzGQsTDLZaRJXSCRjjd1ZGysxGiBPUiCjGI
xn+Vn/9paLb/J5v+VhTZerp6NXERx2IroYVbmRDYIZwNKNNKBQ0pGcG6/+6WF/WEQFUaaJ4BI912
s1CTt1dyUqlOVp+Jnre35DR0wcKAxqDPrG9vaEXGDTGvC0oDt7lOE9GyFwK2oD0v9IX5rGvS6qSU
EkBorXITN0apcLwaV7p9fKotsZBwcXArMXFjLMNaam+kggDTCGQkcY/tbDZGD8tomhaZy6jAMRyn
VvWXuKeQcl+nutiiEKwSSI51yoFgcr9JV1VCzrZSEqkjToO/0XnBWr6b7RRN2oHCPI9qaQMnHqe0
Em2mDP5ll+81x//KgWBQUiQeUaCD330rts9wAk5bYKHjZAKleDBZAJgNuwyIRZgpuqR3eYAEHes+
Nxn4RAdC+RivYrW7GVQLxfQ9JO75vFtkLoeYIvN5sWv7pWq88qZ83EBFGgSsEvi68nHA07+yh+Nj
5Ya2Q04NNnEs8LuIPVe0EaHWWLput8TUbi7Sp3xmxzZQHrdMOGMX5cw+3TxCwEgte3GwM4VqfFpj
xHf8y0eZjwX9RsMCW3JTRgYaLUhM32dXcZz0v2K2iVaOiTXT3C7G4SFS7NHdJG7ZWQ/fLnt7c451
K9FVDrZDvbYPMAK0VbIk6PIyomy2eMjJFl9N81TbpKEJJSN8MLnZBQFCpDIqeBL+YukuTqcwVxlp
sdZqM0FaUsLits1aHqBU6MEIsAe3949j2bKcxtc1mh/XuyiFWPKLxQFiWMmXIYd/TvOD0uOHfGW6
OtVdMIHUW3hL7+Kw3e10OvUG7k95epjjYS+c/u51tS0HHnoOWqpdvB6HiJ1iMYKR7LzldSUtoJAo
kYH0yUWiMCqy1eIy1GbdfEpb0uffWHzbaQNhrwwWewiXqg2J3+nQUYp15A+Pdeh8YrhBZiooltDT
7F2GpxTqjmicjKlNnfAsjFr2o8B+LfwcTDdxfPEbpkoKFNF2ER2W+oWBwTHNF7VmftjrxFRyv+IG
jIplune0fUOUamrzLu5Kl3kY+hJJ2JADcBHrWDcXPIQEO60brJfeZP3xHpZR4wUsdQASKxkaYvSG
MTAWuv36kJ5lV40VS9THmzZR4bKwZ5Xtgdj3X4d0f/gjtccTkYB2fgPEDtQIX3UyQz1sCNhCmSEj
XbbACyFxq78Y7o+NwANETO0ehXUhUdyy97P1wszz4nt0fXces022B7CNerRTh1n3Sv72e0mao9m2
dEXA193msSwp+70sKasKxZClRIokPMHDnrd5tkiVhVTCdRzIgrhlWc5g8g0ng6zCJa5/kTkzUYQo
FwX/JHqb+pha7XcKqlwad0sbXUOpXGPMSsT6T/HWRHDrVjS9bp/dVCTKZoasrNcy3u6aJxI6yLwW
2/06Smfa8yr2syYpLImEDoTBX2O62k6hnWI032bgEx2idXqYLaMy5gceqVW5xwQIq8kYUA8fUbrM
oe749YwMU1q2qtaJoL3k4yaK1ezUoswLuxBXJypJwnhht/jYaII+mnqtK1eGmI8z1pnIjfokZeuN
tIHZ+hS6hgWC6kO1WiC+5tF52ewgj0ROWCLfWTEwzIMeC1Pqaccg8Vgo988nvtLmquHGqwZlWD4Y
qypifZl5bYpd27DxiCmDqZsYayh31AJdOUW6GU893agON5dx/B5CvBELy2OgRUKj6LgGTEQCfcx8
DPhbqYsSGFseA3vzeaQBfx9fDFPKfFKZ9bsCjROrhXFcFwspXCyJt1i8aB1gQGBGRti7tHBMQA6H
VcCRrvA45OvMqoqhnq4do+0tsX8xU7u8pTFh0PYiTBLhpSiiP/7+X//4+x9RKZcynVHI9tEZjOIC
fhFgD/N6le663efwnG736yZd57OHdA4sEg/lYzvMACtBEkB9q5XWQTZ9YupxNaTraRM+nEDXclzJ
9PIswXOr5EyU8uakx3tclILm0+d9uvvL0iMaSJYmVLBRFpYQjoJMyDC6meBpWbFWzx2DvY8YCxAL
0LLGDZFHkyDgupujUCSCrF6+2WxnsFVPuVLia3tzpwnrBa85j6bToCYlahVVnCvJKYe4b7Pvt4FL
7zQwJclAA6/zF+hbVVoky3yuRM1zut84UlC6d+YAEAuwEzVTAliIX8ubelFx0hAXoQmdEMEGRH28
XaOKr8i6PFwoh4J4ZX2cF86MqGx6aHRm3RM2YTwUeYimIzuZLgjctroZiJTThGKMvFTsjXUv0bLm
DDjWGSHMoRC+++AXcz7ZRSdfdaZe4LvWSOrkWeUcYxMi4wHP2kUzc5i7xQBPhI+at/e2vl4Bi1pE
fELi4Rf6G7IsNUZ8iIHtTGpgjIff2dl2Pc03/8felz43bmR5/iuMjSh9sJtVeWeiJxQV5avHu3a3
28fMfquAKIiiTRE0Aaqk2dj/fd9LgCcSYBJAgqzeqbBLEsViJjLfffxesqsCXuLrOM7FJcpsBEYH
e+bqIeNT8xZP3S5RavpdqTZdalhIdbDVU3XNfAankVDJAhDTYoHxNVzbjhItpXRT7rb1ZBRLsPEq
330Hd7Ccx7AeRi5xrY1OdI1XJJFBOU0U0X0T9FO6zpL02Y34pcBz4G2yUKcROV2Qs2CP9uALNSGq
SgP+FviYNw5cVMnbWN1nHG5VYmAtQIAsVB1pNwQLkbQ5M8PYok0cFo04pd2jGgUY+Caq8fFxlTy4
5yRzT3w+dpqjbUHzXfKAwCNgbi/u45XTxlSGYbNMQKkazxPYD9Zl1sw6RWTCnmk9XdTFjzgWWLPh
yHybOsnTxp5BiuzXpqLK9xwqDG9PQpmeyPtE2E6jlRDUl7MHbZNwm1qSv757t60iKeDK9i5mXyvM
ntB+s78cl80ocTbLKgUluk1h/I459/zOZja10w7TRXJLq9U3wCv8cnpJEhaoXuJYLjfwitAIOy96
ZpX67k2h2chvgnt7kZHl8Wps35+MPyV3GT58c+keV2h8hzuEirywx6B5Fw7AvoTxZBVnj846GIux
O4za34rlBjpToI9bNT3tH3EhIzeoRZsfbeb0LgZXGba7qunPRT+Zm/Bk50lvsl3bY68C/Eyj4yGe
zatwbyjK1ZkmR0NhQBG/K9rGnIOJBBq0Qa/R7wYRA8KEVh6gOiiJlLn51kKBZLc/pou/vIH1GfwF
C8HfuJT9gosJfP1vP/7qmoPFCRtEGFiPP/4jyTDGMcHZv2C4oac03r7TXVohPMdC1suHZLVKV4II
hPCZTeqCwN2wA86hnyavDKdgBqhwObwRLPCCg2+URKad3erk3s0FHAZksdvaKETLCMy5L09zlHSb
Lq6mx5asn/76ZvZVkQH+lb7sy2rZV3CtRT+8UUzkqJuWwHQ0DE02Riyirrq6TA3sj3G0NYTFLI1d
saFTxzCq2gVh25NqkzMLzgMYp7JLqM4n6twJPax52HyrCfNwUb/gPbUeLy+K2W3DiLYoGkiW+9ja
xo6/MEMSsG9khnNEPmSfoeX7ezWEIQO0DwV6kJfHPdLBwteNclw6zHllhskLKKbblDO7tNo0RQfQ
bfLpdoiNF1L1kmoTRpaUMXqwx7EQPTv+GYHgLORzMk9sIKOhdU9q2e5Qt/Ctnx4RYGyWYaXI/H4S
r9xRAxzSKPp3lA8sg+V8bdvrNwGckjXwPArxW19nJez+9CA6hgoTBa+C/T1+jsupqyB13FWwCKze
ppbTAd3roIIaHF+mQG+QXhZNnpb569v8Ja/WjBPRcl7twWSq+BWoZ54WA8dL+XfzlE1v+Y0zEq0Y
zuhltA1UjUsYbuAc6/IHDMiJt2lj2HHvKsVB0mWtVw5mmbv5TWG/BAsse42iRlIVnRslOZrBeTRp
0yWZFZf9kH31+Grhq0dcmIBWRjJ5TEHS5WDnxFPU19jTcPuGf42q4Eu0OsZg4s2e3/Bv3jC26cnY
fNy4+Dz4zZflQsX7jlTLl2+YXgDlwxf45Rv+7c2ftz99+OUXB8a+JEpE51QGFtJ7HwCiKs/RiMOh
PfvRxWU1qwYbMNJ0Zgvs5IpzTD4wdywaPRNtLqXjV8kyhfNAVOEmFa8Q5oSKHul9/1zqyN20Kxx0
N5nZSIftMHtvv//t5x9u0/wxWS1xiKITj1BhqKWPNvBGiaWoFJFmrKPE2iAzOeJFhrcpdW03bldI
zWR/XOPmGYxTMhKCGmtpUbdDt2ph2jHSxsY9HhM7e5rWRdcRyFSSaGg9kqxuazTG+OdCCv0DpNAb
/uHLBoXBv/qyFFnwAV++ffsO/jsanFn8Hs0tt2JB5Eui2pQabsmngiq0Kuof7Mt1A5t1u0Pfo6AH
cEZsahOO5jFFH76+Foe0MxUcHHLyYeuMdNnbFuqNdNaT73HqIYu6VddJg5bgkl9Efy/g6zayjQ6q
/QZZpQi7OZmftRwqc106TUYsaODw+KjdZcsMM2ZSqkH0Atfd4v5OLc5dgFCKG2EGlFTMy87m7aFo
/DBJuLsYD/yEj/awsBCviP58LKr/PhblZR/vwenHpHZNtQnxLf/ldermcYV1LQmCQmwByp1jLrWA
wxTnL9Uqy8Fa3NqpUFy2LDHfx7NsnGGdvLNsTMOz0g4nehgLr5xtjUaTaHZGwZat70ylhAqEye5l
6aIo80ibFphXzGuADO+GIvOUPKWr1wYcGYEcy1pcb7XvBX98jFcLZ/tyJCXD+BfvnYz3tGSVoKso
MghRShjv+YFLO7gKNAd6ZBRpGtgE0MzoyBDV3QRADewyARTWBbRpG/VT/mBQldj98/e2A+31dueI
3BRAorfW5LqxmYHy+wIypphw/1WR/KzgrqmRULQNhXs/giWLHfFVRTjjCEdGZSddARLsE861zVM8
qqkNsD3gZTe0CVDbl6CbYed4eLONt+F7X0nOGkK4wgusx0dBnzr+mpAjY3TkVwAYkvoiv5mHnVXp
e5cuZSoa+PI3COn9H/sGXBULMWaLOXbONg0V5S1NxOsS/gIF6BAixCn9K0zNQZyYNqfqBTgB13kI
OvHuPs5jC3Uz2+oqO3am1oKMbMhUDEF8DRU/nIkRNf2zQPtgiUV5qw+WCJCUKqSePgSaGteVGBUR
RLQagt7g+b0yBqcfmsDSxFAiNafnR5N+Qq0YN4SRuDZecJH9cO2xkLEgJUes7J4iohBQPPzVe965
siUf4YSv2/JGVu3B8uaCyf6vvCimmz0nOGEgQ3+XUPdEVITo4MMpivUSfo81Pdsd1qDZwbb0Z8vH
wjNp1s+hzhaljJwUqmS26Xzb5tKdjbpoeWk1vNFSMo7LaOGCssuKv4Oz3D9BxwBGO+hRRD15Tweo
TU3FqcWy3OiAdgBiGNmsaVlvh6lb2FL2mK7n9x9X6wUQ/82fm8Lf7T7OLPzdzh64Aefs1sp44LAv
3vCv4MtuZfjhIOVqfybFN9VsAY/Meaqp6Pjz3/RhUvc9Ope3l6LBMXaNdZE07spLjJgWRZduiDQl
PJN2g9nNaC7UjpERhI+oUoHVCaeaGGXIcenedtaJw94zmrSLPJ2L7ehXLdLZyHBPs6Rw/NoEFFdW
VF0LT1J4IrhcToc1Sb/ws0Q/FJZ0Je2JZQMkQArtPKPFST6R8QQ2/5y0XaN6i+O4QcMJxUjogBnR
PBJS1sgytyjjulPa3FUPAB/+b6t4cX9L3kYRKHbNuIqMpghSUNGEkhoaXY/56NZEGDghQ4hi7hbF
4Cwrc4FDsmN/N59SiKznWTovJ0wc1T87hvLaGUtyYG/li0oRuEHgkja5/uDsJ7i4mPA+EexlwnMG
6FDmIsa36q1FLOdg+v8rffOG6EaVo/ymgnHXaIHl/QMw/uoZriHOxvBTDSyaLyZQZ8ko3F2D1E77
DMvYYBsywbWq8xEcoSTCDLlIiEGBsh3WhHUSPNCjo78Y3KwO5q6wUWyjdbdyA9vDUQxvRYkyQbEz
H9ci43HmOQWUdx7Q4zHh0ggNJr+6qJh7TbKAcg4xHEhtlhQ7KqkI6VbUjdakDAekkeG19S47W+9t
GRN5tkV6SZx1MavDtRBWTF2JtV5/HEJG2FA+hFqS7tEI3LOh2al7i4HP+eMqzfO5bfwF2YQaycKY
HFbIvAXVfLN5622Ef26w/fM2XhZJG7xaeM+xWIuMGEmJ9WPDGudnaYtKMx22HmgqOnusdviXDTr5
+alYAc5QqzPVTa1P0wJXME/HtjJ6XNc4qHEiG+tf3KyX01V8n+y4qMRbwZm22Wwy3vw+fsj3sGHe
4vW4AYKplvDXmbXx3Qb5UU26VeInNuq6g8T9GOcf64sNTcQ8kQJ8hCteOF7/hhJw7Jt7iLvNqLaV
IWUHX3GN8AKCB7iH70UjauSVuXn1xTS2/z+6pBZudpspR3AtxXulllUS54Ujtl7A95NHO7nUdZ1g
MHHCB6p6FyJAOtNlGE+bi0kMQkAFrUW9iFH81xrvv2oSc94muLVHcOUk2UIixeXYNryEbH33NMsy
vIi9AmE3/qT0nCXbW/8BZW0KD2pm3e9BYu1dnxDciUl3lxz1iQH9Yeu6jrr4Zk0LlFXXYIaoAM0m
Vct2OzinYXSrtOOoCL1IwKFNYKGmokuqEY8YlxeztiapPeAaG0sInL3H+yv43zOw3j/Mkvm9dSzs
d8/xfJ1UrC4O56MDOH7157Pb7zknRaWGozK6N0cYpF9+IPmqIC/A+FwrEYXOlFcYsj743BbT70D/
0Nu90s5CAW2qJ+G3bFf5U0FckSMEl6WDmQZNg62953a08MQPYCOsM/60FDtnnCLw6PLxKD6sRmwk
NVPyMo53s4OtDFwdUwEiJ34lpJIjtCLpy5f05l/VqnMygAtkw9InwBdwzIjq3/BeZ8nqwxRff4zv
00/f/OPHEnoX04VoGE5XOAHFyWXEYDFK71tKnu7gcLYoo6UL4C5XwvIdEl1KgzcFSIDleZtWsRpD
dZLeJ7ec6JuNxbqFPd7ydgl73McQqALAlYo2du2+g4HHgwRuHdratm1cDfk/hGg8PeiKBwgsNHIV
vDNLV26OwjlYfEBytop1R80O0wrnv+jBOuplNJA4cVvcpF0AP0R7OOqEs3tUJKb/28RJ27vjLEAI
ppF9HmZzjG6CJVjE8519ypgZ4+Szlr5Skl6CCji4dQNRDDZRQV7O/mYw4YXmw97mp+TuDzDW7FVi
LbtTLIKnzqQOLRlKh4K5sbqw95ldgqCqwKRPGLUuXnbhrkvOO9apn0UyLECNYi3JFFdWPruLVBSx
UDTX1N6the4lQFo+dRUEhkRDKM6SPbi7zRQsuOhaEIDgr8+DUTUd0NQrjPESUShev8zms5rxsxKH
3AUoemntGp9qtUfESjYQ/Tt3gHjDbXpgd+S/3yRUvlYDQaM0EE+rmqQqsx2VQt6P6+qgQLIZoz4D
e6p+uqAmJhCJYERym7+uMSCYwkYj2lOI2uFYj6mjvwmndzJJzIVcmqO++5YujaBU8YskIawdtC83
q4FEig1zTPSj+4rpOsUkJAvukCyQU7AwYYW84+4OpwqHRks5DHW7MQBgA6Iv4i5rZNx1FogMLC6l
NQvl5K79EyBmoguwt9Yk0MXbustFuuvAgNfuXsfH0B9OCwIDA70VT7mOgzmOQ2ksAA1ua9MAUDr1
Ds9LnqwW8bxhFLaF02cBinJ6FZEqIteEXyEYiULSp9tNkmpEtTCBI92ne/QQyF6pYeVGvawQV+Zt
NAMUIAblkIm4WQO2L2LvEHkpdZit75owpRXh7YJD/mO8cdIs6yNHtYEL3M688shaYatkb/U5rbeh
I+uwX0T42wqVE8Jfg+zXXAWah8bsPDRWYQz8wiQNEDN+juf7k/32pyA9ga3uApnQbCQ7ZlL3WaIk
kdLfqi5Hg0RD6uWTDd1XOgdctjsHG/ksK8AnfOBbqWljACJAF4k2SlEiBOOcmEiaui4SxOHrFpdv
qg9tle7qRw/k6XI8T54T95xHRjHNHpQR3T4p2lr8EpGPL7oEPKhNwkXdihkLniymORUK5HEG9/gI
BDt3A0VpnMTa2/wHEM5JnoyX7oFGzCDGU5t65k07D9gD2Ef10U7acZeUYE0JlQOLQXcpEFop5DIa
GoyGyR8nVLQspsOLQMqyjBshIVoEM3ghXvzR1MeJdqPsq621mRVqcM6xeKvVDtIFeOyzrATQfHp6
PfS9EMCcY7JAqF4+fJJVP91C03b89GIuzpGusR/PkF66bv7DY/L0Ns8fHCcjeNcP39FkXEzkevuc
58crgbEp2mAgOe7g5WnuuINWOV93OSuCGP7klqTjUaRYJ8lSpn2ep6UdZ513W6VmfeL7FBvf6qo/
peir5r6QUxt9UYLCdVJoHHiYSiWGVAEFinl9pE7YOPmQdlrZwHiyXpVRBRzRBktgo5I3lfAVXuAj
GQDuyHEJ+6Gw6nVUQdEphu27hHJPcc2hdC7GbBmcxtbpPI5Vm3tt2JtDrbaTrnVsuA1SrIuZIU3m
JQMbKESO/sjC8AiXM5x0NjgCggueDHSEJqEpYTyZrSbzxEWMEaZWu0KanlyZOZYWEaJlBC5vrJaq
ccaCVcY5CuO4CWLD1rAd2PfzpZv7JM6Ai4L2qp3gwyqwjgJ1Q4fXzfnrvKZk2HuaumcP4R54zdFF
WQumjnAY1yMhyYB0SoOFZ/YIYnMg7hCRxiqV68kANWIOSgWqTMnLkG72mLhrpI1gYPKGvcd65Is2
ZtQulmPBWOpDOVpQxDEf0GpertLlttxjYzy7G4gIw1BjD0NoXc62HR0/YHV1evc7Vjo2lVfzILOg
TgOxWA0I/AnvvDsaX1UfSdIUYW54l8vZ+vjvH5J88ljBu4bjkP18/l3sbMPHJWSnykvrmaXT52r2
WOP4UCbpRUKTJXfVY4lz4TkgW5ztkVLm5YKJIfDsaijbmVGHa5Be7Yqie7tk1WSTI+WFtStOVVdt
XoGbcpQaC4X5AUn6f84zyPIkdYJs9tvieVPVbTHXcZCPEkXlibKhQDcuaIBraNY/bj1rNJA/630v
1r4pLgFH+uXfw5tWJ1KLGjxnFnSmT7+wu23SkGDVSUpVpwP3ii2Pi83UnLRinlMUjzaBCmC2mG50
AWxgigWr2FyUzf7LbctZFBmv6OzRYp/45N2n5A5Mxoe9O6xLcoCzo+RZvHxWPVSn49pzIMuDK3pQ
ltP3tGL4I1ShV+FRTxzZ4IUoHMwrhlQYpYuAk5eArhcgxpr9BJzmwNsQV1tZimz3kBSMl8yTOgA3
yqgBYRZesP46e0ow+9sgVxUrEr8h1FxAbFoRGXFJU6UgP+flCslHmtCBqS6tIzVJ4cTYYIb3Gd5j
oxaSOENN6IBm94evvv4OT62atWEs4iMV4Arr+LNBysoI7k932gpcEvbzPierbG2RUOrikjbKRvqn
lU4xwQaAWlvh12G3Zw+JI2JYroZfNuoRAnTq1wN23qZQmviBQVECBhwzaohzOc41H5/QISNbuw+B
dEwLc6l7C+2RTfopfXioVMYa2encYiBavCawGMHAX63nSdZYDMwE6gJN2pnBrscoMpqaebbh9cQZ
+aq2UxHtKkHbPaAHRu1Bb/ReIU2W/WJzXIdJ1wKoVnvlt87eVR3wpOeuhJGtTL7qxsYlM2Kn0dkn
91Kky2CH9OhzqufI5ND3urc75yGqTnLv5E0VBSQn6yY6fz5XIQi0I9tQIkwvh+tFYkVPHIplNowy
ravuo+YaIrD13g2ij0kt2icINjEO22XvLrA0htqW4jOIfvMJ5H/Y2VXWNJQioPPQDjK7TVBQwoFz
ysm1GjFK8gs6l7O99E6yeEhhs/e2FbfsEbO3MnPHhxT2RlHSnparc5yqiRUgRB5dVdrr9Fk5+tsi
A9YqCSwbG9xgY8DT6XaQDnPZaURGDJuNo6vlN8aGD7muZxb8cVd25faQI88Rkc26IcOrSlYfQQUV
ZSrbY3EjsWDUQvTggf76ukz+UbQvgKR5juezLWONcdDXOC1+2aTDKUXUJtbVuD7HaFFUXsRk2P4u
m+XuShCLE0YvkUHlnHfh39peGTkSUYuYZAFxnycv+d6kV/yxBsZaAx91ilo0lzdpNVBBgV/J3rkq
43AsgVeYSnE98pucNoShMls8JvAhCKppP8adXWOexcziCJ//cnC6b/h3RbL0GwTm5N/QqvIS8jKZ
ppPDGCTRQgZ0GIqg1WFXXDFNe+TXTdaXAK/8Jl7fz9JxMX/j5NA1w7Fiu8t+LaN87W+vuiHkERrR
N59fsEVbon6/I+nK/GmEsmecdLNKn0EX4Kyd4uHzT+kY6dTtsUTUE/MyWIImK/3eIlFzan4GBWLR
Q0SGC0FcllRgVmCFA8MXG5BrHP2Im93/TfnZ7omQmnVMrOyjfO6uOFvf2eIO190aMOVkNLi+dFfl
CDv7sZsRG98lzcZrAaIREXJxvezOvCI6w7+aBtZtMjW13YinmxCpZmh1il4tztSF0cuwxjhiV6IU
6EV8MpcW3dPvbnw8OtKK9+s+Hw86K7a0BcN4/zR7Sm7RAXr3Mv49BvFo33VTOti3pfddyTVLMNOE
kUMolH3EzbJFw6LD7gHsOYWGoYjXcE0BP3c/rgIhbzpJAn/kGWzAb2MlefRlHnX51dQoiJEIEKU+
aChZbl36atM72BKRCrj8p3iWw0nks3kN9CTVvt1cojM4BpUBGLQgbuTFfTibKkBurRV6ZutJoR2a
sNsrFcYIkqwvaMjsxKh3qxaFbbW283ocu7Q/SdamyHwwysVIUi6ia+socl6Du3yNIq7ppfTu852n
zoVdak3J8CydTR6Tp5qBI+Rsy7wH70xIOYxHZEgLQVKHbJ8t4XbBSU/v3XNHUHqxsCK7IV0CiilE
VaW/2GwOd0UMJ0iYSxucTUMupDWvWhBMOYl+V8gF7hU6ojZSAI7ObLoY3yUPCHtqh/G6GNGoEe9W
iF+w3yp5SvOkSM5un7q4o8aKRooFf0wM05xZM8uScd1TYRo++V/tU79bLqb/dhdniRJ/mf3HV//4
+RP5X3+bph/gz99/+e3x29+m+O23+NdXX3/4Hr58/c97+lOCL3zz7fzbf/7Hz4I9/STesO+k+erD
h1/hmw8P0e/Tv3+7+mD/6fy7X//4Zf3Pp6+/rpa1wYEOG6RvnOUlOG9TedBI3ifp2neW9UBx1tPD
mFiAsoCdCG8Co7C+hQkpA9yQLcR3OPM5hPG4Sh7GBM4bTuQ+c2PcarA85ZWoBO6e0BwB+Yakh4Iq
S6ybOi6iljS4uaB2f8ng+O7TyfrJ5gLOT8NqpuAo+bV5GQfPdYSGWeglcI8CpBVPbztfxYvM5hwe
1otJgQUKu60EHbUnWufZzMsamdcbcOoMYbXdS55uXq8VW1jjy6ge3OM+mgrW0uMWhg6TzvOQfG5b
GLiVkcv0W7jw722rheDd3cZaCHoaILJ4Ur4WYEWn0mcIBi5CV3/VGeVUX4nMrgd24oZjm2vfwmgn
gLbRlAIEAkgbtjuL5zWikXMwbgYxbIpiE3z7Kp031lNyzEST/jLR+4dQG36JREDTyafameFEZaaG
98IaZndR3QYJpr1g7TJ6FMWuFBcVjCfiStiYGsCJaO9gNs/fIrjdAA5FaSLiQWb5am0n8DZIA0wl
8o4oYukfM6SeIr61dQ2AIN3OnhhxFYUX0W6JzIjnkPEejr1RHOnWGCFnB789G/+4q8K60Cv54yrN
87mdWwWe6WQ6e78AYr99+/YYoO9pKW4270YUsJvF8vGonkOBOsAB94gRxjsavwXpYVhvP+fhLLOk
Xcss3Tdfur9FrgWN6eUqncJLT2D5I07E6zi+v/cB9FY4QJAHipAdVaztpdQaiDRi2IbOW+rM4mr2
0mdJPo7HxetuGxPhMi4Q2igPok1FOSL9RGZY1/MLL4/zQyEEK2OZ0OMkgg0S3vca4MmYGab0uQFK
n2LSjgdUSRsE6UVaGAdFmK/GZyAdz6RRTsFx4MSRSbZ0R55lO/Xo6BamhA6j3lRHct7TIXk8dbdd
KfhqAjJNBqxyl6J4QkAj56OC2qT88tLRPSIVEWuupXCkgdGjaKSMDsVbx3XgWHJhxTPqXGemWaAv
Hg2dG3QO8VAdjfIdG80mThpRUdfOBU8hmz8mixMVEljwwi/RjtxDPK5s++LqAnVO8XIJ+yyqF3/P
0sXJUicwN4ThehhFoLm4pHw8EZ/gCGoqhjkJSdn1BEIax1AIrYNAnvqIZOd+KII7ks9aNnS8/RNi
dhvgqR+qx4jEAQu8B31SfEWZ/lCKpD3fFbbiZDUpg5hrDTS1DUbXq3lJP2+iUiogUTWVpHHM6oQF
1O0LoryNSx6B8UWFugCeLFazxtnrYvK4ShfpOjth5DPE9uHXlQmWlF6J1wGHWfSx7Z/osR+J6P/s
MoKpTtm1qnK7JkOYXgnnnDD/RNSuZ9NXhLolp9WENDjBbVyvU9aVIhyRBj4zaHQuYN+fAZO4M7dW
eQt5Xf5AAwQ1tXn6ASm2UUQixTISJmxR5Nb8Y8MRmAq0R+zbS1AiN6Ql2NNe13rx88Ns7mrMNDgL
slP3TaWVqSyu2bsdx7K2avxCusjfiCNREEDU2ZaJwCfzG18cdUUfDGC8Oew1xvnlBpVRKa/A6+lS
4ooQwIKqADH3k7Ueti64HzjppnJR5mUb0COJNssmh+3+8autrrAd4OUQNX7zlE2rYBj4aIRGl6hS
dciaU1FP2S6c5nX7G9UZz/Na7D8LYN+mgNlekTXyG8SYjpSFj7oCg9aBwMaV1FcBbWW/nkK2Ih3Z
9TyaPuj/iB9yhGTdwsE0DWNF8J029GTnyB3YFvDzOJs9recxnJktqlovZn+uk+/vbykjTHCtbr62
7yrrem+f4heE2qrIBBbB+bXCIWoCZEgmj6kVR5j7QbjWav6nPM3b//OGMXwBvvw1X62Tv8A3dgws
viDY/620m48Uu7DyrycAN7I1HXEdDSTIGuc4MSqQu/sxcNOnwvhYTiul9IoqWKdNo2h7onpe3L+N
l7M37Ct/8oqiqEJfMshltYLi2EOo9+4L4mA4Ec6vQRhuPeZmqYjznSm5Vo5uzC9o0pK1z5LoTBkq
eZ08J0DRBCMA+OuqcAev2USBR4oIwf0lxGbkTRcStTf39x0ckr1bkH0P6eoYNaFu1gCjoSUyUP0+
mEr9GA+jUFp24QC8kjF5G21b9YoRAkX/Q1OLHli43Tys45vYi7TM7u/nSRki278YtzEMYiu81D0b
7gAcUBLmePJ4NU3ykwcDdu1IdMqfbmljb77M8rHAbCspxMbclnPH1G1DVU813EdD/couuOJt7kkC
OOLPXLVo1VGAMFRbH8miUtQXyzAslpGXoiOiu3YN7gVSN1AHxcOiWtp0lMB/Re+Jq7UEDUb7Ke/g
x6O2EoaZGh9Gl100ErbEu/URG/nBqkgXrWfru83zovU/WxWrMXd9jcCBKqzDox7W12TjT6t0Md3M
Ml8lv1vvA0PuCAHoQKAEd0h6Tc2W7ZWvu3uVeaas5QmJUgxtHYMYS1CcVKNsQPCcBHpC23r/288/
eIWwFA7u9YJk6nTbzhmBwmuyRUAq45JeoNB1Cxl1osI10mCba6+Sji5Cx90vpj3HUMvw6BdNTm5N
3RM6uZHsh7xWSZzvKhPdU7uJ9Mx8tbmowi8Yp8vEfVcc3eM+5PW2+rJuKaOxwj3qYanzWveEEMFJ
8ewWey78Wj57FeHNwTuG0MWdSkEzW/5dpCTgHIpckakkAMbgkhrWUYMVlPAwWyFGfLzKX0sqKIvQ
ETTJhZWE896Y7v3gW1vVJ1rxabuc+IkrocRxJ5RIzaNe9cW+NY1SwT01QGGtH1W9yoU6unDAU0Vg
n/OoBTFuJtlls8V0nuwm2JWvu/H3lfAsVT1arJx2sh2pOnuaYk0DyD8n4aB5Qlo80/FUMaAUTC+/
v4snf0xX6XpRaaRhEcJsEdVlLetEpdO44kzYslRNwqmMqmUnjAGzlvbIBnuWfZUhGvgCOB8kQBRI
STys53M7fAgshPn9JF7dN5YsYD95AIV1Tld5C0uOgqLVXPAeCCh/nMERHUgUq15xBNGJSgN0DE2o
e/S/Qqo9a/Rkl4gXgQ9i5lTICzWiI+QlFJEq0EF5zQ7UDOfKyC7CrHMhY3NvAZYqgu3YGO6S9ZNv
WkhD7ADxW61VkRIjF7HOXa3GXPs1/PVBfs58icSapNDSqinjqBD3oo32G5b+aXQ1FnxzDylGQ7m6
apkLClKS0ETflCTkdgbflZMcIt+fIQTdgrbkxHQxPtgxENXyllYCnLyNHnLAnbBQIq0IT2LeZm9Q
lu20yZYbB6XoBndpWiE92xdkqGGok+xETbrAUnAdDbjH5mLwiRsDFbxKkDT6EsZ5Y1V2C4MdI2Oc
mS42YA3wUpa/zpO3cIKVJYG3aWgJrSPwAEjklQm+fcPYLyAtvrbSAn5wVt1wGpqrs3ZsjV5GD45i
60lHp/IiasQV7eTg+xm2Wl9UuD0k+eTxdBm8RJQLpQPQ0nS/f2yKYwTi7NE9mQxL8TW9iBvgXbBO
RXA7TlBJDKfN9SJPazsm1ZJ2nLvsOSUVu4jKaqK9pvo0EYHYuC6LvrkLVJDAlBCBCDGGRjcfpgVW
aR1FOK5fmgDekb8p4IafaFFqjKYANcJ0CmK7sh/MkfxgwjAVIB+3KAsJZov5bLGFZGpCPUaDXfGA
F1jsaXMqjvGhmHfi10vggtAQ/qr7ppqAkoVqFyrsT2s14wOg1pJEmPBnhaZ1Y1yLY8OjHICorZHv
oGmJo5wuo2Eae8u4ttOtQhsWxghOwLCw3HaOMgGfhQ9EP02ldVjB3mYjFUj5CNOvIaoDiydJnrEA
ZjOgelt+YRs+iqe26aIkj93zgjAkIq/Ca8DeqJq0JAHBxwYIN5xfTc8oC3a1p1U3t1JO9EOllEbm
IvJquUrzdJLO50mWNQS2OdCADO0QRQR8GUJkrcS6+WkVT5/i24YieqUDWFNncJTn8FlN4M6jKDD1
biTSNE0fXt15fuzgHGobh/Oz3bjIIBK5vJoIbP2ISqVHSl7E8fqin9ArBkJJ1Ek3ntG9y9s4/MML
DzEUL9SApHUumO0ovRBW43QM0WANMQ12UPvuxfgTEDXc5jxdoClVzAvM3JEaLIIL4P54VRc0RBMl
EBZTMnTOwWgJf0wd/dtg4nI1e47zxBFXtC+Vb1UVz8DgPDslLxtlrNBmQ4yREkpBx+pBaNTJy5Hx
bJDzMQ792pv7Nw6bmwA5ttqHqN86OOM8X83u1nnzaUvduauhneTcVjzYvHielpk0n1kVkqL7J8Jc
7NGYJZ/CDEoYVg2SSxtfjUfqbmpG+dRfEd+mkCRrgCWoyzo7oqxl+5oKkeSuCeriZDtDhmLMJpNG
mNG54duihnHhKqjeXNPMltRkyxQoyl4ZBkVvD8GbbzKwf9fZLRz/TdEdf2u5ovj+sK+4uCJgRtGq
8rG+Arx8iqSh7NtgICP6jI0DDNFLwXo+uboBwJqNpBbDS/rsEPfFjfMHWkiTK2w+M0Lpi4j1gzMr
xHsDtBUnaiRony1JswUqwedkO7AeVfIyXa6X4y1rWrfZ3alphCdmYCDTqyGPQNuZl9udzbIU5ERy
/5/pan7/DnGNys7R5Qpk1SqvwdEwWDBMgycwGHwSYzXSSp0hrlxJDmO8Jm+xIxTG9TyfYYX1Pnlv
XrNKaAZ3vYJN3JKb2dOU3rIXNp6ukmSBNUP4Ejt66VM8y295Jc+ISCWESSC8bmX4YTEuaATsIXC7
OkjzVMGliFL9ikagB7tqjsPDAvFEnuJp1PAERVS+VrcVaqK3opr1dhJ3KdxBs1zAQDLjwesqpQHJ
YPTNt4hLkmS3P6YL5HbC4C9YCP7GpewXXIxJ+PZvP/56RgpUkqiPcoN25Yx4sKdxHoRUgl5GKW3b
l08hxAtbLcH6PchFmi1mDw/j+1eQXrOJR0jVcO053Pw8TiikQd1UcWpofyu+2gG2Nur1CV+xZbmI
9IDxsKbeHmonqsvQroWCJaiIfFlSNLOkS19rytXAwtXZLSaMCVnTYu/yxECil6c5/qK0tPcrkycT
TOCWxzm2wy9LbX8IKbQZ2niJku1j0F7HkEauIsMuLdswhdY0GJmB1RNItJ0uO6BMItQ7++zZOtJU
X08rqOJcXZglkslTmR4/3iAi7YPToi5ll8zBhXbvjICtSXrJmrbb2a6kAPZU2ZzyHmjXvzxpbBTl
RthBgldwatx1apwocg2bY67NCaIu1nBUz6PICaIVANt5cpmCu6kjevNDnOXjp/R+9jBL7uvFM42K
JQvx7IjdCsKiS9sC2xt3CT7FyKU3+DJu2CKCbWqmLs8uDooEJd4H+lXLndVsC00oLXTLQSinZtVQ
O6vmpw+//HJzny6qEyqUxC0QJaLrbkATUpCgNmZjKhjr1Nvg6NkruovBS32MVxZsZD6Ls5pwHfrm
0cWUc33PF8Lws7YPvyOC6jFYvILilVtwJqOPVZMlGkVtQGXPWvohTe/ilWNpI3Xgpb//5R/uB6dy
pIUKvPo6f/hoqrQ+alVfc/Ztj123TaM2QYVzz/wj2APsLzaYkNz+Hv/lOVllWBtKHLFjqjUb4DTQ
NnGch6RDXMUX7qX1AEv/1bk0G+LIqZP0B2D5j87VgeVFG4Cyc1cf160umRxk9bGL96mFPwu8PjgQ
s4VjbQrPTi4I2lAFaRBMa37JvIsjz8K5odcZJhVcmEs4RVs0csdpCa4u5gS9NHloNmZgKLsgvbv3
RTFfTaOgVj7uCqcGbWpwMG/VZPprhlCyQ+dbSq8oeYmflgjbkz69q/hEcIuEDeQvrBI78ujYbTio
pbAlom5MHNEPzOEZ5Hac9zRYVOhlzauaPcxnWY41i+9e4JH/5y+/2rLJv6f3iGc2gYP7Yxzf33+L
DbA/lO90enlUYC921MdG9iJkWAPyn3AAX63z3D2UwIYZvJouzli3qB39GldvfyTC2tgR7R3oog7m
W/lpVnUagdpWBjl9ebCmuJcNq1oOp98mQt1pfgbLm/OXf5whY79uC4vHv2eH83XGd8lDukrGdQjf
zEj8v+eVQfzM40kyJjhJMF3cu0tuuO+kwzZLs8alMQXaZmkPUTx7sqK3IO4FMFZNmUXRLRpkC3vN
R5XNbFKzolp1r0fSC0hFdynkjiQ3ignf8H9ZB6Xrwv9cC5+KZXa0ZzBRj7dtRdLmRwe0sJ3bRYgy
zWWNuiuwJqvU9UtDz1myWghZme5FT0Akn/uJm1pKI84nH28J2lQrZBAWzgvGz7SQJSdlKC4uelgc
kTZg1Qc48McTwpMp/Nr3muzkml5uiDlr8sTHwgrMXHOrhDIjGbVY8wTNkg3Ncq9REKY7YhePlGxB
oJeVrpK3oevz9sypoJqp8/YsTP2e/YqLrmfPiHulvPAko1PzDnHkZPqcrGzFeTEx3GnvCs7hrPRZ
SxZ9bRW1eWL16kBADc6dgb96WBxHoI83UOGOpcTICK2HWYh5je04fYMI8oCBDtB5ixzpauWefsUR
aSQ6f8m95r7iivaIHI0QFJe3JfU37+tmkj49xYv7Wyw9zLe206aPCvPaVRvKb2JB+D3D5io7vlnG
+ePt3fQjfM2T1cIBB4JP4KUxwj8Bzkv2OHPwbA2hV7HjyTyJV350omkv3FQ0OM1tk19u42DuyUUW
01+2XdFTa9AzikuFHxDiINsx2BTAWuun53j1WkQiLUZX02xJoUGoUd39wbPn6fg+ecjGuLjDrqSK
j7RUbRd6KSOrZavLmBPhnE5ChCfQzInHOVrP8UBGjiIvd6DTSvCc6I9q0+g9Hi3Rvea/xL2PBBet
b+xxNcbmFyf7Sx0hzGL307MrOEMHkqoezJCaz+cMh2ecv/02LTtOto2wSVu3YCfwtlGPjHePuHkF
6KUaoUJ3EAdeiV5XwqBsdSnKPRsCa+ltvUDFh4HYIsvhTC/gkFnZg6hPnpb569v8Ja/QHvcqIK99
Ciu+G55Ac+tLnyMRKkLncBm0J2pRZxBb1W/GydGiTkAO2Mfkj/FytpjubJr9dxZoiEX+YAEXar8r
8VLdCADYRqpEp+3tMsHz2eKPQi66UYO4J16Dz1EcruoMsknQzpHp89nsNbuDTVR4ogv5PFyxjoVN
eW+//+3nH25PPzGzlZS032eepjid1H2h0hNd2XuxDSvVT3hFgg16zGn+mKyWNTiUFOeb0ChinXbw
R/J6l+I8SQtoDDYmqLXFFBtdn2dYJxjPx7t310IZc97TMRxvx0YgqxqGYHcAiQItWqA4Nz82Nxpz
YaHPfkOEJ3ZDCQ6r8EIkJkcB5vl6OjssMjjM5lQsc7AlMZ9DRdSczxHkNHaoLaoo4U7r9Ra4UdIn
P1K74umChuwxXeWTdV5TyBCBK8f72MAZBQVNWxIWl9H0dST/+8cf/h38jJ/LqIJXdQeClXg5nOcc
yra643BH7g0gEwa8lBaHIhgDY94MwYXKGORCxgw5iwvPz6oedwmaaKR8Aj615+4zuXSdgQQuUAxr
AA6IX/HF8S52STyboESkuMT6MRh5x7ggc49rpX6zs/aWK/zQ3Xq7Zv+9lcE1/IQawNo1VfcUA/7U
K01f/5zt1gXtZlgr8X6qFNAmBCxgUh5P0dwpXJfbEuNwvPmH4+JfvuEfvjwqxvtyNxvgDf/qy7Ji
D/7Rl1n8jMFR/Bmf6g3/Dg2IN/wbv9qPk5V/ljZu/rz97sP3PxxzJNoDVHHPM6uMa24+tKMHK92t
Hh/KEXcxpH/2cpcUaT9H/lzmgsNAiHQXfUdsJJnuna2aVqQYC+4gNg+AQD8ldxkW8uY7kOTtSycm
nQqcQ9PCdCiwwoqCkvxxleb53HZggneEwXGLKnZUOpC/5Debt95G+KcAFrO10XBss0V1cxwr3Cnv
tr94nbsHEEbEWD/xHI15IuSyj0ZaiYSB5mBtJUKLAe4USWygZ0OtKIY7SMF6Y57mwQ9bPnIXeLcU
HGdZPy/ZPH/7UqVeTtH1PX/x4uT/K1ml43mymMLT1oSjqUWn8HFrTz7fniiof9K38KTH8QQmcFZW
24f0Cet6Vbkcf3y7eDthXc6y0M//btnj3ab3oGAWzCncx+7pUlwaSyftrLcWYocr3kJ7ux9zDwZy
BVbixkapprWwGQr+j0RYZnTGvLQn6Hzbmy1o1+WICDmiJhpQpQgtLnC3IPAj5pP4O3m1hzlUd/BM
Kgv2G8zbGdBwp4wrDAfycMRZY8YzTC95iTs6RJOWW3tj7R7psEVPcn7vaEmicCusr6Wrt1Lbk8YU
6XgvqGd++/kHGyr85tu/f//tN3Dy6ZPVPxZPA8eypKtkNl2M71Ob/G7KQ2pVTOtpYjf638GFSnBB
nXAl6OcTXGBE8Fb3vyHFPRP+kPC2NFmUyABj1LvCYO0iTBzvwBp2UAl5G+3X/C0fi7R3EdS1pb3V
AO54ZLRsIYnaFWNE4ZhtWN0G3on2gW7oU5aVSOA4x8NpDGIfoM/I4do9uRNiBQFXb1Ti9FGqTIcF
zwolnZhmiVrfkEtq/cxW3Z3szGbYqzqU0LFDX+7HTaJH+CE01+4K+f1HWA1hGbYbyJLFfTZerOfz
Bj4yGAQLy0Wg/8t7YuN58pzM3cXDDHOIpq9DSBCsdPUKT15TcWUM8xu73MeD56njVXd+G8cXdlJD
+8ewH5qePDsmRGFuh/FBDsHdQYPFVz61ve03sHf27ko4RgJt4XDQ7SndQQ1iSPIWxrlHq6oUPT/g
PkUfnLf70TD+1Z/Hs3vgQ99nk1xCye/ch8K0ggh3EvXOz64ddvIYL2qquAyTIxqdZz70FGNhCESj
osA6sWSBzVk45TKWsgkTzjle1qBH4Cxnai5y+HQUSX4RsnSXa+qij2cI+yhpqvaKIoQm6CI24EA+
rO9nYBu+AyPxEa4fl4atjD/B73dcydzKOLImQptz2Fv4yEnaLb5eJNkkXtrM6R5DvHfgtAmfLpv+
yOOkqlLSM+jd9WLG5bRJWxZZGLOIaueuuEIG5v1dV/PGbGWeu/2K2KHwA7HPKfciAu9C0Cgc+XjZ
9whDBSQjO1s36TSuWDc8pE7fPd56uUxWkzhL3OBDHBV4785vzbRV7IeBTTjzQsAHLBriwp3OdYSq
lIc9h6ZZsziWvpO1+68WV96LiZysWaOqi/0zdHD5+MkcsWUSDa2k3KoJx4Gp3onyyMNsmBfEVGSV
Y2C2GO5yKeMM4XOFDCfoTphB8D9YHJpdScDTHeqkCHIR8NoPSRDFYfaYruf3H1frxe1rkt1MsuWt
Jcw3jHwB4q5iS2psnzLmvyV2C4nNpTb/UhKb+vUTfD5CCoOLhIaW/KVBNL57RcCGeD3Px9lqYqfZ
OSWX7mqs7tZH+Xnw0zh5gXcVPhLu/WVzbDtITdgRaNEaFAEGHlSbrWXzw2SWXxUnVVhJGZle068N
VYC8k2XeSRovUiuM9wgERbJLHmvCB7Gb9rYLhOO0nBDelPCB+MftuRLPMljabSYJXIZrKgllTFyY
YvbVN3wp317Qz04xughJMa/AFXOND1rf3YGrd7+Kp2VTbE1FEzZTtFjEkXKP75K3VVR7vABmKy3b
r+G+BdtbXiB4Y+3IngmPghzhQgp3t0mUG0n8Zhufubc9G6DYg8XJun87ybLKRYPApi1v2VZq35fY
j25YKUUZXLMJfPpZ2+Nnng1LrFE6HJ5DY3wefJ4Rjy5848yo3jdgu3bsaTeIY6WV38zMGnKz6Lgl
Ml2RuZwtJqsEsbTi+dgilbjDe76Vk6yjUnS3xcFD+8zKqzy0PdLdzRY/P8zmDgOFGiOR2xoD16xD
vqM5y4ETJ6KonwO+i7OkAG7fwGLVJQ04hqWbcXdaPDP6l+PtJlCp/nn7hn+Nr4DKxNduQWE6hwDi
x78htGGF7ee+s97otxUoIfQLT+WtznqmLH5INvC81RoSPpKU9X1v9SDVgmHJCA96Y5vl7cXVXpPX
HbluhxmfuSDnPcVuxcbboqA7RO9c1piXsyxGWqy5AbxeL9ZZssO5/hSvFjXNONJwPwzx46X2aP3P
dbxKKCFoCRadrM/xfJ1UxFUkyMkqwgtIDtJVclAfBN7zyAMpkrkx37lneJK1gFUtZ5eMj2eXbJFU
V0m2j/46SdcLR4egVP+Pu2v9cRs58v+KvmiQAKGH/SS5h4Fhe21cgs0miBNsvi04EjViTJFaUZoH
Dve/X1WT0nDEbqrVJCXvAYYwepjdXV1dXc9fDShKX7fAhjxRaAcsdDyHfdeW4wrIN+KA+xyT/7Cf
0rU2QKleSIe3e1AhCGtWsX9QBQXVghUmDBvWnqqJc9wvmGiWvXin7kJG+BjHhxmPjx+Mz52G0RHW
TY6xWtNw/YxwJ92G8OFXCKbeCnke+zI+6vOAeTRhPrvK5eKs6hguFewkR+XQVDTC8A2p+A5xJfch
HaL62VX525AOjWowx5LSy4utlyXxt06jk2BxCXawcyFno3lSnhczjLI9prNtqnX6q9h0MPC2NeN9
R2Gec4hyk+Qx+iEXqOKqX9+RG8UAldCAbYszGOgPX7eI2PcOXQqfQBP+VMyTP/jPIvwTvDD18sc/
/hf8t9vD/2up5pEyDeR42w2slmw2+oKISB2es67OZnlBAyrsPGq/mdPNbpPtDa5Drzebo9Tacs22
Tal03TjTvlWtpaTvj8i8QzJgJ/8JhKiXYkT+2y7jrYcgpt5TXB6CljvsaFThHHSXEVCCZeXyO6D1
7b+/fr3tpibCMlLGxDDUrP3DHUVk3BL0/zwKYQVrNfb+4pvtV5w0SQGSbXagRdIucJXEwUfuVOAq
XFREWDTWS4HAyRAGr/TiDdgi8C5RkNWzYqO6fNXxbG2mjcI+Ee5jN2MBVrPwit12vduaeYIy7Mcs
LzmlRbopO2YUMTLhTgaS84yqTmwdBydELSt08+Poa+1UGdKq+tjLOjBCGaawsaCPiGjOIM0f4yyd
7+tfEW3tqfSS51myNut4YagaDvbT8ezBe5lVpgWzWG0jcK1ulHKbZvui146EuIiCiOi+rtlZu92c
R3PjcSYmePsIToHfgw4u2TcYV3tIth8OKeTKramPuCLEqVWMzYZUNTvu8nixgJNZRVeV6YOXrrYm
GUtz5RXo05mYxAO7brfuRNk39amLPfRaumX3yMFpUzZ4R881lNo1PLciUAW/3HGSQRkEs3EwceIo
vikNr7wXP3/V74ZEkIPAYXKNxl+oGj+omVbauUoMKJeJQoOov/Jmm7hc6unDJ4w40GdWli3XNXz2
nvkiEJKJd0QSn0pf6tJHr70dYHbp9Yw6XjTQhpSb1JunJZor8yqLBWaxNcTFgF5YFcPPH7ytguNb
MC9zLSBJJAS1ReMeexcMBwMTpkjELjbB9OzrN+KhinC7z9AFRcaJNXuTpOvGDZVJe5VpnbzsImvU
iFHnZuDxSMKuXlAUpufJQmDu8LugnlFKUKLO4FhiDDS/PHnqgiPjAbdMmrAbHyucPvz0099+MYCT
2IH0UIRrEcEVZrUtjN/p6YdZQn54+ZkaW34NaNCcmkxFrEZWt7b1sayCx5ea1IliulCF7l1oVGa3
6b5A+2ETK5FjQP4Cc4FiZ5YL6UFg6NNR6Ns+DXuKd286YehBJ+xCk7JDBggicY056T0PbFCp3z2V
kygbQWgJiWY/mw58qjORW6NQuUNcHGlvp2XEujiubrZA8QSpppy5VyPZqT31uW090zkCqK5obOev
BKBCSxpcY5dOwh4iGLEgwSBmjvLZ7P3eBaK3GyrxFUAnufiYJPTH4Mm2TDkT6olgxOwKp7gT9on4
JJowdjWKnZTL6sIS1yDayUPl+3zCwz52g3r2z7remOmbFik54qlVXc6PKWhqSi+ZgwcKZnUblyU+
HdNCq+GzpMosLTOD75FGDJsqO+2RS1zL6Z7GpTWqDxuLzOJ8bvDlcWzpG8phCFnstqdpqRrq9rKl
jnkKE0IUKxvaeYfSTQ3DJc5gx6pEvXbjLQGHQ9K+G3UYoV0ZBzaVHZ5qx8S9xZOu6I4iuHLY89FU
82CMYgSOBxP2N3vx7jfY9cxTaHamygzhu0XP3pJeJezARyrP7Le7//nf9lqkZKNIvw0ckxc9xgqM
6XaFmkd7PSHeMsnWhh6jgk1E4CgK9tiDoLSk+gYzpGoe5HgOVVoVph5U+Je3hxzr91Mqp6CEBSJs
w8HAAYo4cWeT7DGBFc0KJdG6MqyJAgrzHYXBbrsIlRTVO59Q44uGvITNwjKMCAbsh9mj6Y9kGvLp
j/70o69eI/X6Ue3al2D6WUw/R3fTz5+mnz/DXy0XzkQS+Z3MhLuItKfkPt7MlsAyt80GBM24pzna
GZCTyefDSh0izxqtsbjX5x+SbBtr1FV8TyQfR6lcg0qiXR9CLoS9tnCPxaJKhg4j6jUOguSUvYZ7
a5lrBtZcvSC/XUTQmaO+J5q6lnBIha4EffW+eG44u9aNNvWVzq76OD/AJBGThxgqDhBNIRifIFRH
kAtsBNONK8Yflw/EAOeOK3TjkjGt0yrFPNmARboqa6eMnhWxpfijufrFD0A/iPj4NJI6GvlDeAh3
6V55bHkGuc855p4Orba+ErrCuZ932c1SwmLdTvuiACVhUecAe/jOe1qmWeLVRaMGvxK1hHgfTe5R
vSs04gpx/fTE+JkTO7i9uuell8a+QHylAWfVjIe0j6a5M4IMTmM+8JEkhnY+QBlm5UhwoUyV+oho
QPvmEVZEIhzRwiI5DpXcvX52aQznEKpm6rqpWvdWYQTELuDSDdCkkIG8Miue2g3cWCgxruojHK3s
sVaXtC0r7Ck+oKeTCDEwhzUYrN7SbbHfVUOqsR+oYhuXeTgRmZxP5ApvahlvXv0R98Vs5xHvPoM7
SyUWz/VdL6ilE5GbyjFPl0mBsHBcUqN8uVrO7GWTZlk60zhcI9UXfgjSYQ+XdD5P8gOG4iJNsvke
7VSfURJMqNVtz4/gcY+x2Wxmolk9Y2ISEn/U9atT8zF9ENprigrLhnxjUYAGYOCG41Pg878+eX/5
u54GoMYH5Jo0gFNwCS7489e/edSn1EQIRFLlVz0OfCJoOPDl0VCNlvFahUe1ikhk2Zm+5yZ8XaaL
7a9/+fNX/RZg9kF4zS2gcB75+GTA63S93X+jx3wgYFxc81zCgwUR49MCy5hWyXZZ6PEsMQMjCHpf
xtZkeP9r/dGvd//65xfvGHKYkXAiZDQ+WYo8qSelowqWpYqr3lzhkNyhstA1RDAWgSiLV7ArEkCC
qCDD8EE5K3cntd4QFFNnPbuB54Rjdaqk3B/mHtjnT7ylpC72jflCPLqm2CcTuw4bplXj08s8XSwS
nMC8+tvkZgOxjlm9Pa2zc9LrOHexgsvsdr3fSG+XKySwA5CNbmFBhB1z3UZqLMw0ZleuJAb7qevI
sGuwb8wn+oZZgSXwbueqDotQy9s3YX3LixVaTug7kLB6alUTfMCUSZ5BnOgQDQO//3IORKv2p7UU
fLCMwr4D5RWlvHpATX9QGWKygiR9d5+Zdv9c86iTXMxALgaPFUJehFxhyBwHqitI9nJnVxrgwCl2
UOFM9F1Oc5x9lZr2lPIQZA8fabxVDOI8KbeteEloWb/Ne7VWEL4/xrqo3g7EfSPjjNdFR6cxbejI
QOh5cDc50vAx2aSLFw/+9CrwK50CAUQTkYPZ+JTcP2TwGP8dVZksf0+fk6z8GM8/bB5KUzsFu14P
nSMdFKYix6gO9mu6tWjTo+4PTHaV4TgRi0NkR/WeOBW4YCqreDRfu5rDKU97wKSbdnBouoSbUG43
uxliRnjzZHsCyQyMT8tsauOIbxjgnLHBAMEGon3GRs4qb5cv9+mtwkfDgavmxcs4n2cG7EVcM3U4
wW49qFyuYScsNkoGIiU2T0L6lcv4W2LOwZOqiDQYcFAsF1xvim0xwyYSjWYSevFFAsuaWqfxKyQU
7a0WWELhOI2bF7kXl7M01RvuFG43NtTYaR5vXrzty1oPIKfSyOlQg22Kb2A+YzKvdjexWIwMJQ3u
d2g9J/MPK4Q49+LFFvTlWVaUiOri3e/KF71+rqASbFhK9JqEPtwrueqO4pyhg/FyL14mq0NeTlth
J5SHKjlHcKtcdmFIBsIcoD3ifPlSbmHQQ4LQY1qm92mGcEVf4Hf/wByK0uSrsQM1tyH3LEtR8hsJ
TAhGp6z42W445Kb7BPMyzIX2WFxDHYZ8lfwfYEPfPRWLRavoCrN2hRh0ObNijh03MWsuLg3tkaiw
PamDMY+XPK8VcJseedO2jtyeDsbm0oQQYak99Fu99saVwrJExH6lxSGnJ1EwKZ0g5RUmcDTQBBqa
434qu7zqXWFUGiWXlqCmp2ZQKYi/ruL1u+1zy4qMmPNFcBaPdzE296Uzq3Vsd01jPOUgu2aJ9zDT
b3aAHcqGGj7NS1wpYlVXIhMnoTcLkPZWwYmjcV+HaALi15/VbUzKthKLbcVlHwndpynLQ6snjnM/
FrjVhcM6Dnbsm36+8T1GW+6zGMzW2uUCipMqlzajVHDsoBP2mEJXS+jX3EDVHLqqcANlGehWN5Kk
7e219baPMyGhnVDoX21CRDshl7O2Z889U67TmUq5rmGR9YoDqVJmnQc7auahskSZah1GWgVNoMkL
OspYQjcWwjoPMNbxGW/VK1Rdl3g0ymCBdjA/HOkGqsIKuULa7Ag5EnUPujCpk9ZhO61ASLejM9BZ
lrqzzBkdZ7MM0AEYz2JXIwHTkoCKQfJ7jFH4tscezGnM8vV9Ytcq+HxqrIr5Lkt0NNBvDCcgkRym
UuUgFOsXr67vVp2aDa2iKYMDMKxwqMxOb1sUoB8aMh4IYsrK6GJ0zvedopcGRyih1pCD9pTY5Qgh
cfiBvgsGdTNS3AgB92Da2S2aUO5bFvYOMyHzVALEj6dBH61eedNqHIV19n6eZPHLHZzxNgw2F4KL
wRfd6CO9y7bpOjvEPmtS6A0aApOZMBez7bTmQ7WaD2GjKCNcr4zQUQYTusGIGEV/lDoq2oWUzx4r
0I4l/RG5VaHGvDmtCAWMR6hcFrts/utml9+9JOXNrFzfvf5gCmPv5zRlH7AL2c1vd9bDTumXA+bJ
DTpVNmnVZf5uu9klN0pg3KnXNrg0Vk7QYESSGPtDU/T4R7+LzYCPpjSoBK96hXcX3CA7rJPvi0x4
GCUHrWFKP4IWARRAvTKebZNNOQb1usZrYxFit8tAXJuoedGm6SX4bKtnNYEtoEU0pCanDXyByoDu
3e+c+tvLH3QZuKgTeuoXK7jnyzKZH3IJzFjE0hZV0Mp7qk0BarpUO7DUBdZxX0qFTh9y9MVXudFp
nqW5AelSdWAY7Fw04J4MwL3Ssl7pzNCDSnjQxloo3MWMXcyqxESlXIVf5t5a/VIZmphoDV9VEMNe
kWf6PAWMWYxkZzXMjj6zbjtJ0C6RYrAjBsbf/R5S1hwuDCSCW/KBGGmeLDKMk1aHGuWLd5/igovF
wgA1ErnZR73XTIMLcjJWlx3zRZ6AzEs2+HUM/LFUXrSjnxSbPc9Un+ibsxPLdjnD8/pg62qfBgoX
jh1qnhVn7Dv52sfqmC1E6PkHY98acx3j260Bd5aGoWUHsYHYVE1KvdEmu2EGsJSjagCHXerACGeT
cLCAy9tt6dwOShDylorBGbLWLTslFsdEQ8q/V214cO1XV+oWRH5wGear56fNVkOU26FmUXUxxBFr
oJkueaRYgJBRGB8jOfcLUP0MfZZ8vGGiUYl/TAsD1L1Kn+iqQTgjXPN+HZfbRBe0oWH0PRueFzlu
oEL7Z1O6WeqwUliq7TScCp5KUOYYfLMfg/Ghrm+1ZYpP88JLnoHgpSEDMPIjy4aTVmelDu2CgYZf
J1aXBYZ27GBLtYcFqxm8Q0RlEa/S7EVBGi5ivWLAQ+6WhXdWmYhTWme9ogRE3ecsQcb/GYhWrmEl
5N1zm3KEWKJfiEtjpl3PyzWGd0srcORgdQXJZgMWRlXnpCCrvXKr0neLvKrSxi+qnleqU+3mMUGD
pFwXqs+Fx32uB2/y3XbLWK2kYXbBJPouemXEH2ADMM0S1nmHRco/3L7Ca/+AnvgjPNh3qzVvVccT
7hJ96Th29N2zttMZRqPZoCMxQ0YONpP/rq937zLHjbjvLAi2TfIfhFeI86o6ylOw9JsUPloZ2qyG
mLXM+t/6DfR7LA1bpQiaigVamkJhPpH+WVrMiYQ4FCO7EuXDAW/lvpgfuy+4qoF2EmedR5Jimp9q
u3LGiiyeSKTrrsyTLDlYEXNgUNXmAgSukrcVOGwNOzWry7se03lSwI9WxaPe3AhVqSYddI0koiHn
lviL3exnteSGYWO/cBlFEz5YNcNBS9WXhtYNG75DMVgnld3P5heRg0JYNaKXFiSHXX/AQZO5VxeO
Kj4o9X1GsfWiVRxLXlH18y+m/UXRCNtwOqwpbItbzhzZvPOggnDLrMQr73zz32W4wI+slEDZKf6L
h7h9aQZ0uD0G0Z4l+cN2WRpis5iG58DNYJCior5JftvBeE2YFWU/Hri5yjNV6c2aAmYmgMUkueb4
UeB/94JN/QGc6i/jx0S9hxdlOJSX4vaQE9qLTJtSwV28QrYZQNUEFgAHvFOlGo0Xmc++c1kXfJwG
P46x6dWTdV5sEcrgKtsBR1P22I20LDBuMP+l2GTz2/sX9L9WgdQn/MQDKuNf30DfVbH4xKDrEs6I
ZZXWNaXEl6n4NApjqCfrGCOQJBropnrN6jkF/EAjxHeN/AsyRuXY/lrR/SC/TuU9UaLaEZ2nI1Tg
pQbvGOI53IHYvDG7yXTO3bborcC0tLiMiHF9xlnvMZ5yegQTKejgB8uQNXAIFKhEjlSv8oaYxs34
iIf9gPL43mIf7bLRVVS0QkR+46XF3DJPYei77Gm/sdUZgPucioFkRHUkS3twk5BRS0yys9QWalJb
mHBYqhMOmV2dpuyPQ8Y4u9TpPFC4VD2SjHIVC+WI5IOLVTqWWMXYBLfCRTznFBxXPh+fh/+0m1Xj
nU3lZcV73/PnIEoPw50pSivQwSpK3xaidtjnQ6kcz0t9nl1AA0sXuCtJTVSoyhEtux8NKhBMQsAO
neQs0c5Mop1EYkAfBZ6WNkwRNtWQvxe9Y9jDcnX5LHxyWbnIfX4ZcdI0Xkp764VQTDyPxNAnLDD6
fKxgnl15X0MMPS0OSAyK847NbeS+KfuAJjH90q4W/LKfD1br6WYEnzeNbx3e+x7INzrT32ZzhIKx
jhCeeYRCsjtC1VQHOEOU/L8y09jg91loPG1n6qM23BWOxV0hZigE5DLysrONiZAc5iMvzeeBP4oJ
rYpiVkmpoPiNyNAB4qGE4velmCziNNMqJmE0sh2mIWob10iEqrnjGE6ZE/o7jXoJGdgqGDyNM0wX
LVbeXEEqocO26mSsjzJSatuTzFLPqkMHu+2ylc5EJtjGRjhoV69NBW73uKkekBHbNMfzeekt03Jb
bF68dJustA5f3kY2w07hoyy0ysuYkFBeRo80FFvYlvqcbxBWpRWYLFd6MTDZDLTX2TI19Anj7Rra
sUlvhw7Wl8daYIgVl/WxE41m6SZZZy9HqeaqsQcmCURizCtgvlutgRCq258m95y6LdnuDjQzeICg
aEyMbpdUELPA6nev0rsVcLNsY2bBcEsEI0NV1E6sYTFX2IfhVOvCPNmofi7//utP/w3c94+K+7xy
CQbZbGeA58a6VpeIfCU8yjc1wbNv+3KtVhd6QSaEOV1Q56oG9X63b2ZfdcVyUE5WoDzFjaGq1M29
2Hqfx6vkbp9peqN4TP3i9m3iKa+asgXBRTisLdSQx3rl4TSLWU7pKCoDIc13yVzfMUyEKHIGv1dr
AwPv1EWxQRfvOe4YGIsduQTGvuEki4Y49Y2UN2XkfMJb/Bw5wH1sPeqPrmZ0wB0HCqi3n3e2+JYm
TaFQpqt1lmhKuyidMDFmHtIxBmFd0mvAIFRN2KILeOeMJ6LllIMH5ipUeEmvHGeYrUAGviQOe1Hu
7vdtg/SJCZiF5JJwoxPQqOrFmLpuZ9iEbkmig3oA+qeV7f2U47kA9JvZPlKhj9hkZCidKs3j2TZ9
TFTW1G5jaJgT2GJCHK+9XmaDeeK5Cc2IIowtDy7BpRrTKFSYoj0DOefoD/pOmbC7ImLulK7l4aF7
i8aBNGEBuU6OLCcBu5wnR4Z9/FWq4a3/LkIMiRjOptcAH+9CHJZwBfeTeGcuUwTBsKqWTix0+E/g
bmHS1frwjq0PkyKhqkmGcpvYG7Bwb2Mxp4tYOIuyemlAfAkWRTD2otvSEJftpK7UUqgeX+FfnRD4
kgzkVE7NtUiCUEv0t15Z2MW9KhZGgB3Mv0Ztc68eo5EwZR9vsuLh7suHP//07qb65g5//EO8XsPz
6sa1iPX+Ld1W6XV5si1n8Tr5E/zHdIE4z8m8MsVP/592P6UJF06Rwk4VJi8aUQusj37JZ16x1qKG
MGpZ/35SKje6Lq2XXiNy0/LQeNjwz+9zFcCx/bCbpyrFXJlisEzcaQM2Cqe2uHvnuJ7gSn940Pl/
OImAwXlvleFwZjU6g0QLZnynhqFbI5DTJZfUUvE28W87qZWFDC7dYHBXUy25quzVSlE0tYFjvLcV
B3rL4QYwt9cLcb2DeW6f0nxePAGdZyCzvuE19BlRS36qf6MvncEbv9cUzo38OdXpACGBcZpj1d39
Si/G2x3egbIPfAVzqLwTeJU8g6xeppuOrtjYB5eTgb1oStf4RW2GvtEvqHLhZbw13X6ZqjgJIaeP
zQhQTbjsIe3KJFt0ayUBXlJyPPelw2FAGe+UT38k43Hx2hhZ34jkKoEV7v1v6qBpMVwFHDSf9Bqp
cTk2xtQTDfO8AiflvXHlHyl5KXD4Zhs/oIanWjva6wk3lZpSfXdHbn67m7JPuIraEemBhZ0+3k0p
/Qq6+if1M3gD39bnCr96HeSfMHr1I6VSVr+8nbLPLZRoArSQIbm2/ntcbK/+fQdKMfVFNJhyUx1q
Y99gEWFAnIx0sXaGRDl2aZM9rDp1bSX5rFA9xbUGXUAwr8R9iIatvNxjlZU6zCM429LFV9geqBaN
al3VfdQq64tAAw4GMiAU7uATXATJoS0wSJMKRGcd7wyVqwzbIpCL3UldfMQi7CslxyH9+7rj3t23
Ig29TSuOgeUU0YX4i40zUPcSsR8LC4a7i81OEYZ6jk+HWuJvuwQsit12EapFqrd30x/9afRl+iOZ
hj7+/TFUr1S9CvX5cS8x4TtmWrZmVe7uT55t5nNQf4bLD94r93O4czbFiz4ziGMNfO+aoLdR8M/P
s2Rt7NceBMLNJTG8ArDX669+6/uBS8mUMRiS5os0T7co1Yu1tlCIhCEdovQW34IIyZOyrLoLaAo2
Ay5gPNrbYJgXs93qNX7l7flBD7Zm20rARruvBFeiei7+H3XX/uO4jaT/Fd8PPchgo27xJUo5DILs
PDbZyyaDndm7BQ6HQLbVtjK25JXkfuxffyxSdtsWKdM0ZU+AZLrb/aBFFqu+en0lP//H339+cwzy
C+MwIsJzZmc/+F7vk9a74NyttU8blpqnxbSep18gHQARA2DXq8Rr5RKOWZ8bgPGniT+Wk2k+fbvI
0kqFB36VV1lfTyScUbcnNwGA/c3u+qeyZZOfVPRut9ZLgvZXVT/VWTsmo2jQ1kpLxQlW5doqU9ws
gs/hLbMk7PVxdm1vJudDiWmgvol0JRrC33ZhmTlpYawJUEcw7Tn0rpIkz7Q2XphElvOOLdHqrITI
qT50RBwZDDUB/0KyY6dFc1itDqkGly4X25N7Lpr06b3cTl2HDYmIR3Ver9JmMn9vikQgmgBhIPIu
LpCGC8bPLwME6mCeCdWjr5Nn/MyeBI8K9gZ/uL6OpSjyi15+Ld6bLnAcQgY+GUzgM4Oo89CtZXUo
U9LMq/JRZ0AiMgTq0CynEsfC9SWD3cfNOC4Zan4QbzM3cR/BoIvYn1YXjrhE8HA59LrdsWTqCB9c
Owvnf7LxJ/lT+gJVIMzG/pLbW49pVZWrrGoMXGEEURjRfv5Nbw9VXAFTFhEPKFPL9ElxxOo9BThY
4p9yRpWO1dUkaCqBF1Q5np73ODkzh+wt7vHha0DwlBJ2fqVInwdOgAPPqdthPd7sqsyxzQ5S+HWV
B+smX+TyRnUjHiRho/icFGlHZ28fU4PwMVTRYv9PCaNblgDbIC8wzWeG4SkjhuIBthhGTtxO6m40
Cao8h4zryPmZq3SmLz9PoPyIuNRB+sMLh2wLGqxAqacc0W6KZi8zBO+9TdGods9v0OtuwxP4ZCiK
6HBKP6+ljAabPoUefI+QnEIbDWJfm1JORDGpIXJ+wYT6oHDbL2XzWYipYTA25HW5N70H2i4r0jHU
DrXTm5rGkHVFFAgkzyqr3BG+zXhIVZ9nJCsIz9jbZp7XwT1kQKcllL1JnmI5PFr65ft3S/rlBEwX
+mqcRPHfapHmxfXNOR8g3LO95jARHno8Vk3fBQ9lm/+Z7sKm+QnCP1AN+phWU3EBmsoAnxMhESQZ
AlkK6Qetm88K8fjTIL/fTDWHLdDzt6LEDWMf5JLEsQRCDOq7UE9vj8IoGTGnMp6H2d0knczheZZQ
5lrn/zYokwjmSES+dEm5DB4rSIoJI68f6o2FJ+Qv6CXLbvT+FpSTuqVLjAr6PgMjaOaAIHIvmecC
tO6mfi8LyVRr0g15r5DBpwZmNt1CG9rbeVq9LafZN+ETi78V/xD5z+vX4rfutr/Wnd8yYgMw1x+5
YXqKFhhmR70fnS4CIzxWFiZe77Lqaep2xAl5pFE0sP62CsLKOL7LBvcmp7vbmzCGwzNLjPcvfFo8
A5DoxPG5YzV3rxLLiyKrfvz8N60qowAAsX/Cl5bdFiZMbNoO4a7AuVZF2jfFm4ax5Sg4a1nGQcs8
oA01QbAn/mpAmkRoO7BKvFSUcvLNtWEbwwgPZxX2pVTZhnw5g7E/1eTNDebpuFw3340XafFFfCVe
LwsZp5ffs7cd4le1RoO4lJgeF7kg1fAeI1kWMMRqY+1qNOHDqmsbjzoEaiMcXkLTGMIx8ZkXfV+H
zxblWCz5kFY5OLx6+AaTcxn3rdG3zbEvL5WrrBAoeRa0t0KfsGDw0avgGTjbxX3C4WC6YksToIGR
m0DLrfzRb6C9YFeRIBnVxq//cw9EblSJ0iN3//z06e51t35IYH6/m6e7rWREYuZ1lYlmFSaAxnCR
tqI87oDzSOxp5OgV7g18TZ/fSifxZ8jT6SoYeZi44NX9hWZVlhWf/rVOq+xWfKebjxMAnA3v456l
QPuVSV4s8iIz94BQTL+OrJRCSuE+SNLDGImZPv7w6dO1Ql2EcK9umWFuOnSoDzB3RFxkOTnqWd9R
kcgqDG9aPi3E+VcQxdXo+kDmD5TGF7obms/y6Q15J5S5+r2fcwCG0EwGXHzqOzeYqJfa9EP786Dl
b3AsDEEi7cP7t+qbb+/SLjikHMBDOKSybJtIJY+g2dtlwqh6xC9K3YCE74aytYy42nC6HJfAvfpp
xBRzgKoDMkS9VatsoET8YQYR3AziO8Yi4ggq7SJ6sWfGToT/JwieibsA6g/YULu9TUq2zdTYSH5C
vXpJVO+XxIlbFMl28sSWqG+btG2J+pwozg8eQTG8xcwmGM1dxWS9mlVCLfUqJwzJy9PfRM9pGS9G
JCSUuphVB+goxIOf/lS9KvdIhRVwT1LmsOaJcJWe9WAnXXAtmoSmeqsxDx4kBswHs8JH/Ku94xHh
A95xIGWf5Hl7xdXIFmibCrZ/oXXptDHUiMlhOB7PkukD/rElO/l5YtuGkYxUh3Z5Y++idALHdztf
hxP/uqunegXF0MrmVQyMV5pDnaZVb/mAV+IlTaW9FgkfYauyeH4Wi/OmsCmbKq9Zy+YcCfuMzngr
/bGD39OHtCWZNOTMKRTDhNTNrmkiJAFM7540euOCMbKcGOtFUWidchLHcsRbn3vMh3WP3xicY3j9
5cS+OyV7YuMtE6sOXmsdoB2glwDzrQtMuoYajpjX/VA6Ma3zTh2A5RigATXiJhOk14cwxxlfUh+a
+gsibtln7kU/6KOptjX+dvZ5qwiON3DYcVlZy2NsqPqKLUkzrw25Jf+mP8jds1E9FzeidPB7UUjk
ZsQICRbXM7mEk1E3abOuA0g36Du5EiCMP/2NdOt6WqXcKemJQiADiIdSANDjI33fOsiWY6GHNiUw
YhsUcbL4CT2LHzDm+ZQ6FBrKXxGwyDjCMXG4wDraFnmvskISQm23Xd8xiywb1hyla71YAAtFJYO5
UsD0zV3cdqiEl8tmMEA8JJZlV71RHghar2txpbN7mHQsVGU31kMgcZ344jephVBvDxryczKK9gbG
GR1SsQpbg+zaZe1l2egOEnGySYyucaHVRJmeC23XWHa6mT/SR8IvYVHAG+mJ8hEYwUF8xoWRtsg8
4tyymN1Nu4g3AlpOHDjomZ7x4Q7ivnPPXj4NpgLE5nUtNll2yqoXx+uxqdQIiH1IFLppFJn8qtKZ
7FCCZoZZVa4LfR0VzG2zI7a2P1J5rcVfNzg1UXKBe92+Ym2prQtnezV4NRsH+QTqnIlGd1Ph5UYY
X+ge93krjJypxvrjR1bla4BPY6/2RBvh5UBpgthguuSxKgVYsiiQYm73TGu3hTc8+dJVJTLn/5DX
+VhfHc0jPKIuIcyePT9y2Sn2FzI7Xje4XxloWQeIEnIVhdSPNBLbOpXzdAVoCn2nF4+hHyP2d3yo
0yARn5m23AdTxVpguep4UoOGPgOaSF/DBUwATtmCI2qn/KK8tF3+lGCcPZfFNEC/aQ+SECpQa5IM
pe71nW4CwYV80Hu1Wi0gj1kJww6TjMppNk71zMUUwBwivsCcZF+v1qtme48l1NIjWUkWfEkd6LsF
T1ZKR5c7Se0BUmZZnWaxmcrlg+4/kJkgbcQOjddiM/UZYhRajm3iw9bJ/iEKZHHCY28Kvd2TIwod
/DR6AfGUwtKrZSgRHjK/0FvRZyFg0LwvrPvCYVULZzkQJgiCUpnpiiJICSNPSWmneRdHLrYadSF/
SE6zmGZvOtQr97ks3E0Xt/XjPVw6Cd6kalSDJgWYfEyfa6EnQWmqP6bRmQJnE7vx027mf5HN0snz
QbZuQ/DeuiH6KgYM8xfwkEIqIe4mstZGk6xC5TjE11ezu42bfxCtS5KEM39adzMSaHN99PExWbWD
hrXIej0DEX92DQE+Hhp2qZntprnaV3ScWyTisgxlYL1yok5BTMgCvcCRtK9YK5VEjoM5CX2fGM9z
Mvhie2cL8XfCW7xL8qVuu/ymEgkjhwGCumJEXAIX7byXnXWFUyv7RpTMrWbfh53VuOQ+9rEYgCdV
+UVuV8Xse9IZTEGEh874HwNvH9iLq8NvxrzH286DXibgJfcFtu4OfuCGjEEuIvrtxx9/+X2yXDxO
37H5+C///Tx9O3v6r8+PDxP8y3P6zz+HH2dv3hzDXkxgL4zwVdTR0ZgeZqFHfTFb/AZn8hvQj8CA
yeK+rJZpMcnuoJH/7n5dSDgLxTfp9GP+lC3qP6fTH6qZPukUx2TEObrcG1wXeaPhekSReCMsjC/8
RrpqNgnjeMRcElanpNtRqEm3IxaeVxy/j+pqYerH5ZOkOjJN++SEWXIuW4GLplnBeMt21GB3JjJC
EYOmOBT6R5FFU5WqgEQfD4wtR4s7awjos+pPplM5OoUPYVSpzqgy7i/UvsOkqim3U2m3EXWqyDLn
r3trxEnCgdH9Akfal1eFqDcaBpRhLSgLyR81MCkxkyy9Fp9t1xSf75dfd9CQcYlOUxyCIegJG1Yk
iqzvjjMCnQvJ1SHZgTrcB2SFMAdAu6T2XLExyV0HKqajMFT9fMvq1PIZb3f8u/0KXu0jTdfL5bMM
t4VM8Tn1obsYaJhp4q8Eq52dfaTQmkoWxTOU9eY+r/JJs64ysX21qdslgTiyS+X/Ca0MqidbKBHk
ApQ7oYpgVWrjFVDId9ZZLQVmnb5V1/CQv1tFLMQDww9n7XQLPVewsH4xHUQtc61epmE4yGqxbjF8
FkzUagyh3Vep2Nw1aJplXqSNCcMwS6LWY2ZeohfDJHRiyfR1sMYyrye7qnO5ap5vy9nD3gLiWgOP
ry8R3UpjKva0DB7yaQb6WjFwmIG39cBVn6b8jBDFxpr/xyvAA1DpJQzA3mTNw1MMVXRiX1TWNdBH
LjOr04RxGztPpLY2XTdz2VAijZi8J8sVVaBB/sSd+LJz4Chksb9SP6QLDSIqefo8RB5Nf96pbbnX
RATiWGeZZlQSBXJpeo6/JMtVwttkd8rEah7stOx0zFMAHDledhDr6uhDiDBEjlpF+O1Zk7XRnum6
Uv0S6fQZWhUy1VChT9AK8XPpVDvQZTbrm9UNiaULfC4qlTAUyh47qPRuB13Os3w2b6BHlYXA1aeQ
IgaBqPehIqXEGipifPskcOxksW7EqoBmVxqwSCRlF+FDgEVzSQLlkUA9eHC/o8cRZYS4tee4AK8d
U6c34MgND/VDlJ0edUNXDonJIJnCQa0qMAJLo/py2v12FRpzeOJTxKU2OV50E9Iru7UaCdh3bFun
tNMbvyUVVfOkXx/3OqG9DsXDVsGtUnG3VPqk72bDqErqPe++7bfTh0vZILUZnYdflg95/9MDzahL
yfBBDL7lK++JwAcjxKIExcM/9DafZKCogY4/TLC3C96Uq6OkVTA+Lbzy9d4XycuHrG7C0A6KWISs
SBTzyF/wqM7/bTi5OOZuKZwzpFavpgQGYoMkN2JdcgO7JAuPr5Xo1kIu1GPH10KhdjGXdKxFJAkh
XSgJcd+hJH3UCAOr+PBCeiRdI4WUD9r8c6yhlpIzi8v3dTsEVP4ijlgoiffGKUQIJq04WdHTA8xJ
yPh17cjXnPA4bjoY9EkSPrSI9uEPzLFbJ7RuF+7T9VOLvpC+ujMZhGRN/7ymaWB2pMCnpso7lxPK
t6Fv6zEvpuWjdu+FObejHHfaDunH71cqQBHTNBPHtFC7VTd6n4DJ6RPXudsdIVLXG4JLqolJ8pop
X0/csbwoyonYg7b2TLzS2/AEW04Ijy+86eaNpm43Yn8c1q0uDo4JH+DvogTHlAqHGQ/QiFI9ZFUw
WZT6FhwcC0/dCZ8dkTNsUlaIJd5UhdIDRym/pF3wLp1tCmBnupcc0RTIEU09KioOBZhzSa66uOSU
AIX6lXUO3tM5fKNz+Lk6hyce6gvagBiobqloJvUKosUTfd4R6pV8NXHs7BAx5T5QTHzfljprPufL
DER1U+6qbcRFsZwXfGXZIVvZkZOM/vdxLh5IqLT/O+jaPV2EBKYX3gTy1CML1bFBatxNKrvb+YBn
qcLQ+qkN+HrI42BblBKAV6EOTr7+Ru8SiO8vs2ZeTt88KcyfF6t1s3E86vV4mTf735BeypP4RBJz
grPxcZGlddb+jvjwLB5AfPj40y+3Sv28Ksomv39+VxbZG/SqnpePP6j3hDoRPnAsKCH+pEU9fSC5
SJrGJDah5Rh2S7GRI02qbG1CA5TKDNC1REW7JzsyI89bfUuc48tv7HiW2VMqZ11OyuWd6ZA/vPxi
56CFD05wYlWDFZ+MH4kVoU18qgDJG6BvUBDeoVWIKnbErGc9kMnxM1fcR5iPIqtsjt81Me2vSY0v
cilezvnwTmx04DBXApx8OxKY+KSar0ldA242bz2NMXDRerozsIqwmGLJ3zOzpQbhtiomjfsJb+SA
8fpOdcFvS4rHaZ1PglmmingkKax5OC+GCHPEvb2XnQYf+UowqTJxF7r1S5KZIhpgXdvdMPTzxkjg
/phf8Y1pep5CmHMgDMZV9INepl/lxY9ZOhV3W+mJ9qeUrpBfvURk9zsLv+0S4oT7MPolCLvzZ3Uc
OCTi0XCiK35CU3cHzf1HKLj613OQiC4dK2Fy3m/kSW9BXleGGQKZAoMRBnrqpEQWj3uTw3WTL3IZ
VtE0+sVEaOfQcrFfP37+6ddfPvnfbQbPTeRonH2VXctCP1muAhTB1Um7scMbWFZ1+2Y2lbOdcOOI
Ee606TvLVNlUWMY8XdStNVRbkRdrQ9BdeOeRFdudrbjnxX1eKIascqUdBoYITRwkej3eLCJ12uzg
0bfdnbpZwCxm3jSIOQYaYkvqtdO1OJBA7NxaocuzAsZlBy+XeqOkx8pVbQeUbLDbAd1O/5Lbhe70
c955NKLIjhbMTWan+f19VkF7grp6pmJa4uKTnHw9aQiFQAK/uyymCld310oXC+itrIMUoKv4SkV9
xXuQwy5klPhJx84t8AEVfmV4kpI4cm0mVVnXZZVDCDoF9dh7jyBwMdDiIAb1kdWjaKjV8yJbiE/g
RvW+BTLc7tu+BXyWA6XHA9JAVuWyr0cd/BkeX/3p0RCoXep0g6+AoAoztipIdFpW751Qyn3ZyLrK
g/usmcxNg2wIc1iry54EXxqJcxLGsHT/B9hGFd+tNRpTgI3QroVtYLUdstjNh3nIs8esgtKV1Q/1
Z/CuINhRN8+LrJ5nWQPdGFpmRn71m4rp9VVl6GnTd97H/vZ3OVRwLEf4XvnRgVt74EDCDf6w+TXg
Btj+ovjiiGl5ZQSv+yGDGxxrWHRh5PwTi2/wWyDR3X5I4D9IDH8wMurC6HfOkC+hyJ7yuoGejabK
siBbZLKhdlKl9VxzLYFJ18mVNyr1NnOvc+FDCtED/0BBHaJFDxCHueMIX13zEmFyiH9vUw7Gg6Of
5jM9YyCSJnxIpN4ef3dpmBDKhsXpprUJEMLgCyg/4xuQJGS+Mgz9/XeTutZH22HWCvOkZJRHrGeU
hdGA2LuFa33webZYZZVGkSXC+3fxu/Wc7tshjzVMmlyLo1UKVFeRBwWxUTxU+ugIVQAJLSc+2utv
gBH68iBCgdL7rD1e5U93i3JW3s7y+84ACIi8kuuHMwinDA0SMLNMe9hYNjNayXdTIMe7HbuARGAC
EoUM+TdQSraEZH/fScNyy8F97qIVx2TIJ8KaJ6LhkCuS7op2E9qdV6SaZ4zokCuy7opk2BUj3Tme
J5lF9tiWzL4YlnkOWuvZML8TiPsHPUmueUrGh1wx7q5oNx/AyRcoQNnOM/GDmqwW53zEkkG1QaLZ
3yO1ymcj7+3irzTalRLvOaBjGVQUX+yBdcqXn4PJDFXx8kMwLdUM2CC9v5doAljHtTdZYENCwoG9
nt5zTxi/2PIGE3gBv6tf9MPkUnJIdAYy+goSdAmJL7UHGpBAXEKeFv6R9Hw3X0teYYNPSiS37oU2
gOl0PxsUTYeaJZ0yDPZL6hB86F/lbgHTVunKKJckJNT3M8vpYOi8UMBuBUe7vrZBFbPIchya+0bj
i8N8pPUsBhCndNEA5V9j8AkpFHQMvSruropJNIAcdyRKK9FdKMXAH4/xVxWQ2IHXLwXbB5WVasLq
fnWlImb76V61q0CMIpMdLMIbki0xdS2sHjTPFLIzvxT//DV9SD+1TXWh+suv5a9khfogp27U8F3g
oHz/7haW1PG/MSL2kfLLxWEtTJN4QzI2fXq4tF7A/03QVGlRy04kuf5OqGia1xAi0pNdYFejdGQr
Ns+vm+MAvFnJ9dEQSXhE3Hb85R3Y7v2Thn9YbANj3j3fndUXefFFm4FLYksGZj/PXmvYrEeUOVgS
50kewkfV5GNIxNgojph3VJo9iY+NjMyeAFDlcGXsVtxsa26kipfdhfKUDgpgCRdAJk4wHtDwteKx
tX/Sg27ZcLr5QiypLi6zI9vKicNdiYGsMkZsyF3ZLq7fGU0th8ADLHK6QzZzWb6fLLK06jRKYdCd
LnrTuy8bujQwGagkBPwRT/sg1t9wj+s9SCIEAUWXQQ5uOoSGyYjRYfNWQTsLspgGqsfOVPOdLZb5
9I1Qw/Oy+lkYIwUQ0z/l0xvy7uXlP0E5t3jlxXjckB82RTahLJ15L7GdQHRpF9ERjkeUUkKHgzE7
h6FDNCgaUZe0kkEaH9JFPt30RhinqSfYdsjxabZLGvPejkUW2o4sOw26AF4J2kmj+rodKCq4kDWQ
JHyHhgDuf8RC/4ZALNGSrcgBOpIHKNTyy/AkkVUkF9kEKQIdjBCPaGLHJ9kD34Rq/wm2GL/78fPf
ftZqW6gTI+GARrd1Y7UGVxdTQiD7l9L/cA+1wSYsBeD6JpiJ/Yh8YfhdyK6ZJHPYCCnT+QK82807
iH1PTjwuvAglBOhtQs9WISskGfQiK2aNthAJwRADTKPB7MKxUiR+cq7LWT09zauOciJQ28hOKjHc
QeH/WouLgHAM5Ksd3kUcQ5NN7OlEN70CRRnU67GkVp+U2nrVOAH/4ysJ/XWMtLkEKb3BYfuTkkVT
Ru00RdPfQMn0t1ApLf953XKvv4VfNGA+FFGhBJFLGVrvYexMItk/Fs20ZSijHdQ8OQyn344LuNaw
YeLUsOPbORT4xMU+njgqBnPqHQO3x20gSY5hghDx7Wks0/qLcn2htlY2RChORe1bEBrWKZl95N5N
svwhE4ddpc/jNXTY6lO4QBcX28+LioeaF9VyA2HikkiwHkLGonM8+e18pRbn9hDc4giyIv4Doe3K
R9xJJquihtLkOtnqBhp5BIz8vuHajgmRYwvSiTC3+oQ1A3/eqdzPxbkwHQZO2IjG7PpW7XC6az0X
m/yYinO8X6T1vGvoLGfH3pAP4FxD1rXY5FzF8u4jZSNxTXEYX9/qMZqcRTlgGMdmGsSGgFnSv7SO
SxPHI5fk/I7adpo1qTjpdizaCzWYniyDuBWlHsQ3Pq3Hx0IcDI+wS+SwM/oNnm5jw/+fvCvtahvZ
tn/FX8h693Xc1Dz0Wqz7mBJISAiQQMKXuzwI28G2HA8M+fW3TkkGg0uyLEuynNeddIMxllR16px9
pn3ccWFZEQqVw4d4BXKiPYjgjZmw8wdlBzABYubj7Gyh4NOeCDXTkJK8YO8naDskjwpvf857IcZ7
MTojTZot2+hJmtR/IhxndrHuBrBAMJ4Sm8/Pho2d/i4ENPHgNcWHFh9+bGA0TgfxlkQ+djcc/ZAG
cSQbgZwW9C1uW8OaF0vwxIkojpaHSb2OFsjVGhHdOhuGeS/mYVGWJXDtSMj8g9MCBePwG8mypCRT
qjY3OQlWxmGg5UPKk/5t378Pfp4OJr/4iAAzw1fV2ng87NQnYy9D+KxEhWmssuI9MHfU7nVdzCOC
pbM8sbp25PWbi4MWVlpy0/Jz9zAfq8REA+DIJW059Ab+EDpSO1XPNsKAxQkC9eYrR98VIUBBQHSh
el+ulBF5wQMHfeHAAOfcbALjP9I0la1i01CqXsgQUU1GAKNsLXQ3IqHEE86azMyzlGlS7K99Ipci
n5dGqIVEqd3KxZf7d+BY+P3562pZrJyoNCWXSz7mzY3jOWnuy3vj+47rIp09C+TT6Q9xrRP3AbNX
jsCg5VfHftXCg0D7OuKZ4OJJmZFVNXrCZVJV0rHDz9f4cnqxVFkkBPzCZ5w/u1UDHzgp9Axplj3H
R+DKxpPE6/lecMjY9fMX6aBVGgIWctWU2uixV/e7MEpu5EipES4hdcfyRtSR4mQwgvEPUzUplqKy
ZgWx5jhpxcSrA5woKujgOuPGTyz25EqBcrQGLpyrKlKpAnGM4AWVplmF5cSKMLMss5qnKCcL7FMk
6VTB9iBV+G6V6yleuBQTWrA2kiirGF1vUAPG18Fc+YYSwESqsgJIDyCONqExD5ME5Sk5gOYT+RYp
xOXxMQNMtA5vRpHi9SunqrCwitU686EVW46bqj/ZQKOxebpqrekPxp+hqjOSXU5DYHUlmpxFyOih
PXTXQc9Zb1HhTObAqvIcS7KNSJA98Ma1aqfV94cRU6gpN+YG68xj3WGLmm11AYaHGKZ/TejSPpAL
Gd9ZptYbByzGxGZv8/M64pM0AjwPqbLSk7Yn1eFKQvHLatB/Rm3YJ3qiIHYOAQSVnEeXY6szMrC3
Wn8EwwOlBkAd6V5ZLKW2/SyZB9YCfOaIrBG12hAQt5Z+udzzAZFqReVApRCvL5zqQgI+XH/jhKCp
zvNijByZdYdiQoXyNZXuJLOmxjwKsob4n4C+vDyOuE13QPOjB/n/hitewpiuiDTVwal9PyVoVip6
+qItWIS5a40BJhw7tDbGKVl+s450pqqhSqBfQiAwnX8Ocm7U3aQ77gy607jkyBVJMm4MU2uNjGLF
xPoiaUhXNGfrGReYDMcl5flP1rASM4PbRruYXlJCV5OGYHkSSe9UizWreF6GdC71DVaBTu8KChsg
eeyQIqxtbUDZ143MwyzKVW7aeDK+UU5dLBKO0V7GxoeDKNvG3I3atVsP7qILzYdmHcxrfs9O1HFy
mailuxCzzg0JQtenATEDzq71j/fhlAqcp4ccEFNEulqSUeDHyw17JpNQR0kMjNkVOCe3eoatIyDr
CNbNuUBcp5xGspSehZrVCD3L7VQOtFa0wjVZ21k1SKmiceb42RUKVkD0lqhaR0b2KHf9++mIEQOE
ml639riDEUKO+WKMq1TzTLOepKA0ylu+of4MnLKmb8OXNz7EL59Dmvdtr28tOcRkYrQ2rjBC8zGi
Qw/aa90xNtCRrBzNGTGqfSFmfhq4naaJ4sHq6efR25GAWuEKVUosRSueTednEM0iSKcI38DmG+Hb
HgRyMF1ns2DOgg9OlpbE9DrZnpyns2I87mh9TZGENCTPoXXklUkP1ymmcZRqaKWRBSa9XzJwRRt1
G2BWrNjh1Zxnls4cdePnOBIBCSlaWIAL2r5lnjDWzeECNeOclkPQWfbTtMw2O8v6RIUyWY6nRroo
hB5ZUSJLshSZjVN7mLi2nSgCtCrleNYc8/rL3QddQ8W0qAihywYGiw+aUqGZKIUYJCtp07lgDDe6
0Alb4XX+RyRRA2cB95Eoka4XH5kE8+a5CGiJM5KJp+0Pu+/i2VIYM9YZl2LNsS7oXITsHc6jICsi
UWV6EcvBSnEfydr6tav5dViz5BjVgAgsptAXAzlnmu3P4+gnqrJe7iiGhs8cRZugcrW0x9VhSgkV
F2URB1KObaLxCWGd69h356z3Zx6YYoa8A72+plKVYz8QLYlclEQ+05gRl5Q+KQvo3Ic50mEtbZW4
I32skqxQKb0hDZPs3erMa2EKIWpIOGUlEQ6xuTamdDB3ka2LaUCEJgZMi4F7MaKJEXAuZrwV4QaM
Or1BxNBzzA26w9moh1Q++QKd4pj5DcxYdX8y/qferfVvn9Mq4ZvmjBNkVbiSuUO6cJXnM/KMERjK
lLMOpk7pZiBWuZ2spLM7CLEuVQCSYnlNdV68puYOMC/0mCcZj4aYUX4vjx88DizRUje3fP16QFAK
5Io0y8u/JI7693Svd6Yf+wbaB8yBadpX4Ju5e6oog9/WKSohBS6mS5ro4kr0wuQm9AfMV4chtYo+
X7LiJJOCTG3uBmPEVrjtZRtGsNSIlnOZojdXM2OtkzGArXN7X9eNai3AAqPMrRD09i3s8+ISIgUp
ZGuVPl9NygipaAykWoyjJMCJVDGXmV42KFYPbq/WMI81qh6cfjoG3ATcl9EjobAGKJOFfggyEU3v
pmbktxrUiERPxqHQn4pWOXCvZmq/ePh5rMgpNRcUMlU8yX2pUBrM2Zxfa8tgFzmLJwc78tx70q6N
2k+CWX981h4D+05buDNVOObHoVIMfkgcWEYwUeECFXrMNcoZ1DvBtIAxVarQB8VE6MKh0PpkCeBB
Gl98JZ4aXCD6IYStlOFKhSLWt58YK2g3T0bBtITtgnJhNye5wnPjPDLxNqOhj3FB+03/3j1Zj1WE
REXKF2J8dcRVq8O2RnJHKBhsgVk+phKyKlHGkUPpd2mNo9PP5xWRRsG82pD50FfPG7f95shRHg9G
Ixk3aULIZqwiXAFeeQnfBvDT6WIB70gkqGGyQkqJzGNweVhw/nTPQcH5YrSuCUz0XLKeYnPMtttq
izTppvkaJArhePVn2keneZTAKZCMgSuNiUh2dp1hGpyMoqvou1KU5YP8nU6oQfwUkwLtTddr1RpZ
+GSkIrjOHnRBxxaMyDAX7ozD5vfq7snJ6ZUT/xAgxdFFRhdVHkGDUFaWXwADRSuUbZIHl5EAQv8l
JZujyDN6bEyQgko2UdTROzj8/CPCEapQgvOujkquWbPHWBqtpJnTnfTI9aYoYYdLEs9r1PYn3aa5
i37D61ajejwV0TB8ptzWyeUUYbN7S0Z5Nk4punUiUypbEWmaV4Y+XHs08PsjD7pxnP3AMFyW4kyh
08/aXS1MUEEhGAysCoaJR0zbozBHCKt1Oaaxk70wxiuWa5TfYLntFQMHJE244JVYtrzx3+OH8euZ
cFjDXDicsTlsd4zsv9LNTrE3qgZnHYCrdydeNZjr7hrqrs0TK7L6MQ8fNWjvCra+2u2MxqPqaFwb
joF1wBa/NPxer+aUaaSMdylyg8P26q8N5MhzR4CAtE9nVR3smIU7cg/DNHuhkwYqT798PT79fBGT
TYjeE3uk216t6Q1HO2/N8fS7bx+qg6FBTG8N3Hn71rxmv3vjDzswNMuJfOZGNMAkGSyWQXGluXei
KkLzgsCJc/Nh9SQqavPDgOzO27dfvn19ax5lqdVisgJjBJPdq7nAuu4TaYBv63QrFqKOwNM4fne+
++nw2dN4/rV/wj4MsUXoA+FbdI8o/K/A55ibTF9hnAuRsfWajMZ+z6mxIW5DUVbNC13f2IipHMSM
WDSwLE3r4QKDNcP/MarWRo/9RnUEqxCIm5t8GwYdCZm30ghKJeN6rRQ0UOg80fL4vtPw7FdWeD13
IwclEBBf/j5mB7YGWxAUhQ67O24enaTaJKwytToFYMir/FNYtGC84SxFeGruAxvl3jBuro3yMJQL
njiQWwiXpwm3rnefeP6h7RlfxOWqzDg0C2NrjAqjjYvOa7r1FLb8emuUNpSms6wIaXMLWmb9iU+1
r+bS/SC86ET+Wq8a73AY7qbX9cbu5mUgPCSUlwgYuQ2MMwxLZsARzJrf3iIc7S5Bu0HIgngtTItl
nBBWUn0TVbrBdM6HPOJ8M6ZLmBImySjhy6J1hBb5lCgFeiCy2gVTzRMO8FlrgDu7swJ1Z0hluNjx
Vdq59ausUpigFV+PrsBakpIiz75fnemKcx5SpmXJg+7ZHZNpuQ9GRXqW7vZUaiAsUXlD2FgBmAow
EZRurgALooqs78VE8QJBVEyaaRnfjUpcYYqVQtywFinsR9DkGrS2BtP7ILVYA1J4uJNapw+BveHQ
XPtrJ2I6FwxUoJIUEGmLKAkJCBfK66PQZD5KLg6KqlBNOM4nvDBYMGSTKmLZOLM4H0+kyw1/OCo0
7Ke42qgneGOky/xxJkwSJkXC+AZB5dbJUVU4HG+Qk5LNc9saUb3O2B1TtEj85+YF0Qmnv67sRr1Q
fS7PCUGDTO5qY0po8c+UBuP/yqhIhBSb4w1lcx4xsnMVOdXlkEYiacZRY78xgb7vauilOAf2GG9M
4HUqJYHyPIQ3vm+Ev57xaZGSZlbdMX/fT68A1Xa302qPd8bDiRfe/doQyf/Oow+ki12GG+NcrX8d
4t4zrWZ6qN579dvO2GV1WF51cTZE/PLQR8eKYSAhkTkdvT9t78KQoZJ5FXUl1JaE5WCnUxnaZZpT
uFJQaJZTTsQh8NW7TmPccVY6cQUdwWrN+whVG0U2p2mmcYbkFrGA91VPTeSHzNdthxQraXDQElex
bkiFSlnieFTilHkO8ShpzipH5M/wz5flgEHyj3CDUrQOEp5vJaazOB9Zsi2ZhSocmavV/YdpfxIw
/w+MNe+MgFev2q/ddVqRZGNUmb9UbVCJgRQsz1DOsyZyE1JhmY4jbW3rlTkRkNc3qGMYKVGCUKCq
KTlYi4jOQkXpeioKkMgBFiXWDA7kpAVaqrpisYAnhUfLCjjfjPsUmubjB8wcyEinl9kItPyzoU0E
spE0W/nISVHT0mkATcgfjQmju3OJWpMdQHS5K68PVqyUUXNI6yooFgNJncAlcmtfw0iHR/v8G1t0
d4tIbDxa+Bfbvri96eiiaZTn76Db144nmnNdEYyyk3LV4ls7ZMLpJuBlodGSn04ky/PTlcjaw5sN
d736URBxDYOqT1N73OVJEgiLcq9kmNbVRo0pRxKi4jm6VW7XEyccVbtQi4RDScIGFXjMuMofJpAd
Y7b0hX+Oghjrs9DBt+3asO+snNacE5Rw9PQyVwpt5tz1qLSU+bk3ScWJu8OscWr0E8cye3ATbvtN
rdN14RelFVrXsY+cQ61p4euAkWI0bxXTafWhLXzSH9VuvE6/2+lHDF2V5WraWmydg+b1/3llh//l
ZMiimjBZsvMHJoYIQTNUtJ0eaKALuzyjOFUruAEOJH/h6ztxP2BIOxToacaIMxQLIilVrpoiqkBY
EXNtzDO1vOY5YQLd+72P1YaxGG6DL1ac9BC9LTOIPs0GuboCdUVgsQa1KVZiznKETm86Q2PUx1HF
6kjRCmFoPZ4n0SuxRadbYy34Wm2B66y8ga9G3njHvPrKMARv39nal6dJ7ENsttEcQcq0xgXoRr/v
zR2/vtcZtz3Lq18zxxC+nHuLP3wVL3EOjcHpVEly7flUSVNt1Bptb8pNEQQ8648xiAtLzVe0P09y
DUMIrB5vD/2+P4k1exyyanjFDquRZeXvDYzW6NqBdv+GL+xot6cV2YcFOZ5Zj73Ho2A15jP/UAyR
U1omSudnJniOQJ2SMEo132qWOMnLaEcoyYOBqpDbJ6yCWRrq+NnGrrE5TuNx12y+5Vw1timYXvj3
39vBn+DNoexZN/jv+9rdm+nv7XD0xhiaHRyMOawZ/e5vmzfMTcQUUiqx6eLCEMsDKwKJ4F2rClbT
hRalgSUSb6ycUssPnUPnRSRyJFrk7vP0al2jNXtRo9yMyLMCZye6iAAZIgWuOZZsrSgkIPlzoxAG
vQYZl2HYb7xgvp17GrI2/+drwSCfgrVwqjCSC/uABQvTPJ/5UTVYsZD4zgUfcIVjtQn2IG4xscid
TuyJ/slCsYjZzlC+UiGUlt1GRK4lCbK+my4PhJCcxne+0DdVKLUNS1Ai6HgqPPFqfv90+PXo9KBk
q2lQg9aswIIZR9MspWXZTcJl1nRyi5iksdEn0OC+Yl64VndShhNieV9FVqGBuHwjlPpqsjYwJpmE
tCAtQaDtlaMRhNfMK0GwbFoNceiIuQVBNjQXVoNvZn9vO/i0OfskK8wGGwsdbsxI7sS69mQ56Rjt
fJREpe0qCgCObDOPvRjsctPr1h538DxHNQTLOSWCFuljIV0o3oeovT9xdxQKZdytnMo4XpYABDm3
I5gSCiZuGqr+9vWdehNs1E6z0zyf9I9tCjZ4O3TL0APzX2im3aJ7b0ByLuynAk/3qF0jXFS3yLu7
w69keLkrrq4uPv9Q33/sdbfI3t6v3RPU+voO3fy+l55/d3b23rza/rxrP1POTRRUFUETqFWOVoT4
UUHBJGTWry/utFR9f9ZGuWEvg/xmigumcrK+hiLohH40yeyvJRf9pfzNC9YXc2j81sRz1KIQW5dd
9A0dDjoRN8SguWsVsZy3aaNho+kDDvUHxjY9xpINQW0AQstfHmxfp9/aNoJgDWhYuGAuDVITFF24
UxCIVyiLBU8z18rIoZnqyLQyLIRaaokyBtyEJJncspLI5qXDL44y1uEwMz2Z7GTgzK8kN8Z1T9QT
trTBSYquIbwskyQZyyw5/5mXm6pDaqpxMsOTzG8o5SIYCEQVM8dnj/ym3dvji/rB6Zjtfnz39fDL
8PjL2UcpP+/L5qQ3GRxceneDxunvFq+Pmr2PbTQ+1mNxe3Dy4ffhr6OIhdErLUyE+z5y89rICsXZ
QSB7QJ3+BVfJogJl3vBqLtvNkM4L/86GtS33pu/fdrxR9b7t9WFi1F1t7FXrQ/9+BMPKjCKtd4F1
yVFUxYx3yjZ39zgm1bM2vvt4eav7j/4ndXL1+0if394c7p19frh9NJZQdH4fovf1a3Igz2/v7ydf
z77sk8ExWL5z793D6U2/8/Py7pfnD25+XF+0H+4GJ8fvr5qD8/sWXDzSu8EsoWVMGkl5gpPgZP8C
qoMAWu5Y0oLnsMhzDGQm5jHnknBo+cXyz93a/0RtbHWVbeVYlHXJ/jI3/Ve4XH9tb/+1RURrHOnH
XzUmqH1uDBk/PyODxvnJw+/RpV8nvd7x5AqdmQ3Yezi/H/K+aH/85F4OLZINqklmQybdrq2uqzXG
7jItLTlU4W7M8u/TLcXdi/+R+j5tfvhJ1Hcmvx63jRr61um3D64u6D4/uGmcXe6f/75nHz7Ji6vD
iMVndi5d9p6q0zGF2g6Fl3UTQ7Mz61t54/3gRUd9KVSuMKL+hA0eDpttdLbfZeLXr6OHm37/FqnH
Juzz8LZ92SEf7g7Ewcnk2xeKPh1HbrDAfGMW45BsKba1u5efwPMKj28ufL0Sy4sfpWyN4rfXafEl
VnyXbb1j7uX+gFS/d3o+vr5+/KlEr1+/7faP9k7rl4f9Ue3213Xjx6hW/zW6+NBrRAofUzpHb7nl
V8d+ddZnnovFQY81ycxHGfju2dcKqunjJ7nmF0rCUqlsXb6WNw7HWD5HHK1z5q45gmYzrNXawiJK
QU8BQX/Cobtitx8/37Tuvn3yRkfe5Xfsve+LG3pyM+mPj+SA/fh54p3WJvu7RvlF63yOcSq/ITaP
Hy0VMQl9woyPwNHmeghZxjmRLIevPvZbrQhfHZIpGxtfhO1qTnq9xwi3C+GM7MDQa3gdo5Vrw2Ht
MZgX4hZ+ym2/X7Y+/FLVEDN4fL711Dr+c17/9rvd45Ptl66/XfkFXUZGdCQnmxqXbRpXN1p0FMoX
NDKFNjVClp2ClJxvelA/s7oGkgOm8++84bDjnhlBsJ1GzTIKBvRa0JE1HPrDBd3ByNbyZquW612/
7nxGiXQykowyxyuzEzIuSYYwcYYmblbYInniqIShTHRNTpNQGywGYf790huT87uauL8f9R/Vw2P9
xGy4+dX6Wa2L3o9v0LvrK3l4evnrV8v84Khfi9a8OXhPS7lvWGi88fux/LGMdBWo/v+5GpECqkVm
RsJWNzWG8NjOQjtsDCEXmZtfZzoCGkYTjRso82a7BDgHKBfv6zo0CyMQCmGZCc5zHeWzCMXEPuyg
aCTW4/1FATAH5USv9UR8j7Atg7e/l5h7wu0IMrnpGsydkZfrFKcFZKHLiROeuQBDrEKJObc4BSya
p5CbvjIYvqqPpeY6VQP5yaYLB42A1JTlHCjgieNJGUNmitZY+qiIAYmCbjhGrNUbW0TEoD6avfsN
AMQ8eDPSB6fCOMVJ6rOYjG1wMVquWhsMRtsI08DpeynALBgJg7DgnPwp+xi1lVqo7OyEN7wDSumO
u/sKS1t/v+Hu7Mmj37p83x40Hvfgb/v4/cNdvddo/SB6XL+6nDT391Dt/Tt0fNQc1N/ft370vrWu
r/jPOjnvXu/v4QbpTq4f9/Z/fP/c/fzzrNV8r1qNow9310eXP68v9tr1zl633vt8d/3+8vb46DNq
9Oz775rfz++b3+H97ba5Blx7VP8ve9f+3LhxpP8V/qKtyznMzvvhKpVrvbs+b8WJU17XXS5XV1cQ
BUmIKZAmSK2Uv/66ByBFEQMKjxlQcpKsJb5EAIOe7q9fXzOZ/+2vn9xr8Hc3n7778/y/+X8+wPd8
gu9ffPr4XfE3Zh+Sv/60uPhM6J9+/nT9t/+Yw9/8mfyQvfv1hy9Hq78iaLE9WruyxbYiqvL0LSkA
MR1raYPHXrg9XQ09tUjRouP413vdkps8Q05uZJi6TebZP5oZxak1rmPn1H5C3VLUHIT3HJPXjy5C
6RNgEqB6R3scAg0yL1oRHB5e5qGFcQx/xduS/6Ro5rpkgoO5kVG3GZxEgt3F284oQO5bkkncfMxP
lALePuHh7nS57DUcbydSkeABjB+/5H+pEv8f0lLSF/4iS6bRkyChLeBiiTvKbwQ5QUJLE3FX54t8
lu7PPh46E0xLCcZAh4d8cKbTd5/ff/rkdjLbcbK7KQGZv4SJS2TeYqfcMn4CdTOhfWJJDarjces8
USIlXq1Vj2nD+nVYdDu678C4g/iLFWePNCspJoqIqAJUPUbSpduswFoWz4kwbuFEVLyb1lD2Kbga
83YFGkyIw8ml7eE8PI5J8c0s9Zo/hgrPmLHvDFhdG1UsN8vrFcBt0GPuj9IG2C2tjITxnmr4tOrt
ccjtq2qiKYH/vtpFdhl7e2bI2+3sl3pU140wPTTrCmCFIif1HbgSASOgxBcB1eKFb2Of8lWwi8no
O0sJyU7nyUkFWldyMUh35XiEK9gWKRIBF/40HTLAwAMeHar54/4a4wY9dt1Ag0ZpVDjYFJzQfKz9
5x0joUQ7Pu1WrktpD6oU5c4+bKcHeYfhUWSWoZxrOvodZ8O8EY/XeJMVIPEPz1afUSvkhHUsPA5N
yaHl6YpglJUIIWkgHFbTauBgzZf+gCBhFjvs41SC+QTg+ORQfgJNZ6wYf+GtBodJkBE1zTezeZqs
zmmtRwpcbND28dVuvmUVumkovkEyZ8Z5LLNTOH7A4V0SFNCWiCEyjcKiDAKQjvfIR5fTcWtIQuTJ
A9M+kPQmkoOjhSZxHQzVx8E4wRwDAPeoGzTXPcJv3QsblNXx4yclJ9QR9jSDE7oUG3ubCc5FFEPQ
BnBKDdhDUCujYT9vMIixlrMxW3pvTrl/yfLLxRc/8wMeU419Z7lW0d3GdgF+gfPneASjtbfwzQZM
gLeuKImPMhvbDZgYSMvYUsU8Rm18QZ290M+zsVnBAWcwetJcve3ok3z4+MPHnz8O1odEyNH04RFY
LFpNqotV86YY+OS6D+drk4rcXDSWlxrDJtyQE9xsKdWL3ZY+9A+CoYJRFhUpHv1qjTOl54sC6cun
G8dD7o2TCKPaTZkL6HpQwKwd44+BtACzcgxX8Eu2vulNbycMn0hl4mAnxwiNKN3Lv8gF4vMRzcOh
vzb21sPKcc5PlkTT4FLCzz0vUzd5l4eFfxYsudYqJP6pycixuRpC4dCZbmnQ7z+++zA4pExpyHIn
JIhiZ+/eH7rV3PVt0fFM9al3AgXliKmCPo0UDeBgnawQP1/Mk/wXf2McwUSUGl2GuFLRi6S8HgOy
Oqnx9wynfTKNPYjKAPKFNVsg3uWQuufZBnCIl9RBQdRxMhYque0McAcizSPJ/S5+IDdyouRpk2NM
6NM5QhZUvOxYQPxff/zuxx+/fffTYO+ECRUnauHdLUfoEsRE9JnseILQMWeKqomGk7B6bFeFko7h
22CCQpR54crF681qrM6PpIjvsvSLf4yRANsaj7u8ybvz+W+ET4Q+jW5hhsnX5L6FETlsJZXDQhjV
jLfHV7Z61VtBpRlmlWk8rOPvQcGUbZ+Cmu5IThLLXliW1pukHehAy67uzueP7356//1gPE6UekWe
ZZhNSqnrqmFahXTfvzv7Fv598LjvkssRUFYTuGIKg9/spJkWfcKuSMMFxmpYILBWxhDW9+tvapcp
GAmJNZDqDTTQLWjk5Hpr8v0RMAaIoyOrXij9MYgcuUHdrlfZ7JcHf8Ew71wwHA+LdmlGUYR17lwM
c49EjHlsWzC6TtYbnEsG3t0/0tWiTDFsXF4BT9nb0Ki4AlzO4qCkIwNGrWWOyvw1VCgZiifLaIzK
oT2W+RR2HCaDZsWys50eIgKM6okV5jfiIHToZplir4UIbSb8bcOiO9nbGGs8RG6muIF5JG/nmYwk
OFpM/jbAcgeBxaGM8ENKMbwD65FFR3jtglYTHrRav35rjyUSCUXCoKCX6VA5+AF/SIqsOHANBBhC
PeoIkXFUu9ETo21oRgzvoXA2ex/XolmbprfL9YNfOpDwnr+4POyQWwXbmoJzxl46nm6K7TJ68sjQ
nqtyyCiDfJNnTD/lk/kMf5Bf/wGJjN7fJKv3cL/+jdxL83v4wd2P33l5Jy0yWgsTUjlJv5jDwnJl
YlMx2lg23A/9GcfheEL+UwJOannk+BOsemP8iRoL27VPrekR0fWR8JXJF0yGc/XPCNPcD01iufrI
TOL412Y32fxy2jwWiSIbBgkXFcL6tSrRdXubeLG5wpwEi8hl4+fQwUyfEBE5dOqHlJTZiVAyJOZZ
XPwdeU3Wi8IZJ7jB6cxbJmW46pf2GTUg0VpQwRgpyV80Am99LVrggKuX6uu3vYwpWAsT1NE0ftyL
rh5jLxTLt10tSgzShPSJ7jYt2F57JzWl1ruvC5tl/RhZ+hlJr8YXjglxbFIYFmP+6d6xN/N1tpzv
MJbf6lCh2ERIERZBYxAb84gNw6UVJl4Cm502qS2F7gilo99opXh0IJU5JuHp4xwCX30k699bGMLP
9YCvN7P5BsXk/PfO4509erz3+xMWGPuf/33zK6v8Xlq2pc8O9zH4tcx0RIuhs9OGn64RzrpWPDG6
gEskjgsmVPc+H5/z0dlOpJAm+rY9ul+ptP2IT5v1JGYOvzTAGD0ZNhx4f7eX2ii9gxWYfv/zn34A
l3SdrTM/Ka3AthQbEzxnufNKsluwEB4jiDbQBJ5kVDlCYAX/ss0X/Hjlz61p5Cx5HWQXsFToMyIx
uD6xnh1fI7Be/nnra4blL/27UiHgSFq0qen9Ml1lWPWXzM9xNsCb4maxmV/+32qTnz+kxRtwb88f
/wSHE21P8Yy/M4QQMK2tz+KMfVfpo78Xbxx0Pnc/a6shpdCRQoHerXMkJsgcWfjpui44zuXTJ5BH
Y2lA4+AvB9N0wvTofErMtvIPaF/jm+U1lm2vZZLYpCFGJ0Mh/ETDsI/bbV9W6hGjqzPGrS5/U2K2
D2j1gIrtA1U+EKT6bavf1D8kTXLZqtCKdi7w8hZ2Ib+DHCR8jWDgaFEIui6OWv7YjadDs2Vc606X
FkCaiaG6+3I2qKnV3ZYBwhvKsXLyXOc7HWiWHss/Gi2SFoCRrHmNWKHMM5cxM/cTnsXBD8yKqCq+
mN2ktwgi57Dl77xk45hy4aTTSYRh7AAYTQZc+95uf3Qgp6C6f3mqtJG/Z71azBtbtyVYd96qYZRG
65jlrUhFm5X7EqN+swTu9nazwg69ywp4L5lPGxlipBA4EuwEN59IqyMIfks2cM3RkeHhNHKlEWeL
ud+7pWrCWuHU4OustR4kWY/H2ZOxqqm2qTnG9oig7G2W+eLLdBsPmn9zCbrr4ZyCWvZJUTtW+Vqb
c1bM9iMjGBKZ4nHrjIfcYHsyfBfslW4bJQgliumjGFrbhwZ7IKWJuDdHMdsXSZEqcZOALf42yS/B
IqP6T2bgABTDrfmxb693MWlrehh5VNpZfv0WWyXT+6xYJ+CO1NAstS6bcULbRS0/nSbHLBplz8zN
pv1pnmZwNr+40qF8sc6uHpygzm+zy/Mkhw+ufgC4UTqEyVfZ5Rn/8PjyVzer9MoNdkS/7p64/6mk
eqoqj/Beq9orfPvK9oFm21fs9hWyfVA5lPe89s1qtn0gD79n91fMbP98+1dk+2FmwRNFIwcX9zap
e6VCa8D31pxAKVqjo7imxbNxasY0ZgiCAYfsFrPTxRqu3F9QzIRBp3j0NSYG8FlMD7LoENjkJhQ4
XqY5KtUyCTItR6mXbyQrdBcapm4iVwgTagxvBRMWXrAuFW85bKSbqt2nv1jON/hr22G/q5eE18rS
mWOUybRlySCNQI3RByU5EHi5Ai2PfDpbEc3yu2SeXU7LA09nq4bpA5pjbw05yfUSwdQLA2j5oo7P
wsdQ1g1hFNKOai6C5LXjYu+pm/w+O4ON1oqd0Sfv6e0F7udH9bfYrOfZHSie65mrS4HnpdA3UINT
cIQmnHXzZcP0XVPMh7x0oEeJOsgCUHP4QgWxrD3MCmzBF6XsIE8gTf/cAsfjzBbLh72n21TDMYCn
AOApIgKnAcDSomkBbQJLnq2nJYuLt0QOJI0pcwpJ0x2DNe6qS+u5f5BDe+pKt/akDN7J03rMQRus
QjU6lGa5v1mhCcdXbhpJFnFqHWMD7vUx5Ocn2Tct+xpC316mxSiR53wzPx52ZoQN0ePvUU83xOG4
aNlJ8YJQwjpqskVo1R8mLtICzs/FYWohGNBSWpMIwDy/vFjcl0RM1SoXbv41SL4bgp2ufMQo1NKJ
1jaw1saIYQudbeBLmSK9pXq5fqj497wqg4IPxFnwpT4slC+rIaabvEiu0rIewOsDENlyDnr4O79N
a/kHoUssVAtoPvwmA/kwCIuoY6qFcA0f1ePzJ4sC+qN8fru4TOaPT/ec2vrIzImRPQS00eRcpasG
FmEs8Zc2kkktq8gPtuS0YSgtzjlHV+VfYdLmMCkhfeKlrcKkQgk6SCVeZXMXPbu9TNaJfxwmhiNU
fM2Yextr4bbjW/sTe73JQdOSyPswW3GQsHMNlaCeXbCsXJwsn803l2WsardQdePIhJxYS6Ks057e
6rViHr5ZzcHInAZaeDErd0xTI2BnfwQU+ZdkQNW9vV+VEm/oDzPIpj24QGNVoHCWqvvyASQ3mzlB
nV4kIMtw3Ss/TQrlPTMO0aysx6LKPvptd4K32T04M1VV/m4cLXqtxUM+c3WqaNsaPUlpdctBR80a
drOa+zMwFt3UPne/rdTVBc5S7MUQYyjzBVa6HqinPAVkkbqQQQJqCh/WPrJYHTAo+NA6YQOzJg2O
SKNq6oh5S9vSQCH/GJ/xc8FN2g2cCmhGgt0rj1mEW6WEiGZoyj124MFkOZxuti75OHbj5nwOLehf
ZsYOTdmBDlQVzt9xusxukhx8qqQoUr8IM8MwkhBKke53fh1VqUeyeujhKt3bnceieCRrexLhxKBJ
2WfPx8CrLp3nnnjTltzB0n85RqHqR573h7CZQSs1qq7xaRWGrdK946/3a6z3Ko9Rnc90Dht8g3GT
5Bo2V7GegunP7nztUsIgx85gTLGXaViBzE23iKIe9VYSVl0wGge6J7dLgDaJv31KUI2tioFhwMHQ
RX+qVJqW9Dr9JK1DRI5pRJLBK2oajRczJ3EY1ovlXodRy3Cc7JPparELb5M5OljeSZyUUDGR2ryS
BMnAhEg9F6KUoeOqH6EpsSNtRX+EDCcSkjiSVvHMNPQaIJHUywUYj8r8jL9zGeozZt6COf/r58/w
6xl7zi3eWm5Du3lVO0W7nBMH3MxfgMLzRkZE2GLRLw2VolTplnza9GjnxZPKBI8442xPNagx+QiQ
2O/VYn6aDNHPR3p+F/uuVtmJ6RVY2mOlKHltk4uGwAUjoi0jU2/V2KbNG7bwhAUW1kaSNWZYsIDa
05fLbABG168WGz8gZRoAUh+ndt+7X8ChOKFg84rlIvd34gojI9bUdE4AiqhR5ND1IKEhj2SaiVDh
QdhD2SqdubjOTgKcdXC04ecgGW/KGcnn24+6gFyBIKmU0+qS3JjBb6on51fJvNivXIHvgdPUfbDa
0fPudTJOjqSe9CqOa62syvLrZhxH0drbvjjuClYFzmCaFBURknfb0pYDvlppws3F8eZQQjArSk8B
Xz67TeNDLZZESHgcqOY6/a9SE0FpCMXMnlXMtE+2/CAPvZWmO8Dft8Uf4HG9WprgCA4bYTWP273a
4nIBZlf3roCrXXTj1QrLox+D0RFVOQukyhmcJpYgvuRY8zbCS0tkfkbsoWMIXuEZkc4xRALKo7Fe
JK4Bi0FekvXqFfN9vt44K9xoENyFhwWiAtll2WsqxR1eguvp0aEiXiT2mcIjwRiO0YkTovBno+mE
URnCkvHnXQxD43vjTZF9xshIyGXvHp9TH2aRoSDberGYzhewm5fJQ1MfFtZotCPMPgZD8duL0pFz
cLSYXmZFcjH3u+jKIlJk41k+HsjycbR8g0rk+yVB+EsyPIKL0aWFKzYseHWEUvVxeVzZ3O1SPBKp
MqlKJtUD6lQ2UQDdIhQ0Vlprf4GunR30RrqwuoOFUM76GeUscORoIK0EqD69ynKUwaPuJPaq9+4P
vYLlnV4lZcHRjj6/SK8RRmCtLbzln0HrWLTUS5M2bcfUl7qXvkRo9kRdaucomNeEGMPDRUmCu3h9
7kbZdkQGmi8ffPQPVqPUUheCenUZwz3H8NmMIdxcI+LwixwbncYE4Zj2l721I9Zr4xh5gMTzeZr7
A4jYos+NCab3M5xC6S9DRS3HeQhTZp43ZSRS1u9on6ygvDMDjrdp5CIpslmp9fCSD9J9AicYSRze
ycezFyaMvTCoMDV5UepS0PHN1wFh3K/nGLP5+u3b3Yl8jTRxHbzPnZXaM3wl83Np+LBX2dNnrA96
nHAzb4p0FV5qy7LhCUDq15DaK6FCcjG7DF7PZKQKkNB1i+11GUx3As9jGv02KZBXyVmthnIODOxY
PcRQuUtap/fr5byhckYLCkvHQhKErm+StTtyw5QTBvrKxvL/tpqrbGxLL70lJNLYfp5KXUNWmvAy
ddh/s5o7jQOgCGQW/mHp//xmgUjoXTfNUxKFLBMAOIdsIU8SO6WvIE0/AsRQZ1H6f2A+2XAr7ZNc
zxQvzSdKkdeDkc8IKWEyaYGPKXLvKDrWLvFDWNWZnOWYwlsmcMjLabFZrRagOFLXbeoo7OF0ksLP
u2dxPCobBNZLfPVI7tZE5SDcGEbyW1IKisdB69iGtpxvimlDb5ygQ5uET5DvIhFSXsL2A+UHGrHY
VAMlj7ckWjFR1obyAfY2T52fyoKACROD9/dQQx2ZWCoMNnewV7Bjr5Js7tuhwtq4+rUaB+qf8K36
NeUcQuYSwk6vF9jGTqeb3HHG+FNmTPQLVpTqfD94drlZlb2V/uScogAzKQsbsCvSeenM+8edGCxL
47F2BCgsHCic5khxUWke36bAIh8uB9ffVDrH7wpNTB9++E5HEFS9tvhnG2CHw7Qo46/ONO7/C28m
JedmYCwYzFWaXefbIui9cPBu1zYGhQWoJUFVzJ2bHRu2pSQyTMtQpmA1nybr9Sq72KwbyDI4DmeK
gw2RL827pZHGvH/+uyRNSa+SzXw9TfPZ9DK7wlaz/FhbELfWRVCC6ZHGi/3m12ooM+yOn28y5Etx
PxIcEQcfwl/lLoAP/K7mymJpAI0A3B6NcQ3BGWzIo0KqQKGf64WjsfHnKCSyLgUU73wxXa8AUyEC
KOYN/NxGMleb1OHuH0YialLXuIWRbdMEwBsVDTsY+pJ574iDrqjtt6xttjGuMlwwIGI/9MZbKukr
M2PuAW7Lm+Qudc9xXy4T92J4q8a7TlXrMRelMipL1EBBch27khm3lE78YJH+/Yx/u9NhT1bWkwCh
OPePS66CpHerHbFn0NtsDmmkC4qGqzfrfx6CxmThPbhttekZrjk3mNl1ffxHLK525f8BVT3SpjWx
O2gs41LBXFg/hBATOmhQ3V6FeJJnV65Rwyc823drhmUiCRm4k/oeuWuTRQAjys1QtZFcgD7Mr58E
WwSOWJRhCKQav5/RmB4E6trp/mRi/6Rm4yZZvhLPGWwHPWMS/w+/NRiZzuwDgoCCY1y/Liyivz3T
H4ZjjvJ7PMhD8pBw25XTzlbpJXJzJk1FpxrURV8ypes0T1cJ1ptse/KzvMguU/BjLvxN5BzzyDpO
20NjTiPAJIwDgN80WIgxNV4gX/WahnBcXEoOrl83aQOpKUEmYKNHAWj+4QvaFUnHhahNR5YkJiQs
B9ffgJ6eI/HZk7KoZr3kQfJg0sCkaCpOdLLboZ9VKf+zp6riktFH8Em/O5PvA9gB9z11OyD44Brb
OtopqfMYUv+LWIhq7xh9nKdDfF/lpvxJRD2QovYZmO2D11tAqrpPSW7ZLFH+Kz9cyVPZNvEluXts
m5Ck7Jp4gzMYzxOwhou38IGDJgphrNVILySHtfq1gNCChrZDz1ig32yWifO4qci8oQhBEazvk9Fp
XXedSY7RuIEvXlk64SzQpKeq9KW6r8f4Lrni2GgQCiuWIfxtw98syUEq/HF21GU0GPIvAJJfl1h8
ulimeZZfo5kubpJf/PUnxEyoIePhVtqO840NErRdiYjvilXbaUSsJ+RwR3fVKduilK/fvt2Vo3zd
t3zMWy7WKszFumHifdmtRPdIItQSC6DlePiCDS5lrZeuUjmRrUAua7Fvdi+iL1sAHpytsSmp6ths
qPWGO8BbpQBZG+O6HesBu8fJjnv6Hm+FF2NpqU/aqgEYOXCnRq+8BQBm0J48EiDAa0YpOe9qXCqQ
AGdevQ9wX5fZZqTcpr9zkbOP7/GtBkSgLYCCdtEZ1gZJe6vqOSyOYJEUcvVSOb7gLlvMS0Z9167h
31LCsAltNTuU9cVAODV6BUi82IW3m/rNhUISmJegXhkfsiRNEvscTwhXEhaABNewZfCgAgleak2c
QGLYuEKJJavTp6Ehd4OuVovbI6V7lCmkNpUxRbZKp02RnNORRqKDsmOQdPQq+eb2ooF4jxvAO1JH
xDtNa+qfy8ThOFLZiOezczOq4J7/PKjAwVRURAEuWf53LIQuyQrrh1ao5nrESDBkAJLwdrlK3Rhw
R/1bvejrMeTGMRVS00eBbA8GhnfqRqgmsG1ZbY6q7Xc3n1ES2zksyWyd3cEK++ma2g7yZN1dNth0
2Cs+9w80FRr5aDsd+YjXhFYanoHY1p0mgRw0GlsS+shpUIhTMxgNKOeMSAQ6pA3IMa4lwb4IXd9I
0N2O55n9P3tX29s4jqT/ir8kuOk9dcR3coFgcNs9g93Dzu5gewa4r4qtJJ62LZ8tp5P79cci5Ti2
KJmSKMvO9qAxThwnkshi1VNvT1Wd1exhBZXo99PFdA0Sph3BWVXdHea8ozmp2r26GX0UiM9U3P4h
X1s/thO8naUfVHk2huEeg/2G6OnakbDYczj2Wkleb7hweco/KHpMIMxf3Jv+0nm3+n1nVqDMpUIE
GQIDecIeSoAbM5RzYmuUNiv3GBYCacd2hroeg29/WoO/hZRHi3l6vThMNBvu4kJ0UQqHLVtb9WBG
aLp1hMZkvE+wehyZYYSGW3ByZOhIvxfn3Q70PqIpHW0HQOVopKQY8InjAQ8XwUMKWkxbwFePo70F
snubXTDio7gXbbK75I87FhwXx40GV1yRkLDdR8gVh3KdwUw5IBZ3naxGfSQWJxUDw6Yt1PDOzB4c
3jkykMU1Xsxdtsn/fDdLFl/Bi3HEcb/k0Mz6EYDSJ+0Qfcom6X/Ez0z+p/4fMf/74YcbKIlM5how
/mWcLV9MYPuYS4QoHjEtL2L4o0LoQMkNpIS8YDeh8AZO6i3EnNPuaPxVXqARzQaZHBqNQwiPkDDC
YQRjel9YsQPpuLbv1nf2X0/SWfJyC3fmFKZY4R786Vr6OwI4sqGr21W1EsMnhy9kV7AfNedZCBCR
6GJuNR4eYrGGy1WCWJ6qyIo8Ffykeg/ToZCcOxCD+UiSFkG1P9YmMRK96ZQu3lmuHJ4xphy4MgRW
J1VqUOQi2sh0eZbfJEsNHY9NZjhzreAX0d79oiMnCCFoQeweWtvR8VTxI2Il9KsIKjuZK9eGERlR
JANlif4vXWUR0Pjmj4Zuzn0uoCGDqrNKexL0DoLfazeepZQExbMMKRQgH2HqiRcwGGRsd2e8qqAe
wN4zWXCnrl9H0BFDC+UZ+MT7kLYyuxc3yO4xphQLikgqdtQVaGAxPjtbjbuVYlQnrM26zNN5tnoB
C75eb1YVxDUCjyiNw7tEblYoX4KtSgmYZ0+plsrpbBLl+sEf0pXJzq+rBoZrPdsmobwrd1hvxo8w
EezjeL12lDtQpvpO/AOyRRQB2OxZhF+F18pyIcK2bmZjqo7syldRFSAGSSL0boI1p7FuVDLZ6UwU
W2MVwDp/maXrxzTNbdrWh2ZJwURuykNoZs+7qKEQkPpQCXX6e9Hn2+HlSTqScRCbNZ1Dcd7+/Twl
qxdb2DTOVqbEqdik4mZ+tN/e7tdUl+Zk6ZOH5MCa4UgBLYJ2b9rGvTiuK39cb+7m0xxs3ltX5/aL
eVufdfiJfgHdq1/uM0ubob+8eykovra/cw0uxP00nU3Q7T/Sb+bTq7l+gffhOy1A+gU6a3YfxbfX
K73b2cMq2yzR7X06T2bptZa98de77BnfZotrS2G3/cA0sRdKVmmCbn/JVobLqP5yV/gTPMnjdAyP
YrUbPEFq7n6dw0x484F0AS/27Xyzgu9yoEnKLasZMLx/vN4+718NIaXb9aSMa5tDJBocix6rovfJ
vnjkWhDYWNlGD1Y/gF7ddaS3ViOyxST75k7AasdbxuFc/H0+V7elpr5jCIe31Hrn9PG5t03WJ3Q6
Y0HigZWq/boObrXq1OxxXhvSBkq7FBIIXeI+6+DruvoEDPaUPW0eWO9H7WTWkYZhDGQqMphr8Hq0
8yza8jQe+AjYRr+RCmRh82wZ1VBCQqcDkaTnJbaTc2oYxJGWNjPVZTgT5dLw17Zj/HO2SG+RNVzb
NvCfGpgsbadef61UG8eh0VLF56bCXXQZr3mrhiwZr72zV+TnzWp2RT7XpsOCOmWC0haO7EFaYb5M
H0pBAygAwj0fnCNonEMRbafW6zfHQKNdQK3agvz1t1/+XjmtVeDQCMddHhx7sprUpIhMO432J8ZO
D1W2LYVttINe9AgIosVN7czBBIWtbS8NXiWEXIJyeZuSuBDlwogffVTTPUNKuy8U2CsGsYcORbB1
2sin6fzhRm/YjTaJkIAt2LYRVMWRT6XJFiOGSE/NXG7WU+374WbL1lPsi8e9wmbwpLaAKoqRW1sD
lYE895iX3+gVH6hrrYkhKfnRfP37v/5+Wwy30BdzKl69RgxjLEKb0GcYK6x9rGLgwWOaTNJV5Nwn
pY+J31TV5rofK9mffqLIw7CQQ/ts7GGyyku9vfq96FsyzaO7FGZIRHfZZjHRQuaq2SGMwBcxbiU9
PTFmtGWDcc42PYyZOFvJzqZa081mQlk3/LacJZD2tK2W7skCWgwIOjWEgz59U+lTVX/Tje4inP2u
00L7vu3ud+yHQrm7+hstNT/9TYtw/JJtIOSdprsodjEWC6L3i8l2EMB/J0/JF/sH9Pvmuj+YXzEh
cf1iAutr+Omv//Xly0+fP8Ill2XnGjM6YjFS+HSWGFdZYi9lGSbBTIXodCYaiBJ2O1ZKGzR+1roJ
xST+nsO6qBwW5YN4sh70WLJ3Y0+5QDxc3KUmpYSV0l4DP2PzhX3MF34n5osKqtDpzBepDPtJGtiL
t/dQz8mCgY3Wj503gDEjbmMm9B2w/iCmJbesSUIhxFDHJG/YbhWTVyxG4EKsQN+2Vme2hwWVDS5T
2mGU4oJvH5MhCE5chme9b3koJb1bnlgiejLkysVZe07Ex/SQd2N6WBxf8qmNGb1onUlE31anJiPP
FRSU9+45V+INhk9j9KnT6CvqOROlSei0oNaX6GRFwvWBKuOmy+9e8GV5waqbWquB4m7CXNScFXGA
LBJTfFCEBhWPgamzvRMBtFuHW9+gifqAJvpews0yZjJA1mOda4SxzYTN0zyJJkmeVA176INY+a2h
1nqxoNZca4XhTnrDgM5WFTunRFxlmCWE+m4BL6uXgRMSnwYcMveBg5gUDR2NraDyb4nRBj5UuANg
0IL1pNd+VyRoh3Y8Tdd65ZKZreoD5FIxjdhWKfoEbMgxxHJwK07+O+41bbbppbbMEi7cjnBjhrf+
4E5PEakPjnoH5DVhmgQ6CB+8hZ2dc8iK+aAv9l7QFzpGtbqTjn/++tvf/vmPL6Ob5/kMBHmV/u9G
X+etnJjKsVeGdNvEoD93P5s+PObWeYry6TzNNpYCBvrLjdC8fshI1G/FR/LnvCTViAnhecO//v7b
oDdL5AghL1tEmgFNy2w6mwLTTDEVw13RyCiDLHB7dbuGaRtppLFZZe0mYtAUwzo8ZYPDyavKJ6hX
7O/gDg5kwykRVvcdyIVzHWRMPLvSSBBWBCra2Oy3vVXrNI/ydL6MDM9DjYy7TyJl7KSqo/kd8iMD
5UPqioZ3h+kIEYXP9faoFjK//ooqzWGOTaGd6vQHh8JYhbpoyb0Inf7S3fobM+Q58rC1mjDMrs6y
S2UY7DucVjDpGlMsUtcUQMUYhkoU2k0f7EC7z8zG3W8+27XXS19aedufiSRCwc3gEOQorUZdl5G5
9lB9VWcVJq9Zc8tvpP2sFrL+PVAzZKAG+Q2RIgO5RtzHNeLvxjVipNEhbWae3xiM8cO0FMUCiCf4
aUC1cJosmLyJaY/W0m0oYY6gCgkGsBsMSH2hNo9XFZMs6HKdIUkY0MaHNs3YbZoZ4T0LeYV8M43O
zw0TuNpsa4hXgmKCmCsRDBNgdzRg5Nd+64MJPAQfCzaiMelHhUzSxVRrNB/HPGa8XXz7ZIZV+BhW
8V4MK8ExD6nhScWum8j/8B7RPn9mMfwFkX5DJ/Z4VKheInkc0P3Yf8BC02AqToNepDskyD1TPmds
Xz4EMy5UKc5PFZikQkjep9J3Ml8pIDoPGkWiFbxLGs1x2R9mqj25mDMaJKW3O7+kAipQ0iZm47OL
MF3iPpnOIpipbDMM7jkESJvtOBheAZhSNV9YQ3SGKOdnjBGkD0aQ76WUXtFL9w4+mCLEkA6CjHsG
Da6Dua+HmOGSAFZbJoNiOOZWtjDbnJ0ISKjKbrY2UCYsiqQVzrsKF0ambn6gEcWqHzOwE7IiGJas
XxZO1jaFRUc82SCR7nadOfRWipPZInxsOmTnsw6rD+e9KkQD+d1WlVrVZ5y7zzjUy/Me87THnpRJ
gK2MDB+gc3qKtBsCWm7Wj+s8ydNos5zoFxjBdJ+uVu65EViojjB6Pn1OJ5/scbv5Q2OCwlzqRTHz
rjUaiurJwAQnGuvSgLEwt4OK6BmjPeWD9tS7iQjxGAXSrSYRWCvjcK6IwqcxapX10EReQEI8VidK
iMdM0JCmxpnSUpx6tknWCZpV9FqIqifKEapNigqVvYNeFq1PzARrEGy9pI/RvmZ1EsIqrco5Htiu
xp1gm0uds6p4BZKhzNYBQ6IdKuWwZU4LGkNvXegsixa3Mu85FkQ7YlyGKvM4wvwohGyXm22oNyfp
4qVotHTXmwrkSarsrS6kG5kansk4nFQVGTNzkPPMjqSPplbGjsIiZej148svo7JxEfgXq6ABEoS4
GFbdMUJQK9xaDScB6sEuGKQHtuBPRnz0PU+frsjnK4wLk6C/+lOxfPb9+Ir85U+W4Hmnu/QeGLR2
heUkG29gVz/ajuErrHcDOwj3iYLYKCXB7GY1iTnhynSKDe75UkVC6hflxqEi9uwUbw0TnotJKtkS
dkErm4cFlK458QJHHVHpcRtaoQIrdR6Mi6WiJ6huRl4fhDuj4gRF+cvSXUyATEiyq3cK8geC8dpT
Vbh0Jn4wndxOJ8jRst+pIKzJxR18AapTiXaTi+MSmh5xbxzb/rKkfFlJRe+XZY6nVaj3y9LyZYE+
p1fFu1VCMCZkvVlabgu3AsaK4stGOh9CQhuqOJM949DisbSsTCv1scYBWvmFcm6c9POVHo9ln+cj
Kv3YBYNbqWJ7nDMe5Yiynmplvz1O89SkKIqPFWfZze+NlHbUyMkx6AHOKGFR8Onc6BJmD8ZQjxQQ
bukXfWurr1WdQAiAF0cn89Gxwr5FtrbupplerZaQsm7VLi2iQpJelMl6e1i8nVoJ4+bJubYtcRQo
hrfQm5JOgKkp+qZ/lu7GtsMUtWg6f4iK8TBOFAyjndrEIZqql/VSn920Tr8gyskIY3YRtnlHAaW/
GT+uMi2R6bO+OPBiRNsrGusNvnK4QARBTAZWwZUSZHbJamYtRpC7WY1vkRkW+3be0M3/fPly88Ph
bnLsOcvQz7G3vCxuR65z8Kpaybs7PHBMDAlzsH1AhwPtsBwxivqrBKw5mhUtQ6RTYXVDZLTT9jX+
OxmxNgwIJ2l94UicLkwvenBonPUrbkZyyT1HGzXeiCpe/wppustWDhoiuyECBSdx2PWHmOqibXq9
upAYIzPkNVBUbpG9ze0X1gmKA5w5LEtd1YM+2a1C0TbzvF7dm400FQpN1uzaFJPcGvKIUupL76Ps
Scm7mzwQBIxpbww24dfNvncYetVedSxp35gcpgBG5lcgzpl9hcFMhtDYicyJNp/N2kSGW9VxBsHb
PC2lEzQMGL54090ChAhhwZAXOOV1g8EJBPdl79pV38ZjNqnTrjGF5C29pNheQNoHrvj5Hai9TatX
7/o0DVk0V2tNryfTdXIHQ+deP1Ixk+0GKtJuaqeMwyBWrf3IeRoW147Z98qGBbFu3nq1RXb3RyEY
o0nIEG6Iw8BV2zcqtWvC4vAOwL4uLnkDhMMxYueI81xiVWNZCcV9r55zwhEfUXZST+ZNcalejQQI
mJYPZW+S4VA+w8KKbankrHJ8MmsZRW1m3ffzdu7aN4gOkvMTbZPh3976ERuHsAqGy7bEZ5XcINrn
Q97NDyc2M3uL5rIsXF7GTtcoMdqJcKmt2+Vud6Vak8SX1PQYEBkzQvtBKaxiQhzMqwnEtZXd/QHb
ns7vtLBCCdZWNsePFXSA4AS18f589fVYy6Lei2kyq26qQ4r4UqUP0tpIGtXeFAfrLWHi43Q1gbBo
/rIFg6t0ljxDkLS6wgFRYDAgstu1jWn5VJz1krxzKGDGHR+veKRNPp3plTUboIVi9XK/WVjfZ5KC
yituorT3wI/C+qzjyPLHdGXo75yyB2R3hKEzcRPcrPhkRGPV8y7pZfs5y+wulQiFR4LyfrQir6ht
1L4bOkNszWQ4puGCmWyTPx7qT3ivaOoxdz+d3N5n2e/rUrw2GkkcptK8483QGAwJ2JMzbV5l8hLw
zOu/HZtDWOoG/RK6JssvYnYcmlyDUXzRP1tB0eh0sjbjQ9In/ay3dpoS+C42jmb/ml4ZLYxXWGy/
hfIKwyqtv1zONg/QSwDvQQ01vJcsl3qxrNV4jr6ld1+nwDu+zqNFmq/HyTKFz9s+1ESr7zd/bp49
TVP7156S2ca8d2RmmHPJJpv5/OXj+tv9Vczsn7uxFzQr8/pExXdhHsiWYoS+4WJLyyFLFisoR0D4
dGVtUtEz0oKY8L5TaD41shRK2hAZFt0Bl+QA0Kq+RJZ1KjtsUAJB3el1CJSRMyiBcBmKwl72VQcr
3A2OCrWrg/UyNYvNrMYF1vKAw5PxO13geg9YhIn2ReOXsZvHDFPhR82PD67yOAWi8b35T2YOE/gv
pclaID5Y6f84Hlr3SDKs04RYaI5bs7cRKttBMyaDUNLPqXW3JSOlDQxW5+R/CHRGdyNw3M/+Y/f+
kzOsh66nqgPnJk/GWUAHh3h5euhgiOt0PS7ZxQiUHHL0/ujNjaGqV52HJ7Vv3t6RG3UVx16Oydm4
UW1uuN6Nwq1G6bSwIZZYg4NS77P2tSgbr0kGxFAgpkJHG/X9fXwuE3xhGJRGeptd5rcMMHsj36wd
AwZJmI4IO3d1kVnaMzs1ZteyUZqCxdp13xsd+jCHNvZkre1hHmWLqCrdTGPthfFw5bL64cYb/Vzz
t/3FwfYBhaY65hUUl6RZm8gAy0GhaZGEVklVYsK0x0KJaimMb9rQHWLprmIx/TS0JXbzMddOHxTj
dhGBgWpRd+DtKpYBsRuNVf+mp8rymE3gQXlGl3ptp/n0yU2jRKCFXQ5nfGp1HmlTBmFOnQ1IUnfs
S0rSjvLQZdagPC0Zf33lEy3CFNFUr4iTz9M01PBzMTq1689xV0LlammsiRlzpUYUn4URqrdBNLgN
ckpReWo4ROraNGXVX7xWlPcjbFZXUWCFa3tETT8unNDloemT0KjCvcKhNNTz1XTrYoCJXo9J2xkF
W0lqfnq/cbJXYi60nj4yEYt6HomdD5at1uY8vL7zek9mJuP1YdjJ8JIXR+N266O6P2WP/O2H6+oM
eqAJgTbYK71IJmlPx8HeA8XiLIIx/5aZ7MtKY3sGX4T2T4VXXRjtamWiSbZIqyhcidcsGOoDSSep
Bd+Zm1IDE0KgP+8yCmXEQi+afglZG+M14INWYt7IHu7NwriXk2kyyx4K5TnPJvqxKsYOwDREEsS+
tBvwykjMmj/4H2t7RHdX30y1hZrprSwvr8YWQDWOvlvRSisqWJPFcQD+6ZuyiHSWGkbVCoZq2lWv
7ey0NWbePpiEPnlMW54z98O+PXZuomYy8uP1bwpS6h6+jNoR1t4VR2zAo06Ambi9OSkjH62ONVT6
o6JHDswoMBF33W07faLSTgoEpeyey3rcr3+X+kWheNADUNRPtzGxXe6izrkUwOHIg4lNyxNJyXfJ
rZdcr2wUDRvrITGFOiYeBpfZMFakUZCxWNkmj+6yycvBEaHmmkry8CjUtvHWodBYmSjHWdhIKtDJ
l/1YI0WTY9jkuvxIi1dv10Wqi1/ZZ74JxjGYf9W9EcdmOti/sNdKEZBVkYp4YKtBWSw6o6qq+Spa
FUiOWnkj1fG0HV4EQfCNkHUK9ZS6rIFLJZaiv3DyPu1tpDcxXY2TdUX+j5ixSEEcsSWkAldPqRlh
8FDl+sFkBaRYX7LrsQ5lhQ+5Lh7cwDvWowxH0UgQFd7WzpN8/Ajl/8libGptoq28WuTkHixKRwSJ
PjzDVrtCR5KJ4PbB2SNR0Rdv8EioxEKR4nEGJPT/VfOKUfdlQGtvvwU1NwE1d0u0zjrMs0otgZww
JEIFd7Ui/QUEL518+vLlX5tZusbuHDj1nKt5cFWQcL1fN3aE51abF7cSpc/jdFlVUoYIU9Dj0J/e
9WPURFL5llw0Url1Mx4pZ9Cj1jG0d2Snqwl5tHM5IjLuV680Y0dpyuQJJPnhlTQkflspaggaEN6/
CQ20qFU0n4hQdRFSUUeZEzcKpXaMILM2CqwepeTZq+6IzLjYcl+HEhC0FeEc82pVhSiH8eI9a+mj
zJxIGjoYdK7e6Z5TejBo5+dwTqbW3Lw/bOCeSqsMZ1praJCnz/ne3LLicE0XyeplN/DALXuAS44U
hA+hkppwkmqdepZ2oRFLZ0OlOtgD1PFB8o4RVDuH0qS3naAKAfGAku1PyptOQ3M4Pid58nE9zZ9L
aXPFYexKIMiq7U1teECyEVGB8oP18RhTZg8EmuFd/7cP6fL5FaKh9GohLoXK+7wdY+qeFSxGGLFT
+LNIiZ5t+FH+TSSBBoOfH8JsQr+JVdhUOfRqHp+WboZK4/gsDckxHk4ay4vY8TrbIcS5AU9X/dsh
7lwm+WNIeniGg1mc6eIpmU0nVfJOTXk17maw72dJrh8XfHkyS5/SmRlTBd9aBArZT/juNTbnan1g
hhO7B3P0ZgWKSI3LLsk2Vv6wTsYO5ypWpUAbUbIwHIg1bR9Yn16JeWizsUqXaQI3BMON9ctbUpRk
/Vgx6x55koH6id8qWcCsMlj7p3S13qw1mpxDAnqcaIfIPXgH2XHYvZVpFc5vRWoPx3EwgLKYpM/p
ZHJnM4puY81gPpnAgfN9jernK0xjoEL6iUbX8N7uCn+28xcOBs//8FozX1kXjhkfMYLjYKEgI51b
eT383llCJbjq6eLCkQjCkCQjl2oSr8jPhrDninxe5zDuK+AgZMlYyKj+1pJpAX89tW58qLSZkh12
JMANAK3cYAegVUOY18VpxQFQLLQj4AQgMNFU4QEXNmY9XRy7F5azIcUIxyd6WltLyGIa3Kw7AwAm
0hAPhF4IpnxICb5cU4VJstB/fBXQRJFm/nhIC4EEGtZEISZ7kkPpVmZISDqg5IdrVfTTZt65jr4c
hn/7VttKJ4VoIMGQpGo4ceS4r7NA3KdPqXjIp0WhTLtppIgMQ9dDWue1UyZGqDdXkLoPPcWBgPAy
XURJrl2yu02e2iJ1FyMWVu3qtQauBLCF6OGKAagQval3D/GmDJ/WtmAxVOyNMt4TYto72O6wIx5R
NKD7RxQ5EWKy20xo1wCKKeg7urBUALceHtQtOa2rSdiQpj+mJxUjKmRgJLpcafu0AsLv2f+zd7XN
bdvY+q/o7owzN50yxjvAnfFkWrfZvs22N2mbNl/uUBJts6FIrSg5dn/94oCUbImgTIsgKHV3JnFk
2RFA4OCcB+flOa81ciREq/fc5AZelH7jd8aX+Opqkc8ub6LFZT6N/xfdcfW5/kLNl5cvz8/rWdAg
CJKf2g21smZOQ4yMUxn2g5k+fcTNidgDnguuQk+Q+MHfNKApI2qoABqVakgnqqDerBrBLvG4uTUH
N/oR073BYhqiwwIAR6PG+gsLQf9Qdcor49wLyRUSfBhX0V6hLn1C5Rtu7DvS9j1EuC+cye2OD8KG
BHucSa8eCEaHjBgJ5lDdVgYVCHSQFbFQLkftOnoc8ryoKdaJeoFldkjGtDFRQ0aSyYnq6uVNUiRF
dEa/BK0NSW5REc+SSZ7mmTvVjRTu63iLhoiwGNCNy5jye3Pl1NVZM8wuG7KXJsYBWOMhsTHzlrpU
XYFw6Bx5FPMoqxwDj+ADMJPW0svwS30+z8/rARocshGnQgwaoCFeZZ13KZdZZVdJlhQ38bTs3GC4
gZd5mcIJrdX1tV/bmhTet9MbSaVtKR8sKUJQ5qJYyDyoyWg2TAPr/N5iNd6X2Eyhow5XJ2zpIGYL
XyL9t7ylIFgFOHfzSE/AYdUlpqgnjEfsGI+PSGebl0ZA619e3KrmdNaxoMkk88Pq0dDXHZIXD6mC
smgCU6K33taDVIIylCsOl97sdmEnXRWmw8vw1qjeenTENOgXQ6lGRkOXbsoaEArsdyvFIYLe01Gn
1tsOkI8g2u/DWpUMx3qPQ3kSYfRGcje31fXoIOadp6pdinmeFeuq93x639xrCBEHRS5b7bCLeAlL
bl7/8vaHi6pEtInjLZRQ5tUfj13JYLdZCSvFlOSsD63TZuiDANlzt996B9NnkXROe96yOs0Mtwb5
hWTIPQ65Gs75W9fJL+qG8owQu608i8mZQmeRCgJ9hXsxSVdLPfLF3d0dhITLFLzqk/SPS4rqr/Is
vsA1qAF9g4AwYCBpZxidAvrfq/vdVrgiHBJXvpcyaXRvrh7UNIa4X42j1zvXrysOZ6vVCfUFgPaV
4FQuQ0NjkREjqNd88P2juw2UPghtk+c+xBp09QKp9+65XQF3vuKAy6VYjavFbgwLA6Y5xKW1X8iL
KJuO87uHqubHJOSm97W9ppUcxmXUUMy9tQbG8kB2uPmuRhBnOHTCv4TC7TFQTg/yfrc9Jk9Lzb4m
iEqDY9XzZb1cmgqDHFIUoN/UC/vaUqNMMch/qzwE3tfyWq77jOqTgVvRL/PnH8o1C08JC++WF2+i
JLU0jgw572cCT2oF2q6/FO+uHe0aEY8oR8+fQCszSJoShWirxHW3YrivvamCFJ0Oi3BEutl9qg5S
Cns6nT9FhaWtK1WtAIRTcWnSVKJVLSlvDZz2JNQh2hI5ddMNFXvSujXEpySdTqKF9cYiAD890ZiG
H4sJrNk/w2lCfNq/hqXdq4r031ZFCV1sUWI1RlAdi9DRqcHnOYRdF1lxgqjoyTxSu3kk2jzS4aW0
QQNSxDqJiMVHMl8kt0AfP17kn0yccJlfXwMz1B7nCUZmreigsJFxGR6kDNt6LoKoKVZAFFC4sw47
4WYOBPuyUPboGZS78qHUJaGh8H9Q91kPCSXeJw1k+6gr4oh7RZCNsW1QoJyhYeE0YaHoF8JtOBUM
x5pjNwbRIs4xcorCywk3oXBKeU8IgDX5iYkDBBCtljfBIv6jbEuSL/W/CdCeQnKU3RegDhv3IONu
zwQi3IlFecSkXXZO00vx6GWt9Z1ecGp6LQ8ysOSqZwtWyncdQkEXiU7w9qjsRZ9+aSWFkwOpD8ef
Zteq8Iz1IIZKYzsxILJsx0ne8xwQGRbci52qoi+2tu+bsoVOLyri9SqZXliH2xUUrTvkYLoDKXQq
QMISDGFhGHbnVqaLaVByS291DqpRS1vqWjg1t1hoqvnsHax3Qr/KV9l0W3eZdgpg2Bx42x8ENJgs
Yg1wl4lW20EMVFdQFWnDMZSTlpUlPYJdEfK/jH1zTwbIw0OQ9IEaDdehT8iJG2g9z4tlAKW5e67H
XLARIdvoEnt63lLrjCTzt9ykvtxih6qLeBp+TYaIO2235XphbWYJbToOccw87h2wZuevCgkamemp
0bHc26bS+qZCUsLj4amn4debijp7Yecp1OuYFqImXz1J0/g6Su2dSuFyTLytN7MdItQrNG9MV1PC
AyhvTpbb3mXmadE3UuZx07ll03dIgrin4ddEliTsps/0IYsWgNo0KNVqbZKnadLUdo8gykeUM2/r
LSzrjV0rlUaVwqAr1U5elPD0tGt+BY8oTFocUMKdR3p32eeRvSMZIUTfX7elWnp67NJw61Vnf4Wr
gR/WB4JJ28SPn3589+yijVpxhIBKJEZdXlyn8VW0Su2d+CQF5zdzp3NW86n+Z38bcH051kjVWTh9
ESdXZSQ/m5pC8JKfOiji5bLhji6JGBFBe1E+6/U+nyYL/KQTPNyhHoAiHr8TMTsiR5LKjvAO9uG+
2gW7fVUjJh3FlNa0lKUrBtwiM1AuTTUIgsDwve83eTraslNq2dN+k6f3m3WNJQKZkYHQs6A8+zDB
wr78AKSZnwefQHNn+zNjJORfxfT5o4HQJtCds90uNPa6dCwYHgnU3U/8xGXAECTYqTulvgHRQcdn
CrkEA8aZ/MvbH0qH/QSqpyYrqJ8NijQqbuyEDZJplHBIrcLOOhRxNi2jX8HdzcIOSFBL1jUXI3Hq
EgIs4lk8G8dAOjI1+P9Tvpjqo7fSZgl6Pq70r9qNAhbdIPkeNLSxk1Fjk2QcAhoi3HFM6zFx9Lpc
mN/d/zlOI0hx2mKS1t+sa43rpBwYSBuYdK+5rVwt0losSmTNE3SV50OJC1adst2eB9mIg0IdJ0+N
aLeYWgE6GFqfluq4ANigJ9Lo42YiNGn/fT98y6fn/EhmggkbQCBeA8KPsqm1Q3kAeQuq55uFvayL
MdNg7kAv5QyomUzYXKtsyI2b3ESZHQxgIfmIIuQIimk1nH18tbyrLyVRrP8xBHKiwK4XcZwRju44
ejXPrmuFhlwbNuUSP2X5qmhIX1LCdA7upKK0KU/TEhhHV9piGngc6Gkkt+BS0Q9+A0Xn10YiE5OP
oK39wk51hDEHliV8Wlcepy3/nhWyanPVLPcf9JT93YZb/6aA+m9/G2gm62s/Rq6QZrV/8WKx7jIX
rIkv7XmuehUOS7Grd5Iv/duLdJ0cZeiVb/JiuZMc1RD+q4RmWzNVHaUZdxnmtI5kihYkCEePmLsJ
YpOXdbJ2PIIKT6cXzTU3h75rNugmrS7ZAbr5j6JsOPjw6NU7dR1AONXLTDHtGRnYK9qE07zy+mmz
HjHjz8feomrmim0JY6rw5PxsLhvU7YSty1XytwuVrldOXUd2MkXCQHU4FvLKd5FnpbQ/YVVYeFgI
68DFtku8ZPi47RqXwtklJcv33VMIxiO6k1jQ8wGwyb8YSeFXKiyZh0/1Y3PjVjujk2lye0bjjV/N
0qeNvjyjl/8TBBb3GlPaGtf2i3hcrkpjCS687pglrZDt+FnKX/M3jWoluPS7EsyWHoNOy4hvJuvO
lCuEw05qc3ITTz6WjbjBAz+3ojaThbGjrMpN8bfpm/sh9ip3lpxDiUQ/eB28Jfo7e4oAQxL+7R7r
a9j2+m2cKoGF1r87XaPKVfG36muFw0WvKM4K3TCEGPwaaUvSJd8JOJa/5m8aa+PnsUgCpiBtOd60
thLS4zQ2MEB2UrqNAif1XcEty8xh12PaPaeAIWYetuZwZBvFshOnGegWelBKc5cpWGA430k7i/rG
t5EV4CoQQGdaNi5M8si61e9eymXSkvXX4dNbsLXYSbiO+gbXkRVdq5Eg6OT8U/0A3JByz3Jhu2kw
2knfJ9l8tQygbDvIV8s0uY2L4HqyofYyEf6GTGCMudImQdTlkvlciLV64GGvtU47OqMhGwj+9lTq
1XICDPnIRtqbidSm7e0ZEWeE3pGr8gXbhTIa2gP1ecj9njBbHZeyaF7ucyKVhCvfaEDYiGcswEj4
nMjaDMnQ72JYIL/qlB/Q4rbdwIYs9OCWKIn0uQTrbWDdD+g4yaLFfXAXQPgdMsuSrCFcATkp4rTJ
h5wyjeIQqb4w8fImWUBWGYhlFcBoLAfqmMRlEqufjT6QBJ41ly43wsUrLYy1SDgUlrFhrTqR/CjQ
zYHspd3BRXtkEWhE8a9VXuMfYvouiwTtHhvQp2EcVN8E4/tlHCwaA3oQImrXscd+POb5YhlE4yLX
S2MycO3lyJAQE/ZrixqohyFL8GSy5IotlXxG36yp8B1GPUIHUYDxIv8YZ4F+Vy//JJ82qEAeauFy
x638KR4X/0r3OkNMUiTp7ICb5dNVGm/LdW0xMSM19pmOKK9c1s2S3tXPqxpxGvbxfKT+gBKP5BN9
PA9X6OVm2qk5wpYd6vsa/SB/mlnihwZ7phpBW6u5QQ8NjcpChrWKUqdwHwarVTsAptvK6YSSCyvi
dehwYw6Kzkxj53WnsypTvCSKs2fkhNBTg/RjW9PcrtgF8Iuok9j3MyKLNL7S/7jcZ8UHyO7VYO2M
cEr++6Xbl5e7Kh845hEirJ9DlOWA9vXFcRmNy0pcyLCzGwSuWMt+yaI9YrJeizHwxZxOZxS76j5D
4WfmjMMfl+db7j/foifg0a5vmegN9ojnj94IZucaUyyD0pqt2wpUBNH1LgJQ5MdbdW4Xzo2nol2O
W/vqY2U98FwCO76zA1/l5Zim0Fmh1dA6b9j2+FyA9+gwUX/alG0UX2nTpqvZ7F4f2PNnO0xemP9a
fkDdyTbighDSYQFbqG479areOYWdy04fGhS4pkukW72K5nM9mClM1Krw4dZyRr8EijPBzsjldPbm
/ttvvksn9NdievlF+O0/3t7+Tn9dfnjP0Q+zaTr9+tfiw3ucjrO3l/Ev6cfvL6f3H377Jx5/83/Z
9z8v169XH2bp/YS+/Sr6R1p8uOSrMXmb/jp7U0zf/3L907svN7/3+29v0WSWJtPf3qaTe559+O3t
j7/rz//wdYo+vEf5d/RtGsNnv+Pk9/d3+MPP2ih8ZeE0ESEaUI9RxYifE4UP8T7WDhAB53GrsuBn
a6Dt23CDCgpb3iTaKP78Nl4skqnV1RliKlr6FcQxXFritLq0/AccWSowcXhkgbXu3uI9E2okWtWo
dhkI6JMD0+zCyzgh9bNwlOB+bKzRaPu43Tj29YR9yyDDUK1Fpa8HUtjPAyH+15J11vsDESRGoUdJ
kC5XTu/GNr1puT2YKcVPwbo2+xOgEPM/BCS3C9h3P7TtyL2caDvRE+xuw3K2pjgL9Ls1iB1qhIOV
t3VQfrS+4L60MfPjoAntTGFqREJPS9o7AqkMKWaeZJGxXkEjaWSkZcqDBVeHue4OO9XSgwUnArt2
RbYgqSQYmnG0Smto4QSIxik0t9mizSwJGJrpABX4gcPT8OVtZW5+tg1cXLWGRJIMbksJ2FJpsaUs
VOoAPWmE43GMZMujt5aR15N8Gl9QRF6Yn/9/9fOL+WqsV/DzWXQXRNfxBXS5e7Hm8tjsxobR44HO
eb00+uXjxTc5TEFyVYkopDGf0fLdSxj3jIjym4fGdPqt8pc1njOjEg7jchiZP4ax8D6MXqMJwVip
jmEty7xfP8z6xe6cX5S/drGX9LoWlCGMjEIqerUc9mxBqKUT3R03pkIcKKTGSQbIoopHWR2gjIoR
4QdYq4dNAYKsm2iRxaYx5K7bk3MCoV7paARto/KFRW1QyfizY2llW40nXO/r1bNU2YcCOtYfsGEz
fdyj89tkGueBabDb6KDGwMzJQq+PpcKWDZTdDQm5fpKftgF0WrqgT4z0vgO+jw/XcuZ5SKLlDPk9
TRyKQPw+JRBPyL6QNCATMCuNcFYCUUBI/D4ysAEM74GhBjWaH0iLK0Zfs7mAtg/dYFA8m+tJWc35
iHVygjYjF3s/YtSy19FTgGWVAQGcHvJaP2VRUb6CcgZqvh/i7NpOEqgHVvqFPNQCPyypqbEyBtmA
yiyaxReG+XM2Zy9M127zw3P97c4tXGM2KgedAQ6JAq5wxFwmHqw3ZbmIsuIqXlhOHYZ20Eicrtn+
zGErG0UcIPc0L+I9TRMYEFJK1qOa65KjvysdlGkcc9Bl+Wjkwy2mE2HHu8KGy9NafMRbdtJprQEe
SWPQ2AMcaxgnOiUx2oxOkv3R8Jxctm241t0nj5H9FFI39/Q8y/RDQl1pyUYLReRW/yDHTuzsIyq5
7CrJkiWUWOTzHc1eemsEIl7H08/oWK0lenUXQdkMU+u1rqlqIZQ5h07zalqsigO39LN2HfvddSE8
Px/3e4pCKr2Ox0PlRhEv4qu00k0JdJGz429GNOzsVDTgz8BbEi1c2XUiQ8+6kvs9NUR5PqXC83jI
7yllzLNW961lPY+nPI9HhDPnWr74qFGKxtjxXTydjvfRC0igF1CdQ6OmRzgQB5cwyTRMjYyq15r1
fH39m0G3H0hohzvgd9Ft9M4owL+X+GmaT1agfV9N81mUZC/L/2V8Fvrl69lFml/XmWIEGXGur4Wn
Zy805Nf2Yk/mnv6F7XCrdaI7Ydh91EUYO6hKyPOPSdwQ+AuxCcv1VGe4I9ZW8BBCewDab8Vhy3kQ
LF3hptKDiYXExN56mCh9m5N+LrDTWAvDJGrob8Kgr5xyGum7jvX50X9L0YMSpdeTNI4WF9hSqiQO
VGYPw1X7C1v9sMe188QpHzEhnEha+xGhLbnbG61WtsGnRWmaysTghi4po4MQ6a5HepO4tMwD0zXT
RH2iOQysBWqW39Zc4fyZQdxnS1NdijijZIBnNavMcPeRW64sQyHyurQYPLghF56ekGKGOB8pooQr
TWzIwSqbvoyugyib6iMUZPlSH1+TSbTZ9U83MVD8ZcB7FFQ5JrajRVGoYQwfRGOaDRE09LQhWFGq
AScPaV9Y1+rdPdS36gchGnReVkhmet1c0rpwLkgbEMK2nxucmnort1RZhQSWN9EyuM7jIhhHk49a
xpM0DoplkqZB9b9sMT1COLwg8hBJsxjM9VXBmMxny4Pk2qgwB7m5+aLQJx8YHLUaiBbToIiuYsBK
8XRD2FBueLDU07vWE5uDEyy5vrGrAoSUgibeaGAI3Y2vxeE8DqkeqHXahEW3dNtkwjR4DZ+z1s1x
LZCFzebaBKHsMDq1Br0D/ZUfx0Tk82qOepuHYMIbjieOOGqeMSJyhkh24lPLeFGFp0D0L/qDMS/i
zNQlVB8G/MGb/3QBLR/O6OW6uPDrZ5DU08vzzX/T38z1P99eafN4n6/01yLWBhItbxJt+NBM34qj
6/hzcBPl+suDS0l/Uw75En6onw6+AmvIajYHV9SV+RD4qHL6+sU41o/9efl+tvkxLKL+56cv3r37
+qtXMDmYUL3aQxsUcUhXT0OxmEaL6zj4oyiTlaKZ1YQqFXJORyGRRKjjUBXoSFQWpUcyD3kU8+Ds
kDTf1mC3iG43px70xuNr7qOfmYyznnXQlhddQhkgV+g4zBfFRzKP8L/zeDwPcbSpY7m5NxflTTDJ
0iSLq89xeiVkuLW6/PGnn7/98Z/v+tyOMDyeuTB1PHMh8njmgsjxzKV1RpfzuZzDMdYHLVmm91+A
efqm/K2L5WIVW65RfAh998xJcmd+uLsiDb784cfL7zVKtrngoCcDESewJJge/yQFPQHhErIHH5IW
MwuZACUl4+ixaCkesiOay/FYNa6OZ12AFuJo1kXw41kXejxz4Vwe0Tk6InnhR4TgyRGhZiSP9XI3
N58W6E/erQuK76LZPI1fTfKZ/q78PXe3PcTcMXEDxtu4ZPaCvbLfzPGYnSMygZ3oo5pR0UMZlwUe
STFihxAS11NZyuaUFUnM38/PN/Qwf4f0d9tEr/LFOJlOwX+3vE/j4iaO9RyLtJ4AS6WX9LVZlEJ6
qt6xWbyMrK1g9HpR1J0Fa2uPoLWnfvmnSbEqoyXxbBxPQVCsoWAlTX2WE5zfOJEdGa2arIadOOCB
atK0iip9WK8mdoosBUz9rdhCZec9z7TSjmfJJE/t6W1c0BF0Fi8XG5zWbSbSfb3Ly8soDPc7rWVP
+yy5GGRcjFo1tJd7BOznqoLcpDkZibuCTJQmyhuF8YgK5FzYHKGDaXwVrdI6VToEPB/njz/CCg47
2rbLnpcH6jp7bgfmemDeRQi08p7cxJBzk03H+Z1+VeaXNJPySW1nCKFdBoXEJwhQxXdaveyOwYCj
hHBoedrDudI/B1nftiONFdRUiBFXRyvwDa0BIDQ/hiJt60kA/FD9AFokPSoy2f1V4DKusPbW+/N0
BUsJzBcQZ9lmQ76DXkIfk2WZM5TFS8NR4vCcySc6Gh8kFtq0tdC4apNS5ta4PTF6Zd8UUkOZVowQ
H2xs3KpBsAt4k0XFJEnsFA5aAHqCNmtSwLIiyJK0ovT6b3wV3te/Xclgs66vckyj1IopQkihp3So
hX3wMXtfV8n4c/SY5VKYZFk+gbW9TbT+npXXoaSZDoRiDdHRUM/LCXaLj8qN3df4nZrrHw9Pwn4/
4ml9c3ZJz8I3SaFB0rt88aVTrhutSpR7A/pQJ2FOWkOhBMEj9UR6l4vR66PKTiBuqgUsmC7yeTBN
rvR1Cc5cxXNrdTqEIaSfu3/MmkJ7Xb6+eP99cHez2DkRu6sAvT3JgDsvheqo8Db7YOfoNc1LhxCu
VjFa2uQVNPRykLZXLMFIQpmRKdd+9eq8/FMWCVWH/nzDPDfT+uXnLfa5F+YTvoDEYfPqTb64YPUu
pkgoDWiPTzzFE466fsVTtGLocgIzrcZKmAI2MYD8cnVswkDlk9H/vq0UcQtWalc8a49n/YkkFOTf
7F1Zj+PGdv4rykMPcmNwmrVXGRhceLY4iB0H0zZykZeAkthqetRim5Q03f71qVOkVhb3oqiOAww0
2lq1na3O8h0nqsoEFYw/z2p3YznBmPYYqYVYxgJfmwlW0lzRdekgFVygsdwVgjMnlJSCQ3CzivSU
KsweLDTxdmGbXgXfWX8SzNWIjhnRxRvauvI379DTqH9NC56tgrWR0BgV0VG3Fo/m7PNfidA6+7eT
YWcfOKyGRpKPdSgm5jUiOQpyAUvJcnHDaDyftxhPf40pejjrrT0BpMtLwkdoLJOzXJV/jnGqbU80
CoVxPhqFcTUehaHRJJkgow3dDDTyKiKaB11W2SnKYXhRoT6h7byXlAmq5vkU4XLugT/HGkyHtifN
+li3u2vO9q22oBr68ckKlME5ceZxmAZpNDPEd/Q0y3OL5u8oYgTZeICON7ii7eT7WX3vEWRA1ZkX
0Zs4VRNE+qVtjAS+f852A8HtIIodp9IcUk0X4druDgHMsA4xglWwjRZG1gLeQrxcputAa/vgfq1V
P8zH0/OJttoKuNerf4BUk4WJh0aGPzWpJB629xdjWa+eZgzSIOe2fEMs9g+FBmd9LkD3YTiHRLLU
A6CK3AoqwbtkkLw6SK5P3SK5o+s0rNbq0mOQpkVGoSv7ZnOlFQ5xy157j02WtZ2Gv335yeoi4r6m
K6F6j16fUr0fIUupLv37LM9t3+0zVx/gEjkT3SYtTVOMRPIC0z9khItbyyRYLx9xluGXA4152yjw
9lkaBsPSfnRUTJAir8uPW/7CYXshislFKQJjG0nQRniQbWfhQaVGV94Cqbt+XhdqFIRiboRuHR0X
QaMkhy7g7Uc/EhjT8O3TanF+Aqa/m3+RACK0fEg93w5h7BMG5OBIvqeAaKsVShTO97Ld9MIpsVkw
Z9BzzcnpppvSFGQOu+3IUVLVWr0LS+1X8hBBbPPFe9qkD3dGecNQwSzMXhir6JB1Xe4WIkhOAKvq
FQje4/vBv2Sg6w4jaQq7sdVcHQyWJkNcvdKTcZlURgXvcnlqJ3NK7FnNp4Q44NNNGiZwZ9fyNU2/
xcncfuZa1WLeOcqZNYuDoYIFNGmwLgmkmz/kdpZ7nwV9bdSc93eGcpLdRBz2DyIKDbghZjMOOG+F
fF3M9INQr/RIDi03GJnC+Vgn49JtpPoYYJWoevebpb4cahv8qxOsclDpCr/6c23USiXvzlLhRGzy
i18+3f3y25cPn+4qaYBI0cWveiY4d3WEu5AdFDp58yB9mMaBXS0wQOZmfexeuNnpAR+1kR96Myi8
irSgXmnpHW3D0mabVLgieCf4t/24ZAeFe/Qr/4+KCwGaCW0dLrgSMFJnYjPDJcWI9E0h37tR8grX
NLb7SbXe1VdM+coqRzLjXitcQfQDZ/AAzwQ8ExheKnhG4UE5LStBkjrIgsvs4yxf4WAlt+/77ncp
NhpkMvsW8C0vKdbeJE9axp3qJUuA0TT35o1oV9boQSgOB6bMPG1Wn48Cl1oj1SdLGCV6XGTdJ/Jo
Ajj00izptDzblChpUhP7rvFM84FksCXIyInC/FUKgyPbqgGz78UE2wuR+1P5QY4/rawz47I2Vc/R
2chG3C5bnc2NXq5ep16l3gG9fnhJsnduy1aNMJ0Q7pzxrI4IBbkbfdnOGFb3QbQM58bTnws7eCcF
3Q+saG9PhyEi5JD79kAUpSvmnE0YrQ4Ty1r9r40O/WPPyPfPvPh55Z40EHWuien1aX2ngsB3wBLx
7KcYoME+l6ZPUmL8c71Ywhiwj/F8o+8hRZ0UJkmcmCOz8QSCSnanPHGyZpNbZFWFhGuixT3WfVRS
3ngHisKP6YtKTYln/QSMFJqHq5esPmufxmaFxzVFpdg5t1YE3ewmEMPQMsEFjWfRy6x1L1SrWQmN
ikvQeSkAdaOIh2zaZO8J7mIgES2WLGNapQp8aZripP9ZhqtZPId7s3lpgNzsIVPFUUMAt66nWSav
AMdJqFep646M2htM9BYnLzfkY2pcQA4zOzqJ8w5S1SpPsdCiXWIXtJ+v8Zz6zd5bRCoWw1GjPZzP
tD3rO9Sc2T3Z0IWpp//vm88fkmj2cF7fBv2maoAaBtniZs14r5vvyOfB+A5R1Z8C84W00G4cwjLU
v7S26cJuLii/Wfe8rrscP0b2ogNETAD94jzHmX9tPNckU+M4sD2sutMGfC/BvzJPQ28RxlVN0DnR
dgfi49A8E/T/AhEMJnupVL5yYvMcUUFWB7mnj3x+dpsUdCMehTY4J+MMzDq5DK8ih8xxug0jgg5w
87Knqpoq3z7SwOA2RY/BYleWsQtoAsnbL3uEgo+ItVF+rUsdLLxo6hm86H4XT9E/8Ma89wF8rkUM
eUWciADLsMWW5hTDHZ9c+ZYIQl+7we6w9yET/kB8Y+caLLrFOhoL55uP/o36fPMR3Ugfnr//ZB6x
eWRH7/9gHv1COGTCCG7np3JCxNMwq1UC6LjzThkZ4TLqu+HlqqEOrMwUv8JNAAyLPvQKQFof7u7q
Khnh3jrBSl43oTLEX73zoUne4V6AuWz62ivQnBHSIZGstjJWQLEm96+bniiRfu9NibIQV22pMCEA
6vuareW21OsW+5cwBwb2FmJUpl/TSmvvxazE1NW0K/uzS2YoHBGG9+0hWuftoqzROEr0wOqSUUFi
DctCVHCAm50mr3k886CJhj6G6QuUqxxTq7VqhZrQdD+f2yIJwxWYzEl4HyYJXOlTu2lvKiKhXtjn
yLnwyjuE2RLfEJsgTnqFRkuIzk7iPmuIeHg+2qGH1yxNC6WkaEK77Ntho/TPmBXYjgUpLbIH4A7T
VqQCS5BwCDdKR9JHW3olSB5YD6IJfkgTZ7rchGcHlzmvAMO3N+1BpmkTaxMJhSAveqCjNFnbZUep
72NYDrfSv9uWinF/Qyh8noUGXdMah8RQxY2Ry4vmn2ESe8twtVg/nJXC7won0TDnZ6TLIcU+Z0xs
ryQhptFkD4FzcnsD99s7TZhvdte4fenPPvk+L/3pxXJZSYBU3eJ13XmcdJEtBTpcJwFYEdroXYMy
s3ZbE6xhQaYz+ijP+cG9uT3Lpod0H831dTdpaipf2OukSY66WCDbxfFvJ/FXMLbKtDgWE9oy5a9H
Hpa25ChW6iKUWKF3qISySfJKicKBKZxnaht0O2suGUUN60qlE2S9Zaxtfwu0nnSaBtttDhj1Sm8o
IdjtwrvXnzRTrMiHXAchL7sX2AL4SU5Np2kwhwqmEWYCqKfXzL4/vP/wWX/lrT7oAgczxcY/yT3Q
vVtzx77u7D4FlSYEXXbpxILXKcafA6cXFq60OAcm8RjMbJkJF/7lJKy1Fa3kEHQZ/Ug6kcWVSDXB
h4xs1yGcSPMg+5rL83AZvJjI/RwqZqxBQOHLToGKk4GMD/Tuj02QhDZZCYW+DgLVB2A7bxasZuHS
WH3TEjgR7FOmKZFcgBcrjHOhfxxSW14rH3DW54rbEAXBGq8QWoZIl06nI/KBFjqGgqxHRsSENypr
VmeF8lE6u10GqUnzB6zZ+S4iYncgqAlr5C5Urckzc9Q3ssYlEqaeovU0LkigWYgltcmXnEpJtbtL
dZTTFQNnvig8YY0UhWog2DarrOUhCDRvlgTpQ0mGHhQU9h/0sMrTD7xolU/FyhyU6yWTC1KtlXeU
KQTqMYshUX6qYXv+gkA9TDSLPl6zhKHtFEJ3pKEeaEI2VvHAa6yc8+vR1sWgTo8t2mLNnk8b5h6U
UsCJWjVbNA/W4bufY02OHzQREu/nIPH0YFK/8CG7xCf6gRD98l9//vVc6dEJVXzI+egJfQ6nbSbU
LF+oWqYvwrU3D1aLMIk36T4lwKZFuFAABzQgXdTccZAkWpc1sozbHsKvei/mwUt2EBjph/+It/C0
+WE0u7p2po6jSSnRcEoMs2Gn5OkJtSFYhtCF9qjFpBCnZOBtasnXnc6tvbVUcQdl0NBI0KtWwHqA
KvXLJHJl7J2rzxzl2jOdRKw3UX1Rw4I7P8R1EhijsMElTYBDjbOuV9J9wVkpbhgSgNVBrsqgLh7M
G/PnhW/m9vZB32gTO7e+96+Pscz/YhY4xQrqMDi/qBHY1oqtZUPMxYQxdq1WeO38Pcg1JX1ZeDeM
qSzPAHHsDZZEw57I44l8I//ebtfrgrSnCg3izrGNaDhENIyXqAapPHlCdE0qD8USMA7Q5Qxwt9SM
IHkaUS7aHJQh5SOHbBAtN0lod5tPhCQXUrn2cnxIqqEDGR32qB3krdK+AgJO2XtOl16Wr5qlUz9b
srQVhOk6jnYKHFwxblpYpULaHvVfqWBijQISvWiywo7nAKUn5TUZaU1Mr7+SrUVMzatg7JptLat1
xYhWu/JKrasSewp3sXBOxaWBek2ftK6zRsep5G0U3JEMyVGwixjciPYWukC/FX3ApAQ0GafzzuG6
CcPXabCUtIrlJlz2SpUNF9iNqD+y695HC+bNtMS1uhkIxNx5V6PgMUi/7gAMZlBQYs/K0HYHcm/Z
maKZI9Mjy9AwUdTQVpdPubZDmOrNitl6DT50Cr2ud0u3tNWVoL+RL3oZP6t4Hd2/ePN4VdKuSksY
QlxdZZJZbUkCF1qqsS7BsaoGmQDy6s3i+Gtkg/L3oOQZdQv59zWBypnpDTzV834H71utntt/3N1I
dHd3e2rbnJvIAkyIAWJ22aE2K36CtCWuXASkflguv+QN1n4sD0hp+4M1TBLrKPG89bdI32gBcjbH
QkJ8Gq29zSqCV1Z5CLhEXaRwKWkjzOwNSrHQOtvJfp9uth2QAypG2Cg5P5WWRt7OphkkYSMV5AFC
waykJB5BgiCR/Tf9z+jptPuINeIKtzcsBhJa3jy00LSWZI2E0sb3NT2wetkETisplO+QJczuLWOt
YqxdLPAENQMRdyUWrIJAAoIN6r1qiMjX4TphwlTDrmmHwX789MPHBn2r/+cxXD/E80Pr6kolnH/b
gIDlLI5OuBVmhnzldKqn4xYUv2xJC5faGFyEi2uZMdRvXyhlV7kv5GRfCMyUu1SoldtCJty/Tj4S
Rddiy5TOfuTCpLwa69kugZtZ0010loDwJ+niuV0F22hh/ETw4/FyacIhOTwf7Lun9z3aAvKL3o0H
aNKzMJ0qIoO6fB/Z7S9EuQLgD9eeJdJfLUf3h9z1NFrpY/GtHiZoaI/ZEC4myoRb8WABmKBOzL76
UfSVfzjDxe7Agcu4HJzS7fErOSFdHN/nJLi6j39Z/WcSL/RI6adtWT9wQ/Rc9nR1GCdw1hK8PDuG
Ia6PUxEHa/sdbt4PpVczpaBUqmuWgBb4wV4YpeskeAEmXixD749Nif+GIzQhCF+NMqiR/di/kWqx
VwG7E6y7szDNGP19fbnL3avxwekj7FSfUbNFwXyeLsGdmXrTYPbVPLc7LUjDwqk6WtVnGMyg0XJF
GoAgmmBxZ5dxlBrAuOOYsS1ZQoG+7JMrYYFrW8V7xDYrTpvfsCr/bEjN2cswWM2n2vhKICffBmUG
yTnsQv49+4aybu49J/h3QnTNZMzb5wTTNF5u1mEZijklAtq/DeVqOXAiyLdT03QbJN9N48UmvSEf
b2/Yh9sb8t7Iqhss/Rus9MtKWSWgJpDhAbi36EbHUiGfcAA2l3hIeTWPN9MqJQQii/idtd5muY6e
QH5spiXdVZjUg/h+hyDFmQrYwwGZxt3HisACD6QmSOudrrSu5dNpMrq15x2FBosubKAHzb7eTIuu
JDUIdACe4AGI5rc4sQOKds2Qqk22L+bQCyTHZ2aMuzCzwtyJmJ0ug5W1wItoA44Oyr4rKDArvXKA
uaG6OuwBV3ilqW+zvpe5WewB5emzsMT8ECUuSP0piddxmZ9em276CuXG1iiOaHq+fNNfC0uQqjTR
oP7S3/SaWgeJllUGFzRa2eUiMhF/1dV8i6fmOhM+TsP53NhxWwhELIMX4z74M/RW4ULLyODQ+6Pg
7AbJPFxUpDl3+3577qYSd+Hu39MsW/LUJaL5awUJPYXqScUYhqt9n3Lnx+g5nO9CVMc9iLLK5CZN
iASUwXRhjMrllpWMEkEZGMou8wp2i7NYpYRMBOdDCtG6i3hmA8nLrZdR5kDOLOLNugSmE5JVXbr6
s8H2bxh7wUAPFZGHkM+vNbrNfTf2QKGRmGHxfRi6tB6cQkkiUVdgTokO5pSP6gM65HswF1qJQatn
jBO4rfYYzS4TYPgkrjCoFNaCr+LyWjFiza3cIAXAndl2L1cTVu9iaTZ2JWmWEaXA2Mnos/gRri1v
f39aWDPwABKqy9469HYWSKBzjvzt7cMNFCGXcw2ChEuF6uMdVWyTdy2OE+NYeoz01RCs2bQkqwY3
acTehXG2xu0zL0vRQEJcwdEeT/LsYHet7N+aK8A/6yslfKT/O3VgG0d3msze6U+ejUmon2RFEOXn
jODuouqdHBX7kHPor/pof8nw4I+939kiTcJ8HsDQmwK08C54elpGGcPrbXsMsq/aJkh8XzonDIi1
riM7NdLMzzXypvwebCs2hQGG/8h0e7KHPcTRDebBo7aQ3s/ip5cahY4QXKH8eru7PUU8P0HwEBTQ
fQxu8NQuMrSxWB+xHJg2nr0KlsEQdpTjT7GCgPUUOefjE7D9yN/kXyl+XFKZpu3Sf9zd6ce/nZuf
Wo8KXt8oqjWx6st3NA+N70S/tKdjS2gtQkcgg3X4vK6Q6b6+R/pcsrFP37aHb2ZaD+vfgUOeR9tM
f0b6v2cQSlGuT7NPclLYLrJ3j8sO/8nz3vyB33kevMT8BpNnP7gh0/zmYt7AUr/RpabxNhuyUMVB
JhQ3aEg41IGXs7s+cKI0v7c58JpbMdW/os6gqCAC0eSnezkLjANSQDs2PjBTWzuhMQwwzWz4dUd6
glDKugZ5Hs6LOyDwqbWe/cgF57GHcedXMY9zF/w4p4IQkuMLAPTWL8gAfYmWwu9wXT/boDyL1gvS
l9WsJKfMjNV/G6ypEtnyIbsNkk/zfAlv+uLN0ifvMZxHgSmBMw10rY0swEVUlcc5hvIjBeV3ZuGg
Uy1UpvpA6WV/4DdVW77x0EnkijDspX+4QXPBfiMgRfyBNUIZIjSm+Bp4Htl4XknEBj5artptvDUC
Un22gpCBh8C+RNdwiNhyiMxXCF2XwDp2ORQNcHxv/l3G7gakNMB4HJhASINuVKdD/NZ2BIHdS7BV
GCRGGa7t3hSppRcbdl1YIDTsCE0AIy7BvMTGvFi1nNzHTz99+vVTS9rxfTL4IJhQNbYYOqPnFq4i
444/eenta5Lubv9WODofMtCFP/yu+tfgM0BvqVXzcOU+mlqdm2YiUe04xlpXV80vCJGhhyBdzMLs
BlPIBymvICNdnOEtR9mVeflDHwtlRF0DLzAbL1Dc0gr9r3///Msv73/40pJulBpfyp5waMHnfuP7
ljvmuR8Aw5ZReoEtQ35LVus4DKbIuTCMn8LVvv7DXhjBDchKJ+ftSVLULhfq+9vbfRbU96fIVw5p
qLgwN6iCxaJ90k4s3X364cuHH1sq6Qb9OAYTTCVefSgJwpQMvnZfXWAQfZSjp/jUs6JxqHDqzIkK
zsvEmwWpHadLXwgnlI3ml1hG27A8hKh5QjmXhqZWpy7bjkMAiPoDu7VYS2ung1sL4Xa228f439at
797+WORTlSThM/BqdckLbek3bBr0PMNFdShVGpE0okJzFEF4aJJTiA3DtJWXOo71pU6IgYmdMETH
I/aK+LsmdkRpE3GCGhG7FfyPAnIOaT9GIWMUgBWyWmDTeDPd5ZAuX/RnoUFJCZbWSXDmN7yPou5M
TXiNpYAapBsnaQ5Em1ULHJb1bp1swgL2nt5ZOeyqNHdciaiqZGSA32NYMT4EncUllcCAd9EAQ73n
ATAyJFnd6wcbXSnZYyfLT9G6jVCt1MiaRH3iJJQNIoRSqG2ugHuB/umCD704v5GGrieVfJkZcG9O
MsUWjHTCKBl6SbyRXkY94j8NKs7rKSJaNSxlwMRAUDbk5WGFqR1+BXyJqKWqbh9NbOat7TGCHqAP
p9uTfL7FyVd9JZ4u46ne8odQf5Sa1B5THJd64TZY2kG0iZwQIpxL00p/AAIh3k6idoruId5B4V6F
F/ASDkBJZH867FcrksargtUPbSSbOab7UQemjWpl+g1CfdRuk9sHfzDlqpMFNhS5Fr1/jOCW15v2
24Ak80cm53i2Bjj/dRIGj5baEYawGpoYCOHcuSxPg/vQ3kQDYZPW7Yz6rIP+/Y88OfP214co/U7/
C76DT7/LDcBiEgKCJIR2EqRbaAsroi4wjLaf2SCnSuynypqAcg/MTJY+bsZ9zji9yI4rPBhZk4Zk
fUPeF5H1DQiWu5npAXe9hVaxQeywwLIQAvBbrba9SzCLEkIHIXNqB5AFMh9+VYQjfzBSogDE/Bju
CAqqvh4Xh4rq3GDdLzEzWO/jOEP4KhZjAT6Ban8G+hfPQRZMThJ19VOUsRHkkWmvcfu0OkdXUIB2
xhEZniMYFoNwRBkkV4MWMLX+wgPAspc+xJvl3AumsT2RVmI1wbz/kEdNow6Dr4NkEZZ25uKCuN/Z
ZHbAJC3bZoBbxUyNQM4m4mKDN4QgmpL8cl6J6BGgsLKulWkOzGWIJIXSJEC3TOFkAc7NfNPeRwlx
CI+p/gQbfltGK/CVeflbnl6FvQzKh/7J0iHBPulr/A4m2yYFCDbYdb50fMfL6USTbIZeZFcVja2H
otGgJw2xWcrHovSnZVCogVVSz0kSNhap76XDMQ57VSNcJLlq0qjQNcVRQrHzTTpzrTX1q9V2W81J
WV++t8FyE57SYt5nfQDT0lDeSRcq+y0Z0GO76PFzMQURxmCzfrD2eOQT4av+QY8zKVEyHKB6c4Yv
xkXWglkBoZ7R9Oh2WgCvhDQ3Tknvg9a2yypcw154az1evFl7YZLEiTffgM/X01+8X0aLB3ucxEcA
AN2B3DpidQ4WzNAfrowhpa2qCoB3gaVpjjGMC7S02VxNfzn9HyM1DebwhAks2IBiNtvJrMOwpvJ3
j8HX0Ht+SN5onnp3tL/6xniC9rifUY72WEBTZxOByIisZ08YQpD26dQ6+1/2nrS3cSPLv6L94Abi
jizWyWIAo9FpdxaZ6Z0E6WRngcUgoCRKZlomFVHyMb9+3ytSd5EqkUVaaWw6kGTZUh3vvkvH3TRS
4G3FibmXBtN9PLqgugq9RAaqR8WF4O4V9ZM0ieDJgKgiqMELnQ0J8l+LSI79pwEWptlV/NbDnG24
GcBkVnXNEosjRnPHUNr05VxEmApjdD9gS3CvfSQuv48NienEp/OYMry13ge8NO4E3t/sRb8utO5D
VMViNaKC5ukmSbrNMzEShYfzYLxXtixK2X2YTz1apx0PwywudI8DO2k9yJC8gtqhlQs2yp99lj/L
4tmnxc9B8bNXPPPic1Hxe1I8F98jxf7n139PVfE8yZ9F8bNgu89UUm//72iwv8/1++fv94it9iTx
A79NLmZjs1dopAHDEbqqAwWBmwPu1GYyXnOutntNJ25pzd62XqdcbGfRDBDDP2R1h93GD1UgGfSk
9L8m/4QQ9YJEzdbOneG6sVOXasqhGFa6Poy9NklXqLsBR1ezaCQgH6N+rKN1+jZibLkwWmX9+zAZ
z5Ca8k4xiwj+siRZj+MEOhehAweUfai4lFD2odng6zi+/KpIl5NLcD4gG80FdC6WN48AjpUnxvkj
0Y9KP/r6kW//JuL6HaofA/1O/lro12H/aqXGEXzYD/HXYuJN4B1CwquV9OkIHgUbwvtkMsSuspUN
kSkByyzwgraIHjNeqyjapzh+VHQgpIXRivdYx/YzXsibahkMj6tEB3XiBCNix/SLYJONEu1w5NUY
bikZp084LGoOuPvSxzTW3VoF2EAx0W/TR96YvYxsWaq2cGiySkbahNy8qEIo9MsQ2iFEj7bXHLyY
ZN8oG3y72zhJ0hGGcB9j2NxDThg59KNZhCAtmanAetxnr53RWkbGb74O1sulkK3F+4uY/W50v0Sr
kpjd04RkEgTtOHqOxuPhmokk42H6bPRZMlmPWxxHRop3DNq0YBIbmHfhHu5nq8UinaLLax7GpRN2
KO1SzOwB38iQCh6E8qiUL8G7p2IQRPQkJ81wZ1t8vHUXgkDSbCvKRuG8ZACLp3qUeW3Rz2bKKxou
6zi9iXywkxXr1Ae/3lmxq6MJJBwHB1we7zZRypvSCN6dYsCN7+7Ix+oAng92K5eNXFFmHDRmOyEl
+14HbMXcwD2wHHRUC+NtBnkrqnpEicaj7QGdFmhrj/oLvOx+ht7dI5+EVAKesaiEdboipRbluI5X
FLTbFUlgET51vKKqU0x7uhSwLF3uyKPyEGVZOM3HTB86EXQ3Ls6daN0nl8tDyKAAes7YVhEEPZKc
prwh0rPAtrpsZCen0WhyC8swIz3r2Nk8HOEMyOPTgnorrQZu0KYTh2+ejRYpwQzM/w9RdRWaQo3U
t6oIo7XQO1puEsIqHREEp3u4x/MloNrIRj+mAQNdRTXYQYWuEo6Wq3DWH6UPD6HRysMQs+ceCOVa
8Q5cmntgpOhxpdoCXsGrTDDDPGOh2sJdBB3irYPwKvHQ7rHKO6RdBjiNQUrZEiTNIJSWngf6tYRF
aUfW5BHTObAeB9fXA+9bb3D97fWgbxwlc2jNcBDNJHCOHiVqiCCybcpOn5LSVG3MSAh4O/IAkG82
DEdfzDNRGdOjcrsTBus0RUMmol3FYAW45+l8Nd9zc/aX6dw8CxanP3Pn597PnML4zRJYIiik6wvp
j9Mo6ycpssnQnBhJPIVOSa9FoEyjJFqgtwfFzSJCLp5DaJ/g2zsjGNWAe/5F8K59AnHeTGbdqxG0
FuYcv824jY4g9+L/OZtViHPuAxcVbXKSbPkyi25gF0f6vPYztsQ9UaL1PWJk24HfkG2XX/RO+sjh
RQfYAb+hYARpGC0W0cLcHxrpkzZYYKfceLtUUYlvyK6Fa5Se18o1xg/TiqskRPVEIylgPKlpJdBn
JFUdreRL2SIdLhdhkk3SxQMIV7xgA0kCa+8xIS+Dve9S8GYW4rd7fJ56z7dga5I3xbBDguaoPfOH
B0ZOSABANa6CgHaEApy1IwAOIxHmGdWBtIyG1OfI1FxTAgvzJkKo8CrOYkCSknbEBLtq283sqEti
pps2ZBK+LZKCd/zsRTC4xDW//cBhBvFgeR9n/XkIF1w0pRhG/XiapAvMRrqPkv5DuBzdo5813GxN
63xaC3x72nOjTQ3i1eCBJWEG9Kfeghn8Zm1rl6ZH21+8pvg8KrDP1Qpz25NO6PcAy052ofWBnQas
FjutfeI8VR7HuNJaC5ef9lTBk8CEZ6U64V/mCkJmOQjir0PflgQq/Sbusdw+2RmevLbC42z9Et4v
qoeM/FtgKwB2SXoDrdIbTqkIqEvsaQn0lJaAYTi7JkOXyySt0nZrSP5JmIxeqrIwmGR6plWrjKMi
ssQprM9kV4yj3LAREqus/gpYNAnjmRmL/MvwDh0j3eEAUB2KtXBpY2zfEy3ojYgUqyScTHKVDPku
ukp0iTop8yBQ0jajN7tMSEMFvQJUcfJHfgPIuktS4hnKdp93CgNa5i7z2rSQ1xJrcP2vfwEyXg+O
QjLw0398uHv/6/v/vR7szqxFqVWFyAFunfiiLSg+hrMYgDhLMzQ31mPBj5qkCwCm1wYSa3OnSj9U
gMQXEngru62NwoJRdfYhzmedD7V/o7GD+0hrIXrslmwXIUD29KME2DDu1Cj9fcv0deq+TYIgpNHC
u76dZTx56Y/TxNyFknHAfXJRyHcEGSOOkStSLR91++I6bqNdAALVPkTLcKskYY8C80RoYdl2zAZq
h+uaWZbscdESlRSht1MT4TiW9XnNZX+he+bBqAnGdKPHEpErPdEjged2yaJADmdrlvXoZvQyHNBl
kDnwQOctif3SxNkrj1bs71nnseZu6+ripgBwUPmNwLHQsP74DHpQhvXsa2hU5ecTYM2W3UjrY/84
XIbIjag5LgoEL/kl4cT+frcyO5fU19eoog2OhPamfTV+/LtvC+76zWCgFTdKT6AA9jmidmVlzSHB
zJAILGuLy1EwfkQZPVykT1rv0T2ndDdGYx0sgp4IJ77boulN0fjx3SqLFli1efsUDb/EyzfoFnlK
F+PbBXZ62mvVjfP+eof1MPnHOt6LBgJm4zInV4Ib6CM1GAwdzPJTwSUSHXNBdGhD9eE/O9LLp2sz
LjuhPXNbfwIKAKONaC9dpqNUZ/vNQeHRg6axPQdKA6xJN/vU1clRKOfjwbo+fp1WX9z/Lsiu2PgQ
YsP76OUK/vjIjJFYWU1tnAOslCYKtfP7Tz99+PvHOwyRaxfZb798MtssCBF5/ooVpTeTeBaBBjFY
PswHn8KXdLX8FUgkGyCL1C1LMxMN46e2rkVzb/i8FMe38rCyxuhr7AuBzZdZQBqBqMhHmWvPDRj6
T+GLefgt6MqM+I3W2kJpf1UwMYuW/+/yDRxN3wAp7ZNW1p6lUxOj5ky3SK6iUNYmhV5RqWMuQKA7
tGqiUwwPMisV1hYJxtEkXM2WZizAvhWyE5Q3s4gA59q0jYXFDRjQEKdedomGmEfIHMIW+V5WReYE
W7VSx4jvREUptxMP1ZAjKvGx1JzI1+NenARdo41VSVUDKk1XQxCSegqU2bdCejSQzlG3gjlxAUv6
r8gcmKc6hDLWDHHFL4pUD5HCTK51xoesfTonrQpqP7WjPvbjyPFlHJWUkXDNQl1jfhI9mnOUOfd7
pCGpWeC9Xt/E2xrddR2sl1xdEtbvIcOZjsyTGP8ONMHwYX7Fvh+l8xd4snBrsgA7q/jCPQruZLDr
wOA4fUqmi9CcgcIxAZW1LnTLN2VCVq9dxgCbKReJOCtTBR0Ti5CkTTwwHhRbpcuLUiL34GKg0QYi
6ZQ8Qg+z8nmHZGBSTWi7RpueN1QeZ0NdkHaN+C0wwPI8XS6RuFXbUM43YARwp4wloHBiclEUvoeB
Z8cTPUfxRMGkYq2S2iKahbrbaTa6jx6iskpm2gLfL5KmS5wzusEqbV0P3W7iAvwzqidPRNY7JgMT
duwSw1vtZLwzZNE7EXYEvZFBuwSgC0QwzTZ/989VtHgpq2u3m01uSwVFjo/Z+YD1r0HbyF/swIT5
Puva+SCCS8L8UrQwy4LCvHoIX4bR23GYTKNFusre6o+9zXQKoAXH90RPkGa6zRknM48m59hDySGW
lzsaBCzVfgyozNFAVNcYLhl3ea9nWc86sVaKi6SwCrLaH/N7moKwtw1jKrgoL4FFW02XWoRkcAek
VRayQrg/xEmICfnmDg5cBZY96WsgvNlNgAXKr2wY281ecspUvIuym0yY4dpt/64kI2iTbzSchfdH
XkyGHkRPdUgX5lTJgPSY51IQVHgRfNIjfvBqXgSqvE69CDjXRV4uNdCWglisJj0Iyp1mA2xSnGZx
8sU8NxvnJcsOSdCcI6tEj8h2GPXJO8DBE7yOGemiI/ThbuegfRX9mg8IKs9HI3bTvPnZ11S+cN4u
2UdbSF0uKTPHpHyKggvBZ/IQUlWnKPygozk2eDZ3MSe+rmoBmgkaYMLJ+y3rtsasmu3w8ibW8QM2
I8+H2Ov10qSs2IwLqptW11sPu7zc5IveYJe+myRd3kTPMdg303iyl63O4VjUduwtP5P7mkMmtoO7
3ZyMW2UQ8trc1TwZhfVYUF06yjvlGa1E8G3iBpjEaTdkyY5wzP2gQI8NaqzRhhw7VgiLfGorA5S7
VECZbIdNLu8XUaR7fWfbolAQRSfnpzBspegTF8iAjLOfrpaz+BF2MR1tW2tjM9KS2mFCRABcQTll
dbM+ts+qcAYIaRkjtgH+qdWEL7AvyEWwHns8OWy2QQX+s225odC8VHXwqlkYPiAt0dcijGdY7lZ0
uDAb71gHH7hE5RPFtj5W1wW1VSCt6uRzfTcTgDWt9s09/vIOJjVX2+lKdua6TDFsNXsZ9GPEg91S
tvKGD0WZqBc6am1MdKd2K5/m+QAxl5IBL5OvAn/OXsfSlJpzu1h5Cow3oQLg6t3Mk+meMgKftszn
ccC6zE4PnECpRE3YrievZPEUB+T2dY/aSRzNxnquqlkfB2NANLNw4EqzrC8oCah5YCvBQXj+eaf6
+afPxyhrPKCuFdk55WgaH+IPUAyW34uL5F3svH41+HsvzMtuz2Zkg0G/f9Iwwe5GPq2NhOuCslmk
5ylid3nQbJZP8ahE80XWQtswUcoGj+x+cgd5+9lLsgyfC2vKMIPNP9Gvyobv2a2X171hLOQS7gW0
VdB+Sq9F+tTptZQul7vEpWaTjcVfIfAKdDVGR6UEucM9x0sZmSQl2CdGdiN6uNmPhwPnZW2qz4At
r4YPYL4MgZGZe6AwBkam30TA7o6AD+fzUTi6j6o6UgqcNHamk8UsevCAmuuHybi/26PqWN5gQI8q
yZwoLHtD73NEArFnd3gFFi8PLlLqcfOUpMFgsO7F11wxp6Aq1zJFC9ivewEAzIf5TL3QHC4iHhgB
TDVnSmVrmtxmSnTELoR5Vjr2s3BFyiNg/sR8s1TpuhKXYtBEZs/5TmAjxNz1QTpyVFUspO9VABcO
HKBs9LzEZjizssxt7vsYW3aKsrtrVhiwPsfJd6y1pc3kwqhDZDVbOp4kesDeJTJccYaL5PmWXP9F
/jn25uAYNjAX69BFbYZDSxhOQ7PcYqG8gsOyC2QlwynSr9OledCxL3pKee4IPltGc1NXYeaDNcK6
EYv93ygIJ3PRJwUmztwel5XMb7IrPTpjIW5ayFPo5XbIQFmJtMdeM0HjA8GXmb8/QOB0qkzAwzFp
e9y5LrG/zpqyPdGQso2yVEqHqi68hc09DC3CucTWyr5DrOMl84KpHltwiWJ7h8scxTGuInqlvKtQ
uTKYsNmTR+oLg/Lgqw4vB4EDrCkCB+VYQ4KeIh3FH0srnxtt4BBrRYnNSc92bTRjZrzMMiKOuZm5
cSOKhvr2Sj4c+z4Kx9HCpKNwCkYJbe/7aYBzCZs399b5HYiCc0z2yBOZ8O2i/sYgu0Xg4QuiyGWy
uPPiH4NrVPjdOYkkRjuEagh3bH2eny6JnnC8VFmDfqZcyjNpTF4OuOX8UncWjFHL4e4NGLOWw9r2
hBW/QNcv3EaerWPuqR/07KZXVYk5TAzCVfFnoIqShuIBmKqM+03AnP25ChcR6D8HofAibZl7lrNq
bNHVN+fa03oePn1nBWSEWeHHgANvoANvLmq7yj6DFTkG+kGbrNU0TAI/OvimT66o8OjOrytywXws
W/ZcwlOZFRNMRq+doLImtewlGeW5jNEzrL/EDsuw9rhEvyQ4g4Q5V/tKczVVc6TKj7ipmz08kQQG
Kh0CC57+XMWLL8YGdowLT8/0eXVt0if+6zv7he+9vgOwlsfMuQwnr+4tET5/Zb113/wOw3DbxHn3
9Tzca+5cb7ZUSYshKplwxNwep6DIxA+huWOdQvO1Uex6l/GM09FKuzHG6UMIP2ewA7RbKqaL+VQ0
tJ+30N6dtLsbPdcZMOvNmPMxaL1sCMMmDu/grH1QzAJyBY317VfkDPgIfvVKBHeAmQXFPU5xPv3D
LMm+e8aCzZ3SnKenp5sndpMupgMSBMFA/35TfFOQ4yhejGYRfMfiFlRdeB4Uv86XgjfCJZDoEHSM
f+DwEP0l392DaQe/egxnqyiDfXz/R/gYrkn0/bbvtDeM4GpvvQxeRsn4FmCELyfxbHYLtmH072i7
4iBcJ9/BmcCyzdNI7tIkuiVvxquH+cdZhJjy/cvnaAZsM13cFps00IjwuPAugEqs8nmEHV+qVrxw
ggyTTZbbJYanaJj9OavMn2EUR+o2Wq8YC5rcR/AGBqrjJF7GcK0brlASSlaersyvokPRIh2ahN9I
o22EL9aVcv/zKU7+rmkFqVL3ZF9Gz8sBfqZozu59owkSP7YRcfkP+ttMsxS5L0iDWz/KvEtSnENq
vGfV49Rzg8A7VSKbmitMhMjg1UznjIFVk0WLpXk8WGArdxsgm9H+pvlYMCd3AC/7wPpwcOTwBccv
9YfxVJiDpLYzsE6cNxqvedb7T59++ufHu/5DOg5nRjMnYJheo16FqiquxjguEqlmyK8ESCH/m4OC
c1Ajs2h5i1+wJ0SOUu9RTDDptQXcWYrOsVy/NckHgSmIkiqXUL77+I8fK4FMiIcGum8J5Tzd82RV
b/nJ+4toPjN2I6SeT3nPt8o8qnX/2R9xVjrl0ucur13LyawfjkaYqa1nUOLwKzNP8T35atKr4pZK
6UxNKuksu48ny9/hW04SG1FW/n1LYOOkMVADcfou3LWe82fu4+V7xNLvbA3vjX4yStMvsbkQjUjL
gcPCIs25en0gsnDcH0dJbNbVcJ446obuaP4Q5UxtIJlgnstL1wVNy3RunvwFNG0VUqlx21ULU1SS
vKBdtKZm1URZjq20vuFplG4mWk+j5YfVAnnYzylO7jPHWXAKml1L2Rr3fv52FNVVDU62M7qPRl9+
vQ83C37EopsP4Ww2DEdffsw+6Nqtf4Iuu/6D3xKwguNZOJxFP6SL/9zu/r8iUHjHx25smldgONJA
aguEcpTbN8Lzed55FP+WOhgVnxv8c3j6Ed0JL+kK+4tE6BTAji3wVNS9ohsiGcNjksLD3+CaP6+N
rHzdb/RHoiR/wkc4MTz9/P7z5493N7jk3JDQKjhgMJFeW0T0FC5H95X0gwM3A69d9mFMJwx4AAae
ap9yT96BIgJduC5hUNGXmommpmRbJMdOkRz7akhOsZYVQWOSlBIKFAXiEtHA0MJatyyaTYzWFpPE
chRVDSo7sTiD43KhLhDT+SlM518LpgMMzsP0A+V7lMJFJ8vPxc8/6yrZHWAkcHnZanR/kHmh25gJ
ZK1OvQvr2tLx2Oylw/AIbwnZt2vrRHyjpUc56XFOOtmAuQ0IQe9CC1eeNyIx37oCFUK1e+tFH5TS
iyc4SYyr5qlEmKy5l/pxXEBM85JSwlRXRzYHIXAgeCPOXkQRdICpWDRv8hg9omkfJ2h3hqVaE87X
8GuYf0eJRGbXP+f6eHWcVDs2VLrIdpJv303APLpdLlbRkRlpWTYhKtFnU+dYmjcUgNkcULdAwzys
rA9HxWSO2Qv8LhrjCMQSD6wkmHbHHd/szqKmCwbO7BOv1XObi+x9HT5xetbjo0katHG0nYCoOQKK
QRob8S5PHlFHkz+XYC3FPpWswTqGE4LeoHnNCS4TMNQjq6MF0i0b4M0PmqSlXLWINw5xeAfG//5d
kumBbfKk7O7cwmPOz72GseWZFfbX8kWHZ7ZKbD5xZp2LjrH1klJ+wvTwzcDRSngc0BX0KbWHUL+T
YTy5rCmzUAwLXBreqzZF9GIGsaa97U1OGG0SsNZ6z2pYvIHJLvEc9V5sQ1QSU7TtzFaxgTu93C/R
LHzW7OiHdDGMxyDU4MVvv3z6XDrcj+LUObvWdKXL34fzqGgRq0Fb2aZZYs2QqoG7J7pPXbH3V/QH
+H/Tg0qPolMevLXeKrzcfAu8zrdcxB3RWFykusPDFfthAoh6xe5ubuDP9MPu5/aKG3CiMqYcwl8f
EOq6OwRriLxl23yHm7y9uRnA/yWVF2/01kwcJC/CIISzrxESE9DkIkNxsf/qoDjc2RYW4kRUW1o0
OysKn/VSekTLX4JEBGdf/8nNKCnOUw//qjyQqsvlgb7vX+7mxImeP6/LsuzmaZ2tN/Sj5zk8mRVt
IplnGfa1XbgkATk4mdAnG5Q/+qqJ4D29AGmsNLeNOZdLdFZecGu0rsRmgjWqgjb23tk7f6niNey5
XcfnGFtl9MMJJsLlHQKWL7Mou48io8qvuGfZpFnalMqOo+Fq2h+m45c+5pJMF+kqMaSHBNjiRdDm
qx4c8PhamegRn1p5s6txJl0ts3gc6WJw3YJz3N/sw+zFRtxpbhvjCePJ2lmHNITtrm8X02E4m9+H
OcmMx/8dLl4M/gG/RzkVDjDK6ELT90tf/YhgpKvGqJTTTUVZLmc0cIOwe0uZOYEIrNI6/XKoYfHD
Ml2YOzH6QU9Y9dvyq9vyADGkD9ulDF1IaF5k3NFSvvIa3drv+XSE38fRLHzJfs9LO34vn0rGKLXs
bOzXZi6VIgozjNgJb67vhgSNpKf+j7ure3LbyPH/il7GD66Sw/4kuVdTrmyyuXvYqqQu2btnjsSZ
oU2JikiNx/nrr9GUNJKIJiGySc3tVjZ2/EF8NBqNRgM/hPEA4X1wEJPKEJzq3y6WxcLofH2IVtzV
7RxgPjUfTg1aMvdNO4awbRDqpB3GxKi0k7btEirfRmRDFhReSvAnPeicIQ2nC53R8ClMUf7Zbq17
+PY5pTk03saMezEnx8yizw3pYiLSO+oy0up0RJChVhXz9S7PHSUkxlXEbIQVxB2TJs4mane7+yqd
VlTfWRwHY67a5aJBX3w8aNOf9kND2VZeFKVZwGV362uoA9tj1NNiDLHcXDyek22ygAB9k51Gr6+O
YQRikItrtEXChm+owPC0fqJoQJsIR5KeMjENJI1SspmMe6vzFBdt3zG9rC93OOexPSvHMJxNvnO8
pYeAsBL6cWuuju2aurvmxXjwGRfBOJJvsxcY+PKwLb7ZGki3KqCHgQ9zgU426rZufAGoEy787KAW
Thifycir/GVlIoYnKOEkeS8AU4z1aAy07AJObQcJW2EQYXbi9piKfEjKbIEXCIPXFIPInUcwZ4Tx
t1OAiJJqPOVeudEifXufw8LR1NGyzSAHHQ7zdoczeQ4YB61v5kpKG5lfcQPzMappUZa/A5c4fFOf
8/lN+penfYbU1oUc76Orokrdp2sETXuDbiiX6WNL/Yys4azR8SxmKqC41Ki3tK0X8BBeIkhZByoD
kDG3e66uUsEbzCG5SGr07km1PS8eaUGMaZzkv68eivxA012JyA0tIqqgm9R6MX993sLtunK2aoWK
CocRdZqvPZbmya5qNi8wE4WaS8Q5nV0Jtb2r1De5eoimIcemJKdJTbMuOgAjAwCsi6+nBX+OcQv1
KJs2z9stziLZgE2U9T44f7Jqw3VWoV3HaYh/XhS7dXUfIEzoeDIm6rVoICBYVfDJufiP08JwlCcx
xG28ZMu0OPNP9mxwQJ7Y1x5SKeYFvZWJAJK3ZO+eLLRhIY8QjEFHTAfcQUTLs6TrBfTZvWTpuZA2
E9sweOOEYYyGugVlZiIsWg8FptsT6larq41sSCaD8b7OYm47TgQfnIyz+Y760LYPEpu8zpHnyRZe
2/cJkE9P2eOHlbmuVN836b394z/AL8FfgVtMY6/oSCsmZkxFIeuY6Rn7X+F6/jJtfeOrV6D+uiRV
8MatngAmQabbC4cAY7Px8UosnomOwqoLem8Nj2cvHbbh0fxZFQQDZDh+/Fw99uMsMmtPAojuqSH0
7ZjBdSG+RkGN1PQKYH4+fdk8NUaWa8D3p7w6ssAhkrlePuWHa4AFoTm7EuyBTPfBc3tblDBxpeGJ
tcnq5OPkiexhT/aMHvYOyiWfaS5Glx4XVjFjr8qbsIdyUVTKmNIb0FfKPUTkRe8JjjcPz2SaTSO0
CtkQoesXq2X6mK3T37bFJt1W32sBf21pCGMzHqvhZG2rkonr8jTZtlxwIxgzSrnfXtLrehdovdeC
6So11HSfk3J+Ji0O8Ktg7JnwrNFNgcNMgj4FG0Kth3wyFD4WsF63DEAWYFKMo2VYzUQYeNOmPViw
LAGgdcqJ9ShCDxsPAsV9VeB5SLZ7ne/RUo+pbxyE1+I+eJH8lCUbswG9z8ecZwN5QEMAJAduy7x4
mp8Qdk4r00qMp+267YygbmFfDQkxMWP9OCl3D2RGBGUk6RWMnE1zJ9qfiKEARgzgo8v+3r7ctD8e
+KFMNELShO2eCr/CBIX5cbyVJ1ugjGkD7yh8LC1qT4FngCXtAYNGxyLI//rYMiqHDSd16INOXxep
TZ/Nj490jpGXJk4V7XFqtxUfO+zdhAAcijSXp1PCjX3ts8CzDUCTffv3Afl6//sOYHVhI3QfuzhZ
L56N+Md5YQ95sv5q/nP7hNfYs9BEXxFlpBaB+KaOYmE2EkRHb+MJcNggCMP6xtHdmadPn35IFtlS
vIXVUKt9kXyCX3ImnwSTIpwxJpTu42vewsXNNrVjoxZmdVL0XVhqbZRBIcK7lXFObo5iB8lIz5Sm
gJ13UGy0WQAL7Byc1qZyYBA26eyg0qvXvLRpuyY1YvEWSs24/5XZs2bLgM/aVY9MPziKVjRMMBss
VI1p8Ocu3X6Hp8BkZV8T/ry/+we/i+Tdj/zuH+ou+vkuujTRKOCzWHmUM3fKKZi6rZwhpWiGJqfg
+HoyGcLjdXhbQRUFM4gqaO4WVEhxW0F13MPjXZ7CmzpPlKXdqRuLHUS6ubQoF1LJXW4hgCktrd3B
TqlOUQbni11ZAar9PhWGI61IaAa8bm/WeIeUpUTNMxph1VzpIQV1gcrnmuXONaOlEX2uHOld1tvC
xX4XzpWJUlDkRhmXRlwyt7e2J30wnQbDIPBiIJBfI1mICT9j4VOTeYsmYz3EPIrt14tEDl6TFtkO
88mWTKseS+ajCnKvkD3cbb1ZvjTrIWlXIHR5j2Vytm/JXD3L7K90vk6fiipzJ0uj0GLLDV7pDpw+
GDNz7UITdX/85FDdqyD2sp07ydVeccbUkPMFcJ33k4YMgexpPT+ivT87XrI1pGqFHBiIdBCeJ1WV
LL7izV6hgliTjSR2UVYuG4cDaDyxwaW2iW1khp6CYDy5XTlaGSuo7RlX9jpt2ia/guTOWMsOde/t
ySXB4H1qqAVYJ/+bq2HFThIZR8J1sS6rZL1MtsvfWuKDkLEuvMxha43w0brsMYB2hOPoZJNUz61G
z8R4ijgQ79j0UAcZj2T19nFgUeRO+aMx5d8Tb5df2+SJGEf+OqmJnnLQ/D6m9Pt8aus5Z6KqkI10
vJfmgrx4xqMsbQw/GE/0mnS76NFMSOZp1y/yzIT1gDVh53/ZK4xhqVjXzyzZOllU2QvMYlvVF1K8
5gkcY8wHqiVbr4sFdJi/ZIboCjW9mNZscknttHWwMj+WVbbAx4PCcIU+cQTaLXjsTnwz6t1mmVTm
Mv+cQU/b93lWpav5CU9IpZc9XANfxr5v4//fQ7lJgno4BcXQYfRe9LC/P0ThxAw9FQBdhaNwGAXx
2Dc/GBeXVykoYya1dE5so1LpKdRhfNE6nbdvYwEPRTrwtGXOCyTx2ix4U+4odb3qYLgoymw7EHjA
YSKMGuYWdw/1Qzo8Kj8DANGzORVySDxUybYq7WMvPiNEwpAO5mvtL7g4oT6vK0WclQaCC4tB5pOP
pRvxnAcAN0YatMFEt5Ed6l8cskG6PGqtkXcSuZTJtmxbeCEnOWizobTSUgR7Sqvf/+c/fz4Mc3VX
igAoB9jRMBnT1cbsl/IFw4uR0UwyChZqD7mKhy+OtnCAFpKjyxV5FCvN98PMrggCo4g4gYDCBHzf
MJFbzdrCmn2Zj7NkS8ecNpaLQv5QU7RdzJM8S/AB2wLw1pQYuKy0oFeQjjKKZPXMyENrdw1UgqPJ
1fOkB0p3NqmymyqDF2PFQz/CvuWsahsqN4kDoVNB4lZrv2tZE63n/+GwGMaASHcNgqwrO32XtldY
3Zhz1WnS4B2G+nLhab9Dmdgc6sT25WypuRhbJ4B3MMiufjHCYpWpufQe6db9xKvqPtlszJXYBgOA
pF6Wd/zvr8hEaJj+rcZhAfreDW0LPzFfJevsMW1UwhsGhAjHpV+WjTb7zt61oUTTxWq/ZZtHnNDj
0n5zFwjtjqYDf7RZo+ocNms7wLlX8rxJfrTddiCPq12ZO9x0aheI2sNxyecmqnJaXCSm8HBOo1eA
lq3GXfdNbsKBRlwF6c1JRC+LBvHYFgiMKXOjQdk2x00gblIVK/wwg5dy6em2V3c8nBcvfa/vEefw
YW+XivoChacWYNguGycus4yaS8bK1XDHwBRJdVWSoBdI7j8nRivJQ25js01lVUOK2EKYjijbzwDZ
HbAxQXo3IIhT33YP6kNvLRKeSmI/5Lbp0y6HqsXr1BZBRiGOB6tNkdouCXJctq3gxd+SWBMtr0ko
NjpmWp8WLdZzMLwwG4qmmi0DdSeMhFcNxpSnHba/6WVra5nZuirenEztj7gjjadt7cKkTHw2v7ZL
8vyQ2UWZIpWqyV6laq3N78L4VEWZPM3aB12nq4d0uTQ0mmB9sPpSDpfP5oWLXWUjqfnTwvoF8981
2ogDoYnZxsq4L3WLS7ZNH42gz3iuFsAIw8HqO6PT2D/xjOlA96ViMUznL+WhtR71nvDIzlRPCru1
vcDa026/K7bpJk1c4ImamdBP9CS2bKDkCBhJ0vNrC+RrmvTAgX0tRb4W6b5qfcQkVX1508jXGK3h
ALUq7HMRBe4K/dwD8jke9HZMr+jngr7cPaO6432N7gnlTvXd4F8w7qTuaygZxp3o7cC/otz1iRbt
51YYd0r0FTZHPieioO/n1tjnGOuruwITlgTzi35ug65s0Pdzf6K7QrO+pyHm7nhf51kiXwtlX6vb
oUbc29u9oA6gt5l8w7gLe/uT7xh3UvVdCYYaserrPP/CtphmfcMJjnEX9j5lBao7zgdHiM0YC5kh
xkykKOOg70pJjHku+9qRwsxS9/b8IfY5EfdVbYSf6X0XPsY/11d3Afa5QDCP4VWkuccwNxaxxxCc
yd4LsUStrnes9ox7fu0x9GNhEHm8IvBABh5DP8Z45DMwVWHoM5JUIvAY+jGhhMfAlKmIeYwkzZke
eIwkmZTcYyQZK+YxkAxV7DGOZIEWHgNJxiLt8d4ch9pjXNrfm7ygmuudW/mGiso9Xukj6TPGpcHK
UmNSHUUeMzWq9/17Z8eYnsaNaJmQUMSCWmzm9W6bd+B2sDiGToO+BE4SzYvnog8oilKzmJSJUz4y
/8IxSdRcVWIx+C4ANXXQ3LGuSzexgRwwdCQkAc12rWfuXk9BCtJGW08t5LTr2fWSA+tL61lqV7oL
lUPEUUAbCzmS1ATx+3DnzyRUID1oP3drn0f8tiavepI/A+sf9qDGzYnUd+N/Sx+qbGUHJ57hEa+X
c2i/QgH1RCRn0oOr6aB9nPfG0I40FrP2Ikw/xDlKPCbdXwdxwB1AShqqtLnf5T6FH0EU3VH90kvM
tmF+DOr7uZb6GrJfSosifDLE5/Arm23axCjhUkfm9BexJxoFNiqIQ4DhYW+uixb4GcZjDthhg6lA
b1+rJWgmPVr9GTn0WRoudjIYLBcQz3culCAt7AvTVGc4Pl4P5lnHw1fwiNiP9YkGAVi8+YEFpKuQ
bidV5qiNhKT3Jk20EaCCtiFwcwKRIOy0By8BlVJeSTmdBS0DpAmG+H29eN4W62JXWngBHFOltro2
B6ivGsZMICq4CVdCUs6x3QCrb8XRfeA96yHpPqLJmFyfPrkN9ZybC7n37ASRx53RSvDgPjXp7LnW
nOx6H7qCTxq9jI5w0G8YW8Nk3xXP8nxuq6y3qQnS7Yaqdtt1OV/vzO8U7aGECqDdarhLOrbFG48O
2GxWWBQogYQ0iwtajwQqKhgevsF75UJit2kLAcByn8P45vk3s8x4O7AyrohHfmxnT9b8O33dg644
kEyIaPx0mjWOUZ7ieKsc7o9a+qe4b2ovtm70CuWVql3S853Y1XZpa8Q172tKYDl1a8ESRgI4E5kA
ZiICPra0eGBnJyD4J1038OPjeaLOzl19TeV4k2w7KBmH21rsR+TXVT5PX2HWU2J+sq7Mb396xYTm
xEHvJKJlfmxLeXPsr8gwB+ogJIq+8/muhEMVoVxik+ZV1EdeH1Cr+/EWr0h8EcV6hDU4/IH9VLpX
DP/QeJKoxz67FgIFbxSSaiZ0NIg6BQEFn1QHiGwUIwyv0zqmZs1mtKf6sIfBY3YOwztJA5eIwl34
kvbdHRqTkp6FdTPQFF4xKIrtIf3Im1zr8N3xpEilRv2sBN0JcMiqcY0DswkO9a96oKgu1DemLbCl
L7FqQhwPtC2SX3tylU5D4Fh+cIdQg69d7kE79dsHVOnGglSuETnD2G/PWW7+nWSV442Fm78sSaUN
0WBpQlIpPscGRdngDIMoMl8OKXh5nLUc0AsjQWk+N39IymzhGhFHwlun0bFncX34li5orhCqeYdJ
dnH4l8bJbfLP9uf/+u9/3r8xhD+7mwu55t1Omf9Nsc5xVvYZEM0q8Nj8L4yD20qqmKCU2F+zvPiq
WlTrG8uqNKUyhCarG8tSANQFJbtMI9S6WRSn9bWS1NqhwTCMaDk/mlxuROR6RGswoVSaeyIGbwGL
YpmiIKOhN90d7lZtGhRsVCdaVM/pduNAl2exNj5UDhS4jk/3QyDtuMpt/c6Coh2GFkX7Gnr1ZBZ8
HR2kDy9+zRNZKAkdgaFvifERRfWwUU82i8jqFJMLgLOMfEi5f2SChKP7HTUMiBjV14jaoFxnBdBn
SVhVGY5Nf1Nsdhu8IspEI952spN+unb4EQUdNlHf6HWVV8XXdJ39lcJgOwDvqwufmpGyVPCqxExY
TtnDbsRZ24l/fNlxx7XKPlkOInWi1lOiaBKZy5mklLWRJWsLtaD3z5doqO/vlLceChtREM/JErcF
XNJE0z7tpvt8hY7oYEwdd5+vQUTp32jhYFemW0NgXWGlJZKrWSSGLeDpU0eyXJ4Dj+PwMfAGQIqd
B1H9zDC6XI5HF7UiHRHPtiFEG7Jastqfjo+7JrEP+qviJW2JXUKmTRDRwz3Z3tzTEXoW0BPmL2yL
fE6ctobuv37C7KtGg9iTF+ivUhOgmNNF9bhx9klmCRIhQSXEMULM6JUCfo2SeS1zOPmX82zlGstq
se0p4G0dclyQmu+2GZbd5vFMUVq8+lArm5PpTWgTDV+jdWEunM+PWZ4mVZI3Ojl5CEXjhBzZRZ/N
HiHpujSZ6K6zMpTU0Gyc6nbGPsgISZCGR64Hn3qak3EMJayLdXhQogK1bPU/j0lZ1fPlTwfO5+l6
nXz6snn6ANCWf3zfpPf2zwB05yZ9+mC/9mN1z6QQYf1fvxTbex00jsoYrqBGjkh2B11GkHgUQTZr
RBD4xYMcSvG4TQ7GYhNBzbQ5FhjhuWEEQZbZIu2Ww9yMVJscKtIssuthDJjgMwM5OGnNhqOxEcjo
cHg/CkWa7kJx+bfg4gQ3Th4CjH354g/FOnkAj5y+OKqIQoAg7m7xIBPabIsnI2VpCUL90DZ72FX4
hZBFUT1U0xdxQ3hTrMsUhltU6Raf58CD2GyxsLsCvkn2YmPVdY1JZtFYjhvrGt4+wN+GzcPethrA
Af7gZDzQisXBNKyfZ48/AY6yk2EM4pkHtvde3Ijf1xb9viLDbQ2zoQhJ5ig6zNHc2Itty6ZT8Uy0
dRx1kngTNbG59+N1wyaW5st0naVLBCRIKJhlJEMPMtp1uW67w0DJ7iZNIm2o0t6TfYS+RrvNHC9s
5l7ZfR3qSdeuNU6XhXaK5FC6pwjXj9kaygjyotjgbVNiWnpMdFdeeCUYxtGk9KSYlh6hpt8vvWBa
+ZgM42kJ6u66bL8aVXJii4kndjHT6lNMrE8RxRN7mIk3hCTF+z4FnNZgpIcjAj/rnZXh2qauKeso
e5CFjrhDR1qJv05AJk+xwfSvOznCSelJpiemx6elJ6bWp5zWXiI1KT2hJ16/YFp9Epom/dLT0+4/
JSdeP64m3n//3vREHE8sn5h4v0eezntb5OVOF0UR5BGYB2JQTAIgT5REKTf+k5g26SBrSwBsDFO8
pFtnDBUKTXn77KRXj0gtkewX9C3ykQlw4WGhatii9DVZVPNVUi1cgFzcDt8KWxOJVINHibbMrzIx
ZzTTkb6GeD9EFB17ouGEQmHap6u6SMkmuUXKycoaOuRzrej7jw2kMzajPfn45eOOBx/N/80/CEMy
jKZnKIgx3UjNJmcF/u6d+PGO/wJTPA99i+ZXoGYH49FryEJev6vZjNi7Y7M2QfgniHFbVF7Pd7It
Xq3cMLitnX779o1/ojCqbmEF5J0UTs/cVTt9esf4eK0zup3DvIpNdcP9QmFQ8FsxSOGOT7/KJC8o
3tdpfSd+Qdc2fGdscpRN+d60yV2cqnfHqUDZfHfrrhyMqve2j8wP7+y0wRlt+CUVKihKnJxN4OLI
5j9//enHf/7Xr7//8b5OxDMe3+lNZ4468OnN7uPH93KnCoKPiI1LPf3afMS32y0u7Xc8/Gj+jxqL
ugE33HDD0S0U3GCZeIBaL59eMx/P3DfKleI35oriCXV0k2W8mk8V3MJBXcNm7TGmT8UCuG8vjfLb
hjzpa7La5OmndVqhhhncRJPv5HDE2IiDd3fbO/+8+YUjAfPza99kbpU5GyTkv4MMvRZKvDtr/MkV
Hry/9fgJDxhuchb/1OfwuMElD1i9/q3o/Vnp9bqW71uGjoP81qmVE/b+n2jfsPleQuA+ClPvzlxH
YnN/bj6nyTLdng/tAjwoWzWEAo3BOIXAT+EL2kFXq+nit864Rcp/wgDmyPKxteJSirmPAADP+1MK
YzxgY2rFIuC1GAuzhWw0vdTgexNZi/ZwunbpxW0u4oo9NKlaJIs8qwWASmmeRQpi0+b0W0nGszgi
VdFzIm/L4lvdyGsnuCzTPPluT4WsSrcWB+ief7C/es+aZxWH7n0mCIN0Bi6W04JhdOOY798D10pF
4Yia6XB6Upofr3uMnXSPxx7aJTqU47YbGIuk361uWBAF3hzgt2ezmSHeg4wEoMBgtdeK163qPkIH
GN1QvV5eZKSJGYXPQuUzubINgMwBEoEt9UWr6KHOlwumRlHsSeYHL27n5ljhFFSidnga64zT5Twv
nqyjPjrny6EIsxqphrNRxIXfx0EeVAB+Zxyqb6uclvuZY7uHZbFKsjU+ljCUfjoYOnjB8YGDq/0v
lbYF3nOM9ggDCHbHMfJ2bTMNwz5ITaGqnfRLut1myxQgW6rvm3TvK0sj9yLNXlILZ1XZMaCLdF4+
Z4/Vl8xhjWE0EyQEh87py/Cfz8l2bVa82UQQKwWTybgYLPyZH7WHxh4H9XN1QK8xN3SQ9U78fWEY
KlNzTf/5X3/8Mo8+7P/4/V0k7rSCf6vI/vzyNVyb+IAN5tUesg958XDgc26XyxmTcCnhmInGIlzZ
/ujG4jBuLoCMhaSbuep54l/kVS5PPwu8Q3rwH4kBBpM21W3pC3Fb+qSG5/Ho07ClxqOv9G3XX0XR
jeW/oQNQahaTShtGtH/Nbm5/bReA8VxvzPUUlE+T6Q2IZ4QtFQVjHYWuI5jFobkGxTfciAIGV4gb
WmIQz1Ss/q+9a+tt3EjWf0Uvm4cDcN33ywDGObMZL/YAPruDZALsUwJaomwiEimIki/59dvVlGxL
apJNq9Xk7B4giW2NM3Xp6uqq6uqvhqUvycD09aD0Bz0JQX7BBqVP0UdadD8GP9r65v8NIPPPqBuC
1EICmDBW64800gaHID1huRGElDP+kWa40CCkJww3wJByJvmwG0RrMWCsztlES0wH1YBAaGD6apBg
iU0UH2GwxMyZJcIESwdx0utQaleshLn2GfoSqnqEAgQlq3VeHIrouGIgbEIpJigSOQpzLbDk4ZfP
ebmjhfmqYqmSG9kUk2FkszXtu3JbzNL1i9MkEYNL11grJ8SEMq50gKom3FjkRUttECkJ2UnAAuqe
6OtH1u3Yj/DB1BBsIpuJwkdBIUyhwjEYsOKrE9jKS9GfZfN0u9g4GEA8jvbJqfbp0XtxEJ7EoL+X
XbIo9IvsqVH/VJNgG63hgsYXCP0yW0wc0Y69wzilw+4wKtVwO+wIvjH6DtM4Cv0W98YCKD+dvdjb
x+lDWtxndrhO4+QBjhncyHIUcNFtVlnePx6PvaI2Sg4uoNOPmL8OhrcEILabJjct1689i/CEzEVV
a2ov1P1Sky7LaSLsxpOWl6WarNLKmY15Ynb6atl8Z4K9PF1Ur9WgX366dZeJNe8dRbdLv2uJ2to+
Q7tFrwxf+N3nRxrY+a1jvwEbIC4jNdohtBFfXB2kWx1Hwf+F1EE61eEHoeJtmu+6lt0DWJnSYJb9
aZ5uwONZnK/vHepZnC0beLV4OZqjuJ8ZIC/LGCFXp36JqQutQGv3JNEYWqQ/UkGPsRS4b4NJf9bk
6Vpor3Ya8cG1cD4hxTBP2wtsUAywDEK21y/fePrH12//+4+//zzpR6WG2yWKXFh+6dp3+kJrbUGS
Z+X2buGG3CWaenbYiTN9YMv/8BFr4BhdlmnHMlGvcsZHl8m9Plx4InWL+GeUH1554DVgl1qDzTpf
LfPC/breuAUTK9HzxK2yTbLJlqsERg1bqeEbe+13yGHSzuFvkE5tKwdUuNbhnNe0nGXXFMkfPmQz
rRo+zonkblhCOPfeg3ytO4m8hkKJ3plZEwdGv8ulSfavmxZTqHFbG6aYh9v/ka2NykGtTTAxKmMT
Uozc2JiQNLhvoxGsjQ7v24TQo7I2v16UAa1NSIRCe7ZYtkb5sLZGx+XZFCLjtjWNOA/u2EgEY9tP
tBv0GB2ZYxNs5MYmMQvt2KLZGsLD2poal2PDo88PemYwX25ub77djCZDUAPHbCNLR7Eet7lR0TOq
9DlHcQRjwzZB0IMamxyXsUktR+7bBAp+jsayNSrksOcoH5dj0yNPEGAU9wXO0WjmpoZ1bWpk5ygb
eYqgNP9u7xAolyPLB/XYzzH1/ZbwR1bVHH2lCWvCv9sSOtVoZCHqyNNvJs61xwEXW4yriCwJGvuh
jb7bGjJVY/PjbOyFNUK/1yIuHV1Za+RXkUT3jGnHVUVleGSVJTnyypLAF+hziJbry7Hdx418d/sh
CI6zjEj+v6mk37GtaM/az7gKeQzTcS24GnlxRYdxhw7SDc+ZpCfixxCt4trHeGTQVnGOZX+aDerP
y6KyT3PhkfEePtgJFmIingnXXmGu/NgMAfMb80V+//Bml1Yt+x+uN+tt9t4nHALhnEnm9FkOpjq2
rMdvSyk5wbr4vN08mM3yh505kfzNLti/7yLw+PZ28oSbec4fjKTw9z5LBVc4Y+3vxi9t7vwI+Xls
5n5h7WPhqf3uO8WPrACsvxhu/WGroYj0h/JqfjPEL73VhCJxjS2+unc2TffjWv6zDk8/lJMIPoWg
MRziHW22/yYHCB70+IZceiQ+5VKK3tn065TE/7AIhbNh4wNKA/iSzFBNAdQxLabZohmWCiPuO4al
H0k3MaE90UK6iM2zdbZ20yDMs5jiu5I1POaepnO8HyV+48ZDkqQEhdDkMlveZevkLp1Z6Kmncj1z
Y3IyPCGMBhTSSftqWm6N6PM0X2zNrx6UE23h77Q6y72GTobmygFpSA+vBOZlORQniJBRqARroUbB
iNRoFHzoQXaQA+H2qHtwOFs1vhqNY/9qrzGgEXavkuOwkUH2bvvlETY7KARX5SorkqyYlrO8uG9G
18Yhi7MwxG+7mSfKcaBjYQI/FTSNBHJPeTErn6oEE44dVNWEKExDHBX1bdteoU7UPhOwACJSP9s+
E41d0ljkzAJSzFQschSbf5QikciZuJ1ipGhwS3FO5wU76bkVOsZPWBDDbPpQJmnVtgcJZxgFE3K+
LpfJqlxtV24PA8hUKIiPzTZ2KOt+vs+mTP7I1qWTKmS5Hrhx5BNRR9OHt4tNvkrX7/X6+lk9Kd7Y
0PoxXVyjH/LlPb6+h6QwwQg9m3//vCru4WNynd5l9geYheMYV4yJIKgeWaxJp//ln5Dq0k4962iX
kJfG76/XpTt5VIpNaDcq+inRj0356J6D4SPejmBezPMi3wAQdrly3zV2u/qg9Fg3ImVQeqL78ekB
PV+n4UrAoVZD4y4fi7x8mLK468eEjCsgJnFXkCoWV0DCI+/A7mGOYRUa20KVjixf3B1BeVwX4zGP
PewJKOPqk2EVLoCxk12r/I/MHTRDHf8Du6F1nEQdp1LJhA+8tL8o2XK1eUnS9Tp9udvO5+5SPqEC
EsaQOw6i4mSRFfebhwYMaRGQmrupkgGdMEf5TpltuZRGFJIpooPLtXk+rsVjOcGccR6aFHHQUoHD
IUuIOgkRwnBoSsxNSXS/D+tP6dTQOdxjhzd14iAlDCmiwi+UmxJmoSlxx0JJZCI5GnKlbEkiKcpk
alJGk807+5P5RPAwllj7DZigazuj3wb9uJNiAXsgpAN5HeB7OqCXaBFOwmqVTfN0YbWaTjcNjd9Y
QL2biFhZvwgZs+4b2l0TgzgJucWLcpOk1TTPk7oy7yDJT5q5P0KyymCQFsQGSXNwILD0Kc9/KN+H
IqGV1FV4VSZtVIyEkXKWbtLkMc+emodhYq75hGI+iKRMD0NYcyoDa9hpRBRe3+BBVIsAgTWIiODF
m/p7lO2GYWEIbYtZZjKebGZPjebhbATePseqxEGVA/Us2Z5HDnGBAyh0bU4mk8y1j51GCiYYi1jS
UQINVDjE3tvYi976eHpMF1t3bMERpHj03LS148ilDAeRaAZjENfltmp7R2YcCsgUMjmp7+j2NF23
gdqsm1YohJS7b2tqu0ntTw+5UfMqnWZJXiSvy3k6DJL0Tti7rNWK/mzDrJolh/x6wpHuGXmEoIvh
VhspPQhhRRAehDBHyMe4dbuh5cvVIjt8ljvLitwcLtmj8YZV++A5iuDoVioSHw2ThaBNpqVb+ID4
OaPNqFcgf66gLaOsTBDhFQieyYLbnWoMhZHzqS+NLzOp4Lb4/W3mqcnfnp2rqxmGGu7ZVN+W9z19
187CMCQYc+5zcmDWLirk8kk6NxlvUmSbp3L9e8ulN2wlJnV/qu9ywx0Rs8LbRboxhKAfAFzJ8YP8
RtZ+2Pd9zfJqWhZFNnW0+mqfqstl2Vylm4frqyO4HErN4efjjYbhTflEkAOxptlYWZPjXVA5Xq0p
JEfLGhsta1j4XK8NpDZOxsvaeH2uT2/JQKyp8fpcPdoFxVjQ8Z6io92iGo/XezA1lqC3MeLFmAZJ
B7bVjn7zU1CFsV+a10Vuu1oZGiarM39w0FnuTvA0tK4wfVG6Jt/6b/juGvK9q2dHjgvj95SMw0S+
TO+zq+rx/tdfv97+8vOvvzoYMhbKmY7EULpaLfKpfeB9VZXpqpkvyiZUE0Hj8DUvy6u7dN2iJj5h
CCkRhx1M6NVfPv/Uzo7yamrDPIh2fjPaMRr6o4UlDRU7n1v1QCwlXiwJ7JUnhGFpz4onZxRF4+xP
8saHKc6QV+UjEFME+zElcEymmA9TjCDK4jHFvZbPrJ5WEW3qL15MScRFRKa++DHFdEymfvRiSiGv
8CSUoXO/3efVHB6MKdnJlImohYnjImpKIB9NCYpRRJdAqNfycRHzmCHCZ/k4YSIeU//l5xB0LC9l
UwNnH/oEuggi2XWdG6yK+1MumPK7YwjBRfGYLvLZMQ8YLtp9bsWC2S3yMxLlc0GIRaBD3+98VToq
U37nK+FYxGOKKC+mqPBpLw7GlPZy0IR6ZbmBmKI/ejlo6ldWDsXUjRdTgkVcvv/xWjxMJY5oUZ5h
JPVKTUItnpeX4ojwmGb+2W/5mIzpOj2XT3mV40LZFPHZe0yQiA7hyquAYgKEmGb+V6/F09TrqjAU
U36HsUkBAuy9x/tkus5SYOvuJXl+2DVtmh+hvyqtHu7KtAHUjzI1Yex8xbzrcnq8t697zNeTRi64
cTnfK+9BTu6tzOtk85BCG9k83S42r7cru19y3nMQo3oP6A3xibQzsl0tyhTa7+2VSrJal4alqrKt
bEm62azzu+3GfeeBlYJSuurFwxl93XiiUU9qrRLbL1ZQZ+8cvHLqLk6EEo5NlOyeZNFTuH6rCY+R
CI63mspjGlo/geF9x07WjmtCAa9Xuot0AVeXc3ZZYeGzBlmZD+hpQFkZ8tmm8uOyQpdvsvtN930s
sc8wdS82zhJaI45DUrvPNkevdhkGNAbSHVT20221SY3jb/aDACFIcDxFGj8owkm4d4HNAmJk9gfW
PKKEHlfPvhIeyuf27FQK6DqOKKDoaTAtAr6C7UGryc4JlOtZA3A2gUdE3TC5p8TfRNu/h7ZPJk7e
YhFMJ9jEXY3vJQ7+6u73EvU7ggoAWI6X0gEHSYybIQF86zq3z70XW4uGX66ydZpYNFGEmPuNKRyX
5xN+BxbQxkKSz9fp0vnYTghpYk4SkBO72IfsuOASfGCMzlI8d4nLFbTVskiK5y2KlyY6oAJfVAXC
veL1joujAtFme2YXhLC9NvrSSZiJiFYg26yAwts5elEVKCdhCSlKLCtQLSrgkvhAtp2lAu0kDC/Y
UCwnrNusAJyw0JdUAUZO+BgVcSNg1KoCPaHqfCuASldZbIum7E1wL+yDbjrLRTtUOFbEqFYHVO0B
ydPaoTnZqJYXCUrbAJKVhvBUh1Do++7o25+/7sK3GxuiHv5UPZTbxSxZppvpgztuNU4FKxKaq7qo
Z6GRfrbt2zUjX/JqBazcNOVERCgO30Ti5+/lppMlDOCAWOLgLM1mluZtXm2yIoPduF879z6hF2Fj
+pBNf08A7v4NyCqZm4yHmXD4Kd88QLX4rpy9OHN0DOE5Drh3d932J8SPZywwi0fJL6MNeMDvUIcT
IgbbCmYvPv528/nLCSNFubl5zk8fy+9FlcFFrS9g4NalRpRsGOTAJjhA3PW2wjV65QFk/ikWlu1r
CO4FpuvFHEz982Lx0+4Jez2QrQE9hsFVw9lMQJ73Nb3PXCtLCTfhVXAzNgZ7l89mJphYZmYTzUxq
/zzNVjbFdPoWxo1vCX422W6sBKDPbC11llSP9467LayEIa9DRle2gpMbI3OQY0oFSSg7hHUqWoIT
D5pNvEn67ILZkMJnJt4pvSqbmgh18/K+MAwDCQhHz9yOIzg+CqRZw/BaXebGgsFFLfNnY0DTtHID
+GrQKwobRHbxceq2QN08QBX5hHhVwYSKeb7IOnYyYShwND0rs8pYdQaH07H3osxOhA4trp2LYUSF
dMgNfGWj1uBuEyBEd+dSDXPcGZMpGbhEVJQ/1hzc1jjLh3kE38HuYS7QBYW3h7KzIgZI1vIS4n4D
kmmVV6eo0pqGFvVtVeuMe5clvce3dl5nMGw0H7IEfJffv4LpuCaaMmGsy+wzhZkegiwRwcPOenaY
jQHr2MRZcTKGdoF4xNKuqe67fNwLbSIETPk5lzk+ULY9z+Wvv7SG1VB+ePWgtWYdB9REsH5xVvdN
ki9lD1TSPkUXb7KMXNKOIBJIcrORiirf5I9ZQ5VFABRtLz6m5eolgPgXSKPKx2y9zmfZa0z0/tzY
o9+5qgUKefa+nMfO7vmFzd0bcbsY1xMPDMCzmWmPWzUznkYGXyFbkJyu08p5kEk4x0jQFhU7IvE4
v7VtIyHKQ0fS7Y+ub9nzpiMcZqDf8Dtgz8EvP926q5gABStC1sX2c89/2yX0Fi0Dxrq7x2TU41NY
DAYg452X22J2dHm9m1GDRNBw0U2rTkZ4kBvCD7ZIYAWtducL69slfTo9hCglLrbX/vl/t51bTQRp
1ThGfznG1DV5StF0T04EDED0YEGdy0IjKLOEeQ9eTV3B8IvNSYYxwjK43NDsaGT1aPUiXEjP68IO
SF0XD49VjfBv/ltla3tfuht67G5awPBAmLW2SkXhQkp6DhNvJrCbvgneYF0ukjuTKE/rDMZpD8YT
UXZByja8ANmNdRRJDUzrZkRqqS5llvBKwQ0irpD2vJRR3kWwp7qzHS6lklm2SF/qoa0mwrTAP9f8
B/vpNT+eyMrt0BIPaKi+erD9Y9NttSmXbYjqmMAQq55bs+NgPCR6mnbAtFR1EXntKIX5InX3EjDb
SxBc09uiSudZsg+BnA4Q1c3f/UmfhlivoRXw8OnqalFO08WD2XOfFFKoeVleb32ckRjHaMzM+din
br9C7ZscQ3IiRC+6X25ub77dBEjLacf55IuL3aRWe9GFTUzolfz4UvOWjuKzqb6rxr4Bjjci2nPo
G/EqMOlA0w6pV9dMfxmd4sFQbyid/AtQSwMECgAAAAAAm15CSwAAAAAAAAAAAAAAAAcAHABjcnlw
dG8vVVQJAAMFi9JZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACbXkJLAAAAAAAAAAAAAAAA
DgAcAGNyeXB0by9zdWJ0bGUvVVQJAAMGi9JZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAADt
a0JLJeDTCCwAAAAsAAAAPgAcAGNyeXB0by9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1tYWxmb3Jt
ZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQJAAMeotJZBYvSWXV4CwABBPUBAAAEFAAAAENvdWxk
IG5vdCBnZW5lcmF0ZSBhIGtleSBwYWlyLCBzdGF0dXMgLTQzMDQKUEsDBBQAAgAIAO1rQkswO7ix
SwAAAGgAAAA8ABwAY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1l
dGVycy1zdGRlcnIudHh0VVQJAAMeotJZBovSWXV4CwABBPUBAAAEFAAAAG3LsQ2AMAxE0Z4pbh8a
VrBkS7GAOHIuRGwPDR31f39Lv4SG3e6O6SwxCFF1elQ5oEKBpKEG0UdrkTRd1o/jjDeySAVnoKWf
1n+GB1BLAwQKAAAAAACZXkJLAAAAAAAAAAAAAAAADwAcAGNyeXB0by93b3JrZXJzL1VUCQADAYvS
Waik0ll1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAmV5CSwAAAAAAAAAAAAAAABYAHABjcnlwdG8v
d29ya2Vycy9zdWJ0bGUvVVQJAAMBi9JZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAADqa0JL
JeDTCCwAAAAsAAAAMQAcAGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LXN0
ZGVyci50eHRVVAkAAxei0lkBi9JZdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGdlbmVyYXRlIGEg
a2V5IHBhaXIsIHN0YXR1cyAtNDMwNApQSwMECgAAAAAAml5CSwAAAAAAAAAAAAAAAA0AHABkaXNw
bGF5bGlzdHMvVVQJAAMDi9JZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADsa0JLo1f96FAA
AACOAAAAMgAcAGRpc3BsYXlsaXN0cy9leHRlbnQtaW5jbHVkZXMtdHJhbnNmb3Jtcy1zdGRlcnIu
dHh0VVQJAAMbotJZA4vSWXV4CwABBPUBAAAEFAAAAHMvSizIyEwuds7PK0mtKLGySk8tcQ7x1dBU
yCxWyMsvUahMLVFIzs8tSCzJTMpJVSjPLMlQKEpNzi9KycxLB8qAtRXrcbmjG1SMZhAxhgAAUEsD
BBQAAgAIAOxrQkvylpXVRwAAAEkAAAApABwAZGlzcGxheWxpc3RzL2xheWVyLWRpc3BheS1saXN0
LXN0ZGVyci50eHRVVAkAAxui0lkDi9JZdXgLAAEE9QEAAAQUAAAAcy9KLMjITC52zs8rSa0osbJK
Ty1xDvHV0FTILFbIyy9RqEwtUUjOzy1ILMlMyklVKM8syVAoSk3OL0rJzEsHyoC1FetxAQBQSwME
CgAAAAAAzV5CSwAAAAAAAAAAAAAAAAgAHABlZGl0aW5nL1VUCQADYovSWaik0ll1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAzV5CSwAAAAAAAAAAAAAAABEAHABlZGl0aW5nL2RlbGV0aW5nL1VUCQAD
YovSWaik0ll1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAHWxCS1N+H+a4AQAABhMAACgAHABlZGl0
aW5nL2RlbGV0aW5nL2RlbGV0ZS1lbW9qaS1zdGRlcnIudHh0VVQJAAN5otJZYovSWXV4CwABBPUB
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
LK90wxE1ijlDYEwd+xJE866yfCeV5XO9cEqUUXcxg9w4O3o0ZpBqjBJhDOEmca8TjDffkcQcy+52
6+Ezg5R65gSBnoQxbj1T4SiOZ1h0LAcHwHJQKRIapIYsmTcbFMkdaREXqmM5eASWg0pRGhGhKVYt
imJ6tUaT2xdpHBPLQYmFgK4M1lK3YKHprdekCtaxHBwoy0GlVoYYhqSAtiSZ9ddEVyZuuPi+WQ4q
2RUS0K7c9GyACKqPvUZ9CZAkG280nxRABnNOO4AcAGlk6fKJCyBWf01EtWRIJg60LHghkRC1jHDV
WxJHeaVkco/l5vOxa+kkLrBjd5Q0l+/u2nu5eSWDQQpDQuv0SY4UiEghD60seyEQk5ISl0CUuwRS
Bz1RDDKCcuo63YBY0iGXrUM/tjrkJSRGuHdgTw0SW12D7LvEHXzw+1sgtiQlqGSy5/OSYtm2IUdu
cS0I0VH77JHaZ646hSUnuk11Dn9MVMcUsC+mgEp5AlkSbOy6sogd9LzgXkXHFHBqTAFgMtwygzCq
BRHOiLjZZKhmrCseboSTKc1oB+eDwWkUMR2cDwUnYEM7OB8AThFgjSQB79l2OtLMzSO5kvL4quJn
mFBZf131qWMiA2hLUq7aTtEcm2bcwHztmAJ2WD2/UI92c+7fpZ7vhSmAE/uyXsGpwXyzWvA7mQL+
H1BLAwQKAAAAAAC5XkJLAAAAAAAAAAAAAAAABQAcAGZhc3QvVVQJAAM9i9JZqKTSWXV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAACrXkJLAAAAAAAAAAAAAAAADAAcAGZhc3QvY2FudmFzL1VUCQADIYvS
Waik0ll1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA8mtCS0o0JO9sAAAA7AAAACYAHABmYXN0L2Nh
bnZhcy8yZC5jdXJyZW50UG9pbnQtc3RkZXJyLnR4dFVUCQADJ6LSWQ+L0ll1eAsAAQT1AQAABBQA
AADzTy5RUDBSMDS2Mja0MjZVUHApzS0ISs1LSS0KKUpNjbYwtzQ1j1WwcS0qyi+ys1Jwdg/Iz8wr
AdGJJRnuqSXOpUVFqXklYFENiGhQappCvF9pTk5iUk6qppVCXr5CMkSVQgFImR6X/4DYCgBQSwME
FAACAAgA+mtCS8bVYMd9AAAAAgEAACYAHABmYXN0L2NhbnZhcy9jYW52YXMtbGluZURhc2gtc3Rk
ZXJyLnR4dFVUCQADOKLSWSGL0ll1eAsAAQT1AQAABBQAAADFzjEKwkAURdHeVbwNKCQhRAexSYKN
EFA7sRidBwYyf+TnR9TVm11Y3lPd7m5AjqxwRebKHGim+DxSAvWs5GVdbcrqim2rmnTnUO/rJMa3
nWiHXtj48eHQy8sPfUCYC17Vfxy8YaAfDUkIDowUQ5xmuBGSZPmlptWi+/fAD1BLAwQKAAAAAAC1
XkJLAAAAAAAAAAAAAAAADAAcAGZhc3QvaW1hZ2VzL1VUCQADNYvSWaik0ll1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgAB2xCSyGPvTgyAAAAMwAAACwAHABmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2Ut
Y3JvcC1ib3gtc3RkZXJyLnR4dFVUCQADTqLSWTWL0ll1eAsAAQT1AQAABBQAAABzy0ksSXVJTc5P
SbVSSAHRmXnpCqlFRflFVgqZecn5RUWpySUKKYkliQrJGanJ2XpcAFBLAwQKAAAAAAC5XkJLAAAA
AAAAAAAAAAAACgAcAGZhc3QvdGV4dC9VVAkAAz2L0lmopNJZdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIAAtsQkuPz7QwdgEAAIgJAAAjABwAZmFzdC90ZXh0L2Vtb2ppLWdlbmRlci0yLXN0ZGVyci50
eHRVVAkAA1Wi0lk9i9JZdXgLAAEE9QEAAAQUAAAA7ZPPSsMwHMfP9ilCj2MbSZo1adGBbgxPO9h6
GjukbToLa1raFKaj4Bt49k18Hl/AVzCZTkUGXgbu0Nx+f/L9ffP7EAwRHSA4gBggx3ewj9EQjSCY
Nnl5I2QiqrASYsGoh0a+S5DH2BJMikqEYqN80Ov1wK3MeVmKBNivz49vL082OJ+Es0LqMtzQNPLc
aMR5zOB4K3kuwAUIwqCQK5UNwsngRqyaNa/6oM4eTA1BOIS70wc5V1W20Um40VEi6rjKSlVUOvM5
YvqV+x6GoZOaYVzp21GjRL3rn13xOouveX33s9NlECxMnKbUwXFKCFyOt+q+NF7yRvFoLUCSxaoP
4qKRyjjsW0JqaaM7ts4w8I16oDNyBfZSEUxpekg61q71dePJngfmDXO9lMu9V7v9MPtLDjNB2F9y
B9Zqt1ZrjdvWwoc4U3RUzpQ4xIlox/nUODNy5P9MHe2q43xqnD12ZM7YxUnH+dQ4Y4SPzJl4xBUd
53/k/A5QSwMECgAAAAAAt15CSwAAAAAAAAAAAAAAAAkAHABmYXN0L3hzbC9VVAkAAzqL0lmopNJZ
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAlsQktO+yD4iAAAAOcAAAAlABwAZmFzdC94c2wvdHJh
bnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUCQADUqLSWTmL0ll1eAsAAQT1AQAABBQAAACljrEO
wjAMRPd+hX+geGDLDBNsIDq7rSsiOXHlOFL5ewLlD1hOJ9/J7yZNaxTyqBnYTC3AEoW/EhDxoVIT
FzyRE56HGw48XqLjlV5a/c7FCy5UHLciaFy02tTq29P6WadDu4LEzHAEFk6cHWJa1bxrSdgtBKiZ
xgZ1BVGaf/D/0P3+nOfPhu4NUEsDBBQAAgAIAAlsQkv9oi5kjwAAAO4AAAAnABwAZmFzdC94c2wv
eHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIudHh0VVQJAANSotJZOYvSWXV4CwABBPUBAAAEFAAA
AJ2OMQ7CMAxF957CFyge2DLDBBuIzm7rikhOXDmOVG5PoJyA5cv/f9t6k6Y1CnnUDGymFmCJwl8J
iPhQqYkLnsgJz8MNBx4v0fFKL61+5+IFFyqOWxE0LlptauvNeT/S3Me0qnlfLR5aBhIzwxFYOHF2
2NuuNWEfIUDNNDYAVxCl+QfyJ0bWUqfn50W7E+neUEsDBBQAAgAIAAlsQkuyu8ZnhwAAADQBAAAk
ABwAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQJAANSotJZOYvSWXV4CwAB
BPUBAAAEFAAAAM2OMQ7CMAxF957CFwCLtTNMsFHROaSuasmJo8RB7e1JOAXD/8OXvt7zGhKLM9YI
lLPmEVYW+tWIiC+VGqjg1ZnD2/zEmd53Nny4Q6tNVKzg6orhXqTHTl6jUbTpSHTeLAgIR4ILkFBo
O7RbqjZw/DjhBVrXhtMMgWzTpfFVB/9/Wnt/YZf7AlBLAwQUAAIACAAJbEJLwuv1xowAAABgAQAA
NAAcAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRV
VAkAA1Ki0lk6i9JZdXgLAAEE9QEAAAQUAAAA1Y4xDsJADAT7vMIfCBZtaqigA5HaCb7Eku+MfA6C
30NS8AeK3WaKmdHyQ5RCrAC7m3eQRHm7DhFvpkvmigcKwmN/wZ6HkwSe6W1LXLlGxUQ18FV1XbTh
VGoyz21Ym5ymzCXa0anOuzmygkph2AMrrwSe5EKDcuN85yRFthZLMKkNpD8O8ZU145/1fgBQSwME
FAACAAgAR21CS15/Vgu6AQAAxAIAABEAHABmdWxsX3Jlc3VsdHMuanNvblVUCQADpqTSWaik0ll1
eAsAAQT1AQAABBQAAAB9Ul2P0zAQ/CuRn0CKSb8QEJ4qWj50hTs15Q6eIifdNKaJbdmbprlT/ztr
p6CTkMiL7fXO7Mw4y9Uq366z75td9uKJITh0LH1isjXaIuz9vp+XYYGCm0ZgpW3L/zYqjbKSpUCp
VSjACRRyOtS6f1Vj2/iiBU/HUvZxs7z5yWIGZwNl4Gd3yyyjiiixE9TMdusfuygUL5eY/WEorO4d
2DACa+C9VHvdc138Ih5fFEY6Ttp4aYHUqAMXas+VOMnDeAwMflNqhXBGx4uB7lvwaG1A8YqAnQXH
UR9BycdgijsiBHW+rsO/nrbrT5Rg9uX22/+Nfdgus89k6vrFzB2lMb51/m7+Nmaqa3MLBxLgxjCn
MdPk1ealFa4G751QktRb25kwpBKNgxHaSuftsXQSs0YMusM8vFK+l5amJ/e66VpwyUqgSNYPWfIA
xY3EZBN6d+FBY3aijGk6SxcjqxHO+cmL17MZaTTyDM2VF5Qommci9gIpSzaZpovZ3ddIq+i2RF2A
jSazOJpNpm+IvxYuNxYQB6LGsmYp2o7AlTx7Np/FYjKOrhpxHEIKHUnIx2THHy2vpO/10MvL978B
UEsDBAoAAAAAAM9eQksAAAAAAAAAAAAAAAAFABwAaHR0cC9VVAkAA2WL0lmopNJZdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAANleQksAAAAAAAAAAAAAAAALABwAaHR0cC90ZXN0cy9VVAkAA3qL0lmo
pNJZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAANleQksAAAAAAAAAAAAAAAAQABwAaHR0cC90ZXN0
cy9taXNjL1VUCQADeovSWaik0ll1eAsAAQT1AQAABBQAAABQSwMEFAACAAgALGxCSxU1NZJ6AAAA
vAAAACoAHABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAkAA5Oi
0ll6i9JZdXgLAAEE9QEAAAQUAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH
2SylEScjqYCqohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwF
q8FNl0niXSHCqGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAA115CSwAAAAAAAAAAAAAAABQA
HABodHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADdYvSWaik0ll1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAz15CSwAAAAAAAAAAAAAAACoAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9VVAkAA2WL0lmopNJZdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIACFsQktjqqxsggAA
AKgAAABAABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFs
bG93ZWQtc3RkZXJyLnR4dFVUCQADfqLSWWWL0ll1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4Q
O72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8h
S3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U
8Zq+UEsDBBQAAgAIACFsQktjqqxsggAAAKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4
dFVUCQADfqLSWWWL0ll1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMp
pf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZY
MO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIACls
QktgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhzbC1kb2N1
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
VAkAA3CL0lmopNJZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGZsQksAAAAAAAAAAAAAAAAgABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAkAAwCj0lmopNJZdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAANReQksAAAAAAAAAAAAAAAAtABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9XZWJDcnlwdG9BUEkvVVQJAANwi9JZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAA
AADpXkJLAAAAAAAAAAAAAAAAOQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2Vi
Q3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUCQADlovSWaik0ll1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgAJmxCS480GnBEAAAAoAkAAFwAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dl
YkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9mYWlsdXJlc19SU0EtT0FFUC53b3JrZXItc3RkZXJyLnR4
dFVUCQADiKLSWXCL0ll1eAsAAQT1AQAABBQAAABzzi/NSVHIyy9RSE/NSy1KLElVSFTITq1UKEjM
LNJRKC5JLCktVtA1MTYw4XIeVTuqdlTtqNpRtaNqR9WOqh1VS3O1AFBLAwQUAAIACAAnbEJLVALJ
sjYAAADAAgAAZQAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJ
L2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQVNTQS1QS0NTMS12MV81Lndvcmtlci1zdGRlcnIudHh0
VVQJAAOKotJZdIvSWXV4CwABBPUBAAAEFAAAAHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws
0lEoLkksKS1W0DUxNjDhch5VO6p2kKkFAFBLAwQUAAIACAA4bEJL4YKG6EkAAABgDAAAVwAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rl
c3RfZmFpbHVyZXMuaHR0cHMtc3RkZXJyLnR4dFVUCQADrKLSWZCL0ll1eAsAAQT1AQAABBQAAADt
ysEJgDAQRcG7VfwCFATTQSpZcBFREkk2B7u3Ayt4c55cx72r1NDhxZuFy3T5q8fONquHxeha0ram
KXO5XC6Xy+VyuVzuz/0AUEsDBBQAAgAIADtsQkuPNBpwRAAAAKAJAABgABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJl
c19SU0EtT0FFUC5odHRwcy1zdGRlcnIudHh0VVQJAAOxotJZk4vSWXV4CwABBPUBAAAEFAAAAHPO
L81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2VO2o2lG1o2pH
1Y6qHVVLc7UAUEsDBBQAAgAIADxsQktUAsmyNgAAAMACAABpABwAaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FT
U0EtUEtDUzEtdjFfNS5odHRwcy1zdGRlcnIudHh0VVQJAAOzotJZlovSWXV4CwABBPUBAAAEFAAA
AHPOL81JUcjLL1FIT81LLUosSVVIVMhOrVQoSMws0lEoLkksKS1W0DUxNjDhch5VO6p2kKkFAFBL
AwQKAAAAAADiXkJLAAAAAAAAAAAAAAAAJgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvVVQJAAOIi9JZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADiXkJLAAAAAAAA
AAAAAAAAKgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL1VUCQAD
iIvSWaik0ll1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA5l5CSwAAAAAAAAAAAAAAAC8AHABpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL1VUCQADj4vSWaik0ll1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgANGxCSxLOuhsJAgAAvQwAAEkAHABpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtb3JpZ2luLmFueS1zdGRlcnIu
dHh0VVQJAAOkotJZiIvSWXV4CwABBPUBAAAEFAAAAO2WTW/TQBCG7/wKX5rbJPvl/YgUISukBQlI
pcC5mt2dTSLcOIqNoP+edSsKQZWaEiFAqeyTbc2z+2j87kzn7xfzt7Pi3WyxqC5m42K+Wy/Xm2LV
ddvxaFQ3AetV03Zjaxkr1m2xaboC67r5QrHwN0UVArUtTJtNt2tqqPo3cFdj+GL6a/Fz6sKqqC7f
FAE3faW6wfidxYUZsnzxW9Yo9d+OcLse7ahtPu8yZ7TdUarXy1U33N687JpPtJlw571PXEBiOoBS
UoJnFCApIw3ZyKxNg2v8eoVLmrBBc7u0SY88k9WZOM/3PTg/6dGD2/1dXVO3amI7uZh9GP5ZLX/P
+R6LH+oceUrcJQGmVAiKpQQYiAFqabgsgzZWPOL8HnznnJ+Q870+P9x5jAIpMCiTjaCEdeCt0OCk
06hD1LK0T+vzk3He7kl3OSMOla5iKUwgBIk2h4tGBd55CY6XJnkjiUnzsPT2Qes9+5Ss/4A9ybo1
jHEtIVrje+sELngE3f8BOdbJsfSY9Z/z5ZSs//Y5KrNzIquz5ShB8cjAmpCD3UpJIgkyUR93jl7O
F8/S96UHVORFjpbAtQAlhQVkAYFKI0KKIp+m6jjpr2fVq+H/5yXF4FLpIe+/H+pKAV4FC6Rjni6U
1MjoyGb8+NyL+84jEywJieBSzlrlSeehLoeww+hIEUrnwz82SH8DUEsDBBQAAgAIADZsQkvcfaMY
1gIAAJgSAABTABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cy9jb3JzLXByZWZsaWdodC1zdGF0dXMuYW55LXN0ZGVyci50eHRVVAkAA6ii0lmMi9JZdXgLAAEE
9QEAAAQUAAAAzZdNayRHDIbv+RV98k0e1YdKKoMJy+INgSS74B9gVB9am8x6BveYbP59NIfsOdAQ
mr4UTVPUg1qvnvr4+Y/Hz789LL8/PD5++OXhbvk0L/15+fDl16Xr6+vpshxPOpbny+V8dziEyLfo
T7gTQTzY9duDnl8Ob3M9vb/1uR7Ob9OOL1+fL7fnv3++nP6cr/fIjYNSgRHDgIzCIDETGNUWSIP0
yjff9PuTfp33eKPH4+mvp+epY76t99/BTr4x/Nj35sfqab3o5X29T4i3y5d/3y5+lvPpdZ3Ly7pc
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
eRmWrI4IgppAR1siBouY9wX7eLL8numztNRKQ5k5i4g0Fg+ZrANWzoWETkXnD4o0nix/J9jbEIPN
FUqNkj8TVRk52YNWmnWWS0q7Y9D8Cyz/HVBLAwQKAAAAAADhXkJLAAAAAAAAAAAAAAAALgAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9VVAkAA4aL0lmopNJZ
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADNsQkvNDyDfmwAAAMYAAABIABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3BhcnNpbmctbm9zbmlmZi1zdGRlcnIu
dHh0VVQJAAOhotJZhovSWXV4CwABBPUBAAAEFAAAADWNsQrCMBQAd7/ibZnadCzZpAYRrB3q4BrT
VxMISch7tfj3FrHrcdx1w20crhp6PY7Hs1Zw8hPExBCSmYBs8ZnBMAjHnJWUIVkTXCJWbds0cka2
TsZE0c+zLEhpKRZpJ9WSMxZrCGtDngQ80ZqFcDvEPd5feg38yUhgCv7eJoS04gSrwwjiUXUpMkau
7pul4N8W4Ale/o2xPnwBUEsDBBQAAgAIADNsQkviL5jVrwAAAOwCAAA/ABwAaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9ub3NuaWZmL3NjcmlwdC1zdGRlcnIudHh0VVQJAAOh
otJZhovSWXV4CwABBPUBAAAEFAAAANWQsQ6CQBBEe79iG0MFR6wIiTEG0ZiIFFjYnsciZy53hF1E
/l40+gkU1DN58zJJfi7yUwpZWhTbQxrDTpdgHYNxsgRSrW4YJINXMzexEMYpaWpHHEdRGIoKWdXC
OrK6qkSL5LpWIYkHBc2w4aHBtQc3VLIjHLH2T8yOWQqfmEC2+B2UxrgeS+hrtOBd/cRZRsv+ZWzF
8JvwQBPc9RNtsEgmV3/N0n3Ohy9X++lOfwNQSwMEFAACAAgAM2xCS2emfXO2AAAA+AIAAEMAHABp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvc3R5bGVzaGVldC1z
dGRlcnIudHh0VVQJAAOhotJZhovSWXV4CwABBPUBAAAEFAAAANWSzYrCQBCE7z5FXSQnHfEkAZEl
RhGMHsaD19mx4wSGnpBuf/L2/uAr7ILnKuoriir2O7vflqhKa3/WZY5lcwInRes6IYj2kSQQKZwi
C6ptbkxM3sWQRPPZbDIxNakPhpNwU9emI0mXzpMYLzJu+4X2Lc3vGX7Ju8szkxOjsBbVpirxEgWu
ozfUxZhudMItECM7jorESqyjw9OV40PI0AjOzZV4PCj+qf63tv/u1e/D6eqPjvMAUEsDBAoAAAAA
AGRsQksAAAAAAAAAAAAAAAAlABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L1VUCQAD/KLSWaik0ll1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAZGxCSwAAAAAAAAAAAAAAAC4A
HABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvVVQJAAP8otJZ
qKTSWXV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABkbEJLAAAAAAAAAAAAAAAAQAAcAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy90aGUtd2luZG93LW9iamVjdC9V
VAkAA/yi0lmopNJZdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGRsQksAAAAAAAAAAAAAAAB7ABwA
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3RoZS13aW5kb3ct
b2JqZWN0L2FwaXMtZm9yLWNyZWF0aW5nLWFuZC1uYXZpZ2F0aW5nLWJyb3dzaW5nLWNvbnRleHRz
LWJ5LW5hbWUvVVQJAAP8otJZqKTSWXV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABHbUJL1WheFOBK
AABWYAEAswAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy90
aGUtd2luZG93LW9iamVjdC9hcGlzLWZvci1jcmVhdGluZy1hbmQtbmF2aWdhdGluZy1icm93c2lu
Zy1jb250ZXh0cy1ieS1uYW1lL29wZW4tZmVhdHVyZXMtdG9rZW5pemF0aW9uLXNjcmVlbngtc2Ny
ZWVueS1jcmFzaC1sb2cudHh0VVQJAAOlpNJZ/KLSWXV4CwABBPUBAAAEFAAAAOxdaXPbOJP+vPoV
/LA1JSehhIPgocqmimfGO77GkpNsTU2peIA2NxKpISkf8+u3QcoydSWWx+8mu6I/2DQBNJ5uNB40
CIC8yLOQF8VAWv1x5tPZJU8jno9yzqU/dM1g7M/OhV/erGeFn/6nbDKf8qL/6fzk6tTtv+mvlu8c
Rzwtkzjh+WB3LZ1PPC+SLF2vAHXsLOLS6GHGV5O+6KqsKlL3zC+TW34E6HKoRrpYU+niobzJ0loH
5c/OJS9mWVokwWRF3A6NrwqeS8fOOiaGcKfj+CXvj5LpGiyCsCZjJCMiYTqgdMDUnqEgSUYaQp3z
obRNz1M/lCDpi4RRD+OeKnUx+4gZRkcAeJbl5UYpjDtmmqUP02xeSFdXDYyWY2LbQiZUSJGsUIDj
6S6SHVc1PRspzGRmp9MRyCXzzv/KpWGShlyysqwcgFyEkFTwMEujotMZPhQln0rHacmv86R8EOYt
eVhWUHjqgxmjTsfO/eKGR9LoJud+tESCwK5JMfPL8Eb6a87nYKkwm/b82WzCe1M/SeWyKtDpuPch
nwmhq+3sfrHHlumMTdt2h0OpOzz+OHQ/fjpq5BfOsWzs39zLs/Hx2Sfz5BgKOc6lKOWXErpHKz9Y
b0g4A4VWarTPLy+G7vjsfHTs/Ven8+lUuuTXkLOQzrifgzCsDzqy/EHqiBLj8cj9MtroFI81ISPA
IVzIjRtaZeM/JIkq6Lc/pVy+7+d399Lw9D/s889b+lOnY4LJktCv8A5nPITOFEKjxFk+rW4OOval
Ofz1+OyjNHKHo4F0U5azQb8/yUJ/cpMV5UDXEerflNNJP8izO3Drol/ecPkuSaPsTs6C/4ZG7fuz
pJBBqBxCs5RJei37aSSn/m1yXf9blRUX4B4lvy8LOXiA9CnvZzOeyjGUmue8kMvsK0+TvytscgHS
eHq/+PvQEyjA/6qmBx9ZOM9g8ExnAa9qpHzmgZ3lfMX2/7Zsb4wi3YhoSKRFvsFA+H1u+QVcFrw8
AyW8JOfibvfzyBsMTrM0K7M0CcWtI+mtZOhStyrUC2ezAdWMow7eFwI1iNqAUClSySwAxQ0QV/2f
QBKJvpan/qQrKscqcEEzfwUCY/2oQ/YDQQwNx/ETiHJZYXc8tr3LeXqSZbOqkjfvpNssid4IABRL
3VOwfo1h+ITV9iooGjvq0BUkQryXzdOodtcmEi2OY10xdOJzRapqvTo7OT+/GB8Px7Z5cgL+Oz6/
Go1H52NzPDo+dS+r25Zp/zb2rs7s0fH52XgMqAjqKHtXqmlUaqjqZJUewshIYx22tzwS+lvkFQKe
oXfUPeVphhbipjz4I7DpCu5o+8rSOdGlpqQlaQhwakffHPLWfpq+YwSEK3ok5fN0xIuyW5TQW8dj
PBgEfpGE46LMgRPeh+Ac76SnRPH/uMz9pCyqtA/NRH8iuKnM8jpJ+gAKpkX5i/A5wjQY11fx9abT
AUFEPeoY+2KPdMykaKVEN0nLd5Koua72Te3riG6tFxMDBmKM9rVZrMdrJURP2l43VmFI2Fa3gkBn
DIwzSYLoYRL14FcSSDvqrhyA+BFlwK1F6UPkALKXbIsHFX2CgKIa2MdfgWr4ZFVmU5SBCGOcgF/e
ZfnXv6r8OQeSr3wTVUz4JG1WU/SKuIY0AyshZZouPWYc3/1VXwhhRKcVp+0lDlMF13quyKJLjck3
xxVh00WiPPVT/5rnLzAQj33pK7+F6HP8V1asGOZR+pZWa2qiIBZjlUnjx/zj6XU+TtJbGEdFh8Dq
o2meL5BHYbQmcGkgRpYGogfnEsoLNFaiQAWNZ8VDCrYMb++A1V6orqKRhroizh4vpGmq9qhu+PZt
D2/v6k1kYcRDIa5BuiAvEePC+NbPExGfi4QoG4vxvq6pwd/zNIE+MQYq/vr+6e50DrHdh19WuTyH
uKiOGsazDCjs/WbiwgahELetcDTPqyHr/SRLryXxq5mrSnuPJ+8kvAzUJ2Jg+FDxI1HX4oz/9G/9
YZgns/Ip8GkysK+HNNZQE8ctDFUQoRbfsZcw0ngOU9bJNiVLaLaH11fyX9cq/yLAjQEbOqoEUWSF
cByI2JrqEKEqe7cXV5S922vspw872qxpyGBahRwQ4Fd23GaJ/+WmXUP0c7YshvnHlj5CsHa0FjI/
p31DnUlLtU1BpiO/aFjiV+7P6smH1F25ORi8OeoefQCDVLS5CGyrKRLBdDtEAi6o7g0xwNGrQHTT
Mn+4EC3X/SfiquCQGGtTgGdxXxzV07hGm48XIcB4lmf3Dw2XKucg9n0NA+r9Z4jf/SMDvhE9Zjn/
NKBxp3ya5Q8DojJwOn3v8MIwoqfxNsiihyocwNVEYk9J2H+StIyuVb2aG+wZpDAsrQt6ClFYG6K0
IUoborQhShuitCFKG6K0IcrPF6Ko/79CFFWPnzHkPncEFG6haC+IBiIS1n73vOHkeQPJs+m9olO0
PlASRXvJQBni4NWJFCNN6vplNk3Cga6wl/D7T0qeakueNXlqr0ae+uuRpyG9Lnlq7fyund+187t2
ftfO79r5XTu/a+d3P9/8Th80N0qcDa8uT+wsTeu9nyeZH71gqwTmsUakqS+2IxTXYm/QbFsE8xxB
NKBLQWJDA1vbD/eMTVI+xkpzw9WQ57dJyE9B6kVWmYNgsvfmNs1gUbhlHxdl6t571r67j2tt05p3
xkuxKWPHphAtVgNfjaS3f6w1Z7duzyNpnPMim+chFzdElYM/xUwWzLDKYuuwN1oI+ywmwrpnw9qf
xrWPVbv3hOcdRpxvHNzmGowOT+XD21WHyeGpfHgb5bByeCqzw1NZPTyVtcNTWT88lQ8v+iKHF32R
AzzTcHjRFzm86IscXvRFDi/6IocXfRFt5dGi7Q2z8Csve7M8ufVL/gJzIE2cxCz4hIeNJdF9nrQF
msLq05w1mNP6MFi1Ikr2t8HOZ1X09Z5VKa/8rIqIJ77VEWhzXmbiXHk4ejpx/fMuVe+zJBGQONZq
JWvd7MdFm3qdK/osFqfrc+BiReyXd1KUzYMJrxeijMez2El6fVFDqg9kM50c7b02bBi6QWowF37+
FWSeZOVgMIPrJSx/Mnk4ns4m1WrE4rzou7rMMMxmPDrxp0Hkvw+ybCJ1jx7XzbZlqZc71rOIM8uf
k/LGeUj9aRLaYiFPvIOheRxXNZDUfYJYaawiZe/VVYQNjlWpwlpVvlSzPo8vGvaqWj+tUk8Ayofu
8nIPxJitAr4Z6Hj/tUJNi6AXV3V687R6UL40ImCHphGLfJ9zkMfz99t6jlgfhX5W62AGRZn7YSl0
4fkj2sHg38cIxIUgrt7ipIOXrcmpLE7E20D2XUwMMEFK0+EHA/60Krhy/4zfLfuEeLdDvewnltU3
9ufs1+V0YtQI7sp4tL4w+bTKtqtvEUIPZMmNGC0DtwzcMnDLwC0D/xgGpqhl4JaBWwZuGbhl4B/E
wLhl4JaBWwZuGbhl4B/EwKRl4JaBWwZuGbhl4B/EwLRl4JaBWwZuGbhl4B/EwErLwC0DtwzcMnDL
wD+IgdnKJsEQLOrPoyTrmb/bkwTarT18/HMdPq5bpwQ+C7L7nin+G9X/NBsekTjiAZE+8pTnSfj4
1ZFFt6v6wlM3wIay1smfX0lEuWSbF6uSlzcq8To6jEPIVN3oSjC6J36vCG94NJ/wKE4mPMn+z8Q2
wndPhQa7XkkUajygTBIBzHm6HFgFMmVLl/qeKIMqkpdcD/nUn91AfiH2kk+qz45VA+y2vvUdoYwE
vBL62AQeNMHx+Wi5XZrRLV+k+Y7QWCdcipPrWor41ghIUrFadaLXcXPt9dxcf203X9tWDvYy06T+
PlYvrz6qIhfAsj/3eyt+n4Nif69+ymnl2y5axPUwBm4bDOovxUBoW2klvmcl/i7er/JEo4Stv4nw
OZVoofZo7LgaRAjbf8v5Tj9ir+dH6mv70eGdlKSHd1JSObyTksrhnZRU2rXM9jlO+xynfY7TPsf5
Qc9xlHYts2XgloFbBm4Z+EcxcLuW2TJwy8AtA7cM/KMYWKxlHqcRv+eR45e+eD29NHzZo+ifmoOD
+KUcrNKdFKziloI/82D1af2axqEaBVH0s1Dwd9GGOoniha/YeVYUddP/Lj7P/n79rnh1+4daAy/L
T3lR+Ne8olSDSV2H/zXngEJDeJ1FnwED+wzcpM43GBw71uNSSuMyWvTYle8QYaVBn1R9AX2+OoHr
P4TAjVcj8L1Z9xsEjl+ZwA/vJV3K4b0iVTm8hT/l8Bb+2OEt/LHDW/hDUpj7xQ2PpDuIZ6Qvuiot
UoalX3KpqypykJRHg44k5f79QFoOjcsfSAiaCRiDFipDMM7m4a4S0WaCz3RRSZQ8pgglmIo4CkJR
pEh2VBLMNkvwqsSWhABBJVKub8ElGis3mpWgKOJGqAhZGG2WoKJ2jDdLqIrQBJOn6iF+igyE1aCS
RVcSAo1gVleiiAQFwlSqgWdhNVYCZIgEtiGq1gQCl9XqdSOiIfhJHk/WAGNEECSEOdnUBAvTd06y
6wTm4ZJ9cTWovEntuHme5ZKdRby+81RS6YzE9p6z+TSA6K9Kw0qn07GS1M8fpOMpRJ+FcJtFMYyM
AIei9WVp5aaGxDOpt858Oqs36oxyDo6HjqT3qsFU1WKKrDimJVPbc2ULa1TWhX2oywgm9IPU/5RN
5lNe9D+dn1yduv03/VVZKxhCcIINDHCzwgD9aBHkjnhRDm+S6aJzVWgQ9Zina7asM1eXqekpsuXB
FTNc08OOYxHmbUOzS+oqLqxswaWD38YbuOazWZaXTWi2xSxquIasIdOVqQqGMjxHkV0Pm4TqrsM8
7RnQmoJX0EVsE51vqEig2x1Md1XE3kIh+NPDPeNtZUOmuKalyiZxNZlSx5ItDVsyoyqzLWR7JlK2
AV2V3Itzf8oF5fY/cSAGmHX1zbU8Tfx+HEUb+AMa0zgO1mZCv8G8fgtux7NdxTRMWVga2t4GAyOG
ZaIZOtEdbFuauQ13LXE73jqtiTMII3UDZ0io9ugFdzzIy7DZ8hohCJgNy67OTJl6OvQOS3Nl3WVY
M1Vqu6axo+WbwpooQlXd7KdRwLdYa1cze9TFNjOJTBUdyVQDmxmMWgDNVpFOkaO4+g5z7W7fRWIT
asyCeANqrPnammPWpj7h1374sBWvplGXmJ7sKIbo2gaRTeTpsqI7TPGY45ieurt5a7nfauQ6RwM5
1kO24ZJwU8VryBeb+cX1r475q3lyMZlfH6dSl2hKDxMoX18IJZir6Iphy6pJHJk6xJZNi3qyBya3
kasAIzBQYlhFD/2TJMiBqPvufcnTBdpFLb2vMHvuV7PotCz6dY1PyUsQvWCeRhP+lPPUD8+Hm/ma
ehsq32gxbGg+FQTc0Ns8dS79iGfpF8E8H0+cPLnludTFPYX0MIPycNWr1KaKw7Dhyp5jQ9d0TEO2
oIgshlvddFXCdOPbam+tapdyWzM3NfQXQc6Khr4SBVXLmqPjRvmhDXgeu/NCNVCJepRCIzKZYASd
2tQcWTcokQmjtqoB8RDmvqJKuyA1tQp0hW1oFeiqUmkFmS8c7/L4omc+amNogp50C+mWToHqPaTK
FBxRNhzgBWTbHsRvimEp5qYm3mNPKvqix3+EQOMmCYvtPexy8Sm2or+BoqlApKnahgIQLmlrrFZ3
uHmalEXPzqazLBWmEq2DaeV1mFaRiWcz7Bmyq2mGTA0FyaZJNFn3DM00oBeCS27q9SSv0qs6l9EL
H2+ut8syy4oahrJFDV8xNvvP6ejEyrP0b7677yiaZyGgZ1lVIa6hxGAQW0Hc4GiKSlWKNFyFNN90
tLVqdvebtYwrWvk636KVj9e0giErrOXGyaSEypYeIXWBzKE8/Aa9CLZcywBOsFRBhRr8slyDytBk
tok1x8TI2dTron6xesP7qiGnqs9M/clDkTR9cDOxqRLXttAAN+L1hvIXThDxcNXh1J4oDL9BH8vT
sa7aRFA7EWET0JsDv4iLPYcwB2vM+aa7VX5k15XsdLhGpk6NWIyjKiN6w+WWNwPuK6AJdLRI6lIV
9YjwKF1XNJV6tmzbyJMptmEQsm1F1pipIwZBFMIC6bzIRXfti9KNunRshNF6XXBzQZ5PVstmPL2e
gEuDQ1d2qi8AACau5biqKRNPUSD+IIasUyAgYllUBUUsz9G/yTjnIPrjyXauqdNWAUfhFsB83XNF
Zz6flck0+bs+SdZd4AbIEG4w14GQUiMiWnJdCJQcxGSqw6wCOiKlyHiOt67XsV2H9VxNbQjR4g1t
CAmiShtosI8n1cRuOWSRqrtZFoaJRtW/IBKlBlC9CRM10EIHV7AIQp7xYpvX2ZOa31fqX0FOA76J
XAnDOKbNdoh48bXMZkV9jLDmddRbMDtciNHXVEEDYEEbWRAMIgfLFsQQMlJU1YUYi1jqs5rDqata
nFgsRIbtGm7JuKIaU5VN1Zgfb3Gx6uTT8bnUhflx5V+KZogWUpiq2wRjWTcZOJarOrJhEl3WTIdQ
UzGYTr8/Di+E73arRYZV8AHaBK/R8MmjLvLsGiRO/SCZJOXDmm9BQ9j4f4i7tt1IbiT73l8yL9Tw
fnnk1esdG9tw2955W2RVpboF69KrlgzbX7+HWVVZxUyWunbRmAUGsqxMkxFkMOKciGCOE5GAwgLe
ZcsJjoUjiUl4vhCS0/xb2VZXknet4LueNrdHFBS/+2ctBC5hEM4GwynwJHAJk3K5YCMs1GEsWYtg
hRD1LWHQQoxWBdnbEO2OG/LHl/sX+NLjLsibikhtppCVZsIUHKoI2eJMFEkARb00nmkj45lbXwzT
zr9lnfl3s0HEn8qH17uX2ccIWfMGxgYZk0UABIQUVBssZfDAkdzT4IP1UbTzt8O0Euw6m+iGzcJV
nN3+ql6iogsJF8EmeRCIQ+bw1raSDg/3ADt0xBtby4UJMNC8uaGnwfvbeXr+rpVyHW344Phx8bbP
f35+ebqhN+7GHhdQuRtE53qWkrZYOZ9weDJEBxkjzuCHggW64LSLNreruB6vEWfYdWxp2O0zBXi5
hvd5H48QoTAqAi+BJGHFfgGd455kpgMoHI4JPd/Lfbb7781ojRCbYbMWYrOZDeqvkzVrdsP3SxFE
DkHyAoqfIQQgDnGFpkpRMpVJUuMXBv1X15qbfOL8R7bMjOXyfc2uVt4+ueW6DgjvijJnSUoGUCka
QUL0nkQjgVWAolzPJ6/jzHHsviEdnzZS3452JbWgB7gNFX//8e7LnGZSWkw+IBTNeAEXLV7A5ouD
Ewu5RnkWEORZjlG9afN+ux3vx2dI3xf17NXfx22lod3XWvnO9RLS8rVecsOO9nionMxpXcFo1Qx7
zrwMgNeyuudUMvHKTsjVCKGgZJZdi2zHa0TZSbEWZTxFigLs/X54BhCZXa2yN6bahRO5ZC8IkAaI
s00e5wM/EqBz9t4IGcvb6wyTu9tO4O6IKb664P7nD1fElaXQjca3eq2xpHYJ3Q//3+sziTxHwrEk
Z60Gbk8JMMUxMDiaPRYBrk96o6Jgb6q+HLyv0/Ktd63E254a49GGXl/ujhXBv8mKF2V0tQ4QCA5K
RSiQ1wsuiC2yMJmpl3rhSk5DLGa+7cw8yCkuTVH9e/C159uhbuhswebGTUxeSCEzI4prBGhqDPFU
GhiNypRLn/VXVu5/czj3GPzriGotcKvvoHr6quMRqchtn9C/e/z4y9myM+0mJ+4TTT5anA8rD0o7
B7fkfI6aMR6SD+3KXxiyEQs0fS0W42Jhxx/+fEBofPhprDWTfXrlaMbFaq5UYSRHSCOchjEIGYgv
iHtCyqxYvMazH6Y4P73rp0cBzl5aPGm047Kz6FzuFtrNg32ZeEUaxof9Ud1TpWr3cPciRcaJ4wKs
L0osPGcI5t4YOvHWqTp3FW3dj98zqXD2vFVk2zmnlg4LVjRxksPHT+Y9MgKATgELVH+rhU+iwNUG
/BNWJCnAuXPEwoMLUTjcrX7z6JxP0T8V5280SljZU0KOi92YluB1fEnj5vUjwjni+cdzgzPRCc40
RcRygMe1RupAunEumLCgTC6G67diMc9lurd8s9VscB3NhmU0+OPz9mb+pk/9/xJ8GB9fzlVDYE6F
RQrmwXDGuUpA/joQmxEJjdWCG/rm7qxG7yu0eq3VZrPraDPeHgHTz8+vY2VcH7bD/TqiU06V0FmR
SAWHhYWaZpURx4XWymwKOvn/p4jeE7zV/HYN8eVO646Fnn0n6W/6xk1ZOZAPNuFtS5UGz63biCBJ
KSyURUe04TQWKp0w4asM+DTBZaM8vdOosTMdcDJqddzAu+3T4+83fA7sleQVqjz1CuGFe5ie1hYx
HZyvcBMRWmCF2bXhpRmlmf/WmPX8FTS13qrGp3T3PG5fnp7/hAHRPe9krsojmK/sTREVI8xIUUim
EwA4Z6nIECUI3VdTIfPolzOc8yvnGihEwJUG+KOeUx9Y/F9/3H90bD4AzE3UQWmaDAXlM7QGRCoo
JMfuw7m6EoNJXqdvk8RZS9EqIVxHCamWsf3zOG4//TRunz4+Tt3h+ywAx9aayt7qP2vkCJ6C9VOS
JOC6QFQn1hRHgmYZZKnAgNRVcb433QU31Xu1VVHqtYpK2uM+/eDf+/iP0w5pvi8F8alRRBIdDAC3
S5SEUqq3kp5G8GPOxL+I3Z1L+K7VorN7wBy348oX+V8i9ovJG7rn2/vfJmxGI3PREx2hoqAK+CVy
Tii31nNlYoz22lCJSS47Ijx818rZE14uYeU/xufN+Pz0BdD+FAODNFKGQrKq7T02c+K90iRznmr8
Kzy/XdM4DtqX9vi0EXfL1shEjdwdzehu+1q/kHbKdCrFbvC/yVFZ5wLsEKICTAmcDmIjfpQMSpdU
4iqapeNsRnvXTjp0JBG7TgQK94AkT08vn84RRFYyeuexZirWGnRUxCWdge8MT8Ej8rD81dAzj3x5
w+dXWunlriP9btjt2npt/fnv7/N355KHYnIKCcRBTWXMAoyasiTZJwRMBp/qr6pEzIP3hZ8fnwuu
d+O66mDozi2W/d++n8F1LcHVaGWpmVyK0JKBFoDIaw+vLzMAaaSZFGaDYIllpd9OGMXheXMp1p+9
NovQf3N+fK6eEdt1qgh/HI72/V3554dPw/O4W9QjOC8G5AM+33GcxaAKeIPVQDPWC8kt4tk3CmUL
CRbSbzrS78QRzjzuMxzz2bTiRu0Tn7nk5AxEV6pWgiiQtS/REGMc/AgN0snUns1mrFaKnexJYRag
5tN4/3mijhN5lLqahkrA9dISGiYo4xmxyUQiqaMqAs0ULb+JaWDqC1aBJwtlbE+ZufRZv0b3dFxQ
a/aNBoJZrmXxRNlSK58JEJFbRVjRXMmcJaO5mzk8G20hxdiRYlzmkz+M21qoP1y+BV7dRzkN/0un
s8eKBVdyjCjnLcxU4OxJ/Eg61RKQBnXiV0GTZqJL1On8nVadkfXUme30v1+H5+Hx5e5xLvfYqd9B
BBO0mJq4eO3pAluQygL4UuqwsllT3V3W5XiNMJJ1jrwUm2Nmr9O/FDwDt650U0QQayvA3HxJtQ3U
a5dE4rp8y8LdsnnpKKW5XYOH+sejt3oYX4b7/6rXR7+8DA+f53oHBei5kftmn5SzZ4zjqHuQaJEB
7qakt8+gaTHgj+EqtPrd+19qZ8ndfWMPl4RYqLEOhsYyc8xw3v/1MNyo2eNOrc3gzLDjQIpXhojo
FfHRMoLgp6kQPtK4qFmdD9LMbm1vdrdEYN//xwxln3C0eG0TrWFt/0s99NlqHyBSZLGyGZP22RZh
VbTJRiXkVYWbZqK+cTSvNMrshjXMxx+XqOinn+M+DThljAyiAP6T+o+aPgV7EU5YEmKaCg2wBYGl
ldYHUHKJlS3X6HE+xwUbP3tjocXa3Vm3iiBAKPvG7H1WQVJ5I82+95PB1WaSkoUGEojeRtD0qF2o
jdHwv+lriZUL/dnx8OxdI9nIO+KOdiHul4mk3TyfWNqiUe3YqjbFEAdU7yzIfJE1InMQ/BByxRZJ
U2YjEFT+FrFwRR2vZJiLFXC9FdgeHdGXz3ePu9eTB2LO7OutVucMekVk7cgSPIMlO5tIYLzSTC+M
WKTq25EWQqwPst2wYVHA399r+AN2I9S+7Apws+/fZFJYC3BNGA4yvIqG6UetiCxMZK6DBhj5ql+v
Y1+mA/Xpu1bATUdqqY/hZ3jefrr7fTwloYSo1Wp+MJMQjZaeAbgZAYKeHBxhDUrMKPgw5VNUul3B
xYCtMNp2hNkMC/cxUYNffTm3Xnoj+GS+9ZeaOSiqALNpogWrdWxnwE6xoCYV5kJSOTJ1NUv51b/B
UX71rQ6bzoJujVycxu390+vuN5zyWH+Z/Ii0/IZXV7L/pcJiLlQQJhMmAZrgySeqZSuDVTTJkm16
O818HPyCQRyevmtFVT353YrYPjw8Pb4fHsf7qV+N32j8N67CaOmzmXICCsJXgugJVjyTwAWTxifP
s/sWruNchEsWf3pjoeTQU3Kcedb35dRrpKuhWxaFjpIBmNT8U7XxEPAjAr9KW3TtL3xTqak8ealP
rYFb8+QLkW87Itvl2Yj15uSxxna4O3VK2Rpma+YfZ5MHGFPhEZgrWlndniRUMlN0EJqlcFW2qTPX
hY3ovNlqZ3un5pZfKgBObvQ/78pdTRbuUxOM1j6aGrrgeBwH8wG/wKkpPhFrQiLZAy9DOWxbuTaZ
Vqe47E3r00aNHVtzTzvW8hK86Xc/5MePIAEn1m5sEJwC6tCa9Ss4Mj5yAQBcAIIsog9j/2fWfjKp
47zHJvjjvzeSj1vakXyn1q639mcP+M97BK8A32RDOWHgRBUrcOLA8Eg0ubZJBCmZvdLrztNcdL3z
G60iuzUEtbd6WeK7e/ztHP7ggLh9RnaiqUbHIjS2pN6j0KGCUWFIVJJ6oLsghP0WDuz7cxkagP34
W6MTIERHp9uTu/phkQ8yNCmmsfBUejBEGCWxhcF56RJBwK3i9pv1Pnd8FX6s5AVC2x3l/WN4PrW/
CcqnO5icwvlowmtOViScV7AWRgwtMlrlqIhy0ct5GuRdO8/YmZzPnXe9W/R/E1zaqSGRgaSJKSPP
OU5nzUPpSvYl8IPwjkgvNDXwJ3yygYvdV+fDN+Ixsz5oTm7lwj4vlC2nXsVoRaoNV0RbC2yupCOW
loy1SjlQKZhNb6cw3y5Zxr/3y5VO3nZWtgp+wIr7CW/CyRi5rv3rU/wMxtIcDVFi6h+TiDkiWaKy
ZQBqHka56EdqR2sEUbSzhvjj0b7uh9dHUJ2DGEarmme0B8iqMw1eI5IX5xD9MG/tGsbZcJzlUkKt
33d39nzUhTisJ85ch9/8Nd0DmW2txmBus5JcgRXWnQPNlcQHowGcsbE+xiDkwt6bUdr5WW857JKv
/vhj/HBslhFqz4BgOyXkEoHVCral3pQIRWExaIAXjIUHqa9x2HXsC10meNJIqzdrsuac6l0cqN9b
q2Y03TmS+wYfz51XFQ5rVnvKDA81uVmIlTnTWFItOX+VJNWB32ghwdNGZKc7C+zqtdiG2n1+vjtv
5Lh5X/99ii37MKn3aRqsNI0kmVRvAmUsuLWeRJwCKmCS8StdF1fGlvetLOdvTY8a/Qa6pq5uUJvj
edq+Pt/fyDkJebjRRFmWgXAZp7uG9Q4lr58hiMWqpIpUizaE80Ha2Tv5N7fhy0vHP77ev9y9PL1u
P62gZg0ih4vH+1+qZTvrrbaOZAcCBZCbQAABd62nOTCndPTXWfblaRszX772rtWGd1RUqtcWNnFB
pqeSldtfs0NwhJPQulatECQRxjkHJDE5Z5G9D1fB2ePgbzSDLbggJNQdsR1diD21W33482HzNHHB
iYiziYXXazw8KgF+ISuBNYy4nDlBSDe+tgSo67K75zNcuq50eqPVYdfTYWQzdnr/y2HHfhyfYaPL
qz7ORBOtF4TXZkkR66c2jDFwPyyLJHLWIl2ZoH7TgFpU1ReqVWzsKXbL1oj9w/C4m2qhK7yuuNGa
M0qCzlAuGEGmHLLE6fbOJ57ztXj9MMlFtH543qpw2zsWt3O584ClDrW+ce6fngOpqoqI6le1pk4l
4AutBPyRBUl3Kmciaw1MFZ0oe7Nbvj/HQto1R3VbKqZGj7MvIN0PL7dPz3M7v5HH1UbkclTlQnQ1
IHBRgdAVKNFReGujDH7KSV2UsR25kW2rO9Bsa3oNcXOvXvmQfz9cI+dcTEBtgpmH3yuNKCoYz+sV
EJYqQXVASWBDSQlZWGbOuK9f0Lu6N/Aoz4UXD09btU1vS8x2YUBfxu3d493cADZlCQQPzNuoSar5
D1FkQSCuX1DxCqDHRJF1eGszmjFboXoHc0c3Rzj4/vHjIrkUZM3HKFAMVmNV8b7e2YLHzyYoX7/2
IeI3Si7Nkzci7zpZYLfj9Cjyp/HuYTfck+HL48zbpBLVsKd6mLMsZUlrPYzp+qkfU6+2c2LhORlT
Sce0QAPrEVuBOOsJtLTnKWrVYtSXL3f765HHThVTQ2dUWbOAqMmcxoHTtBYX61U92C723zkb+Neb
qJvx34iezXsLbUxHGyUX+HEvR3x6vL37+Pq852fZv7eUs39Olx73QLL+UtecAZ9DDSJtvaBdlIL5
iEiwD/CDQdXHV93UOsxw4abW4Wmrj1IdffR8R+LD53odJ/zgP6w6+nRRjnkKvD7lvKwEIgNmI4EK
FWVOLIT0L+roW0rZqrjppDBGfbswwM2w/e31c5NJujE3crqOYKa2swLtsksAPtAb8M3BxWjlQLMA
lYUK0tKrQmxYzHSuzP5ZI//YSzOMqw89vB+fa0QZHrfj8XsRTZeasQJuvl4b8ggAtdDjGOIrL0pn
pWVM2VwjfGeaC9xk/eK5WoPbrcnj4Ma55WDz5eGMaNf1N5lJRUFPvEWoBe+Ve7BTOYoHhuaOLypU
Z2M0cw9snYUbBsvWZeFVW7z/GcxbmNqmC6o02UUMWL56lw7s1deLKsCVcPMEhLZeIKDwmPJf136P
B42uvRg27NTudtynempf5OEa7lwXVMdurqAiVSUhnKnaaSmVrwl4HPksmZXA0pGZbmhdjtqItOtc
RBt2A13k9ern/MdTpJ8/oJCdYCzWDn/EBEBdBqhbRAGXkiCDpRSu3Vvx/mzcRqyRrUtJw6iXN372
1OSwX9NXb2q10tJ9T3/9AojRihRETbhyHDM4B09C4MVmJbKN/MqrWadJLhTSz185V2Qj7BpCboSb
74ZuHz7PKTU9dSHJUDgAlCkSoEUAF7qUKjFy0eUAxzHFn/MMwDxCO/FAOxNvT3f/P28vpPK4rYFd
egIOUz9JVS9ta8CoVCQXSgB2lNTd03nIRpCdW5efN7tBHFfgtz/OLo4vE8ZBe4NTrEnJRdTPjQDD
WYAh6wpLtYwL0NyV5TRqK8wgO8LcLrl3PTL/w9uV9UhuI+n3+hX7uMCADd7HI0+7gfauMTXt10FW
prK71tVd3joMeH/9RlCZSlFiZqXHhQEaqISkJiMkknF/8fA4LStp9QeGxwzTDOiytZJMwHuo+cUm
oY2nsVZJEKVTgoMw0WDTm0r8p8ftGyUuxycaJgaxPjLBbl06u3+4vZ2M0xFaSDoqBGYUBAFryxl4
mQkRoayVOoMZxeTlwDeM2CcVbrQU6rUqc7c/pN/NXBz3z7+O6KGlCRqxcSNLdhD2QYBaox3R0hbY
yKHmxMO+jpqC+qmjdPkqf8c03Rlvx3T/pqV722Fmt11pzS+b3ehapaCl4H9whn+o4lJQWCHRODiK
0I72mO5oRSCgCIDNV4QLgb2fyXek5JxWPd5teezgZMDXWuYn1B71m7FVxO3L4xO8qwnmQIyFumCc
cIa19ZI7sACN0MRFsM6lxspFAydwuCqRvTPVmbW3fnDO2taw9VrcGj4Zjp/uvw+bJ//wZQBSVpp1
KVmBAl1IoRozXuAAshrORhm9CQEd4/zfpVl3CG0Z7VQDbY1bRvu7/vQD9An7wCuQ0Mi78tl6rwOJ
maI3Gg66QJMktLgYQ2HFmPTuytREzgU3+7IQCrgUPdaHCWjmK7y75+Efj78O3+//b1a1iSLXuGCj
xkooijpMNCByMYVDwiFmGCg2Ni2CRv3hWoo6Wftbu0q9+FSjX7cTRJXhdgQfHH9UgxTTexB0JiFm
CTdw+CFimLSZW5CA6a2w5J86Olp6zvhUm2duWgZFj+sOLkS5PcLejXa3ldwrAYKeywiCvnAOKmXE
MiirPaPZs8LfgoMot2cxIMrtgs5tj85hmdw5bF+f7l/++Hr/H//pKrFoouOa8ZEpFpUlHjF2UCkj
galEFOyUUpwskYt3SeQ8UPDjx7P5+If7C/7WWv3WsSV/p0Og5tyhS4LNUn84A+lVTwJHpTGYSRMw
LV6A0o+x8UBKKoXywFly6eq8vzrNhdS/er9hx3VQ0bbO3C2MFNTaXh4mvAxbPWlYkxodTT4LkEnU
csTaA7uVWUW412C/amM0v5h20AzcUmY6C8ntVuGCjDBtNVeMjmgW0nEjOSkW3aQWzlgP9jQpPoL2
HWAJefl+m9rnM287t7zseI8X3oUpHlFTK4zk5+81ttaApoKgD4o7YJCj65L7gPicltgI+qfhyVB1
eTtPI58h/Xi74eCOdg7dO7XtcjBhrqKSfEDQw79o1XqTZAH9jGqO0SmLeQw2kmgd1zJREIL2zc8z
Qr6erxmd4F5PhO461LsevOQv97vhEd+5rRXjYwyfec+lx1qFUH3vGt95ygQEiJNKAuXu7UTnOvJ5
quvtlureUbM9YHNU7wNmi8bGqwF6ipn8GqAUCs5R8sogEQhIEgyPELD1LINtioWbZ/way5EbwrZi
7eze7uimE7ypjuY+YoihETarR1RjBPEz2sBO5ai+h8xgecA5T69DU3wDS7GhfdcpwIeLy7zBB0T7
ep7SUScHowu8qOICyQkOPcEESCeD6GM8aG1CTPq6APHDeayx5VPPl6Kw8ycWfLoOn2pZAhe/vn6v
3dVGSlFvG61xU89SUziYFYRShQ0RQoCP48ESx3I9JpQQ4SrrcDHJmc/VPtQyM3QMjUHYaSf87W8z
sMUDOJ0tUSR0/lqKFSGISe98BJsc7aVgikxsoXzOhrlpZ1q/yx1Vm87xUY3cKuhH94DQGlGia5MB
w1nwNepBM2LqKmIFnONRJRMVKmL+bfCOC6BR0+2blsz1wT3wLevs1WOFHa73WvNWE+RpBWmAs8IY
id5RGjC9MGIlJJwn1uaoDGxkHdNfLOGbP3HTUst7LPAVC9vHDaq+Y51ZxVGmxlgDEjJVcKWaKOZg
8yKSqNRcAOlvOQdgzHPkwq0FneujZRBmWUyW7p+3WBj0tKvVZKD91ji2o4zCUhE1yY1aJeA9B8YR
EUNTWMPwKzqeM+fYM+NyGLuZ4qxH5vTITUvx2q86KOtOmHvPD//cjU0bT9beB47eGDgaU4C1QtB8
B4mjOAFOGJq5HGxbkUE7a/fcerSGGNWpJ8aLR2LQQ/Hlj8aHjq9xPAGol45FlDBS4edPCpHNsMzY
Byk015YvyqVWwzXE7DvpH3BxswBG3H1/fp78rpordLvKuhqZhflBbGAShWAaEznhQFJYKCOtNkyk
S7rybNwFWesPtqd6t6p2xlKmMVvrcDrVvxVMFAucLVAmo8dwOMPy0ExyYEHY6FIJ4v2U5omQc4bX
4facSXjza3NgjwH/hatw8/3L0+Pvw1xm8wRWgABjUlcDOIAuFKLWhMWSKBgw2Up5VULaYewzzr/D
3YZq2fHW7s2OajUKrse7/9meqqV1LdtOSiUFJxdhJWRU8GHVMnRLyGR8yQhBvcD9mI9y0860VtQQ
L6WXZdPGe8RYXGmptHUrRdAXvU0Boa9hK3kOZqrGXjkxF849zdr4a2tUroj6rB67aTnY9NiajNbH
3X53CqmN2fEyBoR2S7qqbQ4zyAqIYq55dr5QVxZB1dkY7dydqN4hq3z+Sv8RY4NlqHIOPAniFDPo
74NvauDrcg4WRWYsgFp1zeuDYfsvDG60ZA69V3RwkgFPP21etl9POhOvkKk+0lCCJSZjpnIC+jwD
Sk0RTuoSpVILhakZpZm/V9Wy3zNzAiz/vMhbjLC6lUOTNouIhfUCvg7MHsBsp0wH52J4rxKQzx2K
98x2KObLziafYJvPMw/M4SA1Y98EmzhDoe0FduaysFccxvuozSqBpUilUe/u152TdM6veHqiZZr3
mBbbc8iJFUDy56fHF1B+HhqAwaQp/ItwVGE5TACdy2o4wwxsLFtkNIznP4Wd2Mz0Bnpi82zL3xpp
3lHO+eKjNuJr9B8e3fZCV8f9+KMKk+BLdBX5SiNaGVZfF1CETQKb2uukJX0/UXmi5cwrmO7fNBwO
HbalE92uKS8H2J/qNplhfLZOJ5qdCvB5FWgtwmnQ63QEw9AzBPb0VLxRnzUf/ILfaY0xhHTLDjN3
w8z429zdn6qzRtgkx3kGrUUTIBykKFNYdmEoyfCVohTS8EhX1t80TkvAOrUKLm6XFdL++Xl4iZvt
1+EUdGByzFGVY/FKReqzkmiNHamywzQyIxC+0WWTk9LpOiSq1UxnXunquYYvtTFrvtTmVEWB/3PK
ZEBvr1PSep8d4R6LohSYsC5HEBPcmygx2C3PJMqchmpJWJtMeHElTZ9en1/y75uH13oy+i8V3vQQ
Ha3Y4xxElJMZkxkw/o4rFfGYMldoczNuC7tKvnYmOiNwO0+2rK0hP/Gi6+Ok/FSbq3/8vn9sEGl1
YMZGO8phWLQgDpMQJDFusncqjw68azFSTpNcxEk5PbZgaNNjqAd2sJBgCBVQYQKqTykpk4QnDPsG
gJgHlkqyJPuYLGdawiJ6HwnZeXDBz7DmR9MJRueYaP/4cr8/FVmoybpM0oaUBQZtMQkaLSdPSyFR
GZsF2HkmxosZ/LOBG8LsXedFu+32mLf/e7r9edlWQBnKwdbIJBWK4PvKgljSBbZnoR5bT/Hw7wKe
PJHXcHUn7ZqrOz2VuVZkvTbNXDOw222OxESDGJoKY2OgWTBY9sJFDWrGe6WZn2ZvidYdQXp3xztJ
TcdmSB9GuLly/zB8un/GY0rWlBs+9oBhiftkTCDGYMYNV6jmOtjciXqw9SzjLL6jqd3Qcsbebp5p
2b/rHM9bKifR+/rb8wzuV6hR9DJlpZeUcCYTESLD+aWZIDGD5mUdFSbaZandaZybdi7VIUBP7h//
SxmDQZMfio3Abd6BsQomhHQUYwslEIdpqz6wLHTWoI2/kV/xy1swyc3yaeloWdCuw4KdMJNXVUIG
j8mSnOLJawQxAoUrBo1xEUEyS4yxqKKSC8Cu85VAON1dhwYnVw5sDPv4V0T+nGe3yWC1ERnsfu0w
XJNB+0tYah6Nj2DXFBuuBKg4jn8J/gTvN9TvbOc83O2mRNrN6yn+xayuiBqYNEsLkaxgR0YPmyzB
+axyBHUyaJXKwvF3GqOdeu1AgYuDXYTHN8+zwvwJJBImR9u+EBYqXAaaCh4kn/dMGVD3nPUXM3in
UVuSBtcjaalXnM7zsTsb/IfZJTaWwSgrmDEMq3nRM6ZRnyuo3kVYcIGDTpr/Wr+L0/0FD50vOhwg
D9q8vweUcRWrB//UhD+QCQabsCVauyI7fKEY5aFJRGuzduKNGhkY9XwC38NNS1RHAOyZ6yE8/dBA
PDnM+UXTcfyBe9qjklBqX0IJexr0U6uwJbszlsaY4K6+OtXjh4sYTz80IE9AMe+o+nu56UOufdpg
Q8vb4RuCQG5/gnv337/MWOMf0GdTj4eD8yYFsPMR6UmVxLC1ZgTLhlHMss7eSKPlG86b7pTnnBmd
R1tuZee42+vdMsUdBF8NwUjs6CrqIjv+RJ5S4hbOWqIzdifjBU492A9Eu1AwaztIf1UhzGGa88J3
Rb7uKKZ7BHtqqq+ODo/wut/XzilVyaip3T6rrKIjoGtjnznMdDeSkZxLVFlQqfNVzph2hnNZg/Nn
5nwwug61O9ToFnvn9/sqtcpmO4xOF/Fh9D7XvyP0NOU2eyI5Ok+pAX2CBwaKNs8SdQx1XZLycYYz
WtPhbsOCXKMM4UW3OP9/e/n6NGxOIMfCYhVHTU9OieUiI+is2LHBY1VJjCDWRWAx5+yUuigDmpEX
pK3PUKaYXri2fvw480Z84HzMtKuw+2BdSljesaAfX0aJqf+S5JJM9CKx6N4/BfVEzTmU6Z6pBmyZ
Dq/bLgTH69AkbJTIssdta4SXhzIaDUYb6uFOJhppMH/GMXnZFdlSvessHrWCqKpGStz89vKKi39M
hnRV7/IxxwL0EZMcx6ALB1tZGpKxug0WlRLmfXCdZhSc8QzMnmh4NHRt1TGjL9Zx//ftpaxcCaqR
FwV7k2IpRbJY4u8TkSmaBJ9Pwit5PwPpRMuZTh633QVp1i3y4OIaYHpdIFu1sbHesmJ3+ehz8kyS
4n1VEiUJIC9JytJxRKwX9rI60yvCPVNJtXqw5WnofcrhbuWwun2tzcgw0m7BaqvMjL9qBSZsr0gT
4SVhIADOOidNItRkEaVn2AD1ss1+HP+cj+pwe0H7tkP7XsxS5SrU8j+fXk6BeXz7DBOMtSNFYUsV
6zOGLRwxwQgswywhpnMZcu2ADTmWdZaHZZujB2f7sNv+9jqMKHfHENwHU5M/jFRRMo/mckRIuoLh
X9CnSgxMUjiYfcxvxsHiNXGwNRULJu46TIgphPgNBnqeyjrqt5eOuUAFSS5g9W2xBPMsCPAD2ojN
olDfml3zMdrJhehNbo6T/7b5dnI81PSqWGJCpFQs3YyY5h7AdgbxJiMX2WbsJLeYfDZGO7de+/uZ
syeQhv99uH8ZxDQ703XlpyhQEzHwubCPjcFObsqA+qidM9yhe3MJzjsfqCGhA93h2NYtsx1mnTrk
BzkqsPh3XyUfCHLuOYIhMzGCsboARKWkgTYKalR5aye+0a9j9kBD/XbTEXw7toQPONYA7BvouLEW
gPFq6xWwKnSmhEYEWwdriXhER5KSJQHHSi5vpMwdk/jfcuasn2sY2qm1G4BVuObmc3z+OEfBG3UQ
WP9jl0UfguIahLfB0AkWBwZ0aGatVUjeJtASr9FD5nP0eZk/0XCx13rNxX7HzpYuVMjQT/6/Opil
Igj0QQliSsRiWoEACZERCXaSh6+TYnq7HQyOfQGsFO629K+z6B3nJ2fgt2G7mRWaaaerxzUXDUpe
kmCbIhSxRAMc1Cew47wScMg64xc5ac1AN81sW9shYbhbvMJDa9RGD0V7n2F6g8PkCpaxi7zNsLIT
SMWSQcxfpYcehr7YkrUluSMa8eJRNP46/PHty1S2xdH5CKSAcaLwjSXE20WYcQFvLDsbjWZBl0z7
pcGzsRZErN0oYB0uN9DH7TxopG01A/UhAynlnELWIKqxQWzAZiccvioHHQOkYrJOXhU8nc9x5ljb
9iNGXKxxC+Gi3nbMkJ+fht399mXRmddiNr4NgWhFsV+28QSOZU6U5AV+KJ341cbIaYbzW+j0TMOH
vOssCXm3O8FRgk4wa9lTnfoxgtBIjMC2RzgCWMQhWlgTWXjFSqLA26KDxGyUdvqO5crlbkJj2T7P
0rfA9Dv6UxUHAoL2hGHtvlAqE9jHiYDpIGQS0TO7aF8/G6mlYN2VyXGQOZ0PeVwItQfvd3RHYiE9
r74WOyLEZMYYaDYkGYRvNsICWaAGxIKFyEnmaMPVqXGL2S5kxy2ebPiztPOBLZM9r+Xt33+uePTH
JQo6poqcEi0VH3P+fSyGcBe8jqGYKO3VTkoY+4KTEu62VG86VLvDV1khn3W6MgUMmSAmnOOgMIOm
bEhAl0awziWtJWjW7ApMtc6CcWsoFbjIpyX7vHl+4HOFFNGcGAOLFUQWnPEem0QBJZ45WL7GRm9Z
krYsYjjNMC0BXHcIuJuiSHVJHGq51zsna9gi6NgPCuGVQYwTmxDAJfNQmFWwUBeUrMZrqNl0/DF8
I5bm7yNYIs/HPtFjslzNhjk0nhY6h6IxPVtgzhhzhliBRwpImcBBsUghvId7o2lXfb5h5/RIy+rd
2hnLt9R2IsCv99U1fqj6GEH4hdVCF+IpssnQ4+90BLmqjDTFs8Cvzpr9/PH8YfD5Y0PzdlhbD3zH
xsXyw6e/D993w9PwVB4eNy9T/iWVjAerKIK4KHTcM+LhvIU1orkzSWpO87uAuzfTnzDem8sNO7ve
2t9JfkzUeILBH37/4E41cKhvg4gNKlrCHPAktIclr0F80cClVgKkcFmYg+0wLQWqs973fIltsko3
GH3ZIwZapUo5tFzg1YK+B2qzQqQqyjWRJSstGDYbS/96RsPh5px0QfVaaRbUDItD9dvm4eFxKufQ
5pjkgoUJ2QYsp2UIzB41sehDlUqDVcm40eZife983JauTuYXXJz6uMBuHIbvfx82uxOmgORgadfw
vi7RIEaZVHDai+wodjYrJAbPeVJwopVF+731cAtq1no9qGfLAPnm97mtOuafMSo1LJoa4ZMspETB
FlIKoW9B+MA5mwwxjGppVfDZhr+YdjB/4qalVnVYGJYAaj+OOIZtgF8lAXvCgkYdsNAPViGxFmzV
EqU3CZZLSFdFWA6Dn+sVWG82RMuOyBdyt7Sn0qjEwqRNMKNm/41oWYLCL1CjcQlg410wRR2DX0Fh
n7bMjHLvWPa9pudckdXyuZb7feeTqRWQ9MkgH8n3u2/33++fX54aRwMbE9DxZNOgbpRSI/oMvYcy
EadAd8uwAs11FkZvpktu5fbJm5ahzgmkmTwlfvFF3leUFNHFLOES45dGoE9NROAJHhDRFcXSu+V9
/X9vV/fcto3E3/VX8KUzzcxRB4D4zEwfSIDwubHjJFbS3r14ZIl2NbWljCQnzX9/uyAlESQlu22m
ekhkkQAWJLBf2P3tgLYF1A0sS8m6GYe/vrPNe90zA9xMJQOTyYGh6nOsyinw1AYMf+Nd5kGh5uRl
1WoOvQ/P43A9ol0PuA7hx71xZz9dXr97eLpfLHfwzp3SrAQXSQ7MVFks1oBBdx5eQ0nz0glvpXnG
bfjyKuPDlESzMXJgNkaRnex/Wn5dLA8gZ00tDFAsQWyJlDssfCkMBn4JniJKki8KEBd8GNqs3VtM
huo7ALOKzDqHrWfVqs2gapcZlnOuFV7mtFaYAAQ2ikODwNeu/Ry0YGeoN/KlAE6r03yndcMopng+
MA16sLxXn7/dLR4OqZQhLyjnoMSiU91nWEqKwz9FIXUKygDIWULBtmBHDkna3cWU3A1Qckd754Ye
V5NbrKsZGCPfDoWhqAmFb+CZCYkOFFHi4ZkBRkcVxSIdVsi8LM0zaBJR789nY/gX3N+5aRRPUA3N
2vTQVtqHefuSriwoZUHaubJQzptUaowkUliUweosJVRKrZn3sLROo670Bojp1H3ljBM27UEsLe+f
gNNerubVQ2Pi7bmgtlTnPBSAQ+zwokxBgySpgs3LQHVTJH9RRH53jOMJTu27RhHhA9o7J5rvVv18
sfkcEtl2hjMJePNBo7OKG4NHJ5KiDY+IhLko81QKZ622GbyE4bUfdxrTM+0zE06bs6229+lhtb7+
tpyhrmYaFJU6MAChDVSJThqBBZ8s6OfGcfTIZQYuaee1+u6xG3t6jtmhzeVRPC09MFezP5idnPtu
5Tosr5sjNGbuGfoGcpuCqgSWG+UebCQmmSi+k/Q/jB4TPZBxxOms6ryg9y7kydZVPEJNKNCwQP8i
KdMhopuiwwdWv9fMYeAukc+FU/6F1/LeDd/y3sVzmt0NzenuRKDGUHSG9WVWllh2IfMwRc14arAe
A1GGWKIoI/7vZoq374inMBBPAz92vZoXCIny8XwXSxZeTw26JxgvOcgxrjByFD2DuScyhZeWMYYZ
iiV5EUuqBziawN6/9XjUWeuGzlz7pgFnTXHWAJuw3H6o7lHjbuWm1PH3uSIOuAEmaCGyK3d5CvaQ
ST0vDCGalEbSfw6pOdpwfbJH8QT72h7n6OUcPDjGUszhuFhlmUKUhRA/VHhhPZOpxNycTJQWfZ2g
E+jSSYTu8YV+0Znx6ZPiiG4+kBrFBRsqpZt/sv9x6HDXNenAHsc1EhzPc19Qi/IcU3gIiPfcYi1S
ImRIWCTcvtRZGEY5gZCFl6MZCNX3sXGV7d0xg9j4BbeManjUosTCqVY60GyFSy1ojFqWDAxR+Q8l
HQ2i4hteyYEXU8l9sfp19bj6UrVVXk5rTlH6zGAdW6zpLbMS34JBr5fILfPaRNkXB6nf7a9DzGyA
GNONB8SIWtAdq3kod7vHgm1lBXKwIhk8ccMRcRgYRVoQE2rq0QwBiAlhLw3v7Q10PMq3d2s8OTOw
gO4OaS5/PEYHJKapII3AR2AhpQS09RS4MEh9xQRoidbQ0itT0k6VvXY/bQIEHcgpwB93BDwtZ4fR
Q3h3QcE+UGDnKlHDgReggKTwsmE5S6M9KY8YibPB4fusS4RM88iTdeHyd1EkPez9GmmuTg8zeQmk
gIUFrABxa5jDQphlKryG/VVKpOx0ID0McETUwJVRTF02RLJsnyn5a9vOAqbUBDJZphGdO08LXWIW
ZwGiFNgX4sG7klDrSpt/JydBl4j2FCQeZXWnIDPedXp+gG25rT4tqq8H3WbnvQ0Hh0xryrEspcX0
YUctrIXCpyBRJSeZYaAhvGRH9cc5JhO790WzUgOuXPhx2geS+j1f3y72jkA2VsGlqwJQXSFB1oN1
UGI0mkbnrmc+Zap0hTdWuzJ7DkOq3ftxXO/WTdEsbrO+xikD6GKscSJHcavZ3mOS6axmDsI7A/aD
S4lxmMYAGk2BkcBCGlZSqZXPXqSv7Uc4UVUcL8fUGzZEPTuaZjWuJVQwCbBd82dWZ1pprikTDms4
UNRKQGhqxYOb1hUwknXqHxGV9bXOTPtsACRVd6YIbD6vtsGrsZkF5brWvuqTrVJLKj2hCC5pEXc1
SwuqQddmwLWco7l92REC1rJ0u2GO682920Yx9X0DTpEZu5vFmScNWl+tiunatBa+4GAKpCUW0814
Bq9MmSIt0Ovorc5AY/tuL+oEmt+XLpRf7YLszQoY2M6P4RbT++Vqg0lR1WaDYPv2YYEABntgtJDM
yXhWSGDYjGLtDiEKsA4EqJkiZ6DYgfQxHSik0/12SGRDJPaKWc9wz439Yjm//Oaq2oN+UHAKYxWn
IASlx7VUYBwHRoFiHQUCUhD0+Zcl/LT6P/IyWnd0JjIbmAgzA7Vzqk/v8jg5rj6ZGtepyIooINlJ
rNZG6sK5BVaYUcCNpTaFo0K9OKAGhjoRUANXo0lkA+g3+GOXA4cwCrQfQyi/CHiPHmkmLBVYDj0r
mcFtgIX1soyWzFKdub8cm1Ff65DaD7NQ8nbWsaACSG4Lo6aPKiutskxSPAuWAmPQgSOxUqVU5jZ3
maKDcbYtwttDDJPfviOahJwNsB2VmaPneedXAY4PVJEGZEgZDNkJRrwAqZeBUmwcR8QyLLwE2wJ0
ZJmrHHaZeqYUXOj7WNx2jK6HRE4HKOe8jy5fZ4fXYdoycEwH4hhUaZ9ikUVY4FhGr0RNA4Q1ViL1
TvEXRrYeTw1vLsZED9isSh0KADXO7gXineysOxViokLpkzzH6GFEBXQlwg/DCpdOp9LmWClIec9P
ojEeuo2JGoh9V2p2iLdoyo4eyhJKsnNdZDw3BoyeNNcYd6tKePuMKbTzNFhKWSEs6waMRb1FlEz1
ACWh/Ff0eG4fVrPf98juMmBUMM6dcaCdSDxMFwWKPwILUGpBLeOg9J+s+9nuskPS3QBJpq/YNocn
u/PPbg2b/QGQ9JopR8qUeOBVGZjBacFynTLBtBQlWCHKP6PldoY6oubGd0WTuuX9hHx1a7oRYhgM
N3uo83zqyIsaMs7lpVUUpEJJ8KCkZCAfCo6HlUoBy9VWPAMZdyrfp74Wk2sGtnrFuqngH6ZfLXS4
njYRWgFY16CaVFcAo9zAtncprBNgTxKWakCGNNrkjJGS6qE67G3X7r+7I8DVJWZ2I9Dm7Or6cD0i
v5oNCIpqTjqrOkJk2ek/psYGKTIvcm+D7o0FJopUF4gKK8DykNKDOu6eK1kQdx0TOAAZoe5E1am6
e4DOJZqFwlyhPhgIQsfwPBNzH22Bvktm09JZMLFlyWV++lxvgJ47OcAG7mTWLTnbcJI+V2LO2YKD
cZ+RDF0SpcCKCjSVGskpTKHFSZyjqOcOaX15qWkv49D6fT6FQrLGAk8k6m8hz4k4FyqXaY6JX8an
IHh06khOXVY6op4rGOJPJlXsL7dp12xAt9KMd2V9g6iw+bbc/lZF+IzoA25qwNdfUFekLiek0Kko
MXSESViaGuxFYcBIxKQoL78/fOR1IPG6T2Hk9o5vih/FgKms2fT2rjokX66x0uzhMDukmXidec6o
S7HiLmI0qzQ3IHBoURaCKJJnpJMw1+sppmMgmAx+3IveD9P5Agt1ds4bVUkyAmZfSoyVaZaBqmuA
u8EelFppZcHw89/pvDGmYDQq/2iSCi5X88XdDnz3+unxEYZ4DZOz04eHTfIIhndy+y1ZwcNfJ5/X
K6zbW22S7XR9X4XY6u1vi83uwuvwULbTze83d6v1zefF/HXC6t8ClsDNDP7dVq8T0v5xU21vNtv9
7/HAz3VP/l738EdrVvAEwniP0xkWgxoaD8xMIf/cmKNPlwmePLWfL4aDXi0fviUYfIRXVnfJ3vn4
OpmsttOHnzKRjc1lAssO1P7l9ify5kfyw6tk8xU2eDW/WT1tb4Csp2UIdIXB5k0LNLd/eDX6Zb3Y
Tm9Bfq7D4PtuNR2bs+QrXAWZt+v0xCC7n9oDhT6acZIw89OfT+cfJh/zC/j2oTw7v3qbjJr/J/99
Vx5vdn3+v3DVXn18O0l+XK6W6Ww1fag2s2r+Khn9dPgc6WB/dfdlNOQk6TWjTL/ZfWfYZrv4gqd+
k/V0hot+4MMIj9rYswQrHuPdmy3K7YE2SozpZfOd120WwS904kO1JvtxstBmPQX+sE5CncLBj5KH
NtyENpsAvVYPtxkchwv5Zv8d2uDh3RLuD8v1edqYqdt8PG/mdIw80XpuotMGj7MGBzJs3wZoc03E
C0i/JTClGhezMyuux+Sy9X5a+bInPoy3n3VtNJ/+KMNJex3Ujr7zq5PvNBtnO9o0SUY/Xyc/n0+S
+7oIIrym2WreeQ7AhVrzEcfa/FgrjLhbwjKInsHus7snAUY1nc9RzCXwQNEz1trzr0ZvQGJUD0mO
vyRXIEyGZ6Pbj+wyv7i4siefGJ6g6x1Zhuzb3D9N1/Pk87H9cFg2YJWNauTQZDK9h3dmjj3nw5IO
tLXaCHqMPB5tt/r0KDm7uL44sWpa48DyfFcLmASW9ucNrAWEWn2OfVy/v1hsq3r2AcJ2cD4xm7qe
5PZNcvYx/+COkgbLhu2etYD5XG+BST2zpLNsLPZtZALy7Ca8oXxygnVTc2AfQNsv1S3uncuwnI7s
HEIO6wDZVNwmWsqt7TZWZ4dn/WeX9M2Nyyf56ekzsX9kTMFUbm7w7Rcfzy8m52+vj7XR0au5uTm/
zM/K0wMJ1mlzcf72TelgVx9nHHqsLvdLCNtMyl8np6dDD1KHKYptPr49t1fuJHVCsDZtj0E7OMqf
w12MofbS/AFLrRE5j/WuOzIhOeaX+8n9NQk/uZrkF88saTB8xVnDPIho2vwreQThsYkWT71omkmM
abvN6P9QSwMECgAAAAAAZmxCSwAAAAAAAAAAAAAAAC0AHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9VVAkAAwCj0lmopNJZdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIAGZsQkuamTR+mwAAANAAAABfABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZHVyYXRpb24tYm91bmRhcnljb25kaXRpb25zLXN0ZGVy
ci50eHRVVAkAAwCj0lkAo9JZdXgLAAEE9QEAAAQUAAAAfY29CsIwFEZ3n+LOhZYk/dNsBR0EpyI6
lA6huW0DeqO5KeLbK9LZ9eOc8ykh61SKVCiQuc4LXZSZrErYL/dHi2QxnANit613udRVoVQtekiS
BNKuuTTMGFtkv4QBT95YR1OLzwU5wujI8byOVxfnQwg+6B5ehoGRIkQPhsARR0MDgh/hfzHOJv5s
cwto7Hu9QJvBcSIfvmi2+QBQSwMECgAAAAAAXGxCSwAAAAAAAAAAAAAAAC4AHABpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25vdGlmaWNhdGlvbnMvVVQJAAPwotJZqKTSWXV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACABcbEJLigapgW4AAAB3AAAARQAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbm90aWZpY2F0aW9ucy9ldmVudC1vbnNob3ctYWN0dWFsLnR4dFVUCQAD8KLS
WfCi0ll1eAsAAQT1AQAABBQAAAAdykEKwjAURdH5X8UbKog7cCBSsANbsekCgn2YYvzRn7Ru3+Dw
Xo6cvSlzRmOWDBvXXpp+dNsdXvX6B3GALjGKXI/DgFPg/ckJhbngbTR+ljnPNfeQrne3sUOra/qb
QCTNIX3BlVoQvE6RVqX8AFBLAwQUAAIACABcbEJLDApBtu8AAADOAQAAQwAcAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbm90aWZpY2F0aW9ucy9ldmVudC1vbnNob3ctZGlmZi50eHRV
VAkAA/Ci0lnwotJZdXgLAAEE9QEAAAQUAAAAxY7LTsMwEEX3/opZUjnuqAKxQwqPSFSIFjVpu3aT
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
+4mT5rN4lvlBEOaHAUjXjUM3SIJJO2IijqKERDMqlWDSZUVKEBszU8UtbAMTMmJMdggws39BtFWs
RMV4c64LrseYsEbXHXzhE3KWCWklTzVsBtS9TvmCnoXeFtmULWpAb1lO0aE7YGMNgLou1Qhoj++F
lt8ovKiO5yugN1WTQw9uLrTBuYt1lstluXp9wxqn5atTrOblK35lIRLNtccD7WgVLDFVaFr1AtA0
D7K73YHz9PQllb59nSjGgt80lOfStJ4ZRj8o4u5gn+s/5H5mWnt7Som5/EygLCxWPqq7WEd7K7Gn
WC3rwZ0Y7qzEgsksZHHs5F6UOIHnx07KFYbjh7PY8xKfzSL3qIey5wVhHHmxF7veQ0eTKEhC3wu5
uxf4aTSR7mjy1aesun/zH1ZCb8KzXy6jf0cPGIjYDdH/8GAR6keT+IkRD9+qFcIbF195LdN6LJCR
LduLtoT7KDmlci8DbCMYs1lfBw6s8ZQvSu8aXhmcSLDiYY16k+ftoQlG/nv0LezBG8zfFF37/FP/
RMjBo/+EknP5iedx5iTJbMpVzNR3Um/Sit/Em2au7yVe8lVrD7/53a+LfPn3P/P/TDe59/d59p9/
v/3nf/79Pr//PvrdrYtf/3H7OfvHfy343+vvP7qfpsXnmx+/+f7mN++nyffffP/5x9/ymx9/+xj9
+Ntb/r//vfl14v7v94tJ/fv9f/34//3jp8kP/+t++ud/LpbZ73//+H3xufjt93Tzw7u3n38s/vrL
/+f/z82Pf7y9++n+7d3Pv5WTH/8s//zp/V+/++3v/1P84/3d9PvFr4vc/5/m/Z6m9vf/5/1/zf7x
j0nN7v/r/p//+Onz1Av//Off0/Kfv//t4z//8V9/fv/HesrX/hv77q/rdl/Sa368u23X5L/zMfv9
n+t//v4/xQ/v/uunqRfU33/z9v77b9M/Zu/e3v/4zbf+9998G/78x//8+fMfP7rffzv76e/v/mv2
w9/q4u//+fc/Z+/c73c0fd/+/rvvF+6M/8nV718X/5//6+Kff0sn7B9/XXz/R1lM/9Odz5Z/q7Pf
f72d/eeOT//kfP/n7z9N/vn7r/Ou87m01vzvkzcoc2G4e/XtgrVf/vX++5l0MetxNsfOAN5NsP63
t1u14LzjurEqF87bxaL8/P+zd6XNbdzK9q/4S1LvvjJs7MutUr2yHcdxKlZuYkdevs0q05ZIlUjF
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
YmxibGJsYmxibGJsYmxibGJsYmxibGKsDmM3tELM6TjOZ6PjZRO3ngpYy0hikfQtCMZuQTZLFKZN
91TMxiVqmrJF+afpKg05qMrpz7K5+LoOrrTs5K29woOl5UPWRN7bWlp6mHdVGk+NgYOop5Vo0CPk
rloUQh0hp0ReAGMDZejdZDVPVsvD1bSBl08DTcYJa3iyFLYLTYAudPjf2YmzgVNypKSeFocjiyTR
RoHM5rFBrdx0FOxzNAt2FxU5BaTacOE9AVITkx0wOVl0qeEVt3InzkZmyD9VU/4IkEIQXYUgAVqV
xCQZmpwnp/TZF1XWLzE2MTY0xoI0r5skleztO4tpHhjYLHcwd8Nc5QxFyZVnqz6XT22upJcde7vl
IrgteRAUx2fIfW4FMzkcqLmmpeMZo6WHOaqlwXZAiMZb1+6W62sjWQWFGUtyVQlI22CfoBSGuA5D
opy/HL6ERDnvWWJqQcprJIOSBkxbG6YbcJIgya/rkd1RBgUPZLJ4uhp9iVsss9rjE4AQp8unCzGK
C/GrgINDw1GNuxB0se0EgMje2xoGn8vy2sqZwozfvJrtCcLiPbudA9wkEfGtbU3/JAC7MS3ckK+I
bXqZ9WrG3gkqxascT6f8BRPCtX6ay1jh64T3xy8QowvG5xfcp8fJuUmxTmJsYmxibGJsYmxirDvG
Om3kscHeaLqlEpOtzJZYLNGnKIIuzpW6GJ8tzr8Xvw4LTfIGxpY92PqhbFjAdrbJ6HTpol3LFcUx
6CpmvS8wNRsHuBWavdFYqCQx4CQj7I5xy4ZE8coKUzN0aXLuteqzLyqvNTFWirFseXy8XABvQL3z
EJWs7EYbneQlKWJibGJsYmxibGJsYmxibGJsYmxibGKsV8buHR4mHXnSpcTYxNjE2MTYxNjE2MRY
ZcZODxHeGjviN4j+9M2LFRbLd3zxtC6yvsp4i9jQ1qhgPUYdGygiBWF9TbthKJsvZoth+fQtGWf9
P39bs3+eHfX//Pfs59kPx+z4t//S5y/Hl4tvjvrfX81/x98di985f/n3ScYWv81/fP7D+Z+/v/rQ
4fK/f/7WLv98+927P3//4b/i593b8x++499/czJ9xsvZh9lv+Ld3Pz5/9uHV829e/0H+dfjT38/O
Xp0/+/DTt8tz8f+zV2+++f7X3/41+/3NWffy3dkRI/9a//q2fUff/nny59t/zcSzXnW4GF9+++z8
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
pfprYyNY/UWg6OOmJng0ipNRlPb6STiMomiwFX1MekOa/XukKETYcyM9fRp7bgaBTJfRFJ+fHmEj
y+ircgiLYjOOa3vyE9Zk+bTenP36e8ve6zlk7hciOmmWEKKLv+U+7afuiJ6TL/a8dy1kvk6Wph6m
WZejr4JMl7sAdkh0tKTXkrp05QpC1GT5PRXkuR27t2u9RcO5/q5DuE1mRpfGTJ5Ny/vXmAdrf5FD
ouBhnoJGNEvaLRP81AFYtsGVoekWfiY061ETkF5u9p9FXrHJTdY0VX67aBiBtu7DmLo2BwQvu2Cv
ajGBXbuLXpeV0BxSkggKRUNbcuMoTYZJHA8GybDdUNbHWbw96MXDpJ/GUS/pc0szvsTQnL3aUGlF
/TL/r17crryRpevwpcqb9g9n5YS9eyir/L+crzPu5N1+03J4lrdm8c4vfbN+wM4Pu4kdKad7WL+i
bhPfv8sEKsLMbhJ/IyMJFQy5dzG82NMTHXaEhlcj57E/sqppazCDagqIXDNMBdGginil0e1P9HfD
NOmd3CalfSJGhrWZuYZC/TsdN9fM1fYmL0wXAeVMks1i73Q0CsNh2kuHw15vONrKmaSDgelCo66b
s2YrvMlwgeWg1YXV75I2TilkUJCM32llz1HEZAbVF/as4Fnh8lhB0iXekbR0ljR6ZQOXAHSFG2ld
Wo3iu3Ozuii0CJGx5U2zPXXVJCiALeaE3Seejcprg5IDeKuZV7HO2rVE9OUFRU4J3JNt48rZ/Nzu
myqmbf3NdNxPuBDXCyDkHncr8UKM5c6JWCpWSWfYyfu2btkYMl6rKwbH1od47eiU16Rz6k4ZEu6H
faWu4WWwsXmB7K8/4WTghc0eI2NiOj31hIBb5jZhPI/7iR70/b3jjSQ1ayg0mb/AMLndS6aWW3Ra
SXeHXNCZw7KQ37ON1av5wqZ2B9KKwVAecTFhd9liirIXUBOZn0qDO0hin/50Zi9IIdNxJNffjqf8
qSK64oIarUzXqFiYIKbMBabXOCmRSANER3tLHNkBaXH9kDLH296eo41xiS+fcT5q7yBjxVX9eC/m
5d5Os+Izrams+y9iX+2/oRUpfX/MuK5ZVo0fbpY/tO8Yv0EDPI9y/W070Jas0t2A89a/LQm7OQJS
UymlwJmKWxRlE9yy9ofcKJmwivq82yN4ITfLv8rqmGw8IfYSBSeG9kajWQ2lyaHx+8tALLiYbCwp
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
CgACAAAA7WtCSyXg0wgsAAAALAAAAD4AGAAAAAAAAQAAAKSBVv4GAGNyeXB0by9zdWJ0bGUvcnNh
LWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQFAAMeotJZdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA7WtCSzA7uLFLAAAAaAAAADwAGAAAAAAAAQAAAKSB+v4G
AGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1rZXktbWFsZm9ybWVkLXBhcmFtZXRlcnMtc3RkZXJy
LnR4dFVUBQADHqLSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJleQksAAAAAAAAAAAAAAAAP
ABgAAAAAAAAAEADtQbv/BgBjcnlwdG8vd29ya2Vycy9VVAUAAwGL0ll1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACZXkJLAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UEEAAcAY3J5cHRvL3dvcmtl
cnMvc3VidGxlL1VUBQADAYvSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAOprQksl4NMILAAA
ACwAAAAxABgAAAAAAAEAAACkgVQABwBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWdlbmVyYXRl
LWtleS1zdGRlcnIudHh0VVQFAAMXotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAml5CSwAA
AAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B6wAHAGRpc3BsYXlsaXN0cy9VVAUAAwOL0ll1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADsa0JLo1f96FAAAACOAAAAMgAYAAAAAAABAAAApIEyAQcAZGlz
cGxheWxpc3RzL2V4dGVudC1pbmNsdWRlcy10cmFuc2Zvcm1zLXN0ZGVyci50eHRVVAUAAxui0ll1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADsa0JL8paV1UcAAABJAAAAKQAYAAAAAAABAAAApIHu
AQcAZGlzcGxheWxpc3RzL2xheWVyLWRpc3BheS1saXN0LXN0ZGVyci50eHRVVAUAAxui0ll1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAADNXkJLAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UGYAgcA
ZWRpdGluZy9VVAUAA2KL0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADNXkJLAAAAAAAAAAAA
AAAAEQAYAAAAAAAAABAA7UHaAgcAZWRpdGluZy9kZWxldGluZy9VVAUAA2KL0ll1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAdbEJLU34f5rgBAAAGEwAAKAAYAAAAAAABAAAApIElAwcAZWRpdGlu
Zy9kZWxldGluZy9kZWxldGUtZW1vamktc3RkZXJyLnR4dFVUBQADeaLSWXV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADBtQkvxXLBLXBUAACACAQANABgAAAAAAAEAAACkgT8FBwBlcnJvcl9sb2cu
dHh0VVQFAAN8pNJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAuV5CSwAAAAAAAAAAAAAAAAUA
GAAAAAAAAAAQAO1B4hoHAGZhc3QvVVQFAAM9i9JZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
q15CSwAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BIRsHAGZhc3QvY2FudmFzL1VUBQADIYvSWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPJrQktKNCTvbAAAAOwAAAAmABgAAAAAAAEAAACkgWcb
BwBmYXN0L2NhbnZhcy8yZC5jdXJyZW50UG9pbnQtc3RkZXJyLnR4dFVUBQADJ6LSWXV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAPprQkvG1WDHfQAAAAIBAAAmABgAAAAAAAEAAACkgTMcBwBmYXN0
L2NhbnZhcy9jYW52YXMtbGluZURhc2gtc3RkZXJyLnR4dFVUBQADOKLSWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAALVeQksAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQRAdBwBmYXN0L2ltYWdl
cy9VVAUAAzWL0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHbEJLIY+9ODIAAAAzAAAALAAY
AAAAAAABAAAApIFWHQcAZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3AtYm94LXN0ZGVyci50
eHRVVAUAA06i0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC5XkJLAAAAAAAAAAAAAAAACgAY
AAAAAAAAABAA7UHuHQcAZmFzdC90ZXh0L1VUBQADPYvSWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAtsQkuPz7QwdgEAAIgJAAAjABgAAAAAAAEAAACkgTIeBwBmYXN0L3RleHQvZW1vamktZ2Vu
ZGVyLTItc3RkZXJyLnR4dFVUBQADVaLSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALdeQksA
AAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQQUgBwBmYXN0L3hzbC9VVAUAAzqL0ll1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAJbEJLTvsg+IgAAADnAAAAJQAYAAAAAAABAAAApIFIIAcAZmFzdC94
c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADUqLSWXV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAlsQkv9oi5kjwAAAO4AAAAnABgAAAAAAAEAAACkgS8hBwBmYXN0L3hzbC94c2x0
LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAA1Ki0ll1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAJbEJLsrvGZ4cAAAA0AQAAJAAYAAAAAAABAAAApIEfIgcAZmFzdC94c2wveHNsdC1jb250
ZW50VHlwZS1zdGRlcnIudHh0VVQFAANSotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACWxC
S8Lr9caMAAAAYAEAADQAGAAAAAAAAQAAAKSBBCMHAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRv
LWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA1Ki0ll1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABHbUJLXn9WC7oBAADEAgAAEQAYAAAAAAABAAAApIH+IwcAZnVsbF9yZXN1bHRzLmpzb25V
VAUAA6ak0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADPXkJLAAAAAAAAAAAAAAAABQAYAAAA
AAAAABAA7UEDJgcAaHR0cC9VVAUAA2WL0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADZXkJL
AAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UFCJgcAaHR0cC90ZXN0cy9VVAUAA3qL0ll1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAADZXkJLAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UGHJgcAaHR0
cC90ZXN0cy9taXNjL1VUBQADeovSWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACxsQksVNTWS
egAAALwAAAAqABgAAAAAAAEAAACkgdEmBwBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0
LXN0ZGVyci50eHRVVAUAA5Oi0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADXXkJLAAAAAAAA
AAAAAAAAFAAYAAAAAAAAABAA7UGvJwcAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAA3WL0ll1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAADPXkJLAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UH9JwcA
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAANli9JZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAIWxCS2OqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBYSgHAGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVy
ci50eHRVVAUAA36i0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAhbEJLY6qsbIIAAACoAAAA
UgAYAAAAAAABAAAApIFdKQcAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADfqLSWXV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAClsQktgS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgWsqBwBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2lu
LXN0ZGVyci50eHRVVAUAA42i0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADia0JLWwRYDqIF
AABNEAAACgAYAAAAAAABAAAApIF7KwcAaHR0cGQuY29uZlVUBQADB6LSWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAANReQksAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQWExBwBpbXBvcnRlZC9V
VAUAA3CL0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADUXkJLAAAAAAAAAAAAAAAADQAYAAAA
AAAAABAA7UGkMQcAaW1wb3J0ZWQvdzNjL1VUBQADcIvSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAGZsQksAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQesxBwBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1VUBQADAKPSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAANReQksAAAAA
AAAAAAAAAAAtABgAAAAAAAAAEADtQUUyBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYkNyeXB0b0FQSS9VVAUAA3CL0ll1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADpXkJLAAAA
AAAAAAAAAAAAOQAYAAAAAAAAABAA7UGsMgcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9XZWJDcnlwdG9BUEkvZ2VuZXJhdGVLZXkvVVQFAAOWi9JZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAJmxCS480GnBEAAAAoAkAAFwAGAAAAAAAAQAAAKSBHzMHAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQS1PQUVQ
Lndvcmtlci1zdGRlcnIudHh0VVQFAAOIotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJ2xC
S1QCybI2AAAAwAIAAGUAGAAAAAAAAQAAAKSB+TMHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L2ZhaWx1cmVzX1JTQVNTQS1QS0NTMS12MV81
Lndvcmtlci1zdGRlcnIudHh0VVQFAAOKotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOGxC
S+GChuhJAAAAYAwAAFcAGAAAAAAAAQAAAKSBzjQHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXMuaHR0cHMtc3RkZXJy
LnR4dFVUBQADrKLSWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADtsQkuPNBpwRAAAAKAJAABg
ABgAAAAAAAEAAACkgag1BwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1dlYkNyeXB0
b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzX1JTQS1PQUVQLmh0dHBzLXN0ZGVyci50eHRV
VAUAA7Gi0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA8bEJLVALJsjYAAADAAgAAaQAYAAAA
AAABAAAApIGGNgcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkv
Z2VuZXJhdGVLZXkvdGVzdF9mYWlsdXJlc19SU0FTU0EtUEtDUzEtdjFfNS5odHRwcy1zdGRlcnIu
dHh0VVQFAAOzotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA4l5CSwAAAAAAAAAAAAAAACYA
GAAAAAAAAAAQAO1BXzcHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvVVQF
AAOIi9JZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA4l5CSwAAAAAAAAAAAAAAACoAGAAAAAAA
AAAQAO1BvzcHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL1VUBQAD
iIvSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOZeQksAAAAAAAAAAAAAAAAvABgAAAAAAAAA
EADtQSM4BwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL1VU
BQADj4vSWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADRsQksSzrobCQIAAL0MAABJABgAAAAA
AAEAAACkgYw4BwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3Jz
L2NvcnMtb3JpZ2luLmFueS1zdGRlcnIudHh0VVQFAAOkotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgANmxCS9x9oxjWAgAAmBIAAFMAGAAAAAAAAQAAAKSBGDsHAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQtc3RhdHVzLmFueS1z
dGRlcnIudHh0VVQFAAOootJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANmxCSyOUQmiaAQAA
3gUAAEwAGAAAAAAAAQAAAKSBez4HAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL2NvcnMvY29ycy1wcmVmbGlnaHQuYW55LXN0ZGVyci50eHRVVAUAA6ii0ll1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAA4bEJLtv5oZMgCAAC/EwAAVQAYAAAAAAABAAAApIGbQAcAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXJlZGlyZWN0
LXByZWZsaWdodC5hbnktc3RkZXJyLnR4dFVUBQADq6LSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAOFeQksAAAAAAAAAAAAAAAAuABgAAAAAAAAAEADtQfJDBwBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYvVVQFAAOGi9JZdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAM2xCS80PIN+bAAAAxgAAAEgAGAAAAAAAAQAAAKSBWkQHAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvbm9zbmlmZi9wYXJzaW5nLW5vc25pZmYtc3RkZXJyLnR4dFVU
BQADoaLSWXV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADNsQkviL5jVrwAAAOwCAAA/ABgAAAAA
AAEAAACkgXdFBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL25vc25pZmYv
c2NyaXB0LXN0ZGVyci50eHRVVAUAA6Gi0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAzbEJL
Z6Z9c7YAAAD4AgAAQwAYAAAAAAABAAAApIGfRgcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9ub3NuaWZmL3N0eWxlc2hlZXQtc3RkZXJyLnR4dFVUBQADoaLSWXV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAGRsQksAAAAAAAAAAAAAAAAlABgAAAAAAAAAEADtQdJHBwBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvVVQFAAP8otJZdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAZGxCSwAAAAAAAAAAAAAAAC4AGAAAAAAAAAAQAO1BMUgHAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9VVAUAA/yi0ll1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAABkbEJLAAAAAAAAAAAAAAAAQAAYAAAAAAAAABAA7UGZSAcAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3RoZS13aW5kb3ctb2JqZWN0L1VU
BQAD/KLSWXV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGRsQksAAAAAAAAAAAAAAAB7ABgAAAAA
AAAAEADtQRNJBwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
dGhlLXdpbmRvdy1vYmplY3QvYXBpcy1mb3ItY3JlYXRpbmctYW5kLW5hdmlnYXRpbmctYnJvd3Np
bmctY29udGV4dHMtYnktbmFtZS9VVAUAA/yi0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABH
bUJL1WheFOBKAABWYAEAswAYAAAAAAABAAAApIHISQcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL3RoZS13aW5kb3ctb2JqZWN0L2FwaXMtZm9yLWNyZWF0aW5n
LWFuZC1uYXZpZ2F0aW5nLWJyb3dzaW5nLWNvbnRleHRzLWJ5LW5hbWUvb3Blbi1mZWF0dXJlcy10
b2tlbml6YXRpb24tc2NyZWVueC1zY3JlZW55LWNyYXNoLWxvZy50eHRVVAUAA6Wk0ll1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAABmbEJLAAAAAAAAAAAAAAAALQAYAAAAAAAAABAA7UGVlQcAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvVVQFAAMAo9JZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAZmxCS5qZNH6bAAAA0AAAAF8AGAAAAAAAAQAAAKSB/JUHAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWR1
cmF0aW9uLWJvdW5kYXJ5Y29uZGl0aW9ucy1zdGRlcnIudHh0VVQFAAMAo9JZdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAXGxCSwAAAAAAAAAAAAAAAC4AGAAAAAAAAAAQAO1BMJcHAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbm90aWZpY2F0aW9ucy9VVAUAA/Ci0ll1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABcbEJLigapgW4AAAB3AAAARQAYAAAAAAABAAAApIGYlwcAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25zL2V2ZW50LW9uc2hvdy1hY3R1
YWwudHh0VVQFAAPwotJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAXGxCSwwKQbbvAAAAzgEA
AEMAGAAAAAAAAQAAAKSBhZgHAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbm90aWZp
Y2F0aW9ucy9ldmVudC1vbnNob3ctZGlmZi50eHRVVAUAA/Ci0ll1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABcbEJLPUMIzEUAAABMAAAARwAYAAAAAAABAAAApIHxmQcAaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25zL2V2ZW50LW9uc2hvdy1leHBlY3RlZC50eHRV
VAUAA/Ci0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABcbEJLTbbGafIHAACLGwAASwAYAAAA
AAABAAAApIG3mgcAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ub3RpZmljYXRpb25z
L2V2ZW50LW9uc2hvdy1wcmV0dHktZGlmZi5odG1sVVQFAAPwotJZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAKF9CSwAAAAAAAAAAAAAAAAMAGAAAAAAAAAAQAO1BLqMHAGpzL1VUBQADC4zSWXV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHpsQku4PmbhUwEAANIPAAAcABgAAAAAAAEAAACkgWuj
BwBqcy9yZWdleHAtdW5pY29kZS1zdGRlcnIudHh0VVQFAAMoo9JZdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAHGxCS/jac/1kAgAAohUAABoAGAAAAAAAAQAAAKSBFKUHAHB5d2Vic29ja2V0Lndz
LmxvZy1lcnIudHh0VVQFAAN3otJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHGxCS/sjtEQJ
AQAAjwIAABoAGAAAAAAAAQAAAKSBzKcHAHB5d2Vic29ja2V0LndzLmxvZy1vdXQudHh0VVQFAAN3
otJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA42tCSwAAAAAAAAAAAAAAABsAGAAAAAAAAAAA
AKSBKakHAHB5d2Vic29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUBQADCaLSWXV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAONrQksAAAAAAAAAAAAAAAAbABgAAAAAAAAAAACkgX6pBwBweXdlYnNvY2tl
dC53c3MubG9nLW91dC50eHRVVAUAAwmi0ll1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABHbUJL
j8pSWnEpAADGrwAADAAYAAAAAAABAAAApIHTqQcAcmVzdWx0cy5odG1sVVQFAAOmpNJZdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAMG1CSwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1BitMHAHJl
dHJpZXMvVVQFAAN7pNJZdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAR21CS1Tg+dJLCAkAMZIx
AAoAGAAAAAAAAQAAAKSBzNMHAHN0YXRzLmpzb25VVAUAA6ak0ll1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAA8bUJLQhBeNovgAwDw3F4AGQAYAAAAAAABAAAApIFb3BAAd3B0d2tfcHJvY2Vzc19s
b2cub3V0LnR4dFVUBQADk6TSWXV4CwABBPUBAAAEFAAAAFBLBQYAAAAAYABgAJApAAA5vRQAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322466</attachid>
            <date>2017-10-02 16:23:32 -0700</date>
            <delta_ts>2017-10-02 17:00:05 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>237781</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDExOCBAQAorMjAxNy0xMC0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFy
a3MvcG9seS1wcm90by1hY2Nlc3MuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAg
ICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmFyKToKKyAgICAgICAg
KGZvbyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6Cisg
ICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAo
cGVyZm9ybVNldCk6CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVy
LXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVBy
b3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJv
dG90eXBlLnNldCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAg
ICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAg
ICogc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzOgorICAgICAgICAoaS50ZXN0cy5m
b3JFYWNoLkNvbnN0cnVjdG9yKToKKyAgICAgICAgKGkudGVzdHMuZm9yRWFjaCk6CisgICAgICAg
ICh0ZXN0cy5mb3JFYWNoLkNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKHRlc3RzLmZv
ckVhY2gpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBz
dHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAoaXRlbXMuZm9yRWFjaCk6CisgICAgICAgIChzZXQgZ2V0IGZvcik6
CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogc3RyZXNz
L3BvbHktcHJvdG8tbWlzcy5qczogQWRkZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28pOgorICAgICAgICAobWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUpOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodmFsaWRhdGUpOgorICAgICAgICAodmFsaWRhdGUyKToKKyAg
ICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qczogQWRkZWQuCisgICAg
ICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVjdC5mb28uQyk6CisgICAg
ICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2Jq
ZWN0KToKKyAgICAgICAgKHBlcmZvcm1TZXQpOgorICAgICAgICAoaS5vYmouX19wcm90b19fLnNl
dCBwKToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChsZXQuYWx0ZXJuYXRlUHJvdG8uZ2V0IHgp
OgorICAgICAgICAobGV0LmFsdGVybmF0ZVByb3RvMi5nZXQgeSk6CisgICAgICAgIChsZXQuYWx0
ZXJuYXRlUHJvdG8yLmdldCB4KToKKyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvbyk6Cisg
ICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0
LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLnNl
dCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLmdldCBw
KToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5
UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICogc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToK
KyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmF6KToKKyAg
ICAgICAgKGZvbyk6CisgICAgICAgIChiYXIuQyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAo
dmFsaWRhdGUpOgorICAgICAgICAqIHN0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qczogQWRk
ZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UuZm9vLkMpOgorICAgICAgICAobWFr
ZVBvbHlQcm90b0luc3RhbmNlLmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2Up
OgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJl
c3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJh
cik6CisgICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodHJ5R2V0QnlJZFRleHQpOgorICAgICAgICAoeC5fX3Byb3Rv
X18uZ2V0IGJhcik6CisgICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogdHlwZVByb2ZpbGVy
L292ZXJmbG93LmpzOgorCiAyMDE3LTEwLTAxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIyNTY0LgpJ
bmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3Mu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsg
aWYgKCFiKSB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOyB9Citub0lubGluZShhc3NlcnQpOworCitm
dW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdGhpcy54ID0gMjA7CisgICAgICAgIH0KKworICAgICAgICBn
ZXQgYmFyKCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KHRoaXMueCA9PT0gMjApOwor
ICAgICAgICAgICAgYXNzZXJ0KHRoaXMuZm9vID09PSB1bmRlZmluZWQgfHwgdGhpcy5mb28gPT09
IDQyKTsKKyAgICAgICAgICAgIHJldHVybiA0NTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1
cm4gbmV3IEM7Cit9CisKK2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTU7ICsraSkKKyAgICBhLnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFz
c2VydChvLmZvbyA9PT0gdW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8u
YmFyID09PSA0NSk7Cit9Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygp
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAw
MCkgeworICAgICAgICBmb3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3Rv
X18uZm9vID0gNDI7CisgICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsr
aikgeworICAgICAgICBiYXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50
KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5
LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlv
bi1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3Nl
cnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiAr
IG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9u
IGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsg
dGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgICAgIGFzc2VydChvYmouX2ZpZWxkID09PSA0Mik7Cisg
ICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5k
ZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNw
ZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsK
KyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBwKHgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAg
cmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisg
ICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7
Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xl
dCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxl
dCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2Vy
dChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAgICAg
IGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHJldmlzaW9uIDIyMjcxMikKKysrIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdp
dGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxOSArMjEsMjEgQEAgdmFyIHRlc3Rz
ID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRlcmF0b3IpLCB0cnVlKSwKIF07CiAK
LXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAgICBmdW5jdGlvbiBDb25zdHJ1Y3Rv
cigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0gICAgfQotCi0gICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0LnJldHVybkl0KSB7Ci0gICAgICAg
IGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVz
dWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB0
ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAgICAgIGZ1bmN0aW9uIENvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7CiAgICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsK
LSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworCisgICAgICAgIHZh
ciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAgICAgaWYgKHRlc3QucmV0dXJuSXQp
IHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKKyAgICAgICAgICAg
ICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVj
dG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0Owor
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7CisgICAgfSk7Cit9CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtl
UG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3Mg
QyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9m
aWVsZCA9IDI1OworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3
IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9v
KCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcHJvdG8gPSBjcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QoKTsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmou
X19wcm90b19fID0gcHJvdG87CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgsIHYpIHsKKyAgICBhc3Nl
cnQoeC5jdXN0b21HZXR0ZXIgPT09IHYsIHguY3VzdG9tR2V0dGVyKTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRhdGUo
b2JqLCBwcm90byk7CisKK3Byb3RvLmZvbyA9IDI1OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUob2JqLCBwcm90byk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBl
T2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZhbGlk
YXRlKG9iaiwgdW5kZWZpbmVkKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
Y3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTMgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsgCisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5maWVs
ZCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28oKS5maWVs
ZCA9PT0gMjApOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBpdGVtcyA9IFsK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1h
a2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCitdOworCits
ZXQgY3VzdG9tR2V0dGVyU2V0dGVyID0gY3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlcigpOwor
aXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIHguX19wcm90b19fID0gY3VzdG9tR2V0dGVyU2V0
dGVyOworICAgIGFzc2VydCh4Ll9fcHJvdG9fXyA9PT0gY3VzdG9tR2V0dGVyU2V0dGVyKTsKK30p
OworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2YWx1ZVJlc3VsdCwgYWNjZXNzb3JSZXN1bHQpIHsK
KyAgICBhc3NlcnQoeC5jdXN0b21WYWx1ZSA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgYXNzZXJ0
KHguY3VzdG9tQWNjZXNzb3IgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGxldCBvID0ge307
CisgICAgeC5jdXN0b21WYWx1ZSA9IG87CisgICAgYXNzZXJ0KG8ucmVzdWx0ID09PSB2YWx1ZVJl
c3VsdCk7CisKKyAgICBvID0ge307CisgICAgeC5jdXN0b21BY2Nlc3NvciA9IG87CisgICAgYXNz
ZXJ0KG8ucmVzdWx0ID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5yYW5kb21Q
cm9wID09PSA0MiB8fCB4LnJhbmRvbVByb3AgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdldHRlclNldHRlciwgaXRl
bXNbaV0pOworICAgIH0KK30KKworY3VzdG9tR2V0dGVyU2V0dGVyLnJhbmRvbVByb3AgPSA0MjsK
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3Vz
dG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQorfQorCitpdGVtcy5mb3JFYWNoKCh4
KSA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih4LCB7CisgICAgICAgIGdldCBjdXN0
b21WYWx1ZSgpIHsgcmV0dXJuIDQyOyB9LAorICAgICAgICBnZXQgY3VzdG9tQWNjZXNzb3IoKSB7
IHJldHVybiAyMjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbVZhbHVlKHgpIHsgeC5yZXN1bHQgPSA0
MjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbUFjY2Vzc29yKHgpIHsgeC5yZXN1bHQgPSAyMjsgfSwK
KyAgICB9KTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRl
KGl0ZW1zW2ldLCA0MiwgMjIpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERh
dGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJp
bnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1
bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
ICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCB4ID0gbmV3IFVpbnQz
MkFycmF5KDEwKTsKK2xldCBwID0geC5fX3Byb3RvX18uX19wcm90b19fOworbGV0IG9iaiA9IG1h
a2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwOworeC5fX3Byb3RvX18gPSBv
Ymo7CisKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIHguYnl0ZUxlbmd0aDsKK30KK25v
SW5saW5lKGZvbyk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyh4KSA9PT0gMTAgKiA0KTsKK307CisKK29iai5fX3Byb3RvX18gPSB7fTsKKworYXNz
ZXJ0KGZvbyh4KSA9PT0gdW5kZWZpbmVkKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0
YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAg
Y2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAgICAgICBsZXQgcmVzdWx0
ID0gbmV3IEM7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIGxldCByZXN1bHQgPSBmb28o
KTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5jZXMgPSBbCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5
cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCitdOworCitsZXQgcCA9IHVu
ZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoeC54ID09PSAyMCk7
CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RhbmNlcy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgdmFsaWRhdGUoaW5zdGFuY2VzW2ldKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1p
bi1jYWNoaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LW9wLWluLWNhY2hpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5maWVsZCA9IDQyOworICAgICAgICAgICAgfQor
ICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmllbGQgPT09IDQyKTsK
KyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBiKSB7
CisgICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKKworbGV0IG9ianMgPSBbXTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKKyAgICBvYmpzLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgpKTsKKwor
b2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjB9KSk7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBv
ZiBvYmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIHRydWUpOworfQorCitvYmpzLmZvckVhY2go
b2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlKG9iaiwgZmFsc2UpOworfQorCisKK2Z1bmN0aW9uIHZhbGlkYXRlMihvLCBiKSB7Cisg
ICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlMik7CisKK29i
anMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIG51bGwpKTsKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpz
KQorICAgICAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmog
PT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjI1fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlMihvYmosIHRydWUpOworfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNp
dGlvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10
cmFuc2l0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFz
c2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoi
ICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkg
eworICAgICAgICAgICAgICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAg
ICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xl
dCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQor
CitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3Rv
X18gPSBudWxsOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093
blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtl
UG9seVByb3RvT2JqZWN0KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9i
YWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093
blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwg
PSBudWxsOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBv
YmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7
Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8g
PSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xl
dCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBn
ZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7
IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMg
eworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAg
ICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0
ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQor
ICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2Zv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30K
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikg
eworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2Yg
YXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAg
ICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0K
K30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNzEgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGdldCBwKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBD
OworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNz
ZXJ0KGZvbygpLnAgPT09IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBb
XTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBv
bHlQcm90b09iamVjdCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAg
eC5wID0gaTsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywg
aSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9
PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9y
RWFjaChvID0+IHsKKyAgICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAg
ICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAg
ICBhc3NlcnQoY2FsbGVkID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAg
cHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tdXNpbmctaW5oZXJpdGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3Mg
QyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55
ID0gMjI7CisgICAgICAgIH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQor
ICAgIH0KKyAgICBDLnByb3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVy
biBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVu
Y3Rpb24gYmFyKHApIHsKKyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOwor
ICAgICAgICB9CisgICAgfTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsK
KworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAg
IGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7
CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIp
OworICAgIGFzc2VydChpdGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUu
bm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaW5zdGFuY2Vz
LmZvckVhY2goKHgpID0+IHZhbGlkYXRlKHgpKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHkt
cHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0
aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAg
ICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9
CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4g
bmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0g
bWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBv
bHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9J
bnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiks
CisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChi
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9u
IikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBh
c3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMu
bm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMu
aGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3Bl
cnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0g
Mjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsK
KyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJv
dG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAg
ICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1
cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZv
bygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVt
Lm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAg
ICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1z
KQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1n
ZXQtYnktaWQtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
dHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzgg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3Qo
KSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkgeyB0aGlzLl9maWVsZCA9IDQyOyB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHRyeUdldEJ5
SWRUZXh0KHByb3BlcnR5TmFtZSkgeyByZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkgeyByZXR1cm4g
QHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJvcGVydHlOYW1lfScpOyB9KWA7IH0KK2xldCBnZXRGb28g
PSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJmb28iKSk7CitsZXQgZ2V0QmFyID0gY3Jl
YXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiYmFyIikpOworbGV0IGdldE5vbkV4aXN0ZW50Rmll
bGQgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJub25FeGlzdGVudEZpZWxkIikpOwor
CitsZXQgeCA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK3guX19wcm90b19fID0geyBmb286IDQy
LCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7IH0gfTsKK2xldCBiYXJHZXR0ZXIgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHguX19wcm90b19fLCAiYmFyIikuZ2V0OworYXNzZXJ0KHR5
cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5jdGlvbiIpOworYXNzZXJ0KGJhckdldHRlcigpID09PSAy
Mik7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoZ2V0Rm9vKHgpID09PSA0
Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKGdldEJhcih4KSkgPT09
IGJhckdldHRlcik7CisgICAgYXNzZXJ0KGdldE5vbkV4aXN0ZW50RmllbGQoeCkgPT09IHVuZGVm
aW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKSB7CisgICAgdmFsaWRhdGUoeCk7Cit9CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxl
ci9vdmVyZmxvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxv
dy5qcwkocmV2aXNpb24gMjIyNzEyKQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cu
anMJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw4IEBAIHZhciBvbGRQcm90bzsKIGZvciAodmFy
IGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZsb3c7IGkrKykgewogICAg
IC8vIE1ha2Ugc3VyZSB3ZSBnZXQgYSBuZXcgcHJvdG90eXBlIGNoYWluIG9uIGVhY2ggYXNzaWdu
bWVudCB0byB4IGJlY2F1c2Ugb2JqZWN0cyB3aXRoIHNoYXJlZCBwcm90b3R5cGUgY2hhaW5zIHdp
bGwgYmUgbWVyZ2VkLgogICAgIHggPSBuZXcgUHJvdG87CisgICAgeFsnZmllbGQnICsgaV0gPSAy
MDsKKyAgICB4ID0geAogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlv
bigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5
cGU7CkBAIC0yMCw2ICsyMiw4IEBAIFByb3RvID0gZnVuY3Rpb24oKSB7fTsKIG9sZFByb3RvID0g
bnVsbDsKIGZvciAodmFyIGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZs
b3cgLSAxOyBpKyspIHsKICAgICB5ID0gbmV3IFByb3RvOworICAgIHlbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeSA9IHkKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzI0IEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzYzOTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgSlNDJ3Mg
b2JqZWN0IG1vZGVsIHdpdGggcmVzcGVjdCB0byB3aGVyZSB0aGUgcHJvdG90eXBlCisgICAgICAg
IG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFByZXZpb3VzbHksIGl0IHdhcyBhbHdheXMgc3RvcmVk
IGFzCisgICAgICAgIGEgY29uc3RhbnQgdmFsdWUgaW5zaWRlIFN0cnVjdHVyZS4gU28gYW4gb2Jq
ZWN0J3Mgc3RydWN0dXJlIHVzZWQgdG8KKyAgICAgICAgYWx3YXlzIHRlbGwgeW91IHdoYXQgaXRz
IHByb3RvdHlwZSBpcy4gQW55dGltZSBhbiBvYmplY3QgY2hhbmdlZAorICAgICAgICBpdHMgcHJv
dG90eXBlLCBpdCB3b3VsZCBkbyBhIHN0cnVjdHVyZSB0cmFuc2l0aW9uLiBUaGlzIGVuYWJsZXMK
KyAgICAgICAgYSBsYXJnZSBjbGFzcyBvZiBvcHRpbWl6YXRpb25zOiBqdXN0IGJ5IGRvaW5nIGEg
c3RydWN0dXJlIGNoZWNrLAorICAgICAgICB3ZSBrbm93IHdoYXQgdGhlIHByb3RvdHlwZSBpcy4K
KyAgICAgICAgCisgICAgICAgIEhvd2V2ZXIsIHRoaXMgZGVzaWduIGZhbGxzIGRvd24gd2hlbiB5
b3UgaGF2ZSBtYW55IG9iamVjdHMgdGhhdAorICAgICAgICBoYXZlIHRoZSBzYW1lIHNoYXBlLCBi
dXQgb25seSBkaWZmZXIgaW4gd2hhdCB0aGVpciBwcm90b3R5cGUgdmFsdWUKKyAgICAgICAgaXMu
IFRoaXMgYXJpc2VzIGluIG1hbnkgSlMgcHJvZ3JhbXMuIEEgc2ltcGxlLCBhbmQgcHJvYmFibHkg
Y29tbW9uLCBleGFtcGxlCisgICAgICAgIGlzIHdoZW4gdGhlIHByb2dyYW0gaGFzIGEgY29uc3Ry
dWN0b3IgaW5zaWRlIG9mIGEgZnVuY3Rpb246CisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgICAgICBjb25zdHJ1
Y3RvcigpIHsgdGhpcy5maWVsZDEgPSA0MjsgLi4uOyB0aGlzLmZpZWxkTiA9IDQyOyB9CisgICAg
ICAgICAgICAgICAgbWV0aG9kMSgpIHsgZG9TdHVmZldpdGgodGhpcy5maWVsZCk7IH0KKyAgICAg
ICAgICAgICAgICBtZXRob2QyKCkgeyBkb1N0dWZmV2l0aCh0aGlzLmZpZWxkKTsgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgbGV0IGMgPSBuZXcgQzsKKyAgICAgICAgICAgIGRvIHRoaW5n
cyB3aXRoIGM7CisgICAgICAgICAgICB9CisgICAgICAgIHJlcGVhdGVkbHkgY2FsbCBmb28oKSBo
ZXJlLgorICAgICAgICBgYGAKKyAgICAgICAgCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCBp
biB0aGUgYWJvdmUgcHJvZ3JhbSwgZWFjaCB0aW1lIGBuZXcgQ2AgY3JlYXRlZCBhbgorICAgICAg
ICBvYmplY3QsIGl0IHdvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIGRpZmZlcmVudCBzdHJ1
Y3R1cmUuIFRoZQorICAgICAgICByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBlYWNoIHRpbWUgZm9v
IGlzIGNhbGxlZCwgdGhlcmUgaXMgYSBuZXcKKyAgICAgICAgaW5zdGFuY2Ugb2YgQy5wcm90b3R5
cGUuIEhvd2V2ZXIsIGVhY2ggYG5ldyBDYCB0aGF0IHdhcyBjcmVhdGVkCisgICAgICAgIHdpdGgg
aGF2ZSBpZGVudGljYWwgc2hhcGUgc2FucyBpdHMgcHJvdG90eXBlIHZhbHVlLiBUaGlzIHdvdWxk
CisgICAgICAgIGNhdXNlIGFsbCBJQ3MgdGhhdCB1c2VkIGBjYCB0byBxdWlja2x5IGdpdmUgdXAg
b24gYW55IGZvcm0gb2YgY2FjaGluZworICAgICAgICBiZWNhdXNlIHRoZXkgd291bGQgc2VlIHRv
byBtYW55IHN0cnVjdHVyZXMgYW5kIGdpdmUgdXAgYW5kIHBlcm1hbmVudGx5CisgICAgICAgIGRp
dmVydCBjb250cm9sIGZsb3cgdG8gdGhlIHNsb3cgcGF0aC4KKyAgICAgICAgCisgICAgICAgIFRo
aXMgcGF0Y2ggZml4ZXMgdGhpcyBpc3N1ZSBieSBleHBhbmRpbmcgdGhlIG5vdGlvbiBvZiB3aGVy
ZSB0aGUgcHJvdG90eXBlCisgICAgICAgIG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFRoZXJlIGFy
ZSBub3cgdHdvIG5vdGlvbnMgb2Ygd2hlcmUgdGhlIHByb3RvdHlwZQorICAgICAgICBpcyBzdG9y
ZWQuIEEgU3RydWN0dXJlIGNhbiBub3cgYmUgaW4gdHdvIG1vZGVzOgorICAgICAgICAxLiBNb25v
IHByb3RvIG1vZGUuIFRoaXMgaXMgdGhlIHNhbWUgbW9kZSBhcyB3ZSB1c2VkIHRvIGhhdmUuIEl0
IG1lYW5zCisgICAgICAgIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGhhcyBhIGNvbnN0YW50IHByb3Rv
dHlwZSB2YWx1ZS4KKyAgICAgICAgMi4gUG9seSBwcm90byBtb2RlLiBUaGlzIG1lYW5zIHRoZSBz
dHJ1Y3R1cmUga25vd3Mgbm90aGluZyBhYm91dCB0aGUKKyAgICAgICAgcHJvdG90eXBlIHZhbHVl
IGl0c2VsZi4gT2JqZWN0cyB3aXRoIHRoaXMgc3RydWN0dXJlIHN0b3JlIHRoZWlyIHByb3RvdHlw
ZQorICAgICAgICBpbiBub3JtYWwgb2JqZWN0IGZpZWxkIHN0b3JhZ2UuIFRoZSBzdHJ1Y3R1cmUg
d2lsbCB0ZWxsIHlvdSB0aGUgb2Zmc2V0IG9mCisgICAgICAgIHRoaXMgcHJvdG90eXBlIGluc2lk
ZSB0aGUgb2JqZWN0J3Mgc3RvcmFnZS4gQXMgb2YgdG9kYXksIHdlIG9ubHkgcmVzZXJ2ZQorICAg
ICAgICBpbmxpbmUgc2xvdHMgZm9yIHRoZSBwcm90b3R5cGUgZmllbGQgYmVjYXVzZSBwb2x5IHBy
b3RvIG9ubHkgb2NjdXJzCisgICAgICAgIGZvciBKU0ZpbmFsT2JqZWN0LiBIb3dldmVyLCB0aGlz
IHdpbGwgYmUgZXhwYW5kZWQgdG8gc3VwcG9ydCBvdXQgb2YgbGluZQorICAgICAgICBvZmZzZXRz
IGluIGEgZnV0dXJlIHBhdGNoIHdoZW4gd2UgZXh0ZW5kIHBvbHkgcHJvdG8gdG8gd29yayB3aGVu
IHdlIGluaGVyaXQKKyAgICAgICAgZnJvbSBidWlsdGluIHR5cGVzIGxpa2UgTWFwIGFuZCBBcnJh
eS4KKyAgICAgICAgCisgICAgICAgIEluIHRoaXMgaW5pdGlhbCBwYXRjaCwgd2UgZG8gcG9seSBw
cm90byBzdHlsZSBpbmxpbmUgY2FjaGluZyB3aGVuZXZlcgorICAgICAgICB3ZSBzZWUgYW4gb2Jq
ZWN0IHRoYXQgaXMgcG9seSBwcm90byBvciBpZiBhbiBvYmplY3QgaW4gaXRzIHByb3RvdHlwZSBs
b29rdXAKKyAgICAgICAgY2hhaW4gaXMgcG9seSBwcm90by4gUG9seSBwcm90byBJQ3Mgd29yayBi
eSB2ZXJpZnlpbmcgdGhlIGxvb2t1cCBjaGFpbgorICAgICAgICBhdCBydW50aW1lLiBUaGlzIGVz
c2VudGlhbGx5IGJvaWxzIGRvd24gdG8gcGVyZm9ybWluZyBzdHJ1Y3R1cmUgY2hlY2tzCisgICAg
ICAgIHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIEluIGEgZnV0dXJlIHBhdGNoLCB3ZSdyZSBnb2lu
ZyB0byBleHRlbmQgb2JqZWN0CisgICAgICAgIHByb3BlcnR5IGNvbmRpdGlvbiBzZXQgdG8gd29y
ayB3aXRoIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIHBvbHkgcHJvdG8gYmFzZXMuCisgICAgICAg
IAorICAgICAgICBJbml0aWFsbHksIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHByb3RvIGFjY2Vz
cyBjaGFpbnMgd2lsbCBhbHdheXMgdHVybgorICAgICAgICBpbnRvIEdldEJ5SWQvUHV0QnlJZCBp
biB0aGUgREZHLiBJbiBhIGZ1dHVyZSBwYXRjaCwgSSdtIGdvaW5nIHRvIHRlYWNoCisgICAgICAg
IHRoZSBERkcgaG93IHRvIGlubGluZSBjZXJ0YWluIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHBy
b3RvIGluIHRoZSBhY2Nlc3MKKyAgICAgICAgY2hhaW4uCisgICAgICAgIAorICAgICAgICBPbmUg
b2YgbW9zdCBpbnRlcmVzdGluZyBwYXJ0cyBhYm91dCB0aGlzIHBhdGNoIGlzIGhvdyB3ZSBkZWNp
ZGUgd2hlbiB0byBnbworICAgICAgICBwb2x5IHByb3RvLiBUaGlzIHBhdGNoIHVzZXMgYSBwcm9m
aWxpbmcgYmFzZWQgYXBwcm9hY2guIEFuIElDIHdpbGwgaW5mb3JtCisgICAgICAgIGEgd2F0Y2hw
b2ludCB0aGF0IGl0IHNlZXMgYW4gb3Bwb3J0dW5pdHkgd2hlbiB0d28gU3RydWN0dXJlJ3MgYXJl
IHN0cnVjdHVyYWxseQorICAgICAgICB0aGUgc2FtZSwgc2FucyB0aGUgYmFzZSBvYmplY3QncyBw
cm90b3R5cGUuIFRoaXMgbWVhbnMgdGhhdCB0d28gc3RydWN0dXJlcworICAgICAgICBoYXZlIGVx
dWl2YWxlbnQgc2hhcGVzIGFsbCB0aGUgd2F5IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIFRvIHN1
cHBvcnQgZmFzdAorICAgICAgICBzdHJ1Y3R1cmFsIGNvbXBhcmlzb24sIHdlIGNvbXB1dGUgYSBo
YXNoIGZvciBhIHN0cnVjdHVyZSBiYXNlZCBvbiB0aGUgcHJvcGVydGllcworICAgICAgICBpdCBo
YXMuIFdlIGNvbXB1dGUgdGhpcyBoYXNoIGFzIHdlIGFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBzdHJ1
Y3R1cmUuIFRoaXMKKyAgICAgICAgY29tcHV0YXRpb24gaXMgbmVhcmx5IGZyZWUgc2luY2Ugd2Ug
YWx3YXlzIGFkZCBVbmlxdWVkU3RyaW5nSW1wbConcyB3aGljaAorICAgICAgICBhbHJlYWR5IGhh
dmUgdGhlaXIgaGFzaGVzIGNvbXB1dGVkLiBUbyBjb21wYXJlIHN0cnVjdHVyYWwgZXF1aXZhbGVu
Y2UsIHdlCisgICAgICAgIGp1c3QgY29tcGFyZSBoYXNoIHZhbHVlcyBhbGwgdGhlIHdheSB1cCB0
aGUgcHJvdG90eXBlIGNoYWluLiBUaGlzIG1lYW5zIHdlCisgICAgICAgIGNhbiBnZXQgaGFzaCBj
b25mbGljdHMgYmV0d2VlbiB0d28gc3RydWN0dXJlcywgYnV0IGl0J3MgZXh0cmVtZWx5IHJhcmUu
IEZpcnN0LAorICAgICAgICBpdCdsbCBiZSByYXJlIGZvciB0d28gc3RydWN0dXJlcyB0byBoYXZl
IHRoZSBzYW1lIGhhc2guIFNlY29uZGx5LCB3ZSBvbmx5CisgICAgICAgIGNvbnNpZGVyIHN0cnVj
dHVyZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgICAgICAKKyAg
ICAgICAgSG93IHdlIHNldCB1cCB0aGlzIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCBpcyBjcnVjaWFs
IHRvIGl0cyBkZXNpZ24uIFdoZW4gd2UgY3JlYXRlX3RoaXMKKyAgICAgICAgYW4gb2JqZWN0IG9y
aWdpbmF0aW5nIGZyb20gc29tZSBleGVjdXRhYmxlLCB0aGF0IGV4ZWN1dGFibGUgd2lsbCBjcmVh
dGUgYSBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uCisgICAgICAgIEVhY2ggc3RydWN0dXJlIHRo
YXQgb3JpZ2luYXRlcyBmcm9tIHRoaXMgZXhlY3V0YWJsZSB3aWxsIGdldCBhIGNvcHkgb2YgdGhh
dAorICAgICAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uIEFzIHRoYXQgc3RydWN0dXJlIHRy
YW5zaXRpb25zIHRvIG5ldyBzdHJ1Y3R1cmVzLAorICAgICAgICB0aGV5IHRvbyB3aWxsIGdldCBh
IGNvcHkgb2YgdGhhdCBCb3g8SW5pbG5lV2F0Y2hwb2ludFNldD4uIFRoZXJlZm9yZSwgd2hlbgor
ICAgICAgICBpbnZhbGlkYXRpbmcgYW4gYXJiaXRyYXJ5IHN0cnVjdHVyZSdzIHBvbHkgcHJvdG8g
d2F0Y2hwb2ludCwgd2Ugd2lsbCBrbm93CisgICAgICAgIHRoZSBuZXh0IHRpbWUgd2UgY3JlYXRl
X3RoaXMgZnJvbSB0aGF0IGV4ZWN1dGFibGUgdGhhdCBpdCBoYWQgYmVlbgorICAgICAgICBpbnZh
bGlkYXRlZCwgYW5kIHRoYXQgd2Ugc2hvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkg
cHJvdG8KKyAgICAgICAgc3RydWN0dXJlLiBXZSBhbHNvIHVzZSB0aGUgcG9pbnRlciB2YWx1ZSBv
ZiB0aGlzIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PgorICAgICAgICB0byBkZXRlcm1pbmUgaWYg
dHdvIHN0cnVjdHVyZXMgb3JpZ2luYXRlZCBmcm9tIHRoZSBzYW1lIGV4ZWN1dGFibGUuIFRoaXMK
KyAgICAgICAgcHJ1bmluZyB3aWxsIHNldmVyZWx5IGxpbWl0IHRoZSBjaGFuY2VzIG9mIGdldHRp
bmcgYSBoYXNoIGNvbmZsaWN0IGluIHByYWN0aWNlLgorCisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3BwOgorICAgICAgICAqIGJ1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OkJ1aWx0aW5OYW1lcyk6
CisgICAgICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OgorICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nl
c3NDYXNlOjpBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y3JlYXRlKToK
KyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y29tbWl0KToKKyAgICAgICAgKEpTQzo6QWNjZXNz
Q2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2spOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNl
OjpjYW5SZXBsYWNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6ZHVtcCk6CisgICAgICAg
IChKU0M6OkFjY2Vzc0Nhc2U6OnZpc2l0V2Vhayk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6
OnByb3BhZ2F0ZVRyYW5zaXRpb25zKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJh
dGVXaXRoR3VhcmQpOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgor
ICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2Fz
ZTo6dXNlc1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Up
OgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRo
b3V0RXhpdFNpdGVGZWVkYmFjayk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRl
clNldHRlckFjY2Vzc0Nhc2UpOgorICAgICAgICAoSlNDOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
OjpjcmVhdGUpOgorICAgICAgICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoK
KyAgICAgICAgKiBieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaDoK
KyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVB
bGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKToKKyAgICAgICAgKiBieXRlY29kZS9J
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmg6CisgICAgICAgICogYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Ok9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZSk6CisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KToKKyAgICAg
ICAgKiBieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oOgorICAgICAgICAoSlNDOjpP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHA6Cisg
ICAgICAgICogYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OlBv
bHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlND
OjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcCk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seVBy
b3RvQWNjZXNzQ2hhaW4uaDogQWRkZWQuCisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0No
YWluOjpjbG9uZSk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpjaGFpbik6
CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvciE9KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmZvckVhY2gpOgorICAgICAgICAqIGJ5dGVj
b2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nl
c3M6OmFkZENhc2VzKToKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJh
dGUpOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5oOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
OjpzaG91bGRSZXNldFN0dWIpOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uU3RhdGU6
OkFjY2Vzc0dlbmVyYXRpb25TdGF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvUHJvcGVydHlDb25k
aXRpb24uY3BwOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlk
QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQpOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3h5YWJsZUFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpQcm94eWFibGVBY2Nlc3NDYXNl
OjpQcm94eWFibGVBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6UHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OlB1dEJ5
SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0
dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YWRkQWNj
ZXNzQ2FzZSk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6bG9hZCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmNhbkRvRmFzdFNwcmVhZCk6CisgICAgICAgICogZGZn
L0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3Rh
bmNlT2YpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAg
ICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVJbnN0YW5jZU9mKToKKyAg
ICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9p
bnN0YW5jZW9mKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRy
eUNhY2hlR2V0QnlJRCk6CisgICAgICAgIChKU0M6OnRyeUNhY2hlUHV0QnlJRCk6CisgICAgICAg
IChKU0M6OnRyeVJlcGF0Y2hJbik6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKFdURjo6
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpOgorICAg
ICAgICAoV1RGOjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6Cisg
ICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdURjo6RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGU6OkRPTUpJVEF0
dHJpYnV0ZSk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklU
QXR0cmlidXRlOjpzbG93Q2FsbCk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09i
amVjdDo6RE9NSklUQXR0cmlidXRlOjpjYWxsRE9NR2V0dGVyKToKKyAgICAgICAgKFdURjo6RE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIpOgorICAgICAgICAoV1RGOjpET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6ZmFzdEpvaW4pOgorICAgICAgICAoSlNDOjphcnJh
eVByb3RvRnVuY1JldmVyc2UpOgorICAgICAgICAoSlNDOjptb3ZlRWxlbWVudHMpOgorICAgICAg
ICAqIHJ1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGVFbXB0eSk6CisgICAgICAgIChKU0M6OkNsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlV2l0aElubGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVXaXRoTWFjaGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVCeUNvcHlpbmdGcm9tKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6
CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwOgorICAgICAgICAoSlNDOjpGdW5j
dGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlU2xvdyk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNBcnJheTo6ZmFzdFNsaWNlKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6
c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpzaGlm
dENvdW50V2l0aEFueUluZGV4aW5nVHlwZSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXlJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmNhbkZhc3RDb3B5KToKKyAg
ICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpk
dW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVj
dGlvbik6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJh
cmVEYXRhKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZVJhcmVEYXRhKToK
KyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAg
KiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTTWFwLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxl
KToKKyAgICAgICAgKEpTQzo6SlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
cHV0SW5saW5lU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5k
ZXhlZFN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdl
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVJbnQzMlNsb3cpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6ZW5zdXJlRG91YmxlU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpl
bnN1cmVDb250aWd1b3VzU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhZ2VTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZyk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0UHJvcGVydHlTbG90KToKKyAgICAg
ICAgKiBydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
Z2V0UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE5vbkluZGV4UHJv
cGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dElubGluZUZvckpTT2JqZWN0
KToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorICAgICAg
ICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0pTU2V0
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25P
YnNlcnZhYmxlKToKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2Vy
dmFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmg6CisgICAgICAg
IChKU0M6OkxhenlDbGFzc1N0cnVjdHVyZTo6cHJvdG90eXBlQ29uY3VycmVudGx5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBydW50aW1lL09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpub3Jt
YWxpemVQcm90b3R5cGVDaGFpbik6CisgICAgICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6Cisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVN
YXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUZvclByb3RvdHlw
ZUZyb21CYXNlU3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9Qcm90b3R5cGVNYXAuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAg
ICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNp
dGlvbik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpkdW1wKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRU
b1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cCk6IERlbGV0ZWQuCisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKTog
RGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAqIHJ1bnRp
bWUvU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVDaGFpbjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAg
ICAgKiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVj
dCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUpOgorICAgICAgICAoSlND
Ojpwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKToKKyAgICAgICAgKEpTQzo6U3RydWN0
dXJlOjpwcm90b3R5cGVGb3JMb29rdXApOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUNoYWluKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjppc1ZhbGlkKToKKyAgICAgICAg
KEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFByb3Bl
cnR5VGFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL1R5
cGVQcm9maWxlckxvZy5jcHA6CisgICAgICAgIChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vz
c0xvZ0VudHJpZXMpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVNldC5jcHA6CisgICAgICAgIChK
U0M6OlR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbik6CisgICAgICAgICogcnVudGltZS9UeXBl
U2V0Lmg6CisgICAgICAgICogcnVudGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6
V3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPjo6aXNJbnQzMik6CisKIDIwMTctMTAtMDEgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIyMjI1NjQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNl
cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTIyNyw5ICsyMjcsMTEgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAog
Ynl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVBy
b2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAK
IGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCitieXRlY29kZS9Qb2x5
UHJvdG9BY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAogYnl0
ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVCbG9jay5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjQnl0ZWNvZGVUb3ApCisgICAgICAgIHsKKyAgICAgICAgfQorCisjaWYgRU5BQkxF
KEpJVCkKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gc2xvd0Nh
bGwoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBwb2ludGVyKQorICAgICAgICB7CisgICAgICAgICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0YXRp
Y19jYXN0PEpTT2JqZWN0Kj4ocG9pbnRlcik7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAg
ICAgc3RhdGljIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBjYWxsRE9NR2V0dGVy
KCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBw
ZXQ+IHNuaXBwZXQgPSBET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0OjpjcmVhdGUoKTsKKyAg
ICAgICAgICAgIHNuaXBwZXQtPnJlcXVpcmVHbG9iYWxPYmplY3QgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHNuaXBwZXQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIFNuaXBwZXRQ
YXJhbXMmIHBhcmFtcykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdHMgPSBw
YXJhbXNbMF0uanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBHUFJSZWcgZG9tID0gcGFy
YW1zWzFdLmdwcigpOworICAgICAgICAgICAgICAgIHBhcmFtcy5hZGRTbG93UGF0aENhbGwoaml0
Lmp1bXAoKSwgaml0LCBzbG93Q2FsbCwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCgpOworCisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJldHVybiBzbmlwcGV0OworICAgICAgICB9CisjZW5kaWYKKyAgICB9OworCitwcml2
YXRlOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKworICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBjdXN0b21HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CisgICAgICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHRoaXNPYmplY3QpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3Qt
PmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICB9Cit9OworCitzdGF0aWMgY29uc3QgRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGUgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0RE9NSklUOworCit2b2lkIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBjb25zdCBE
T01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gJkRPTUpJVEdldHRlckJhc2VKU09iamVjdERP
TUpJVDsKKyAgICBhdXRvKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBET01BdHRyaWJ1dGVHZXR0ZXJT
ZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgbnVsbHB0ciwgRE9NQXR0cmlidXRl
QW5ub3RhdGlvbiB7IEpTT2JqZWN0OjppbmZvKCksIGRvbUpJVCB9KTsKKyAgICBwdXREaXJlY3RD
dXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21HZXR0
ZXIiKSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpOworfQorCiBjb25zdCBDbGFzc0luZm8g
RWxlbWVudDo6c19pbmZvID0geyAiRWxlbWVudCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRWxlbWVudCkgfTsKIGNvbnN0IENsYXNzSW5mbyBN
YXNxdWVyYWRlcjo6c19pbmZvID0geyAiTWFzcXVlcmFkZXIiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hc3F1ZXJhZGVyKSB9OwogY29uc3Qg
Q2xhc3NJbmZvIFJvb3Q6OnNfaW5mbyA9IHsgIlJvb3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJvb3QpIH07CkBAIC05NjUsNiArMTA0OSw3
IEBAIGNvbnN0IENsYXNzSW5mbyBET01KSVROb2RlOjpzX2luZm8gPSB7ICIKICNlbmRpZgogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlcjo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyIiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRH
ZXR0ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQ29tcGxleDo6c19pbmZvID0g
eyAiRE9NSklUR2V0dGVyQ29tcGxleCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQ29tcGxleCkgfTsKK2NvbnN0IENsYXNz
SW5mbyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckJh
c2VKU09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSB9OwogI2lmIEVOQUJMRShKSVQpCiBj
b25zdCBDbGFzc0luZm8gRE9NSklURnVuY3Rpb25PYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEZ1
bmN0aW9uT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgJkRPTUpJVEZ1bmN0aW9uT2Jq
ZWN0OjpjaGVja1N1YkNsYXNzU25pcHBldCwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRGdW5j
dGlvbk9iamVjdCkgfTsKICNlbHNlCkBAIC0xMTQ0LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEZ1bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNT
dGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVh
dGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xNDYyLDYgKzE1
NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
R2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9i
amVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25P
YmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rp
b25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3Jl
YXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0
aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3Qs
IDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwg
ZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBAIC0yMTk4LDYgKzIyODUsMTYg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7
CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBqc051bGwoKSk7
CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
blNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04MTAsNiArODEwLDcgQEAKIAkJ
NDQ0M0FFMzMxNkUxODhEOTAwNzZGMTEwIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVCNjEwNUM4NkM2
QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk0NTE1MzlCOTEyREM5
OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NzNEQTRBNDc2NEM0NUZF
ODcxQjA0ODUgLyogRGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjk5NDhFREU2OEQ0MDU0QjAxRUY3OTcgLyog
RGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTIxMTMxRjcxRjgyQkYxNDAwN0NDRUVFIC8qIFBvbHlQcm90
b0FjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjEzMjI0
NjFFQ0JDRTgyMDBGNjU2MTUgLyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyMTMyMjQ0MUVDQkNFODIwMEY2
NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovOyB9OwogCQk1MjUwRDJEMjFFOERB
MDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTI1MEQyRDAxRThEQTA1QTAwMjlBOTMyIC8qIFdhc21UaHVua3Mu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjVD
MEREQTFFOTM1ODQ3MDAyMTg0Q0QgLyogV2FzbUNhbGxlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTI1QzBERDgxRTkzNTg0NzAwMjE4NENEIC8qIFdh
c21DYWxsZWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMzEyMSw2ICszMTIyLDggQEAKIAkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUYwRUI2MTA1Qzg2QzZCMDBFNkRGMUIgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IEZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CiAJCTUxRjBFQzA3MDVDODZDOUEwMEU2REYxQiAvKiBsaWJvYmpjLmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGli
b2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNTIxMTMxRjUxRjgy
QkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTIxMTMxRjYxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUyMTMyMjQzMUVDQkNFODIwMEY2NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9u
QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJs
eUZ1bmN0aW9uQmFzZS5jcHA7IHBhdGggPSBqcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMyMjQ0MUVDQkNFODIwMEY2NTYxNSAv
KiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOyBwYXRoID0ganMvV2ViQXNzZW1ibHlGdW5j
dGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI1MEQyQ0YxRThEQTA1
QTAwMjlBOTMyIC8qIFdhc21UaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2FzbVRodW5rcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
MzU2LDYgKzczNTksOCBAQAogCQkJCTk2OUEwNzk1MEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUu
aCAqLywKIAkJCQkwRjJCREMyQjE1MUZERThCMDBDRDg5MTAgLyogT3BlcmFuZHMuaCAqLywKIAkJ
CQlBNzA0NDdFOTE3QTBCRDQ2MDBGNTg5OEUgLyogT3BlcmFuZHNJbmxpbmVzLmggKi8sCisJCQkJ
NTIxMTMxRjUxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLywK
KwkJCQk1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
LywKIAkJCQkwRkY5Q0U3MTFCOUNENkQwMDA0RURDQTYgLyogUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
ICovLAogCQkJCTBGRjlDRTcyMUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5o
ICovLAogCQkJCTBGOTgyMDVEMTZCRkUzN0YwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMu
Y3BwICovLApAQCAtODE5NSw2ICs4MjAwLDcgQEAKIAkJCQlBNzk4NkQ1NzE3QTBCQjFFMDBBOTVE
RDAgLyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYxNDM0
MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCQzBB
RTgxNDk2QzdDNzAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE3OEE5Nzc1MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGYWlsZWRGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkZGM0MwMTc5ODY4OTQwMDAyRjQ2MiAvKiBE
RkdGaWx0cmF0aW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzhBOTc3NzE3OTczOEI4
MDA5REY3NDQgLyogREZHRmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAy
MjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFN
RVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsg
IlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1i
b2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlBy
aXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAK
IGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7
CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZ
KG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElB
TElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFt
ZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJv
bHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBs
Jj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAg
IEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9f
UFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFD
SF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0y
MzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9f
UFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGlj
VG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0
ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3Rv
KTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51
bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAg
ICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRl
bnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JV
SUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFy
Vk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Q
cml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZp
ZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9M
UykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZp
ZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGlj
VG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBB
Y2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQog
ICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbihXVEZN
b3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51
bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9u
U2V0OwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nh
c2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBicmVhazsKICAgICBj
YXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0
QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNh
c2UgTW9kdWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgIGJyZWFrOwogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVj
dHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVj
dHVyZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQog
CiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyArMTM4LDggQEAgVmVjdG9yPFdh
dGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0
KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5u
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0
Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAgICB8fCAobV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbiAmJiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQuYXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRT
ZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkK
QEAgLTE1MSw2ICsxNTUsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNo
ZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlm
IChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBz
d2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdM
ZW5ndGg6CkBAIC0yMTAsNiArMjE3LDE5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShj
b25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVj
dCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVm
YXVsdDoKKyAgICAgICAgaWYgKG90aGVyLnR5cGUoKSAhPSB0eXBlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgIGlmICghb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNr
IHdlIG5lZWQgc2luY2UgUG9seVByb3RvQWNjZXNzQ2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3Ry
dWN0dXJlLgorICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBv
bmx5IHRoZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xsIGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAg
ICAgICAgIC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZSgpID09IG90aGVyLnN0cnVjdHVyZSgpCisgICAgICAgICAgICAgICAg
JiYgKm1fcG9seVByb3RvQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hh
aW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkg
fHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI3IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFj
ZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJc
biIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQu
cHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQot
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1
Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNl
IGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0g
IiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zm
c2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9v
ZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYg
KG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJv
dG90eXBlIGFjY2VzcyBjaGFpbiA9ICIpOworICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
LT5kdW1wKHN0cnVjdHVyZSgpLCBvdXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtX3R5
cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVy
ZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdT
dHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAg
IG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJl
LmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnBy
aW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjY4LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRX
ZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFy
a2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICht
X3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgOiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAo
IUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0y
NzMsNiArMzA0LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wK
ICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFy
a0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgewor
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFw
KHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFu
c2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwOCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6
OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYg
KHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VH
UFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQot
ICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
UHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAg
aWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9y
QWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRl
LmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgbV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbi0+Zm9yRWFjaChzdHJ1Y3R1cmUoKSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCBhdEVuZCkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9m
ZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAg
ICAgICAgIGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBN
aXNzIHx8IG1fdHlwZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmIHN0cnVj
dHVyZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBh
IE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBlbmQg
d2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVyaWZ5
IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNuJ3Qg
YSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZz
ZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVy
czo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0
KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihh
c09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1
Y3R1cmUtPmlzT2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90
b3R5cGUuIFdlIHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAg
ICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09m
ZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVP
ZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JB
Y2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BS
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNo
NjQoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVy
ZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0
dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAg
ICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0
KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
UHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0
cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkp
LCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAg
ICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwMiw4IEBAIHZvaWQg
QWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQobV9jb25kaXRp
b25TZXQuc3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNo
cG9pbnQoKSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBjb25k
aXRpb24gOiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9wb2x5
UHJvdG9BY2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25k
aXRpb24ub2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25kaXRpb24uaXNX
YXRjaGFibGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC01MDQsMTMg
KzU4MCwxOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAg
ICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZv
ckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOwor
ICAgICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gVGhp
cyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5lcmF0ZVdpdGhH
dWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNjZXNzIGluc2lk
ZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAgICAgICAgICAv
LyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9hZCB0aGUgYmFz
ZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BS
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIp
OworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JH
ZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZh
bGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1f
dHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0
ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2LDcgKzEwOTgs
NyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgIAog
ICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFs
aWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2UgbmVlZCB0byBl
bnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIgdXMuIE5vdGUg
dGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28gd2UganVzdCBu
ZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBpdC4KICAgICAg
ICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUG9seVByb3RvQWNjZXNzQ2hh
aW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpA
QCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1Y3R1cmUqID0g
bnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgp
LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAg
ICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5zaXRpb25zLgog
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLAotICAgICAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5p
cXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0NlbGwqIG93bmVy
LCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3BvbHlQcm90b0FjY2Vzc0NoYWluOworICAg
IH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1
bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3Bl
cnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOworICAgIEFjY2Vzc0Nhc2Uo
QWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNl
JiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAgICAsIG1fc3Rh
dGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29mZnNldCkKKyAg
ICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAgLCBtX2NvbmRp
dGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlmIChvdGhlci5t
X3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
biA9IG90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAgfQorCiAgICAg
QWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2
b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAgLTIyNyw2ICsy
NDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJl
OwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IG1fcG9seVByb3RvQWNjZXNz
Q2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNbb3BMZW5ndGgg
LSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsgb3BMZW5ndGgg
LSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAgbV9nbG9iYWxP
YmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dl
dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJ
ZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNj
ZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChh
Y2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhz
bG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0
ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50
ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmpl
Y3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KQor
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFj
Y2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRp
dGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX2N1c3Rv
bVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAog
CiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3Vz
dG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0
cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAor
ICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNl
LAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRl
LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0No
YWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsMTgg
KzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
KHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJv
eHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vz
c0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAg
ICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRlcjsKICAgICBy
ZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNl
KQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0
dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nh
c2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxz
ZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBv
d25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxw
dHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAg
IHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0
dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vz
c0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTYgKzQ4LDEyIEBAIHB1YmxpYzoKIAogICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYs
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAot
ICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAg
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5u
b3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4sIHN0ZDo6dW5pcXVl
X3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1
Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAg
ICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAgICAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0
ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJ
bXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC02Nyw3
ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0
dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
Pik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vz
c0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2
aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0Niwx
MSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90
eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVy
ZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSk7CiAK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHlt
b3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYg
KHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAg
c3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vz
c0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
OjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rp
b24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRl
ciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAgICBtX2lu
dHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3ND
YXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY2FuRW1pdElu
dHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBlbWl0SW50
cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisgICAgLy8gRklYTUU6IE1h
a2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJl
KiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1bmN0aW9uKiBpbnRyaW5z
aWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBj
b25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1
bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VB
Y2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNl
IEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9k
dWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBtb2R1bGVFbnZpcm9ubWVu
dCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxl
TmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBp
bnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBudWxs
cHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsKICAgICBtX21vZHVsZU5h
bWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlv
bklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJU
KCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFt
X2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdvaW5nIHBvbHkgcHJvdG8s
IHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAgICAvLyBjcmVhdGVfdGhp
cycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0LgorICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICBib29s
IGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
ID0gbnVsbHB0cjsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gRklYTUU6IEEg
SlNGdW5jdGlvbiBzaG91bGQgd2F0Y2ggdGhlIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCBpZiBpdCBp
cyBub3QgaW52YWxpZGF0ZWQuCisgICAgICAgIC8vIFRoYXQgd2F5IGl0IGNhbiBjbGVhciB0aGlz
IG9iamVjdCBhbGxvY2F0aW9uIHByb2ZpbGUgdG8gZW5zdXJlIGl0IHN0b3BzIGFsbG9jYXRpbmcK
KyAgICAgICAgLy8gbW9ubyBwcm90byB8dGhpc3wgdmFsdWVzIHdoZW4gaXQga25vd3MgdGhhdCBp
dCBzaG91bGQgYmUgYWxsb2NhdGluZyBwb2x5IHByb3RvCisgICAgICAgIC8vIHx0aGlzfCB2YWx1
ZXM6CisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc3OTIKKworICAgICAgICBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgp
OworICAgICAgICBpc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBpZiAoT3B0aW9uczo6Zm9y
Y2VQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gdHJ1ZTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBleGVjdXRhYmxlLT5lbnN1cmVQb2x5UHJv
dG9XYXRjaHBvaW50KCkuaGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+c2luZ2xl
dG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisKKyAgICAgICAgaWYgKGlzUG9s
eVByb3RvKSB7CisgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBleGVjdXRh
YmxlLT5jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBl
KTsKKyAgICAgICAgICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxwdHI7CisgICAgICAgICAgICAg
ICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAg
ICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAg
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAg
IC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisg
ICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlD
b3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNp
dHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlr
ZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0
aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVy
IGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2Vz
LCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2Jq
ZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFj
aXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0K
KworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAg
ICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3Qu
CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytp
bmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVD
YXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisg
ICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5
IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFs
bG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNp
dHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9j
YXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRy
YSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChh
bGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgp
IC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAg
ICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVD
YXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1
Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
LCBpc1BvbHlQcm90byk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpOworICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxw
dHI7CisgICAgICAgIGV4ZWN1dGFibGUtPnNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSh2bSwg
c3RydWN0dXJlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZXhlY3V0YWJsZSkgeworICAg
ICAgICAgICAgZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAgICAg
ICAgICAgc3RydWN0dXJlLT5lbnN1cmVSYXJlRGF0YSh2bSktPnNldFNoYXJlZFBvbHlQcm90b1dh
dGNocG9pbnQoZXhlY3V0YWJsZS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKTsKKyAgICAg
ICAgfQorCisgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIH0KKworICAgIC8v
IEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2ls
bCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CisK
KyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5l
Q2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCog
cHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmpl
Y3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90
IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0s
IFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6
SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zy
b21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Cisg
ICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFt
ZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBw
cm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9u
LCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJp
ZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQorICAg
IHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9
CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJl
ZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0g
ICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2Fw
YWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAg
aWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5l
Q2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJh
c2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAg
ICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAg
Ly8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFs
eXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFs
aXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAg
ICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewot
ICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBz
byBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9i
amVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAv
LyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJU
KGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwot
Ci0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRp
b25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0
b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAg
Ci0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFp
bGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAg
ICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25T
aXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0K
LSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmpl
Y3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVz
IHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAg
V1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRv
cjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAg
ICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGlu
aXRpYWxpemVQcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUo
KQogICAgIHsKQEAgLTExMyw3ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoKQog
ICAgIHsKLSAgICAgICAgbV9hbGxvY2F0b3IgPSAwOworICAgICAgICBtX2FsbG9jYXRvciA9IG51
bGxwdHI7CiAgICAgICAgIG1fc3RydWN0dXJlLmNsZWFyKCk7CiAgICAgICAgIG1faW5saW5lQ2Fw
YWNpdHkgPSAwOwogICAgICAgICBBU1NFUlQoaXNOdWxsKCkpOwpAQCAtMTI1LDI4ICs3Myw3IEBA
IHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0KLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1
bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAg
ICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJv
dG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQg
PSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFBy
b3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5j
bHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNG
cm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwot
ICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVy
dHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0
b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdl
dERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVu
Y3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRo
YXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNG
dW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg
ICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAg
fQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mLCBKU09iamVj
dCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFBy
ZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0
aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFi
c2VuY2U6IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpCisgICAgICAg
ICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0g
T2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2UoCiAgICAgICAgICAgICB2bSwgb3duZXIs
IG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpB
YnNlbmNlT2ZTZXRFZmZlY3Q6IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3Rv
KCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAg
ICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgK
ICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYy
LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAg
ICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFBvbHlQcm90b0FjY2Vzc0NoYWluOgor
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzMzOQorICAgICAgICAgICAgLy8gT3IgYXQgbGVhc3QgYWxsb3cgT1BDIHNldCBnZW5lcmF0aW9u
IHdoZW4gdGhlCisgICAgICAgICAgICAvLyBiYXNlIGlzIG5vdCBwb2x5IHByb3RvOgorICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyMQor
ICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7
CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0No
YWluLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVk
ZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0ZDo6dW5pcXVlX3B0cjxQb2x5
UHJvdG9BY2Nlc3NDaGFpbj4gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xv
dCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU09iamVjdCogdGFyZ2V0ID0gc2xvdC5p
c1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworICAgIHJldHVybiBjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBiYXNlLCB0YXJnZXQsIHVzZXNQb2x5UHJvdG8pOworfQorCitzdGQ6OnVu
aXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVh
dGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBKU09iamVjdCog
dGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTQ2VsbCogY3VycmVudCA9IGJh
c2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7
CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUG9seVByb3RvQWNjZXNzQ2hhaW4oKSk7CisK
KyAgICBmb3IgKHVuc2lnbmVkIGl0ZXJhdGlvbk51bWJlciA9IDA7IHRydWU7ICsraXRlcmF0aW9u
TnVtYmVyKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNh
Y2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0
cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChz
dHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVl
bkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBhc09i
amVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBUbyBzYXZlIG1lbW9yeSwg
d2UgZG9uJ3QgaW5jbHVkZSB0aGUgYmFzZSBpbiB0aGUgY2hhaW4uIFdlIGxldAorICAgICAgICAv
LyBBY2Nlc3NDYXNlIHByb3ZpZGUgdGhlIGJhc2UgdG8gdXMgYXMgbmVlZGVkLgorICAgICAgICBp
ZiAoaXRlcmF0aW9uTnVtYmVyKQorICAgICAgICAgICAgcmVzdWx0LT5tX2NoYWluLmFwcGVuZChz
dHJ1Y3R1cmUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJy
ZW50ID09IGJhc2UpOworCisgICAgICAgIGlmIChjdXJyZW50ID09IHRhcmdldCkgeworICAgICAg
ICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIg
cHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBwcm90byBwcm90b2NvbC4gSWYgdGhl
IHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisgICAgICAgIC8vIHRoaW5nIGluIHRo
ZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24gaXQsIHRoZW4gd2UncmUgbm90Cisg
ICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQb2x5UHJvdG8gfD0gc3RydWN0dXJl
LT5oYXNQb2x5UHJvdG8oKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVudCk7CisgICAgICAgIGlm
IChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VycmVu
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3VuZCAmJiAhIXRh
cmdldCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Citib29sIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkgY29uc3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgewor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0IFBvbHlQcm90b0FjY2Vz
c0NoYWluJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFpbiA9PSBvdGhlci5tX2No
YWluOworfQorCit2b2lkIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpkdW1wKFN0cnVjdHVyZSogYmFz
ZVN0cnVjdHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlBv
bHlQb2x5UHJvdG9BY2Nlc3NDaGFpbjogW1xuIik7CisgICAgZm9yRWFjaChiYXNlU3RydWN0dXJl
LCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sKSB7CisgICAgICAgIG91dC5wcmludCgi
XHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAgIG91dC5wcmludCgi
XG4iKTsKKyAgICB9KTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNP
YmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFBv
bHlQcm90b0FjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQb2x5UHJvdG9BY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAg
ICBQb2x5UHJvdG9BY2Nlc3NDaGFpbihQb2x5UHJvdG9BY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsK
KworICAgIC8vIFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2JqZWN0Kiwg
SlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmLCBib29sJiB1c2VzUG9seVByb3RvKTsK
KyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBjcmVhdGUo
SlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVz
ZXNQb2x5UHJvdG8pOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
PiBjbG9uZSgpCisgICAgeworICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxQb2x5UHJv
dG9BY2Nlc3NDaGFpbj4oKnRoaXMpOworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1
cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NoYWluOyB9CisKKyAgICB2b2lkIGR1bXAo
U3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAg
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBQb2x5UHJvdG9BY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0
OworICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBQb2x5UHJvdG9BY2Nlc3NDaGFpbiYgb3RoZXIp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQor
CisgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29uc3Q7CisKKyAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuYz4KKyAgICB2b2lkIGZvckVhY2goU3RydWN0dXJlKiBiYXNl
U3RydWN0dXJlLCBjb25zdCBGdW5jJiBmdW5jKSBjb25zdAorICAgIHsKKyAgICAgICAgYm9vbCBh
dEVuZCA9ICFtX2NoYWluLnNpemUoKTsKKyAgICAgICAgZnVuYyhiYXNlU3RydWN0dXJlLCBhdEVu
ZCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYWluLnNpemUoKTsgKytp
KSB7CisgICAgICAgICAgICBhdEVuZCA9IGkgKyAxID09IG1fY2hhaW4uc2l6ZSgpOworICAgICAg
ICAgICAgZnVuYyhtX2NoYWluW2ldLCBhdEVuZCk7CisgICAgICAgIH0KKyAgICB9CisKK3ByaXZh
dGU6CisgICAgUG9seVByb3RvQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBUaGlz
IGRvZXMgbm90IGluY2x1ZGUgdGhlIGJhc2UuIFdlIHJlbHkgb24gQWNjZXNzQ2FzZSBwcm92aWRp
bmcgaXQgZm9yIHVzLiBUaGF0IHNhaWQsIHRoaXMgZGF0YQorICAgIC8vIHN0cnVjdHVyZSBpcyB0
aWVkIHRvIHRoZSBiYXNlIHRoYXQgaXQgd2FzIGNyZWF0ZWQgd2l0aC4KKyAgICBWZWN0b3I8U3Ry
dWN0dXJlKj4gbV9jaGFpbjsgCit9OworCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlzaW9uIDIyMjcx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1OCw2ICsyNTgsNDEgQEAgQWNjZXNzR2VuZXJhdGlvblJl
c3VsdCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChjYXNlc1RvQWRkLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6Ok1hZGVOb0NoYW5nZXM7CiAKKyAg
ICBib29sIHNob3VsZFJlc2V0ID0gZmFsc2U7CisgICAgYXV0byBjb25zaWRlclBvbHlQcm90b1Jl
c2V0ID0gWyZdIChTdHJ1Y3R1cmUqIGEsIFN0cnVjdHVyZSogYikgeworICAgICAgICBpZiAoU3Ry
dWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgIC8v
IEZvciBub3csIHdlIG9ubHkgcmVzZXQgaWYgdGhpcyBpcyBvdXIgZmlyc3QgdGltZSBpbnZhbGlk
YXRpbmcgdGhpcyB3YXRjaHBvaW50LgorICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBw
cm9iYWJseSBoYXZlIGFsbCB0aGF0IGNhbiB3YXRjaCBmb3IgdGhlIHBvbHkgcHJvdG8KKyAgICAg
ICAgICAgIC8vIHdhdGNocG9pbnQgZG8gaXQuIFRoaXMgd2lsbCBhbGxvdyBzdHVicyB0byBjbGVh
ciBvdXQgdGhlaXIgbm9uLXBvbHktcHJvdG8KKyAgICAgICAgICAgIC8vIElDIGNhc2VzLiBUaGlz
IGlzIGxpa2VseSB0byBiZSBmYXN0ZXIgaWYgeW91IGJ1aWxkIHVwIGEgYnVuY2ggb2YgSUNzLCB0
aGVuCisgICAgICAgICAgICAvLyB0cmlnZ2VyIHBvbHkgcHJvdG8sIHRoZW4gb25seSBhY2Nlc3Mg
cG9seSBwcm90byBvYmplY3RzLiBJZiB3ZSBkbyB0aGlzLCB3ZSdsbAorICAgICAgICAgICAgLy8g
bmVlZCB0aGlzIGNvZGUgYmVsb3cgdG8gZGVsYXkgZmlyaW5nIHRoZSB3YXRjaHBvaW50IHNpbmNl
IGl0IG1pZ2h0IGNhdXNlCisgICAgICAgICAgICAvLyB1cyB0byBkZWFsbG9jYXRlIG91cnNlbHZl
czoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzc3NjUKKyAgICAgICAgICAgIEFTU0VSVChhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJv
dG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0
Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgIHNob3VsZFJlc2V0IHw9IGEtPnJhcmVEYXRh
KCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7IAor
ICAgICAgICAgICAgYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5p
bnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wdGlt
aXphdGlvbiBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgZm9yIChh
dXRvJiBjYXNlVG9BZGQgOiBjYXNlc1RvQWRkKSB7CisgICAgICAgIGZvciAoYXV0byYgZXhpc3Rp
bmdDYXNlIDogbV9saXN0KSB7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSBjYXNlVG9BZGQt
PnN0cnVjdHVyZSgpOworICAgICAgICAgICAgU3RydWN0dXJlKiBiID0gZXhpc3RpbmdDYXNlLT5z
dHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIGNvbnNpZGVyUG9seVByb3RvUmVzZXQoYSwgYik7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNhc2VzVG9BZGQu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gaSArIDE7IGogPCBjYXNl
c1RvQWRkLnNpemUoKTsgKytqKSB7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSBjYXNlc1Rv
QWRkW2ldLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGNhc2VzVG9B
ZGRbal0tPnN0cnVjdHVyZSgpOworICAgICAgICAgICAgY29uc2lkZXJQb2x5UHJvdG9SZXNldChh
LCBiKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzaG91bGRSZXNldCkKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OlJlc2V0U3R1YjsKKwogICAgIC8vIE5vdyBh
ZGQgdGhpbmdzIHRvIHRoZSBuZXcgbGlzdC4gTm90ZSB0aGF0IGF0IHRoaXMgcG9pbnQsIHdlIHdp
bGwgc3RpbGwgaGF2ZSBvbGQgY2FzZXMgdGhhdAogICAgIC8vIG1heSBiZSByZXBsYWNlZCBieSB0
aGUgbmV3IG9uZXMuIFRoYXQncyBmaW5lLiBXZSB3aWxsIHNvcnQgdGhhdCBvdXQgd2hlbiB3ZSBy
ZWdlbmVyYXRlLgogICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgewpAQCAt
MzM5LDcgKzM3NCw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MK
ICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0
YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7
CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NH
ZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAg
ICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsK
QEAgLTU5MCw2ICs2MjUsOSBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwg
QWNjCiAgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpHZW5lcmF0ZWRGaW5hbENvZGU6
CiAgICAgICAgIG91dC5wcmludCgiR2VuZXJhdGVkRmluYWxDb2RlIik7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OlJlc2V0U3R1YjoKKyAgICAgICAg
b3V0LnByaW50KCJSZXNldFN0dWIiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjcx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoKICAgICAgICAgR2F2ZVVw
LAogICAgICAgICBCdWZmZXJlZCwKICAgICAgICAgR2VuZXJhdGVkTmV3Q29kZSwKLSAgICAgICAg
R2VuZXJhdGVkRmluYWxDb2RlIC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZl
ciB3YW50IHRvIGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAgICAgIEdlbmVyYXRlZEZpbmFsQ29k
ZSwgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJh
dGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgUmVzZXRTdHViIC8vIFdlIGZvdW5kIG91dCBzb21lIGRh
dGEgdGhhdCBtYWtlcyB1cyB3YW50IHRvIHN0YXJ0IG92ZXIgZnJlc2ggd2l0aCB0aGlzIHN0dWIu
IEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIHdoZW4gd2UgZGV0ZWN0IHBvbHkgcHJvdG8uCiAgICAg
fTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0KCkKQEAgLTk4LDYgKzk5LDcgQEAg
cHVibGljOgogICAgIGJvb2wgYnVmZmVyZWQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQnVm
ZmVyZWQ7IH0KICAgICBib29sIGdlbmVyYXRlZE5ld0NvZGUoKSBjb25zdCB7IHJldHVybiBtX2tp
bmQgPT0gR2VuZXJhdGVkTmV3Q29kZTsgfQogICAgIGJvb2wgZ2VuZXJhdGVkRmluYWxDb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kID09IEdlbmVyYXRlZEZpbmFsQ29kZTsgfQorICAgIGJvb2wg
c2hvdWxkUmVzZXRTdHViKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IFJlc2V0U3R1YjsgfQog
ICAgIAogICAgIC8vIElmIHdlIGdhdmUgdXAgb24gdGhpcyBhdHRlbXB0IHRvIGdlbmVyYXRlIGNv
ZGUsIG9yIGlmIHdlIGdlbmVyYXRlZCB0aGUgImZpbmFsIiBjb2RlLCB0aGVuIHdlCiAgICAgLy8g
c2hvdWxkIGdpdmUgdXAgYWZ0ZXIgdGhpcy4KQEAgLTE3MSwxNCArMTczLDE2IEBAIHByaXZhdGU6
CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0
aW9uU3RhdGUoVk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwg
bV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lz
dGVyc0ZvckNhbGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRz
VG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxh
dGVkQ2FsbFNpdGVJbmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAg
IEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7
IG51bGxwdHIgfTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAg
ICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNl
ZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
cGVydHlDb25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNywxNCArMTA3LDMwIEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3Rp
bGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92
ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBz
aG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BD
IGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICB9CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+
Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIHRoZSBw
cm9wZXJ0eSBleGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJyZW50T2Zmc2V0LCAiXG4iKTsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKKworICAg
ICAgICBKU09iamVjdCogY3VycmVudFByb3RvdHlwZTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzTW9ub1Byb3RvKCkpCisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChiYXNlKTsKKyAgICAgICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVjdHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBl
RGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0g
cHJvdG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFs
Ojp2ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAg
ICAgIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvdG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCksICIgZXZlbiB0aG91Z2ggIgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMg
aXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAg
ICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMg
d29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8u
CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlw
ZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9z
ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vz
c0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5
YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3Rk
Ojp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikK
KyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJv
eHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0K
IAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09
IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOwor
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2
aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsK
IH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMg
QWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAg
dXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0K
IAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlND
ZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0g
ICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNj
ZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwg
Q29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+
KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3Mg
PSBsaXN0LT5hdChpKTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKKyAgICAgICAg
ICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBQ
dXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBQ
dXRCeUlkVmFyaWFudCB2YXJpYW50OwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTEgQEAgQWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3RydWN0dXJlU3R1
YkluZm9JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkhhZCBzdHViLCBy
ZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRSZXNl
dFN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgp
KSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJu
YWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJDcmVhdGVkIHN0dWIsIHJlc3VsdDog
IiwgcmVzdWx0LCAiXG4iKTsKIAorICAgICAgICBpZiAocmVzdWx0LnNob3VsZFJlc2V0U3R1Yigp
KSB7CisgICAgICAgICAgICByZXNldChjb2RlQmxvY2spOworICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAg
ICAgICAgICAgIGJ1ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc0NCw2ICszNzQ0
LDExIEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRo
ZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBw
cm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFy
ZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVT
ZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhh
dCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9Q
dXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93
LCBpZiB3ZSBoYXZlIGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3
aWxsCisgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUg
b25jZSB3ZSBoYXZlIGEgaHlicmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAg
IC8vIHBvbHkgcHJvdG86CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7
ICsraSkgewpAQCAtNDM0MSwxMiArNDM0NiwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAg
ICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEo
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVl
IGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAg
IGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNl
dChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRv
R3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1
cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFs
bG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFy
ZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxl
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5m
byhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RT
cHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0g
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVBy
b3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1
cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAg
IGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlw
ZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkKKyAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQog
ICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAg
IGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURh
dGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJl
LT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyOTIsNyArNDI5Miw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQ
dHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQu
bG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0
YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNs
b3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBh
bGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIs
IG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBz
Y3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJ
VENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0
YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JD
CiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5
cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVl
UmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0
Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5
cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJl
Z3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5
LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwog
ICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJs
ZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9B
c3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNo
UmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2Jq
ZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNl
dCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9h
ZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICAvLyBPT1BTOiAzMi1iaXQgaGVyZQorICAgIG1faml0LmxvYWQ2NChNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRD
b21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6
VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNS
ZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3Jh
dGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3Rh
bmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywg
cHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2Vs
bChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgx
LDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4K
ICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxk
MigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRo
aXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAg
ICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNj
cmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3Mo
KSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9h
ZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAg
ICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVn
LCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGls
ZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRj
aFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUu
bGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0
aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigp
OwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVn
IHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNj
cmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwog
ICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90
b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRj
aFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTks
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEo
Tm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJp
Y3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90
eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsK
KyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVS
ZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJS
ZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5z
dGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1MywxMiBAQCBwcml2
YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwot
ICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAg
ICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9u
b2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5NzQsMTYgKzg5NzYs
MjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1f
b3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0g
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAg
ICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1
ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1
ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJ
bmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVx
dWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAg
ICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNl
U2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShk
ZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBy
b3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhs
b2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1
cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5
cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUp
OworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVy
ZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
ZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1f
b3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byks
IHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9h
ZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1f
b3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7Cisg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAg
ICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55
TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5s
aW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOwor
CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNl
KTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRp
cmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3Rh
bmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9v
dXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJv
dG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2Yg
dGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAg
ICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhl
biBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3Ry
dWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhy
ZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9h
ZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJl
c3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0
byBoYXNNb25vUHJvdG8gPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7Cisg
ICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4
KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFn
ZSgpKSwgcmVnVDQpOworICAgIGhhc01vbm9Qcm90by5saW5rKHRoaXMpOworICAgIG1vdmUocmVn
VDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1Qy
LCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMp
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJv
dG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8v
IEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNl
dC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1c2VzUG9s
eVByb3RvKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgdXNlIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IGluc3RlYWQgZm9yIGZhc3RlciBhY2Nlc3Nlcy4KKyAgICAgICAgICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNv
ZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDog
c2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdl
dHRlciA9IG51bGxwdHI7CkBAIC0yOTMsMTMgKzMwNywxNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFBy
b3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9p
bnRTZXQoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0
dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIo
Z2V0dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vz
c0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOworICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFy
Z2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5F
bWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSAmJiAhcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsg
d2l0aCBwb2x5IHByb3RvLCBidXQgZm9yIG91ciBvd24gc2FuaXR5LCB3ZSBwcm9iYWJseQorICAg
ICAgICAgICAgLy8gd2FudCB0byBkbyBhIHBvaW50ZXIgY2hlY2sgb24gdGhlIGFjdHVhbCBnZXR0
ZXIuIEEgZ29vZCB0aW1lIHRvIG1ha2UgdGhpcyB3b3JrIHdvdWxkCisgICAgICAgICAgICAvLyBi
ZSB3aGVuIHdlIGNhbiBpbmhlcml0IGZyb20gYnVpbHRpbiB0eXBlcyBpbiBwb2x5IHByb3RvIGZh
c2hpb246CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzE4CiAgICAgICAgICAgICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBnZXR0ZXIpOwotICAgICAgICBlbHNlIHsKKyAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5z
ZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDog
QWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkp
OworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBB
Y2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXND
YWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2Fj
aGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAg
ICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDog
bnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0zODYsNiArNDA0LDcgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBuZXdDYXNlOworICAg
IEpTQ2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAKICAgICBpZiAoc2xvdC5i
YXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogICAgICAgICBp
ZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlTbG90OjpFeGlzdGluZ1Byb3BlcnR5KSB7CkBA
IC00MjksNDggKzQ0OCw4MyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRC
eUlECiAgICAgICAgICAgICBBU1NFUlQoIW5ld1N0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpOwog
ICAgICAgICAgICAgQVNTRVJUKG5ld1N0cnVjdHVyZS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAg
ICAKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCBjb25kaXRpb25TZXQ7CiAgICAgICAgICAgICBpZiAocHV0S2luZCA9PSBOb3REaXJlY3QpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1pc3MoCi0gICAgICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAg
ICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJ
dCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAg
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25k
aXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvcGVydHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVC
bG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAg
ICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNo
ZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxlU2V0dGVyKCkpIHsKICAgICAgICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQgY29uZGl0aW9uU2V0OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBv
bHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKIAogICAgICAgICAgICAg
aWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2Vz
UG9seVByb3RvOworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVBy
b3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VD
ZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFs
aWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3Nv
cigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0
b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0g
ICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNz
Q2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRl
ciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0g
YmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwotICAgICAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRp
dGlvbigpLm9mZnNldCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90
eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisKKyAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQob2Zmc2V0ID09IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9m
ZnNldCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0
LCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFjY2Vzc0Nh
c2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01MTcsMTUgKzU3MSwz
NSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUo
dm0pOwogICAgIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0
aW9uU2V0OwogICAgIGlmICh3YXNGb3VuZCkgewogICAgICAgICBpZiAoc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2UpIHsKLSAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9u
c0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hh
aW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFj
Y2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90
bykgeworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5
cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6
Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQ
cm90byk7CisgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
IC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgh
dXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxs
cHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIWNvbmRpdGlvblNl
dC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcgKzYw
Nyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgTE9HX0lD
KChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlkZW50
KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNl
OjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nh
c2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogCiAgICAgQWNj
ZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBzdHViSW5mby5hZGRBY2Nlc3NDYXNlKGxvY2tl
ciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShuZXdDYXNlKSk7CiAgICAgCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2NjcsMjQgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7CiAKKyAgICAgICAgeworICAgICAgICAgICAg
U3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOworICAgICAg
ICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAgICAgICAgICAgICAgYXV0byBvcGNvZGUg
PSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0pOworICAgICAgICAgICAgICAgIGlmIChv
cGNvZGUgPT0gb3BfZ2V0X2J5X2lkCisgICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBv
cF9nZXRfYnlfaWRfdW5zZXQKKyAgICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9wX2dl
dF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9
IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJl
KHZtKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0
VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52
YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1
bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZh
bHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxsLT5z
dHJ1Y3R1cmUoKTsKICAgICAgICAgaWYgKHNsb3QuaXNWYWx1ZSgpICYmIHNsb3Quc2xvdEJhc2Uo
KSA9PSBiYXNlVmFsdWUpIHsKQEAgLTczNyw2ICs3NTUsMjIgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAKKworICAgICAgICB7CisgICAgICAg
ICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJRCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7Cisg
ICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQpOwor
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKHZtKTsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlT
bG90OjpOZXdQcm9wZXJ0eSkKKyAgICAgICAgICAgICAgICAgICAgYiA9IGItPnByZXZpb3VzSUQo
KTsKKworICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQ
cm90byhhLCBiKSkgeworICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQ
b2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRl
dGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICBi
LT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0s
IFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8v
IFN0YXJ0IG91dCBieSBjbGVhcmluZyBvdXQgdGhlIG9sZCBjYWNoZS4KICAgICAgICAgcGNbNF0u
dS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xkIHN0cnVjdHVyZQogICAgICAgICBwY1s1XS51LnBv
aW50ZXIgPSBudWxscHRyOyAvLyBvZmZzZXQKQEAgLTc2MCwxNiArNzk0LDE3IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPm91dE9m
TGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNpdGlv
bldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7CiAKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52YWxp
ZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgc2F3UG9seVByb3Rv
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgYmFzZUNlbGwsIHNhd1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJv
dG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3Vz
SUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVj
dHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlkKCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJ
ZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5
cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10u
dS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51
LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFn
cyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxp
bmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVj
dCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZt
LCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICBy
ZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhl
Y1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwg
dWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1
ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2Fz
ZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3du
VG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25U
b0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0
aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9p
bmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0
aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxl
bmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRh
ICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsK
QEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFy
cmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYm
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAg
IGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBz
dG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwpAQCAtMTE3Niw3ICsxMTc1LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRz
KEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4
aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNl
LT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291
cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1
aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSog
YnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9y
YWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3Ro
KTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3Rv
ciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVy
IGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgo
dmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRB
cmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRo
YXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmpl
Y3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBt
YXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0
eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1
cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCAr
MTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9
IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFy
Z3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCgh
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZy
YW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRz
TW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElu
bGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFT
U0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpz
VmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9w
ZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVE
YXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3Ry
dWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCks
IGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9
IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2
Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVl
IHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRy
ZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3Ip
OwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFs
Q29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0
YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGFibGUuaCIKICNp
bmNsdWRlICJTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSA8d3RmL0JveC5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtMTcyLDYgKzE3MywxOCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwog
CiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3Npbmds
ZXRvbkZ1bmN0aW9uLmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciB0aGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3Ry
dWN0dXJlKiBjYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQ
cm90b1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0
dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CisKKyAgICBJbmxpbmVXYXRjaHBvaW50
U2V0JiBlbnN1cmVQb2x5UHJvdG9XYXRjaHBvaW50KCkKKyAgICB7CisgICAgICAgIGlmICghbV9w
b2x5UHJvdG9XYXRjaHBvaW50KQorICAgICAgICAgICAgbV9wb2x5UHJvdG9XYXRjaHBvaW50ID0g
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+OjpjcmVhdGUoSXNXYXRjaGVkKTsKKyAgICAgICAgcmV0
dXJuICptX3BvbHlQcm90b1dhdGNocG9pbnQ7CisgICAgfQorCisgICAgQm94PElubGluZVdhdGNo
cG9pbnRTZXQ+IHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3Bv
bHlQcm90b1dhdGNocG9pbnQ7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0
YWJsZUJhc2U7CkBAIC0xODksNiArMjAyLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8
RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxU
eXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVy
cmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CisgICAgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1
bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlv
blJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3Ry
dWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBn
bG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwg
dGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lk
IEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAg
ICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJ
bnRlcm5hbEZ1bmN0aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9u
OjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5l
d1RhcmdldCwgU3RydWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NF
UlQoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQo
bmV3VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VS
VChiYXNlQ2xhc3MtPmhhc01vbm9Qcm90bygpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUg
YW4gSW50ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3Ry
dWN0LgogICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1
bmN0aW9uKj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTczOCw3ICs3MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBl
CiAgICAgY2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6
IHsKICAgICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlO
X1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRF
WCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3
Myw3ICs3NzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAg
ICAgCiAgICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBp
biBhbiBhYm5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGlu
IEFycmF5UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAo
KHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAog
ICAgICAgICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBi
ZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQg
aGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdl
IHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVk
IGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewog
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7
CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSAr
IGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05
NDUsNyArOTQ1LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAog
ICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92
aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAg
Ly8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4g
aW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAt
IGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
ZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBA
QCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVj
dHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY0LDggKzY0LDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0m
IHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZl
IGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBh
bmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90
eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTky
Ci0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkK
LSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5n
U3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFz
c09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBi
dXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRl
eHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRl
eHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAg
ICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7
CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6
ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVj
dHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2Ug
aWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXN5bmNHZW5lcmF0b3JQcm90
b3R5cGUuaCIKICNpbmNsdWRlICJCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJDYXRjaFNjb3Bl
LmgiCiAjaW5jbHVkZSAiQ2xvbmVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgi
CiAjaW5jbHVkZSAiQ29tbW9uSWRlbnRpZmllcnMuaCIKQEAgLTEyNiwxNiArMTI3LDI0IEBAIEZ1
bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJl
RGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHNjb3BlLCAh
c2NvcGUuZXhjZXB0aW9uKCkpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAg
ICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rp
b246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90
IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0g
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7
Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+
b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEg
PSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhp
cyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byBy
ZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMg
aXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1OCw4IEBAIEZ1bmN0aW9uUmFyZURh
dGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFs
T2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xv
YmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzcxLDcg
KzM3Nyw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAg
ICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0
aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zm
c2V0KTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFtZSk7
CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wgdmFsdWUgaWYg
dGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNPYmplY3QqIHBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01h
cC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjpp
c0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxP
YmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBl
KCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJv
dG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5k
Tm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVT
ZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGds
b2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElu
bGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2Jq
LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1
dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRo
aXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8
fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRl
cmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9
IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0g
aW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5
KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9s
ZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVs
bCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBT
dHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0
ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2
LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQog
ewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNv
bnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVl
cyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcg
KzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBA
IC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGln
dW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0
VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3
LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAg
IHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
ICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJu
IGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcg
QEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3Jl
YXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIy
IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAg
ICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uo
dm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAg
QVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAg
QVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VP
VVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90
b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAg
ICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAg
IAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5
cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVj
dHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVj
dHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJl
KHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUp
OworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQ
cm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBp
ZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVy
ZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3Jk
aW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVm
YXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4g
YXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAg
ICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9
PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAv
LyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFu
ZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5
SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4
Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAg
ICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBj
cmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwg
aSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywg
dmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAt
MzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgo
RQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChF
eGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBW
TSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0g
dGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
KyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJy
ZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdl
dFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwor
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5n
ZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAg
ICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmlu
Z0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUu
aCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIK
KyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgog
I2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpA
QCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1Nl
YWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAg
IGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2
bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5z
aWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsK
ICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJp
dHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNO
dWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVj
dCgpKSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aGFzUG9seVByb3RvKCkgfHwgZ2V0
UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpo
ZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+
aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0x
Mjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0
CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAog
ewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJu
IHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVl
IEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAw
LDcgKzE0MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0
LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9w
ZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtl
IGl0J3MgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYg
KCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9w
ZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
OwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxl
LmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRo
b2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkp
Ci0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlw
ZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxz
ZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRO
b25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBp
ZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlw
ZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0g
UHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAg
ICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAg
cHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7
CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTks
NyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAg
IH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJv
cGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSkt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7Cisg
ICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJl
Y3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0
TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNzEyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5z
dHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVy
YXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAg
ICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlw
ZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9w
ZXJ0aWVzID0gMDsKQEAgLTEzMywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqIHByb3BlcnQKIAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJ
TlQzMl9NQVgpOwogCi0gICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbjsKKyAgICBib29sIHNhd1BvbHlQcm90bzsKKyAgICBib29sIHN1Y2Nlc3NmdWxseU5vcm1h
bGl6ZWRDaGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UsIHNhd1BvbHlQ
cm90bykgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgs
IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAg
IGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5
Tm9ybWFsaXplZENoYWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxs
eU5vcm1hbGl6ZWRDaGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgewor
ICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJl
LT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNh
bkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5z
ZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29s
IEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9
PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNT
ZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNh
bkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlz
U2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5n
ZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNv
bmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0g
ICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzYsMjMgKzEzNiwzMCBAQCBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSB2
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3NpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNDZWxsKiBiYXNlLCBi
b29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFsc2U7CisgICAgSlNDZWxs
KiBjdXJyZW50ID0gYmFzZTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gY2Fs
bEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAgd2hpbGUgKDEpIHsKKyAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBp
ZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3Rv
dHlwZUNoYWluOwotICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChjYWxsRnJhbWUpOwotICAgICAgICBpZiAodi5pc051bGwoKSkKKworICAgICAgICBzYXdQ
b2x5UHJvdG8gfD0gc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKKworICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwg
Y3VycmVudCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gY291bnQ7CiAKLSAgICAgICAgSlNDZWxsKiBiYXNlID0gdi5hc0NlbGwoKTsKLSAgICAg
ICAgc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IHBy
b3RvdHlwZS5hc0NlbGwoKTsKKyAgICAgICAgc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKTsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKICAgICAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOwotICAgICAgICAgICAgc3RydWN0dXJl
LT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoYmFzZSkpOworICAgICAg
ICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3Qo
Y3VycmVudCkpOwogICAgICAgICB9CiAKICAgICAgICAgKytjb3VudDsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzQsNyArMzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFt
ZSosCiBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlKTsKIGJvb2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7
CiBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90
eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90
eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgSlNDZWxsKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxX
QVlTX0lOTElORSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyog
czEsIEpTU3RyaW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYg
Y29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21D
b250ZXh0LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCks
IHdlIHdpbGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGlu
IGl0IHRvIGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2Vt
Ymx5VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlu
a0luZm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwg
dXNlT2JqZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFi
bGUgT2JqZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlB
bGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBv
dXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9j
YXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2
KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1
ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYg
ZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5k
ZWNpZGVkLiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJ
ZiB0cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBw
b2x5IHByb3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5
cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUu
CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3Ry
dWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBl
SW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
CiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJv
dG90eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5
cGUgdG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRl
IG5vbi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZSht
YWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9T
dHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNNb25vUHJv
dG8oKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsK
LSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBn
bG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICBpZiAobWFr
ZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNy
ZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3Jl
YXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywg
Y2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAgbV9z
dHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKKwogICAgIHJl
dHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4OSwyMSBAQCBTdHJ1Y3R1cmUqIFByb3Rv
dHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBo
YXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFs
bCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNh
cGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1
cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFBy
b3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMo
aW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5J
bmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1
cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1
Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5
cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlw
ZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
CitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAg
ICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpT
RmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBj
cmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVj
dDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZh
dWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjpt
YWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwg
Z2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUo
bnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRf
UFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNf
RVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJv
b2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJF
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
YWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBl
KEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAK
IHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJ
bmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0
dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAog
ICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8g
RklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6
OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2Jq
ZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9
IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5m
byosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3Ry
dWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg4LDYgKzE4OCw3IEBAIFN0
cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICAsIG1fY2xhc3NJbmZv
KGNsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQog
ICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7
CiAgICAgc2V0RGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bp
bm5lZFByb3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjIwLDYgKzIyMSw3IEBAIFN0cnVjdHVyZTo6
U3RydWN0dXJlKFZNJiB2bSkKICAgICAsIG1fY2xhc3NJbmZvKGluZm8oKSkKICAgICAsIG1fdHJh
bnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9m
ZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQo
Tm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2Up
OwpAQCAtMjQ3LDEwICsyNDksMTEgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAg
ICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwg
bV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9w
cm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8p
CiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zm
c2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaChwcmV2aW91cy0+bV9wcm9w
ZXJ0eUhhc2gpCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQocHJldmlvdXMtPmRpY3Rpb25hcnlL
aW5kKCkpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yOTYsNiAr
Mjk5LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0
aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7CiB9CiAK
K1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBp
bmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVjdHVyZSog
cmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNs
YXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1bnNpZ25lZCBv
bGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKKyAgICBy
ZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwKKyAgICAg
ICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0g
b2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxp
bmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2
bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0TGFz
dE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6
YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1
Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0dXJlcy5p
c0VtcHR5KCkpOwpAQCAtMzk5LDI2ICs0MTksMTQgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFk
ZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0
dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKS0+c3Ry
dWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRo
aXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2
bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFBy
b3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7
CkBAIC00MjcsNyArNDM1LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3QtPnN0cnVjdHVyZSh2
bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhvYmplY3QtPmluZGV4aW5nVHlw
ZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFBy
b3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBl
KG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBA
IC00MzcsMjAgKzQ0NSw2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJ
bmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdB
QmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAobmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2Nh
dGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5z
aXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQotCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBhZGRQcm9wZXJ0eVRy
YW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAtNTUzLDYgKzU0Nyw4IEBAIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpIHx8
IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAg
ICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCkBAIC0x
MDY4LDExICsxMDY0LDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0
cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVj
dHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBjb25zdAotewotICAgIHJldHVybiBwcm90
b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZvaWQgU3Ry
dWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+KGNlbGwp
OwpAQCAtMTExMCw3ICsxMTAxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygp
CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAog
ICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3Vy
cmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5
cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVP
YmplY3QoKSkpOworICAgICAgICAmJiAoaGFzUG9seVByb3RvKCkgfHwgIXN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYg
dmlzaXRvcikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNo
ZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAg
ICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwot
ICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBp
ZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsK
LSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
KTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUo
SlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVy
ZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAg
ICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBlLnB0cigp
OwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVlIGN1clZh
bHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgd2hp
bGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfD0gY3Vy
U3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFw
RW50cnkmIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJv
cGVydHkoKmVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50
cnkua2V5KS5pc1ByaXZhdGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5h
ZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIH0pOwogCkBAIC0xMTY5LDI2ICsxMTM5LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwo
KTsKIAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkgewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKLSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwot
ICAgICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1
clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAg
ICAgICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAgICAgICBKU09i
amVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0KQorICAgICAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVy
ZVNoYXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNv
cHlSZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAg
IGN1clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90
b3R5cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNo
YXBlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1
cmUqIG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxp
bmVDYXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9y
ZWRQcm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBv
dGhlci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIo
dGhpcyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDMsNyAr
MTE3MSw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAK
ICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsK
ICAgICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKGhhc1Bv
bHlQcm90bygpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5
UHJvdG9PZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkp
CiAgICAgICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdl
dCgpLmFzQ2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKQEAgLTEy
ODgsOSArMTI1OCw3IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5TmFtZUVudW0K
ICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBpZiAoIXN0cnVjdHVyZS0+Z2V0KCkpCiAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFy
eSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoc3RydWN0dXJlLT5n
ZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCisgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBzdHJ1Y3R1cmUtPmdldCgpLT50
eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpAQCAtMTMwOSw0ICsxMjc3LDUy
IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5BY2Nlc3NQcm9wZXJ0aWVzUXVpY2sKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorLy8gT09QUzogbGV0cyBpbmxpbmUgdGhpcyBmdW5jdGlvbi4KK2Jvb2wgU3Ry
dWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3QgU3RydWN0dXJlKiBhLCBjb25z
dCBTdHJ1Y3R1cmUqIGIpCit7CisgICAgaWYgKCFhIHx8ICFiKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpZiAoYSA9PSBiKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
YS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBvYmplY3RzIGNyZWF0ZWQgdmlhIGEg
Y29uc3RydWN0b3IncyB0b190aGlzLiBUaGVzZQorICAgIC8vIGFsbCBoYXZlIFN0cnVjdHVyZXMg
d2l0aCByYXJlIGRhdGEgYW5kIGEgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludC4KKyAgICBpZiAo
IWEtPmhhc1JhcmVEYXRhKCkgfHwgIWItPmhhc1JhcmVEYXRhKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBTdHJ1Y3R1cmUncyBnZW5lcmF0ZWQg
ZnJvbSBmdW5jdGlvbnMgdGhhdCBzaGFyZQorICAgIC8vIHRoZSBzYW1lIGV4ZWN1dGFibGUuCisg
ICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBhSW5saW5lV2F0Y2hwb2ludFNldCA9
IGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICBjb25zdCBC
b3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIGJJbmxpbmVXYXRjaHBvaW50U2V0ID0gYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAgIGlmIChhSW5saW5lV2F0Y2hw
b2ludFNldC5nZXQoKSAhPSBiSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSB8fCAhYUlubGluZVdh
dGNocG9pbnRTZXQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBBU1NFUlQoYUlubGluZVdh
dGNocG9pbnRTZXQgJiYgYklubGluZVdhdGNocG9pbnRTZXQgJiYgYUlubGluZVdhdGNocG9pbnRT
ZXQuZ2V0KCkgPT0gYklubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkpOworCisgICAgaWYgKGEtPmhh
c1BvbHlQcm90bygpIHx8IGItPmhhc1BvbHlQcm90bygpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoYS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYi0+c3RvcmVkUHJvdG90eXBlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFZNJiB2bSA9ICphLT52bSgpOworICAgIEpT
T2JqZWN0KiBhT2JqID0gYS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNPYmplY3Qq
IGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICB3aGlsZSAoYU9iaiAmJiBi
T2JqKSB7CisgICAgICAgIGEgPSBhT2JqLT5zdHJ1Y3R1cmUodm0pOworICAgICAgICBiID0gYk9i
ai0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoYS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+
cHJvcGVydHlIYXNoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYU9i
aiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdChhT2JqKTsKKyAgICAgICAgYk9iaiA9IGItPnN0
b3JlZFByb3RvdHlwZU9iamVjdChiT2JqKTsKKyAgICB9CisKKyAgICByZXR1cm4gIWFPYmogJiYg
IWJPYmo7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyAr
MTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1
Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsgUG9seVByb3Rv
IH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRl
eGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsKKyAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8q
LCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsK
IAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCwxOSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFTU0VSVCht
X3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1f
cHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlzT2JqZWN0
KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigpKTsKKyAg
ICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgU3RydWN0dXJlKiBw
cmV2aW91cykKKyAgICB7CisgICAgICAgIHRoaXMtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAg
ICAgaWYgKHByZXZpb3VzLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgICAgICBjb25zdCBTdHJ1
Y3R1cmVSYXJlRGF0YSogcHJldmlvdXNSYXJlRGF0YSA9IHByZXZpb3VzLT5yYXJlRGF0YSgpOwor
ICAgICAgICAgICAgaWYgKHByZXZpb3VzUmFyZURhdGEtPmhhc1NoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKSkgeworICAgICAgICAgICAgICAgIGVuc3VyZVJhcmVEYXRhKHZtKTsKKyAgICAgICAg
ICAgICAgICByYXJlRGF0YSgpLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KHByZXZpb3Vz
UmFyZURhdGEtPmNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpOworICAgICAgICAgICAg
fQorICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIENy
ZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE4MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29u
Y3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0
dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1
Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwg
U3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpTX0VYUE9S
VF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0m
LCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVjdHVyZSog
Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90
eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRyaWJ1dGVD
aGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiB0b0Nh
Y2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRTdHJ1
Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGljIFN0
cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJl
Kik7CkBAIC0yMDgsNyArMjIyLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuICF0
eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNlbmNlKCk7
CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkKQEAg
LTI0MCwyNiArMjU0LDQyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlw
ZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAgICB9CiAg
ICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUlu
dGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJy
YXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgp
OyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQgZHVy
aW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAgICAgLy8g
b2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBpbiBhIGJ1
bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBnbG9i
YWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29u
c3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzTW9ub1Byb3Rv
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQz
MigpOworICAgIH0KKyAgICBib29sIGhhc1BvbHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gIWhhc01vbm9Qcm90bygpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3JlZFByb3Rv
dHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8o
KSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAgUHJvcGVy
dHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGhhc1BvbHlQcm90bygpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgp
LmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNP
YmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0
IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1
cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQcm90b3R5
cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSopIGNv
bnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KikgY29u
c3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29uc3Q7Ci0g
ICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqKSBj
b25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKikgY29u
c3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqLCBKU0Nl
bGwqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNo
YWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAg
ICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAg
IAogICAgIC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlmIGRvaW5n
IHNvIHdvdWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0yNzIsMTQg
KzMwMiwzMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgc3Ry
dWN0dXJlIGlzIG5vdyBtYXJrZWQuCiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90VmlzaXRvciYp
OwotICAgICAgICAKLSAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBpbnRlcmNl
cHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwogICAgIAog
ICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGlzUmFy
ZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0cnVjdHVy
ZVJhcmVEYXRhKiByYXJlRGF0YSgpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEo
KSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJl
dmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJ1Y3R1cmVSYXJl
RGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1JhcmVEYXRh
KCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3RydWN0dXJlUmFyZURhdGEq
PihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0dXJlUmFy
ZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICghaGFzUmFy
ZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAgICByZXR1
cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91c0lEKCkg
Y29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU3OSw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZvaWQgc3Rh
cnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4oVk0m
IHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXM7IHN0
cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGll
c0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlwZXMoKSBj
b25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsKQEAgLTU4
OCwxMSArNjI4LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3RvcmVWYWx1ZVNsb3codm0sIHBy
b3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZlcnJlZFR5cGVUYWJsZTo6T2xk
UHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVT
aGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0d28gc3RydWN0
dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZvciBhbGxvY2F0
aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JBbGxvY2F0
aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1Y3R1cmVT
aGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIAogICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4dChQcmlu
dFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC02MDEsNiArNjM3LDEwIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBkdW1wQ29udGV4dEhlYWRlcihQcmludFN0cmVhbSYpOwogICAg
IAogICAgIENvbmN1cnJlbnRKU0xvY2smIGxvY2soKSB7IHJldHVybiBtX2xvY2s7IH0KKworICAg
IHVuc2lnbmVkIHByb3BlcnR5SGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlIYXNoOyB9
CisKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3QgU3RydWN0
dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpOwogICAgIAogICAgIERFQ0xBUkVfRVhQT1JUX0lO
Rk87CiAKQEAgLTcyMCw4ICs3NjAsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbnVtYmVy
T2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNpdHkpOwogICAgIH0K
IAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWluKiBjYWNo
ZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAgYm9vbCBpc1ZhbGlkKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7CisgICAgYm9vbCBpc1Zh
bGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWlu
LCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAgICAvLyBZb3UgaGF2ZSB0byBob2xkIHRoZSBz
dHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHBp
bihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwgUHJvcGVydHlUYWJsZSopOwpAQCAtNzMyLDEy
ICs3NzEsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5zdHJ1Y3R1
cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFyZURhdGEq
IHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsK
LSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91
c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERldGFp
bHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRhYmxlKiwg
Y29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29uc2lzdGVu
Y3koKSBjb25zdDsKQEAgLTc4Nyw2ICs4MjAsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gbV9vZmZz
ZXQgZG9lcyBub3QgYWNjb3VudCBmb3IgYW5vbnltb3VzIHNsb3RzCiAgICAgUHJvcGVydHlPZmZz
ZXQgbV9vZmZzZXQ7CisKKyAgICB1aW50MzJfdCBtX3Byb3BlcnR5SGFzaDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlQ2hhaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUNoYWluLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw0
ICs1NSwyMyBAQCB2b2lkIFN0cnVjdHVyZUNoYWluOjp2aXNpdENoaWxkcmVuKEpTQ2VsCiAgICAg
fQogfQogCit2b2lkIFN0cnVjdHVyZUNoYWluOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2Jq
ZWN0KiBoZWFkKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgIHNpemVf
dCBzaXplID0gMDsKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsg
Y3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChj
dXJyZW50KSkKKyAgICAgICAgKytzaXplOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOworCisgICAgc2l6ZV90IGkgPSAwOworICAgIGZvciAo
SlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3Ry
dWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICB2ZWN0
b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkpOworICAgIAorICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CisgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7
CisgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpT
QwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFp
bi5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsK
IAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBo
ZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZNJiB2bSwgSlNPYmplY3Qq
IGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFp
bih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkpOwogICAgICAgICBjaGFpbi0+
ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjIgKzYyLDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZp
bmlzaENyZWF0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQotICAgIHsKLSAgICAgICAgQmFz
ZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAg
IGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJl
bnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0
b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICArK3NpemU7Ci0KLSAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9
IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwot
Ci0gICAgICAgIHNpemVfdCBpID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKLSAgICAgICAgICAgIHZlY3RvcltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7Ci0g
ICAgICAgIAotICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwotICAgICAgICBtX3ZlY3Rv
ciA9IFdURk1vdmUodmVjdG9yKTsKLSAgICB9CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IEpTT2JqZWN0KiBoZWFkKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgTExJbnRPZmZz
ZXRzRXh0cmFjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSwx
NiArNTEsMTcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGVTdHJ1YwogICAg
IHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERlZmVycmVkU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnRGaXJlKiBkZWZlcnJlZCkKK2lubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVy
ZTo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBwcmV2aW91cywgRGVmZXJyZWRTdHJ1Y3R1cmVU
cmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqIGRlZmVycmVkKQogewogICAgIEFTU0VSVCh2bS5zdHJ1
Y3R1cmVTdHJ1Y3R1cmUpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlPih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBzdHJ1
Y3R1cmUsIGRlZmVycmVkKTsKLSAgICBuZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtKTsK
KyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxs
PFN0cnVjdHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgcHJldmlvdXMsIGRlZmVycmVkKTsK
KyAgICBuZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtLCBwcmV2aW91cyk7CiAgICAgcmV0
dXJuIG5ld1N0cnVjdHVyZTsKIH0KIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3Jl
ZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzTW9ub1By
b3RvKCkpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAo
dmFsdWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQx
IEBAIGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogewor
ICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBKU09iamVjdCogb2JqZWN0
ID0gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitBTFdB
WVNfSU5MSU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmpl
Y3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVy
ZSgpID09IHRoaXMpOworICAgIGlmIChoYXNNb25vUHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIHN0
b3JlZFByb3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlz
SW50MzIoKSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCku
YXNJbnQzMigpOworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitB
TFdBWVNfSU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChj
b25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVj
dC0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc01vbm9Qcm90bygpKQorICAgICAg
ICByZXR1cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9i
amVjdC0+Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxs
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7
Cit9CisKK0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09i
amVjdCogcHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0
dXJuIHByb3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlT
X0lOTElORSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKQEAgLTE2Niw0MyAr
MTk2LDU2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNpdGl2ZWx5VHJhbnMKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29r
dXBQcmltaXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVj
dHVyZSogc3RydWN0dXJlKQoreworICAgIEFTU0VSVCghc3RydWN0dXJlLT5pc09iamVjdCgpKTsK
KworICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpCisg
ICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworCisgICAgQVNT
RVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSk7CisgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7CisKK30KKwogaW5saW5lIEpTVmFs
dWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8oKSk7CiAgICAg
aWYgKGlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBp
ZiAodHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2Jh
bE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7Ci0KLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBl
KCkgPT0gU3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90
eXBlKCk7CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCi1p
bmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4
ZWMpIGNvbnN0CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChp
c09iamVjdCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFzT2JqZWN0KGJhc2Up
KTsKKyAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmpl
Y3QsIHRoaXMpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90
eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5s
aW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAg
UkVMRUFTRV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBj
YWNoZSBvdXIgcHJvdG90eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAg
ICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgp
KSkgewotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9i
YWxPYmplY3QpOwotICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywg
U3RydWN0dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2Jq
ZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9i
amVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNW
YWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsK
KyAgICAgICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNo
YWluOjpjcmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChw
cm90b3R5cGUpKSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdl
dCgpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hh
aW4oRXhlY1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVj
dHVyZTo6aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFp
biogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6Omlz
VmFsaWQoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hl
ZFByb3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hl
ZFByb3RvdHlwZUNoYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHBy
b3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlw
ZUNoYWluLT5oZWFkKCk7CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlw
ZS5pc051bGwoKSkgewogICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJl
KCkgIT0gY2FjaGVkU3RydWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjU2LDYgQEAgaW5saW5l
IGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUu
aXNOdWxsKCkgJiYgISpjYWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVy
ZTo6aXNWYWxpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5
cGVDaGFpbikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCksIGNhY2hlZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0
dXJlOjpkaWRSZXBsYWNlUHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlm
IChMSUtFTFkoIWhhc1JhcmVEYXRhKCkpKQpAQCAtMzQxLDYgKzM3OSw4IEBAIGlubGluZSBQcm9w
ZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmFkZChWTSYKICAgICBhdXRvIHJlcCA9IHByb3BlcnR5TmFt
ZS51aWQoKTsKIAogICAgIFByb3BlcnR5T2Zmc2V0IG5ld09mZnNldCA9IHRhYmxlLT5uZXh0T2Zm
c2V0KG1faW5saW5lQ2FwYWNpdHkpOworCisgICAgbV9wcm9wZXJ0eUhhc2ggPSBtX3Byb3BlcnR5
SGFzaCBeIHJlcC0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsKICAgICAKICAgICBQcm9wZXJ0
eU9mZnNldCBuZXdMYXN0T2Zmc2V0ID0gbV9vZmZzZXQ7CiAgICAgdGFibGUtPmFkZChQcm9wZXJ0
eU1hcEVudHJ5KHJlcCwgbmV3T2Zmc2V0LCBhdHRyaWJ1dGVzKSwgbmV3TGFzdE9mZnNldCwgUHJv
cGVydHlUYWJsZTo6UHJvcGVydHlPZmZzZXRNYXlDaGFuZ2UpOwpAQCAtNDAwLDcgKzQ0MCw3IEBA
IGlubGluZSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVt
b3ZlKHByb3BlcnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0
UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElO
RSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUq
IHRhYmxlKQogewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRo
aXMsIHRhYmxlKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZVJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlN0cnVjdHVyZVJhcmVEYXRhLmgiCiAKICNp
bmNsdWRlICJBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnRCYXNlLmgiCisj
aW5jbHVkZSAiSW5mZXJyZWRWYWx1ZS5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVy
YXRvci5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJl
RGF0YS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBJbmZlcnJlZFZhbHVlOwogY2xhc3MgSlNQcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yOwogY2xhc3MgU3RydWN0dXJlOwogY2xhc3MgT2JqZWN0VG9TdHJpbmdB
ZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ7CkBAIC02Miw2ICs2MywxMSBAQCBwdWJsaWM6CiAg
ICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwg
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNl
dD4gY29weVNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQ
cm90b1dhdGNocG9pbnQ7IH0KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIHNo
YXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNo
cG9pbnQ7IH0KKyAgICB2b2lkIHNldFNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoQm94PElubGlu
ZVdhdGNocG9pbnRTZXQ+JiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCkgeyBtX3BvbHlQcm90
b1dhdGNocG9pbnQgPSBXVEZNb3ZlKHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpOyB9CisgICAg
Ym9vbCBoYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Ym9vbD4obV9wb2x5UHJvdG9XYXRjaHBvaW50KTsgfQorCiAgICAgREVDTEFSRV9FWFBP
UlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDExICs4MiwxMyBAQCBwcml2YXRlOgogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7CiAgICAgV3JpdGVCYXJyaWVyPEpTU3Ry
aW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTUHJvcGVydHlO
YW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOwotICAgIAorICAg
IFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX2luZmVycmVkQ29uc3RydWN0b3I7CisKICAg
ICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJlZlB0cjxXYXRjaHBvaW50U2V0Piwg
V1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFz
aFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0Y2hwb2ludE1hcDsKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBtX3JlcGxhY2VtZW50V2F0Y2hwb2lu
dFNldHM7CiAgICAgQmFnPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50
PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVXYXRjaHBvaW50U2V0OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxPYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2lu
dD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRWYWx1ZVdhdGNocG9pbnQ7CisgICAg
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKICAgICBib29s
IG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGU7CiB9OwogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxl
ckxvZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE5ICs2MywzNSBAQCB2b2lkIFR5cGVQcm9m
aWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1l
TVMoKTsKICAgICB9CiAKKyAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4+IGNhY2hlZE1vbm9Qcm90b1NoYXBlczsKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxTdHJ1
Y3R1cmUqLCBKU0NlbGwqPiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gY2FjaGVkUG9seVByb3Rv
U2hhcGVzOworCiAgICAgTG9nRW50cnkqIGVudHJ5ID0gbV9sb2dTdGFydFB0cjsKLSAgICBIYXNo
TWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IHNlZW5TaGFwZXM7CisKICAg
ICB3aGlsZSAoZW50cnkgIT0gbV9jdXJyZW50TG9nRW50cnlQdHIpIHsKICAgICAgICAgU3RydWN0
dXJlSUQgaWQgPSBlbnRyeS0+c3RydWN0dXJlSUQ7Ci0gICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVT
aGFwZT4gc2hhcGU7IAorICAgICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOwogICAg
ICAgICBKU1ZhbHVlIHZhbHVlID0gZW50cnktPnZhbHVlOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlID0g
ZmFsc2U7CiAgICAgICAgIGlmIChpZCkgewotICAgICAgICAgICAgc3RydWN0dXJlID0gSGVhcDo6
aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQpOyAKLSAgICAg
ICAgICAgIGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOwotICAgICAgICAg
ICAgaWYgKGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewotICAgICAgICAgICAgICAgIHNoYXBl
ID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICBz
ZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZSA9
IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KGlkKTsK
KyAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5maW5kKHN0cnVj
dHVyZSk7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBjYWNoZWRNb25vUHJvdG9TaGFwZXMuZW5k
KCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV9wYWlyKHN0cnVjdHVy
ZSwgdmFsdWUuYXNDZWxsKCkpOworICAgICAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZFBv
bHlQcm90b1NoYXBlcy5maW5kKGtleSk7CisgICAgICAgICAgICAgICAgaWYgKGl0ZXIgIT0gY2Fj
aGVkUG9seVByb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0g
aXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9
IHRydWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFzaGFwZSkg
eworICAgICAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFw
ZSh2YWx1ZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZFBv
bHlQcm90b1NoYXBlcy5zZXQoa2V5LCBzaGFwZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5zZXQoc3RydWN0
dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgfQpAQCAtODQsOCArMTAw
LDggQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAgICAgICBU
eXBlTG9jYXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0aW9uOwogICAgICAgICBsb2NhdGlv
bi0+bV9sYXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBpZiAobG9jYXRpb24tPm1fZ2xvYmFs
VHlwZVNldCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJ
bmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSk7Ci0gICAgICAgIGxv
Y2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdU
Rk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFs
VHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0
dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVj
dGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3Ry
dWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgICAgIGVudHJ5Kys7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTcgQEAgVHlwZVNldDo6VHlwZVNldCgpCiB7
CiB9CiAKLXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5cGUs
IFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSB0eXBl
LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3U2hhcGUsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAgICBtX3NlZW5UeXBlcyA9
IG1fc2VlblR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1Y3R1cmUgJiYgcGFzc2VkTmV3U2hh
cGUgJiYgIXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkpIHsKICAgICAgICAgUmVmPFN0cnVj
dHVyZVNoYXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBlLnJlbGVhc2VOb25OdWxsKCk7Ci0g
ICAgICAgIGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkgewotICAgICAg
ICAgICAgeworICAgICAgICAvLyBGSVhNRTogVHlwZVNldCBzaG91bGQgYmUgYWJsZSB0byBjYWNo
ZSBwb2x5IHByb3RvIGNoYWlucworICAgICAgICAvLyBqdXN0IGJ5IGNhY2hpbmcgdGhlIHByb3Rv
dHlwZSBjaGFpbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzYyNworICAgICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlIHx8ICFtX3N0
cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICBpZiAoIXNhd1Bv
bHlQcm90b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBs
b2NrZXIobV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZVNldC5hZGQoc3RydWN0
dXJlKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlU2V0LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1R5cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBUeXBl
U2V0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxU
eXBlU2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFR5cGVTZXQpOyB9CiAgICAg
VHlwZVNldCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQ
dHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOworICAgIHZvaWQgYWRkVHlwZUluZm9y
bWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSos
IGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2b2lkIGludmFsaWRhdGVDYWNoZSgp
OwogICAgIFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAgICBTdHJpbmcgZGlzcGxheU5hbWUo
KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFycmll
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dyaXRlQmFy
cmllci5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDYgKzE0NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRpbmdWYWx1ZShKU1ZhbHVlIHZhbHVl
KSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUpOyB9CiAgICAgYm9vbCBpc051bWJl
cigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7IH0KKyAgICBib29sIGlzSW50MzIo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0KICAgICBib29sIGlzT2JqZWN0KCkg
Y29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQogICAgIGJvb2wgaXNOdWxsKCkgY29u
c3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkg
Y29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIoKTsgfQpJbmRleDogU291cmNlL1dU
Ri9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTctMTAtMDIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisK
KyAgICAgICAgSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjM5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0JveC5oOgorICAgICAgICAo
V1RGOjpCb3g6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICBNYWtlIEJveCBtb3ZhYmxlLiBBbHNv
IGVuc3VyZSBpdHMgb3BlcmF0b3IgYm9vbCBkb2Vzbid0IGRvIGFuIGF0b21pYyBpbmNyZW1lbnQu
CisgICAgICAgICogd3RmL1JlZlB0ci5oOgorICAgICAgICAoV1RGOjpSZWZQdHI6Om9wZXJhdG9y
IGJvb2wpOgorICAgICAgICBBZGQgYGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKWAgZm9yIFJlZlB0
ci4KKwogMjAxNy0wOS0zMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIG1ha2VXZWFrUHRyIGZvciBlYXNpZXIgV2Vha1B0ciBjb25zdHJ1Y3Rpb24KSW5k
ZXg6IFNvdXJjZS9XVEYvd3RmL0JveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0Jv
eC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvV1RGL3d0Zi9Cb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMzYsMTQgKzM2LDE3IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5h
bWUgVD4KIGNsYXNzIEJveCB7CiBwdWJsaWM6Ci0gICAgQm94KCkKLSAgICB7Ci0gICAgfQorICAg
IEJveCgpID0gZGVmYXVsdDsKKyAgICBCb3goQm94JiYpID0gZGVmYXVsdDsKKyAgICBCb3goY29u
c3QgQm94JikgPSBkZWZhdWx0OwogCiAgICAgQm94KHN0ZDo6bnVsbHB0cl90KQogICAgIHsKICAg
ICB9CiAKKyAgICBCb3gmIG9wZXJhdG9yPShCb3gmJikgPSBkZWZhdWx0OworICAgIEJveCYgb3Bl
cmF0b3I9KGNvbnN0IEJveCYpID0gZGVmYXVsdDsKKwogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3VtZW50cz4KICAgICBzdGF0aWMgQm94IGNyZWF0ZShBcmd1bWVudHMmJi4uLiBhcmd1bWVu
dHMpCiAgICAgewpAQCAtNTcsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgVCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyByZXR1cm4gbV9kYXRhLT52YWx1ZTsgfQogICAgIFQqIG9wZXJhdG9yLT4oKSBjb25z
dCB7IHJldHVybiAmbV9kYXRhLT52YWx1ZTsgfQogCi0gICAgZXhwbGljaXQgb3BlcmF0b3IgYm9v
bCgpIHsgcmV0dXJuIG1fZGF0YTsgfQorICAgIGV4cGxpY2l0IG9wZXJhdG9yIGJvb2woKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX2RhdGEpOyB9CiAgICAgCiBwcml2YXRlOgog
ICAgIHN0cnVjdCBEYXRhIDogVGhyZWFkU2FmZVJlZkNvdW50ZWQ8RGF0YT4gewpJbmRleDogU291
cmNlL1dURi93dGYvUmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUmVmUHRy
LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCSh3b3JraW5n
IGNvcHkpCkBAIC04Myw2ICs4Myw4IEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGNvbnZlcnNpb24g
b3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90
aGVyIGludGVnZXIgdHlwZXMuCiAgICAgdHlwZWRlZiBUKiAoUmVmUHRyOjoqVW5zcGVjaWZpZWRC
b29sVHlwZSk7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1fcHRyID8gJlJlZlB0cjo6bV9wdHIgOiBudWxscHRyOyB9CisKKyAgICBleHBsaWNpdCBv
cGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX3B0cjsgfQogICAgIAogICAgIFJlZlB0
ciYgb3BlcmF0b3I9KGNvbnN0IFJlZlB0ciYpOwogICAgIFJlZlB0ciYgb3BlcmF0b3I9KFQqKTsK
SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMjc0NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEyIEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgor
CisgICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzYzOTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLWpzYy1zdHJl
c3MtdGVzdHM6CisKIDIwMTctMTAtMDIgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgR3VhcmQgaU9TIHdlYmtpdEdldEFzRW50cnkgQVBJIHRlc3RzIG9u
IG9sZGVyIGlPUyB2ZXJzaW9ucwpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10
ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3
b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9u
YWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRCM08xKCpvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJy
YXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BU
SU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAg
cnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZh
bHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09Q
VElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5k
CiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25z
KQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdlck5vQ0pJVFZhbGlkYXRlKCpvcHRp
b25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9u
cykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNlQnJpZ2dzQWxsb2NhdG9yPXRydWUi
LCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09Q
VElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQorICAgIHJ1bigiZnRsLWVhZ2Vy
IiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICItLWZvcmNlUG9seVByb3RvPXRy
dWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENPTExFQ1RfQ09OVElOVU9VU0xZ
X09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5G
VExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC04NjQsNiAr
ODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAgcnVuKCJmdGwtbm8tY2ppdC10eXBl
LXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TICsgTk9f
Q0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVBy
b2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBydW4oImZ0bC10eXBlLXByb2ZpbGVy
LWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAi
LS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVBR0VSX09QVElPTlMpKQog
ZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322475</attachid>
            <date>2017-10-02 17:00:05 -0700</date>
            <delta_ts>2017-10-02 17:33:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>236244</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDExOCBAQAorMjAxNy0xMC0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFy
a3MvcG9seS1wcm90by1hY2Nlc3MuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAg
ICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmFyKToKKyAgICAgICAg
KGZvbyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6Cisg
ICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAo
cGVyZm9ybVNldCk6CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVy
LXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVBy
b3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJv
dG90eXBlLnNldCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAg
ICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAg
ICogc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzOgorICAgICAgICAoaS50ZXN0cy5m
b3JFYWNoLkNvbnN0cnVjdG9yKToKKyAgICAgICAgKGkudGVzdHMuZm9yRWFjaCk6CisgICAgICAg
ICh0ZXN0cy5mb3JFYWNoLkNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKHRlc3RzLmZv
ckVhY2gpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBz
dHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAoaXRlbXMuZm9yRWFjaCk6CisgICAgICAgIChzZXQgZ2V0IGZvcik6
CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogc3RyZXNz
L3BvbHktcHJvdG8tbWlzcy5qczogQWRkZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28pOgorICAgICAgICAobWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUpOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodmFsaWRhdGUpOgorICAgICAgICAodmFsaWRhdGUyKToKKyAg
ICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qczogQWRkZWQuCisgICAg
ICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVjdC5mb28uQyk6CisgICAg
ICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2Jq
ZWN0KToKKyAgICAgICAgKHBlcmZvcm1TZXQpOgorICAgICAgICAoaS5vYmouX19wcm90b19fLnNl
dCBwKToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChsZXQuYWx0ZXJuYXRlUHJvdG8uZ2V0IHgp
OgorICAgICAgICAobGV0LmFsdGVybmF0ZVByb3RvMi5nZXQgeSk6CisgICAgICAgIChsZXQuYWx0
ZXJuYXRlUHJvdG8yLmdldCB4KToKKyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvbyk6Cisg
ICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0
LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLnNl
dCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLmdldCBw
KToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5
UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICogc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToK
KyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmF6KToKKyAg
ICAgICAgKGZvbyk6CisgICAgICAgIChiYXIuQyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAo
dmFsaWRhdGUpOgorICAgICAgICAqIHN0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qczogQWRk
ZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UuZm9vLkMpOgorICAgICAgICAobWFr
ZVBvbHlQcm90b0luc3RhbmNlLmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2Up
OgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJl
c3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJh
cik6CisgICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodHJ5R2V0QnlJZFRleHQpOgorICAgICAgICAoeC5fX3Byb3Rv
X18uZ2V0IGJhcik6CisgICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogdHlwZVByb2ZpbGVy
L292ZXJmbG93LmpzOgorCiAyMDE3LTEwLTAxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIyNTY0LgpJ
bmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3Mu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsg
aWYgKCFiKSB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOyB9Citub0lubGluZShhc3NlcnQpOworCitm
dW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdGhpcy54ID0gMjA7CisgICAgICAgIH0KKworICAgICAgICBn
ZXQgYmFyKCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KHRoaXMueCA9PT0gMjApOwor
ICAgICAgICAgICAgYXNzZXJ0KHRoaXMuZm9vID09PSB1bmRlZmluZWQgfHwgdGhpcy5mb28gPT09
IDQyKTsKKyAgICAgICAgICAgIHJldHVybiA0NTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1
cm4gbmV3IEM7Cit9CisKK2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTU7ICsraSkKKyAgICBhLnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFz
c2VydChvLmZvbyA9PT0gdW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8u
YmFyID09PSA0NSk7Cit9Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygp
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAw
MCkgeworICAgICAgICBmb3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3Rv
X18uZm9vID0gNDI7CisgICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsr
aikgeworICAgICAgICBiYXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50
KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5
LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlv
bi1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3Nl
cnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiAr
IG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9u
IGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsg
dGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgICAgIGFzc2VydChvYmouX2ZpZWxkID09PSA0Mik7Cisg
ICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5k
ZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNw
ZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsK
KyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBwKHgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAg
cmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisg
ICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7
Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xl
dCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxl
dCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2Vy
dChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAgICAg
IGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHJldmlzaW9uIDIyMjcxMikKKysrIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdp
dGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxOSArMjEsMjEgQEAgdmFyIHRlc3Rz
ID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRlcmF0b3IpLCB0cnVlKSwKIF07CiAK
LXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAgICBmdW5jdGlvbiBDb25zdHJ1Y3Rv
cigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0gICAgfQotCi0gICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0LnJldHVybkl0KSB7Ci0gICAgICAg
IGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVz
dWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB0
ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAgICAgIGZ1bmN0aW9uIENvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7CiAgICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsK
LSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworCisgICAgICAgIHZh
ciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAgICAgaWYgKHRlc3QucmV0dXJuSXQp
IHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKKyAgICAgICAgICAg
ICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVj
dG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0Owor
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7CisgICAgfSk7Cit9CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtl
UG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3Mg
QyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9m
aWVsZCA9IDI1OworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3
IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9v
KCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcHJvdG8gPSBjcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QoKTsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmou
X19wcm90b19fID0gcHJvdG87CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgsIHYpIHsKKyAgICBhc3Nl
cnQoeC5jdXN0b21HZXR0ZXIgPT09IHYsIHguY3VzdG9tR2V0dGVyKTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRhdGUo
b2JqLCBwcm90byk7CisKK3Byb3RvLmZvbyA9IDI1OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUob2JqLCBwcm90byk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBl
T2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZhbGlk
YXRlKG9iaiwgdW5kZWZpbmVkKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
Y3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTMgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsgCisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5maWVs
ZCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28oKS5maWVs
ZCA9PT0gMjApOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBpdGVtcyA9IFsK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1h
a2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCitdOworCits
ZXQgY3VzdG9tR2V0dGVyU2V0dGVyID0gY3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlcigpOwor
aXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIHguX19wcm90b19fID0gY3VzdG9tR2V0dGVyU2V0
dGVyOworICAgIGFzc2VydCh4Ll9fcHJvdG9fXyA9PT0gY3VzdG9tR2V0dGVyU2V0dGVyKTsKK30p
OworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2YWx1ZVJlc3VsdCwgYWNjZXNzb3JSZXN1bHQpIHsK
KyAgICBhc3NlcnQoeC5jdXN0b21WYWx1ZSA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgYXNzZXJ0
KHguY3VzdG9tQWNjZXNzb3IgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGxldCBvID0ge307
CisgICAgeC5jdXN0b21WYWx1ZSA9IG87CisgICAgYXNzZXJ0KG8ucmVzdWx0ID09PSB2YWx1ZVJl
c3VsdCk7CisKKyAgICBvID0ge307CisgICAgeC5jdXN0b21BY2Nlc3NvciA9IG87CisgICAgYXNz
ZXJ0KG8ucmVzdWx0ID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5yYW5kb21Q
cm9wID09PSA0MiB8fCB4LnJhbmRvbVByb3AgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdldHRlclNldHRlciwgaXRl
bXNbaV0pOworICAgIH0KK30KKworY3VzdG9tR2V0dGVyU2V0dGVyLnJhbmRvbVByb3AgPSA0MjsK
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3Vz
dG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQorfQorCitpdGVtcy5mb3JFYWNoKCh4
KSA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih4LCB7CisgICAgICAgIGdldCBjdXN0
b21WYWx1ZSgpIHsgcmV0dXJuIDQyOyB9LAorICAgICAgICBnZXQgY3VzdG9tQWNjZXNzb3IoKSB7
IHJldHVybiAyMjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbVZhbHVlKHgpIHsgeC5yZXN1bHQgPSA0
MjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbUFjY2Vzc29yKHgpIHsgeC5yZXN1bHQgPSAyMjsgfSwK
KyAgICB9KTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRl
KGl0ZW1zW2ldLCA0MiwgMjIpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERh
dGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJp
bnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1
bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
ICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCB4ID0gbmV3IFVpbnQz
MkFycmF5KDEwKTsKK2xldCBwID0geC5fX3Byb3RvX18uX19wcm90b19fOworbGV0IG9iaiA9IG1h
a2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwOworeC5fX3Byb3RvX18gPSBv
Ymo7CisKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIHguYnl0ZUxlbmd0aDsKK30KK25v
SW5saW5lKGZvbyk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyh4KSA9PT0gMTAgKiA0KTsKK307CisKK29iai5fX3Byb3RvX18gPSB7fTsKKworYXNz
ZXJ0KGZvbyh4KSA9PT0gdW5kZWZpbmVkKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0
YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAg
Y2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAgICAgICBsZXQgcmVzdWx0
ID0gbmV3IEM7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIGxldCByZXN1bHQgPSBmb28o
KTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5jZXMgPSBbCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5
cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCitdOworCitsZXQgcCA9IHVu
ZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoeC54ID09PSAyMCk7
CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RhbmNlcy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgdmFsaWRhdGUoaW5zdGFuY2VzW2ldKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1p
bi1jYWNoaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LW9wLWluLWNhY2hpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5maWVsZCA9IDQyOworICAgICAgICAgICAgfQor
ICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmllbGQgPT09IDQyKTsK
KyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBiKSB7
CisgICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKKworbGV0IG9ianMgPSBbXTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKKyAgICBvYmpzLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgpKTsKKwor
b2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjB9KSk7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBv
ZiBvYmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIHRydWUpOworfQorCitvYmpzLmZvckVhY2go
b2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlKG9iaiwgZmFsc2UpOworfQorCisKK2Z1bmN0aW9uIHZhbGlkYXRlMihvLCBiKSB7Cisg
ICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlMik7CisKK29i
anMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIG51bGwpKTsKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpz
KQorICAgICAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmog
PT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjI1fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlMihvYmosIHRydWUpOworfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNp
dGlvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10
cmFuc2l0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFz
c2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoi
ICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkg
eworICAgICAgICAgICAgICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAg
ICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xl
dCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQor
CitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3Rv
X18gPSBudWxsOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093
blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtl
UG9seVByb3RvT2JqZWN0KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9i
YWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093
blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwg
PSBudWxsOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBv
YmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7
Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8g
PSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xl
dCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBn
ZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7
IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMg
eworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAg
ICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0
ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQor
ICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2Zv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30K
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikg
eworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2Yg
YXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAg
ICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0K
K30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNzEgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGdldCBwKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBD
OworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNz
ZXJ0KGZvbygpLnAgPT09IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBb
XTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBv
bHlQcm90b09iamVjdCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAg
eC5wID0gaTsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywg
aSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9
PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9y
RWFjaChvID0+IHsKKyAgICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAg
ICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAg
ICBhc3NlcnQoY2FsbGVkID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAg
cHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tdXNpbmctaW5oZXJpdGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3Mg
QyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55
ID0gMjI7CisgICAgICAgIH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQor
ICAgIH0KKyAgICBDLnByb3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVy
biBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVu
Y3Rpb24gYmFyKHApIHsKKyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOwor
ICAgICAgICB9CisgICAgfTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsK
KworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAg
IGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7
CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIp
OworICAgIGFzc2VydChpdGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUu
bm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaW5zdGFuY2Vz
LmZvckVhY2goKHgpID0+IHZhbGlkYXRlKHgpKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHkt
cHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0
aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAg
ICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9
CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4g
bmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0g
bWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBv
bHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9J
bnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiks
CisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChi
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9u
IikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBh
c3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMu
bm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMu
aGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3Bl
cnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0g
Mjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsK
KyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJv
dG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAg
ICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1
cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZv
bygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVt
Lm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAg
ICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1z
KQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1n
ZXQtYnktaWQtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
dHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzgg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3Qo
KSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkgeyB0aGlzLl9maWVsZCA9IDQyOyB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHRyeUdldEJ5
SWRUZXh0KHByb3BlcnR5TmFtZSkgeyByZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkgeyByZXR1cm4g
QHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJvcGVydHlOYW1lfScpOyB9KWA7IH0KK2xldCBnZXRGb28g
PSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJmb28iKSk7CitsZXQgZ2V0QmFyID0gY3Jl
YXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiYmFyIikpOworbGV0IGdldE5vbkV4aXN0ZW50Rmll
bGQgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJub25FeGlzdGVudEZpZWxkIikpOwor
CitsZXQgeCA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK3guX19wcm90b19fID0geyBmb286IDQy
LCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7IH0gfTsKK2xldCBiYXJHZXR0ZXIgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHguX19wcm90b19fLCAiYmFyIikuZ2V0OworYXNzZXJ0KHR5
cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5jdGlvbiIpOworYXNzZXJ0KGJhckdldHRlcigpID09PSAy
Mik7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoZ2V0Rm9vKHgpID09PSA0
Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKGdldEJhcih4KSkgPT09
IGJhckdldHRlcik7CisgICAgYXNzZXJ0KGdldE5vbkV4aXN0ZW50RmllbGQoeCkgPT09IHVuZGVm
aW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKSB7CisgICAgdmFsaWRhdGUoeCk7Cit9CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxl
ci9vdmVyZmxvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxv
dy5qcwkocmV2aXNpb24gMjIyNzEyKQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cu
anMJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw4IEBAIHZhciBvbGRQcm90bzsKIGZvciAodmFy
IGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZsb3c7IGkrKykgewogICAg
IC8vIE1ha2Ugc3VyZSB3ZSBnZXQgYSBuZXcgcHJvdG90eXBlIGNoYWluIG9uIGVhY2ggYXNzaWdu
bWVudCB0byB4IGJlY2F1c2Ugb2JqZWN0cyB3aXRoIHNoYXJlZCBwcm90b3R5cGUgY2hhaW5zIHdp
bGwgYmUgbWVyZ2VkLgogICAgIHggPSBuZXcgUHJvdG87CisgICAgeFsnZmllbGQnICsgaV0gPSAy
MDsKKyAgICB4ID0geAogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlv
bigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5
cGU7CkBAIC0yMCw2ICsyMiw4IEBAIFByb3RvID0gZnVuY3Rpb24oKSB7fTsKIG9sZFByb3RvID0g
bnVsbDsKIGZvciAodmFyIGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZs
b3cgLSAxOyBpKyspIHsKICAgICB5ID0gbmV3IFByb3RvOworICAgIHlbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeSA9IHkKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzI0IEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzYzOTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgSlNDJ3Mg
b2JqZWN0IG1vZGVsIHdpdGggcmVzcGVjdCB0byB3aGVyZSB0aGUgcHJvdG90eXBlCisgICAgICAg
IG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFByZXZpb3VzbHksIGl0IHdhcyBhbHdheXMgc3RvcmVk
IGFzCisgICAgICAgIGEgY29uc3RhbnQgdmFsdWUgaW5zaWRlIFN0cnVjdHVyZS4gU28gYW4gb2Jq
ZWN0J3Mgc3RydWN0dXJlIHVzZWQgdG8KKyAgICAgICAgYWx3YXlzIHRlbGwgeW91IHdoYXQgaXRz
IHByb3RvdHlwZSBpcy4gQW55dGltZSBhbiBvYmplY3QgY2hhbmdlZAorICAgICAgICBpdHMgcHJv
dG90eXBlLCBpdCB3b3VsZCBkbyBhIHN0cnVjdHVyZSB0cmFuc2l0aW9uLiBUaGlzIGVuYWJsZXMK
KyAgICAgICAgYSBsYXJnZSBjbGFzcyBvZiBvcHRpbWl6YXRpb25zOiBqdXN0IGJ5IGRvaW5nIGEg
c3RydWN0dXJlIGNoZWNrLAorICAgICAgICB3ZSBrbm93IHdoYXQgdGhlIHByb3RvdHlwZSBpcy4K
KyAgICAgICAgCisgICAgICAgIEhvd2V2ZXIsIHRoaXMgZGVzaWduIGZhbGxzIGRvd24gd2hlbiB5
b3UgaGF2ZSBtYW55IG9iamVjdHMgdGhhdAorICAgICAgICBoYXZlIHRoZSBzYW1lIHNoYXBlLCBi
dXQgb25seSBkaWZmZXIgaW4gd2hhdCB0aGVpciBwcm90b3R5cGUgdmFsdWUKKyAgICAgICAgaXMu
IFRoaXMgYXJpc2VzIGluIG1hbnkgSlMgcHJvZ3JhbXMuIEEgc2ltcGxlLCBhbmQgcHJvYmFibHkg
Y29tbW9uLCBleGFtcGxlCisgICAgICAgIGlzIHdoZW4gdGhlIHByb2dyYW0gaGFzIGEgY29uc3Ry
dWN0b3IgaW5zaWRlIG9mIGEgZnVuY3Rpb246CisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgICAgICBjb25zdHJ1
Y3RvcigpIHsgdGhpcy5maWVsZDEgPSA0MjsgLi4uOyB0aGlzLmZpZWxkTiA9IDQyOyB9CisgICAg
ICAgICAgICAgICAgbWV0aG9kMSgpIHsgZG9TdHVmZldpdGgodGhpcy5maWVsZCk7IH0KKyAgICAg
ICAgICAgICAgICBtZXRob2QyKCkgeyBkb1N0dWZmV2l0aCh0aGlzLmZpZWxkKTsgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgbGV0IGMgPSBuZXcgQzsKKyAgICAgICAgICAgIGRvIHRoaW5n
cyB3aXRoIGM7CisgICAgICAgICAgICB9CisgICAgICAgIHJlcGVhdGVkbHkgY2FsbCBmb28oKSBo
ZXJlLgorICAgICAgICBgYGAKKyAgICAgICAgCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCBp
biB0aGUgYWJvdmUgcHJvZ3JhbSwgZWFjaCB0aW1lIGBuZXcgQ2AgY3JlYXRlZCBhbgorICAgICAg
ICBvYmplY3QsIGl0IHdvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIGRpZmZlcmVudCBzdHJ1
Y3R1cmUuIFRoZQorICAgICAgICByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBlYWNoIHRpbWUgZm9v
IGlzIGNhbGxlZCwgdGhlcmUgaXMgYSBuZXcKKyAgICAgICAgaW5zdGFuY2Ugb2YgQy5wcm90b3R5
cGUuIEhvd2V2ZXIsIGVhY2ggYG5ldyBDYCB0aGF0IHdhcyBjcmVhdGVkCisgICAgICAgIHdpdGgg
aGF2ZSBpZGVudGljYWwgc2hhcGUgc2FucyBpdHMgcHJvdG90eXBlIHZhbHVlLiBUaGlzIHdvdWxk
CisgICAgICAgIGNhdXNlIGFsbCBJQ3MgdGhhdCB1c2VkIGBjYCB0byBxdWlja2x5IGdpdmUgdXAg
b24gYW55IGZvcm0gb2YgY2FjaGluZworICAgICAgICBiZWNhdXNlIHRoZXkgd291bGQgc2VlIHRv
byBtYW55IHN0cnVjdHVyZXMgYW5kIGdpdmUgdXAgYW5kIHBlcm1hbmVudGx5CisgICAgICAgIGRp
dmVydCBjb250cm9sIGZsb3cgdG8gdGhlIHNsb3cgcGF0aC4KKyAgICAgICAgCisgICAgICAgIFRo
aXMgcGF0Y2ggZml4ZXMgdGhpcyBpc3N1ZSBieSBleHBhbmRpbmcgdGhlIG5vdGlvbiBvZiB3aGVy
ZSB0aGUgcHJvdG90eXBlCisgICAgICAgIG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFRoZXJlIGFy
ZSBub3cgdHdvIG5vdGlvbnMgb2Ygd2hlcmUgdGhlIHByb3RvdHlwZQorICAgICAgICBpcyBzdG9y
ZWQuIEEgU3RydWN0dXJlIGNhbiBub3cgYmUgaW4gdHdvIG1vZGVzOgorICAgICAgICAxLiBNb25v
IHByb3RvIG1vZGUuIFRoaXMgaXMgdGhlIHNhbWUgbW9kZSBhcyB3ZSB1c2VkIHRvIGhhdmUuIEl0
IG1lYW5zCisgICAgICAgIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGhhcyBhIGNvbnN0YW50IHByb3Rv
dHlwZSB2YWx1ZS4KKyAgICAgICAgMi4gUG9seSBwcm90byBtb2RlLiBUaGlzIG1lYW5zIHRoZSBz
dHJ1Y3R1cmUga25vd3Mgbm90aGluZyBhYm91dCB0aGUKKyAgICAgICAgcHJvdG90eXBlIHZhbHVl
IGl0c2VsZi4gT2JqZWN0cyB3aXRoIHRoaXMgc3RydWN0dXJlIHN0b3JlIHRoZWlyIHByb3RvdHlw
ZQorICAgICAgICBpbiBub3JtYWwgb2JqZWN0IGZpZWxkIHN0b3JhZ2UuIFRoZSBzdHJ1Y3R1cmUg
d2lsbCB0ZWxsIHlvdSB0aGUgb2Zmc2V0IG9mCisgICAgICAgIHRoaXMgcHJvdG90eXBlIGluc2lk
ZSB0aGUgb2JqZWN0J3Mgc3RvcmFnZS4gQXMgb2YgdG9kYXksIHdlIG9ubHkgcmVzZXJ2ZQorICAg
ICAgICBpbmxpbmUgc2xvdHMgZm9yIHRoZSBwcm90b3R5cGUgZmllbGQgYmVjYXVzZSBwb2x5IHBy
b3RvIG9ubHkgb2NjdXJzCisgICAgICAgIGZvciBKU0ZpbmFsT2JqZWN0LiBIb3dldmVyLCB0aGlz
IHdpbGwgYmUgZXhwYW5kZWQgdG8gc3VwcG9ydCBvdXQgb2YgbGluZQorICAgICAgICBvZmZzZXRz
IGluIGEgZnV0dXJlIHBhdGNoIHdoZW4gd2UgZXh0ZW5kIHBvbHkgcHJvdG8gdG8gd29yayB3aGVu
IHdlIGluaGVyaXQKKyAgICAgICAgZnJvbSBidWlsdGluIHR5cGVzIGxpa2UgTWFwIGFuZCBBcnJh
eS4KKyAgICAgICAgCisgICAgICAgIEluIHRoaXMgaW5pdGlhbCBwYXRjaCwgd2UgZG8gcG9seSBw
cm90byBzdHlsZSBpbmxpbmUgY2FjaGluZyB3aGVuZXZlcgorICAgICAgICB3ZSBzZWUgYW4gb2Jq
ZWN0IHRoYXQgaXMgcG9seSBwcm90byBvciBpZiBhbiBvYmplY3QgaW4gaXRzIHByb3RvdHlwZSBs
b29rdXAKKyAgICAgICAgY2hhaW4gaXMgcG9seSBwcm90by4gUG9seSBwcm90byBJQ3Mgd29yayBi
eSB2ZXJpZnlpbmcgdGhlIGxvb2t1cCBjaGFpbgorICAgICAgICBhdCBydW50aW1lLiBUaGlzIGVz
c2VudGlhbGx5IGJvaWxzIGRvd24gdG8gcGVyZm9ybWluZyBzdHJ1Y3R1cmUgY2hlY2tzCisgICAg
ICAgIHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIEluIGEgZnV0dXJlIHBhdGNoLCB3ZSdyZSBnb2lu
ZyB0byBleHRlbmQgb2JqZWN0CisgICAgICAgIHByb3BlcnR5IGNvbmRpdGlvbiBzZXQgdG8gd29y
ayB3aXRoIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIHBvbHkgcHJvdG8gYmFzZXMuCisgICAgICAg
IAorICAgICAgICBJbml0aWFsbHksIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHByb3RvIGFjY2Vz
cyBjaGFpbnMgd2lsbCBhbHdheXMgdHVybgorICAgICAgICBpbnRvIEdldEJ5SWQvUHV0QnlJZCBp
biB0aGUgREZHLiBJbiBhIGZ1dHVyZSBwYXRjaCwgSSdtIGdvaW5nIHRvIHRlYWNoCisgICAgICAg
IHRoZSBERkcgaG93IHRvIGlubGluZSBjZXJ0YWluIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHBy
b3RvIGluIHRoZSBhY2Nlc3MKKyAgICAgICAgY2hhaW4uCisgICAgICAgIAorICAgICAgICBPbmUg
b2YgbW9zdCBpbnRlcmVzdGluZyBwYXJ0cyBhYm91dCB0aGlzIHBhdGNoIGlzIGhvdyB3ZSBkZWNp
ZGUgd2hlbiB0byBnbworICAgICAgICBwb2x5IHByb3RvLiBUaGlzIHBhdGNoIHVzZXMgYSBwcm9m
aWxpbmcgYmFzZWQgYXBwcm9hY2guIEFuIElDIHdpbGwgaW5mb3JtCisgICAgICAgIGEgd2F0Y2hw
b2ludCB0aGF0IGl0IHNlZXMgYW4gb3Bwb3J0dW5pdHkgd2hlbiB0d28gU3RydWN0dXJlJ3MgYXJl
IHN0cnVjdHVyYWxseQorICAgICAgICB0aGUgc2FtZSwgc2FucyB0aGUgYmFzZSBvYmplY3QncyBw
cm90b3R5cGUuIFRoaXMgbWVhbnMgdGhhdCB0d28gc3RydWN0dXJlcworICAgICAgICBoYXZlIGVx
dWl2YWxlbnQgc2hhcGVzIGFsbCB0aGUgd2F5IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIFRvIHN1
cHBvcnQgZmFzdAorICAgICAgICBzdHJ1Y3R1cmFsIGNvbXBhcmlzb24sIHdlIGNvbXB1dGUgYSBo
YXNoIGZvciBhIHN0cnVjdHVyZSBiYXNlZCBvbiB0aGUgcHJvcGVydGllcworICAgICAgICBpdCBo
YXMuIFdlIGNvbXB1dGUgdGhpcyBoYXNoIGFzIHdlIGFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBzdHJ1
Y3R1cmUuIFRoaXMKKyAgICAgICAgY29tcHV0YXRpb24gaXMgbmVhcmx5IGZyZWUgc2luY2Ugd2Ug
YWx3YXlzIGFkZCBVbmlxdWVkU3RyaW5nSW1wbConcyB3aGljaAorICAgICAgICBhbHJlYWR5IGhh
dmUgdGhlaXIgaGFzaGVzIGNvbXB1dGVkLiBUbyBjb21wYXJlIHN0cnVjdHVyYWwgZXF1aXZhbGVu
Y2UsIHdlCisgICAgICAgIGp1c3QgY29tcGFyZSBoYXNoIHZhbHVlcyBhbGwgdGhlIHdheSB1cCB0
aGUgcHJvdG90eXBlIGNoYWluLiBUaGlzIG1lYW5zIHdlCisgICAgICAgIGNhbiBnZXQgaGFzaCBj
b25mbGljdHMgYmV0d2VlbiB0d28gc3RydWN0dXJlcywgYnV0IGl0J3MgZXh0cmVtZWx5IHJhcmUu
IEZpcnN0LAorICAgICAgICBpdCdsbCBiZSByYXJlIGZvciB0d28gc3RydWN0dXJlcyB0byBoYXZl
IHRoZSBzYW1lIGhhc2guIFNlY29uZGx5LCB3ZSBvbmx5CisgICAgICAgIGNvbnNpZGVyIHN0cnVj
dHVyZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgICAgICAKKyAg
ICAgICAgSG93IHdlIHNldCB1cCB0aGlzIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCBpcyBjcnVjaWFs
IHRvIGl0cyBkZXNpZ24uIFdoZW4gd2UgY3JlYXRlX3RoaXMKKyAgICAgICAgYW4gb2JqZWN0IG9y
aWdpbmF0aW5nIGZyb20gc29tZSBleGVjdXRhYmxlLCB0aGF0IGV4ZWN1dGFibGUgd2lsbCBjcmVh
dGUgYSBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uCisgICAgICAgIEVhY2ggc3RydWN0dXJlIHRo
YXQgb3JpZ2luYXRlcyBmcm9tIHRoaXMgZXhlY3V0YWJsZSB3aWxsIGdldCBhIGNvcHkgb2YgdGhh
dAorICAgICAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uIEFzIHRoYXQgc3RydWN0dXJlIHRy
YW5zaXRpb25zIHRvIG5ldyBzdHJ1Y3R1cmVzLAorICAgICAgICB0aGV5IHRvbyB3aWxsIGdldCBh
IGNvcHkgb2YgdGhhdCBCb3g8SW5pbG5lV2F0Y2hwb2ludFNldD4uIFRoZXJlZm9yZSwgd2hlbgor
ICAgICAgICBpbnZhbGlkYXRpbmcgYW4gYXJiaXRyYXJ5IHN0cnVjdHVyZSdzIHBvbHkgcHJvdG8g
d2F0Y2hwb2ludCwgd2Ugd2lsbCBrbm93CisgICAgICAgIHRoZSBuZXh0IHRpbWUgd2UgY3JlYXRl
X3RoaXMgZnJvbSB0aGF0IGV4ZWN1dGFibGUgdGhhdCBpdCBoYWQgYmVlbgorICAgICAgICBpbnZh
bGlkYXRlZCwgYW5kIHRoYXQgd2Ugc2hvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkg
cHJvdG8KKyAgICAgICAgc3RydWN0dXJlLiBXZSBhbHNvIHVzZSB0aGUgcG9pbnRlciB2YWx1ZSBv
ZiB0aGlzIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PgorICAgICAgICB0byBkZXRlcm1pbmUgaWYg
dHdvIHN0cnVjdHVyZXMgb3JpZ2luYXRlZCBmcm9tIHRoZSBzYW1lIGV4ZWN1dGFibGUuIFRoaXMK
KyAgICAgICAgcHJ1bmluZyB3aWxsIHNldmVyZWx5IGxpbWl0IHRoZSBjaGFuY2VzIG9mIGdldHRp
bmcgYSBoYXNoIGNvbmZsaWN0IGluIHByYWN0aWNlLgorCisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3BwOgorICAgICAgICAqIGJ1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OkJ1aWx0aW5OYW1lcyk6
CisgICAgICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OgorICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nl
c3NDYXNlOjpBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y3JlYXRlKToK
KyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y29tbWl0KToKKyAgICAgICAgKEpTQzo6QWNjZXNz
Q2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2spOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNl
OjpjYW5SZXBsYWNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6ZHVtcCk6CisgICAgICAg
IChKU0M6OkFjY2Vzc0Nhc2U6OnZpc2l0V2Vhayk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6
OnByb3BhZ2F0ZVRyYW5zaXRpb25zKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJh
dGVXaXRoR3VhcmQpOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgor
ICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2Fz
ZTo6dXNlc1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Up
OgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRo
b3V0RXhpdFNpdGVGZWVkYmFjayk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRl
clNldHRlckFjY2Vzc0Nhc2UpOgorICAgICAgICAoSlNDOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
OjpjcmVhdGUpOgorICAgICAgICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoK
KyAgICAgICAgKiBieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaDoK
KyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVB
bGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKToKKyAgICAgICAgKiBieXRlY29kZS9J
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmg6CisgICAgICAgICogYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Ok9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZSk6CisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KToKKyAgICAg
ICAgKiBieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oOgorICAgICAgICAoSlNDOjpP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHA6Cisg
ICAgICAgICogYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OlBv
bHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlND
OjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcCk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seVBy
b3RvQWNjZXNzQ2hhaW4uaDogQWRkZWQuCisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0No
YWluOjpjbG9uZSk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpjaGFpbik6
CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvciE9KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmZvckVhY2gpOgorICAgICAgICAqIGJ5dGVj
b2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nl
c3M6OmFkZENhc2VzKToKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJh
dGUpOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5oOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
OjpzaG91bGRSZXNldFN0dWIpOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uU3RhdGU6
OkFjY2Vzc0dlbmVyYXRpb25TdGF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvUHJvcGVydHlDb25k
aXRpb24uY3BwOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlk
QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQpOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3h5YWJsZUFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpQcm94eWFibGVBY2Nlc3NDYXNl
OjpQcm94eWFibGVBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6UHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OlB1dEJ5
SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0
dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YWRkQWNj
ZXNzQ2FzZSk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6bG9hZCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmNhbkRvRmFzdFNwcmVhZCk6CisgICAgICAgICogZGZn
L0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3Rh
bmNlT2YpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAg
ICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVJbnN0YW5jZU9mKToKKyAg
ICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9p
bnN0YW5jZW9mKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRy
eUNhY2hlR2V0QnlJRCk6CisgICAgICAgIChKU0M6OnRyeUNhY2hlUHV0QnlJRCk6CisgICAgICAg
IChKU0M6OnRyeVJlcGF0Y2hJbik6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKFdURjo6
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpOgorICAg
ICAgICAoV1RGOjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6Cisg
ICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdURjo6RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGU6OkRPTUpJVEF0
dHJpYnV0ZSk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklU
QXR0cmlidXRlOjpzbG93Q2FsbCk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09i
amVjdDo6RE9NSklUQXR0cmlidXRlOjpjYWxsRE9NR2V0dGVyKToKKyAgICAgICAgKFdURjo6RE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIpOgorICAgICAgICAoV1RGOjpET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6ZmFzdEpvaW4pOgorICAgICAgICAoSlNDOjphcnJh
eVByb3RvRnVuY1JldmVyc2UpOgorICAgICAgICAoSlNDOjptb3ZlRWxlbWVudHMpOgorICAgICAg
ICAqIHJ1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGVFbXB0eSk6CisgICAgICAgIChKU0M6OkNsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlV2l0aElubGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVXaXRoTWFjaGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVCeUNvcHlpbmdGcm9tKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6
CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwOgorICAgICAgICAoSlNDOjpGdW5j
dGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlU2xvdyk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNBcnJheTo6ZmFzdFNsaWNlKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6
c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpzaGlm
dENvdW50V2l0aEFueUluZGV4aW5nVHlwZSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXlJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmNhbkZhc3RDb3B5KToKKyAg
ICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpk
dW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVj
dGlvbik6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJh
cmVEYXRhKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZVJhcmVEYXRhKToK
KyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAg
KiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTTWFwLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxl
KToKKyAgICAgICAgKEpTQzo6SlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
cHV0SW5saW5lU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5k
ZXhlZFN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdl
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVJbnQzMlNsb3cpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6ZW5zdXJlRG91YmxlU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpl
bnN1cmVDb250aWd1b3VzU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhZ2VTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZyk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0UHJvcGVydHlTbG90KToKKyAgICAg
ICAgKiBydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
Z2V0UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE5vbkluZGV4UHJv
cGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dElubGluZUZvckpTT2JqZWN0
KToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorICAgICAg
ICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0pTU2V0
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25P
YnNlcnZhYmxlKToKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2Vy
dmFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmg6CisgICAgICAg
IChKU0M6OkxhenlDbGFzc1N0cnVjdHVyZTo6cHJvdG90eXBlQ29uY3VycmVudGx5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBydW50aW1lL09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpub3Jt
YWxpemVQcm90b3R5cGVDaGFpbik6CisgICAgICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6Cisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVN
YXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUZvclByb3RvdHlw
ZUZyb21CYXNlU3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9Qcm90b3R5cGVNYXAuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAg
ICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNp
dGlvbik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpkdW1wKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRU
b1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cCk6IERlbGV0ZWQuCisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKTog
RGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAqIHJ1bnRp
bWUvU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVDaGFpbjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAg
ICAgKiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVj
dCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUpOgorICAgICAgICAoSlND
Ojpwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKToKKyAgICAgICAgKEpTQzo6U3RydWN0
dXJlOjpwcm90b3R5cGVGb3JMb29rdXApOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUNoYWluKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjppc1ZhbGlkKToKKyAgICAgICAg
KEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFByb3Bl
cnR5VGFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL1R5
cGVQcm9maWxlckxvZy5jcHA6CisgICAgICAgIChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vz
c0xvZ0VudHJpZXMpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVNldC5jcHA6CisgICAgICAgIChK
U0M6OlR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbik6CisgICAgICAgICogcnVudGltZS9UeXBl
U2V0Lmg6CisgICAgICAgICogcnVudGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6
V3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPjo6aXNJbnQzMik6CisKIDIwMTctMTAtMDEgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIyMjI1NjQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNl
cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTIyNyw5ICsyMjcsMTEgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAog
Ynl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVBy
b2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAK
IGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCitieXRlY29kZS9Qb2x5
UHJvdG9BY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAogYnl0
ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVCbG9jay5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjQnl0ZWNvZGVUb3ApCisgICAgICAgIHsKKyAgICAgICAgfQorCisjaWYgRU5BQkxF
KEpJVCkKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gc2xvd0Nh
bGwoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBwb2ludGVyKQorICAgICAgICB7CisgICAgICAgICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0YXRp
Y19jYXN0PEpTT2JqZWN0Kj4ocG9pbnRlcik7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAg
ICAgc3RhdGljIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBjYWxsRE9NR2V0dGVy
KCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBw
ZXQ+IHNuaXBwZXQgPSBET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0OjpjcmVhdGUoKTsKKyAg
ICAgICAgICAgIHNuaXBwZXQtPnJlcXVpcmVHbG9iYWxPYmplY3QgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHNuaXBwZXQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIFNuaXBwZXRQ
YXJhbXMmIHBhcmFtcykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdHMgPSBw
YXJhbXNbMF0uanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBHUFJSZWcgZG9tID0gcGFy
YW1zWzFdLmdwcigpOworICAgICAgICAgICAgICAgIHBhcmFtcy5hZGRTbG93UGF0aENhbGwoaml0
Lmp1bXAoKSwgaml0LCBzbG93Q2FsbCwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCgpOworCisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJldHVybiBzbmlwcGV0OworICAgICAgICB9CisjZW5kaWYKKyAgICB9OworCitwcml2
YXRlOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKworICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBjdXN0b21HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CisgICAgICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHRoaXNPYmplY3QpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3Qt
PmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICB9Cit9OworCitzdGF0aWMgY29uc3QgRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGUgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0RE9NSklUOworCit2b2lkIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBjb25zdCBE
T01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gJkRPTUpJVEdldHRlckJhc2VKU09iamVjdERP
TUpJVDsKKyAgICBhdXRvKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBET01BdHRyaWJ1dGVHZXR0ZXJT
ZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgbnVsbHB0ciwgRE9NQXR0cmlidXRl
QW5ub3RhdGlvbiB7IEpTT2JqZWN0OjppbmZvKCksIGRvbUpJVCB9KTsKKyAgICBwdXREaXJlY3RD
dXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21HZXR0
ZXIiKSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpOworfQorCiBjb25zdCBDbGFzc0luZm8g
RWxlbWVudDo6c19pbmZvID0geyAiRWxlbWVudCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRWxlbWVudCkgfTsKIGNvbnN0IENsYXNzSW5mbyBN
YXNxdWVyYWRlcjo6c19pbmZvID0geyAiTWFzcXVlcmFkZXIiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hc3F1ZXJhZGVyKSB9OwogY29uc3Qg
Q2xhc3NJbmZvIFJvb3Q6OnNfaW5mbyA9IHsgIlJvb3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJvb3QpIH07CkBAIC05NjUsNiArMTA0OSw3
IEBAIGNvbnN0IENsYXNzSW5mbyBET01KSVROb2RlOjpzX2luZm8gPSB7ICIKICNlbmRpZgogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlcjo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyIiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRH
ZXR0ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQ29tcGxleDo6c19pbmZvID0g
eyAiRE9NSklUR2V0dGVyQ29tcGxleCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQ29tcGxleCkgfTsKK2NvbnN0IENsYXNz
SW5mbyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckJh
c2VKU09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSB9OwogI2lmIEVOQUJMRShKSVQpCiBj
b25zdCBDbGFzc0luZm8gRE9NSklURnVuY3Rpb25PYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEZ1
bmN0aW9uT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgJkRPTUpJVEZ1bmN0aW9uT2Jq
ZWN0OjpjaGVja1N1YkNsYXNzU25pcHBldCwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRGdW5j
dGlvbk9iamVjdCkgfTsKICNlbHNlCkBAIC0xMTQ0LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEZ1bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNT
dGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVh
dGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xNDYyLDYgKzE1
NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
R2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9i
amVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25P
YmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rp
b25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3Jl
YXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0
aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3Qs
IDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwg
ZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBAIC0yMTk4LDYgKzIyODUsMTYg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7
CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBqc051bGwoKSk7
CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
blNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04MTAsNiArODEwLDcgQEAKIAkJ
NDQ0M0FFMzMxNkUxODhEOTAwNzZGMTEwIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVCNjEwNUM4NkM2
QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk0NTE1MzlCOTEyREM5
OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NzNEQTRBNDc2NEM0NUZF
ODcxQjA0ODUgLyogRGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjk5NDhFREU2OEQ0MDU0QjAxRUY3OTcgLyog
RGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTIxMTMxRjcxRjgyQkYxNDAwN0NDRUVFIC8qIFBvbHlQcm90
b0FjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjEzMjI0
NjFFQ0JDRTgyMDBGNjU2MTUgLyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyMTMyMjQ0MUVDQkNFODIwMEY2
NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovOyB9OwogCQk1MjUwRDJEMjFFOERB
MDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTI1MEQyRDAxRThEQTA1QTAwMjlBOTMyIC8qIFdhc21UaHVua3Mu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjVD
MEREQTFFOTM1ODQ3MDAyMTg0Q0QgLyogV2FzbUNhbGxlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTI1QzBERDgxRTkzNTg0NzAwMjE4NENEIC8qIFdh
c21DYWxsZWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMzEyMSw2ICszMTIyLDggQEAKIAkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUYwRUI2MTA1Qzg2QzZCMDBFNkRGMUIgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IEZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CiAJCTUxRjBFQzA3MDVDODZDOUEwMEU2REYxQiAvKiBsaWJvYmpjLmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGli
b2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNTIxMTMxRjUxRjgy
QkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTIxMTMxRjYxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUyMTMyMjQzMUVDQkNFODIwMEY2NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9u
QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJs
eUZ1bmN0aW9uQmFzZS5jcHA7IHBhdGggPSBqcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMyMjQ0MUVDQkNFODIwMEY2NTYxNSAv
KiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOyBwYXRoID0ganMvV2ViQXNzZW1ibHlGdW5j
dGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI1MEQyQ0YxRThEQTA1
QTAwMjlBOTMyIC8qIFdhc21UaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2FzbVRodW5rcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
MzU2LDYgKzczNTksOCBAQAogCQkJCTk2OUEwNzk1MEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUu
aCAqLywKIAkJCQkwRjJCREMyQjE1MUZERThCMDBDRDg5MTAgLyogT3BlcmFuZHMuaCAqLywKIAkJ
CQlBNzA0NDdFOTE3QTBCRDQ2MDBGNTg5OEUgLyogT3BlcmFuZHNJbmxpbmVzLmggKi8sCisJCQkJ
NTIxMTMxRjUxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLywK
KwkJCQk1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
LywKIAkJCQkwRkY5Q0U3MTFCOUNENkQwMDA0RURDQTYgLyogUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
ICovLAogCQkJCTBGRjlDRTcyMUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5o
ICovLAogCQkJCTBGOTgyMDVEMTZCRkUzN0YwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMu
Y3BwICovLApAQCAtODE5NSw2ICs4MjAwLDcgQEAKIAkJCQlBNzk4NkQ1NzE3QTBCQjFFMDBBOTVE
RDAgLyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYxNDM0
MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCQzBB
RTgxNDk2QzdDNzAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE3OEE5Nzc1MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGYWlsZWRGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkZGM0MwMTc5ODY4OTQwMDAyRjQ2MiAvKiBE
RkdGaWx0cmF0aW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzhBOTc3NzE3OTczOEI4
MDA5REY3NDQgLyogREZHRmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAy
MjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFN
RVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsg
IlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1i
b2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlBy
aXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAK
IGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7
CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZ
KG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElB
TElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFt
ZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJv
bHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBs
Jj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAg
IEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9f
UFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFD
SF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0y
MzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9f
UFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGlj
VG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0
ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3Rv
KTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51
bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAg
ICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRl
bnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JV
SUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFy
Vk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Q
cml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZp
ZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9M
UykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZp
ZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGlj
VG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBB
Y2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQog
ICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbihXVEZN
b3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51
bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9u
U2V0OwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nh
c2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBicmVhazsKICAgICBj
YXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0
QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNh
c2UgTW9kdWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgIGJyZWFrOwogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVj
dHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVj
dHVyZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQog
CiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyArMTM4LDggQEAgVmVjdG9yPFdh
dGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0
KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5u
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0
Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAgICB8fCAobV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbiAmJiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQuYXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRT
ZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkK
QEAgLTE1MSw2ICsxNTUsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNo
ZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlm
IChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBz
d2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdM
ZW5ndGg6CkBAIC0yMTAsNiArMjE3LDE5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShj
b25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVj
dCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVm
YXVsdDoKKyAgICAgICAgaWYgKG90aGVyLnR5cGUoKSAhPSB0eXBlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgIGlmICghb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNr
IHdlIG5lZWQgc2luY2UgUG9seVByb3RvQWNjZXNzQ2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3Ry
dWN0dXJlLgorICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBv
bmx5IHRoZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xsIGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAg
ICAgICAgIC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZSgpID09IG90aGVyLnN0cnVjdHVyZSgpCisgICAgICAgICAgICAgICAg
JiYgKm1fcG9seVByb3RvQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hh
aW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkg
fHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI3IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFj
ZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJc
biIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQu
cHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQot
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1
Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNl
IGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0g
IiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zm
c2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9v
ZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYg
KG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJv
dG90eXBlIGFjY2VzcyBjaGFpbiA9ICIpOworICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
LT5kdW1wKHN0cnVjdHVyZSgpLCBvdXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtX3R5
cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVy
ZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdT
dHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAg
IG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJl
LmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnBy
aW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjY4LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRX
ZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFy
a2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICht
X3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgOiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAo
IUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0y
NzMsNiArMzA0LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wK
ICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFy
a0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgewor
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFw
KHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFu
c2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwOCw2NCBAQCB2b2lkIEFjY2Vzc0Nhc2U6
OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYg
KHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VH
UFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQot
ICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
UHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAg
aWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9y
QWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRl
LmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgbV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbi0+Zm9yRWFjaChzdHJ1Y3R1cmUoKSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCBhdEVuZCkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9m
ZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAg
ICAgICAgIGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBN
aXNzIHx8IG1fdHlwZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmIHN0cnVj
dHVyZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBh
IE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBlbmQg
d2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVyaWZ5
IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNuJ3Qg
YSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZz
ZXRSZWxhdGl2ZVRvQmFzZShvZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAg
ICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVy
czo6Tm90RXF1YWwsIGJhc2VGb3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0
KFZhbHVlTnVsbCkpKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKHN0YXRlLm1fZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihh
c09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1
Y3R1cmUtPmlzT2JqZWN0KCkpOyAvLyBQcmltaXRpdmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90
b3R5cGUuIFdlIHVzZSBwcm90b3R5cGVGb3JMb29rdXAgZm9yIHRoZW0uCisgICAgICAgICAgICAg
ICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09m
ZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVP
ZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JB
Y2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKG9mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BS
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNo
NjQoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVy
ZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKLSAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0
dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAg
ICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0
KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
UHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAgICBqaXQubG9hZFB0
cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkp
LCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAg
ICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNl
dCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhl
bHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUwMiw4IEBAIHZvaWQg
QWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NFUlQobV9jb25kaXRp
b25TZXQuc3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNo
cG9pbnQoKSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uJiBjb25k
aXRpb24gOiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9wb2x5
UHJvdG9BY2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjb25k
aXRpb24ub2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChjb25kaXRpb24uaXNX
YXRjaGFibGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7CkBAIC01MDQsMTMg
KzU4MCwxOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAg
ICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBHUFJSZWcgYmFzZUZv
ckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNjcmF0Y2hHUFIpOwor
ICAgICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gVGhp
cyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBnZW5lcmF0ZVdpdGhH
dWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9yQWNjZXNzIGluc2lk
ZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisgICAgICAgICAgICAv
LyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8gbG9hZCB0aGUgYmFz
ZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBiYXNlRm9yR2V0R1BS
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksIHNjcmF0Y2hHUFIp
OworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNoR1BSOworICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JH
ZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFsdWVHUFIgPSBJbnZh
bGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVlR2V0dGVyICYmIG1f
dHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tVmFsdWVTZXR0
ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0xMDE2LDcgKzEwOTgs
NyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgICAgIAog
ICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzVmFs
aWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gV2UgbmVlZCB0byBl
bnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5kZXIgdXMuIE5vdGUg
dGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUgc28gd2UganVzdCBu
ZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lkZSBpdC4KICAgICAg
ICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2
ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgogI2luY2x1ZGUgIk9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUG9seVByb3RvQWNjZXNzQ2hh
aW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpA
QCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBTdHJ1Y3R1cmUqID0g
bnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgp
LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAg
ICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRyYW5zaXRpb25zLgog
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxs
KiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJlLAotICAgICAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5p
cXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVl
X3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBKU0NlbGwqIG93bmVy
LCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1BvbHlQcm90bygpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3BvbHlQcm90b0FjY2Vzc0NoYWluOworICAg
IH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlZmF1
bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3Bl
cnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOworICAgIEFjY2Vzc0Nhc2Uo
QWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNl
JiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAgICAgICAsIG1fc3Rh
dGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5tX29mZnNldCkKKyAg
ICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAgICAgLCBtX2NvbmRp
dGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAgIGlmIChvdGhlci5t
X3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
biA9IG90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmNsb25lKCk7CisgICAgfQorCiAgICAg
QWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRlbGV0ZTsKICAgICB2
b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAKQEAgLTIyNyw2ICsy
NDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJl
OwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRpb25TZXQ7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IG1fcG9seVByb3RvQWNjZXNz
Q2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gcGNbb3BMZW5ndGgg
LSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tpICsgb3BMZW5ndGgg
LSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAgb2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAgICAgbV9nbG9iYWxP
YmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKSwgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dl
dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5LDkgQEAgR2V0QnlJ
ZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNj
ZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAgICAgICAgIGlmIChh
Y2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhz
bG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVBy
b3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0
ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUpIHsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlSW50
ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmpl
Y3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0KQor
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNj
ZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFj
Y2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRp
dGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX2N1c3Rv
bVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RCYXNlKTsKIH0KIAog
CiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0
eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9p
bnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3Vz
dG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0
cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LAor
ICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNl
LAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRl
LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0No
YWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVyOgpAQCAtNjMsMTgg
KzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXIKICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxH
ZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uo
dm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
KHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJv
eHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vz
c0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21BdHRyaWJ1dGU7CiAg
ICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdldHRlcjsKICAgICBy
ZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4g
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNj
ZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAgICBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNl
KQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1c3RvbVZhbHVlU2V0
dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nh
c2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBmYWxz
ZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8R2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKHZtLCBv
d25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZmFsc2UsIG51bGxw
dHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAg
IHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0ZXI7CiAgICAgcmV0
dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vz
c0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTYgKzQ4LDEyIEBAIHB1YmxpYzoKIAogICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAogICAgICAgICBWTSYs
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLAot
ICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsCi0gICAgICAg
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAgICAgICBQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5u
b3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09iamVjdCogY3VzdG9tU2xv
dEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4sIHN0ZDo6dW5pcXVl
X3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBTdHJ1
Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAg
ICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAgICAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jID0gbnVsbHB0
ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJ
bXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC02Nyw3
ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3NvcigpIGNvbnN0IHsgcmV0
dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0gICAgR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFz
ZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUs
IFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
Pik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRlclNldHRlckFjY2Vz
c0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkocmV2
aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0Niwx
MSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRp
b25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90
eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJUKCFtX3N0cnVjdHVy
ZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSk7CiAK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHBvbHlt
b3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0eXBlczoKKyAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgaWYg
KHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSkKICAgICAgICAg
c3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vz
c0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMz
LDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNl
OjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiogaW50cmluc2ljRnVuY3Rp
b24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVj
dHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRl
ciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikKIHsKICAgICBtX2lu
dHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0aW9uKTsKIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3ND
YXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJp
bnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY2FuRW1pdElu
dHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAgICAgdm9pZCBlbWl0SW50
cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisgICAgLy8gRklYTUU6IE1h
a2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJl
KiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1bmN0aW9uKiBpbnRyaW5z
aWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBj
b25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1
bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VB
Y2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNl
IEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdCogbW9k
dWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBtb2R1bGVFbnZpcm9ubWVu
dCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxl
TmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBp
bnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBudWxs
cHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsKICAgICBtX21vZHVsZU5h
bWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3BhY2VPYmplY3QpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9iamVjdEFsbG9jYXRpb25Q
cm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlv
bklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7CisgICAgQVNTRVJU
KCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7CisgICAgQVNTRVJUKCFt
X2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdvaW5nIHBvbHkgcHJvdG8s
IHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAgICAvLyBjcmVhdGVfdGhp
cycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0LgorICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICBib29s
IGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
ID0gbnVsbHB0cjsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAgLy8gRklYTUU6IEEg
SlNGdW5jdGlvbiBzaG91bGQgd2F0Y2ggdGhlIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCBpZiBpdCBp
cyBub3QgaW52YWxpZGF0ZWQuCisgICAgICAgIC8vIFRoYXQgd2F5IGl0IGNhbiBjbGVhciB0aGlz
IG9iamVjdCBhbGxvY2F0aW9uIHByb2ZpbGUgdG8gZW5zdXJlIGl0IHN0b3BzIGFsbG9jYXRpbmcK
KyAgICAgICAgLy8gbW9ubyBwcm90byB8dGhpc3wgdmFsdWVzIHdoZW4gaXQga25vd3MgdGhhdCBp
dCBzaG91bGQgYmUgYWxsb2NhdGluZyBwb2x5IHByb3RvCisgICAgICAgIC8vIHx0aGlzfCB2YWx1
ZXM6CisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc3OTIKKworICAgICAgICBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpzRXhlY3V0YWJsZSgp
OworICAgICAgICBpc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBpZiAoT3B0aW9uczo6Zm9y
Y2VQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gdHJ1ZTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBleGVjdXRhYmxlLT5lbnN1cmVQb2x5UHJv
dG9XYXRjaHBvaW50KCkuaGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0YWJsZS0+c2luZ2xl
dG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisKKyAgICAgICAgaWYgKGlzUG9s
eVByb3RvKSB7CisgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBleGVjdXRh
YmxlLT5jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmluYWxPYmplY3RUeXBl
KTsKKyAgICAgICAgICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxwdHI7CisgICAgICAgICAgICAg
ICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAg
ICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0eSgpOworICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAg
IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAg
IC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCisg
ICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlD
b3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVkSW5saW5lQ2FwYWNp
dHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlr
ZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAgICAgIC8vIHNlZSB0
aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVy
IGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2Vz
LCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAgICAgICAgLy8gb2Jq
ZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFj
aXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0K
KworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7CisgICAg
ICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFj
aXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3Qu
CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgKytp
bmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6Om1pbihpbmxpbmVD
YXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfQorCisg
ICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5
IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworCisgICAgc2l6ZV90IGFs
bG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNp
dHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9j
YXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRy
YSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgorICAgIGlmIChh
bGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9yLT5jZWxsU2l6ZSgp
IC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtub3duPik7CisgICAg
ICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+
IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVD
YXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmplY3RTdHJ1
Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5
LCBpc1BvbHlQcm90byk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgQVNTRVJU
KHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpOworICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxw
dHI7CisgICAgICAgIGV4ZWN1dGFibGUtPnNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSh2bSwg
c3RydWN0dXJlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZXhlY3V0YWJsZSkgeworICAg
ICAgICAgICAgZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAgICAg
ICAgICAgc3RydWN0dXJlLT5lbnN1cmVSYXJlRGF0YSh2bSktPnNldFNoYXJlZFBvbHlQcm90b1dh
dGNocG9pbnQoZXhlY3V0YWJsZS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKTsKKyAgICAg
ICAgfQorCisgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIH0KKworICAgIC8v
IEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2ls
bCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7CisK
KyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOworICAgIG1faW5saW5l
Q2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09iamVjdCog
cHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmpl
Y3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgc2l6ZV90
IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0s
IFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6
SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zy
b21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Cisg
ICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3ImIHByb3BlcnR5TmFt
ZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlOYW1lVmVjdG9yKCk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBw
cm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9u
LCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJp
ZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkp
CisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50OworCisgICAgfQorICAg
IHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDU5ICs0OCw3
IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9
CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJl
ZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7Ci0g
ICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQoIW1faW5saW5lQ2Fw
YWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKLSAgICAgICAg
aWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5l
Q2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0IGJh
c2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKLQotICAg
ICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAgICAgICAgICAgICAg
Ly8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFs
eXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFs
aXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KLSAg
ICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVm
YXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewot
ICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2VhayBndWVzc2VzLCBz
byBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAgICAgICAgIC8vIG9i
amVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNh
cGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAv
LyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4g
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAgICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAg
IH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAgICAgICAgQVNTRVJU
KGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwot
Ci0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRp
b25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0
b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKLSAgICAgICAg
Ci0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFp
bGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0b3IpIHsKLSAgICAg
ICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAtIGFsbG9jYXRpb25T
aXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAgICAgaW5saW5lQ2Fw
YWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICB9Ci0K
LSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1wdHlPYmpl
Y3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVz
IHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKLSAgICAgICAg
V1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRv
cjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKLSAgICAg
ICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0KKyAgICB2b2lkIGlu
aXRpYWxpemVQcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUo
KQogICAgIHsKQEAgLTExMyw3ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoKQog
ICAgIHsKLSAgICAgICAgbV9hbGxvY2F0b3IgPSAwOworICAgICAgICBtX2FsbG9jYXRvciA9IG51
bGxwdHI7CiAgICAgICAgIG1fc3RydWN0dXJlLmNsZWFyKCk7CiAgICAgICAgIG1faW5saW5lQ2Fw
YWNpdHkgPSAwOwogICAgICAgICBBU1NFUlQoaXNOdWxsKCkpOwpAQCAtMTI1LDI4ICs3Myw3IEBA
IHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0KLSAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1
bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkKLSAgICB7Ci0gICAg
ICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJv
dG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBzaXplX3QgY291bnQg
PSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVBcnJheSgmdm0sIFBy
b3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3ltYm9sTW9kZTo6SW5j
bHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5TmFtZXNG
cm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2RlKCkpOwot
ICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZlY3RvciYgcHJvcGVy
dHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0
b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0b3Iu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdl
dERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAgICAgICAgLy8gRnVu
Y3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZlbCBvYmplY3RzIHRo
YXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNG
dW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg
ICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4gY291bnQ7Ci0gICAg
fQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mLCBKU09iamVj
dCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxvY2F0b3I7IC8vIFBy
ZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVkIGNvZGUuCiAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGdlbmVyYXRlQ29uZGl0
aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFi
c2VuY2U6IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpCisgICAgICAg
ICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAgICAgcmVzdWx0ID0g
T2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2UoCiAgICAgICAgICAgICB2bSwgb3duZXIs
IG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0aW9uOjpB
YnNlbmNlT2ZTZXRFZmZlY3Q6IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3Rv
KCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAg
ICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VPZlNldEVmZmVjdCgK
ICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBAIC0yNTgsNiArMjYy
LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29uZGkKICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4iKTsKICAgICAgICAg
ICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxpZCgpOwogICAgICAg
ICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFBvbHlQcm90b0FjY2Vzc0NoYWluOgor
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzMzOQorICAgICAgICAgICAgLy8gT3IgYXQgbGVhc3QgYWxsb3cgT1BDIHNldCBnZW5lcmF0aW9u
IHdoZW4gdGhlCisgICAgICAgICAgICAvLyBiYXNlIGlzIG5vdCBwb2x5IHByb3RvOgorICAgICAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyMQor
ICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0OjppbnZhbGlkKCk7
CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBzdHJ1Y3R1cmUt
PnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0No
YWluLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIgorCisjaW5jbHVk
ZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0ZDo6dW5pcXVlX3B0cjxQb2x5
UHJvdG9BY2Nlc3NDaGFpbj4gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYgc2xv
dCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU09iamVjdCogdGFyZ2V0ID0gc2xvdC5p
c1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworICAgIHJldHVybiBjcmVhdGUo
Z2xvYmFsT2JqZWN0LCBiYXNlLCB0YXJnZXQsIHVzZXNQb2x5UHJvdG8pOworfQorCitzdGQ6OnVu
aXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVh
dGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBKU09iamVjdCog
dGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTQ2VsbCogY3VycmVudCA9IGJh
c2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBib29sIGZvdW5kID0gZmFsc2U7
CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUG9seVByb3RvQWNjZXNzQ2hhaW4oKSk7CisK
KyAgICBmb3IgKHVuc2lnbmVkIGl0ZXJhdGlvbk51bWJlciA9IDA7IHRydWU7ICsraXRlcmF0aW9u
TnVtYmVyKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlBY2Nlc3Nlc0FyZUNh
Y2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgaWYgKHN0
cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChz
dHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVl
bkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBhc09i
amVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBUbyBzYXZlIG1lbW9yeSwg
d2UgZG9uJ3QgaW5jbHVkZSB0aGUgYmFzZSBpbiB0aGUgY2hhaW4uIFdlIGxldAorICAgICAgICAv
LyBBY2Nlc3NDYXNlIHByb3ZpZGUgdGhlIGJhc2UgdG8gdXMgYXMgbmVlZGVkLgorICAgICAgICBp
ZiAoaXRlcmF0aW9uTnVtYmVyKQorICAgICAgICAgICAgcmVzdWx0LT5tX2NoYWluLmFwcGVuZChz
dHJ1Y3R1cmUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJy
ZW50ID09IGJhc2UpOworCisgICAgICAgIGlmIChjdXJyZW50ID09IHRhcmdldCkgeworICAgICAg
ICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3ZSBuZWVkIHRvIGFjY2VzcyBvdXIg
cHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBwcm90byBwcm90b2NvbC4gSWYgdGhl
IHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisgICAgICAgIC8vIHRoaW5nIGluIHRo
ZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24gaXQsIHRoZW4gd2UncmUgbm90Cisg
ICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQb2x5UHJvdG8gfD0gc3RydWN0dXJl
LT5oYXNQb2x5UHJvdG8oKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVy
ZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVudCk7CisgICAgICAgIGlm
IChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY3VycmVu
dCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFmb3VuZCAmJiAhIXRh
cmdldCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQor
Citib29sIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50
KCkgY29uc3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9jaGFpbikgewor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0IFBvbHlQcm90b0FjY2Vz
c0NoYWluJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFpbiA9PSBvdGhlci5tX2No
YWluOworfQorCit2b2lkIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpkdW1wKFN0cnVjdHVyZSogYmFz
ZVN0cnVjdHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQoIlBv
bHlQb2x5UHJvdG9BY2Nlc3NDaGFpbjogW1xuIik7CisgICAgZm9yRWFjaChiYXNlU3RydWN0dXJl
LCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sKSB7CisgICAgICAgIG91dC5wcmludCgi
XHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAgIG91dC5wcmludCgi
XG4iKTsKKyAgICB9KTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgJKG5vbmV4aXN0ZW50KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0OworY2xhc3MgSlNP
YmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7CisKK2NsYXNzIFBv
bHlQcm90b0FjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQb2x5UHJvdG9BY2Nlc3NDaGFpbik7CisKK3B1YmxpYzoKKyAg
ICBQb2x5UHJvdG9BY2Nlc3NDaGFpbihQb2x5UHJvdG9BY2Nlc3NDaGFpbiYpID0gZGVmYXVsdDsK
KworICAgIC8vIFJldHVybnMgbnVsbHB0ciB3aGVuIGludmFsaWQuCisgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2JqZWN0Kiwg
SlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNsb3QmLCBib29sJiB1c2VzUG9seVByb3RvKTsK
KyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBjcmVhdGUo
SlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVz
ZXNQb2x5UHJvdG8pOworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
PiBjbG9uZSgpCisgICAgeworICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxQb2x5UHJv
dG9BY2Nlc3NDaGFpbj4oKnRoaXMpOworICAgIH0KKworICAgIGNvbnN0IFZlY3RvcjxTdHJ1Y3R1
cmUqPiYgY2hhaW4oKSBjb25zdCB7IHJldHVybiBtX2NoYWluOyB9CisKKyAgICB2b2lkIGR1bXAo
U3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworICAg
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBQb2x5UHJvdG9BY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0
OworICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBQb2x5UHJvdG9BY2Nlc3NDaGFpbiYgb3RoZXIp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CisgICAgfQor
CisgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkgY29uc3Q7CisKKyAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuYz4KKyAgICB2b2lkIGZvckVhY2goU3RydWN0dXJlKiBiYXNl
U3RydWN0dXJlLCBjb25zdCBGdW5jJiBmdW5jKSBjb25zdAorICAgIHsKKyAgICAgICAgYm9vbCBh
dEVuZCA9ICFtX2NoYWluLnNpemUoKTsKKyAgICAgICAgZnVuYyhiYXNlU3RydWN0dXJlLCBhdEVu
ZCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoYWluLnNpemUoKTsgKytp
KSB7CisgICAgICAgICAgICBhdEVuZCA9IGkgKyAxID09IG1fY2hhaW4uc2l6ZSgpOworICAgICAg
ICAgICAgZnVuYyhtX2NoYWluW2ldLCBhdEVuZCk7CisgICAgICAgIH0KKyAgICB9CisKK3ByaXZh
dGU6CisgICAgUG9seVByb3RvQWNjZXNzQ2hhaW4oKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBUaGlz
IGRvZXMgbm90IGluY2x1ZGUgdGhlIGJhc2UuIFdlIHJlbHkgb24gQWNjZXNzQ2FzZSBwcm92aWRp
bmcgaXQgZm9yIHVzLiBUaGF0IHNhaWQsIHRoaXMgZGF0YQorICAgIC8vIHN0cnVjdHVyZSBpcyB0
aWVkIHRvIHRoZSBiYXNlIHRoYXQgaXQgd2FzIGNyZWF0ZWQgd2l0aC4KKyAgICBWZWN0b3I8U3Ry
dWN0dXJlKj4gbV9jaGFpbjsgCit9OworCit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAJKHJldmlzaW9uIDIyMjcx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1OCw2ICsyNTgsNDEgQEAgQWNjZXNzR2VuZXJhdGlvblJl
c3VsdCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChjYXNlc1RvQWRkLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6Ok1hZGVOb0NoYW5nZXM7CiAKKyAg
ICBib29sIHNob3VsZFJlc2V0ID0gZmFsc2U7CisgICAgYXV0byBjb25zaWRlclBvbHlQcm90b1Jl
c2V0ID0gWyZdIChTdHJ1Y3R1cmUqIGEsIFN0cnVjdHVyZSogYikgeworICAgICAgICBpZiAoU3Ry
dWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgIC8v
IEZvciBub3csIHdlIG9ubHkgcmVzZXQgaWYgdGhpcyBpcyBvdXIgZmlyc3QgdGltZSBpbnZhbGlk
YXRpbmcgdGhpcyB3YXRjaHBvaW50LgorICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBw
cm9iYWJseSBoYXZlIGFsbCB0aGF0IGNhbiB3YXRjaCBmb3IgdGhlIHBvbHkgcHJvdG8KKyAgICAg
ICAgICAgIC8vIHdhdGNocG9pbnQgZG8gaXQuIFRoaXMgd2lsbCBhbGxvdyBzdHVicyB0byBjbGVh
ciBvdXQgdGhlaXIgbm9uLXBvbHktcHJvdG8KKyAgICAgICAgICAgIC8vIElDIGNhc2VzLiBUaGlz
IGlzIGxpa2VseSB0byBiZSBmYXN0ZXIgaWYgeW91IGJ1aWxkIHVwIGEgYnVuY2ggb2YgSUNzLCB0
aGVuCisgICAgICAgICAgICAvLyB0cmlnZ2VyIHBvbHkgcHJvdG8sIHRoZW4gb25seSBhY2Nlc3Mg
cG9seSBwcm90byBvYmplY3RzLiBJZiB3ZSBkbyB0aGlzLCB3ZSdsbAorICAgICAgICAgICAgLy8g
bmVlZCB0aGlzIGNvZGUgYmVsb3cgdG8gZGVsYXkgZmlyaW5nIHRoZSB3YXRjaHBvaW50IHNpbmNl
IGl0IG1pZ2h0IGNhdXNlCisgICAgICAgICAgICAvLyB1cyB0byBkZWFsbG9jYXRlIG91cnNlbHZl
czoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzc3NjUKKyAgICAgICAgICAgIEFTU0VSVChhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJv
dG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0
Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgIHNob3VsZFJlc2V0IHw9IGEtPnJhcmVEYXRh
KCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7IAor
ICAgICAgICAgICAgYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5p
bnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wdGlt
aXphdGlvbiBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgZm9yIChh
dXRvJiBjYXNlVG9BZGQgOiBjYXNlc1RvQWRkKSB7CisgICAgICAgIGZvciAoYXV0byYgZXhpc3Rp
bmdDYXNlIDogbV9saXN0KSB7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSBjYXNlVG9BZGQt
PnN0cnVjdHVyZSgpOworICAgICAgICAgICAgU3RydWN0dXJlKiBiID0gZXhpc3RpbmdDYXNlLT5z
dHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIGNvbnNpZGVyUG9seVByb3RvUmVzZXQoYSwgYik7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNhc2VzVG9BZGQu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gaSArIDE7IGogPCBjYXNl
c1RvQWRkLnNpemUoKTsgKytqKSB7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSBjYXNlc1Rv
QWRkW2ldLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGNhc2VzVG9B
ZGRbal0tPnN0cnVjdHVyZSgpOworICAgICAgICAgICAgY29uc2lkZXJQb2x5UHJvdG9SZXNldChh
LCBiKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChzaG91bGRSZXNldCkKKyAgICAgICAg
cmV0dXJuIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OlJlc2V0U3R1YjsKKwogICAgIC8vIE5vdyBh
ZGQgdGhpbmdzIHRvIHRoZSBuZXcgbGlzdC4gTm90ZSB0aGF0IGF0IHRoaXMgcG9pbnQsIHdlIHdp
bGwgc3RpbGwgaGF2ZSBvbGQgY2FzZXMgdGhhdAogICAgIC8vIG1heSBiZSByZXBsYWNlZCBieSB0
aGUgbmV3IG9uZXMuIFRoYXQncyBmaW5lLiBXZSB3aWxsIHNvcnQgdGhhdCBvdXQgd2hlbiB3ZSBy
ZWdlbmVyYXRlLgogICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgewpAQCAt
MzM5LDcgKzM3NCw3IEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MK
ICAgICBpZiAoUG9seW1vcnBoaWNBY2Nlc3NJbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgZGF0
YUxvZygiUmVnZW5lcmF0ZSB3aXRoIG1fbGlzdDogIiwgbGlzdER1bXAobV9saXN0KSwgIlxuIik7
CiAgICAgCi0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtKTsKKyAgICBBY2Nlc3NH
ZW5lcmF0aW9uU3RhdGUgc3RhdGUodm0sIGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCkpOwogCiAg
ICAgc3RhdGUuYWNjZXNzID0gdGhpczsKICAgICBzdGF0ZS5zdHViSW5mbyA9ICZzdHViSW5mbzsK
QEAgLTU5MCw2ICs2MjUsOSBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwg
QWNjCiAgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpHZW5lcmF0ZWRGaW5hbENvZGU6
CiAgICAgICAgIG91dC5wcmludCgiR2VuZXJhdGVkRmluYWxDb2RlIik7CiAgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6OlJlc2V0U3R1YjoKKyAgICAgICAg
b3V0LnByaW50KCJSZXNldFN0dWIiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmgJKHJldmlzaW9uIDIyMjcx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoKICAgICAgICAgR2F2ZVVw
LAogICAgICAgICBCdWZmZXJlZCwKICAgICAgICAgR2VuZXJhdGVkTmV3Q29kZSwKLSAgICAgICAg
R2VuZXJhdGVkRmluYWxDb2RlIC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZl
ciB3YW50IHRvIGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAgICAgIEdlbmVyYXRlZEZpbmFsQ29k
ZSwgLy8gR2VuZXJhdGVkIHNvIG11Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJh
dGUgY29kZSBhZ2Fpbi4KKyAgICAgICAgUmVzZXRTdHViIC8vIFdlIGZvdW5kIG91dCBzb21lIGRh
dGEgdGhhdCBtYWtlcyB1cyB3YW50IHRvIHN0YXJ0IG92ZXIgZnJlc2ggd2l0aCB0aGlzIHN0dWIu
IEN1cnJlbnRseSwgdGhpcyBoYXBwZW5zIHdoZW4gd2UgZGV0ZWN0IHBvbHkgcHJvdG8uCiAgICAg
fTsKICAgICAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0KCkKQEAgLTk4LDYgKzk5LDcgQEAg
cHVibGljOgogICAgIGJvb2wgYnVmZmVyZWQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gQnVm
ZmVyZWQ7IH0KICAgICBib29sIGdlbmVyYXRlZE5ld0NvZGUoKSBjb25zdCB7IHJldHVybiBtX2tp
bmQgPT0gR2VuZXJhdGVkTmV3Q29kZTsgfQogICAgIGJvb2wgZ2VuZXJhdGVkRmluYWxDb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kID09IEdlbmVyYXRlZEZpbmFsQ29kZTsgfQorICAgIGJvb2wg
c2hvdWxkUmVzZXRTdHViKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IFJlc2V0U3R1YjsgfQog
ICAgIAogICAgIC8vIElmIHdlIGdhdmUgdXAgb24gdGhpcyBhdHRlbXB0IHRvIGdlbmVyYXRlIGNv
ZGUsIG9yIGlmIHdlIGdlbmVyYXRlZCB0aGUgImZpbmFsIiBjb2RlLCB0aGVuIHdlCiAgICAgLy8g
c2hvdWxkIGdpdmUgdXAgYWZ0ZXIgdGhpcy4KQEAgLTE3MSwxNCArMTczLDE2IEBAIHByaXZhdGU6
CiB9OwogCiBzdHJ1Y3QgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHsKLSAgICBBY2Nlc3NHZW5lcmF0
aW9uU3RhdGUoVk0mIHZtKQorICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgICAgIDogbV92bSh2bSkgCisgICAgICAgICwg
bV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQogICAgICAgICAsIG1fY2FsY3VsYXRlZFJlZ2lz
dGVyc0ZvckNhbGxBbmRFeGNlcHRpb25IYW5kbGluZyhmYWxzZSkKICAgICAgICAgLCBtX25lZWRz
VG9SZXN0b3JlUmVnaXN0ZXJzSWZFeGNlcHRpb24oZmFsc2UpCiAgICAgICAgICwgbV9jYWxjdWxh
dGVkQ2FsbFNpdGVJbmRleChmYWxzZSkKICAgICB7CiAgICAgfQogICAgIFZNJiBtX3ZtOworICAg
IEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsKICAgICBDQ2FsbEhlbHBlcnMqIGppdCB7
IG51bGxwdHIgfTsKICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcjsKICAg
ICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlByZXNlcnZlZFN0YXRlIHByZXNlcnZlZFJldXNl
ZFJlZ2lzdGVyU3RhdGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJv
cGVydHlDb25kaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwNywxNCArMTA3LDMwIEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3Rp
bGxWYWxpZEFzc3UKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvLyBGSVhN
RTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92
ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBz
aG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BD
IGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICB9CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgY3VycmVudE9mZnNldCA9IHN0cnVjdHVyZS0+
Z2V0Q29uY3VycmVudGx5KHVpZCgpKTsKICAgICAgICAgaWYgKGN1cnJlbnRPZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpCiAgICAgICAgICAgICAgICAgZGF0YUxvZygiSW52YWxpZCBiZWNhdXNlIHRoZSBw
cm9wZXJ0eSBleGlzdHMgYXQgb2Zmc2V0OiAiLCBjdXJyZW50T2Zmc2V0LCAiXG4iKTsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKKworICAg
ICAgICBKU09iamVjdCogY3VycmVudFByb3RvdHlwZTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzTW9ub1Byb3RvKCkpCisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0gc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChiYXNlKTsKKyAgICAgICAgICAgIGN1cnJlbnRQcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4oKnN0cnVjdHVyZS0+dm0oKSwgYmFzZS0+Z2V0UHJvdG90eXBl
RGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGN1cnJlbnRQcm90b3R5cGUgIT0g
cHJvdG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFs
Ojp2ZXJib3NlKSB7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAg
ICAgIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvdG90eXBlIGlzICIsIHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCksICIgZXZlbiB0aG91Z2ggIgpAQCAtMTQ1LDYgKzE2MSwxNCBAQCBib29sIFBy
b3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVy
ZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMg
aXMgdG9vIGNvbnNlcnZhdGl2ZS4gV2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAg
ICAgICAgIC8vIHdlIGhhdmUgdGhlIGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMg
d29yayB3aGVuIGludGVncmF0aW5nCisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8u
CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3MzM5CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlw
ZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9z
ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vz
c0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCwxNyArMzAsMTggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLVByb3h5YWJsZUFjY2Vz
c0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NU
eXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKK1Byb3h5
YWJsZUFjY2Vzc0Nhc2U6OlByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsCisgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRp
dGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3Rk
Ojp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikK
KyAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKICAgICAsIG1fdmlhUHJv
eHkodmlhUHJveHkpCiAgICAgLCBtX2FkZGl0aW9uYWxTZXQoYWRkaXRpb25hbFNldCkKIHsKIH0K
IAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRp
b25hbFNldCkKK3N0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gTG9hZCB8fCB0eXBlID09
IE1pc3MgfHwgdHlwZSA9PSBHZXRHZXR0ZXIpOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZz
ZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCkpOwor
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IFByb3h5YWJsZUFjY2Vz
c0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2
aWFQcm94eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsK
IH0KIAogUHJveHlhYmxlQWNjZXNzQ2FzZTo6flByb3h5YWJsZUFjY2Vzc0Nhc2UoKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNz
Q2FzZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywxMyArMzMsMTMg
QEAgbmFtZXNwYWNlIEpTQyB7CiAKIGNsYXNzIFByb3h5YWJsZUFjY2Vzc0Nhc2UgOiBwdWJsaWMg
QWNjZXNzQ2FzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBBY2Nlc3NDYXNlIEJhc2U7CisgICAg
dXNpbmcgQmFzZSA9IEFjY2Vzc0Nhc2U7CiAKICAgICBib29sIHZpYVByb3h5KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV92aWFQcm94eTsgfQogICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2FkZGl0aW9uYWxTZXQuZ2V0KCk7IH0K
IAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlND
ZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0g
ICAgICAgIGJvb2wgdmlhUHJveHkgPSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCA9IG51bGxwdHIpOworICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRT
ZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNj
ZXNzQ2hhaW4+ID0gbnVsbHB0cik7CiAKICAgICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwg
Q29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoK
ICAgICB+UHJveHlhYmxlQWNjZXNzQ2FzZSgpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUHJveHlhYmxl
QWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHks
IFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpOworICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2Uo
Vk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+
KTsKIAogcHJpdmF0ZToKICAgICBib29sIG1fdmlhUHJveHk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE4NCw2ICsxODQsOCBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRT
dGF0dXM6OmNvbXB1dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3Mg
PSBsaXN0LT5hdChpKTsKICAgICAgICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKKyAgICAgICAg
ICAgIGlmIChhY2Nlc3MudXNlc1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBQ
dXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBQ
dXRCeUlkVmFyaWFudCB2YXJpYW50OwogICAgICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTEgQEAgQWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3RydWN0dXJlU3R1
YkluZm9JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkhhZCBzdHViLCBy
ZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRSZXNl
dFN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgp
KSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xNTIsNiArMTU3LDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1
bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJu
YWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJDcmVhdGVkIHN0dWIsIHJlc3VsdDog
IiwgcmVzdWx0LCAiXG4iKTsKIAorICAgICAgICBpZiAocmVzdWx0LnNob3VsZFJlc2V0U3R1Yigp
KSB7CisgICAgICAgICAgICByZXNldChjb2RlQmxvY2spOworICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAg
ICAgICAgICAgIGJ1ZmZlcmVkU3RydWN0dXJlcy5jbGVhcigpOwogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc0NCw2ICszNzQ0
LDExIEBAIE5vZGUqIEJ5dGVDb2RlUGFyc2VyOjpsb2FkKAogICAgICAgICAgICAgICAgIC8vIHRo
ZSBzdHJ1Y3R1cmVzIGluIHRoZSB2YXJpYW50LnN0cnVjdHVyZVNldCgpIGFncmVlIG9uIHRoZSBw
cm90b3R5cGUgKGl0IHdvdWxkIGJlCiAgICAgICAgICAgICAgICAgLy8gaGlsYXJpb3VzbHkgcmFy
ZSBpZiB0aGV5IGRpZG4ndCkuIE5vdGUgdGhhdCB3ZSBhcmUgcmVseWluZyBvbiBzdHJ1Y3R1cmVT
ZXQoKSBoYXZpbmcKICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBvbmUgZWxlbWVudC4gVGhh
dCB3aWxsIGFsd2F5cyBiZSB0cnVlIGhlcmUgYmVjYXVzZSBvZiBob3cgR2V0QnlJZFN0YXR1cy9Q
dXRCeUlkU3RhdHVzIHdvcmsuCisKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogcmlnaHQgbm93
LCBpZiB3ZSBoYXZlIGFuIE9QQ1MsIHdlIGhhdmUgbW9ubyBwcm90by4gSG93ZXZlciwgdGhpcyB3
aWxsCisgICAgICAgICAgICAgICAgLy8gbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUg
b25jZSB3ZSBoYXZlIGEgaHlicmlkIGRhdGEgc3RydWN0dXJlIGZvcgorICAgICAgICAgICAgICAg
IC8vIHBvbHkgcHJvdG86CisgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQogICAgICAgICAgICAgICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSB2YXJpYW50LnN0cnVjdHVyZVNldCgpWzBdLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qo
KTsKICAgICAgICAgICAgICAgICBib29sIGFsbEFncmVlID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKS5zaXplKCk7
ICsraSkgewpAQCAtNDM0MSwxMiArNDM0NiwxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBpZiAoZnVuY3Rpb24pIHsKICAgICAgICAgICAg
ICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEo
KSkgewogICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJl
RGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBt
X2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnRTZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVl
IGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAg
IGFkZFRvR3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNl
dChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRv
R3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1
cmUpKSkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFs
bG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFy
ZURhdGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBUaGUgY2FsbGVlIGlzIHN0aWxsIGxpdmUgdXAgdG8gdGhpcyBwb2lu
dC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxl
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5m
byhtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWxyZWFkeUVtaXR0ZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzg3LDcgKzE3ODcsOCBAQCBib29sIEdyYXBoOjpjYW5Eb0Zhc3RT
cHJlYWQoTm9kZSogbm9kZSwgCiAgICAgQXJyYXlQcm90b3R5cGUqIGFycmF5UHJvdG90eXBlID0g
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNoaWxkMSgpLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJheVBy
b3RvdHlwZSgpOwogICAgIGJvb2wgYWxsR29vZCA9IHRydWU7CiAgICAgdmFsdWUubV9zdHJ1Y3R1
cmUuZm9yRWFjaChbJl0gKFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgc3RydWN0dXJlKSB7Ci0gICAgICAg
IGFsbEdvb2QgJj0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9PSBhcnJheVByb3RvdHlw
ZQorICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkKKyAgICAgICAg
ICAgICYmIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKICAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpCiAgICAgICAgICAgICAmJiBz
dHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseShtX3ZtLnByb3BlcnR5TmFtZXMtPml0ZXJhdG9yU3lt
Ym9sLmltcGwoKSkgPT0gaW52YWxpZE9mZnNldAogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NCw3ICsyNDQsMTEgQEAgSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNyZWF0ZVRoaQog
ICAgIGlmIChjb25zdHJ1Y3Rvci0+dHlwZSgpID09IEpTRnVuY3Rpb25UeXBlKSB7CiAgICAgICAg
IGF1dG8gcmFyZURhdGEgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKS0+cmFyZURh
dGEoZXhlYywgaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBudWxscHRyKTsKLSAgICAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMs
IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKSk7CisgICAg
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlKCktPnN0cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogcmVzdWx0ID0gY29uc3RydWN0
RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2bSwgc3RydWN0dXJl
LT5wb2x5UHJvdG9PZmZzZXQoKSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOworICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KIAogICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3Rvci0+Z2V0KGV4ZWMsIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyOTIsNyArNDI5Miw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQ
dHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHJhcmVEYXRhR1BSKSk7CiAgICAgICAgIG1faml0Lmxv
YWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6
Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9m
aWxlOjpvZmZzZXRPZkFsbG9jYXRvcigpKSwgYWxsb2NhdG9yR1BSKTsKICAgICAgICAgbV9qaXQu
bG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQUiwgRnVuY3Rpb25SYXJlRGF0
YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsgT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGU6Om9mZnNldE9mU3RydWN0dXJlKCkpLCBzdHJ1Y3R1cmVHUFIpOworCiAgICAgICAgIHNs
b3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBh
bGxvY2F0b3JHUFIpKTsKKwogICAgICAgICBlbWl0QWxsb2NhdGVKU09iamVjdChyZXN1bHRHUFIs
IG51bGxwdHIsIGFsbG9jYXRvckdQUiwgc3RydWN0dXJlR1BSLCBUcnVzdGVkSW1tUHRyKDApLCBz
Y3JhdGNoR1BSLCBzbG93UGF0aCk7CiAgICAgICAgIAogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJ
VENvbXBpbGVyOjpBZGRyZXNzKGNhbGxlZUdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0
YSgpKSwgcmFyZURhdGFHUFIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MjM3LDcgKzMyMzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JD
CiAgICAgbm9SZXN1bHQobm9kZSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5
cGVSZWcsIEdQUlJlZyBzY3JhdGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcpCit2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVl
UmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0
Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNSZWcpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCBwcm90b3R5
cGUgaXMgYW4gb2JqZWN0LgogICAgIHNwZWN1bGF0aW9uQ2hlY2soQmFkVHlwZSwgSlNWYWx1ZVJl
Z3MoKSwgMCwgbV9qaXQuYnJhbmNoSWZOb3RPYmplY3QocHJvdG90eXBlUmVnKSk7CkBAIC0zMjQ5
LDggKzMyNDksMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGbwog
ICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBsb29wKCZtX2ppdCk7CiAgICAgTWFjcm9Bc3NlbWJs
ZXI6Okp1bXAgcGVyZm9ybURlZmF1bHRIYXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaDgoTWFjcm9B
c3NlbWJsZXI6OkVxdWFsLAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNo
UmVnLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwgVHJ1c3RlZEltbTMyKFByb3h5T2Jq
ZWN0VHlwZSkpOwotICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZyk7Ci0gICAgbV9qaXQubG9hZFB0cihNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNl
dCgpICsgQ2VsbFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5lbWl0TG9h
ZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIHNjcmF0Y2gy
UmVnKTsKKyAgICAvLyBPT1BTOiAzMi1iaXQgaGVyZQorICAgIG1faml0LmxvYWQ2NChNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBhdXRvIG5vdFBvbHlQcm90byA9IG1faml0LmJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRD
b21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6
VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNS
ZWcpOworICAgIG5vdFBvbHlQcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9qaXQubW92ZShzY3Jh
dGNoM1JlZywgc2NyYXRjaFJlZyk7CisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3Rh
bmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywg
cHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2Vs
bChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgx
LDEwICszMzg4LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4K
ICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxk
MigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRo
aXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5n
cHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAg
ICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNj
cmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3Mo
KSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9h
ZEdQUigpOwpAQCAtMzM5NCw3ICszNDAzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAg
ICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVn
LCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGls
ZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRj
aFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUu
bGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDE2LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0
aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigp
OwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVn
IHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNj
cmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwog
ICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90
b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRj
aFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTks
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEo
Tm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJp
Y3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxl
SW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90
eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsK
KyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVS
ZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJS
ZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5z
dGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5j
cHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1MywxMiBAQCBwcml2
YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5l
d0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOwor
ICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwot
ICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAg
ICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsK
ICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Js
b2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2Nr
KCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9u
b2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5NzQsMTYgKzg5NzYs
MjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1f
b3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0g
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAg
ICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1
ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1
ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJ
bmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVx
dWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAg
ICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNl
U2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShk
ZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBy
b3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhs
b2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1
cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5
cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUp
OworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVy
ZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
ZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1f
b3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byks
IHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9h
ZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1f
b3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7Cisg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAg
ICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55
TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5s
aW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOwor
CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNl
KTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRp
cmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3Rh
bmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9v
dXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJv
dG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDggKzE2NiwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2Yg
dGhlIG9iamVjdCBpbiByZWdUMi4gIElmIHRoaXMgaXMgZXF1YWwgdG8gcmVnVDEgLSBXSU4hCiAg
ICAgLy8gT3RoZXJ3aXNlLCBjaGVjayBpZiB3ZSd2ZSBoaXQgbnVsbCAtIGlmIHdlIGhhdmUgdGhl
biBkcm9wIG91dCBvZiB0aGUgbG9vcCwgaWYgbm90IGdvIGFnYWluLgotICAgIGVtaXRMb2FkU3Ry
dWN0dXJlKCp2bSgpLCByZWdUMiwgcmVnVDIsIHJlZ1QzKTsKLSAgICBsb2FkNjQoQWRkcmVzcyhy
ZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSksIHJlZ1QyKTsKKyAgICBlbWl0TG9h
ZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1Q0LCByZWdUMyk7CisgICAgbG9hZDY0KEFkZHJl
c3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUNCk7CisgICAgYXV0
byBoYXNNb25vUHJvdG8gPSBicmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHJlZ1Q0KSk7Cisg
ICAgemVyb0V4dGVuZDMyVG9QdHIocmVnVDQsIHJlZ1Q0KTsKKyAgICBsb2FkNjQoQmFzZUluZGV4
KHJlZ1QyLCByZWdUNCwgVGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFn
ZSgpKSwgcmVnVDQpOworICAgIGhhc01vbm9Qcm90by5saW5rKHRoaXMpOworICAgIG1vdmUocmVn
VDQsIHJlZ1QyKTsKICAgICBKdW1wIGlzSW5zdGFuY2UgPSBicmFuY2hQdHIoRXF1YWwsIHJlZ1Qy
LCByZWdUMSk7CiAgICAgZW1pdEp1bXBJZkpTQ2VsbChyZWdUMikubGlua1RvKGxvb3AsIHRoaXMp
OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0NCw2ICsyNDQsOCBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVHZXRCeUlECiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBzdGQ6OnVuaXF1
ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworCiAgICAg
ICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNl
dCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAKICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpIHx8
IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKQEAgLTI1NSwyMyArMjU3LDM1IEBAIHN0
YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0
dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwganNDYXN0PEpTT2JqZWN0Kj4oYmFzZUNlbGwpKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoc2xvdC5pc1Vu
c2V0KCkgJiYgc3RydWN0dXJlLT50eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJl
Rm9yUHJvcGVydHlBYnNlbmNlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CiAKLSAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgewotICAgICAgICAgICAgICAg
IGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKLSAgICAg
ICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5h
bWUuaW1wbCgpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0
aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90
QmFzZSgpLAotICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNW
YWxpZCgpKQorICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJv
dG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8v
IEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IGNvbmRpdGlvblNl
dC5zbG90QmFzZUNvbmRpdGlvbigpLm9mZnNldCgpOworICAgICAgICAgICAgaWYgKCF1c2VzUG9s
eVByb3RvKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgdXNlIE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0IGluc3RlYWQgZm9yIGZhc3RlciBhY2Nlc3Nlcy4KKyAgICAgICAgICAgICAgICBwcm90
b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC5p
c1Vuc2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNv
ZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDog
c2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgfQogCiAgICAgICAgIEpTRnVuY3Rpb24qIGdl
dHRlciA9IG51bGxwdHI7CkBAIC0yOTMsMTMgKzMwNywxNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIAotICAgICAgICAgICAgbmV3Q2FzZSA9IFBy
b3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9p
bnRTZXQoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0
dGVyICYmIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIo
Z2V0dGVyLCBzdHJ1Y3R1cmUpKQorICAgICAgICAgICAgbmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vz
c0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29u
ZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RG
TW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOworICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFy
Z2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5F
bWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSAmJiAhcHJvdG90eXBlQWNjZXNz
Q2hhaW4pIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsg
d2l0aCBwb2x5IHByb3RvLCBidXQgZm9yIG91ciBvd24gc2FuaXR5LCB3ZSBwcm9iYWJseQorICAg
ICAgICAgICAgLy8gd2FudCB0byBkbyBhIHBvaW50ZXIgY2hlY2sgb24gdGhlIGFjdHVhbCBnZXR0
ZXIuIEEgZ29vZCB0aW1lIHRvIG1ha2UgdGhpcyB3b3JrIHdvdWxkCisgICAgICAgICAgICAvLyBi
ZSB3aGVuIHdlIGNhbiBpbmhlcml0IGZyb20gYnVpbHRpbiB0eXBlcyBpbiBwb2x5IHByb3RvIGZh
c2hpb246CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3MzE4CiAgICAgICAgICAgICBuZXdDYXNlID0gSW50cmluc2ljR2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuY2FjaGVkT2Zmc2V0KCksIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBnZXR0ZXIpOwotICAgICAgICBlbHNlIHsKKyAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzVW5z
ZXQoKSkgewogICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgc2xvdC5pc1Vuc2V0KCkgPyBBY2Nlc3NDYXNlOjpNaXNzIDog
QWNjZXNzQ2FzZTo6TG9hZCwKLSAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkp
OworICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBs
b2FkVGFyZ2V0RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBB
Y2Nlc3NDYXNlOjpBY2Nlc3NUeXBlIHR5cGU7CiAgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXND
YWNoZWFibGVHZXR0ZXIoKSkKQEAgLTMxNiw3ICszMzQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVB
Y3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJv
eHksCiAgICAgICAgICAgICAgICAgICAgIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBzbG90LmlzQ2Fj
aGVhYmxlQ3VzdG9tKCkgPyBzbG90LmN1c3RvbUdldHRlcigpIDogbnVsbHB0ciwKICAgICAgICAg
ICAgICAgICAgICAgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5zbG90QmFzZSgpIDog
bnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgZG9tQXR0cmlidXRlKTsKKyAgICAgICAgICAg
ICAgICAgICAgZG9tQXR0cmlidXRlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CkBAIC0zODYsNiArNDA0LDcgQEAgc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICByZXR1cm4gR2l2ZVVw
T25DYWNoZTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBuZXdDYXNlOworICAg
IEpTQ2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAKICAgICBpZiAoc2xvdC5i
YXNlKCkgPT0gYmFzZVZhbHVlICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogICAgICAgICBp
ZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlTbG90OjpFeGlzdGluZ1Byb3BlcnR5KSB7CkBA
IC00MjksNDggKzQ0OCw4MyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRC
eUlECiAgICAgICAgICAgICBBU1NFUlQoIW5ld1N0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpOwog
ICAgICAgICAgICAgQVNTRVJUKG5ld1N0cnVjdHVyZS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAg
ICAKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCBjb25kaXRpb25TZXQ7CiAgICAgICAgICAgICBpZiAocHV0S2luZCA9PSBOb3REaXJlY3QpIHsK
LSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1pc3MoCi0gICAgICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAg
ICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBiYXNlQ2VsbCwgbnVsbHB0ciwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJ
dCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAg
cHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25k
aXRpb25TZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9y
UHJvcGVydHlTZXR0ZXJNaXNzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2Rl
QmxvY2ssIGV4ZWMsIG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVC
bG9jaywgb2Zmc2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAg
ICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKHNsb3QuaXNDYWNo
ZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxlU2V0dGVyKCkpIHsKICAgICAgICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQgY29uZGl0aW9uU2V0OworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBv
bHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKIAogICAgICAgICAgICAg
aWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2Vz
UG9seVByb3RvOworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVBy
b3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VD
ZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFs
aWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
ICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90eXBl
QWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQg
PQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBl
UHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
ZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3Jl
YXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3Nv
cigpID8gQWNjZXNzQ2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0
b21WYWx1ZVNldHRlciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LCBjb25kaXRpb25TZXQsCi0g
ICAgICAgICAgICAgICAgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOworICAgICAg
ICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNDdXN0b21BY2Nlc3NvcigpID8gQWNjZXNz
Q2FzZTo6Q3VzdG9tQWNjZXNzb3JTZXR0ZXIgOiBBY2Nlc3NDYXNlOjpDdXN0b21WYWx1ZVNldHRl
ciwgc3RydWN0dXJlLCBpbnZhbGlkT2Zmc2V0LAorICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKLSAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4g
cHJvdG90eXBlQWNjZXNzQ2hhaW47CisgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQg
PSBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0g
YmFzZVZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0
LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAg
ICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3Jl
YXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWlu
KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBw
cm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOwotICAgICAgICAgICAgICAgIG9mZnNldCA9IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRp
dGlvbigpLm9mZnNldCgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICAgICAgcHJvdG90
eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25T
ZXQgPQorICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90
eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9j
aywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisKKyAgICAgICAgICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQob2Zmc2V0ID09IGNvbmRpdGlvblNldC5zbG90QmFzZUNvbmRpdGlvbigpLm9m
ZnNldCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0
LCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFjY2Vzc0Nh
c2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfQogCkBAIC01MTcsMTUgKzU3MSwz
NSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1Y3R1cmUo
dm0pOwogICAgIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJv
dG90eXBlQWNjZXNzQ2hhaW47CiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0
aW9uU2V0OwogICAgIGlmICh3YXNGb3VuZCkgewogICAgICAgICBpZiAoc2xvdC5zbG90QmFzZSgp
ICE9IGJhc2UpIHsKLSAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9u
c0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hh
aW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXByb3Rv
dHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFj
Y2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgICAgICByZXR1cm4gR2l2
ZVVwT25DYWNoZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90
bykgeworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5
cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywg
c3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0
ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6
Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSwgc2xvdCwgdXNlc1BvbHlQ
cm90byk7CisgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
IC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAg
ICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgh
dXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxs
cHRyOworICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJv
cGVydHlNaXNzKAorICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIWNvbmRpdGlvblNl
dC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwpAQCAtNTMzLDcgKzYw
Nyw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgTE9HX0lD
KChJQ0V2ZW50OjpJbkFkZEFjY2Vzc0Nhc2UsIHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCksIGlkZW50
KSk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZSA9IEFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNl
OjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBj
b25kaXRpb25TZXQpOworICAgICAgICB2bSwgY29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nh
c2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5NaXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogCiAgICAgQWNj
ZXNzR2VuZXJhdGlvblJlc3VsdCByZXN1bHQgPSBzdHViSW5mby5hZGRBY2Nlc3NDYXNlKGxvY2tl
ciwgY29kZUJsb2NrLCBpZGVudCwgV1RGTW92ZShuZXdDYXNlKSk7CiAgICAgCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY2Nyw2ICs2NjcsMjQgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2dldF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZSgpKSB7CiAKKyAgICAgICAgeworICAgICAgICAgICAg
U3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOworICAgICAg
ICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAgICAgICAgICAgICAgYXV0byBvcGNvZGUg
PSBJbnRlcnByZXRlcjo6Z2V0T3Bjb2RlSUQocGNbMF0pOworICAgICAgICAgICAgICAgIGlmIChv
cGNvZGUgPT0gb3BfZ2V0X2J5X2lkCisgICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBv
cF9nZXRfYnlfaWRfdW5zZXQKKyAgICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9wX2dl
dF9ieV9pZF9wcm90b19sb2FkKSB7CisgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9
IHZtLmhlYXAuc3RydWN0dXJlSURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAg
ICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJl
KHZtKTsKKworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0
VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkgPT0gYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52
YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1
bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZh
bHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VDZWxsLT5z
dHJ1Y3R1cmUoKTsKICAgICAgICAgaWYgKHNsb3QuaXNWYWx1ZSgpICYmIHNsb3Quc2xvdEJhc2Uo
KSA9PSBiYXNlVmFsdWUpIHsKQEAgLTczNyw2ICs3NTUsMjIgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX3B1dF9ieV9pZAogICAgICAgICAmJiBiYXNlVmFsdWUuaXNDZWxsKCkKICAg
ICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAKKworICAgICAgICB7CisgICAgICAg
ICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJRCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7Cisg
ICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQpIHsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1
cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQpOwor
ICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKHZtKTsKKyAgICAgICAgICAgICAgICBpZiAoc2xvdC50eXBlKCkgPT0gUHV0UHJvcGVydHlT
bG90OjpOZXdQcm9wZXJ0eSkKKyAgICAgICAgICAgICAgICAgICAgYiA9IGItPnByZXZpb3VzSUQo
KTsKKworICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQ
cm90byhhLCBiKSkgeworICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQ
b2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRl
dGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICBi
LT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0s
IFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIC8v
IFN0YXJ0IG91dCBieSBjbGVhcmluZyBvdXQgdGhlIG9sZCBjYWNoZS4KICAgICAgICAgcGNbNF0u
dS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2xkIHN0cnVjdHVyZQogICAgICAgICBwY1s1XS51LnBv
aW50ZXIgPSBudWxscHRyOyAvLyBvZmZzZXQKQEAgLTc2MCwxNiArNzk0LDE3IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgICAgICAgICBpZiAoIXN0
cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkgJiYgc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPm91dE9m
TGluZUNhcGFjaXR5KCkgPT0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CiAgICAg
ICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+dHJhbnNpdGlv
bldhdGNocG9pbnRTZXRIYXNCZWVuSW52YWxpZGF0ZWQoKSk7CiAKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIHN0cnVjdHVyZSkgIT0gSW52YWxp
ZFByb3RvdHlwZUNoYWluKSB7CisgICAgICAgICAgICAgICAgICAgIGJvb2wgc2F3UG9seVByb3Rv
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gcmVzdWx0ID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgYmFzZUNlbGwsIHNhd1BvbHlQcm90byk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluICYmICFzYXdQb2x5UHJv
dG8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnByZXZpb3Vz
SUQoKS0+aXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s0XS51LnN0cnVj
dHVyZUlEID0gc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlkKCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBwY1s1XS51Lm9wZXJhbmQgPSBzbG90LmNhY2hlZE9mZnNldCgpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcGNbNl0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+aWQoKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghKHBjWzhdLnUucHV0QnlJZEZsYWdzICYgUHV0QnlJ
ZElzRGlyZWN0KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWlu
KiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYyk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90b3R5
cGVDaGFpbihleGVjLCBhc09iamVjdChiYXNlQ2VsbCkpOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChjaGFpbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10u
dS5zdHJ1Y3R1cmVDaGFpbi5zZXQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGNoYWluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51
LnN0cnVjdHVyZUNoYWluLnNldCh2bSwgY29kZUJsb2NrLCBjaGFpbik7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFn
cyA9IHN0YXRpY19jYXN0PFB1dEJ5SWRGbGFncz4oCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgfApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjIsMTAgKzUyMiw5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRpYyBpbmxp
bmUgYm9vbCAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoRXhlY1N0YXRlJiBzdGF0ZSwgSlNPYmplY3QqIG9iamVj
dCkKK3N0YXRpYyBpbmxpbmUgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZt
LCBKU09iamVjdCogb2JqZWN0KQogewotICAgIGF1dG8mIHZtID0gc3RhdGUudm0oKTsKLSAgICBy
ZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0pOworICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSh2bSwgb2JqZWN0KTsKIH0KIAogc3RhdGljIEpTVmFsdWUgc2xvd0pvaW4oRXhl
Y1N0YXRlJiBleGVjLCBKU09iamVjdCogdGhpc09iamVjdCwgSlNTdHJpbmcqIHNlcGFyYXRvciwg
dWludDY0X3QgbGVuZ3RoKQpAQCAtNjEwLDcgKzYwOSw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1
ZSBmYXN0Sm9pbihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2Fz
ZTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYgKCFob2xlc0tub3du
VG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUoc3RhdGUsIHRoaXNPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgICAgICAg
ICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICAgICAgICAgIGhvbGVzS25vd25U
b0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KQEAgLTYzNCw3ICs2MzMsNyBAQCBzdGF0
aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgam9p
bmVyLmFwcGVuZChzdGF0ZSwganNEb3VibGVOdW1iZXIodmFsdWUpKTsKICAgICAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC04MTYsNyArODE1LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVy
Zmx5LnB1YmxpY0xlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0
YSA9IGJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNI
b2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0
aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODI2LDcgKzgyNSw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxl
bmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKTsKLSAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRh
ICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsK
QEAgLTgzNSw3ICs4MzQsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGF1dG8mIHN0b3JhZ2UgPSAqdGhpc09iamVjdC0+YnV0dGVyZmx5KCktPmFy
cmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAobGVuZ3RoID4gc3RvcmFnZS52ZWN0b3JMZW5ndGgo
KSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYm
IGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAg
IGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZt
LCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBz
dG9yYWdlLnZlY3RvcigpLmRhdGEoKTsKICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEg
KyBsZW5ndGgpOwpAQCAtMTE3Niw3ICsxMTc1LDcgQEAgc3RhdGljIGJvb2wgbW92ZUVsZW1lbnRz
KEV4ZWNTdGF0ZSogZXhlYwogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKIAotICAgIGlmIChMSUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4
aW5nVHlwZSgpKSAmJiAhc291cmNlLT5zdHJ1Y3R1cmUoKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtKSkpIHsKKyAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNl
LT5pbmRleGluZ1R5cGUoKSkgJiYgIWhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgc291
cmNlKSkpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNvdXJjZUxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc291cmNlLT50cnlHZXRJbmRleFF1
aWNrbHkoaSk7CiAgICAgICAgICAgICBpZiAodmFsdWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDkgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEJ1dHRlcmZseSog
YnV0dGVyZmx5OwotICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKSB7CisgICAgaWYgKFVOTElLRUxZKHN0cnVjdHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkgfHwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpIHsKICAgICAgICAgYnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9y
YWdlQnV0dGVyZmx5KHZtLCBudWxscHRyLCBzdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3Ro
KTsKICAgICAgICAgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9udW1WYWx1ZXNJblZlY3Rv
ciA9IHZlY3Rvckxlbmd0aDsKLQogICAgIH0gZWxzZSB7CiAgICAgICAgIEluZGV4aW5nSGVhZGVy
IGluZGV4aW5nSGVhZGVyOwogICAgICAgICBpbmRleGluZ0hlYWRlci5zZXRWZWN0b3JMZW5ndGgo
dmVjdG9yTGVuZ3RoKTsKQEAgLTgxLDcgKzgwLDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRB
cmd1bWVudHM6OmNyZWF0ZQogICAgIC8vIE5CLiBTb21lIGNsaWVudHMgbWlnaHQgZXhwZWN0IHRo
YXQgdGhlIGdsb2JhbCBvYmplY3Qgb2Ygb2YgdGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmpl
Y3QKICAgICAvLyBvZiB0aGUgY2FsbGVlLiBXZSBkb24ndCBkbyB0aGlzIGZvciBub3csIGJ1dCBt
YXliZSB3ZSBzaG91bGQuCiAgICAgQ2xvbmVkQXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVFbXB0
eSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1
cmUoKSwgY2FsbGVlLCBsZW5ndGgpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Ns
b3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0p
LT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyNSwxNCAr
MTI0LDE0IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICB9
IH0KIAogICAgIEFTU0VSVChteUZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNsb25lZEFy
Z3VtZW50c1N0cnVjdHVyZSgpID09IHJlc3VsdC0+c3RydWN0dXJlKCkpOwotICAgIEFTU0VSVCgh
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJU
KCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1
bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGluZUZy
YW1lKEV4ZWNTdGF0ZSogbXlGcmFtZSwgRXhlY1N0YXRlKiB0YXJnZXRGcmFtZSwgQXJndW1lbnRz
TW9kZSBtb2RlKQogewogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlV2l0aElu
bGluZUZyYW1lKG15RnJhbWUsIHRhcmdldEZyYW1lLCBudWxscHRyLCBtb2RlKTsKLSAgICBBU1NF
UlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFT
U0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQo
cmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xNDUsNyArMTQ0LDcgQEAgQ2xvbmVkQXJndW1lbnRzKiBDbG9uZWRBcmd1bWVu
dHM6OmNyZWF0ZQogICAgIAogICAgIGZvciAodW5zaWduZWQgaSA9IGxlbmd0aDsgaS0tOykKICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBpLCBhcmd1bWVudFN0YXJ0W2ldLmpz
VmFsdWUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmlu
ZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5n
KCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlw
ZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNDIsNiArMjQyLDggQEAgU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X2NyZWF0ZV90aGlzKQogICAgICAgICBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSBwY1szXS51Lm9w
ZXJhbmQ7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY29uc3RydWN0b3ItPnJhcmVE
YXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3Ry
dWN0dXJlKCk7CiAgICAgICAgIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCks
IGNvbnN0cnVjdG9yLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKICAgICB9
IGVsc2UgewogICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2
Mi82LjAvI3NlYy1vcmRpbmFyeWNyZWF0ZWZyb21jb25zdHJ1Y3RvcgogICAgICAgICBKU1ZhbHVl
IHByb3RvID0gY29uc3RydWN0b3JBc09iamVjdC0+Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
bkV4ZWN1dGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkxLDYgKzkxLDcgQEAgdm9pZCBGdW5jdGlvbkV4ZWN1dGFibGU6OnZpc2l0Q2hpbGRy
ZW4oSgogICAgICAgICBjb2RlQmxvY2tGb3JDb25zdHJ1Y3QtPnZpc2l0V2Vha2x5KHZpc2l0b3Ip
OwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdW5saW5rZWRFeGVjdXRhYmxlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3NpbmdsZXRvbkZ1bmN0aW9uKTsKKyAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIEZ1bmN0aW9uRXhlY3V0YWJsZSogRnVuY3Rpb25FeGVjdXRhYmxlOjpmcm9tR2xvYmFs
Q29kZSgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0
YWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTMtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGFibGUuaCIKICNp
bmNsdWRlICJTb3VyY2VDb2RlLmgiCisjaW5jbHVkZSA8d3RmL0JveC5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtMTcyLDYgKzE3MywxOCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwog
CiAgICAgSW5mZXJyZWRWYWx1ZSogc2luZ2xldG9uRnVuY3Rpb24oKSB7IHJldHVybiBtX3Npbmds
ZXRvbkZ1bmN0aW9uLmdldCgpOyB9CisgICAgLy8gQ2FjaGVkIHBvbHkgcHJvdG8gc3RydWN0dXJl
IGZvciB0aGUgcmVzdWx0IG9mIGNvbnN0cnVjdGluZyB0aGlzIGV4ZWN1dGFibGUuCisgICAgU3Ry
dWN0dXJlKiBjYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSB7IHJldHVybiBtX2NhY2hlZFBvbHlQ
cm90b1N0cnVjdHVyZS5nZXQoKTsgfQorICAgIHZvaWQgc2V0Q2FjaGVkUG9seVByb3RvU3RydWN0
dXJlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsgbV9jYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBzdHJ1Y3R1cmUpOyB9CisKKyAgICBJbmxpbmVXYXRjaHBvaW50
U2V0JiBlbnN1cmVQb2x5UHJvdG9XYXRjaHBvaW50KCkKKyAgICB7CisgICAgICAgIGlmICghbV9w
b2x5UHJvdG9XYXRjaHBvaW50KQorICAgICAgICAgICAgbV9wb2x5UHJvdG9XYXRjaHBvaW50ID0g
Qm94PElubGluZVdhdGNocG9pbnRTZXQ+OjpjcmVhdGUoSXNXYXRjaGVkKTsKKyAgICAgICAgcmV0
dXJuICptX3BvbHlQcm90b1dhdGNocG9pbnQ7CisgICAgfQorCisgICAgQm94PElubGluZVdhdGNo
cG9pbnRTZXQ+IHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiBtX3Bv
bHlQcm90b1dhdGNocG9pbnQ7IH0KIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgRXhlY3V0
YWJsZUJhc2U7CkBAIC0xODksNiArMjAyLDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8
RnVuY3Rpb25Db2RlQmxvY2s+IG1fY29kZUJsb2NrRm9yQ29uc3RydWN0OwogICAgIFJlZlB0cjxU
eXBlU2V0PiBtX3JldHVyblN0YXRlbWVudFR5cGVTZXQ7CiAgICAgV3JpdGVCYXJyaWVyPEluZmVy
cmVkVmFsdWU+IG1fc2luZ2xldG9uRnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmU7CisgICAgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+IG1fcG9seVByb3RvV2F0Y2hwb2ludDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0
YS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Z1bmN0aW9uUmFyZURhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw5ICs3OSw5IEBAIEZ1
bmN0aW9uUmFyZURhdGE6On5GdW5jdGlvblJhcmVEYXRhKCkKIHsKIH0KIAotdm9pZCBGdW5jdGlv
blJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3Ry
dWN0b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplKHZtLCBn
bG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIG1fb2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZVByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwg
dGhpcywgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY29uc3RydWN0b3IpOwogfQogCiB2b2lk
IEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbikKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFy
ZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNyArNzksNyBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsZWFyKGNvbnN0IGNoYXIqIHJlYXNvbik7CiAKLSAgICB2b2lkIGluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3Rv
dHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KTsKKyAgICB2b2lkIGluaXRpYWxpemVPYmplY3RB
bGxvY2F0aW9uUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3Rvcik7CiAKICAg
ICBib29sIGlzT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbml0aWFsaXplZCgpIHsgcmV0dXJuICFt
X29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmlzTnVsbCgpOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsMTIgKzk2LDEzIEBAIGNvbnN0IFN0cmluZyBJ
bnRlcm5hbEZ1bmN0aW9uOjpjYWxjdWxhdGUKIAogU3RydWN0dXJlKiBJbnRlcm5hbEZ1bmN0aW9u
OjpjcmVhdGVTdWJjbGFzc1N0cnVjdHVyZVNsb3coRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIG5l
d1RhcmdldCwgU3RydWN0dXJlKiBiYXNlQ2xhc3MpCiB7Ci0KICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBBU1NF
UlQoIW5ld1RhcmdldCB8fCBuZXdUYXJnZXQuaXNDb25zdHJ1Y3RvcigpKTsKICAgICBBU1NFUlQo
bmV3VGFyZ2V0ICYmIG5ld1RhcmdldCAhPSBleGVjLT5qc0NhbGxlZSgpKTsKIAorICAgIEFTU0VS
VChiYXNlQ2xhc3MtPmhhc01vbm9Qcm90bygpKTsKKwogICAgIC8vIG5ld1RhcmdldCBtYXkgYmUg
YW4gSW50ZXJuYWxGdW5jdGlvbiBpZiB3ZSB3ZXJlIGNhbGxlZCBmcm9tIFJlZmxlY3QuY29uc3Ry
dWN0LgogICAgIEpTRnVuY3Rpb24qIHRhcmdldEZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1
bmN0aW9uKj4odm0sIG5ld1RhcmdldCk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTczOCw3ICs3MzgsNyBAQCBKU0FycmF5KiBKU0FycmF5OjpmYXN0U2xpY2UoRXhlY1N0YXRlJiBl
CiAgICAgY2FzZSBBcnJheVdpdGhJbnQzMjoKICAgICBjYXNlIEFycmF5V2l0aENvbnRpZ3VvdXM6
IHsKICAgICAgICAgVk0mIHZtID0gZXhlYy52bSgpOwotICAgICAgICBpZiAoY291bnQgPj0gTUlO
X1NQQVJTRV9BUlJBWV9JTkRFWCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Q
cm90b3R5cGUodm0pKQorICAgICAgICBpZiAoY291bnQgPj0gTUlOX1NQQVJTRV9BUlJBWV9JTkRF
WCB8fCBzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLmxleGljYWxHbG9iYWxPYmplY3QoKTsKQEAgLTc3
Myw3ICs3NzMsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQXJyYXlTdG9yYWdlCiAg
ICAgCiAgICAgLy8gSWYgdGhlIGFycmF5IGNvbnRhaW5zIGhvbGVzIG9yIGlzIG90aGVyd2lzZSBp
biBhbiBhYm5vcm1hbCBzdGF0ZSwKICAgICAvLyB1c2UgdGhlIGdlbmVyaWMgYWxnb3JpdGhtIGlu
IEFycmF5UHJvdG90eXBlLgotICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0aGlzLT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSAKKyAgICBpZiAo
KHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgCiAgICAgICAgIHx8IGhhc1NwYXJzZU1hcCgpIAog
ICAgICAgICB8fCBzaG91bGRVc2VTbG93UHV0KGluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC05MDQsNyArOTA0LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFueUluZGV4aW5nVAogICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBi
ZWZvcmUgd2Ugc3RhcnQgbW92aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQg
aGFsZndheSAKICAgICAgICAgLy8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdl
IHNob3VsZCBoYXZlIGJlZW4gaW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVk
IGVuZCA9IG9sZExlbmd0aCAtIGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZt
KS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewog
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7
CiAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaSAr
IGNvdW50XS5nZXQoKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIXYpKSB7CkBAIC05
NDUsNyArOTQ1LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFueUluZGV4aW5nVAog
ICAgICAgICAvLyBXZSBoYXZlIHRvIGNoZWNrIGZvciBob2xlcyBiZWZvcmUgd2Ugc3RhcnQgbW92
aW5nIHRoaW5ncyBhcm91bmQgc28gdGhhdCB3ZSBkb24ndCBnZXQgaGFsZndheSAKICAgICAgICAg
Ly8gdGhyb3VnaCBzaGlmdGluZyBhbmQgdGhlbiByZWFsaXplIHdlIHNob3VsZCBoYXZlIGJlZW4g
aW4gQXJyYXlTdG9yYWdlIG1vZGUuCiAgICAgICAgIHVuc2lnbmVkIGVuZCA9IG9sZExlbmd0aCAt
IGNvdW50OwotICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKHZtKSkgeworICAgICAgICBpZiAodGhpcy0+c3RydWN0dXJlKHZtKS0+aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkgewogICAgICAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICAgICAg
ZG91YmxlIHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXNEb3VibGUoKVtpICsgY291bnRdOwogICAg
ICAgICAgICAgICAgIGlmIChVTkxJS0VMWSh2ICE9IHYpKSB7CkBAIC0xMjkyLDcgKzEyOTIsNyBA
QCBib29sIEpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROCiAgICAgaWYgKHN0cnVj
dHVyZS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xv
YmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTY0LDggKzY0LDggQEAgaW5saW5lIGJvb2wgSlNBcnJheTo6Y2FuRmFzdENvcHkoVk0m
IHZtLAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBoYXZl
IGEgd2F0Y2hwb2ludCBmb3IgaW5kZXhlZCBwcm9wZXJ0aWVzIG9uIEFycmF5LnByb3RvdHlwZSBh
bmQgT2JqZWN0LnByb3RvdHlwZQogICAgIC8vIGluc3RlYWQgb2Ygd2Fsa2luZyB0aGUgcHJvdG90
eXBlIGNoYWluLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU1NTky
Ci0gICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkK
LSAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKQorICAgICAgICB8fCBvdGhlckFycmF5LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG90aGVyQXJyYXkpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI3NywxMyArMjc3LDEzIEBAIHZvaWQgSlNWYWx1ZTo6ZHVtcEluQ29udGV4dEFzc3VtaW5n
U3RydWMKICAgICAgICAgZWxzZSBpZiAoc3RydWN0dXJlLT5jbGFzc0luZm8oKS0+aXNTdWJDbGFz
c09mKEpTT2JqZWN0OjppbmZvKCkpKSB7CiAgICAgICAgICAgICBvdXQucHJpbnQoIk9iamVjdDog
IiwgUmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgd2l0aCBi
dXR0ZXJmbHkgIiwgUmF3UG9pbnRlcihhc09iamVjdChhc0NlbGwoKSktPmJ1dHRlcmZseSgpKSk7
Ci0gICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRl
eHQpLCAiKSIpOworICAgICAgICAgICAgb3V0LnByaW50KCIgKFN0cnVjdHVyZSAiLCBpbkNvbnRl
eHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBvdXQucHJpbnQoIkNlbGw6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAg
ICAgIG91dC5wcmludCgiICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7
CiAgICAgICAgIH0KICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBvdXQucHJpbnQoIiwgSUQ6
ICIsIGFzQ2VsbCgpLT5zdHJ1Y3R1cmVJRCgpKTsKKyAgICAgICAgb3V0LnByaW50KCIsIFN0cnVj
dHVyZUlEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CiAjZW5kaWYKICAgICB9IGVsc2Ug
aWYgKGlzVHJ1ZSgpKQogICAgICAgICBvdXQucHJpbnQoIlRydWUiKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCShyZXZpc2lvbiAyMjI3MTIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQXN5bmNHZW5lcmF0b3JQcm90
b3R5cGUuaCIKICNpbmNsdWRlICJCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJDYXRjaFNjb3Bl
LmgiCiAjaW5jbHVkZSAiQ2xvbmVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgi
CiAjaW5jbHVkZSAiQ29tbW9uSWRlbnRpZmllcnMuaCIKQEAgLTEyNiwxNiArMTI3LDI0IEBAIEZ1
bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rpb246OmFsbG9jYXRlUmEKICAgICByZXR1cm4gbV9yYXJl
RGF0YS5nZXQoKTsKIH0KIAorSlNPYmplY3QqIEpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbihWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9DQVRDSF9TQ09QRSh2bSk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBnZXQoZXhlYywg
dm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKKyAgICBBU1NFUlRfVU5VU0VEKHNjb3BlLCAh
c2NvcGUuZXhjZXB0aW9uKCkpOworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAg
ICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
KHZtKS0+b2JqZWN0UHJvdG90eXBlKCk7Cit9CisKIEZ1bmN0aW9uUmFyZURhdGEqIEpTRnVuY3Rp
b246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRhKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90
IGlubGluZUNhcGFjaXR5KQogewogICAgIEFTU0VSVCghbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxK
U09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0g
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7
Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+
b2JqZWN0UHJvdG90eXBlKCk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckNvbnN0cnVjdGlvbih2bSwgZXhlYyk7CiAgICAgRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEg
PSBGdW5jdGlvblJhcmVEYXRhOjpjcmVhdGUodm0pOwotICAgIHJhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhp
cyk7CiAKICAgICAvLyBBIERGRyBjb21waWxhdGlvbiB0aHJlYWQgbWF5IGJlIHRyeWluZyB0byBy
ZWFkIHRoZSByYXJlIGRhdGEKICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGl0IHNlZXMg
aXQgcHJvcGVybHkgYWxsb2NhdGVkCkBAIC0xNDksMTEgKzE1OCw4IEBAIEZ1bmN0aW9uUmFyZURh
dGEqIEpTRnVuY3Rpb246OmluaXRpYWxpemUKIHsKICAgICBBU1NFUlQoISFtX3JhcmVEYXRhKTsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFs
T2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAgICAgICAgcHJvdG90eXBlID0gZ2xv
YmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKLSAgICBtX3JhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSk7CisgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckNvbnN0
cnVjdGlvbih2bSwgZXhlYyk7CisgICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0pLCBwcm90b3R5cGUsIGlubGluZUNhcGFj
aXR5LCB0aGlzKTsKICAgICByZXR1cm4gbV9yYXJlRGF0YS5nZXQoKTsKIH0KIApAQCAtMzcxLDcg
KzM3Nyw2IEBAIGJvb2wgSlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2IKICAgICAg
ICAgICAgIG9mZnNldCA9IHRoaXNPYmplY3QtPmdldERpcmVjdE9mZnNldCh2bSwgdm0ucHJvcGVy
dHlOYW1lcy0+cHJvdG90eXBlLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgICAgIEFTU0VSVChpc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpOwogICAgICAgICB9Ci0KICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0
aGlzT2JqZWN0LCBhdHRyaWJ1dGVzLCB0aGlzT2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KSwgb2Zm
c2V0KTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQ4LDYgKzE0OCw5IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lKEV4ZWNTdGF0ZSosIEpTVmFsdWUgbmFtZSk7
CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBfX3Byb3RvX18gZm9yIHRoZSB8dGhpc3wgdmFsdWUgaWYg
dGhpcyBKU0Z1bmN0aW9uIHdlcmUgdG8gYmUgY29uc3RydWN0ZWQuCisgICAgSlNPYmplY3QqIHBy
b3RvdHlwZUZvckNvbnN0cnVjdGlvbihWTSYsIEV4ZWNTdGF0ZSopOworCiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqLCBTdHJ1Y3R1cmUqKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TWFwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01h
cC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29sIEpTTWFwOjpp
c0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9PSBnbG9iYWxP
YmplY3QtPm1hcFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChz
dHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJvdG90eXBl
KCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+bWFwUHJv
dG90eXBlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9i
amVjdC0+dm0oKTsKQEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU01hcDo6Y2FuQ2xvbmVGYXN0QW5k
Tm9uT2JzZXJ2YWJsZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNNYXBQcm90b3R5cGVT
ZXRGYXN0QW5kTm9uT2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGds
b2JhbE9iamVjdC0+bWFwUHJvdG90eXBlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dElu
bGluZVNsb3coRXhlY1N0YXRlKiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gb2Jq
LT5zdHJ1Y3R1cmUodm0pLT5nZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1
dGVzICYgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSB7Ci0gICAgICAgICAgICAgICAgQVNT
RVJUKHN0cnVjdHVyZSh2bSktPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSB8fCBvYmogPT0gdGhpcyk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRo
aXMtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSB8
fCBvYmogPT0gdGhpcyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgICAgICB9CiAKQEAgLTEwMTUsNyArMTAxNSw3IEBAIEJ1dHRl
cmZseSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxJbmRleGUKICAgICBBU1NFUlQobGVuZ3RoIDw9
IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpOwogICAgIEluZGV4aW5nVHlwZSBvbGRUeXBlID0g
aW5kZXhpbmdUeXBlKCk7CiAgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFBy
b3BlcnRpZXMob2xkVHlwZSkpOwotICAgIEFTU0VSVCghc3RydWN0dXJlKCktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOworICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
QVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwogICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gdGhpcy0+c3RydWN0dXJlKHZtKTsKICAgICB1bnNpZ25lZCBwcm9wZXJ0eUNhcGFjaXR5
ID0gc3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpOwpAQCAtMTExMSw3ICsxMTExLDcgQEAg
QXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogCiAgICAgQnV0dGVyZmx5
KiBuZXdCdXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIHRoaXMsIG9s
ZFN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgsIG1fYnV0dGVyZmx5LmdldE1heUJlTnVs
bCgpKTsKICAgICBBcnJheVN0b3JhZ2UqIHJlc3VsdCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBvbGRTdHJ1Y3R1cmUtPnN1Z2dlc3RlZEFy
cmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBT
dHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbih2bSwgb2xkU3RydWN0dXJlLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogICAgIG51a2VTdHJ1Y3R1cmVBbmRTZXRCdXR0
ZXJmbHkodm0sIG9sZFN0cnVjdHVyZUlELCBuZXdCdXR0ZXJmbHkpOwogICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIwNiw3ICsxMjA2
LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZAogCiBBcnJheVN0
b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQog
ewotICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVy
ZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNv
bnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKIH0KIAogQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmNvbnZlcnRJbnQz
MlRvRG91YmxlKFZNJiB2bSkKQEAgLTEyNjQsNyArMTI2NCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNvbnZlcnRJbnQzMlRvQXIKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVy
dEludDMyVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0SW50MzJU
b0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJh
bnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNKU1ZhbHVl
cyBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQ29udGlndW91cyhWTSYgdm0pCkBAIC0xMzE3LDcg
KzEzMTcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BCiAKIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZShWTSYgdm0p
CiB7Ci0gICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJl
KHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0
aW9uKCkpOwogfQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1Rv
QXJyYXlTdG9yYWdlKFZNJiB2bSwgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBA
IC0xMzY2LDcgKzEzNjYsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGln
dW91CiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0
b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9y
YWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkp
OworICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiB2b2lkIEpTT2JqZWN0Ojpjb252ZXJ0
VW5kZWNpZGVkRm9yVmFsdWUoVk0mIHZtLCBKU1ZhbHVlIHZhbHVlKQpAQCAtMTQ0Nyw3ICsxNDQ3
LDcgQEAgQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVJbnQzMgogICAgIAogICAg
IHN3aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBz
dHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElL
RUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkK
ICAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJu
IGNyZWF0ZUluaXRpYWxJbnQzMih2bSwgMCk7CiAgICAgICAgIApAQCAtMTQ3NCw3ICsxNDc0LDcg
QEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZURvdWJsZQogICAgIAogICAgIHN3
aXRjaCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKLSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZ
KGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAg
ICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgICAgICByZXR1cm4gY3Jl
YXRlSW5pdGlhbERvdWJsZSh2bSwgMCk7CiAgICAgICAgIApAQCAtMTUwMyw3ICsxNTAzLDcgQEAg
Q29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVDb250aQogICAgIAogICAgIHN3aXRj
aCAoaW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
LSAgICAgICAgaWYgKFVOTElLRUxZKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBzdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKGlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSB8fCBuZWVkc1Nsb3dQdXRJbmRleGluZygpKSkKICAgICAg
ICAgICAgIHJldHVybiBDb250aWd1b3VzSlNWYWx1ZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0
ZUluaXRpYWxDb250aWd1b3VzKHZtLCAwKTsKICAgICAgICAgCkBAIC0xNTQwLDIyICsxNTQwLDIy
IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICAgICAgCiAg
ICAgY2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uo
dm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9JTlQzMl9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJh
eVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9ET1VCTEVfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAg
QVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAg
QVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRE
b3VibGVUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2UgQUxMX0NPTlRJR1VP
VVNfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAg
cmV0dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBkZWZhdWx0OgpAQCAtMTYzMywxNCArMTYzMywxNyBAQCB2b2lkIEpTT2JqZWN0OjpzZXRQcm90
b3R5cGVEaXJlY3QoVk0mIHZtCiAgICAgaWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAg
ICB2bS5wcm90b3R5cGVNYXAuYWRkUHJvdG90eXBlKGFzT2JqZWN0KHByb3RvdHlwZSkpOwogICAg
IAotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5
cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOwotICAgIHNldFN0cnVj
dHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKLSAgICAKLSAgICBpZiAoIW5ld1N0cnVjdHVyZS0+YW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVj
dHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJl
KHZtKSwgcHJvdG90eXBlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUp
OworICAgIH0gZWxzZQorICAgICAgICBwdXREaXJlY3Qodm0sIHN0cnVjdHVyZSh2bSktPnBvbHlQ
cm90b09mZnNldCgpLCBwcm90b3R5cGUpOworCisgICAgaWYgKCFhbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBp
ZiAodm0ucHJvdG90eXBlTWFwLmlzUHJvdG90eXBlKHRoaXMpKSB7Ci0gICAgICAgIG5ld1N0cnVj
dHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZSh2bSk7CisgICAgICAgIHN0cnVjdHVy
ZSh2bSktPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOwogICAgICAgICByZXR1cm47
CiAgICAgfQogICAgIApAQCAtMTk1MSw3ICsxOTU0LDggQEAgSlNWYWx1ZSBKU09iamVjdDo6b3Jk
aW5hcnlUb1ByaW1pdGl2ZShFeAogCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgZGVm
YXVsdCB2YWx1ZSBtZXRob2RzIHRoZXJlIGFyZSBvbiBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4g
YXJlCiAgICAgLy8gYmVpbmcgd2F0Y2hlZC4KLSAgICB0aGlzLT5zdHJ1Y3R1cmUoKS0+c3RhcnRX
YXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hhaW4odm0pOwor
ICAgIGZvciAoY29uc3QgSlNPYmplY3QqIG9iamVjdCA9IHRoaXM7IG9iamVjdDsgb2JqZWN0ID0g
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAg
ICAgICAgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0
aWVzSWZOZWNlc3Nhcnkodm0pOwogCiAgICAgSlNWYWx1ZSB2YWx1ZTsKICAgICBpZiAoaGludCA9
PSBQcmVmZXJTdHJpbmcpIHsKQEAgLTI3MjYsNyArMjczMCw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1
dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4QmV5
b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVjLCBp
LCB2YWx1ZSwgc2hvdWxkVGhyb3csIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygp
KSB7CisgICAgICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICAv
LyBDb252ZXJ0IHRoZSBpbmRleGluZyB0eXBlIHRvIHRoZSBTbG93UHV0QXJyYXlTdG9yYWdlIGFu
ZCByZXRyeS4KICAgICAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSArIDEsIGdldE5l
d1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgcmV0dXJuIHB1dEJ5
SW5kZXgodGhpcywgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsKQEAgLTI4NzgsNyArMjg4
Miw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4U2xvd09yQmV5b24KICAgICAgICAg
ICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3Jh
Z2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGNy
ZWF0ZUFycmF5U3RvcmFnZSh2bSwgMCwgMCkpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzdHJ1
Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSB7CisgICAgICAgIGlmIChuZWVkc1Ns
b3dQdXRJbmRleGluZygpKSB7CiAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBj
cmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwg
aSArIDEpKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fdmVjdG9yW2ldLnNldCh2bSwgdGhpcywg
dmFsdWUpOwogICAgICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcisrOwpAQCAt
MzU1OCw3ICszNTYyLDcgQEAgdWludDMyX3QgSlNPYmplY3Q6OmdldEVudW1lcmFibGVMZW5ndGgo
RQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBvYmplY3QtPnN0cnVjdHVyZSh2bSk7Ci0gICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIG9iamVjdCkpCiAgICAgICAgIHJldHVybiAwOwogICAgIHN3aXRjaCAo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgpAQCAtMzY2OCw0ICszNjcyLDU2IEBAIEpTVmFsdWUgSlNPYmplY3Q6OmdldE1ldGhvZChF
eGVjU3RhdGUqIGUKICAgICByZXR1cm4gbWV0aG9kOwogfQogCitib29sIEpTT2JqZWN0OjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBW
TSYgdm0gPSAqdGhpcy0+dm0oKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBjdXJyZW50ID0g
dGhpczsgOykgeworICAgICAgICBpZiAoY3VycmVudC0+c3RydWN0dXJlKHZtKS0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsK
KyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3Rv
cmVUbyhWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCit7CisgICAgaWYgKHBhcnNl
SW5kZXgocHJvcGVydHlOYW1lKSkKKyAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJy
ZW50ID0gdGhpczsgOykgeworICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdl
dFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSk7CisgICAgICAgIAorICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwor
ICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5n
ZXQodm0sIHByb3BlcnR5TmFtZSwgYXR0cmlidXRlcyk7CisgICAgICAgIGlmICghSlNDOjppc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisgICAg
ICAgIGlmIChhdHRyaWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpBY2Nlc3NvcikpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Jvb2wgSlNPYmplY3Q6Om5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmlu
Z0FCYWRUaW1lKCk7Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBKU09iamVjdDo6c3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgaWYgKG5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpCisgICAgICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9j
YXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFu
c2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDIy
MjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJQdXREaXJlY3RJbmRleE1vZGUu
aCIKICNpbmNsdWRlICJQdXRQcm9wZXJ0eVNsb3QuaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIK
KyNpbmNsdWRlICJTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaCIKICNpbmNsdWRlICJWTS5oIgog
I2luY2x1ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3BhcnNlQXJyYXlWYWx1ZU1hcC5oIgpA
QCAtNzMzLDYgKzczNCwxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IGJvb2wgaXNFeHRlbnNpYmxlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKik7CiAgICAgYm9vbCBpc1Nl
YWxlZChWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzU2VhbGVkKHZtKTsgfQogICAg
IGJvb2wgaXNGcm96ZW4oVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc0Zyb3plbih2
bSk7IH0KKworICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5N
YXlJbnRlcmNlcHRTdG9yZVRvKFZNJiwgUHJvcGVydHlOYW1lKTsKKyAgICBib29sIG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkgY29uc3Q7CisgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3Rl
ZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNFeHRlbnNpYmxlSW1wbCgpIHsgcmV0dXJuIGlzU3RydWN0dXJlRXh0ZW5z
aWJsZSgpOyB9CiBwdWJsaWM6CkBAIC04NjYsNyArODczLDcgQEAgcHJvdGVjdGVkOgogICAgIHsK
ICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgICAgICBBU1NFUlQoaW5oZXJp
dHModm0sIGluZm8oKSkpOwotICAgICAgICBBU1NFUlQoZ2V0UHJvdG90eXBlRGlyZWN0KCkuaXNO
dWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpoZWFwKGdldFByb3RvdHlwZURpcmVj
dCgpKSk7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aGFzUG9seVByb3RvKCkgfHwgZ2V0
UHJvdG90eXBlRGlyZWN0KCkuaXNOdWxsKCkgfHwgSGVhcDo6aGVhcCh0aGlzKSA9PSBIZWFwOjpo
ZWFwKGdldFByb3RvdHlwZURpcmVjdCgpKSk7CiAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+
aXNPYmplY3QoKSk7CiAgICAgICAgIEFTU0VSVChjbGFzc0luZm8odm0pKTsKICAgICB9CkBAIC0x
Mjk4LDcgKzEzMDUsNyBAQCBpbmxpbmUgSlNPYmplY3Q6OkpTT2JqZWN0KFZNJiB2bSwgU3RydWN0
CiAKIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QoKSBjb25zdAog
ewotICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJu
IHN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGUodGhpcyk7CiB9CiAKIGlubGluZSBKU1ZhbHVl
IEpTT2JqZWN0OjpnZXRQcm90b3R5cGUoVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCkBAIC0xNDAw
LDcgKzE0MDcsOSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAg
ICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc3RydWN0dXJlSURUYWJsZS5nZXQob2JqZWN0
LT5zdHJ1Y3R1cmVJRCgpKTsKICAgICAgICAgaWYgKG9iamVjdC0+Z2V0T3duTm9uSW5kZXhQcm9w
ZXJ0eVNsb3Qodm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLCBzbG90KSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3Rv
cmVkUHJvdG90eXBlKCk7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3QgbG9vayBsaWtl
IGl0J3MgZm9sbG93aW5nIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNTcyCisgICAgICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYg
KCFwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBvYmpl
Y3QgPSBhc09iamVjdChwcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3RJbmxpbmVzLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTYsNyArMTE2LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9w
ZXJ0eQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
OwogICAgICAgICBpZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxl
LmdldFByb3RvdHlwZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRo
b2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkp
Ci0gICAgICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOwor
ICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlw
ZSh2bSwgZXhlYyk7CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxz
ZSk7CkBAIC0xNTAsNyArMTUwLDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRO
b25JbmRleAogICAgICAgICB9CiAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlOwogICAgICAgICBp
ZiAoTElLRUxZKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPm1ldGhvZFRhYmxlLmdldFByb3RvdHlw
ZSA9PSBkZWZhdWx0R2V0UHJvdG90eXBlIHx8IHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0g
UHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OlZNSW5xdWlyeSkpCi0gICAgICAgICAg
ICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAgICAg
cHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKICAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFByb3RvdHlwZSh2bSwgZXhlYyk7
CiAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBmYWxzZSk7CkBAIC0yMTks
NyArMjE5LDcgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVGbwogICAg
IH0KIAogICAgIGlmICh0aGlzT2JqZWN0LT5jYW5QZXJmb3JtRmFzdFB1dElubGluZSh2bSwgcHJv
cGVydHlOYW1lKSkgewotICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSkt
PnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7Cisg
ICAgICAgIEFTU0VSVCghdGhpc09iamVjdC0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9y
ZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5wdXREaXJl
Y3RJbnRlcm5hbDxQdXRNb2RlUHV0Pih2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgMCwgc2xvdCkp
CiAgICAgICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0
TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkocmV2aXNpb24gMjIyNzEyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlLT5z
dHJ1Y3R1cmUodm0pOwogICAgIGlmICghaW5kZXhlZExlbmd0aAogICAgICAgICAmJiAoZW51bWVy
YXRvciA9IHN0cnVjdHVyZS0+Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAg
ICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJv
dG90eXBlQ2hhaW4oZXhlYykpCisgICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFByb3RvdHlw
ZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSkKICAgICAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiAKICAgICB1aW50MzJfdCBudW1iZXJTdHJ1Y3R1cmVQcm9w
ZXJ0aWVzID0gMDsKQEAgLTEzMywxMiArMTMzLDE1IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqIHByb3BlcnQKIAogICAgIEFTU0VSVChwcm9wZXJ0eU5hbWVzLnNpemUoKSA8IFVJ
TlQzMl9NQVgpOwogCi0gICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbjsKKyAgICBib29sIHNhd1BvbHlQcm90bzsKKyAgICBib29sIHN1Y2Nlc3NmdWxseU5vcm1h
bGl6ZWRDaGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UsIHNhd1BvbHlQ
cm90bykgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOwogCiAgICAgZW51bWVyYXRvciA9IEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUsIGluZGV4ZWRMZW5ndGgs
IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMsIFdURk1vdmUocHJvcGVydHlOYW1lcykpOwotICAg
IGVudW1lcmF0b3ItPnNldENhY2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3Rv
dHlwZUNoYWluKGV4ZWMpKTsKLSAgICBpZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5
Tm9ybWFsaXplZENoYWluICYmIHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCi0gICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cih2bSwgZW51bWVyYXRvcik7CisgICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxs
eU5vcm1hbGl6ZWRDaGFpbiAmJiBiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHN0cnVjdHVyZSkgewor
ICAgICAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJl
LT5wcm90b3R5cGVDaGFpbihleGVjLCBiYXNlKSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmNh
bkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQorICAgICAgICAgICAgc3RydWN0dXJlLT5z
ZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICB9CiAg
ICAgcmV0dXJuIGVudW1lcmF0b3I7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU2V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU1NldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBib29s
IEpTU2V0Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTm9uCiAgICAgaWYgKHN0cnVjdHVyZSA9
PSBnbG9iYWxPYmplY3QtPnNldFN0cnVjdHVyZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+anNT
ZXRQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBlRGlyZWN0KCkgIT0gZ2xvYmFsT2Jq
ZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYg
dm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNTZXQ6OmNh
bkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlz
U2V0UHJvdG90eXBlQWRkRmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xhenlDbGFzc1N0cnVjdHVyZS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTAxLDEzICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX3N0cnVjdHVyZS5n
ZXRDb25jdXJyZW50bHkoKTsKICAgICB9CiAgICAgCi0gICAgSlNPYmplY3QqIHByb3RvdHlwZUNv
bmN1cnJlbnRseSgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBnZXRDb25jdXJyZW50bHkoKSkKLSAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0g
ICAgCiAgICAgSlNPYmplY3QqIGNvbnN0cnVjdG9yQ29uY3VycmVudGx5KCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2NvbnN0cnVjdG9yLmdldCgpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzYsMjMgKzEzNiwzMCBAQCBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSB2
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSogY2FsbEZyYW1lLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3NpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNDZWxsKiBiYXNlLCBi
b29sJiBzYXdQb2x5UHJvdG8pCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgc2F3UG9seVByb3RvID0gZmFsc2U7CisgICAgSlNDZWxs
KiBjdXJyZW50ID0gYmFzZTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gY2Fs
bEZyYW1lLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CiAgICAgd2hpbGUgKDEpIHsKKyAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBp
ZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCiAgICAgICAgICAgICByZXR1cm4gSW52YWxpZFByb3Rv
dHlwZUNoYWluOwotICAgICAgICBKU1ZhbHVlIHYgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChjYWxsRnJhbWUpOwotICAgICAgICBpZiAodi5pc051bGwoKSkKKworICAgICAgICBzYXdQ
b2x5UHJvdG8gfD0gc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKKworICAgICAgICBKU1ZhbHVl
IHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwg
Y3VycmVudCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gY291bnQ7CiAKLSAgICAgICAgSlNDZWxsKiBiYXNlID0gdi5hc0NlbGwoKTsKLSAgICAg
ICAgc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKKyAgICAgICAgY3VycmVudCA9IHBy
b3RvdHlwZS5hc0NlbGwoKTsKKyAgICAgICAgc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJl
KHZtKTsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKICAgICAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gSW52YWxpZFByb3RvdHlwZUNoYWluOwotICAgICAgICAgICAgc3RydWN0dXJl
LT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3QoYmFzZSkpOworICAgICAg
ICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2bSwgYXNPYmplY3Qo
Y3VycmVudCkpOwogICAgICAgICB9CiAKICAgICAgICAgKytjb3VudDsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHJldmlzaW9uIDIyMjcxMikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzQsNyArMzQsNyBAQCBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKENhbGxGcmFt
ZSosCiBKU1ZhbHVlIGpzVHlwZVN0cmluZ0ZvclZhbHVlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U1ZhbHVlKTsKIGJvb2wganNJc09iamVjdFR5cGVPck51bGwoQ2FsbEZyYW1lKiwgSlNWYWx1ZSk7
CiBib29sIGpzSXNGdW5jdGlvblR5cGUoSlNWYWx1ZSk7Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90
eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgU3RydWN0dXJlKik7CitzaXplX3Qgbm9ybWFsaXplUHJvdG90
eXBlQ2hhaW4oQ2FsbEZyYW1lKiwgSlNDZWxsKiwgYm9vbCYgc2F3UG9seVByb3RvKTsKIAogQUxX
QVlTX0lOTElORSBKU1N0cmluZyoganNTdHJpbmcoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyog
czEsIEpTU3RyaW5nKiBzMikKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
cHRpb25zLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNDcxLDcgKzQ3MSw4IEBAIHR5cGVkZWYg
Y29uc3QgY2hhciogb3B0aW9uU3RyaW5nOwogICAgIHYoYm9vbCwgdXNlRmFzdFRMU0Zvcldhc21D
b250ZXh0LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlIChhbmQgZmFzdCBUTFMgaXMgZW5hYmxlZCks
IHdlIHdpbGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdpbGwgcGlu
IGl0IHRvIGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0ZvcldlYkFzc2Vt
Ymx5VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBDYWxsTGlu
a0luZm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYoYm9vbCwg
dXNlT2JqZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBlbmFi
bGUgT2JqZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNlQXJyYXlB
bGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBv
dXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9j
YXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikKKyAgICB2
KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1
ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4gSWYg
ZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgdW5k
ZWNpZGVkLiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3JtYWwsICJJ
ZiB0cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdpdGggYSBw
b2x5IHByb3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2UgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5
cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQcm90b3R5
cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUu
CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29u
c3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5kZXhp
bmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxpbmUgU3Ry
dWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBl
SW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5
cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUp
CiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxpbmVDYXBh
Y2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJUKCEhcHJv
dG90eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBwcm90b3R5
cGUgdG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBwcm92aWRl
IG5vbi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBsZSht
YWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5UHJvdG9T
dHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNNb25vUHJv
dG8oKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBhZGRQcm90b3R5cGUocHJvdG90eXBlKTsK
LSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAgICAgICBn
bG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xh
c3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICBpZiAobWFr
ZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNy
ZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3Jl
YXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywg
Y2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAgICAgbV9z
dHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKKwogICAgIHJl
dHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4OSwyMSBAQCBTdHJ1Y3R1cmUqIFByb3Rv
dHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRvIG5vdCBo
YXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMgYW5kIGFs
bCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5saW5lIGNh
cGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VTdHJ1Y3R1
cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5hbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFBy
b3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5hbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3BlcnRpZXMo
aW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlwZSAmIH5J
bmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAgICByZXR1
cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1
Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5
cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+Y2xhc3NJ
bmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFByb3RvdHlw
ZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkp
CitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5
cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAg
ICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpT
RmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNGaW5hbE9i
amVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJldHVybiBj
cmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVj
dDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZh
dWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSk7
CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJv
dG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmplY3QsIHVu
c2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUoc3RkOjpt
YWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwg
Z2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUo
bnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xvYmFsT2Jq
ZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19FWFBPUlRf
UFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xv
YmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgSlNf
RVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlw
ZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJv
b2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRfUFJJVkFU
RSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1Y3R1cmUo
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQgY2xlYXJF
bXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
YWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJvdG90eXBl
KEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1hdGUuCiAK
IHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9i
amVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJ
bmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAgU3RydWN0
dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90
b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlKTsKIAog
ICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAgICAgLy8g
RklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01hcDxzdGQ6
OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xvYmFsT2Jq
ZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVyZU1hcCA9
IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5m
byosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFwIG1fc3Ry
dWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg4LDYgKzE4OCw3IEBAIFN0
cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICAsIG1fY2xhc3NJbmZv
KGNsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQog
ICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7
CiAgICAgc2V0RGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bp
bm5lZFByb3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjIwLDYgKzIyMSw3IEBAIFN0cnVjdHVyZTo6
U3RydWN0dXJlKFZNJiB2bSkKICAgICAsIG1fY2xhc3NJbmZvKGluZm8oKSkKICAgICAsIG1fdHJh
bnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9m
ZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQo
Tm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2Up
OwpAQCAtMjQ3LDEwICsyNDksMTEgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1
Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0KCkpCiAg
ICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQogICAgICwg
bV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9y
ZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+bV9w
cm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8p
CiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zm
c2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaChwcmV2aW91cy0+bV9wcm9w
ZXJ0eUhhc2gpCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQocHJldmlvdXMtPmRpY3Rpb25hcnlL
aW5kKCkpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yOTYsNiAr
Mjk5LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0
aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7CiB9CiAK
K1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJ
bmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBp
bmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVjdHVyZSog
cmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNs
YXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1bnNpZ25lZCBv
bGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKKyAgICBy
ZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwKKyAgICAg
ICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNldCkgPT0g
b2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxp
bmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBlLnNldCh2
bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+c2V0TGFz
dE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRlcmlhbGl6
YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUqJiBzdHJ1
Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0dXJlcy5p
c0VtcHR5KCkpOwpAQCAtMzk5LDI2ICs0MTksMTQgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFk
ZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0
aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0KTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3QgU3RydWN0
dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7
Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKS0+c3Ry
dWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRo
aXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2
bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0aGlzLT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFBy
b3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7
CkBAIC00MjcsNyArNDM1LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3QtPnN0cnVjdHVyZSh2
bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhvYmplY3QtPmluZGV4aW5nVHlw
ZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0b3JlZFBy
b3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBl
KG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CkBA
IC00MzcsMjAgKzQ0NSw2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJkVG9Qcm90
b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Nsb3dQdXRJ
bmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNl
cHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdB
QmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0
ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAobmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2Nh
dGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5z
aXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQotCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0
JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBhZGRQcm9wZXJ0eVRy
YW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAtNTUzLDYgKzU0Nyw4IEBAIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJUKHByb3RvdHlwZS5pc09iamVjdCgpIHx8
IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVhcCk7CiAg
ICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwogCkBAIC0x
MDY4LDExICsxMDY0LDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0
cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwoKnZtKCksIFN0cnVj
dHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBjb25zdAotewotICAgIHJldHVybiBwcm90
b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZvaWQgU3Ry
dWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+KGNlbGwp
OwpAQCAtMTExMCw3ICsxMTAxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJpbmdHQygp
CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzMzNAog
ICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2VkQ29uY3Vy
cmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQcm90b3R5
cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90b3R5cGVP
YmplY3QoKSkpOworICAgICAgICAmJiAoaGFzUG9seVByb3RvKCkgfHwgIXN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3RvdHlwZU9i
amVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYg
dmlzaXRvcikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1hcmtJZkNo
ZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6
cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQotICAgICAg
ICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwot
ICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBp
ZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJlKHZtKTsK
LSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
KTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUo
SlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHVy
ZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKIHsKICAg
ICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBlLnB0cigp
OwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVlIGN1clZh
bHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgd2hp
bGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfD0gY3Vy
U3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5mb3JFYWNo
UHJvcGVydHlDb25jdXJyZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3BlcnR5TWFw
RW50cnkmIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+YWRkUHJv
cGVydHkoKmVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5hbWUoZW50
cnkua2V5KS5pc1ByaXZhdGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNoYXBlLT5h
ZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIH0pOwogCkBAIC0xMTY5LDI2ICsxMTM5LDI0IEBAIFJlZjxTdHJ1Y3R1cmVTaGFw
ZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0FzRmluYWwo
KTsKIAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUo
KSkgewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpjcmVhdGUo
KTsKLSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOwot
ICAgICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAgICAgIGN1
clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgfQorICAg
ICAgICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsKIAotICAg
ICAgICBjdXJTdHJ1Y3R1cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVy
ZSgpOworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUpOworICAg
ICAgICBKU09iamVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBlT2JqZWN0
KQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVy
ZVNoYXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1NoYXBlLmNv
cHlSZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7CisgICAgICAg
IGN1clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBwcm90
b3R5cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4gYmFzZVNo
YXBlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1
cmUqIG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVyLT5pbmxp
bmVDYXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVyLT5zdG9y
ZWRQcm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKSA9PSBv
dGhlci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0dXJlOjpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIo
dGhpcyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEyMDMsNyAr
MTE3MSw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMKICAgICAK
ICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBlKCkpKTsK
ICAgICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYgKGhhc1Bv
bHlQcm90bygpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoiLCBwb2x5
UHJvdG9PZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkp
CiAgICAgICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90eXBlLmdl
dCgpLmFzQ2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsKQEAgLTEy
ODgsOSArMTI1OCw3IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5TmFtZUVudW0K
ICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBpZiAoIXN0cnVjdHVyZS0+Z2V0KCkpCiAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFy
eSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoc3RydWN0dXJlLT5n
ZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCisgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBzdHJ1Y3R1cmUtPmdldCgpLT50
eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFnIHsgUG9s
eVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8q
LCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAwKTsK
KyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFz
c0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCwxOSBAQCBwcm90ZWN0
ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgICAgIEFT
U0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgp
IHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlLmlz
T2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJbnQzMigp
KTsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3QgU3RydWN0
dXJlKiBwcmV2aW91cykKKyAgICB7CisgICAgICAgIHRoaXMtPmZpbmlzaENyZWF0aW9uKHZtKTsK
KyAgICAgICAgaWYgKHByZXZpb3VzLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgICAgICBjb25z
dCBTdHJ1Y3R1cmVSYXJlRGF0YSogcHJldmlvdXNSYXJlRGF0YSA9IHByZXZpb3VzLT5yYXJlRGF0
YSgpOworICAgICAgICAgICAgaWYgKHByZXZpb3VzUmFyZURhdGEtPmhhc1NoYXJlZFBvbHlQcm90
b1dhdGNocG9pbnQoKSkgeworICAgICAgICAgICAgICAgIGVuc3VyZVJhcmVEYXRhKHZtKTsKKyAg
ICAgICAgICAgICAgICByYXJlRGF0YSgpLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KHBy
ZXZpb3VzUmFyZURhdGEtPmNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE4MSw3IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0
dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2ln
bmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVy
ZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5
T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9u
KFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwotICAgIEpT
X0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRp
b24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGljIFN0cnVj
dHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUg
cHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhdHRy
aWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNp
Z25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJy
ZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3Rh
dGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3Ry
dWN0dXJlKik7CkBAIC0yMDgsNyArMjIyLDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0
dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVydHlBYnNl
bmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBv
aW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxl
KCkKQEAgLTI0MCwyNiArMjU0LDQyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEhKGluZGV4
aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKICAg
ICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wgbmVlZHNT
bG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2Vz
dGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0
LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxs
ZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xvYmFsCiAg
ICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0YWJsZSBp
biBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlz
LCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBl
KCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wgaGFzTW9u
b1Byb3RvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUuZ2V0KCku
aXNJbnQzMigpOworICAgIH0KKyAgICBib29sIGhhc1BvbHlQcm90bygpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gIWhhc01vbm9Qcm90bygpOworICAgIH0KKyAgICBKU1ZhbHVlIHN0b3Jl
ZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25v
UHJvdG8oKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9CisgICAg
UHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGhhc1BvbHlQcm90bygpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBl
LmdldCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoY29u
c3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0
KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90b3R5cGVT
dHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0
cnVjdHVyZSgpIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0
ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0
KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKikgY29u
c3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRl
KikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3Qq
LCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFp
bihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAgIFN0cnVj
dHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZSkgY29u
c3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYp
OwogICAgIAogICAgIC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5nIEdDIGlm
IGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50CkBAIC0y
NzIsMTQgKzMwMiwzMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRo
aXMgc3RydWN0dXJlIGlzIG5vdyBtYXJrZWQuCiAgICAgYm9vbCBtYXJrSWZDaGVhcChTbG90Vmlz
aXRvciYpOwotICAgICAgICAKLSAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBjaGFpbiBp
bnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9v
bCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5hbWUpOwog
ICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJu
IGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKworICAgIFN0
cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpCisgICAgeworICAgICAgICBBU1NFUlQoaGFzUmFy
ZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJlRGF0YSo+
KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJ1Y3R1
cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGhhc1Jh
cmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3RydWN0dXJlUmFy
ZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgU3RydWN0
dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAgIGlmICgh
aGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOworICAgICAg
ICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBwcmV2aW91
c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU3OSw2IEBAIHB1YmxpYzoKICAgICAgICAg
c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50aXJlQ2hh
aW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRo
aXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1
Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJv
cGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVycmVkVHlw
ZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVUYWJsZTsK
QEAgLTU4OCwxMSArNjI4LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3RvcmVWYWx1ZVNsb3co
dm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZlcnJlZFR5cGVUYWJs
ZTo6T2xkUHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1
Y3R1cmVTaGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRoZSB0d28g
c3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2VkIGZvciBh
bGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5Vc2VGb3JB
bGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gdG9TdHJ1
Y3R1cmVTaGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIAog
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcEluQ29udGV4
dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC02MDEsNiArNjM3LDEwIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkdW1wQ29udGV4dEhlYWRlcihQcmludFN0cmVhbSYp
OwogICAgIAogICAgIENvbmN1cnJlbnRKU0xvY2smIGxvY2soKSB7IHJldHVybiBtX2xvY2s7IH0K
KworICAgIHVuc2lnbmVkIHByb3BlcnR5SGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlI
YXNoOyB9CisKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3Qg
U3RydWN0dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpOwogICAgIAogICAgIERFQ0xBUkVfRVhQ
T1JUX0lORk87CiAKQEAgLTcyMCw4ICs3NjAsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
bnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNpdHkpOwog
ICAgIH0KIAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNoYWlu
KiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAgYm9vbCBpc1ZhbGlkKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7CisgICAgYm9v
bCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlw
ZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAgICAvLyBZb3UgaGF2ZSB0byBob2xk
IHRoZSBzdHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAgICBKU19FWFBPUlRfUFJJVkFURSB2
b2lkIHBpbihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwgUHJvcGVydHlUYWJsZSopOwpAQCAt
NzMyLDEyICs3NzEsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBjZWxsLT5z
dHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0dXJlUmFy
ZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNSYXJlRGF0
YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9w
cmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9wZXJ0eVRh
YmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zmc2V0Q29u
c2lzdGVuY3koKSBjb25zdDsKQEAgLTc4Nyw2ICs4MjAsOCBAQCBwcml2YXRlOgogCiAgICAgLy8g
bV9vZmZzZXQgZG9lcyBub3QgYWNjb3VudCBmb3IgYW5vbnltb3VzIHNsb3RzCiAgICAgUHJvcGVy
dHlPZmZzZXQgbV9vZmZzZXQ7CisKKyAgICB1aW50MzJfdCBtX3Byb3BlcnR5SGFzaDsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3
ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3Ry
dWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRlKFZN
JiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3JlYXRl
KFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJlQ2hhaW4q
IGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+KHZtLmhl
YXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUuZ2V0KCkp
OwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIsMjEgKzYy
LDIzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwogCiBwcm90
ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgewog
ICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisKICAgICAgICAgc2l6ZV90IHNpemUg
PSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1
cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVj
dChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQorICAgICAgICBmb3Ig
KEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0
cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKICAgICAgICAgICAg
ICsrc2l6ZTsKIAogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltd
PihzaXplICsgMSk7CiAKICAgICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAgICBmb3IgKFN0cnVj
dHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5
cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2krK10uc2V0KHZtLCB0aGlz
LCBjdXJyZW50KTsKKyAgICAgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJl
bnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmpl
Y3QoY3VycmVudCkpCisgICAgICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSkpOwogICAgICAgICAKICAgICAgICAgdm0uaGVhcC5tdXRhdG9yRmVu
Y2UoKTsKICAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgICAgIHZtLmhl
YXAud3JpdGVCYXJyaWVyKHRoaXMpOwogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTYgKzUxLDE3IEBAIGlubGluZSBTdHJ1Y3R1cmUq
IFN0cnVjdHVyZTo6Y3JlYXRlU3RydWMKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCi1pbmxp
bmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogZGVmZXJyZWQp
CitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
cHJldmlvdXMsIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiBkZWZl
cnJlZCkKIHsKICAgICBBU1NFUlQodm0uc3RydWN0dXJlU3RydWN0dXJlKTsKLSAgICBTdHJ1Y3R1
cmUqIG5ld1N0cnVjdHVyZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZT4o
dm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgc3RydWN0dXJlLCBkZWZlcnJlZCk7Ci0gICAgbmV3U3Ry
dWN0dXJlLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUg
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1
cmUodm0sIHByZXZpb3VzLCBkZWZlcnJlZCk7CisgICAgbmV3U3RydWN0dXJlLT5maW5pc2hDcmVh
dGlvbih2bSwgcHJldmlvdXMpOwogICAgIHJldHVybiBuZXdTdHJ1Y3R1cmU7CiB9CiAKIGlubGlu
ZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdAogewor
ICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBKU1ZhbHVlIHZhbHVlID0g
bV9wcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKQEAgLTY5LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVy
ZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJv
dG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJv
dG8oKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVjdCgpOwog
ICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb2Jq
ZWN0LT5zdHJ1Y3R1cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVjdHVyZTo6
c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVM
RUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzTW9u
b1Byb3RvKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBSRUxFQVNF
X0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4gb2JqZWN0
LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCogU3RydWN0
dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkgY29uc3QK
K3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAg
IGlmIChoYXNNb25vUHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJvdG9PZmZz
ZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqIG9i
amVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJvdG90eXBl
T2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQgU3RydWN0
dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHVuc2ln
bmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsNDMgKzE5Niw1NiBAQCBpbmxpbmUgYm9vbCBTdHJ1Y3R1
cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitBTFdBWVNfSU5M
SU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAgICBBU1NF
UlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisKKyAgICBpZiAoc3RydWN0dXJlLT50eXBlSW5m
bygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
dHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlw
ZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3Rv
dHlwZSgpOworCit9CisKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9v
a3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9B
U1NFUlQoaGFzTW9ub1Byb3RvKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAgICByZXR1
cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09IFN5bWJv
bFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlwZSgpOwot
Ci0gICAgQVNTRVJUKHR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpOwotICAgIHJldHVy
biBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworICAgICAgICByZXR1cm4gc3RvcmVk
UHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2ZUltcGwo
Z2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAotaW5saW5lIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90
b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIEpTVmFsdWUgU3Ry
dWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDZWxsKiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29rdXAoZXhl
Yy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNlLT5zdHJ1
Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIHN0
b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxv
b2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAotaW5saW5lIFN0cnVj
dHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJl
Ojpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVy
ZSh2bSkgPT0gdGhpcyk7CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFpbiBzbyBv
dXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwg
bV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9jYWNoZWRQ
cm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUodm0sIHBy
b3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSkp
OworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4u
Z2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9y
TG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hh
aW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNO
dWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAgICByZXR1
cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZUNo
YWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKK2lu
bGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUq
IGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVDaGFp
bihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVybiBw
cm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJh
c2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25z
dAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJh
c2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAo
Z2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1
cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+KiBjYWNo
ZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdoaWxlICgq
Y2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAgaWYgKGFz
T2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+Z2V0KCkp
CkBAIC0yMTMsMTEgKzI1Niw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0ds
b2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3RydWN0dXJl
OwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5cGVDaGFp
bik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5KFByb3Bl
cnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgpKSkKQEAg
LTM0MSw2ICszNzksOCBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjphZGQoVk0m
CiAgICAgYXV0byByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAKICAgICBQcm9wZXJ0eU9mZnNl
dCBuZXdPZmZzZXQgPSB0YWJsZS0+bmV4dE9mZnNldChtX2lubGluZUNhcGFjaXR5KTsKKworICAg
IG1fcHJvcGVydHlIYXNoID0gbV9wcm9wZXJ0eUhhc2ggXiByZXAtPmV4aXN0aW5nU3ltYm9sQXdh
cmVIYXNoKCk7CiAgICAgCiAgICAgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCA9IG1fb2Zm
c2V0OwogICAgIHRhYmxlLT5hZGQoUHJvcGVydHlNYXBFbnRyeShyZXAsIG5ld09mZnNldCwgYXR0
cmlidXRlcyksIG5ld0xhc3RPZmZzZXQsIFByb3BlcnR5VGFibGU6OlByb3BlcnR5T2Zmc2V0TWF5
Q2hhbmdlKTsKQEAgLTQwMCw5ICs0NDAsNTYgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0IFN0cnVj
dHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5jKTsKIH0K
IAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVy
dHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0
eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9wZXJ0eVRh
YmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQorCitBTFdBWVNfSU5M
SU5FIGJvb2wgU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3QgU3RydWN0
dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpCit7CisgICAgaWYgKCFhIHx8ICFiKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYSA9PSBiKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoYS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBvYmplY3RzIGNy
ZWF0ZWQgdmlhIGEgY29uc3RydWN0b3IncyB0b190aGlzLiBUaGVzZQorICAgIC8vIGFsbCBoYXZl
IFN0cnVjdHVyZXMgd2l0aCByYXJlIGRhdGEgYW5kIGEgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dC4KKyAgICBpZiAoIWEtPmhhc1JhcmVEYXRhKCkgfHwgIWItPmhhc1JhcmVEYXRhKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBTdHJ1Y3R1cmUn
cyBnZW5lcmF0ZWQgZnJvbSBmdW5jdGlvbnMgdGhhdCBzaGFyZQorICAgIC8vIHRoZSBzYW1lIGV4
ZWN1dGFibGUuCisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBhSW5saW5lV2F0
Y2hwb2ludFNldCA9IGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKTsK
KyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIGJJbmxpbmVXYXRjaHBvaW50U2V0
ID0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAgIGlmIChh
SW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSAhPSBiSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSB8
fCAhYUlubGluZVdhdGNocG9pbnRTZXQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBBU1NF
UlQoYUlubGluZVdhdGNocG9pbnRTZXQgJiYgYklubGluZVdhdGNocG9pbnRTZXQgJiYgYUlubGlu
ZVdhdGNocG9pbnRTZXQuZ2V0KCkgPT0gYklubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkpOworCisg
ICAgaWYgKGEtPmhhc1BvbHlQcm90bygpIHx8IGItPmhhc1BvbHlQcm90bygpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYi0+c3RvcmVk
UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFZNJiB2bSA9ICphLT52
bSgpOworICAgIEpTT2JqZWN0KiBhT2JqID0gYS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Cisg
ICAgSlNPYmplY3QqIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICB3aGls
ZSAoYU9iaiAmJiBiT2JqKSB7CisgICAgICAgIGEgPSBhT2JqLT5zdHJ1Y3R1cmUodm0pOworICAg
ICAgICBiID0gYk9iai0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoYS0+cHJvcGVydHlI
YXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgYU9iaiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdChhT2JqKTsKKyAgICAgICAg
Yk9iaiA9IGItPnN0b3JlZFByb3RvdHlwZU9iamVjdChiT2JqKTsKKyAgICB9CisKKyAgICByZXR1
cm4gIWFPYmogJiYgIWJPYmo7Cit9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaAko
cmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTEgQEAgcHVibGljOgog
ICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcihWTSYs
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+IGNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5
UHJvdG9XYXRjaHBvaW50OyB9CisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBz
aGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5UHJvdG9XYXRj
aHBvaW50OyB9CisgICAgdm9pZCBzZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KEJveDxJbmxp
bmVXYXRjaHBvaW50U2V0PiYmIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpIHsgbV9wb2x5UHJv
dG9XYXRjaHBvaW50ID0gV1RGTW92ZShzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KTsgfQorICAg
IGJvb2wgaGFzU2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PGJvb2w+KG1fcG9seVByb3RvV2F0Y2hwb2ludCk7IH0KKwogICAgIERFQ0xBUkVfRVhQ
T1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03NiwxMSArODEsMTIgQEAgcHJpdmF0ZToKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmllcjxKU1N0
cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKLSAgICAKKwog
ICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9pbnRTZXQ+
LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlI
YXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwogICAgIHN0
ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRXYXRjaHBv
aW50U2V0czsKICAgICBCYWc8T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9p
bnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVdhdGNocG9pbnRTZXQ7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBv
aW50PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZlcnJlZFZhbHVlV2F0Y2hwb2ludDsKKyAg
ICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OwogICAgIGJv
b2wgbV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZTsKIH07CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNwcAkocmV2
aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2Zp
bGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMTkgKzYzLDM1IEBAIHZvaWQgVHlwZVBy
b2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmllcygKICAgICAgICAgYmVmb3JlID0gY3VycmVudFRp
bWVNUygpOwogICAgIH0KIAorICAgIEhhc2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVy
ZVNoYXBlPj4gY2FjaGVkTW9ub1Byb3RvU2hhcGVzOworICAgIEhhc2hNYXA8c3RkOjpwYWlyPFN0
cnVjdHVyZSosIEpTQ2VsbCo+LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+PiBjYWNoZWRQb2x5UHJv
dG9TaGFwZXM7CisKICAgICBMb2dFbnRyeSogZW50cnkgPSBtX2xvZ1N0YXJ0UHRyOwotICAgIEhh
c2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gc2VlblNoYXBlczsKKwog
ICAgIHdoaWxlIChlbnRyeSAhPSBtX2N1cnJlbnRMb2dFbnRyeVB0cikgewogICAgICAgICBTdHJ1
Y3R1cmVJRCBpZCA9IGVudHJ5LT5zdHJ1Y3R1cmVJRDsKLSAgICAgICAgUmVmUHRyPFN0cnVjdHVy
ZVNoYXBlPiBzaGFwZTsgCisgICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7CiAg
ICAgICAgIEpTVmFsdWUgdmFsdWUgPSBlbnRyeS0+dmFsdWU7CiAgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gbnVsbHB0cjsKKyAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUg
PSBmYWxzZTsKICAgICAgICAgaWYgKGlkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFw
OjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7IAotICAg
ICAgICAgICAgYXV0byBpdGVyID0gc2VlblNoYXBlcy5maW5kKHN0cnVjdHVyZSk7Ci0gICAgICAg
ICAgICBpZiAoaXRlciA9PSBzZWVuU2hhcGVzLmVuZCgpKSB7Ci0gICAgICAgICAgICAgICAgc2hh
cGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUpOwotICAgICAgICAgICAgICAg
IHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgc3RydWN0dXJl
ID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5nZXQoaWQp
OworICAgICAgICAgICAgYXV0byBpdGVyID0gY2FjaGVkTW9ub1Byb3RvU2hhcGVzLmZpbmQoc3Ry
dWN0dXJlKTsKKyAgICAgICAgICAgIGlmIChpdGVyID09IGNhY2hlZE1vbm9Qcm90b1NoYXBlcy5l
bmQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIoc3RydWN0
dXJlLCB2YWx1ZS5hc0NlbGwoKSk7CisgICAgICAgICAgICAgICAgYXV0byBpdGVyID0gY2FjaGVk
UG9seVByb3RvU2hhcGVzLmZpbmQoa2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoaXRlciAhPSBj
YWNoZWRQb2x5UHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hhcGUg
PSBpdGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2F3UG9seVByb3RvU3RydWN0dXJl
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoIXNoYXBl
KSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNo
YXBlKHZhbHVlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgICAgICBp
ZiAoc2F3UG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVk
UG9seVByb3RvU2hhcGVzLnNldChrZXksIHNoYXBlKTsKKyAgICAgICAgICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVkTW9ub1Byb3RvU2hhcGVzLnNldChzdHJ1
Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVlOwogICAgICAgICB9CkBAIC04NCw4ICsx
MDAsOCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAg
IFR5cGVMb2NhdGlvbiogbG9jYXRpb24gPSBlbnRyeS0+bG9jYXRpb247CiAgICAgICAgIGxvY2F0
aW9uLT5tX2xhc3RTZWVuVHlwZSA9IHR5cGU7CiAgICAgICAgIGlmIChsb2NhdGlvbi0+bV9nbG9i
YWxUeXBlU2V0KQotICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlw
ZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlKTsKLSAgICAgICAg
bG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwg
V1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBsb2NhdGlvbi0+bV9nbG9i
YWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigpLCBzdHJ1
Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgICAgIGxvY2F0aW9uLT5tX2luc3Ry
dWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBz
dHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICAgICAgZW50cnkrKzsKICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAkocmV2
aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSwxNyBAQCBUeXBlU2V0OjpUeXBlU2V0KCkK
IHsKIH0KIAotdm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUgdHlw
ZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBlLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKK3ZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlIHR5
cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIG1fc2VlblR5cGVz
ID0gbV9zZWVuVHlwZXMgfCB0eXBlOwogCiAgICAgaWYgKHN0cnVjdHVyZSAmJiBwYXNzZWROZXdT
aGFwZSAmJiAhcnVudGltZVR5cGVJc1ByaW1pdGl2ZSh0eXBlKSkgewogICAgICAgICBSZWY8U3Ry
dWN0dXJlU2hhcGU+IG5ld1NoYXBlID0gcGFzc2VkTmV3U2hhcGUucmVsZWFzZU5vbk51bGwoKTsK
LSAgICAgICAgaWYgKCFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7Ci0gICAg
ICAgICAgICB7CisgICAgICAgIC8vIEZJWE1FOiBUeXBlU2V0IHNob3VsZCBiZSBhYmxlIHRvIGNh
Y2hlIHBvbHkgcHJvdG8gY2hhaW5zCisgICAgICAgIC8vIGp1c3QgYnkgY2FjaGluZyB0aGUgcHJv
dG90eXBlIGNoYWluOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3NjI3CisgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgfHwgIW1f
c3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkpIHsKKyAgICAgICAgICAgIGlmICghc2F3
UG9seVByb3RvU3RydWN0dXJlKSB7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpTTG9ja2Vy
IGxvY2tlcihtX2xvY2spOwogICAgICAgICAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFkZChzdHJ1
Y3R1cmUpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1R5cGVTZXQuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVHlwZVNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIGNsYXNzIFR5
cGVTZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW4KIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PFR5cGVTZXQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZVNldCk7IH0KICAg
ICBUeXBlU2V0KCk7Ci0gICAgdm9pZCBhZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUsIFJl
ZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBhZGRUeXBlSW5m
b3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJl
KiwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hl
KCk7CiAgICAgU3RyaW5nIGR1bXBUeXBlcygpIGNvbnN0OwogICAgIFN0cmluZyBkaXNwbGF5TmFt
ZSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJy
aWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVC
YXJyaWVyLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFsdWUgdmFs
dWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29sIGlzTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wgaXNJbnQz
MigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNPYmplY3Qo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051bGwoKSBj
b25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJTZXR0ZXIo
KSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBTb3VyY2Uv
V1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNp
b24gMjIyNzEyKQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNyBAQAorMjAxNy0xMC0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvQm94Lmg6CisgICAgICAg
IChXVEY6OkJveDo6b3BlcmF0b3IgYm9vbCk6CisgICAgICAgIE1ha2UgQm94IG1vdmFibGUuIEFs
c28gZW5zdXJlIGl0cyBvcGVyYXRvciBib29sIGRvZXNuJ3QgZG8gYW4gYXRvbWljIGluY3JlbWVu
dC4KKyAgICAgICAgKiB3dGYvUmVmUHRyLmg6CisgICAgICAgIChXVEY6OlJlZlB0cjo6b3BlcmF0
b3IgYm9vbCk6CisgICAgICAgIEFkZCBgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpYCBmb3IgUmVm
UHRyLgorCiAyMDE3LTA5LTMwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBZGQgbWFrZVdlYWtQdHIgZm9yIGVhc2llciBXZWFrUHRyIGNvbnN0cnVjdGlvbgpJ
bmRleDogU291cmNlL1dURi93dGYvQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYv
Qm94LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9XVEYvd3RmL0JveC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiwxNCArMzYsMTcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgogY2xhc3MgQm94IHsKIHB1YmxpYzoKLSAgICBCb3goKQotICAgIHsKLSAgICB9Cisg
ICAgQm94KCkgPSBkZWZhdWx0OworICAgIEJveChCb3gmJikgPSBkZWZhdWx0OworICAgIEJveChj
b25zdCBCb3gmKSA9IGRlZmF1bHQ7CiAKICAgICBCb3goc3RkOjpudWxscHRyX3QpCiAgICAgewog
ICAgIH0KIAorICAgIEJveCYgb3BlcmF0b3I9KEJveCYmKSA9IGRlZmF1bHQ7CisgICAgQm94JiBv
cGVyYXRvcj0oY29uc3QgQm94JikgPSBkZWZhdWx0OworCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUu
Li4gQXJndW1lbnRzPgogICAgIHN0YXRpYyBCb3ggY3JlYXRlKEFyZ3VtZW50cyYmLi4uIGFyZ3Vt
ZW50cykKICAgICB7CkBAIC01Nyw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICBUJiBvcGVyYXRvcioo
KSBjb25zdCB7IHJldHVybiBtX2RhdGEtPnZhbHVlOyB9CiAgICAgVCogb3BlcmF0b3ItPigpIGNv
bnN0IHsgcmV0dXJuICZtX2RhdGEtPnZhbHVlOyB9CiAKLSAgICBleHBsaWNpdCBvcGVyYXRvciBi
b29sKCkgeyByZXR1cm4gbV9kYXRhOyB9CisgICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGJvb2w+KG1fZGF0YSk7IH0KICAgICAKIHByaXZhdGU6
CiAgICAgc3RydWN0IERhdGEgOiBUaHJlYWRTYWZlUmVmQ291bnRlZDxEYXRhPiB7CkluZGV4OiBT
b3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SZWZQ
dHIuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL1dURi93dGYvUmVmUHRyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgzLDYgKzgzLDggQEAgcHVibGljOgogICAgIC8vIFRoaXMgY29udmVyc2lv
biBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8g
b3RoZXIgaW50ZWdlciB0eXBlcy4KICAgICB0eXBlZGVmIFQqIChSZWZQdHI6OipVbnNwZWNpZmll
ZEJvb2xUeXBlKTsKICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyBy
ZXR1cm4gbV9wdHIgPyAmUmVmUHRyOjptX3B0ciA6IG51bGxwdHI7IH0KKworICAgIGV4cGxpY2l0
IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fcHRyOyB9CiAgICAgCiAgICAgUmVm
UHRyJiBvcGVyYXRvcj0oY29uc3QgUmVmUHRyJik7CiAgICAgUmVmUHRyJiBvcGVyYXRvcj0oVCop
OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjIyNzQ3KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTctMTAtMDIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjM5MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tanNjLXN0
cmVzcy10ZXN0czoKKwogMjAxNy0xMC0wMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBHdWFyZCBpT1Mgd2Via2l0R2V0QXNFbnRyeSBBUEkgdGVzdHMg
b24gb2xkZXIgaU9TIHZlcnNpb25zCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNz
LXRlc3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJ
KHdvcmtpbmcgY29weSkKQEAgLTYxOSw3ICs2MTksNyBAQCBkZWYgcnVuRlRMTm9DSklUKCpvcHRp
b25hbFRlc3RTcGVjaWZpY09wCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVEIzTzEoKm9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VB
cnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9P
UFRJT05TICsgQjNPMV9PUFRJT05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAg
ICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9
ZmFsc2UiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRf
T1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBl
bmQKIAogZGVmIHJ1bkZUTE5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlv
bnMpCkBAIC02NDcsNyArNjQ3LDcgQEAgZGVmIHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUoKm9w
dGlvbmFsVAogZW5kCiAKIGRlZiBydW5GVExFYWdlcigqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRp
b25zKQotICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1
ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlf
T1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFn
ZXIiLCAiLS1haXJGb3JjZUJyaWdnc0FsbG9jYXRvcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89
dHJ1ZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VT
TFlfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1
bkZUTEVhZ2VyV2F0Y2hkb2coKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTg2NCw2
ICs4NjQsNyBAQCBkZWYgcnVuVHlwZVByb2ZpbGVyCiAKICAgICBydW4oImZ0bC1uby1jaml0LXR5
cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBO
T19DSklUX09QVElPTlMpKQogICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBl
UHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMpKQorICAgIHJ1bigiZnRsLXR5cGUtcHJvZmls
ZXItZm9yY2UtcG9seS1wcm90by1mdGwtZWFnZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIs
ICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUykp
CiBlbmQKIAogZGVmIHJ1bkNvbnRyb2xGbG93UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322478</attachid>
            <date>2017-10-02 17:33:00 -0700</date>
            <delta_ts>2017-10-02 17:38:44 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>238657</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDExOCBAQAorMjAxNy0xMC0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFy
a3MvcG9seS1wcm90by1hY2Nlc3MuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAg
ICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmFyKToKKyAgICAgICAg
KGZvbyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6Cisg
ICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAo
cGVyZm9ybVNldCk6CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVy
LXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVBy
b3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJv
dG90eXBlLnNldCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAg
ICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAg
ICogc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzOgorICAgICAgICAoaS50ZXN0cy5m
b3JFYWNoLkNvbnN0cnVjdG9yKToKKyAgICAgICAgKGkudGVzdHMuZm9yRWFjaCk6CisgICAgICAg
ICh0ZXN0cy5mb3JFYWNoLkNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKHRlc3RzLmZv
ckVhY2gpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBz
dHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAoaXRlbXMuZm9yRWFjaCk6CisgICAgICAgIChzZXQgZ2V0IGZvcik6
CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogc3RyZXNz
L3BvbHktcHJvdG8tbWlzcy5qczogQWRkZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28pOgorICAgICAgICAobWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUpOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodmFsaWRhdGUpOgorICAgICAgICAodmFsaWRhdGUyKToKKyAg
ICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qczogQWRkZWQuCisgICAg
ICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVjdC5mb28uQyk6CisgICAg
ICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2Jq
ZWN0KToKKyAgICAgICAgKHBlcmZvcm1TZXQpOgorICAgICAgICAoaS5vYmouX19wcm90b19fLnNl
dCBwKToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChsZXQuYWx0ZXJuYXRlUHJvdG8uZ2V0IHgp
OgorICAgICAgICAobGV0LmFsdGVybmF0ZVByb3RvMi5nZXQgeSk6CisgICAgICAgIChsZXQuYWx0
ZXJuYXRlUHJvdG8yLmdldCB4KToKKyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvbyk6Cisg
ICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0
LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLnNl
dCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLmdldCBw
KToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5
UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICogc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToK
KyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmF6KToKKyAg
ICAgICAgKGZvbyk6CisgICAgICAgIChiYXIuQyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAo
dmFsaWRhdGUpOgorICAgICAgICAqIHN0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qczogQWRk
ZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UuZm9vLkMpOgorICAgICAgICAobWFr
ZVBvbHlQcm90b0luc3RhbmNlLmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2Up
OgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJl
c3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJh
cik6CisgICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodHJ5R2V0QnlJZFRleHQpOgorICAgICAgICAoeC5fX3Byb3Rv
X18uZ2V0IGJhcik6CisgICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogdHlwZVByb2ZpbGVy
L292ZXJmbG93LmpzOgorCiAyMDE3LTEwLTAxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIyNTY0LgpJ
bmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3Mu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsg
aWYgKCFiKSB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOyB9Citub0lubGluZShhc3NlcnQpOworCitm
dW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdGhpcy54ID0gMjA7CisgICAgICAgIH0KKworICAgICAgICBn
ZXQgYmFyKCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KHRoaXMueCA9PT0gMjApOwor
ICAgICAgICAgICAgYXNzZXJ0KHRoaXMuZm9vID09PSB1bmRlZmluZWQgfHwgdGhpcy5mb28gPT09
IDQyKTsKKyAgICAgICAgICAgIHJldHVybiA0NTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1
cm4gbmV3IEM7Cit9CisKK2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTU7ICsraSkKKyAgICBhLnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFz
c2VydChvLmZvbyA9PT0gdW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8u
YmFyID09PSA0NSk7Cit9Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygp
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAw
MCkgeworICAgICAgICBmb3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3Rv
X18uZm9vID0gNDI7CisgICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsr
aikgeworICAgICAgICBiYXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50
KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5
LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlv
bi1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3Nl
cnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiAr
IG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9u
IGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsg
dGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgICAgIGFzc2VydChvYmouX2ZpZWxkID09PSA0Mik7Cisg
ICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5k
ZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNw
ZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsK
KyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBwKHgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAg
cmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisg
ICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7
Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xl
dCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxl
dCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2Vy
dChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAgICAg
IGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHJldmlzaW9uIDIyMjcxMikKKysrIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdp
dGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxOSArMjEsMjEgQEAgdmFyIHRlc3Rz
ID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRlcmF0b3IpLCB0cnVlKSwKIF07CiAK
LXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAgICBmdW5jdGlvbiBDb25zdHJ1Y3Rv
cigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0gICAgfQotCi0gICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0LnJldHVybkl0KSB7Ci0gICAgICAg
IGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVz
dWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB0
ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAgICAgIGZ1bmN0aW9uIENvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7CiAgICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsK
LSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworCisgICAgICAgIHZh
ciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAgICAgaWYgKHRlc3QucmV0dXJuSXQp
IHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKKyAgICAgICAgICAg
ICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVj
dG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0Owor
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7CisgICAgfSk7Cit9CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtl
UG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3Mg
QyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9m
aWVsZCA9IDI1OworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3
IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9v
KCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcHJvdG8gPSBjcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QoKTsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmou
X19wcm90b19fID0gcHJvdG87CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgsIHYpIHsKKyAgICBhc3Nl
cnQoeC5jdXN0b21HZXR0ZXIgPT09IHYsIHguY3VzdG9tR2V0dGVyKTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRhdGUo
b2JqLCBwcm90byk7CisKK3Byb3RvLmZvbyA9IDI1OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUob2JqLCBwcm90byk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBl
T2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZhbGlk
YXRlKG9iaiwgdW5kZWZpbmVkKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
Y3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTMgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsgCisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5maWVs
ZCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28oKS5maWVs
ZCA9PT0gMjApOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBpdGVtcyA9IFsK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1h
a2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCitdOworCits
ZXQgY3VzdG9tR2V0dGVyU2V0dGVyID0gY3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlcigpOwor
aXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIHguX19wcm90b19fID0gY3VzdG9tR2V0dGVyU2V0
dGVyOworICAgIGFzc2VydCh4Ll9fcHJvdG9fXyA9PT0gY3VzdG9tR2V0dGVyU2V0dGVyKTsKK30p
OworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2YWx1ZVJlc3VsdCwgYWNjZXNzb3JSZXN1bHQpIHsK
KyAgICBhc3NlcnQoeC5jdXN0b21WYWx1ZSA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgYXNzZXJ0
KHguY3VzdG9tQWNjZXNzb3IgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGxldCBvID0ge307
CisgICAgeC5jdXN0b21WYWx1ZSA9IG87CisgICAgYXNzZXJ0KG8ucmVzdWx0ID09PSB2YWx1ZVJl
c3VsdCk7CisKKyAgICBvID0ge307CisgICAgeC5jdXN0b21BY2Nlc3NvciA9IG87CisgICAgYXNz
ZXJ0KG8ucmVzdWx0ID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5yYW5kb21Q
cm9wID09PSA0MiB8fCB4LnJhbmRvbVByb3AgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdldHRlclNldHRlciwgaXRl
bXNbaV0pOworICAgIH0KK30KKworY3VzdG9tR2V0dGVyU2V0dGVyLnJhbmRvbVByb3AgPSA0MjsK
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3Vz
dG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQorfQorCitpdGVtcy5mb3JFYWNoKCh4
KSA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih4LCB7CisgICAgICAgIGdldCBjdXN0
b21WYWx1ZSgpIHsgcmV0dXJuIDQyOyB9LAorICAgICAgICBnZXQgY3VzdG9tQWNjZXNzb3IoKSB7
IHJldHVybiAyMjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbVZhbHVlKHgpIHsgeC5yZXN1bHQgPSA0
MjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbUFjY2Vzc29yKHgpIHsgeC5yZXN1bHQgPSAyMjsgfSwK
KyAgICB9KTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRl
KGl0ZW1zW2ldLCA0MiwgMjIpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERh
dGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJp
bnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1
bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
ICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCB4ID0gbmV3IFVpbnQz
MkFycmF5KDEwKTsKK2xldCBwID0geC5fX3Byb3RvX18uX19wcm90b19fOworbGV0IG9iaiA9IG1h
a2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwOworeC5fX3Byb3RvX18gPSBv
Ymo7CisKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIHguYnl0ZUxlbmd0aDsKK30KK25v
SW5saW5lKGZvbyk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyh4KSA9PT0gMTAgKiA0KTsKK307CisKK29iai5fX3Byb3RvX18gPSB7fTsKKworYXNz
ZXJ0KGZvbyh4KSA9PT0gdW5kZWZpbmVkKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0
YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAg
Y2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAgICAgICBsZXQgcmVzdWx0
ID0gbmV3IEM7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIGxldCByZXN1bHQgPSBmb28o
KTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5jZXMgPSBbCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5
cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCitdOworCitsZXQgcCA9IHVu
ZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoeC54ID09PSAyMCk7
CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RhbmNlcy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgdmFsaWRhdGUoaW5zdGFuY2VzW2ldKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1p
bi1jYWNoaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LW9wLWluLWNhY2hpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5maWVsZCA9IDQyOworICAgICAgICAgICAgfQor
ICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmllbGQgPT09IDQyKTsK
KyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBiKSB7
CisgICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKKworbGV0IG9ianMgPSBbXTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKKyAgICBvYmpzLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgpKTsKKwor
b2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjB9KSk7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBv
ZiBvYmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIHRydWUpOworfQorCitvYmpzLmZvckVhY2go
b2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlKG9iaiwgZmFsc2UpOworfQorCisKK2Z1bmN0aW9uIHZhbGlkYXRlMihvLCBiKSB7Cisg
ICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlMik7CisKK29i
anMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIG51bGwpKTsKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpz
KQorICAgICAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmog
PT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjI1fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlMihvYmosIHRydWUpOworfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNp
dGlvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10
cmFuc2l0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFz
c2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoi
ICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkg
eworICAgICAgICAgICAgICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAg
ICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xl
dCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQor
CitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3Rv
X18gPSBudWxsOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093
blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtl
UG9seVByb3RvT2JqZWN0KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9i
YWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093
blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwg
PSBudWxsOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBv
YmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7
Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8g
PSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xl
dCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBn
ZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7
IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMg
eworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAg
ICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0
ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQor
ICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2Zv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30K
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikg
eworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2Yg
YXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAg
ICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0K
K30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNzEgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGdldCBwKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBD
OworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNz
ZXJ0KGZvbygpLnAgPT09IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBb
XTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBv
bHlQcm90b09iamVjdCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAg
eC5wID0gaTsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywg
aSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9
PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9y
RWFjaChvID0+IHsKKyAgICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAg
ICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAg
ICBhc3NlcnQoY2FsbGVkID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAg
cHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tdXNpbmctaW5oZXJpdGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3Mg
QyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55
ID0gMjI7CisgICAgICAgIH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQor
ICAgIH0KKyAgICBDLnByb3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVy
biBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVu
Y3Rpb24gYmFyKHApIHsKKyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOwor
ICAgICAgICB9CisgICAgfTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsK
KworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAg
IGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7
CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIp
OworICAgIGFzc2VydChpdGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUu
bm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaW5zdGFuY2Vz
LmZvckVhY2goKHgpID0+IHZhbGlkYXRlKHgpKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHkt
cHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0
aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAg
ICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9
CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4g
bmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0g
bWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBv
bHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9J
bnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiks
CisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChi
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9u
IikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBh
c3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMu
bm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMu
aGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3Bl
cnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0g
Mjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsK
KyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJv
dG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAg
ICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1
cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZv
bygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVt
Lm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAg
ICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1z
KQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1n
ZXQtYnktaWQtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
dHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzgg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3Qo
KSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkgeyB0aGlzLl9maWVsZCA9IDQyOyB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHRyeUdldEJ5
SWRUZXh0KHByb3BlcnR5TmFtZSkgeyByZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkgeyByZXR1cm4g
QHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJvcGVydHlOYW1lfScpOyB9KWA7IH0KK2xldCBnZXRGb28g
PSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJmb28iKSk7CitsZXQgZ2V0QmFyID0gY3Jl
YXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiYmFyIikpOworbGV0IGdldE5vbkV4aXN0ZW50Rmll
bGQgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJub25FeGlzdGVudEZpZWxkIikpOwor
CitsZXQgeCA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK3guX19wcm90b19fID0geyBmb286IDQy
LCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7IH0gfTsKK2xldCBiYXJHZXR0ZXIgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHguX19wcm90b19fLCAiYmFyIikuZ2V0OworYXNzZXJ0KHR5
cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5jdGlvbiIpOworYXNzZXJ0KGJhckdldHRlcigpID09PSAy
Mik7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoZ2V0Rm9vKHgpID09PSA0
Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKGdldEJhcih4KSkgPT09
IGJhckdldHRlcik7CisgICAgYXNzZXJ0KGdldE5vbkV4aXN0ZW50RmllbGQoeCkgPT09IHVuZGVm
aW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKSB7CisgICAgdmFsaWRhdGUoeCk7Cit9CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxl
ci9vdmVyZmxvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxv
dy5qcwkocmV2aXNpb24gMjIyNzEyKQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cu
anMJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw4IEBAIHZhciBvbGRQcm90bzsKIGZvciAodmFy
IGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZsb3c7IGkrKykgewogICAg
IC8vIE1ha2Ugc3VyZSB3ZSBnZXQgYSBuZXcgcHJvdG90eXBlIGNoYWluIG9uIGVhY2ggYXNzaWdu
bWVudCB0byB4IGJlY2F1c2Ugb2JqZWN0cyB3aXRoIHNoYXJlZCBwcm90b3R5cGUgY2hhaW5zIHdp
bGwgYmUgbWVyZ2VkLgogICAgIHggPSBuZXcgUHJvdG87CisgICAgeFsnZmllbGQnICsgaV0gPSAy
MDsKKyAgICB4ID0geAogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlv
bigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5
cGU7CkBAIC0yMCw2ICsyMiw4IEBAIFByb3RvID0gZnVuY3Rpb24oKSB7fTsKIG9sZFByb3RvID0g
bnVsbDsKIGZvciAodmFyIGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZs
b3cgLSAxOyBpKyspIHsKICAgICB5ID0gbmV3IFByb3RvOworICAgIHlbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeSA9IHkKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzI0IEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzYzOTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgSlNDJ3Mg
b2JqZWN0IG1vZGVsIHdpdGggcmVzcGVjdCB0byB3aGVyZSB0aGUgcHJvdG90eXBlCisgICAgICAg
IG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFByZXZpb3VzbHksIGl0IHdhcyBhbHdheXMgc3RvcmVk
IGFzCisgICAgICAgIGEgY29uc3RhbnQgdmFsdWUgaW5zaWRlIFN0cnVjdHVyZS4gU28gYW4gb2Jq
ZWN0J3Mgc3RydWN0dXJlIHVzZWQgdG8KKyAgICAgICAgYWx3YXlzIHRlbGwgeW91IHdoYXQgaXRz
IHByb3RvdHlwZSBpcy4gQW55dGltZSBhbiBvYmplY3QgY2hhbmdlZAorICAgICAgICBpdHMgcHJv
dG90eXBlLCBpdCB3b3VsZCBkbyBhIHN0cnVjdHVyZSB0cmFuc2l0aW9uLiBUaGlzIGVuYWJsZXMK
KyAgICAgICAgYSBsYXJnZSBjbGFzcyBvZiBvcHRpbWl6YXRpb25zOiBqdXN0IGJ5IGRvaW5nIGEg
c3RydWN0dXJlIGNoZWNrLAorICAgICAgICB3ZSBrbm93IHdoYXQgdGhlIHByb3RvdHlwZSBpcy4K
KyAgICAgICAgCisgICAgICAgIEhvd2V2ZXIsIHRoaXMgZGVzaWduIGZhbGxzIGRvd24gd2hlbiB5
b3UgaGF2ZSBtYW55IG9iamVjdHMgdGhhdAorICAgICAgICBoYXZlIHRoZSBzYW1lIHNoYXBlLCBi
dXQgb25seSBkaWZmZXIgaW4gd2hhdCB0aGVpciBwcm90b3R5cGUgdmFsdWUKKyAgICAgICAgaXMu
IFRoaXMgYXJpc2VzIGluIG1hbnkgSlMgcHJvZ3JhbXMuIEEgc2ltcGxlLCBhbmQgcHJvYmFibHkg
Y29tbW9uLCBleGFtcGxlCisgICAgICAgIGlzIHdoZW4gdGhlIHByb2dyYW0gaGFzIGEgY29uc3Ry
dWN0b3IgaW5zaWRlIG9mIGEgZnVuY3Rpb246CisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgICAgICBjb25zdHJ1
Y3RvcigpIHsgdGhpcy5maWVsZDEgPSA0MjsgLi4uOyB0aGlzLmZpZWxkTiA9IDQyOyB9CisgICAg
ICAgICAgICAgICAgbWV0aG9kMSgpIHsgZG9TdHVmZldpdGgodGhpcy5maWVsZCk7IH0KKyAgICAg
ICAgICAgICAgICBtZXRob2QyKCkgeyBkb1N0dWZmV2l0aCh0aGlzLmZpZWxkKTsgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgbGV0IGMgPSBuZXcgQzsKKyAgICAgICAgICAgIGRvIHRoaW5n
cyB3aXRoIGM7CisgICAgICAgICAgICB9CisgICAgICAgIHJlcGVhdGVkbHkgY2FsbCBmb28oKSBo
ZXJlLgorICAgICAgICBgYGAKKyAgICAgICAgCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCBp
biB0aGUgYWJvdmUgcHJvZ3JhbSwgZWFjaCB0aW1lIGBuZXcgQ2AgY3JlYXRlZCBhbgorICAgICAg
ICBvYmplY3QsIGl0IHdvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIGRpZmZlcmVudCBzdHJ1
Y3R1cmUuIFRoZQorICAgICAgICByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBlYWNoIHRpbWUgZm9v
IGlzIGNhbGxlZCwgdGhlcmUgaXMgYSBuZXcKKyAgICAgICAgaW5zdGFuY2Ugb2YgQy5wcm90b3R5
cGUuIEhvd2V2ZXIsIGVhY2ggYG5ldyBDYCB0aGF0IHdhcyBjcmVhdGVkCisgICAgICAgIHdpdGgg
aGF2ZSBpZGVudGljYWwgc2hhcGUgc2FucyBpdHMgcHJvdG90eXBlIHZhbHVlLiBUaGlzIHdvdWxk
CisgICAgICAgIGNhdXNlIGFsbCBJQ3MgdGhhdCB1c2VkIGBjYCB0byBxdWlja2x5IGdpdmUgdXAg
b24gYW55IGZvcm0gb2YgY2FjaGluZworICAgICAgICBiZWNhdXNlIHRoZXkgd291bGQgc2VlIHRv
byBtYW55IHN0cnVjdHVyZXMgYW5kIGdpdmUgdXAgYW5kIHBlcm1hbmVudGx5CisgICAgICAgIGRp
dmVydCBjb250cm9sIGZsb3cgdG8gdGhlIHNsb3cgcGF0aC4KKyAgICAgICAgCisgICAgICAgIFRo
aXMgcGF0Y2ggZml4ZXMgdGhpcyBpc3N1ZSBieSBleHBhbmRpbmcgdGhlIG5vdGlvbiBvZiB3aGVy
ZSB0aGUgcHJvdG90eXBlCisgICAgICAgIG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFRoZXJlIGFy
ZSBub3cgdHdvIG5vdGlvbnMgb2Ygd2hlcmUgdGhlIHByb3RvdHlwZQorICAgICAgICBpcyBzdG9y
ZWQuIEEgU3RydWN0dXJlIGNhbiBub3cgYmUgaW4gdHdvIG1vZGVzOgorICAgICAgICAxLiBNb25v
IHByb3RvIG1vZGUuIFRoaXMgaXMgdGhlIHNhbWUgbW9kZSBhcyB3ZSB1c2VkIHRvIGhhdmUuIEl0
IG1lYW5zCisgICAgICAgIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGhhcyBhIGNvbnN0YW50IHByb3Rv
dHlwZSB2YWx1ZS4KKyAgICAgICAgMi4gUG9seSBwcm90byBtb2RlLiBUaGlzIG1lYW5zIHRoZSBz
dHJ1Y3R1cmUga25vd3Mgbm90aGluZyBhYm91dCB0aGUKKyAgICAgICAgcHJvdG90eXBlIHZhbHVl
IGl0c2VsZi4gT2JqZWN0cyB3aXRoIHRoaXMgc3RydWN0dXJlIHN0b3JlIHRoZWlyIHByb3RvdHlw
ZQorICAgICAgICBpbiBub3JtYWwgb2JqZWN0IGZpZWxkIHN0b3JhZ2UuIFRoZSBzdHJ1Y3R1cmUg
d2lsbCB0ZWxsIHlvdSB0aGUgb2Zmc2V0IG9mCisgICAgICAgIHRoaXMgcHJvdG90eXBlIGluc2lk
ZSB0aGUgb2JqZWN0J3Mgc3RvcmFnZS4gQXMgb2YgdG9kYXksIHdlIG9ubHkgcmVzZXJ2ZQorICAg
ICAgICBpbmxpbmUgc2xvdHMgZm9yIHRoZSBwcm90b3R5cGUgZmllbGQgYmVjYXVzZSBwb2x5IHBy
b3RvIG9ubHkgb2NjdXJzCisgICAgICAgIGZvciBKU0ZpbmFsT2JqZWN0LiBIb3dldmVyLCB0aGlz
IHdpbGwgYmUgZXhwYW5kZWQgdG8gc3VwcG9ydCBvdXQgb2YgbGluZQorICAgICAgICBvZmZzZXRz
IGluIGEgZnV0dXJlIHBhdGNoIHdoZW4gd2UgZXh0ZW5kIHBvbHkgcHJvdG8gdG8gd29yayB3aGVu
IHdlIGluaGVyaXQKKyAgICAgICAgZnJvbSBidWlsdGluIHR5cGVzIGxpa2UgTWFwIGFuZCBBcnJh
eS4KKyAgICAgICAgCisgICAgICAgIEluIHRoaXMgaW5pdGlhbCBwYXRjaCwgd2UgZG8gcG9seSBw
cm90byBzdHlsZSBpbmxpbmUgY2FjaGluZyB3aGVuZXZlcgorICAgICAgICB3ZSBzZWUgYW4gb2Jq
ZWN0IHRoYXQgaXMgcG9seSBwcm90byBvciBpZiBhbiBvYmplY3QgaW4gaXRzIHByb3RvdHlwZSBs
b29rdXAKKyAgICAgICAgY2hhaW4gaXMgcG9seSBwcm90by4gUG9seSBwcm90byBJQ3Mgd29yayBi
eSB2ZXJpZnlpbmcgdGhlIGxvb2t1cCBjaGFpbgorICAgICAgICBhdCBydW50aW1lLiBUaGlzIGVz
c2VudGlhbGx5IGJvaWxzIGRvd24gdG8gcGVyZm9ybWluZyBzdHJ1Y3R1cmUgY2hlY2tzCisgICAg
ICAgIHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIEluIGEgZnV0dXJlIHBhdGNoLCB3ZSdyZSBnb2lu
ZyB0byBleHRlbmQgb2JqZWN0CisgICAgICAgIHByb3BlcnR5IGNvbmRpdGlvbiBzZXQgdG8gd29y
ayB3aXRoIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIHBvbHkgcHJvdG8gYmFzZXMuCisgICAgICAg
IAorICAgICAgICBJbml0aWFsbHksIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHByb3RvIGFjY2Vz
cyBjaGFpbnMgd2lsbCBhbHdheXMgdHVybgorICAgICAgICBpbnRvIEdldEJ5SWQvUHV0QnlJZCBp
biB0aGUgREZHLiBJbiBhIGZ1dHVyZSBwYXRjaCwgSSdtIGdvaW5nIHRvIHRlYWNoCisgICAgICAg
IHRoZSBERkcgaG93IHRvIGlubGluZSBjZXJ0YWluIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHBy
b3RvIGluIHRoZSBhY2Nlc3MKKyAgICAgICAgY2hhaW4uCisgICAgICAgIAorICAgICAgICBPbmUg
b2YgbW9zdCBpbnRlcmVzdGluZyBwYXJ0cyBhYm91dCB0aGlzIHBhdGNoIGlzIGhvdyB3ZSBkZWNp
ZGUgd2hlbiB0byBnbworICAgICAgICBwb2x5IHByb3RvLiBUaGlzIHBhdGNoIHVzZXMgYSBwcm9m
aWxpbmcgYmFzZWQgYXBwcm9hY2guIEFuIElDIHdpbGwgaW5mb3JtCisgICAgICAgIGEgd2F0Y2hw
b2ludCB0aGF0IGl0IHNlZXMgYW4gb3Bwb3J0dW5pdHkgd2hlbiB0d28gU3RydWN0dXJlJ3MgYXJl
IHN0cnVjdHVyYWxseQorICAgICAgICB0aGUgc2FtZSwgc2FucyB0aGUgYmFzZSBvYmplY3QncyBw
cm90b3R5cGUuIFRoaXMgbWVhbnMgdGhhdCB0d28gc3RydWN0dXJlcworICAgICAgICBoYXZlIGVx
dWl2YWxlbnQgc2hhcGVzIGFsbCB0aGUgd2F5IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIFRvIHN1
cHBvcnQgZmFzdAorICAgICAgICBzdHJ1Y3R1cmFsIGNvbXBhcmlzb24sIHdlIGNvbXB1dGUgYSBo
YXNoIGZvciBhIHN0cnVjdHVyZSBiYXNlZCBvbiB0aGUgcHJvcGVydGllcworICAgICAgICBpdCBo
YXMuIFdlIGNvbXB1dGUgdGhpcyBoYXNoIGFzIHdlIGFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBzdHJ1
Y3R1cmUuIFRoaXMKKyAgICAgICAgY29tcHV0YXRpb24gaXMgbmVhcmx5IGZyZWUgc2luY2Ugd2Ug
YWx3YXlzIGFkZCBVbmlxdWVkU3RyaW5nSW1wbConcyB3aGljaAorICAgICAgICBhbHJlYWR5IGhh
dmUgdGhlaXIgaGFzaGVzIGNvbXB1dGVkLiBUbyBjb21wYXJlIHN0cnVjdHVyYWwgZXF1aXZhbGVu
Y2UsIHdlCisgICAgICAgIGp1c3QgY29tcGFyZSBoYXNoIHZhbHVlcyBhbGwgdGhlIHdheSB1cCB0
aGUgcHJvdG90eXBlIGNoYWluLiBUaGlzIG1lYW5zIHdlCisgICAgICAgIGNhbiBnZXQgaGFzaCBj
b25mbGljdHMgYmV0d2VlbiB0d28gc3RydWN0dXJlcywgYnV0IGl0J3MgZXh0cmVtZWx5IHJhcmUu
IEZpcnN0LAorICAgICAgICBpdCdsbCBiZSByYXJlIGZvciB0d28gc3RydWN0dXJlcyB0byBoYXZl
IHRoZSBzYW1lIGhhc2guIFNlY29uZGx5LCB3ZSBvbmx5CisgICAgICAgIGNvbnNpZGVyIHN0cnVj
dHVyZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgICAgICAKKyAg
ICAgICAgSG93IHdlIHNldCB1cCB0aGlzIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCBpcyBjcnVjaWFs
IHRvIGl0cyBkZXNpZ24uIFdoZW4gd2UgY3JlYXRlX3RoaXMKKyAgICAgICAgYW4gb2JqZWN0IG9y
aWdpbmF0aW5nIGZyb20gc29tZSBleGVjdXRhYmxlLCB0aGF0IGV4ZWN1dGFibGUgd2lsbCBjcmVh
dGUgYSBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uCisgICAgICAgIEVhY2ggc3RydWN0dXJlIHRo
YXQgb3JpZ2luYXRlcyBmcm9tIHRoaXMgZXhlY3V0YWJsZSB3aWxsIGdldCBhIGNvcHkgb2YgdGhh
dAorICAgICAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uIEFzIHRoYXQgc3RydWN0dXJlIHRy
YW5zaXRpb25zIHRvIG5ldyBzdHJ1Y3R1cmVzLAorICAgICAgICB0aGV5IHRvbyB3aWxsIGdldCBh
IGNvcHkgb2YgdGhhdCBCb3g8SW5pbG5lV2F0Y2hwb2ludFNldD4uIFRoZXJlZm9yZSwgd2hlbgor
ICAgICAgICBpbnZhbGlkYXRpbmcgYW4gYXJiaXRyYXJ5IHN0cnVjdHVyZSdzIHBvbHkgcHJvdG8g
d2F0Y2hwb2ludCwgd2Ugd2lsbCBrbm93CisgICAgICAgIHRoZSBuZXh0IHRpbWUgd2UgY3JlYXRl
X3RoaXMgZnJvbSB0aGF0IGV4ZWN1dGFibGUgdGhhdCBpdCBoYWQgYmVlbgorICAgICAgICBpbnZh
bGlkYXRlZCwgYW5kIHRoYXQgd2Ugc2hvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkg
cHJvdG8KKyAgICAgICAgc3RydWN0dXJlLiBXZSBhbHNvIHVzZSB0aGUgcG9pbnRlciB2YWx1ZSBv
ZiB0aGlzIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PgorICAgICAgICB0byBkZXRlcm1pbmUgaWYg
dHdvIHN0cnVjdHVyZXMgb3JpZ2luYXRlZCBmcm9tIHRoZSBzYW1lIGV4ZWN1dGFibGUuIFRoaXMK
KyAgICAgICAgcHJ1bmluZyB3aWxsIHNldmVyZWx5IGxpbWl0IHRoZSBjaGFuY2VzIG9mIGdldHRp
bmcgYSBoYXNoIGNvbmZsaWN0IGluIHByYWN0aWNlLgorCisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3BwOgorICAgICAgICAqIGJ1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OkJ1aWx0aW5OYW1lcyk6
CisgICAgICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OgorICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nl
c3NDYXNlOjpBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y3JlYXRlKToK
KyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y29tbWl0KToKKyAgICAgICAgKEpTQzo6QWNjZXNz
Q2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2spOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNl
OjpjYW5SZXBsYWNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6ZHVtcCk6CisgICAgICAg
IChKU0M6OkFjY2Vzc0Nhc2U6OnZpc2l0V2Vhayk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6
OnByb3BhZ2F0ZVRyYW5zaXRpb25zKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJh
dGVXaXRoR3VhcmQpOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgor
ICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2Fz
ZTo6dXNlc1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Up
OgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRo
b3V0RXhpdFNpdGVGZWVkYmFjayk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRl
clNldHRlckFjY2Vzc0Nhc2UpOgorICAgICAgICAoSlNDOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
OjpjcmVhdGUpOgorICAgICAgICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoK
KyAgICAgICAgKiBieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaDoK
KyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVB
bGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKToKKyAgICAgICAgKiBieXRlY29kZS9J
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmg6CisgICAgICAgICogYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Ok9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZSk6CisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KToKKyAgICAg
ICAgKiBieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oOgorICAgICAgICAoSlNDOjpP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHA6Cisg
ICAgICAgICogYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OlBv
bHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlND
OjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcCk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seVBy
b3RvQWNjZXNzQ2hhaW4uaDogQWRkZWQuCisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0No
YWluOjpjbG9uZSk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpjaGFpbik6
CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvciE9KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmZvckVhY2gpOgorICAgICAgICAqIGJ5dGVj
b2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nl
c3M6OmFkZENhc2VzKToKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJh
dGUpOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5oOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
OjpzaG91bGRSZXNldFN0dWIpOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uU3RhdGU6
OkFjY2Vzc0dlbmVyYXRpb25TdGF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvUHJvcGVydHlDb25k
aXRpb24uY3BwOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlk
QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQpOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3h5YWJsZUFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpQcm94eWFibGVBY2Nlc3NDYXNl
OjpQcm94eWFibGVBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6UHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OlB1dEJ5
SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0
dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YWRkQWNj
ZXNzQ2FzZSk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6bG9hZCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmNhbkRvRmFzdFNwcmVhZCk6CisgICAgICAgICogZGZn
L0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3Rh
bmNlT2YpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAg
ICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVJbnN0YW5jZU9mKToKKyAg
ICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9p
bnN0YW5jZW9mKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRy
eUNhY2hlR2V0QnlJRCk6CisgICAgICAgIChKU0M6OnRyeUNhY2hlUHV0QnlJRCk6CisgICAgICAg
IChKU0M6OnRyeVJlcGF0Y2hJbik6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKFdURjo6
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpOgorICAg
ICAgICAoV1RGOjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6Cisg
ICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdURjo6RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGU6OkRPTUpJVEF0
dHJpYnV0ZSk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklU
QXR0cmlidXRlOjpzbG93Q2FsbCk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09i
amVjdDo6RE9NSklUQXR0cmlidXRlOjpjYWxsRE9NR2V0dGVyKToKKyAgICAgICAgKFdURjo6RE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIpOgorICAgICAgICAoV1RGOjpET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6ZmFzdEpvaW4pOgorICAgICAgICAoSlNDOjphcnJh
eVByb3RvRnVuY1JldmVyc2UpOgorICAgICAgICAoSlNDOjptb3ZlRWxlbWVudHMpOgorICAgICAg
ICAqIHJ1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGVFbXB0eSk6CisgICAgICAgIChKU0M6OkNsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlV2l0aElubGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVXaXRoTWFjaGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVCeUNvcHlpbmdGcm9tKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6
CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwOgorICAgICAgICAoSlNDOjpGdW5j
dGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlU2xvdyk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNBcnJheTo6ZmFzdFNsaWNlKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6
c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpzaGlm
dENvdW50V2l0aEFueUluZGV4aW5nVHlwZSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXlJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmNhbkZhc3RDb3B5KToKKyAg
ICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpk
dW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVj
dGlvbik6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJh
cmVEYXRhKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZVJhcmVEYXRhKToK
KyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAg
KiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTTWFwLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxl
KToKKyAgICAgICAgKEpTQzo6SlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
cHV0SW5saW5lU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5k
ZXhlZFN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdl
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVJbnQzMlNsb3cpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6ZW5zdXJlRG91YmxlU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpl
bnN1cmVDb250aWd1b3VzU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhZ2VTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZyk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0UHJvcGVydHlTbG90KToKKyAgICAg
ICAgKiBydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
Z2V0UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE5vbkluZGV4UHJv
cGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dElubGluZUZvckpTT2JqZWN0
KToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorICAgICAg
ICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0pTU2V0
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25P
YnNlcnZhYmxlKToKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2Vy
dmFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmg6CisgICAgICAg
IChKU0M6OkxhenlDbGFzc1N0cnVjdHVyZTo6cHJvdG90eXBlQ29uY3VycmVudGx5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBydW50aW1lL09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpub3Jt
YWxpemVQcm90b3R5cGVDaGFpbik6CisgICAgICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6Cisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVN
YXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUZvclByb3RvdHlw
ZUZyb21CYXNlU3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9Qcm90b3R5cGVNYXAuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAg
ICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNp
dGlvbik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpkdW1wKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRU
b1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cCk6IERlbGV0ZWQuCisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKTog
RGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAqIHJ1bnRp
bWUvU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVDaGFpbjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAg
ICAgKiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVj
dCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUpOgorICAgICAgICAoSlND
Ojpwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKToKKyAgICAgICAgKEpTQzo6U3RydWN0
dXJlOjpwcm90b3R5cGVGb3JMb29rdXApOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUNoYWluKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjppc1ZhbGlkKToKKyAgICAgICAg
KEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFByb3Bl
cnR5VGFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL1R5
cGVQcm9maWxlckxvZy5jcHA6CisgICAgICAgIChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vz
c0xvZ0VudHJpZXMpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVNldC5jcHA6CisgICAgICAgIChK
U0M6OlR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbik6CisgICAgICAgICogcnVudGltZS9UeXBl
U2V0Lmg6CisgICAgICAgICogcnVudGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6
V3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPjo6aXNJbnQzMik6CisKIDIwMTctMTAtMDEgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIyMjI1NjQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNl
cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTIyNyw5ICsyMjcsMTEgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAog
Ynl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVBy
b2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAK
IGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCitieXRlY29kZS9Qb2x5
UHJvdG9BY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAogYnl0
ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVCbG9jay5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjQnl0ZWNvZGVUb3ApCisgICAgICAgIHsKKyAgICAgICAgfQorCisjaWYgRU5BQkxF
KEpJVCkKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gc2xvd0Nh
bGwoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBwb2ludGVyKQorICAgICAgICB7CisgICAgICAgICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0YXRp
Y19jYXN0PEpTT2JqZWN0Kj4ocG9pbnRlcik7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAg
ICAgc3RhdGljIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBjYWxsRE9NR2V0dGVy
KCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBw
ZXQ+IHNuaXBwZXQgPSBET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0OjpjcmVhdGUoKTsKKyAg
ICAgICAgICAgIHNuaXBwZXQtPnJlcXVpcmVHbG9iYWxPYmplY3QgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHNuaXBwZXQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIFNuaXBwZXRQ
YXJhbXMmIHBhcmFtcykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdHMgPSBw
YXJhbXNbMF0uanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBHUFJSZWcgZG9tID0gcGFy
YW1zWzFdLmdwcigpOworICAgICAgICAgICAgICAgIHBhcmFtcy5hZGRTbG93UGF0aENhbGwoaml0
Lmp1bXAoKSwgaml0LCBzbG93Q2FsbCwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCgpOworCisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJldHVybiBzbmlwcGV0OworICAgICAgICB9CisjZW5kaWYKKyAgICB9OworCitwcml2
YXRlOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKworICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBjdXN0b21HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CisgICAgICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHRoaXNPYmplY3QpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3Qt
PmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICB9Cit9OworCitzdGF0aWMgY29uc3QgRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGUgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0RE9NSklUOworCit2b2lkIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBjb25zdCBE
T01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gJkRPTUpJVEdldHRlckJhc2VKU09iamVjdERP
TUpJVDsKKyAgICBhdXRvKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBET01BdHRyaWJ1dGVHZXR0ZXJT
ZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgbnVsbHB0ciwgRE9NQXR0cmlidXRl
QW5ub3RhdGlvbiB7IEpTT2JqZWN0OjppbmZvKCksIGRvbUpJVCB9KTsKKyAgICBwdXREaXJlY3RD
dXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21HZXR0
ZXIiKSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpOworfQorCiBjb25zdCBDbGFzc0luZm8g
RWxlbWVudDo6c19pbmZvID0geyAiRWxlbWVudCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRWxlbWVudCkgfTsKIGNvbnN0IENsYXNzSW5mbyBN
YXNxdWVyYWRlcjo6c19pbmZvID0geyAiTWFzcXVlcmFkZXIiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hc3F1ZXJhZGVyKSB9OwogY29uc3Qg
Q2xhc3NJbmZvIFJvb3Q6OnNfaW5mbyA9IHsgIlJvb3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJvb3QpIH07CkBAIC05NjUsNiArMTA0OSw3
IEBAIGNvbnN0IENsYXNzSW5mbyBET01KSVROb2RlOjpzX2luZm8gPSB7ICIKICNlbmRpZgogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlcjo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyIiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRH
ZXR0ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQ29tcGxleDo6c19pbmZvID0g
eyAiRE9NSklUR2V0dGVyQ29tcGxleCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQ29tcGxleCkgfTsKK2NvbnN0IENsYXNz
SW5mbyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckJh
c2VKU09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSB9OwogI2lmIEVOQUJMRShKSVQpCiBj
b25zdCBDbGFzc0luZm8gRE9NSklURnVuY3Rpb25PYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEZ1
bmN0aW9uT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgJkRPTUpJVEZ1bmN0aW9uT2Jq
ZWN0OjpjaGVja1N1YkNsYXNzU25pcHBldCwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRGdW5j
dGlvbk9iamVjdCkgfTsKICNlbHNlCkBAIC0xMTQ0LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEZ1bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNT
dGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVh
dGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xNDYyLDYgKzE1
NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
R2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9i
amVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25P
YmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rp
b25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3Jl
YXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0
aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3Qs
IDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwg
ZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBAIC0yMTk4LDYgKzIyODUsMTYg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7
CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBqc051bGwoKSk7
CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
blNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04MTAsNiArODEwLDcgQEAKIAkJ
NDQ0M0FFMzMxNkUxODhEOTAwNzZGMTEwIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVCNjEwNUM4NkM2
QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk0NTE1MzlCOTEyREM5
OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NzNEQTRBNDc2NEM0NUZF
ODcxQjA0ODUgLyogRGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjk5NDhFREU2OEQ0MDU0QjAxRUY3OTcgLyog
RGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTIxMTMxRjcxRjgyQkYxNDAwN0NDRUVFIC8qIFBvbHlQcm90
b0FjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjEzMjI0
NjFFQ0JDRTgyMDBGNjU2MTUgLyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyMTMyMjQ0MUVDQkNFODIwMEY2
NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovOyB9OwogCQk1MjUwRDJEMjFFOERB
MDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTI1MEQyRDAxRThEQTA1QTAwMjlBOTMyIC8qIFdhc21UaHVua3Mu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjVD
MEREQTFFOTM1ODQ3MDAyMTg0Q0QgLyogV2FzbUNhbGxlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTI1QzBERDgxRTkzNTg0NzAwMjE4NENEIC8qIFdh
c21DYWxsZWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMzEyMSw2ICszMTIyLDggQEAKIAkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUYwRUI2MTA1Qzg2QzZCMDBFNkRGMUIgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IEZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CiAJCTUxRjBFQzA3MDVDODZDOUEwMEU2REYxQiAvKiBsaWJvYmpjLmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGli
b2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNTIxMTMxRjUxRjgy
QkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTIxMTMxRjYxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUyMTMyMjQzMUVDQkNFODIwMEY2NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9u
QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJs
eUZ1bmN0aW9uQmFzZS5jcHA7IHBhdGggPSBqcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMyMjQ0MUVDQkNFODIwMEY2NTYxNSAv
KiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOyBwYXRoID0ganMvV2ViQXNzZW1ibHlGdW5j
dGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI1MEQyQ0YxRThEQTA1
QTAwMjlBOTMyIC8qIFdhc21UaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2FzbVRodW5rcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
MzU2LDYgKzczNTksOCBAQAogCQkJCTk2OUEwNzk1MEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUu
aCAqLywKIAkJCQkwRjJCREMyQjE1MUZERThCMDBDRDg5MTAgLyogT3BlcmFuZHMuaCAqLywKIAkJ
CQlBNzA0NDdFOTE3QTBCRDQ2MDBGNTg5OEUgLyogT3BlcmFuZHNJbmxpbmVzLmggKi8sCisJCQkJ
NTIxMTMxRjUxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLywK
KwkJCQk1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
LywKIAkJCQkwRkY5Q0U3MTFCOUNENkQwMDA0RURDQTYgLyogUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
ICovLAogCQkJCTBGRjlDRTcyMUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5o
ICovLAogCQkJCTBGOTgyMDVEMTZCRkUzN0YwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMu
Y3BwICovLApAQCAtODE5NSw2ICs4MjAwLDcgQEAKIAkJCQlBNzk4NkQ1NzE3QTBCQjFFMDBBOTVE
RDAgLyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYxNDM0
MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCQzBB
RTgxNDk2QzdDNzAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE3OEE5Nzc1MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGYWlsZWRGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkZGM0MwMTc5ODY4OTQwMDAyRjQ2MiAvKiBE
RkdGaWx0cmF0aW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzhBOTc3NzE3OTczOEI4
MDA5REY3NDQgLyogREZHRmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAy
MjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFN
RVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsg
IlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1i
b2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlBy
aXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAK
IGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7
CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZ
KG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElB
TElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFt
ZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJv
bHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBs
Jj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAg
IEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9f
UFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFD
SF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0y
MzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9f
UFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGlj
VG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0
ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3Rv
KTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51
bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAg
ICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRl
bnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JV
SUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFy
Vk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Q
cml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZp
ZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9M
UykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZp
ZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGlj
VG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBB
Y2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQog
ICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbihXVEZN
b3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51
bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9u
U2V0OwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nh
c2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBicmVhazsKICAgICBj
YXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0
QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNh
c2UgTW9kdWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgIGJyZWFrOwogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVj
dHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVj
dHVyZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQog
CiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyArMTM4LDggQEAgVmVjdG9yPFdh
dGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0
KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5u
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0
Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAgICB8fCAobV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbiAmJiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQuYXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRT
ZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkK
QEAgLTE1MSw2ICsxNTUsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNo
ZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlm
IChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBz
d2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdM
ZW5ndGg6CkBAIC0yMTAsNiArMjE3LDE5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShj
b25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVj
dCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVm
YXVsdDoKKyAgICAgICAgaWYgKG90aGVyLnR5cGUoKSAhPSB0eXBlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgIGlmICghb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNr
IHdlIG5lZWQgc2luY2UgUG9seVByb3RvQWNjZXNzQ2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3Ry
dWN0dXJlLgorICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBv
bmx5IHRoZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xsIGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAg
ICAgICAgIC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZSgpID09IG90aGVyLnN0cnVjdHVyZSgpCisgICAgICAgICAgICAgICAg
JiYgKm1fcG9seVByb3RvQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hh
aW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkg
fHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI3IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFj
ZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJc
biIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQu
cHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQot
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1
Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNl
IGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0g
IiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zm
c2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9v
ZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYg
KG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJv
dG90eXBlIGFjY2VzcyBjaGFpbiA9ICIpOworICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
LT5kdW1wKHN0cnVjdHVyZSgpLCBvdXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtX3R5
cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVy
ZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdT
dHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAg
IG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJl
LmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnBy
aW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjY4LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRX
ZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFy
a2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICht
X3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgOiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAo
IUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0y
NzMsNiArMzA0LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wK
ICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFy
a0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgewor
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFw
KHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFu
c2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwOCw3MiBAQCB2b2lkIEFjY2Vzc0Nhc2U6
OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYg
KHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VH
UFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQot
ICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
UHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAg
aWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9y
QWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRl
LmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgbV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbi0+Zm9yRWFjaChzdHJ1Y3R1cmUoKSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCBhdEVuZCkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9m
ZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAg
ICAgICAgIGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBN
aXNzIHx8IG1fdHlwZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmIHN0cnVj
dHVyZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBh
IE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBlbmQg
d2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVyaWZ5
IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNuJ3Qg
YSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0
KHBvbHlQcm90b09mZnNldCkpOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgICAgICAgICAg
ICAgICAgICBqaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NH
UFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKHBvbHlQcm90b09mZnNldCkpLCBiYXNlRm9yQWNjZXNz
R1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJh
bmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworI2Vsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQ
Uiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2UocG9seVByb3RvT2Zmc2V0KSArIFBheWxvYWRPZmZzZXQp
LCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZChqaXQuYnJhbmNoVGVzdFB0cihDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIGJhc2VGb3JB
Y2Nlc3NHUFIpKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1By
b3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAg
ICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
UHRyKGFzT2JqZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVk
IHByb3RvdHlwZS4gV2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCA9IHN0cnVjdHVy
ZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChpc0lubGluZU9mZnNldChwb2x5UHJvdG9PZmZzZXQpKTsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShwb2x5UHJvdG9PZmZz
ZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nl
c3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyNlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKHBvbHlQcm90b09mZnNldCkg
KyBQYXlsb2FkT2Zmc2V0KSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAg
ICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaFRlc3RQdHIoQ0NhbGxIZWxwZXJzOjpa
ZXJvLCBiYXNlRm9yQWNjZXNzR1BSKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6
OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkp
OworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlw
ZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOworCisgICAgICAgICAgICAgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9m
ZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBl
bmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
SURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQo
KSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0gfTsKQEAgLTQyOCw2ICs1MTAsOCBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgQVNTRVJUKG1f
Y29uZGl0aW9uU2V0LnN0cnVjdHVyZXNFbnN1cmVWYWxpZGl0eUFzc3VtaW5nSW1wdXJlUHJvcGVy
dHlXYXRjaHBvaW50KCkpOwogCiAgICAgZm9yIChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biYgY29uZGl0aW9uIDogbV9jb25kaXRpb25TZXQpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IW1fcG9seVByb3RvQWNjZXNzQ2hhaW4pOworCiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gY29uZGl0aW9uLm9iamVjdCgpLT5zdHJ1Y3R1cmUoKTsKIAogICAgICAgICBpZiAoY29uZGl0
aW9uLmlzV2F0Y2hhYmxlQXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkgewpAQCAt
NTA0LDEzICs1ODgsMTkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2Vu
ZQogICAgICAgICAgICAgYmFzZUZvckdldEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVn
IGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgp
KSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNo
R1BSKTsKKyAgICAgICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
IC8vIFRoaXMgaXNuJ3QgcHJldHR5LCBidXQgd2Uga25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJh
dGVXaXRoR3VhcmQsCisgICAgICAgICAgICAvLyBhbmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2Vz
cyBpbnNpZGUgc2NyYXRjaEdQUi4gV2UgY291bGQgcmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAg
ICAgICAgLy8gYnV0IGl0J2QgcmVxdWlyZSBlbWl0dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQg
dGhlIGJhc2UgdHdpY2UuCiAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQ
UjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZv
ckdldEdQUjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25T
ZXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3Jh
dGNoR1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBi
YXNlRm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BS
ID0gSW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRl
ciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZh
bHVlU2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3
ICsxMTA2LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAg
ICAgICAKICAgICBjYXNlIEludHJpbnNpY0dldHRlcjogewogICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc1ZhbGlkT2Zmc2V0KG9mZnNldCgpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5l
ZWQgdG8gZW5zdXJlIHRoZSBnZXR0ZXIgdmFsdWUgZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVz
LiBOb3RlIHRoYXQgR2V0dGVyU2V0dGVycwogICAgICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdl
IGp1c3QgbmVlZCB0byB3YXRjaCB0aGUgcHJvcGVydHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQu
CiAgICAgICAgIFN0cnVjdHVyZSogY3VyclN0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNs
dWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlBvbHlQcm90b0Fj
Y2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTEyMCwxMSArMTIxLDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0ID0gaW52YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0
dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiA9IG51bGxwdHIp
OwogCiAgICAgLy8gVGhpcyBjcmVhdGUgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0
aW9ucy4KICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYs
IEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwK
LSAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1
Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBz
dGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gZnJvbVN0cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxs
KiBvd25lciwgU3RydWN0dXJlU3R1YkluZm8mKTsKIApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJv
dG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEhbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bjsKKyAgICB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikg
PSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nl
c3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNj
ZXNzQ2FzZSYgb3RoZXIpCisgICAgICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAg
LCBtX3N0YXRlKG90aGVyLm1fc3RhdGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZz
ZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwg
bV9jb25kaXRpb25TZXQob3RoZXIubV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAo
b3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAgICAgIG1fcG9seVByb3RvQWNj
ZXNzQ2hhaW4gPSBvdGhlci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0K
KwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7
CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0y
MjcsNiArMjQ0LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0
cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBtX3BvbHlQcm90
b0FjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNzEyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU5Myw3ICs1OTMsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBTCiAgICAgICAgICAgICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29w
TGVuZ3RoIC0gMl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9w
TGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1f
Z2xvYmFsT2JqZWN0LmdldCgpLCB0aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCksIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0
YXR1cy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBA
IEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNv
bnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAg
ICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRT
dGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNl
c1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQ
YXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJl
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdl
dHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25h
bFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQ
cm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93
bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAg
bV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7
CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFs
PERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAg
LTYzLDE4ICs2MywxOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVy
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
dmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmli
dXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVf
cHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21W
YWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNl
LCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikp
KTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwog
ICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAg
ICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAot
ICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAg
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJp
YnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6
OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRy
LAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+LAorICAgICAgICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9
IG51bGxwdHIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNjcsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25z
dCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYs
OCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9z
dHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzTW9ub1Byb3Rv
KCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4gdHlwZXM6
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAog
ICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpCiAg
ICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0
ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGludHJpbnNp
Y0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJbnRyaW5z
aWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpCiB7CiAg
ICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5jdGlvbik7
CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNh
bkVtaXRJbnRyaW5zaWNHZXR0ZXIoSlNGdW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAgIHZvaWQg
ZW1pdEludHJpbnNpY0dldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAgIC8vIEZJ
WE1FOiBNYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5jdGlvbiog
aW50cmluc2ljRnVuY3Rpb24pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNs
b25lKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZp
c2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5h
bWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52
aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIs
IE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNl
TG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQo
KSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9t
b2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVk
IGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAg
IEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFT
U0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5
IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3Jl
YXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4K
KyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3Cisg
ICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhl
Y3V0YWJsZSA9IG51bGxwdHI7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIC8vIEZJ
WE1FOiBBIEpTRnVuY3Rpb24gc2hvdWxkIHdhdGNoIHRoZSBwb2x5IHByb3RvIHdhdGNocG9pbnQg
aWYgaXQgaXMgbm90IGludmFsaWRhdGVkLgorICAgICAgICAvLyBUaGF0IHdheSBpdCBjYW4gY2xl
YXIgdGhpcyBvYmplY3QgYWxsb2NhdGlvbiBwcm9maWxlIHRvIGVuc3VyZSBpdCBzdG9wcyBhbGxv
Y2F0aW5nCisgICAgICAgIC8vIG1vbm8gcHJvdG8gfHRoaXN8IHZhbHVlcyB3aGVuIGl0IGtub3dz
IHRoYXQgaXQgc2hvdWxkIGJlIGFsbG9jYXRpbmcgcG9seSBwcm90bworICAgICAgICAvLyB8dGhp
c3wgdmFsdWVzOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3NzkyCisKKyAgICAgICAgZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1
dGFibGUoKTsKKyAgICAgICAgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgaWYgKE9wdGlv
bnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gZXhlY3V0YWJsZS0+ZW5zdXJl
UG9seVByb3RvV2F0Y2hwb2ludCgpLmhhc0JlZW5JbnZhbGlkYXRlZCgpICYmIGV4ZWN1dGFibGUt
PnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworCisgICAgICAgIGlm
IChpc1BvbHlQcm90bykgeworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
ZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IEZpbmFsT2Jq
ZWN0VHlwZSk7CisgICAgICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAg
ICAgICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAg
ICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKKyAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewor
ICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5
c2lzLgorICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFBy
b3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZlcnJlZElubGlu
ZUNhcGFjaXR5KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBt
b3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAgICAgICAgICAv
LyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRo
IGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0g
SlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0gZWxzZSBp
ZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpKSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsg
Z3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAgICAgICAgICAg
IC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAg
ICAgICB9CisKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5
OworICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ug
b2JqZWN0LgorICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7
CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAg
ICAgICsraW5saW5lQ2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4o
aW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAg
IH0KKworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVD
YXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNp
emVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGlu
ZUNhcGFjaXR5KTsKKyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFj
ZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRhZ2Ug
b2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KKyAg
ICBpZiAoYWxsb2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2Vs
bFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4p
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5lQ2Fw
YWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAg
IH0KKworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2Jq
ZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVD
YXBhY2l0eSwgaXNQb2x5UHJvdG8pOworCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAg
IEFTU0VSVChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKTsKKyAgICAgICAgbV9hbGxvY2F0b3Ig
PSBudWxscHRyOworICAgICAgICBleGVjdXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1
cmUodm0sIHN0cnVjdHVyZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUp
IHsKKyAgICAgICAgICAgIGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKTsK
KyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZW5zdXJlUmFyZURhdGEodm0pLT5zZXRTaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KGV4ZWN1dGFibGUtPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSk7
CisgICAgICAgIH0KKworICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICB9CisK
KyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUs
IGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5j
ZSgpOworCisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBt
X2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xv
YmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJy
YXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJv
bE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9w
ZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZl
Y3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNp
emUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVj
dCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJl
IGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90
IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwg
dmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAg
IH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1
OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVj
dHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0
b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lu
bGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0g
ICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7
Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAg
ICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0
aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwg
aW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlv
bnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vl
c3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAg
ICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0Ojph
bGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciog
YWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNp
dHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7
Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxv
Y2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAg
IGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJl
YWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0g
ICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7
Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAg
dm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwg
SlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNs
ZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0gMDsKKyAgICAgICAgbV9hbGxvY2F0
b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5jbGVhcigpOwogICAgICAgICBtX2lu
bGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlzTnVsbCgpKTsKQEAgLTEyNSwyOCAr
NzMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotCi0gICAgdW5zaWduZWQgcG9zc2li
bGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAg
ewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9i
amVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90
IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXko
JnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1v
ZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0
eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9k
ZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1l
VmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90
eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAg
IC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2Jq
ZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWND
YXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
Ci0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50
OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiwg
SlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9y
OyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2Rl
LgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBnZW5lcmF0
ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0
aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQor
ICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJl
c3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlKAogICAgICAgICAgICAgdm0s
IG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRp
dGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1Bv
bHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7
CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlT2ZTZXRF
ZmZlY3QoCiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVj
dHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMjU4
LDYgKzI2MiwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpCiAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiSXQncyBhIHByb3h5LCBzbyBpbnZhbGlkLlxuIik7CiAg
ICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsK
ICAgICAgICAgfQorCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogSW50ZWdyYXRlIHRoaXMgd2l0aCBQb2x5UHJvdG9BY2Nlc3ND
aGFpbjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzczMzkKKyAgICAgICAgICAgIC8vIE9yIGF0IGxlYXN0IGFsbG93IE9QQyBzZXQgZ2Vu
ZXJhdGlvbiB3aGVuIHRoZQorICAgICAgICAgICAgLy8gYmFzZSBpcyBub3QgcG9seSBwcm90bzoK
KyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc3MjEKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52
YWxpZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9B
Y2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUG9seVByb3RvQWNjZXNzQ2hhaW4uaCIKKwor
I2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9w
dHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9
IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4g
Y3JlYXRlKGdsb2JhbE9iamVjdCwgYmFzZSwgdGFyZ2V0LCB1c2VzUG9seVByb3RvKTsKK30KKwor
c3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBQb2x5UHJvdG9BY2Nlc3NDaGFp
bjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNP
YmplY3QqIHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJl
bnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9
IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiByZXN1bHQobmV3IFBvbHlQcm90b0FjY2Vzc0NoYWlu
KCkpOworCisgICAgZm9yICh1bnNpZ25lZCBpdGVyYXRpb25OdW1iZXIgPSAwOyB0cnVlOyArK2l0
ZXJhdGlvbk51bWJlcikgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQt
PnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnByb3BlcnR5QWNjZXNz
ZXNBcmVDYWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBB
U1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUt
Pmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2
bSwgYXNPYmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVG8gc2F2ZSBt
ZW1vcnksIHdlIGRvbid0IGluY2x1ZGUgdGhlIGJhc2UgaW4gdGhlIGNoYWluLiBXZSBsZXQKKyAg
ICAgICAgLy8gQWNjZXNzQ2FzZSBwcm92aWRlIHRoZSBiYXNlIHRvIHVzIGFzIG5lZWRlZC4KKyAg
ICAgICAgaWYgKGl0ZXJhdGlvbk51bWJlcikKKyAgICAgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5h
cHBlbmQoc3RydWN0dXJlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoY3VycmVudCA9PSBiYXNlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsK
KyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nl
c3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wu
IElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGlu
ZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3Jl
IG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9IHN0
cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGN1cnJlbnQpOworICAg
ICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KKworICAgIGlmICghZm91bmQg
JiYgISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworYm9vbCBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6bmVlZEltcHVyZVByb3BlcnR5V2F0
Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hh
aW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2lu
dCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsK
K30KKworYm9vbCBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6b3BlcmF0b3I9PShjb25zdCBQb2x5UHJv
dG9BY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2hhaW4gPT0gb3Ro
ZXIubV9jaGFpbjsKK30KKwordm9pZCBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcChTdHJ1Y3R1
cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnBy
aW50KCJQb2x5UG9seVByb3RvQWNjZXNzQ2hhaW46IFtcbiIpOworICAgIGZvckVhY2goYmFzZVN0
cnVjdHVyZSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCkgeworICAgICAgICBvdXQu
cHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQu
cHJpbnQoIlxuIik7CisgICAgfSk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5oCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFp
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0dsb2JhbE9iamVjdDsKK2Ns
YXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90OworY2xhc3MgU3RydWN0dXJlOworCitj
bGFzcyBQb2x5UHJvdG9BY2Nlc3NDaGFpbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUG9seVByb3RvQWNjZXNzQ2hhaW4pOworCitwdWJs
aWM6CisgICAgUG9seVByb3RvQWNjZXNzQ2hhaW4oUG9seVByb3RvQWNjZXNzQ2hhaW4mKSA9IGRl
ZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hlbiBpbnZhbGlkLgorICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9i
amVjdCosIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiwgYm9vbCYgdXNlc1BvbHlQ
cm90byk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4g
Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBi
b29sJiB1c2VzUG9seVByb3RvKTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8
UG9seVByb3RvQWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8
U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jaGFpbjsgfQorCisgICAgdm9p
ZCBkdW1wKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7
CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVy
KSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUG9seVByb3RvQWNjZXNzQ2hhaW4m
IG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOwor
ICAgIH0KKworICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Owor
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmM+CisgICAgdm9pZCBmb3JFYWNoKFN0cnVjdHVy
ZSogYmFzZVN0cnVjdHVyZSwgY29uc3QgRnVuYyYgZnVuYykgY29uc3QKKyAgICB7CisgICAgICAg
IGJvb2wgYXRFbmQgPSAhbV9jaGFpbi5zaXplKCk7CisgICAgICAgIGZ1bmMoYmFzZVN0cnVjdHVy
ZSwgYXRFbmQpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFpbi5zaXpl
KCk7ICsraSkgeworICAgICAgICAgICAgYXRFbmQgPSBpICsgMSA9PSBtX2NoYWluLnNpemUoKTsK
KyAgICAgICAgICAgIGZ1bmMobV9jaGFpbltpXSwgYXRFbmQpOworICAgICAgICB9CisgICAgfQor
Citwcml2YXRlOgorICAgIFBvbHlQcm90b0FjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAg
Ly8gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBiYXNlLiBXZSByZWx5IG9uIEFjY2Vzc0Nhc2Ug
cHJvdmlkaW5nIGl0IGZvciB1cy4gVGhhdCBzYWlkLCB0aGlzIGRhdGEKKyAgICAvLyBzdHJ1Y3R1
cmUgaXMgdGllZCB0byB0aGUgYmFzZSB0aGF0IGl0IHdhcyBjcmVhdGVkIHdpdGguCisgICAgVmVj
dG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IAorfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNB
Y2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4LDQxIEBAIEFjY2Vzc0dlbmVy
YXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoY2FzZXNUb0FkZC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpNYWRlTm9DaGFuZ2Vz
OwogCisgICAgYm9vbCBzaG91bGRSZXNldCA9IGZhbHNlOworICAgIGF1dG8gY29uc2lkZXJQb2x5
UHJvdG9SZXNldCA9IFsmXSAoU3RydWN0dXJlKiBhLCBTdHJ1Y3R1cmUqIGIpIHsKKyAgICAgICAg
aWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAg
ICAgICAvLyBGb3Igbm93LCB3ZSBvbmx5IHJlc2V0IGlmIHRoaXMgaXMgb3VyIGZpcnN0IHRpbWUg
aW52YWxpZGF0aW5nIHRoaXMgd2F0Y2hwb2ludC4KKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgcHJvYmFibHkgaGF2ZSBhbGwgdGhhdCBjYW4gd2F0Y2ggZm9yIHRoZSBwb2x5IHByb3Rv
CisgICAgICAgICAgICAvLyB3YXRjaHBvaW50IGRvIGl0LiBUaGlzIHdpbGwgYWxsb3cgc3R1YnMg
dG8gY2xlYXIgb3V0IHRoZWlyIG5vbi1wb2x5LXByb3RvCisgICAgICAgICAgICAvLyBJQyBjYXNl
cy4gVGhpcyBpcyBsaWtlbHkgdG8gYmUgZmFzdGVyIGlmIHlvdSBidWlsZCB1cCBhIGJ1bmNoIG9m
IElDcywgdGhlbgorICAgICAgICAgICAgLy8gdHJpZ2dlciBwb2x5IHByb3RvLCB0aGVuIG9ubHkg
YWNjZXNzIHBvbHkgcHJvdG8gb2JqZWN0cy4gSWYgd2UgZG8gdGhpcywgd2UnbGwKKyAgICAgICAg
ICAgIC8vIG5lZWQgdGhpcyBjb2RlIGJlbG93IHRvIGRlbGF5IGZpcmluZyB0aGUgd2F0Y2hwb2lu
dCBzaW5jZSBpdCBtaWdodCBjYXVzZQorICAgICAgICAgICAgLy8gdXMgdG8gZGVhbGxvY2F0ZSBv
dXJzZWx2ZXM6CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3NzY1CisgICAgICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVk
UG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQoKS5nZXQoKSk7CisgICAgICAgICAgICBzaG91bGRSZXNldCB8PSBhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmhhc0JlZW5JbnZhbGlkYXRl
ZCgpOyAKKyAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9p
bnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90
byBvcHRpbWl6YXRpb24gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICB9CisgICAgfTsKKworICAg
IGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgeworICAgICAgICBmb3IgKGF1dG8m
IGV4aXN0aW5nQ2FzZSA6IG1fbGlzdCkgeworICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gY2Fz
ZVRvQWRkLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGV4aXN0aW5n
Q2FzZS0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBjb25zaWRlclBvbHlQcm90b1Jlc2V0KGEs
IGIpOworICAgICAgICB9CisgICAgfQorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjYXNl
c1RvQWRkLnNpemUoKTsgKytpKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaiA9IGkgKyAxOyBq
IDwgY2FzZXNUb0FkZC5zaXplKCk7ICsraikgeworICAgICAgICAgICAgU3RydWN0dXJlKiBhID0g
Y2FzZXNUb0FkZFtpXS0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBj
YXNlc1RvQWRkW2pdLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIGNvbnNpZGVyUG9seVByb3Rv
UmVzZXQoYSwgYik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoc2hvdWxkUmVzZXQpCisg
ICAgICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpSZXNldFN0dWI7CisKICAgICAv
LyBOb3cgYWRkIHRoaW5ncyB0byB0aGUgbmV3IGxpc3QuIE5vdGUgdGhhdCBhdCB0aGlzIHBvaW50
LCB3ZSB3aWxsIHN0aWxsIGhhdmUgb2xkIGNhc2VzIHRoYXQKICAgICAvLyBtYXkgYmUgcmVwbGFj
ZWQgYnkgdGhlIG5ldyBvbmVzLiBUaGF0J3MgZmluZS4gV2Ugd2lsbCBzb3J0IHRoYXQgb3V0IHdo
ZW4gd2UgcmVnZW5lcmF0ZS4KICAgICBmb3IgKGF1dG8mIGNhc2VUb0FkZCA6IGNhc2VzVG9BZGQp
IHsKQEAgLTMzOSw3ICszNzQsNyBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGlj
QWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNjZXNzSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAg
ICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBtX2xpc3Q6ICIsIGxpc3REdW1wKG1fbGlzdCks
ICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSk7CisgICAg
QWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtLCBjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
KTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7CiAgICAgc3RhdGUuc3R1YkluZm8gPSAmc3R1
YkluZm87CkBAIC01OTAsNiArNjI1LDkgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFt
JiBvdXQsIEFjYwogICAgIGNhc2UgQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6R2VuZXJhdGVkRmlu
YWxDb2RlOgogICAgICAgICBvdXQucHJpbnQoIkdlbmVyYXRlZEZpbmFsQ29kZSIpOwogICAgICAg
ICByZXR1cm47CisgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpSZXNldFN0dWI6Cisg
ICAgICAgIG91dC5wcmludCgiUmVzZXRTdHViIik7CisgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNB
Y2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsOCBAQCBwdWJsaWM6CiAgICAgICAg
IEdhdmVVcCwKICAgICAgICAgQnVmZmVyZWQsCiAgICAgICAgIEdlbmVyYXRlZE5ld0NvZGUsCi0g
ICAgICAgIEdlbmVyYXRlZEZpbmFsQ29kZSAvLyBHZW5lcmF0ZWQgc28gbXVjaCBjb2RlIHRoYXQg
d2UgbmV2ZXIgd2FudCB0byBnZW5lcmF0ZSBjb2RlIGFnYWluLgorICAgICAgICBHZW5lcmF0ZWRG
aW5hbENvZGUsIC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZlciB3YW50IHRv
IGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAgICAgIFJlc2V0U3R1YiAvLyBXZSBmb3VuZCBvdXQg
c29tZSBkYXRhIHRoYXQgbWFrZXMgdXMgd2FudCB0byBzdGFydCBvdmVyIGZyZXNoIHdpdGggdGhp
cyBzdHViLiBDdXJyZW50bHksIHRoaXMgaGFwcGVucyB3aGVuIHdlIGRldGVjdCBwb2x5IHByb3Rv
LgogICAgIH07CiAgICAgCiAgICAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCgpCkBAIC05OCw2ICs5
OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGJ1ZmZlcmVkKCkgY29uc3QgeyByZXR1cm4gbV9raW5k
ID09IEJ1ZmZlcmVkOyB9CiAgICAgYm9vbCBnZW5lcmF0ZWROZXdDb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9raW5kID09IEdlbmVyYXRlZE5ld0NvZGU7IH0KICAgICBib29sIGdlbmVyYXRlZEZpbmFs
Q29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBHZW5lcmF0ZWRGaW5hbENvZGU7IH0KKyAg
ICBib29sIHNob3VsZFJlc2V0U3R1YigpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBSZXNldFN0
dWI7IH0KICAgICAKICAgICAvLyBJZiB3ZSBnYXZlIHVwIG9uIHRoaXMgYXR0ZW1wdCB0byBnZW5l
cmF0ZSBjb2RlLCBvciBpZiB3ZSBnZW5lcmF0ZWQgdGhlICJmaW5hbCIgY29kZSwgdGhlbiB3ZQog
ICAgIC8vIHNob3VsZCBnaXZlIHVwIGFmdGVyIHRoaXMuCkBAIC0xNzEsMTQgKzE3MywxNiBAQCBw
cml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSB7Ci0gICAgQWNjZXNz
R2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICA6IG1fdm0odm0pIAorICAg
ICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKICAgICAgICAgLCBtX2NhbGN1bGF0
ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0aW9uSGFuZGxpbmcoZmFsc2UpCiAgICAgICAgICwg
bV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lmRXhjZXB0aW9uKGZhbHNlKQogICAgICAgICAsIG1f
Y2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFsc2UpCiAgICAgewogICAgIH0KICAgICBWTSYgbV92
bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7CiAgICAgQ0NhbGxIZWxwZXJz
KiBqaXQgeyBudWxscHRyIH07CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yKiBhbGxvY2F0
b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpQcmVzZXJ2ZWRTdGF0ZSBwcmVzZXJ2
ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCShyZXZpc2lvbiAyMjI3MTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDcsMTQgKzEwNywzMCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9u
Ojppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0K
IAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFi
bHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5
cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAg
IC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQorCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1
Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSk7CiAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0
ICE9IGludmFsaWRPZmZzZXQpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbklu
dGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVz
ZSB0aGUgcHJvcGVydHkgZXhpc3RzIGF0IG9mZnNldDogIiwgY3VycmVudE9mZnNldCwgIlxuIik7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAg
IGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlwZSgpKSB7
CisKKyAgICAgICAgSlNPYmplY3QqIGN1cnJlbnRQcm90b3R5cGU7CisgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmhhc01vbm9Qcm90bygpKQorICAgICAgICAgICAgY3VycmVudFByb3RvdHlwZSA9IHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoYmFzZSk7CisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBl
ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KCpzdHJ1Y3R1cmUtPnZtKCksIGJhc2UtPmdldFBy
b3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjdXJyZW50UHJvdG90
eXBlICE9IHByb3RvdHlwZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25J
bnRlcm5hbDo6dmVyYm9zZSkgewogICAgICAgICAgICAgICAgIGRhdGFMb2coCiAgICAgICAgICAg
ICAgICAgICAgICJJbnZhbGlkIGJlY2F1c2UgdGhlIHByb3RvdHlwZSBpcyAiLCBzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpLCAiIGV2ZW4gdGhvdWdoICIKQEAgLTE0NSw2ICsxNjEsMTQgQEAg
Ym9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBw
cm90b3R5cGUoKSkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFi
bGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFi
bGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFz
ZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQp
CitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBt
X3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQp
CiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNj
ZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwg
dHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxT
ZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFi
bGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hh
aW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJs
ZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMg
KzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDog
cHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNl
OworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0Lmdl
dCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShW
TSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQ
cm90b0FjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0
cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVy
ZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vz
c0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDggQEAgUHV0QnlJZFN0YXR1cyBQ
dXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7Cisg
ICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsKICAgICAgICAgICAgIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3Bw
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3Ry
dWN0dXJlU3R1YkluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMxLDExIEBAIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVj
dHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJIYWQg
c3R1YiwgcmVzdWx0OiAiLCByZXN1bHQsICJcbiIpOwogCisgICAgICAgIGlmIChyZXN1bHQuc2hv
dWxkUmVzZXRTdHViKCkpIHsKKyAgICAgICAgICAgIHJlc2V0KGNvZGVCbG9jayk7CisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisKICAgICAgICAgaWYgKCFyZXN1bHQuYnVm
ZmVyZWQoKSkgewogICAgICAgICAgICAgYnVmZmVyZWRTdHJ1Y3R1cmVzLmNsZWFyKCk7CiAgICAg
ICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTUyLDYgKzE1NywxMSBAQCBBY2Nlc3NHZW5lcmF0
aW9uUmVzdWx0IFN0cnVjdHVyZVN0dWJJbmZvCiAgICAgICAgIGlmIChTdHJ1Y3R1cmVTdHViSW5m
b0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAgZGF0YUxvZygiQ3JlYXRlZCBzdHViLCBy
ZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRSZXNl
dFN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgp
KSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NDQs
NiArMzc0NCwxMSBAQCBOb2RlKiBCeXRlQ29kZVBhcnNlcjo6bG9hZCgKICAgICAgICAgICAgICAg
ICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKSBhZ3JlZSBv
biB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBiZQogICAgICAgICAgICAgICAgIC8vIGhpbGFyaW91
c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBOb3RlIHRoYXQgd2UgYXJlIHJlbHlpbmcgb24gc3Ry
dWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAgICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIGVsZW1l
bnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1ZSBoZXJlIGJlY2F1c2Ugb2YgaG93IEdldEJ5SWRT
dGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgorCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IHJp
Z2h0IG5vdywgaWYgd2UgaGF2ZSBhbiBPUENTLCB3ZSBoYXZlIG1vbm8gcHJvdG8uIEhvd2V2ZXIs
IHRoaXMgd2lsbAorICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUg
ZnV0dXJlIG9uY2Ugd2UgaGF2ZSBhIGh5YnJpZCBkYXRhIHN0cnVjdHVyZSBmb3IKKyAgICAgICAg
ICAgICAgICAvLyBwb2x5IHByb3RvOgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKICAgICAgICAgICAgICAgICBKU09iamVj
dCogcHJvdG90eXBlID0gdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKVswXS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCk7CiAgICAgICAgICAgICAgICAgYm9vbCBhbGxBZ3JlZSA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHZhcmlhbnQuc3RydWN0dXJlU2V0KCku
c2l6ZSgpOyArK2kpIHsKQEAgLTQzNDEsMTIgKzQzNDYsMTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJh
cmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQp
LCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUo
c3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJs
ZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0IGhlcmU6CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6
aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRo
aXMgcG9pbnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9t
LCBjYWxsZWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0
LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGgu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3Bw
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2Fu
RG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3Rv
dHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2RlLT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+
YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29sIGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1f
c3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewot
ICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQ
cm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpCisg
ICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90
eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAg
ICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVy
YXRvclN5bWJvbC5pbXBsKCkpID09IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1
Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDQsNyArMjQ0LDExIEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVh
dGVUaGkKICAgICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewog
ICAgICAgICBhdXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3Rvcikt
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVj
dChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkp
OworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1
cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0
cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0
b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChl
eGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MjkyLDcgKzQyOTIsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFu
Y2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJh
cmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAg
IG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9u
UmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAg
ICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6
WmVybywgYWxsb2NhdG9yR1BSKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVz
dWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0
cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9h
ZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9m
UmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5
VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcg
cHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJl
ZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQg
cHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpT
VmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpA
QCAtMzI0OSw4ICszMjQ5LDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5j
ZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4
KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQ
cm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0o
KSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQ
dHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5
cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQu
ZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBz
Y3JhdGNoMlJlZyk7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0
KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0byBpc01vbm9Qcm90byA9IG1faml0LmJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRD
b21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6
VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNS
ZWcpOworICAgIGlzTW9ub1Byb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5tb3ZlKHNjcmF0
Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKyNlbHNlCisgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsg
VGFnT2Zmc2V0KSwgc2NyYXRjaDJSZWcpOworICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFBh
eWxvYWRPZmZzZXQpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0byBpc01vbm9Qcm90byA9IG1faml0
LmJyYW5jaDMyKENDYWxsSGVscGVyczo6Tm90RXF1YWwsIHNjcmF0Y2gyUmVnLCBUcnVzdGVkSW1t
MzIoSlNWYWx1ZTo6SW50MzJUYWcpKTsKKyAgICBtX2ppdC5sb2FkMzIoSklUQ29tcGlsZXI6OkJh
c2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQs
IEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSArIFBheWxvYWRPZmZzZXQpLCBzY3Jh
dGNoM1JlZyk7CisgICAgaXNNb25vUHJvdG8ubGluaygmbV9qaXQpOworICAgIG1faml0Lm1vdmUo
c2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworI2VuZGlmCisKICAgICBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwg
c2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0
LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2pp
dCk7CkBAIC0zMzgxLDEwICszMzk2LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMs
IG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAg
ICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9
IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdw
cigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAg
ICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUu
anNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVS
ZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDExLDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmso
Jm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5v
ZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAg
ICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlw
ZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAg
ICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDI0LDE1IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jh
cnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9
IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7
CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3Jh
dGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0
Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZh
bHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21w
aWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5S
ZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAg
LTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBo
b2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3Bl
Y3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAg
dm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBH
UFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNj
cmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBH
UFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVz
dWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9p
ZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1
c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1
MywxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2Fz
ZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5u
ZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5u
ZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5u
ZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdC
bG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1f
b3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAg
ICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5
NzQsMTYgKzg5NzYsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2lu
YWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsK
ICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJl
Y3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAg
ICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAg
ICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMu
SlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAg
IG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSks
Ci0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVs
dEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0
cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBw
ZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291
dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExW
YWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1
cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVy
ZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9h
ZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFs
dWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7
CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9h
ZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQu
YXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1
ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJ
TlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hv
cigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9w
ZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6
Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQ
cm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5v
dFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5w
aGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21C
bG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsK
ICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFBy
b3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2RlczMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMzMl82NC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDgg
KzI0OCwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAg
ICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNlbGwgaW4gcmVnVDIuICBJZiB0aGlzIGlz
IGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUg
aGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBn
byBhZ2Fpbi4KLSAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksIHJlZ1QyKTsKLSAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXls
b2FkKSksIHJlZ1QyKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIEpTQ2VsbDo6c3RydWN0
dXJlSURPZmZzZXQoKSksIHJlZ1Q0KTsKKyAgICBsb2FkMzIoQWRkcmVzcyhyZWdUNCwgU3RydWN0
dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFRhZ09mZnNldCksIHJlZ1QzKTsKKyAgICBsb2FkMzIo
QWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFBheWxvYWRPZmZz
ZXQpLCByZWdUNCk7CisgICAgYXV0byBpc01vbm9Qcm90byA9IGJyYW5jaDMyKE5vdEVxdWFsLCBy
ZWdUMywgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkludDMyVGFnKSk7CisgICAgbG9hZDMyKEJhc2VJ
bmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0
b3JhZ2UoKSArIFBheWxvYWRPZmZzZXQpLCByZWdUNCk7CisgICAgaXNNb25vUHJvdG8ubGluayh0
aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJh
bmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGJyYW5jaFRlc3QzMihOb25aZXJvLCBy
ZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9h
ZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFs
IHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51
bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fp
bi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0g
ICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBy
ZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMp
OworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgp
KSwgcmVnVDQpOworICAgIGF1dG8gaGFzTW9ub1Byb3RvID0gYnJhbmNoSWZOb3RJbnQzMihKU1Zh
bHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7Cisg
ICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0Ojpv
ZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBoYXNNb25vUHJvdG8ubGluayh0
aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJh
bmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwocmVnVDIp
LmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0
Y2guY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGlu
ZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
KyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmlzVW5z
ZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgIGlm
IChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNsb3RCYXNlKCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0y
NTUsMjMgKzI1NywzNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlE
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAg
ICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09i
amVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAg
ICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYmIHN0cnVjdHVyZS0+dHlwZUluZm8oKS5nZXRPd25Q
cm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgpKQogICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkp
IHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQ
cm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0
cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBz
dHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlO
YW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlm
ICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hh
aW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsK
KyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBl
IHByb3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRP
ZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAg
ICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisg
ICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAg
ICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRp
dGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1l
LmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
Y29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQo
CisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUs
IHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5p
bXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0
aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgp
ID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAg
ICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAg
ICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9j
aywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFy
Z2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5F
bWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nh
c2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53
YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAg
fSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0
dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkg
JiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0
eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNr
IG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3Vs
ZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlw
ZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IElu
dHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hl
ZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxz
ZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZh
bHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJv
eHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8g
QWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAg
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNs
b3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0
KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAg
ICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9p
bnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6
IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/
IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJp
YnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2
LDYgKzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgp
OwogCiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxl
UHV0KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhp
c3RpbmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUt
PmlzRGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2Jq
ZWN0KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtp
bmQgPT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAg
ICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAot
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJl
LCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFs
aWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIG51bGxwdHIsIHVzZXNQb2x5UHJv
dG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBw
cm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAg
ICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwo
KSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAg
ICAgIH0KKwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCk7CisgICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRl
KHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfSBl
bHNlIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgc2xvdC5pc0NhY2hlYWJsZVNldHRl
cigpKSB7CiAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsKICAgICAgICAg
ICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKKyAgICAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hh
aW47CiAKICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNv
bmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwo
KSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAg
ICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAg
ICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50Lmlt
cGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgbmV3Q2FzZSA9IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBz
bG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVy
IDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNl
dCwgY29uZGl0aW9uU2V0LAotICAgICAgICAgICAgICAgIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9t
QWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2Fz
ZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNldCwKKyAgICAgICAg
ICAgICAgICBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pLCBzbG90
LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2UoKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7Ci0gICAgICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQ7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICAgICAg
aWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2Vz
UG9seVByb3RvOworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVBy
b3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VD
ZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFs
aWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBjb25kaXRp
b25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKLSAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAg
ICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAg
ICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRl
Q29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50
LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAg
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xv
dEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpj
cmVhdGUoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVy
LCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwg
Y29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRp
b25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0K
IApAQCAtNTE3LDE1ICs1NzEsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0
Y2hJbigKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAod2FzRm91bmQpIHsKICAgICAgICAg
aWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRl
bnQuaW1wbCgpKTsKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAg
IHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8v
IEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBs
KCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY29u
ZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9s
eVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJh
c2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0No
YWluKSB7CisgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAg
ICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKQEAgLTUzMyw3ICs2MDcsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVw
YXRjaEluKAogICAgIExPR19JQygoSUNFdmVudDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpZGVudCkpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdh
c0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRP
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywg
d2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxp
ZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKIAogICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8u
YWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNvZGVCbG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkp
OwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjcsNiArNjY3LDI0IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfYnlfaWQKICAgICAgICAgJiYgYmFz
ZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGUoKSkgewogCisgICAg
ICAgIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVjdHVyZUlEID0gcGNbNF0udS5z
dHJ1Y3R1cmVJRDsKKyAgICAgICAgICAgIGlmIChvbGRTdHJ1Y3R1cmVJRCkgeworICAgICAgICAg
ICAgICAgIGF1dG8gb3Bjb2RlID0gSW50ZXJwcmV0ZXI6OmdldE9wY29kZUlEKHBjWzBdKTsKKyAg
ICAgICAgICAgICAgICBpZiAob3Bjb2RlID09IG9wX2dldF9ieV9pZAorICAgICAgICAgICAgICAg
ICAgICB8fCBvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkX3Vuc2V0CisgICAgICAgICAgICAgICAgICAg
IHx8IG9wY29kZSA9PSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZCkgeworICAgICAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3Ry
dWN0dXJlSUQpOworICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFsdWUu
YXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVj
dHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgp
LmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJv
dG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVk
IHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgSlNDZWxs
KiBiYXNlQ2VsbCA9IGJhc2VWYWx1ZS5hc0NlbGwoKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBiYXNlQ2VsbC0+c3RydWN0dXJlKCk7CiAgICAgICAgIGlmIChzbG90LmlzVmFsdWUo
KSAmJiBzbG90LnNsb3RCYXNlKCkgPT0gYmFzZVZhbHVlKSB7CkBAIC03MzcsNiArNzU1LDIyIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgJiYgYmFz
ZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogCisK
KyAgICAgICAgeworICAgICAgICAgICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0
XS51LnN0cnVjdHVyZUlEOworICAgICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAg
ICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0
KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFs
dWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisgICAgICAgICAgICAgICAgaWYgKHNsb3QudHlw
ZSgpID09IFB1dFByb3BlcnR5U2xvdDo6TmV3UHJvcGVydHkpCisgICAgICAgICAgICAgICAgICAg
IGIgPSBiLT5wcmV2aW91c0lEKCk7CisKKyAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpz
aG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgYS0+
cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBT
dHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3Rv
IG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKwogICAgICAgICAvLyBTdGFydCBvdXQgYnkgY2xlYXJpbmcgb3V0IHRoZSBvbGQgY2Fj
aGUuCiAgICAgICAgIHBjWzRdLnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9sZCBzdHJ1Y3R1cmUK
ICAgICAgICAgcGNbNV0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2Zmc2V0CkBAIC03NjAsMTYg
Kzc5NCwxNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAgICAg
ICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpICYmIHN0cnVjdHVyZS0+
cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpID09IHN0cnVjdHVyZS0+b3V0T2ZMaW5l
Q2FwYWNpdHkoKSkgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2
aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwog
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBz
dHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFpbikgeworICAgICAgICAgICAgICAgICAg
ICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBhdXRvIHJl
c3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2VDZWxsLCBzYXdQb2x5UHJv
dG8pOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbiAmJiAhc2F3UG9seVByb3RvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pZCgp
OwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRP
ZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0dXJlSUQgPSBz
dHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShwY1s4XS51LnB1
dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4
ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9
IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNlbGwpKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVCbG9jaywgY2hh
aW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
cGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+KAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90
eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0
aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBhdXRvJiB2bSA9
IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAKIHN0YXRpYyBK
U1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpT
U3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2MDksNyBAQCBz
dGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAoaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAg
ICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC02
MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQog
ICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVtYmVyKHZhbHVl
KSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25U
b0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAgICAgICAgICAg
IGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAg
aG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtODE2LDcgKzgx
NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAg
aWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRhdGEoKTsKLSAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRh
ICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsK
QEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXNE
b3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAm
JiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAg
ICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6
OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0gKnRoaXNPYmpl
Y3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IHN0
b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0
b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRo
aXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAgICAgIHN0ZDo6
cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTExNzYsNyArMTE3NSw3IEBAIHN0YXRp
YyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0
b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0dXJlKCktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VMWSghaGFzQW55
QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHNv
dXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlKSB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50
cy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0OSw5IEBAIENs
b25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJl
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUt
Pm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CiAgICAgICAgIGJ1dHRlcmZs
eSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3RydWN0dXJlLCBs
ZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkt
Pm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7Ci0KICAgICB9IGVsc2UgewogICAg
ICAgICBJbmRleGluZ0hlYWRlciBpbmRleGluZ0hlYWRlcjsKICAgICAgICAgaW5kZXhpbmdIZWFk
ZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxlbmd0aCk7CkBAIC04MSw3ICs4MCw3IEBAIENsb25l
ZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGll
bnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0
IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8g
dGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyog
cmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xv
bmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NF
UlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3Vt
ZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVy
ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5
cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6
Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFy
Z2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJl
c3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0
ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENsb25lZEFyZ3Vt
ZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwg
YXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4IEBAIFNMT1df
UEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RF
bXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQ
b2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUt
PnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9u
KHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJu
YXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0
b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVj
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAy
MjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFi
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVj
dXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52
aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3Vu
bGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5n
bGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQ
b2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNzEyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEw
LCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRhYmxlLmgiCiAjaW5jbHVkZSAiU291cmNlQ29kZS5oIgorI2luY2x1ZGUgPHd0Zi9C
b3guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTE3Miw2ICsxNzMsMTggQEAgcHVibGljOgog
ICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9u
KCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8vIENhY2hlZCBw
b2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3RpbmcgdGhpcyBl
eGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkgeyBy
ZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENh
Y2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKSB7IG1f
Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsgfQorCisg
ICAgSW5saW5lV2F0Y2hwb2ludFNldCYgZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpCisgICAg
eworICAgICAgICBpZiAoIW1fcG9seVByb3RvV2F0Y2hwb2ludCkKKyAgICAgICAgICAgIG1fcG9s
eVByb3RvV2F0Y2hwb2ludCA9IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pjo6Y3JlYXRlKElzV2F0
Y2hlZCk7CisgICAgICAgIHJldHVybiAqbV9wb2x5UHJvdG9XYXRjaHBvaW50OworICAgIH0KKwor
ICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkg
Y29uc3QgeyByZXR1cm4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OyB9CiAKIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIEV4ZWN1dGFibGVCYXNlOwpAQCAtMTg5LDYgKzIwMiw4IEBAIHByaXZhdGU6
CiAgICAgV3JpdGVCYXJyaWVyPEZ1bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0
cnVjdDsKICAgICBSZWZQdHI8VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAg
IFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOworICAgIEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7
CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjpp
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHks
IEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxl
KHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0
cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiBy
ZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVE
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAg
dm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9p
ZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiog
Y29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlh
bGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5Niwx
MyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVy
ZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0
ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0
b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxs
ZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNNb25vUHJvdG8oKSk7CisKICAgICAv
LyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQg
ZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9
IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03MzgsNyArNzM4LDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFz
dFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBB
cnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAg
ICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1J
Tl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xv
YmFsT2JqZWN0KCk7CkBAIC03NzMsNyArNzczLDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xl
cyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBn
ZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhh
c0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8
fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5
cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTA0LDcgKzkwNCw3IEBAIGJvb2wg
SlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0
byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNv
IHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcg
YW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2Rl
LgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYg
KHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsK
KyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5k
ZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZs
eS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVO
TElLRUxZKCF2KSkgewpAQCAtOTQ1LDcgKzk0NSw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3Vu
dFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMg
YmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0
IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3
ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25l
ZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsK
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkg
ewogICAgICAgICAgICAgICAgIGRvdWJsZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzRG91Ymxl
KClbaSArIGNvdW50XTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpA
QCAtMTI5Miw3ICsxMjkyLDcgQEAgYm9vbCBKU0FycmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0
QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3Rv
dHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZp
c2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5s
aW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw4ICs2NCw4IEBAIGlubGluZSBib29sIEpTQXJy
YXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdhdGNocG9pbnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBv
biBBcnJheS5wcm90b3R5cGUgYW5kIE9iamVjdC5wcm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9m
IHdhbGtpbmcgdGhlIHByb3RvdHlwZSBjaGFpbi4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NTU5MgotICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0pCi0gICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJB
cnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhl
ckFycmF5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1
bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAg
b3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAg
IG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxs
KCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4
dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChT
dHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFz
Q2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1
cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAg
IG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwog
I2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVl
Iik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IkFzeW5jR2VuZXJhdG9yUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCisj
aW5jbHVkZSAiQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkNsb25lZEFyZ3VtZW50cy5oIgogI2lu
Y2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvbW1vbklkZW50aWZpZXJzLmgiCkBAIC0x
MjYsMTYgKzEyNywyNCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJh
CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9u
Ojpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CisgICAgQVNT
RVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4Y2VwdGlvbigpKTsKKyAgICBpZiAocHJvdG90eXBl
LmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAg
cmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlv
blJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVj
U3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFy
ZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlw
ZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlz
LT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5
cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9u
UmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICBy
YXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFk
IG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBl
bnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTgs
OCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNT
RVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVj
dCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAg
ICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9y
YXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmlu
aXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0
KCk7CiB9CiAKQEAgLTM3MSw3ICszNzcsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3Bl
cnR5U2xvdChKU09iCiAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RP
ZmZzZXQodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgICAgICBBU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAg
ICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0
RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0
OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3Rh
dGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0
aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVk
LgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUq
KTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlv
bkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2
LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChz
dHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxP
YmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBn
bG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNN
YXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmpl
Y3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBi
b29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUs
IGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAg
ICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkgewot
ICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUlu
dGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOworICAgICAg
ICAgICAgICAgIEFTU0VSVCh0aGlzLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8o
dm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOwogICAgICAgICAgICAgICAgIHJldHVy
biB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJh
bChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICAgICAgfQogCkBAIC0xMDE1
LDcgKzEwMTUsNyBAQCBCdXR0ZXJmbHkqIEpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhlCiAg
ICAgQVNTRVJUKGxlbmd0aCA8PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKTsKICAgICBJbmRl
eGluZ1R5cGUgb2xkVHlwZSA9IGluZGV4aW5nVHlwZSgpOwogICAgIEFTU0VSVF9VTlVTRUQob2xk
VHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5cGUpKTsKLSAgICBBU1NFUlQoIXN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICBBU1NFUlQoIW5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWdu
ZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAg
LTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3Rv
cmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0
dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1
dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdC
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3Ry
dWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9s
ZFN0cnVjdHVyZSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKICAgICBudWtl
U3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5
KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRV
bmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJy
YXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlT
dG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNEb3VibGVzIEpT
T2JqZWN0Ojpjb252ZXJ0SW50MzJUb0RvdWJsZShWTSYgdm0pCkBAIC0xMjY0LDcgKzEyNjQsNyBA
QCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FyCiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRv
QXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQog
CiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMo
Vk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29u
dmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9B
cnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0
b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVk
QXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6
Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNp
dGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0
Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENv
bnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5
U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogdm9p
ZCBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZEZvclZhbHVlKFZNJiB2bSwgSlNWYWx1ZSB2YWx1
ZSkKQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5z
dXJlSW50MzIKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVz
KCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAK
QEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVE
b3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExf
QkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3Vs
ZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisg
ICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsK
ICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAg
LTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29u
dGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxB
TktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAg
ICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAg
ICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQ29udGlndW91cyh2bSwgMCk7CiAgICAgICAgIApA
QCAtMTU0MCwyMiArMTU0MCwyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhCiAgICAgICAgIAogICAgIGNhc2UgQUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NF
UlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVj
aWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
LSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
KyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJu
IGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExf
RE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVT
cGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
ICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdl
KHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzMsMTQgKzE2MzMsMTcgQEAgdm9p
ZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIGlmIChwcm90b3R5cGUu
aXNPYmplY3QoKSkKICAgICAgICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZShhc09iamVj
dChwcm90b3R5cGUpKTsKICAgICAKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90
eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7Ci0gICAgCi0gICAgaWYg
KCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5z
aXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7CisgICAgICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcHV0RGlyZWN0KHZtLCBz
dHJ1Y3R1cmUodm0pLT5wb2x5UHJvdG9PZmZzZXQoKSwgcHJvdG90eXBlKTsKKworICAgIGlmICgh
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICBy
ZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkg
ewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0p
OworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZt
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1NCw4IEBAIEpT
VmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3Vy
ZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0
J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+
c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZv
ckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlz
OyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRj
aGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFs
dWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MzAsNyBA
QCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICBy
ZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAg
ICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3Jh
Z2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmco
KSkgewogICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xv
d1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3Jh
Z2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAg
ICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJv
dyk7CkBAIC0yODc4LDcgKzI4ODIsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNs
b3dPckJleW9uCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JM
ZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBh
dHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAg
fQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewor
ICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAgICAgICAgQXJyYXlT
dG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVj
dG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX3ZlY3Rv
cltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFs
dWVzSW5WZWN0b3IrKzsKQEAgLTM1NTgsNyArMzU2Miw3IEBAIHVpbnQzMl90IEpTT2JqZWN0Ojpn
ZXRFbnVtZXJhYmxlTGVuZ3RoKEUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwotICAgIGlmIChzdHJ1
Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVy
ZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQogICAgICAgICByZXR1
cm4gMDsKICAgICBzd2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFM
TF9CTEFOS19JTkRFWElOR19UWVBFUzoKQEAgLTM2NjgsNCArMzY3Miw1NiBAQCBKU1ZhbHVlIEpT
T2JqZWN0OjpnZXRNZXRob2QoRXhlY1N0YXRlKiBlCiAgICAgcmV0dXJuIG1ldGhvZDsKIH0KIAor
Ym9vbCBKU09iamVjdDo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpIGNvbnN0Cit7CisgICAgVk0mIHZtID0gKnRoaXMtPnZtKCk7CisgICAgZm9yIChjb25zdCBK
U09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFz
T2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0Ojpwcm90b3R5cGVD
aGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
KQoreworICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCisgICAgICAgIHJldHVybiBh
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgCisgICAg
Zm9yIChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAg
ICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgICAgICAKKyAgICAgICAgdW5z
aWduZWQgYXR0cmlidXRlczsKKyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVu
dC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAg
ICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIAorICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQor
Citib29sIEpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBnbG9i
YWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOworfQorCitOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gSlNPYmplY3Q6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAorewor
ICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAgICAgICByZXR1cm4gTm9uUHJvcGVy
dHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0
dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAi
UHV0RGlyZWN0SW5kZXhNb2RlLmgiCiAjaW5jbHVkZSAiUHV0UHJvcGVydHlTbG90LmgiCiAjaW5j
bHVkZSAiU3RydWN0dXJlLmgiCisjaW5jbHVkZSAiU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgi
CiAjaW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIlNwYXJz
ZUFycmF5VmFsdWVNYXAuaCIKQEAgLTczMyw2ICs3MzQsMTIgQEAgcHVibGljOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGlzRXh0ZW5zaWJsZShKU09iamVjdCosIEV4ZWNTdGF0
ZSopOwogICAgIGJvb2wgaXNTZWFsZWQoVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5p
c1NlYWxlZCh2bSk7IH0KICAgICBib29sIGlzRnJvemVuKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0
dXJlKHZtKS0+aXNGcm96ZW4odm0pOyB9CisKKyAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBi
b29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7
CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OworICAgIE5vblByb3BlcnR5
VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisKIHBy
aXZhdGU6CiAgICAgQUxXQVlTX0lOTElORSBib29sIGlzRXh0ZW5zaWJsZUltcGwoKSB7IHJldHVy
biBpc1N0cnVjdHVyZUV4dGVuc2libGUoKTsgfQogcHVibGljOgpAQCAtODY2LDcgKzg3Myw3IEBA
IHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAg
ICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFBy
b3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVh
cChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmhh
c1BvbHlQcm90bygpIHx8IGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6Omhl
YXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAgICBB
U1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZv
KHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09i
amVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90
eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwog
fQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0
YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2Jq
ZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVy
ZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3Qt
PmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwg
c2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBGSVhNRTogVGhp
cyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoKKyAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3Mgor
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9i
amVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9v
bCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8
fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRo
b2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJv
dG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0g
b2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUg
Ym9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHBy
b3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRo
b2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVy
bmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlu
cXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQ
cm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVj
dDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZh
c3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0s
IHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNo
YWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICgh
dGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFt
ZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAg
aW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgK
ICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4o
KSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJh
dG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4o
ZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3Qg
bnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBpbmxp
bmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJvcGVy
dHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFYKTsKIAotICAgIGJvb2wgc3VjY2Vzc2Z1bGx5Tm9y
bWFsaXplZENoYWluID0gbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAh
PSBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYm9v
bCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihl
eGVjLCBiYXNlLCBzYXdQb2x5UHJvdG8pICE9IEludmFsaWRQcm90b3R5cGVDaGFpbjsKIAogICAg
IGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0
dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHBy
b3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2
bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVu
Z3RoICYmIHN1Y2Nlc3NmdWxseU5vcm1hbGl6ZWRDaGFpbiAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hl
UHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExl
bmd0aCAmJiBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gJiYgYmFzZS0+c3RydWN0dXJlKHZt
KSA9PSBzdHJ1Y3R1cmUpIHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90eXBl
Q2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOworICAgICAg
ICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKKyAgICAg
ICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51
bWVyYXRvcik7CisgICAgfQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgog
ICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAh
PSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURp
cmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMs
OSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlm
ICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZhYmxlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlw
ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpT
T2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYg
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJl
bnRseSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDIzICsxMzYsMzAgQEAgYm9vbCBqc0lzRnVu
Y3Rpb25UeXBlKEpTVmFsdWUgdikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTQ2VsbCogYmFzZSwgYm9vbCYgc2F3UG9seVByb3RvKQogewogICAgIFZNJiB2bSA9IGNh
bGxGcmFtZS0+dm0oKTsKICAgICBzaXplX3QgY291bnQgPSAwOworICAgIHNhd1BvbHlQcm90byA9
IGZhbHNlOworICAgIEpTQ2VsbCogY3VycmVudCA9IGJhc2U7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGNhbGxGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwogICAgIHdo
aWxlICgxKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKTsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAg
cmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKLSAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0
dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKLSAgICAgICAgaWYgKHYuaXNOdWxs
KCkpCisKKyAgICAgICAgc2F3UG9seVByb3RvIHw9IHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7
CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChnbG9iYWxPYmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVs
bCgpKQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwogCi0gICAgICAgIEpTQ2VsbCogYmFzZSA9
IHYuYXNDZWxsKCk7Ci0gICAgICAgIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7Cisg
ICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCk7CisgICAgICAgIHN0cnVjdHVyZSA9
IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlv
bmFyeSgpKSB7CiAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVm
b3JlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKLSAg
ICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2Jq
ZWN0KGJhc2UpKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1
Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKICAgICAgICAgfQogCiAgICAgICAgICsrY291
bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5cGVTdHJp
bmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBib29sIGpzSXNPYmplY3RUeXBlT3JOdWxsKENh
bGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUpOwotc2l6
ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSopOworc2l6
ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIEpTQ2VsbCosIGJvb2wmIHNh
d1BvbHlQcm90byk7CiAKIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0
ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBKU1N0cmluZyogczIpCiB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3
ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2ws
IHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZh
c3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElm
IGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVz
ZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwg
d2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxz
LiIpIFwKICAgICB2KGJvb2wsIHVzZU9iamVjdFJlc3RTcHJlYWQsIHRydWUsIE5vcm1hbCwgIklm
IHRydWUsIHdlIHdpbGwgZW5hYmxlIE9iamVjdCBSZXN0L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAg
ICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYg
dHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4g
SWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUg
dW5kZWNpZGVkLiIpCisgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRy
dWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2Nh
dGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3
YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKVwKKyAgICB2KGJvb2wsIGZvcmNlUG9seVByb3Rv
LCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRl
IGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlv
bkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Rv
dHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0
LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1
c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6
OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZv
KiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVj
dHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBj
b25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRl
eGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtl
UG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHBy
b3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBS
RUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7IC8vIFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUg
SGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1lYW4gcG9seSBwcm90bywgc28gdXNlcidzIG9mIHRo
aXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVsbCBwcm90b3R5cGVzLgorCisgICAgYXV0byBrZXkg
PSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYg
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAg
IGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUo
cHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzUG9s
eVByb3RvKCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0
cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJv
dG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJv
dG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7
CisKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmU7CisgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0
dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90
bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRl
eGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1
cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0
eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3Ry
dWN0dXJlKSk7CisKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEg
QEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdl
IGN1cnJlbnRseSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZv
ciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUg
YSBkZWZhdWx0IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGlu
Z1R5cGUgPSBiYXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3Rv
dHlwZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhh
c0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9
IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFn
ZVNoYXBlOwogCi0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFz
c0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJh
c2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAot
U3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0
U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJv
dG9TdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0
OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwg
SlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQ
b2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogb2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVj
dHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1v
dmUoc3RkOjptYWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
aAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
fQogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RT
dHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlw
ZUZyb21CYXNlU3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUq
KTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9i
YWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19F
WFBPUlRfUFJJVkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBU
cmlTdGF0ZSBpc1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2Vy
dmF0aXZlIGVzdGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlT
dHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBl
SW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkpOworICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5m
byosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQ
cm90b1N0cnVjdHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9w
cm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlw
ZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFz
c0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1
c2luZyBTdHJ1Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2ln
bmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAg
IFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4OCw2ICsxODgsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2Jq
CiAgICAgLCBtX2NsYXNzSW5mbyhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBv
aW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBt
X3Byb3BlcnR5SGFzaCgwKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5
S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTIyMCw2ICsy
MjEsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0pCiAgICAgLCBtX2NsYXNzSW5mbyhp
bmZvKCkpCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAs
IG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQogewogICAg
IHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQ
cm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTI0NywxMCArMjQ5LDExIEBAIFN0cnVjdHVyZTo6U3Ry
dWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJl
U3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxp
bmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0
aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwg
dGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJl
dmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dh
dGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhh
c2gocHJldmlvdXMtPm1fcHJvcGVydHlIYXNoKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKHBy
ZXZpb3VzLT5kaWN0aW9uYXJ5S2luZCgpKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUo
ZmFsc2UpOwpAQCAtMjk2LDYgKzI5OSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0Nl
bGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6
flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90
b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJ
bmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkK
K3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGlu
ZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAor
ICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWUoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSksCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2Vy
JiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7
CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5
KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0
LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAg
ICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOwor
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVz
QW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJl
cywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAg
QVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OSwyNiArNDE5LDE0IEBAIFN0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJp
YnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAg
ICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYg
KGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NFUlQoYmFzZS0+
c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNP
YmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBh
c09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI3LDcgKzQzNSw3IEBAIGJvb2wgU3RydWN0dXJlOjpo
b2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAq
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0
dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09i
amVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09i
amVjdChwcm90b3R5cGUpOwpAQCAtNDM3LDIwICs0NDUsNiBAQCBib29sIFN0cnVjdHVyZTo6aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVybiBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAgfHwgZ2xvYmFs
T2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlUcmFuc2l0aW9u
IFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Ci17Ci0g
ICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBOb25Qcm9wZXJ0
eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAKLSAgICByZXR1
cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKLX0KLQogU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1
dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgKQEAgLTU1Myw2
ICs1NDcsOCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlUcmFuCiAKIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgcHJvdG90eXBlKQogeworICAgIEFTU0VSVChwcm90
b3R5cGUuaXNPYmplY3QoKSB8fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAgICAgRGVmZXJHQyBk
ZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNyZWF0ZSh2bSwg
c3RydWN0dXJlKTsKIApAQCAtMTA2OCwxMSArMTA2NCw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRU
cmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5m
aXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QK
LXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0
KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2Fz
dDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMTAsNyArMTEwMSw3IEBAIGJvb2wgU3RydWN0dXJl
Ojppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBI
ZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAg
ICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50
bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKGhhc1BvbHlQcm90bygp
IHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRs
eShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCiBib29sIFN0cnVjdHVyZTo6bWFya0lm
Q2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0xMTIyLDQwICsxMTEzLDE5IEBAIGJvb2wg
U3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYg
dm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCi17Ci0gICAgaWYgKHBhcnNlSW5kZXgocHJv
cGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKTsKLSAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRo
aXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90
b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxs
KCktPnN0cnVjdHVyZSh2bSk7Ci0gICAgICAgIAotICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVz
OwotICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7Ci0gICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCi0gICAgICAgIGlmIChhdHRy
aWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRl
OjpBY2Nlc3NvcikpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLVJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJl
Ojp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUpCitSZWY8U3RydWN0dXJlU2hhcGU+IFN0
cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlLCBib29sJiBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpCiB7CiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBiYXNlU2hhcGUgPSBTdHJ1
Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CiAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBjdXJTaGFw
ZSA9IGJhc2VTaGFwZS5wdHIoKTsKICAgICBTdHJ1Y3R1cmUqIGN1clN0cnVjdHVyZSA9IHRoaXM7
CiAgICAgSlNWYWx1ZSBjdXJWYWx1ZSA9IHZhbHVlOworICAgIHNhd1BvbHlQcm90b1N0cnVjdHVy
ZSA9IGZhbHNlOwogICAgIHdoaWxlIChjdXJTdHJ1Y3R1cmUpIHsKKyAgICAgICAgc2F3UG9seVBy
b3RvU3RydWN0dXJlIHw9IGN1clN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7CiAgICAgICAgIGN1
clN0cnVjdHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAgWyZd
IChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAg
ICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGlm
ICghUHJvcGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAgICAg
ICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTEzOSwyNCBA
QCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAgY3Vy
U2hhcGUtPm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1
Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3
U2hhcGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFw
ZSk7Ci0gICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAgICAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2Jq
ZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVj
dC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBp
ZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGF1dG8g
bmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBlLT5z
ZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUo
bmV3U2hhcGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAgICAg
Y3VyU3RydWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAgICAg
CiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFs
bG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNp
dHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5
cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlh
bGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQot
CiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91
dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAi
LCB7Iik7CkBAIC0xMjAzLDcgKzExNzEsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1w
KGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2Vs
bCgpKQorICAgIGlmIChoYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQ
cm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zmc2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90
eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAgICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9p
bnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0NlbGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9u
YXJ5S2luZCgpKSB7CkBAIC0xMjg4LDkgKzEyNTgsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2Fj
aGVQcm9wZXJ0eU5hbWVFbnVtCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmdldCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUt
PmdldCgpLT5pc0RpY3Rpb25hcnkoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlO
YW1lcygpKQorICAgICAgICBpZiAoc3RydWN0dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkgfHwg
c3RydWN0dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHN0cnVjdHVyZSsrOwogICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpT
Q2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJh
c2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVt
IFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZv
JiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90
b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5
cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3
ICsxNDAsMTkgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9w
cm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFT
U0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1f
cHJvdG90eXBlLmlzSW50MzIoKSk7CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIGNvbnN0IFN0cnVjdHVyZSogcHJldmlvdXMpCisgICAgeworICAgICAgICB0aGlzLT5m
aW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIGlmIChwcmV2aW91cy0+aGFzUmFyZURhdGEoKSkg
eworICAgICAgICAgICAgY29uc3QgU3RydWN0dXJlUmFyZURhdGEqIHByZXZpb3VzUmFyZURhdGEg
PSBwcmV2aW91cy0+cmFyZURhdGEoKTsKKyAgICAgICAgICAgIGlmIChwcmV2aW91c1JhcmVEYXRh
LT5oYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpIHsKKyAgICAgICAgICAgICAgICBlbnN1
cmVSYXJlRGF0YSh2bSk7CisgICAgICAgICAgICAgICAgcmFyZURhdGEoKS0+c2V0U2hhcmVkUG9s
eVByb3RvV2F0Y2hwb2ludChwcmV2aW91c1JhcmVEYXRhLT5jb3B5U2hhcmVkUG9seVByb3RvV2F0
Y2hwb2ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIAogICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsx
ODEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0
aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92
ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVy
dHlPZmZzZXQmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFu
Z2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUp
OworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBT
dHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIFN0cnVjdHVyZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIFN0cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYs
IFN0cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9
IG51bGxwdHIpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5
VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIyMiw3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIHJldHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0lt
cHVyZUZvclByb3BlcnR5QWJzZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlB
Y2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI1NCw0MiBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5k
ZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBi
b29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsK
LSAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAg
ICAKLSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVy
dHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAg
ICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7
CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJl
dHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qg
c2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywg
c2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1l
ZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9i
YWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFs
T2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9
CisKKyAgICBib29sIGhhc01vbm9Qcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
IW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgYm9vbCBoYXNQb2x5UHJv
dG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICFoYXNNb25vUHJvdG8oKTsKKyAgICB9
CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUu
Z2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0
CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNQb2x5UHJvdG8oKSk7CisgICAgICAg
IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUg
c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0
b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVy
ZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAg
ICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJl
KiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZUZvckxvb2t1cChFeGVjU3RhdGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cChKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9v
a3VwKENvZGVCbG9jayopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFp
bihWTSYsIEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3Rv
dHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9v
a3VwKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNl
KSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwg
SlNPYmplY3QqIGJhc2UpIGNvbnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0
byBtYXJrIGR1cmluZyBHQyBpZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBi
b3VuZGVkIGFtb3VudApAQCAtMjcyLDE0ICszMDIsMzAgQEAgcHVibGljOgogICAgIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wg
bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRo
ZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpT
X0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZN
JiwgUHJvcGVydHlOYW1lKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAg
ICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgp
KTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQor
CisgICAgY29uc3QgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwor
ICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisg
ICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJh
cmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAg
IFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NzksNiBA
QCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwog
ICAgIH0KICAgICAKLSAgICB2b2lkIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeUZvckVudGlyZUNoYWluKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAg
Ym9vbCBoYXNJbmZlcnJlZFR5cGVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1f
aW5mZXJyZWRUeXBlVGFibGU7CkBAIC01ODgsMTEgKzYyOCw3IEBAIHB1YmxpYzoKICAgICAgICAg
d2lsbFN0b3JlVmFsdWVTbG93KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6
ZSwgSW5mZXJyZWRUeXBlVGFibGU6Ok9sZFByb3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3Ry
dWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0
ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUg
Y291bGQgYmUgdXNlZCBmb3IgYWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgot
ICAgIGJvb2wgY2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3Ry
dWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3Rv
U3RydWN0dXJlKTsKICAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAg
ICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpA
QCAtNjAxLDYgKzYzNywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZHVtcENvbnRleHRI
ZWFkZXIoUHJpbnRTdHJlYW0mKTsKICAgICAKICAgICBDb25jdXJyZW50SlNMb2NrJiBsb2NrKCkg
eyByZXR1cm4gbV9sb2NrOyB9CisKKyAgICB1bnNpZ25lZCBwcm9wZXJ0eUhhc2goKSBjb25zdCB7
IHJldHVybiBtX3Byb3BlcnR5SGFzaDsgfQorCisgICAgc3RhdGljIGJvb2wgc2hvdWxkQ29udmVy
dFRvUG9seVByb3RvKGNvbnN0IFN0cnVjdHVyZSogYSwgY29uc3QgU3RydWN0dXJlKiBiKTsKICAg
ICAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCkBAIC03MjAsOCArNzYwLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBt
X2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJv
b2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hh
aW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNo
YWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAg
Ly8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFBy
b3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzcxLDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0
dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0K
IAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAg
ICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1
Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29u
c2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAg
Ym9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkBAIC03ODcsNiArODIwLDggQEAg
cHJpdmF0ZToKIAogICAgIC8vIG1fb2Zmc2V0IGRvZXMgbm90IGFjY291bnQgZm9yIGFub255bW91
cyBzbG90cwogICAgIFByb3BlcnR5T2Zmc2V0IG1fb2Zmc2V0OworCisgICAgdWludDMyX3QgbV9w
cm9wZXJ0eUhhc2g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyNzEy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwg
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0
dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3Ry
dWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAg
ICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0
cnVjdHVyZUNoYWluPih2bS5oZWFwKSkgU3RydWN0dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNo
YWluU3RydWN0dXJlLmdldCgpKTsKICAgICAgICAgY2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBo
ZWFkKTsKQEAgLTYyLDIxICs2MiwyMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJv
eShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2Jq
ZWN0KiBoZWFkKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCiAg
ICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKKyAgICAgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1
cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3Vy
cmVudCkpCiAgICAgICAgICAgICArK3NpemU7CiAKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwogCiAgICAgICAgIHNpemVfdCBpID0gMDsK
LSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50
ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3Rv
cltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7CisgICAgICAgIGZvciAoSlNPYmplY3QqIGN1
cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICAgICAgdmVjdG9yW2krK10u
c2V0KHZtLCB0aGlzLCBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pKTsKICAgICAgICAgCiAgICAgICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0
b3IpOworICAgICAgICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlzKTsKICAgICB9CiAKIHByaXZh
dGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
SW5saW5lcy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDE2ICs1MSwxNyBA
QCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZVN0cnVjCiAgICAgcmV0dXJuIHN0
cnVjdHVyZTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hw
b2ludEZpcmUqIGRlZmVycmVkKQoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHByZXZpb3VzLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50RmlyZSogZGVmZXJyZWQpCiB7CiAgICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVj
dHVyZSk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9j
YXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSwgZGVm
ZXJyZWQpOwotICAgIG5ld1N0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJl
Pih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBwcmV2aW91cywgZGVmZXJyZWQpOworICAgIG5ld1N0
cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0sIHByZXZpb3VzKTsKICAgICByZXR1cm4gbmV3U3Ry
dWN0dXJlOwogfQogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8oKSk7CiAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051
bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5l
IEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUg
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0
KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhp
cyk7CisgICAgaWYgKGhhc01vbm9Qcm90bygpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90
eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsK
KyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7
CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJ
TkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2Jq
ZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1
cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzTW9ub1Byb3RvKCkpCisgICAgICAgIHJldHVybiBz
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXRE
aXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxX
QVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90
byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8t
PnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDQzICsxOTYsNTYgQEAg
aW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2
ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYg
KHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0
dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFs
T2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBpZiAoaXNPYmpl
Y3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5m
bygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
eW1ib2xQcm90b3R5cGUoKTsKLQotICAgIEFTU0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJp
bmdUeXBlKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKyAg
ICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JM
b29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7CiB9CiAKLWlubGluZSBKU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QK
K2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkp
CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJl
dHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7
CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CitpbmxpbmUgU3RydWN0
dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogICAgIC8vIFdlIGNhY2hlIG91ciBw
cm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0LgotICAgIGlmICghaXNW
YWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAg
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7
Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVD
aGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QocHJvdG90
eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2Nh
Y2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkgeworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOworICAgICAgICBt
X2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0
ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkp
KTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAK
LWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3Rh
dGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90
eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1Zh
bGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQ
cm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBl
Q2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewogICAgIGlmICghY2FjaGVkUHJvdG90eXBl
Q2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gY2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhl
YWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgp
KSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNo
ZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsyNTYsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1
Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0dXJuIHByb3RvdHlwZS5pc051bGwoKSAm
JiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlk
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBj
b25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwg
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJl
cGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAgICAgaWYgKExJS0VMWSgh
aGFzUmFyZURhdGEoKSkpCkBAIC0zNDEsNiArMzc5LDggQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0
IFN0cnVjdHVyZTo6YWRkKFZNJgogICAgIGF1dG8gcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwog
CiAgICAgUHJvcGVydHlPZmZzZXQgbmV3T2Zmc2V0ID0gdGFibGUtPm5leHRPZmZzZXQobV9pbmxp
bmVDYXBhY2l0eSk7CisKKyAgICBtX3Byb3BlcnR5SGFzaCA9IG1fcHJvcGVydHlIYXNoIF4gcmVw
LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOwogICAgIAogICAgIFByb3BlcnR5T2Zmc2V0IG5l
d0xhc3RPZmZzZXQgPSBtX29mZnNldDsKICAgICB0YWJsZS0+YWRkKFByb3BlcnR5TWFwRW50cnko
cmVwLCBuZXdPZmZzZXQsIGF0dHJpYnV0ZXMpLCBuZXdMYXN0T2Zmc2V0LCBQcm9wZXJ0eVRhYmxl
OjpQcm9wZXJ0eU9mZnNldE1heUNoYW5nZSk7CkBAIC00MDAsOSArNDQwLDU2IEBAIGlubGluZSBQ
cm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3Bl
cnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlU
YWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0
cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQog
ewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxl
KTsKIH0KKworQUxXQVlTX0lOTElORSBib29sIFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9s
eVByb3RvKGNvbnN0IFN0cnVjdHVyZSogYSwgY29uc3QgU3RydWN0dXJlKiBiKQoreworICAgIGlm
ICghYSB8fCAhYikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEgPT0gYikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnBy
b3BlcnR5SGFzaCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBXZSBvbmx5IGNh
cmUgYWJvdXQgb2JqZWN0cyBjcmVhdGVkIHZpYSBhIGNvbnN0cnVjdG9yJ3MgdG9fdGhpcy4gVGhl
c2UKKyAgICAvLyBhbGwgaGF2ZSBTdHJ1Y3R1cmVzIHdpdGggcmFyZSBkYXRhIGFuZCBhIHNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQuCisgICAgaWYgKCFhLT5oYXNSYXJlRGF0YSgpIHx8ICFiLT5o
YXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBXZSBvbmx5IGNh
cmUgYWJvdXQgU3RydWN0dXJlJ3MgZ2VuZXJhdGVkIGZyb20gZnVuY3Rpb25zIHRoYXQgc2hhcmUK
KyAgICAvLyB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgIGNvbnN0IEJveDxJbmxpbmVXYXRjaHBv
aW50U2V0PiYgYUlubGluZVdhdGNocG9pbnRTZXQgPSBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KCk7CisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBi
SW5saW5lV2F0Y2hwb2ludFNldCA9IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKTsKKyAgICBpZiAoYUlubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkgIT0gYklubGluZVdh
dGNocG9pbnRTZXQuZ2V0KCkgfHwgIWFJbmxpbmVXYXRjaHBvaW50U2V0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgQVNTRVJUKGFJbmxpbmVXYXRjaHBvaW50U2V0ICYmIGJJbmxpbmVXYXRj
aHBvaW50U2V0ICYmIGFJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpID09IGJJbmxpbmVXYXRjaHBv
aW50U2V0LmdldCgpKTsKKworICAgIGlmIChhLT5oYXNQb2x5UHJvdG8oKSB8fCBiLT5oYXNQb2x5
UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnN0b3JlZFByb3Rv
dHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBWTSYgdm0gPSAqYS0+dm0oKTsKKyAgICBKU09iamVjdCogYU9iaiA9IGEtPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOworICAgIEpTT2JqZWN0KiBiT2JqID0gYi0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCk7CisgICAgd2hpbGUgKGFPYmogJiYgYk9iaikgeworICAgICAgICBhID0gYU9iai0+
c3RydWN0dXJlKHZtKTsKKyAgICAgICAgYiA9IGJPYmotPnN0cnVjdHVyZSh2bSk7CisKKyAgICAg
ICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGFPYmogPSBhLT5zdG9yZWRQcm90b3R5cGVPYmpl
Y3QoYU9iaik7CisgICAgICAgIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoYk9iaik7
CisgICAgfQorCisgICAgcmV0dXJuICFhT2JqICYmICFiT2JqOworfQogICAgIAogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYg
KzYyLDExIEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiBjb3B5U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNv
bnN0IHsgcmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQorICAgIGNvbnN0IEJveDxJbmxp
bmVXYXRjaHBvaW50U2V0PiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0
dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQorICAgIHZvaWQgc2V0U2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludChCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mJiBzaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KSB7IG1fcG9seVByb3RvV2F0Y2hwb2ludCA9IFdURk1vdmUoc2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludCk7IH0KKyAgICBib29sIGhhc1NoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX3BvbHlQcm90b1dhdGNocG9pbnQpOyB9
CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsMTEgKzgxLDEy
IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAg
ICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0
ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3I7Ci0gICAgCisKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJl
ZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0
Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBt
X3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CiAgICAgQmFnPE9iamVjdFRvU3RyaW5nQWRhcHRp
dmVTdHJ1Y3R1cmVXYXRjaHBvaW50PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVXYXRjaHBvaW50
U2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxPYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRQ
cm9wZXJ0eVZhbHVlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRW
YWx1ZVdhdGNocG9pbnQ7CisgICAgQm94PElubGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3Rv
V2F0Y2hwb2ludDsKICAgICBib29sIG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGU7
CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJM
b2cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQ
cm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE5ICs2
MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAg
IGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICB9CiAKKyAgICBIYXNoTWFwPFN0cnVjdHVy
ZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Qcm90b1NoYXBlczsKKyAgICBI
YXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwgUmVmUHRyPFN0cnVjdHVyZVNo
YXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVzOworCiAgICAgTG9nRW50cnkqIGVudHJ5ID0gbV9s
b2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFw
ZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGlsZSAoZW50cnkgIT0gbV9jdXJyZW50TG9nRW50cnlQ
dHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+c3RydWN0dXJlSUQ7Ci0gICAg
ICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAgICAgICBSZWZQdHI8U3RydWN0
dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZW50cnktPnZhbHVlOwog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgc2F3
UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlmIChpZCkgewotICAgICAgICAg
ICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFi
bGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAgIGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChz
dHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYgKGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewot
ICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVl
KTsKLSAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAg
ICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1
cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZE1vbm9Q
cm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBjYWNo
ZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IHN0
ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkpOworICAgICAgICAgICAgICAg
IGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5maW5kKGtleSk7CisgICAgICAgICAg
ICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9seVByb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHNh
d1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAgICAgaWYgKCFzaGFwZSkgeworICAgICAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVj
dHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90b1NoYXBlcy5zZXQoa2V5LCBzaGFwZSk7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZE1vbm9Q
cm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAg
ICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NM
b2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0
aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBp
ZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2ds
b2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0
cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlw
ZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAg
ICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNo
YXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAg
ICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBl
LCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAg
ICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTcgQEAg
VHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0
aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdT
aGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1h
dGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3
U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkK
IHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1
Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkp
IHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBl
LnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMo
c3RydWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICAvLyBGSVhNRTogVHlwZVNldCBz
aG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5IHByb3RvIGNoYWlucworICAgICAgICAvLyBqdXN0
IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBjaGFpbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzYyNworICAgICAgICBpZiAoc2F3UG9seVBy
b3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7Cisg
ICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAg
IENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0
cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUs
NyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0
aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOwor
ICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2
b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAg
ICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1
ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRp
bmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUp
OyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7
IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0K
ICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQog
ICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBi
b29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIo
KTsgfQpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMTAtMDIgIFNhYW0gQmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3Rv
dHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NjM5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d3RmL0JveC5oOgorICAgICAgICAoV1RGOjpCb3g6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICBN
YWtlIEJveCBtb3ZhYmxlLiBBbHNvIGVuc3VyZSBpdHMgb3BlcmF0b3IgYm9vbCBkb2Vzbid0IGRv
IGFuIGF0b21pYyBpbmNyZW1lbnQuCisgICAgICAgICogd3RmL1JlZlB0ci5oOgorICAgICAgICAo
V1RGOjpSZWZQdHI6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICBBZGQgYGV4cGxpY2l0IG9wZXJh
dG9yIGJvb2woKWAgZm9yIFJlZlB0ci4KKwogMjAxNy0wOS0zMCAgQW50dGkgS29pdmlzdG8gIDxh
bnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1ha2VXZWFrUHRyIGZvciBlYXNpZXIgV2Vh
a1B0ciBjb25zdHJ1Y3Rpb24KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0JveC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL0JveC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvV1RG
L3d0Zi9Cb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTQgKzM2LDE3IEBAIG5hbWVzcGFjZSBX
VEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNzIEJveCB7CiBwdWJsaWM6Ci0gICAgQm94
KCkKLSAgICB7Ci0gICAgfQorICAgIEJveCgpID0gZGVmYXVsdDsKKyAgICBCb3goQm94JiYpID0g
ZGVmYXVsdDsKKyAgICBCb3goY29uc3QgQm94JikgPSBkZWZhdWx0OwogCiAgICAgQm94KHN0ZDo6
bnVsbHB0cl90KQogICAgIHsKICAgICB9CiAKKyAgICBCb3gmIG9wZXJhdG9yPShCb3gmJikgPSBk
ZWZhdWx0OworICAgIEJveCYgb3BlcmF0b3I9KGNvbnN0IEJveCYpID0gZGVmYXVsdDsKKwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBzdGF0aWMgQm94IGNyZWF0ZShB
cmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgewpAQCAtNTcsNyArNjAsNyBAQCBwdWJsaWM6
CiAgICAgVCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLT52YWx1ZTsgfQogICAg
IFQqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiAmbV9kYXRhLT52YWx1ZTsgfQogCi0gICAg
ZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIHsgcmV0dXJuIG1fZGF0YTsgfQorICAgIGV4cGxpY2l0
IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX2RhdGEp
OyB9CiAgICAgCiBwcml2YXRlOgogICAgIHN0cnVjdCBEYXRhIDogVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8RGF0YT4gewpJbmRleDogU291cmNlL1dURi93dGYvUmVmUHRyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvUmVmUHRyLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9XVEYv
d3RmL1JlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw4IEBAIHB1YmxpYzoKICAg
ICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24g
dG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCiAgICAgdHlwZWRlZiBUKiAo
UmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRC
b29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlZlB0cjo6bV9wdHIgOiBudWxscHRy
OyB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX3B0
cjsgfQogICAgIAogICAgIFJlZlB0ciYgb3BlcmF0b3I9KGNvbnN0IFJlZlB0ciYpOwogICAgIFJl
ZlB0ciYgb3BlcmF0b3I9KFQqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjc0NykKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAg
PHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90
b3R5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzYzOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHM6CisKIDIwMTctMTAtMDIgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgR3VhcmQgaU9TIHdlYmtpdEdl
dEFzRW50cnkgQVBJIHRlc3RzIG9uIG9sZGVyIGlPUyB2ZXJzaW9ucwpJbmRleDogVG9vbHMvU2Ny
aXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI3MTIpCisrKyBUb29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVm
IHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExO
b0NKSVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8t
Y2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExf
T1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNw
ZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlB
bGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRM
X09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RT
cGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9u
YWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdl
ck5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlv
bmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNl
QnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENP
TExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMp
KQorICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIs
ICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyAr
IENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlv
bnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZp
Y09wdGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAg
cnVuKCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUi
LCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXBy
b2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBy
dW4oImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNl
VHlwZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9O
UyArIEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322479</attachid>
            <date>2017-10-02 17:38:44 -0700</date>
            <delta_ts>2017-10-03 12:26:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>238657</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDExOCBAQAorMjAxNy0xMC0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFy
a3MvcG9seS1wcm90by1hY2Nlc3MuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAg
ICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmFyKToKKyAgICAgICAg
KGZvbyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6Cisg
ICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAo
cGVyZm9ybVNldCk6CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVy
LXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVBy
b3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJv
dG90eXBlLnNldCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAg
ICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAg
ICogc3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzOgorICAgICAgICAoaS50ZXN0cy5m
b3JFYWNoLkNvbnN0cnVjdG9yKToKKyAgICAgICAgKGkudGVzdHMuZm9yRWFjaCk6CisgICAgICAg
ICh0ZXN0cy5mb3JFYWNoLkNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKHRlc3RzLmZv
ckVhY2gpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90
by5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBz
dHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAoaXRlbXMuZm9yRWFjaCk6CisgICAgICAgIChzZXQgZ2V0IGZvcik6
CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09i
amVjdC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogc3RyZXNz
L3BvbHktcHJvdG8tbWlzcy5qczogQWRkZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZS5mb28pOgorICAgICAgICAobWFrZVBvbHlQcm90b0luc3RhbmNl
V2l0aE51bGxQcm90b3R5cGUpOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodmFsaWRhdGUpOgorICAgICAgICAodmFsaWRhdGUyKToKKyAg
ICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qczogQWRkZWQuCisgICAg
ICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVjdC5mb28uQyk6CisgICAg
ICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2Jq
ZWN0KToKKyAgICAgICAgKHBlcmZvcm1TZXQpOgorICAgICAgICAoaS5vYmouX19wcm90b19fLnNl
dCBwKToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChsZXQuYWx0ZXJuYXRlUHJvdG8uZ2V0IHgp
OgorICAgICAgICAobGV0LmFsdGVybmF0ZVByb3RvMi5nZXQgeSk6CisgICAgICAgIChsZXQuYWx0
ZXJuYXRlUHJvdG8yLmdldCB4KToKKyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvbyk6Cisg
ICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpz
OiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0
LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLnNl
dCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLmdldCBw
KToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5
UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICogc3RyZXNzL3Bv
bHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToK
KyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmF6KToKKyAg
ICAgICAgKGZvbyk6CisgICAgICAgIChiYXIuQyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAo
dmFsaWRhdGUpOgorICAgICAgICAqIHN0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qczogQWRk
ZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UuZm9vLkMpOgorICAgICAgICAobWFr
ZVBvbHlQcm90b0luc3RhbmNlLmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2Up
OgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJl
c3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJh
cik6CisgICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRl
KToKKyAgICAgICAgKiBzdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAodHJ5R2V0QnlJZFRleHQpOgorICAgICAgICAoeC5fX3Byb3Rv
X18uZ2V0IGJhcik6CisgICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogdHlwZVByb2ZpbGVy
L292ZXJmbG93LmpzOgorCiAyMDE3LTEwLTAxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIyNTY0LgpJ
bmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3MuanMJKG5v
bmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1hY2Nlc3Mu
anMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MyBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsg
aWYgKCFiKSB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOyB9Citub0lubGluZShhc3NlcnQpOworCitm
dW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdGhpcy54ID0gMjA7CisgICAgICAgIH0KKworICAgICAgICBn
ZXQgYmFyKCkKKyAgICAgICAgeworICAgICAgICAgICAgYXNzZXJ0KHRoaXMueCA9PT0gMjApOwor
ICAgICAgICAgICAgYXNzZXJ0KHRoaXMuZm9vID09PSB1bmRlZmluZWQgfHwgdGhpcy5mb28gPT09
IDQyKTsKKyAgICAgICAgICAgIHJldHVybiA0NTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1
cm4gbmV3IEM7Cit9CisKK2ZvbygpOworbGV0IGEgPSBbXTsKK2ZvciAobGV0IGkgPSAwOyBpIDwg
MTU7ICsraSkKKyAgICBhLnB1c2goZm9vKCkpOworCitmdW5jdGlvbiBiYXIobykgeworICAgIGFz
c2VydChvLmZvbyA9PT0gdW5kZWZpbmVkIHx8IG8uZm9vID09PSA0Mik7CisgICAgYXNzZXJ0KG8u
YmFyID09PSA0NSk7Cit9Citub0lubGluZShiYXIpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygp
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDAwOyArK2kpIHsKKyAgICBpZiAoaSA9PT0gNTAw
MCkgeworICAgICAgICBmb3IgKGxldCBhcnIgb2YgYSkKKyAgICAgICAgICAgIGFyci5fX3Byb3Rv
X18uZm9vID0gNDI7CisgICAgfQorICAgIGZvciAobGV0IGogPSAwOyBqIDwgYS5sZW5ndGg7ICsr
aikgeworICAgICAgICBiYXIoYVtqXSk7CisgICAgfQorfQoraWYgKGZhbHNlKQorICAgIHByaW50
KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5
LXByb3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMJKG5vbmV4aXN0
ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlv
bi1zcGVlZC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5jdGlvbiBhc3Nl
cnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiAr
IG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9u
IGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsg
dGhpcy5fZmllbGQgPSA0MjsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7Cisg
ICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7Cisg
ICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgZ2xvYmFsOworCitmdW5jdGlvbiBwZXJmb3JtU2V0
KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0gW107Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpIHsKKyAgICBsZXQgaXRlbSA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsK
KyAgICBpdGVtLl9fcHJvdG9fXyA9IG51bGw7CisgICAgaXRlbXMucHVzaChpdGVtKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IGxldCBvYmogPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvYmopOworICAgICAgICBh
c3NlcnQoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICAgICAgYXNz
ZXJ0KG9iai5wID09PSAyMCk7CisgICAgICAgIGFzc2VydChvYmouX2ZpZWxkID09PSA0Mik7Cisg
ICAgfQorCit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5k
ZXg6IEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNwZWVkLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNw
ZWVkLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3BvbHktcHJv
dG8tc2V0dGVyLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0
aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsKK2Z1bmN0aW9uIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsK
KyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNldCBwKHgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAg
cmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisg
ICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNl
dChvKSB7CisgICAgby5wID0gMjA7Cit9CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9
IDA7IGkgPCA4OyArK2kpIHsKKyAgICBpdGVtcy5wdXNoKG1ha2VQb2x5UHJvdG9PYmplY3QoKSk7
Cit9CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQoeCwgaSkgeworICAgIHgucCA9IGk7Cit9CisKK2xl
dCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxl
dCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2Vy
dChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9PT0gdHJ1ZSk7CisgICAgICAg
IGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY29uc3RydWN0b3Itd2l0aC1yZXR1
cm4uanMJKHJldmlzaW9uIDIyMjcxMikKKysrIEpTVGVzdHMvc3RyZXNzL2NvbnN0cnVjdG9yLXdp
dGgtcmV0dXJuLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yMSwxOSArMjEsMjEgQEAgdmFyIHRlc3Rz
ID0gWwogICAgIG5ldyBUZXN0KE9iamVjdChTeW1ib2wuaXRlcmF0b3IpLCB0cnVlKSwKIF07CiAK
LXRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKLSAgICBmdW5jdGlvbiBDb25zdHJ1Y3Rv
cigpIHsKLSAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7Ci0gICAgfQotCi0gICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zdHJ1Y3RvcigpOwotICAgIGlmICh0ZXN0LnJldHVybkl0KSB7Ci0gICAgICAg
IGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKLSAgICAgICAgICAgIHRocm93ICJCYWQgcmVz
dWx0OiAiICsgcmVzdWx0OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB0
ZXN0cy5mb3JFYWNoKGZ1bmN0aW9uICh0ZXN0KSB7CisgICAgICAgIGZ1bmN0aW9uIENvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgcmV0dXJuIHRlc3QudmFsdWU7CiAgICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBpZiAoIShyZXN1bHQgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsK
LSAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworCisgICAgICAgIHZh
ciByZXN1bHQgPSBuZXcgQ29uc3RydWN0b3IoKTsKKyAgICAgICAgaWYgKHRlc3QucmV0dXJuSXQp
IHsKKyAgICAgICAgICAgIGlmICh0ZXN0LnZhbHVlICE9PSByZXN1bHQpIHsKKyAgICAgICAgICAg
ICAgICB0aHJvdyAiQmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9mIENvbnN0cnVj
dG9yKSkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0Owor
ICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQotfSk7CisgICAgfSk7Cit9CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikK
KyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtl
UG9seVByb3RvT2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3Mg
QyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9m
aWVsZCA9IDI1OworICAgICAgICAgICAgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3
IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9v
KCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcHJvdG8gPSBjcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QoKTsKK2xldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CitvYmou
X19wcm90b19fID0gcHJvdG87CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgsIHYpIHsKKyAgICBhc3Nl
cnQoeC5jdXN0b21HZXR0ZXIgPT09IHYsIHguY3VzdG9tR2V0dGVyKTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpCisgICAgdmFsaWRhdGUo
b2JqLCBwcm90byk7CisKK3Byb3RvLmZvbyA9IDI1OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpCisgICAgdmFsaWRhdGUob2JqLCBwcm90byk7CisKK1JlZmxlY3Quc2V0UHJvdG90eXBl
T2Yob2JqLCB7fSk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZhbGlk
YXRlKG9iaiwgdW5kZWZpbmVkKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8t
Y3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLWN1c3RvbS12YWx1ZS1hbmQtYWNjZXNzb3IuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTMgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsgCisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy5maWVs
ZCA9IDIwOyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28oKS5maWVs
ZCA9PT0gMjApOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBpdGVtcyA9IFsK
KyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAor
ICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisg
ICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAg
ICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAg
IG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAg
bWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBt
YWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1h
a2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCitdOworCits
ZXQgY3VzdG9tR2V0dGVyU2V0dGVyID0gY3JlYXRlQ3VzdG9tVGVzdEdldHRlclNldHRlcigpOwor
aXRlbXMuZm9yRWFjaCgoeCkgPT4geworICAgIHguX19wcm90b19fID0gY3VzdG9tR2V0dGVyU2V0
dGVyOworICAgIGFzc2VydCh4Ll9fcHJvdG9fXyA9PT0gY3VzdG9tR2V0dGVyU2V0dGVyKTsKK30p
OworCitmdW5jdGlvbiB2YWxpZGF0ZSh4LCB2YWx1ZVJlc3VsdCwgYWNjZXNzb3JSZXN1bHQpIHsK
KyAgICBhc3NlcnQoeC5jdXN0b21WYWx1ZSA9PT0gdmFsdWVSZXN1bHQpOworCisgICAgYXNzZXJ0
KHguY3VzdG9tQWNjZXNzb3IgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAgIGxldCBvID0ge307
CisgICAgeC5jdXN0b21WYWx1ZSA9IG87CisgICAgYXNzZXJ0KG8ucmVzdWx0ID09PSB2YWx1ZVJl
c3VsdCk7CisKKyAgICBvID0ge307CisgICAgeC5jdXN0b21BY2Nlc3NvciA9IG87CisgICAgYXNz
ZXJ0KG8ucmVzdWx0ID09PSBhY2Nlc3NvclJlc3VsdCk7CisKKyAgICBhc3NlcnQoeC5yYW5kb21Q
cm9wID09PSA0MiB8fCB4LnJhbmRvbVByb3AgPT09IHVuZGVmaW5lZCk7Cit9Citub0lubGluZSh2
YWxpZGF0ZSk7CisKKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIGN1c3RvbUdldHRlclNldHRlciwgaXRl
bXNbaV0pOworICAgIH0KK30KKworY3VzdG9tR2V0dGVyU2V0dGVyLnJhbmRvbVByb3AgPSA0MjsK
KworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3Vz
dG9tR2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQorfQorCitpdGVtcy5mb3JFYWNoKCh4
KSA9PiB7CisgICAgUmVmbGVjdC5zZXRQcm90b3R5cGVPZih4LCB7CisgICAgICAgIGdldCBjdXN0
b21WYWx1ZSgpIHsgcmV0dXJuIDQyOyB9LAorICAgICAgICBnZXQgY3VzdG9tQWNjZXNzb3IoKSB7
IHJldHVybiAyMjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbVZhbHVlKHgpIHsgeC5yZXN1bHQgPSA0
MjsgfSwKKyAgICAgICAgc2V0IGN1c3RvbUFjY2Vzc29yKHgpIHsgeC5yZXN1bHQgPSAyMjsgfSwK
KyAgICB9KTsKK30pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBm
b3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlkYXRl
KGl0ZW1zW2ldLCA0MiwgMjIpOworICAgIH0KK30KKworaWYgKGZhbHNlKQorICAgIHByaW50KERh
dGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJp
bnNpYy1nZXR0ZXItY29ycmVjdG5lc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cG9seS1wcm90by1pbnRyaW5zaWMtZ2V0dGVyLWNvcnJlY3RuZXNzLmpzCShub25leGlzdGVudCkK
KysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVz
cy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM3IEBACitmdW5jdGlvbiBhc3NlcnQoYikg
eworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQhIik7Cit9CisKK2Z1
bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAg
ICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
ICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCB4ID0gbmV3IFVpbnQz
MkFycmF5KDEwKTsKK2xldCBwID0geC5fX3Byb3RvX18uX19wcm90b19fOworbGV0IG9iaiA9IG1h
a2VQb2x5UHJvdG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwOworeC5fX3Byb3RvX18gPSBv
Ymo7CisKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIHguYnl0ZUxlbmd0aDsKK30KK25v
SW5saW5lKGZvbyk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgYXNz
ZXJ0KGZvbyh4KSA9PT0gMTAgKiA0KTsKK307CisKK29iai5fX3Byb3RvX18gPSB7fTsKKworYXNz
ZXJ0KGZvbyh4KSA9PT0gdW5kZWZpbmVkKTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tbWlzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLW1pc3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTEgQEAKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9JbnN0
YW5jZVdpdGhOdWxsUHJvdG90eXBlKCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAg
Y2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3RvcigpIHsgdGhpcy54ID0gMjA7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IDQyOworICAgICAgICBsZXQgcmVzdWx0
ID0gbmV3IEM7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIGxldCByZXN1bHQgPSBmb28o
KTsKKyAgICByZXN1bHQuX19wcm90b19fID0gbnVsbDsKKyAgICByZXR1cm4gcmVzdWx0OworfQor
CitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQgYXNzc2VydGlvbiIpCit9CisKK2xldCBpbnN0YW5jZXMgPSBbCisgICAgbWFrZVBv
bHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5z
dGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhO
dWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5
cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCitdOworCitsZXQgcCA9IHVu
ZGVmaW5lZDsKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoeC54ID09PSAyMCk7
CisgICAgYXNzZXJ0KHgucCA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsK
KworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyAr
K2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc3RhbmNlcy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgdmFsaWRhdGUoaW5zdGFuY2VzW2ldKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1vcC1p
bi1jYWNoaW5nLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tb3At
aW4tY2FjaGluZy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3Rv
LW9wLWluLWNhY2hpbmcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NCBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5maWVsZCA9IDQyOworICAgICAgICAgICAgfQor
ICAgICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTU7ICsraSkgeworICAgICAgICBhc3NlcnQoZm9vKCkuZmllbGQgPT09IDQyKTsK
KyAgICB9CisgICAgcmV0dXJuIGZvbygpOworfQorCitmdW5jdGlvbiB2YWxpZGF0ZShvLCBiKSB7
CisgICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKKworbGV0IG9ianMgPSBbXTsKK2ZvciAobGV0IGkgPSAw
OyBpIDwgMTA7ICsraSkKKyAgICBvYmpzLnB1c2gobWFrZVBvbHlQcm90b09iamVjdCgpKTsKKwor
b2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjB9KSk7
CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBv
ZiBvYmpzKQorICAgICAgICB2YWxpZGF0ZShvYmosIHRydWUpOworfQorCitvYmpzLmZvckVhY2go
b2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yob2JqLCB7fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlKG9iaiwgZmFsc2UpOworfQorCisKK2Z1bmN0aW9uIHZhbGlkYXRlMihvLCBiKSB7Cisg
ICAgYXNzZXJ0KCJ4IiBpbiBvID09PSBiKTsKK30KK25vSW5saW5lKHZhbGlkYXRlMik7CisKK29i
anMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIG51bGwpKTsKK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IG9iaiBvZiBvYmpz
KQorICAgICAgICB2YWxpZGF0ZTIob2JqLCBmYWxzZSk7Cit9CisKK29ianMuZm9yRWFjaChvYmog
PT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt4OjI1fSkpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZh
bGlkYXRlMihvYmosIHRydWUpOworfQorCitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3co
KSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRp
b24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNp
dGlvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXB1dC10
cmFuc2l0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKK2Z1bmN0aW9uIGFz
c2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoi
ICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rp
b24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkg
eworICAgICAgICAgICAgICAgIHRoaXMuX2ZpZWxkID0gNDI7CisgICAgICAgICAgICB9CisgICAg
ICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCAxNTsgKytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xl
dCBnbG9iYWw7CisKK2Z1bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQor
CitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsKKyAgICBsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworICAgIG9iai5fX3Byb3Rv
X18gPSBudWxsOworICAgIHBlcmZvcm1TZXQob2JqKTsKKyAgICBhc3NlcnQoT2JqZWN0Lmhhc093
blByb3BlcnR5LmNhbGwob2JqLCAicCIpKTsKKyAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKwor
fQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtl
UG9seVByb3RvT2JqZWN0KCk7CisgICAgb2JqLl9fcHJvdG9fXyA9IHsgc2V0IHAoeCkgeyBnbG9i
YWwgPSB4OyB9IH07CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFzc2VydCghb2JqLmhhc093
blByb3BlcnR5KCJwIikpOworICAgIGFzc2VydChnbG9iYWwgPT09IDIwKTsKKyAgICBnbG9iYWwg
PSBudWxsOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBv
YmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KG9iai5wID09PSAyMCk7
Cit9CitpZiAoZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpT
VGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5cGUuanMJKG5vbmV4aXN0ZW50KQor
KysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNjUgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZCIpOworfQorCitsZXQgYWx0ZXJuYXRlUHJvdG8g
PSB7CisgICAgZ2V0IHgoKSB7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0KK307CisKK2xl
dCBhbHRlcm5hdGVQcm90bzIgPSB7CisgICAgZ2V0IHkoKSB7IHJldHVybiAyMjsgfSwKKyAgICBn
ZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorfTsKKworT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJ4IiwgeworICAgIGdldDogZnVuY3Rpb24oKSB7
IHJldHVybiB0aGlzLl94OyB9Cit9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIGNsYXNzIEMg
eworICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgIHRoaXMuX3ggPSA0MjsKKyAg
ICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIG5ldyBDOworfQorCitmdW5jdGlvbiB2YWxpZGF0
ZShvLCBwKSB7CisgICAgYXNzZXJ0KG8ueCA9PT0gcCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7
CisKK2xldCBhcnIgPSBbXTsKK2ZvbygpOworZm9yIChsZXQgaSA9IDA7IGkgPCAyNTsgKytpKQor
ICAgIGFyci5wdXNoKGZvbygpKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgewor
ICAgIGZvciAobGV0IGEgb2YgYXJyKQorICAgICAgICB2YWxpZGF0ZShhLCA0Mik7Cit9CisKK2Zv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzsKK30K
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikg
eworICAgICAgICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICB9Cit9CisKK2ZvciAobGV0IGEgb2Yg
YXJyKSB7CisgICAgYS5fX3Byb3RvX18gPSBhbHRlcm5hdGVQcm90bzI7Cit9CisKK2ZvciAobGV0
IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBhIG9mIGFycikgeworICAgICAg
ICB2YWxpZGF0ZShhLCBudWxsKTsKKyAgICAgICAgYXNzZXJ0KGEueSA9PT0gMjIpOworICAgIH0K
K30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCShub25leGlzdGVudCkKKysr
IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNzEgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2xldCBjYWxsZWQgPSBmYWxzZTsK
K2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkgewor
ICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgdGhpcy5fcCA9IG51bGw7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHNldCBwKHgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgY2FsbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0geDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGdldCBwKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXR1cm4g
dGhpcy5fcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBD
OworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAgYXNz
ZXJ0KGZvbygpLnAgPT09IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBb
XTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjA7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBv
bHlQcm90b09iamVjdCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAg
eC5wID0gaTsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAgICAgIHBlcmZvcm1TZXQobywg
aSk7CisgICAgICAgIGFzc2VydChvLl9wID09PSBpKTsKKyAgICAgICAgYXNzZXJ0KGNhbGxlZCA9
PT0gdHJ1ZSk7CisgICAgICAgIGNhbGxlZCA9IGZhbHNlOworICAgIH0KK30KKworaXRlbXMuZm9y
RWFjaChvID0+IHsKKyAgICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG8sIG51bGwpOworfSk7CisK
K2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGxldCBvID0gaXRlbXNbaV07CisgICAg
ICAgIHBlcmZvcm1TZXQobywgaSk7CisgICAgICAgIGFzc2VydChvLnAgPT09IGkpOworICAgICAg
ICBhc3NlcnQoY2FsbGVkID09PSBmYWxzZSk7CisgICAgfQorfQorCitpZiAoZmFsc2UpCisgICAg
cHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3BvbHktcHJv
dG8tdXNpbmctaW5oZXJpdGFuY2UuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9s
eS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0
cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNTEgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitmdW5jdGlvbiBmb28oKSB7CisgICAgY2xhc3Mg
QyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhpcy55
ID0gMjI7CisgICAgICAgIH0KKyAgICAgICAgZ2V0IGJheigpIHsgcmV0dXJuIHRoaXMueDsgfQor
ICAgIH0KKyAgICBDLnByb3RvdHlwZS5maWVsZCA9IDQyOworICAgIG5ldyBDOworICAgIHJldHVy
biBDOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICBmb28oKTsKKworZnVu
Y3Rpb24gYmFyKHApIHsKKyAgICBjbGFzcyBDIGV4dGVuZHMgcCB7CisgICAgICAgIGNvbnN0cnVj
dG9yKCkgeworICAgICAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgICAgIHRoaXMueCA9IDIyOwor
ICAgICAgICB9CisgICAgfTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEM7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgYmFyKGZvbygpKTsK
KworbGV0IGluc3RhbmNlcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCA0MDsgKytpKQorICAg
IGluc3RhbmNlcy5wdXNoKGJhcihmb28oKSkpOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7
CisgICAgYXNzZXJ0KGl0ZW0ueCA9PT0gMjIpOworICAgIGFzc2VydChpdGVtLmJheiA9PT0gMjIp
OworICAgIGFzc2VydChpdGVtLmZpZWxkID09PSA0Mik7Cit9CisKK2xldCBzdGFydCA9IERhdGUu
bm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgaW5zdGFuY2Vz
LmZvckVhY2goKHgpID0+IHZhbGlkYXRlKHgpKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChE
YXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHkt
cHJvdG8uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcHJpbWl0aXZlLXBvbHktcHJv
dG8uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MyBAQAorbGV0IHkgPSA0MjsKK2Z1bmN0
aW9uIG1ha2VQb2x5UHJvdG9JbnN0YW5jZSgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAg
ICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMueCA9IDIwOyB9
CisgICAgICAgIH07CisgICAgICAgIEMucHJvdG90eXBlLnkgPSB5OworICAgICAgICByZXR1cm4g
bmV3IEM7CisgICAgfQorCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyArK2kpCisgICAgICAg
IGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKworbGV0IHBvbHlQcm90b0luc3RhbmNlID0g
bWFrZVBvbHlQcm90b0luc3RhbmNlKCk7CitTdHJpbmcucHJvdG90eXBlLl9fcHJvdG9fXyA9IHBv
bHlQcm90b0luc3RhbmNlOworU3ltYm9sLnByb3RvdHlwZS5fX3Byb3RvX18gPSBwb2x5UHJvdG9J
bnN0YW5jZTsKK2xldCBzdHJpbmdzID0gWworICAgICJmb28iLAorICAgIFN5bWJvbCgiZm9vIiks
CisgICAgImJhciIsCisgICAgU3ltYm9sKCJiYXIiKSwKK107CisKK2Z1bmN0aW9uIGFzc2VydChi
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9u
IikKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHMpIHsKKyAgICBh
c3NlcnQocy54ID09PSAyMCk7CisgICAgYXNzZXJ0KHMueSA9PT0geSk7CisgICAgYXNzZXJ0KHMu
bm9uRXhpc3RlbnRQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3NlcnQodHlwZW9mIHMu
aGFzT3duUHJvcGVydHkgPT09ICJmdW5jdGlvbiIpOworICAgIGFzc2VydChzLmhhc093blByb3Bl
cnR5ID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTsKK30KK25vSW5saW5lKHZh
bGlkYXRlKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxl
dCBzIG9mIHN0cmluZ3MpIHsKKyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQorCit5ID0g
Mjc7Citwb2x5UHJvdG9JbnN0YW5jZS5fX3Byb3RvX18gPSB7ejo0MDAsIHk6IHl9OworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBzIG9mIHN0cmluZ3MpIHsK
KyAgICAgICAgdmFsaWRhdGUocyk7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcHJv
dG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3Mv
cHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9z
dHJlc3MvcHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzMiBAQAorZnVuY3Rpb24gZm9vKCkgeworICAgIGZ1bmN0aW9uIGJhcigpIHsKKyAgICAg
ICAgdGhpcy54ID0gNDI7CisgICAgfQorICAgIGJhci5wcm90b3R5cGUgPSA1MDsKKyAgICByZXR1
cm4gbmV3IGJhcigpOworfQorCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQiKTsKK30KKworbGV0IGl0ZW1zID0gWworICAgIGZv
bygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAgIGZvbygpLAorICAg
IGZvbygpLAorXTsKKworZnVuY3Rpb24gdmFsaWRhdGUoaXRlbSkgeworICAgIGFzc2VydChpdGVt
Lm5vdFRoZXJlID09PSB1bmRlZmluZWQpOworICAgIGFzc2VydChpdGVtLnggPT09IDQyKTsKKyAg
ICBhc3NlcnQoaXRlbS5fX3Byb3RvX18gPT09IE9iamVjdC5wcm90b3R5cGUpOworfQorCitmb3Ig
KGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1z
KQorICAgICAgICB2YWxpZGF0ZShpdGVtKTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL3RyeS1n
ZXQtYnktaWQtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy90cnkt
Z2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3Mv
dHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzgg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3Qo
KSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkgeyB0aGlzLl9maWVsZCA9IDQyOyB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9uIHRyeUdldEJ5
SWRUZXh0KHByb3BlcnR5TmFtZSkgeyByZXR1cm4gYChmdW5jdGlvbiAoYmFzZSkgeyByZXR1cm4g
QHRyeUdldEJ5SWQoYmFzZSwgJyR7cHJvcGVydHlOYW1lfScpOyB9KWA7IH0KK2xldCBnZXRGb28g
PSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJmb28iKSk7CitsZXQgZ2V0QmFyID0gY3Jl
YXRlQnVpbHRpbih0cnlHZXRCeUlkVGV4dCgiYmFyIikpOworbGV0IGdldE5vbkV4aXN0ZW50Rmll
bGQgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJub25FeGlzdGVudEZpZWxkIikpOwor
CitsZXQgeCA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKK3guX19wcm90b19fID0geyBmb286IDQy
LCBnZXQgYmFyKCkgeyByZXR1cm4gMjI7IH0gfTsKK2xldCBiYXJHZXR0ZXIgPSBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHguX19wcm90b19fLCAiYmFyIikuZ2V0OworYXNzZXJ0KHR5
cGVvZiBiYXJHZXR0ZXIgPT09ICJmdW5jdGlvbiIpOworYXNzZXJ0KGJhckdldHRlcigpID09PSAy
Mik7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgpIHsKKyAgICBhc3NlcnQoZ2V0Rm9vKHgpID09PSA0
Mik7CisgICAgYXNzZXJ0KGxvYWRHZXR0ZXJGcm9tR2V0dGVyU2V0dGVyKGdldEJhcih4KSkgPT09
IGJhckdldHRlcik7CisgICAgYXNzZXJ0KGdldE5vbkV4aXN0ZW50RmllbGQoeCkgPT09IHVuZGVm
aW5lZCk7Cit9Citub0lubGluZSh2YWxpZGF0ZSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDsgKytpKSB7CisgICAgdmFsaWRhdGUoeCk7Cit9CkluZGV4OiBKU1Rlc3RzL3R5cGVQcm9maWxl
ci9vdmVyZmxvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3R5cGVQcm9maWxlci9vdmVyZmxv
dy5qcwkocmV2aXNpb24gMjIyNzEyKQorKysgSlNUZXN0cy90eXBlUHJvZmlsZXIvb3ZlcmZsb3cu
anMJKHdvcmtpbmcgY29weSkKQEAgLTksNiArOSw4IEBAIHZhciBvbGRQcm90bzsKIGZvciAodmFy
IGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZsb3c7IGkrKykgewogICAg
IC8vIE1ha2Ugc3VyZSB3ZSBnZXQgYSBuZXcgcHJvdG90eXBlIGNoYWluIG9uIGVhY2ggYXNzaWdu
bWVudCB0byB4IGJlY2F1c2Ugb2JqZWN0cyB3aXRoIHNoYXJlZCBwcm90b3R5cGUgY2hhaW5zIHdp
bGwgYmUgbWVyZ2VkLgogICAgIHggPSBuZXcgUHJvdG87CisgICAgeFsnZmllbGQnICsgaV0gPSAy
MDsKKyAgICB4ID0geAogICAgIG9sZFByb3RvID0gUHJvdG87CiAgICAgUHJvdG8gPSBmdW5jdGlv
bigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18gPSBvbGRQcm90by5wcm90b3R5
cGU7CkBAIC0yMCw2ICsyMiw4IEBAIFByb3RvID0gZnVuY3Rpb24oKSB7fTsKIG9sZFByb3RvID0g
bnVsbDsKIGZvciAodmFyIGkgPSAwOyBpIDwgTWF4U3RydWN0dXJlQ291bnRXaXRob3V0T3ZlcmZs
b3cgLSAxOyBpKyspIHsKICAgICB5ID0gbmV3IFByb3RvOworICAgIHlbJ2ZpZWxkJyArIGldID0g
MjA7CisgICAgeSA9IHkKICAgICBvbGRQcm90byA9IFByb3RvOwogICAgIFByb3RvID0gZnVuY3Rp
b24oKSB7fTsKICAgICBQcm90by5wcm90b3R5cGUuX19wcm90b19fID0gb2xkUHJvdG8ucHJvdG90
eXBlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MzI0IEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisg
ICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzYzOTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgSlNDJ3Mg
b2JqZWN0IG1vZGVsIHdpdGggcmVzcGVjdCB0byB3aGVyZSB0aGUgcHJvdG90eXBlCisgICAgICAg
IG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFByZXZpb3VzbHksIGl0IHdhcyBhbHdheXMgc3RvcmVk
IGFzCisgICAgICAgIGEgY29uc3RhbnQgdmFsdWUgaW5zaWRlIFN0cnVjdHVyZS4gU28gYW4gb2Jq
ZWN0J3Mgc3RydWN0dXJlIHVzZWQgdG8KKyAgICAgICAgYWx3YXlzIHRlbGwgeW91IHdoYXQgaXRz
IHByb3RvdHlwZSBpcy4gQW55dGltZSBhbiBvYmplY3QgY2hhbmdlZAorICAgICAgICBpdHMgcHJv
dG90eXBlLCBpdCB3b3VsZCBkbyBhIHN0cnVjdHVyZSB0cmFuc2l0aW9uLiBUaGlzIGVuYWJsZXMK
KyAgICAgICAgYSBsYXJnZSBjbGFzcyBvZiBvcHRpbWl6YXRpb25zOiBqdXN0IGJ5IGRvaW5nIGEg
c3RydWN0dXJlIGNoZWNrLAorICAgICAgICB3ZSBrbm93IHdoYXQgdGhlIHByb3RvdHlwZSBpcy4K
KyAgICAgICAgCisgICAgICAgIEhvd2V2ZXIsIHRoaXMgZGVzaWduIGZhbGxzIGRvd24gd2hlbiB5
b3UgaGF2ZSBtYW55IG9iamVjdHMgdGhhdAorICAgICAgICBoYXZlIHRoZSBzYW1lIHNoYXBlLCBi
dXQgb25seSBkaWZmZXIgaW4gd2hhdCB0aGVpciBwcm90b3R5cGUgdmFsdWUKKyAgICAgICAgaXMu
IFRoaXMgYXJpc2VzIGluIG1hbnkgSlMgcHJvZ3JhbXMuIEEgc2ltcGxlLCBhbmQgcHJvYmFibHkg
Y29tbW9uLCBleGFtcGxlCisgICAgICAgIGlzIHdoZW4gdGhlIHByb2dyYW0gaGFzIGEgY29uc3Ry
dWN0b3IgaW5zaWRlIG9mIGEgZnVuY3Rpb246CisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlv
biBmb28oKSB7CisgICAgICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgICAgICBjb25zdHJ1
Y3RvcigpIHsgdGhpcy5maWVsZDEgPSA0MjsgLi4uOyB0aGlzLmZpZWxkTiA9IDQyOyB9CisgICAg
ICAgICAgICAgICAgbWV0aG9kMSgpIHsgZG9TdHVmZldpdGgodGhpcy5maWVsZCk7IH0KKyAgICAg
ICAgICAgICAgICBtZXRob2QyKCkgeyBkb1N0dWZmV2l0aCh0aGlzLmZpZWxkKTsgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgbGV0IGMgPSBuZXcgQzsKKyAgICAgICAgICAgIGRvIHRoaW5n
cyB3aXRoIGM7CisgICAgICAgICAgICB9CisgICAgICAgIHJlcGVhdGVkbHkgY2FsbCBmb28oKSBo
ZXJlLgorICAgICAgICBgYGAKKyAgICAgICAgCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCBp
biB0aGUgYWJvdmUgcHJvZ3JhbSwgZWFjaCB0aW1lIGBuZXcgQ2AgY3JlYXRlZCBhbgorICAgICAg
ICBvYmplY3QsIGl0IHdvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIGRpZmZlcmVudCBzdHJ1
Y3R1cmUuIFRoZQorICAgICAgICByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBlYWNoIHRpbWUgZm9v
IGlzIGNhbGxlZCwgdGhlcmUgaXMgYSBuZXcKKyAgICAgICAgaW5zdGFuY2Ugb2YgQy5wcm90b3R5
cGUuIEhvd2V2ZXIsIGVhY2ggYG5ldyBDYCB0aGF0IHdhcyBjcmVhdGVkCisgICAgICAgIHdpdGgg
aGF2ZSBpZGVudGljYWwgc2hhcGUgc2FucyBpdHMgcHJvdG90eXBlIHZhbHVlLiBUaGlzIHdvdWxk
CisgICAgICAgIGNhdXNlIGFsbCBJQ3MgdGhhdCB1c2VkIGBjYCB0byBxdWlja2x5IGdpdmUgdXAg
b24gYW55IGZvcm0gb2YgY2FjaGluZworICAgICAgICBiZWNhdXNlIHRoZXkgd291bGQgc2VlIHRv
byBtYW55IHN0cnVjdHVyZXMgYW5kIGdpdmUgdXAgYW5kIHBlcm1hbmVudGx5CisgICAgICAgIGRp
dmVydCBjb250cm9sIGZsb3cgdG8gdGhlIHNsb3cgcGF0aC4KKyAgICAgICAgCisgICAgICAgIFRo
aXMgcGF0Y2ggZml4ZXMgdGhpcyBpc3N1ZSBieSBleHBhbmRpbmcgdGhlIG5vdGlvbiBvZiB3aGVy
ZSB0aGUgcHJvdG90eXBlCisgICAgICAgIG9mIGFuIG9iamVjdCBpcyBzdG9yZWQuIFRoZXJlIGFy
ZSBub3cgdHdvIG5vdGlvbnMgb2Ygd2hlcmUgdGhlIHByb3RvdHlwZQorICAgICAgICBpcyBzdG9y
ZWQuIEEgU3RydWN0dXJlIGNhbiBub3cgYmUgaW4gdHdvIG1vZGVzOgorICAgICAgICAxLiBNb25v
IHByb3RvIG1vZGUuIFRoaXMgaXMgdGhlIHNhbWUgbW9kZSBhcyB3ZSB1c2VkIHRvIGhhdmUuIEl0
IG1lYW5zCisgICAgICAgIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmIGhhcyBhIGNvbnN0YW50IHByb3Rv
dHlwZSB2YWx1ZS4KKyAgICAgICAgMi4gUG9seSBwcm90byBtb2RlLiBUaGlzIG1lYW5zIHRoZSBz
dHJ1Y3R1cmUga25vd3Mgbm90aGluZyBhYm91dCB0aGUKKyAgICAgICAgcHJvdG90eXBlIHZhbHVl
IGl0c2VsZi4gT2JqZWN0cyB3aXRoIHRoaXMgc3RydWN0dXJlIHN0b3JlIHRoZWlyIHByb3RvdHlw
ZQorICAgICAgICBpbiBub3JtYWwgb2JqZWN0IGZpZWxkIHN0b3JhZ2UuIFRoZSBzdHJ1Y3R1cmUg
d2lsbCB0ZWxsIHlvdSB0aGUgb2Zmc2V0IG9mCisgICAgICAgIHRoaXMgcHJvdG90eXBlIGluc2lk
ZSB0aGUgb2JqZWN0J3Mgc3RvcmFnZS4gQXMgb2YgdG9kYXksIHdlIG9ubHkgcmVzZXJ2ZQorICAg
ICAgICBpbmxpbmUgc2xvdHMgZm9yIHRoZSBwcm90b3R5cGUgZmllbGQgYmVjYXVzZSBwb2x5IHBy
b3RvIG9ubHkgb2NjdXJzCisgICAgICAgIGZvciBKU0ZpbmFsT2JqZWN0LiBIb3dldmVyLCB0aGlz
IHdpbGwgYmUgZXhwYW5kZWQgdG8gc3VwcG9ydCBvdXQgb2YgbGluZQorICAgICAgICBvZmZzZXRz
IGluIGEgZnV0dXJlIHBhdGNoIHdoZW4gd2UgZXh0ZW5kIHBvbHkgcHJvdG8gdG8gd29yayB3aGVu
IHdlIGluaGVyaXQKKyAgICAgICAgZnJvbSBidWlsdGluIHR5cGVzIGxpa2UgTWFwIGFuZCBBcnJh
eS4KKyAgICAgICAgCisgICAgICAgIEluIHRoaXMgaW5pdGlhbCBwYXRjaCwgd2UgZG8gcG9seSBw
cm90byBzdHlsZSBpbmxpbmUgY2FjaGluZyB3aGVuZXZlcgorICAgICAgICB3ZSBzZWUgYW4gb2Jq
ZWN0IHRoYXQgaXMgcG9seSBwcm90byBvciBpZiBhbiBvYmplY3QgaW4gaXRzIHByb3RvdHlwZSBs
b29rdXAKKyAgICAgICAgY2hhaW4gaXMgcG9seSBwcm90by4gUG9seSBwcm90byBJQ3Mgd29yayBi
eSB2ZXJpZnlpbmcgdGhlIGxvb2t1cCBjaGFpbgorICAgICAgICBhdCBydW50aW1lLiBUaGlzIGVz
c2VudGlhbGx5IGJvaWxzIGRvd24gdG8gcGVyZm9ybWluZyBzdHJ1Y3R1cmUgY2hlY2tzCisgICAg
ICAgIHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIEluIGEgZnV0dXJlIHBhdGNoLCB3ZSdyZSBnb2lu
ZyB0byBleHRlbmQgb2JqZWN0CisgICAgICAgIHByb3BlcnR5IGNvbmRpdGlvbiBzZXQgdG8gd29y
ayB3aXRoIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIHBvbHkgcHJvdG8gYmFzZXMuCisgICAgICAg
IAorICAgICAgICBJbml0aWFsbHksIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHByb3RvIGFjY2Vz
cyBjaGFpbnMgd2lsbCBhbHdheXMgdHVybgorICAgICAgICBpbnRvIEdldEJ5SWQvUHV0QnlJZCBp
biB0aGUgREZHLiBJbiBhIGZ1dHVyZSBwYXRjaCwgSSdtIGdvaW5nIHRvIHRlYWNoCisgICAgICAg
IHRoZSBERkcgaG93IHRvIGlubGluZSBjZXJ0YWluIGFjY2Vzc2VzIHRoYXQgaGF2ZSBwb2x5IHBy
b3RvIGluIHRoZSBhY2Nlc3MKKyAgICAgICAgY2hhaW4uCisgICAgICAgIAorICAgICAgICBPbmUg
b2YgbW9zdCBpbnRlcmVzdGluZyBwYXJ0cyBhYm91dCB0aGlzIHBhdGNoIGlzIGhvdyB3ZSBkZWNp
ZGUgd2hlbiB0byBnbworICAgICAgICBwb2x5IHByb3RvLiBUaGlzIHBhdGNoIHVzZXMgYSBwcm9m
aWxpbmcgYmFzZWQgYXBwcm9hY2guIEFuIElDIHdpbGwgaW5mb3JtCisgICAgICAgIGEgd2F0Y2hw
b2ludCB0aGF0IGl0IHNlZXMgYW4gb3Bwb3J0dW5pdHkgd2hlbiB0d28gU3RydWN0dXJlJ3MgYXJl
IHN0cnVjdHVyYWxseQorICAgICAgICB0aGUgc2FtZSwgc2FucyB0aGUgYmFzZSBvYmplY3QncyBw
cm90b3R5cGUuIFRoaXMgbWVhbnMgdGhhdCB0d28gc3RydWN0dXJlcworICAgICAgICBoYXZlIGVx
dWl2YWxlbnQgc2hhcGVzIGFsbCB0aGUgd2F5IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIFRvIHN1
cHBvcnQgZmFzdAorICAgICAgICBzdHJ1Y3R1cmFsIGNvbXBhcmlzb24sIHdlIGNvbXB1dGUgYSBo
YXNoIGZvciBhIHN0cnVjdHVyZSBiYXNlZCBvbiB0aGUgcHJvcGVydGllcworICAgICAgICBpdCBo
YXMuIFdlIGNvbXB1dGUgdGhpcyBoYXNoIGFzIHdlIGFkZCBwcm9wZXJ0aWVzIHRvIHRoZSBzdHJ1
Y3R1cmUuIFRoaXMKKyAgICAgICAgY29tcHV0YXRpb24gaXMgbmVhcmx5IGZyZWUgc2luY2Ugd2Ug
YWx3YXlzIGFkZCBVbmlxdWVkU3RyaW5nSW1wbConcyB3aGljaAorICAgICAgICBhbHJlYWR5IGhh
dmUgdGhlaXIgaGFzaGVzIGNvbXB1dGVkLiBUbyBjb21wYXJlIHN0cnVjdHVyYWwgZXF1aXZhbGVu
Y2UsIHdlCisgICAgICAgIGp1c3QgY29tcGFyZSBoYXNoIHZhbHVlcyBhbGwgdGhlIHdheSB1cCB0
aGUgcHJvdG90eXBlIGNoYWluLiBUaGlzIG1lYW5zIHdlCisgICAgICAgIGNhbiBnZXQgaGFzaCBj
b25mbGljdHMgYmV0d2VlbiB0d28gc3RydWN0dXJlcywgYnV0IGl0J3MgZXh0cmVtZWx5IHJhcmUu
IEZpcnN0LAorICAgICAgICBpdCdsbCBiZSByYXJlIGZvciB0d28gc3RydWN0dXJlcyB0byBoYXZl
IHRoZSBzYW1lIGhhc2guIFNlY29uZGx5LCB3ZSBvbmx5CisgICAgICAgIGNvbnNpZGVyIHN0cnVj
dHVyZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgICAgICAKKyAg
ICAgICAgSG93IHdlIHNldCB1cCB0aGlzIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCBpcyBjcnVjaWFs
IHRvIGl0cyBkZXNpZ24uIFdoZW4gd2UgY3JlYXRlX3RoaXMKKyAgICAgICAgYW4gb2JqZWN0IG9y
aWdpbmF0aW5nIGZyb20gc29tZSBleGVjdXRhYmxlLCB0aGF0IGV4ZWN1dGFibGUgd2lsbCBjcmVh
dGUgYSBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uCisgICAgICAgIEVhY2ggc3RydWN0dXJlIHRo
YXQgb3JpZ2luYXRlcyBmcm9tIHRoaXMgZXhlY3V0YWJsZSB3aWxsIGdldCBhIGNvcHkgb2YgdGhh
dAorICAgICAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4uIEFzIHRoYXQgc3RydWN0dXJlIHRy
YW5zaXRpb25zIHRvIG5ldyBzdHJ1Y3R1cmVzLAorICAgICAgICB0aGV5IHRvbyB3aWxsIGdldCBh
IGNvcHkgb2YgdGhhdCBCb3g8SW5pbG5lV2F0Y2hwb2ludFNldD4uIFRoZXJlZm9yZSwgd2hlbgor
ICAgICAgICBpbnZhbGlkYXRpbmcgYW4gYXJiaXRyYXJ5IHN0cnVjdHVyZSdzIHBvbHkgcHJvdG8g
d2F0Y2hwb2ludCwgd2Ugd2lsbCBrbm93CisgICAgICAgIHRoZSBuZXh0IHRpbWUgd2UgY3JlYXRl
X3RoaXMgZnJvbSB0aGF0IGV4ZWN1dGFibGUgdGhhdCBpdCBoYWQgYmVlbgorICAgICAgICBpbnZh
bGlkYXRlZCwgYW5kIHRoYXQgd2Ugc2hvdWxkIGNyZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkg
cHJvdG8KKyAgICAgICAgc3RydWN0dXJlLiBXZSBhbHNvIHVzZSB0aGUgcG9pbnRlciB2YWx1ZSBv
ZiB0aGlzIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PgorICAgICAgICB0byBkZXRlcm1pbmUgaWYg
dHdvIHN0cnVjdHVyZXMgb3JpZ2luYXRlZCBmcm9tIHRoZSBzYW1lIGV4ZWN1dGFibGUuIFRoaXMK
KyAgICAgICAgcHJ1bmluZyB3aWxsIHNldmVyZWx5IGxpbWl0IHRoZSBjaGFuY2VzIG9mIGdldHRp
bmcgYSBoYXNoIGNvbmZsaWN0IGluIHByYWN0aWNlLgorCisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3BwOgorICAgICAgICAqIGJ1aWx0aW5zL0J1
aWx0aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OkJ1aWx0aW5OYW1lcyk6
CisgICAgICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUp
OgorICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpBY2Nl
c3NDYXNlOjpBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y3JlYXRlKToK
KyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y29tbWl0KToKKyAgICAgICAgKEpTQzo6QWNjZXNz
Q2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2spOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNl
OjpjYW5SZXBsYWNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6ZHVtcCk6CisgICAgICAg
IChKU0M6OkFjY2Vzc0Nhc2U6OnZpc2l0V2Vhayk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6
OnByb3BhZ2F0ZVRyYW5zaXRpb25zKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJh
dGVXaXRoR3VhcmQpOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgor
ICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2Fz
ZTo6dXNlc1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2Up
OgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMu
Y3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRo
b3V0RXhpdFNpdGVGZWVkYmFjayk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRl
clNldHRlckFjY2Vzc0Nhc2UpOgorICAgICAgICAoSlNDOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
OjpjcmVhdGUpOgorICAgICAgICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoK
KyAgICAgICAgKiBieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaDoK
KyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVB
bGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpJbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKToKKyAgICAgICAgKiBieXRlY29kZS9J
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmg6CisgICAgICAgICogYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vz
c0Nhc2U6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL09i
amVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Ok9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZSk6CisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KToKKyAgICAg
ICAgKiBieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oOgorICAgICAgICAoSlNDOjpP
YmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok9iamVj
dEFsbG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHA6Cisg
ICAgICAgICogYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwOiBBZGRlZC4KKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OlBv
bHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlND
OjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcCk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seVBy
b3RvQWNjZXNzQ2hhaW4uaDogQWRkZWQuCisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0No
YWluOjpjbG9uZSk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpjaGFpbik6
CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvciE9KToKKyAgICAg
ICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmZvckVhY2gpOgorICAgICAgICAqIGJ5dGVj
b2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcDoKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nl
c3M6OmFkZENhc2VzKToKKyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJh
dGUpOgorICAgICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBieXRlY29kZS9Q
b2x5bW9ycGhpY0FjY2Vzcy5oOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0
OjpzaG91bGRSZXNldFN0dWIpOgorICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uU3RhdGU6
OkFjY2Vzc0dlbmVyYXRpb25TdGF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvUHJvcGVydHlDb25k
aXRpb24uY3BwOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlk
QXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQpOgorICAgICAgICAqIGJ5dGVjb2RlL1By
b3h5YWJsZUFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpQcm94eWFibGVBY2Nlc3NDYXNl
OjpQcm94eWFibGVBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6UHJveHlhYmxlQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmg6Cisg
ICAgICAgICogYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OlB1dEJ5
SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0
dXJlU3R1YkluZm8uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YWRkQWNj
ZXNzQ2FzZSk6CisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6bG9hZCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmNhbkRvRmFzdFNwcmVhZCk6CisgICAgICAgICogZGZn
L0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9y
T2JqZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3Rh
bmNlT2YpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAg
ICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVJbnN0YW5jZU9mKToKKyAg
ICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9p
bnN0YW5jZW9mKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRy
eUNhY2hlR2V0QnlJRCk6CisgICAgICAgIChKU0M6OnRyeUNhY2hlUHV0QnlJRCk6CisgICAgICAg
IChKU0M6OnRyeVJlcGF0Y2hJbik6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKFdURjo6
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpOgorICAg
ICAgICAoV1RGOjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6Cisg
ICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAg
KFdURjo6RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGU6OkRPTUpJVEF0
dHJpYnV0ZSk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklU
QXR0cmlidXRlOjpzbG93Q2FsbCk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09i
amVjdDo6RE9NSklUQXR0cmlidXRlOjpjYWxsRE9NR2V0dGVyKToKKyAgICAgICAgKFdURjo6RE9N
SklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIpOgorICAgICAgICAoV1RGOjpET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0
ZXJCYXNlSlNPYmplY3QpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAg
ICAgICAgKEpTQzo6TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50
aW1lL0FycmF5UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6ZmFzdEpvaW4pOgorICAgICAgICAoSlNDOjphcnJh
eVByb3RvRnVuY1JldmVyc2UpOgorICAgICAgICAoSlNDOjptb3ZlRWxlbWVudHMpOgorICAgICAg
ICAqIHJ1bnRpbWUvQ2xvbmVkQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJn
dW1lbnRzOjpjcmVhdGVFbXB0eSk6CisgICAgICAgIChKU0M6OkNsb25lZEFyZ3VtZW50czo6Y3Jl
YXRlV2l0aElubGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVXaXRoTWFjaGluZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVCeUNvcHlpbmdGcm9tKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6
CisgICAgICAgIChKU0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0
aW9uRXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlz
aXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwOgorICAgICAgICAoSlNDOjpGdW5j
dGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1
YmNsYXNzU3RydWN0dXJlU2xvdyk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNBcnJheTo6ZmFzdFNsaWNlKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6
c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpzaGlm
dENvdW50V2l0aEFueUluZGV4aW5nVHlwZSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXlJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmNhbkZhc3RDb3B5KToKKyAg
ICAgICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpk
dW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5jcHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVj
dGlvbik6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJh
cmVEYXRhKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZVJhcmVEYXRhKToK
KyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAg
KiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTTWFwLmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxl
KToKKyAgICAgICAgKEpTQzo6SlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
cHV0SW5saW5lU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5k
ZXhlZFN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdl
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFn
ZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVJbnQzMlNsb3cpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6ZW5zdXJlRG91YmxlU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpl
bnN1cmVDb250aWd1b3VzU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhZ2VTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVj
dCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0
U3RvcmVUbyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZyk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRQcm90b3R5cGVE
aXJlY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0UHJvcGVydHlTbG90KToKKyAgICAg
ICAgKiBydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
Z2V0UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE5vbkluZGV4UHJv
cGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dElubGluZUZvckpTT2JqZWN0
KToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oOgorICAgICAg
ICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToKKyAgICAgICAgKiBydW50aW1lL0pTU2V0
LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25P
YnNlcnZhYmxlKToKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2Vy
dmFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmg6CisgICAgICAg
IChKU0M6OkxhenlDbGFzc1N0cnVjdHVyZTo6cHJvdG90eXBlQ29uY3VycmVudGx5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBydW50aW1lL09wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpub3Jt
YWxpemVQcm90b3R5cGVDaGFpbik6CisgICAgICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6Cisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVN
YXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJl
KToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUZvclByb3RvdHlw
ZUZyb21CYXNlU3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6CisgICAgICAgICogcnVudGlt
ZS9Qcm90b3R5cGVNYXAuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAg
ICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNp
dGlvbik6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlOjp0b1N0cnVjdHVyZVNoYXBlKToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpkdW1wKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRU
b1BvbHlQcm90byk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cCk6IERlbGV0ZWQuCisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKTog
RGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAqIHJ1bnRp
bWUvU3RydWN0dXJlQ2hhaW4uY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVDaGFpbjo6Zmlu
aXNoQ3JlYXRpb24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaDoKKyAgICAg
ICAgKiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVj
dCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUpOgorICAgICAgICAoSlND
Ojpwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKToKKyAgICAgICAgKEpTQzo6U3RydWN0
dXJlOjpwcm90b3R5cGVGb3JMb29rdXApOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3Rv
dHlwZUNoYWluKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjppc1ZhbGlkKToKKyAgICAgICAg
KEpTQzo6U3RydWN0dXJlOjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFByb3Bl
cnR5VGFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwOgorICAg
ICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL1R5
cGVQcm9maWxlckxvZy5jcHA6CisgICAgICAgIChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vz
c0xvZ0VudHJpZXMpOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVNldC5jcHA6CisgICAgICAgIChK
U0M6OlR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1hdGlvbik6CisgICAgICAgICogcnVudGltZS9UeXBl
U2V0Lmg6CisgICAgICAgICogcnVudGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6
V3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPjo6aXNJbnQzMik6CisKIDIwMTctMTAtMDEgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIyMjI1NjQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNl
cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTIyNyw5ICsyMjcsMTEgQEAgYnl0ZWNvZGUvTGF6eU9wZXJhbmRWYWx1
ZVByb2ZpbGUuY3BwCiBieXRlY29kZS9NZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLmNwcAog
Ynl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKIGJ5dGVjb2RlL01vZHVsZVBy
b2dyYW1Db2RlQmxvY2suY3BwCitieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAK
IGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uLmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQuY3BwCiBieXRlY29kZS9PcGNvZGUuY3BwCitieXRlY29kZS9Qb2x5
UHJvdG9BY2Nlc3NDaGFpbi5jcHAKIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAogYnl0
ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAogYnl0ZWNvZGUvUHJvZ3JhbUNvZGVCbG9jay5j
cHAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDYgKzk1Myw5MCBA
QCB2b2lkIERPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Q6OmZpbmlzaENyCiAgICAgcHV0RGlyZWN0
TmF0aXZlRnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygm
dm0sICJmdW5jIiksIDAsIHNhZmVGdW5jdGlvbiwgTm9JbnRyaW5zaWMsICZET01KSVRDaGVja1N1
YkNsYXNzT2JqZWN0U2lnbmF0dXJlLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5KSk7CiB9CiAKK2NsYXNzIERPTUpJVEdldHRlckJhc2VKU09iamVjdCA6
IHB1YmxpYyBET01KSVROb2RlIHsKK3B1YmxpYzoKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBCYXNlKHZtLCBzdHJ1
Y3R1cmUpCisgICAgeworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICB1c2luZyBCYXNl
ID0gRE9NSklUTm9kZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJv
dG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNDOjpKU1R5cGUoTGFzdEpTQ09iamVjdFR5
cGUgKyAxKSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlKQorICAgIHsKKyAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBnZXR0ZXIgPSBu
ZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q+KHZtLmhl
YXAsIHNpemVvZihET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpKSkgRE9NSklUR2V0dGVyQmFzZUpT
T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBnZXR0ZXItPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGdldHRlcjsKKyAgICB9CisKKyAgICBjbGFzcyBET01KSVRBdHRy
aWJ1dGUgOiBwdWJsaWMgRE9NSklUOjpHZXR0ZXJTZXR0ZXIgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgY29uc3RleHByIERPTUpJVEF0dHJpYnV0ZSgpCisgICAgICAgICAgICA6IERPTUpJVDo6R2V0
dGVyU2V0dGVyKAorICAgICAgICAgICAgICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3Vz
dG9tR2V0dGVyLAorI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICAgICAgJmNhbGxET01HZXR0
ZXIsCisjZWxzZQorICAgICAgICAgICAgICAgIG51bGxwdHIsCisjZW5kaWYKKyAgICAgICAgICAg
ICAgICBTcGVjQnl0ZWNvZGVUb3ApCisgICAgICAgIHsKKyAgICAgICAgfQorCisjaWYgRU5BQkxF
KEpJVCkKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gc2xvd0Nh
bGwoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBwb2ludGVyKQorICAgICAgICB7CisgICAgICAgICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0YXRp
Y19jYXN0PEpTT2JqZWN0Kj4ocG9pbnRlcik7CisgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgICAgICB9CisKKyAgICAg
ICAgc3RhdGljIFJlZjxET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBjYWxsRE9NR2V0dGVy
KCkKKyAgICAgICAgeworICAgICAgICAgICAgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBw
ZXQ+IHNuaXBwZXQgPSBET01KSVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0OjpjcmVhdGUoKTsKKyAg
ICAgICAgICAgIHNuaXBwZXQtPnJlcXVpcmVHbG9iYWxPYmplY3QgPSBmYWxzZTsKKyAgICAgICAg
ICAgIHNuaXBwZXQtPnNldEdlbmVyYXRvcihbPV0oQ0NhbGxIZWxwZXJzJiBqaXQsIFNuaXBwZXRQ
YXJhbXMmIHBhcmFtcykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdHMgPSBw
YXJhbXNbMF0uanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBHUFJSZWcgZG9tID0gcGFy
YW1zWzFdLmdwcigpOworICAgICAgICAgICAgICAgIHBhcmFtcy5hZGRTbG93UGF0aENhbGwoaml0
Lmp1bXAoKSwgaml0LCBzbG93Q2FsbCwgcmVzdWx0cywgZG9tKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCgpOworCisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJldHVybiBzbmlwcGV0OworICAgICAgICB9CisjZW5kaWYKKyAgICB9OworCitwcml2
YXRlOgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKworICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBjdXN0b21HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSkKKyAgICB7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CisgICAgICAgIEpTT2JqZWN0KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHRoaXNPYmplY3QpOworICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3Qt
PmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICB9Cit9OworCitzdGF0aWMgY29uc3QgRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGUgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0RE9NSklUOworCit2b2lkIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBjb25zdCBE
T01KSVQ6OkdldHRlclNldHRlciogZG9tSklUID0gJkRPTUpJVEdldHRlckJhc2VKU09iamVjdERP
TUpJVDsKKyAgICBhdXRvKiBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBET01BdHRyaWJ1dGVHZXR0ZXJT
ZXR0ZXI6OmNyZWF0ZSh2bSwgZG9tSklULT5nZXR0ZXIoKSwgbnVsbHB0ciwgRE9NQXR0cmlidXRl
QW5ub3RhdGlvbiB7IEpTT2JqZWN0OjppbmZvKCksIGRvbUpJVCB9KTsKKyAgICBwdXREaXJlY3RD
dXN0b21BY2Nlc3Nvcih2bSwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZygmdm0sICJjdXN0b21HZXR0
ZXIiKSwgY3VzdG9tR2V0dGVyU2V0dGVyLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IpOworfQorCiBjb25zdCBDbGFzc0luZm8g
RWxlbWVudDo6c19pbmZvID0geyAiRWxlbWVudCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoRWxlbWVudCkgfTsKIGNvbnN0IENsYXNzSW5mbyBN
YXNxdWVyYWRlcjo6c19pbmZvID0geyAiTWFzcXVlcmFkZXIiLCAmQmFzZTo6c19pbmZvLCBudWxs
cHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKE1hc3F1ZXJhZGVyKSB9OwogY29uc3Qg
Q2xhc3NJbmZvIFJvb3Q6OnNfaW5mbyA9IHsgIlJvb3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJvb3QpIH07CkBAIC05NjUsNiArMTA0OSw3
IEBAIGNvbnN0IENsYXNzSW5mbyBET01KSVROb2RlOjpzX2luZm8gPSB7ICIKICNlbmRpZgogY29u
c3QgQ2xhc3NJbmZvIERPTUpJVEdldHRlcjo6c19pbmZvID0geyAiRE9NSklUR2V0dGVyIiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRH
ZXR0ZXIpIH07CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQ29tcGxleDo6c19pbmZvID0g
eyAiRE9NSklUR2V0dGVyQ29tcGxleCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIs
IENSRUFURV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyQ29tcGxleCkgfTsKK2NvbnN0IENsYXNz
SW5mbyBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckJh
c2VKU09iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRI
T0RfVEFCTEUoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KSB9OwogI2lmIEVOQUJMRShKSVQpCiBj
b25zdCBDbGFzc0luZm8gRE9NSklURnVuY3Rpb25PYmplY3Q6OnNfaW5mbyA9IHsgIkRPTUpJVEZ1
bmN0aW9uT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgJkRPTUpJVEZ1bmN0aW9uT2Jq
ZWN0OjpjaGVja1N1YkNsYXNzU25pcHBldCwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRGdW5j
dGlvbk9iamVjdCkgfTsKICNlbHNlCkBAIC0xMTQ0LDYgKzEyMjksNyBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QoRXhlY1N0YXRl
Kik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEZ1bmN0aW9uT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0KEV4ZWNT
dGF0ZSopOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVh
dGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4oRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9i
amVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKik7CkBAIC0xNDYyLDYgKzE1
NDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklU
R2V0dGVyQ29tcGxleE9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9i
amVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklURnVuY3Rpb25P
YmplY3QiLCBmdW5jdGlvbkNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0LCAwKTsKICAgICAgICAg
YWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0IiwgZnVuY3Rp
b25DcmVhdGVET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0LCAwKTsKKyAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJjcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZURP
TUpJVEdldHRlckJhc2VKU09iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3Jl
YXRlQnVpbHRpbiIsIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbiwgMik7CiAgICAgICAgIGFkZEZ1bmN0
aW9uKHZtLCAiY3JlYXRlR2xvYmFsT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3Qs
IDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgInNldEltcHVyZUdldHRlckRlbGVnYXRlIiwg
ZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZSwgMik7CkBAIC0yMTk4LDYgKzIyODUsMTYg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqIGV4ZWMp
Cit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7
CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBqc051bGwoKSk7
CisgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiByZXN1bHQgPSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmNyZWF0ZSh2bSwgc3RydWN0dXJlKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7Cit9CisKKwogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
blNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC04MTAsNiArODEwLDcgQEAKIAkJ
NDQ0M0FFMzMxNkUxODhEOTAwNzZGMTEwIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVCNjEwNUM4NkM2
QjAwRTZERjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk0NTE1MzlCOTEyREM5
OTQ1MDBFRjdBQzQgLyogWWFyci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NzNEQTRBNDc2NEM0NUZF
ODcxQjA0ODUgLyogRGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNjk5NDhFREU2OEQ0MDU0QjAxRUY3OTcgLyog
RGVmaW5lUHJvcGVydHlBdHRyaWJ1dGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTIxMTMxRjcxRjgyQkYxNDAwN0NDRUVFIC8qIFBvbHlQcm90
b0FjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjEzMjI0
NjFFQ0JDRTgyMDBGNjU2MTUgLyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyMTMyMjQ0MUVDQkNFODIwMEY2
NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovOyB9OwogCQk1MjUwRDJEMjFFOERB
MDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTI1MEQyRDAxRThEQTA1QTAwMjlBOTMyIC8qIFdhc21UaHVua3Mu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MjVD
MEREQTFFOTM1ODQ3MDAyMTg0Q0QgLyogV2FzbUNhbGxlZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTI1QzBERDgxRTkzNTg0NzAwMjE4NENEIC8qIFdh
c21DYWxsZWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMzEyMSw2ICszMTIyLDggQEAKIAkJNENFOTc4RTM4NUE4NDk4MTk5MDUyMTUzIC8qIE1v
ZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUYwRUI2MTA1Qzg2QzZCMDBFNkRGMUIgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IEZvdW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CiAJCTUxRjBFQzA3MDVDODZDOUEwMEU2REYxQiAvKiBsaWJvYmpjLmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVk
Lm1hY2gtby5keWxpYiI7IG5hbWUgPSBsaWJvYmpjLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGli
b2JqYy5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNTIxMTMxRjUxRjgy
QkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTIxMTMxRjYxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBvbHlQcm90b0FjY2Vzc0NoYWluLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUyMTMyMjQzMUVDQkNFODIwMEY2NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9u
QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBc3NlbWJs
eUZ1bmN0aW9uQmFzZS5jcHA7IHBhdGggPSBqcy9XZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUyMTMyMjQ0MUVDQkNFODIwMEY2NTYxNSAv
KiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oOyBwYXRoID0ganMvV2ViQXNzZW1ibHlGdW5j
dGlvbkJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTI1MEQyQ0YxRThEQTA1
QTAwMjlBOTMyIC8qIFdhc21UaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2FzbVRodW5rcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
MzU2LDYgKzczNTksOCBAQAogCQkJCTk2OUEwNzk1MEVEMUQzQUUwMEYxRjY4MSAvKiBPcGNvZGUu
aCAqLywKIAkJCQkwRjJCREMyQjE1MUZERThCMDBDRDg5MTAgLyogT3BlcmFuZHMuaCAqLywKIAkJ
CQlBNzA0NDdFOTE3QTBCRDQ2MDBGNTg5OEUgLyogT3BlcmFuZHNJbmxpbmVzLmggKi8sCisJCQkJ
NTIxMTMxRjUxRjgyQkYxMTAwN0NDRUVFIC8qIFBvbHlQcm90b0FjY2Vzc0NoYWluLmNwcCAqLywK
KwkJCQk1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCAq
LywKIAkJCQkwRkY5Q0U3MTFCOUNENkQwMDA0RURDQTYgLyogUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
ICovLAogCQkJCTBGRjlDRTcyMUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vzcy5o
ICovLAogCQkJCTBGOTgyMDVEMTZCRkUzN0YwMDI0MEQwMiAvKiBQcmVjaXNlSnVtcFRhcmdldHMu
Y3BwICovLApAQCAtODE5NSw2ICs4MjAwLDcgQEAKIAkJCQlBNzk4NkQ1NzE3QTBCQjFFMDBBOTVE
RDAgLyogREZHRWRnZVVzZXNTdHJ1Y3R1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOEYxNDM0
MUFERjA5MDEwMEVENzkyQyAvKiBERkdFcG9jaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCQzBB
RTgxNDk2QzdDNzAwRDRGQkREIC8qIERGR0V4aXRQcm9maWxlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE3OEE5Nzc1MTc5NzM4QjgwMDlERjc0NCAvKiBERkdGYWlsZWRGaW5h
bGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkZGM0MwMTc5ODY4OTQwMDAyRjQ2MiAvKiBE
RkdGaWx0cmF0aW9uUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzhBOTc3NzE3OTczOEI4
MDA5REY3NDQgLyogREZHRmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuY3BwCShyZXZpc2lvbiAy
MjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVfSURF
TlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgSU5JVElBTElaRV9CVUlMVElOX1BSSVZBVEVfTkFN
RVMKIAogU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCBkb2xsYXJWTVByaXZhdGVOYW1lIHsg
IlByaXZhdGVTeW1ib2wuJHZtIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CitTeW1i
b2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lIHsgIlBy
aXZhdGVTeW1ib2wuX19wcm90b19fIiwgU3ltYm9sSW1wbDo6c19mbGFnSXNQcml2YXRlIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFN5bWJvbHMKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFtZXMuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5U
SUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIERFQ0xBUkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAK
IGV4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5hbWU7
CitleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3JlUHJvdG9Qcml2
YXRlTmFtZTsKIH0KIAogI2RlZmluZSBJTklUSUFMSVpFX1BSSVZBVEVfVE9fUFVCTElDX0VOVFJZ
KG5hbWUpIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtXyMjbmFtZSMjUHJpdmF0ZU5hbWUuaW1w
bCgpLCAmbV8jI25hbWUpOwpAQCAtMjMwLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElB
TElaRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgICAgICwgbV9kb2xsYXJWTU5hbWUoSWRlbnRpZmll
cjo6ZnJvbVN0cmluZyh2bSwgIiR2bSIpKQogICAgICAgICAsIG1fZG9sbGFyVk1Qcml2YXRlTmFt
ZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAmc3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJv
bHM6OmRvbGxhclZNUHJpdmF0ZU5hbWUpKSkKKyAgICAgICAgLCBtX3VuZGVyc2NvcmVQcm90b1By
aXZhdGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBs
Jj4oU3ltYm9sczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUpKSkKICAgICB7CiAgICAgICAg
IEpTQ19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShJTklUSUFMSVpFX1BSSVZBVEVfVE9f
UFVCTElDX0VOVFJZKQogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFD
SF9QUk9QRVJUWV9OQU1FKElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNfRU5UUlkpCkBAIC0y
MzgsNiArMjQwLDggQEAgcHVibGljOgogICAgICAgICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJ
RklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJTklUSUFMSVpFX1NZTUJPTF9QVUJMSUNfVE9f
UFJJVkFURV9FTlRSWSkKICAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fZG9sbGFy
Vk1Qcml2YXRlTmFtZS5pbXBsKCksICZtX2RvbGxhclZNTmFtZSk7CiAgICAgICAgIG1fcHVibGlj
VG9Qcml2YXRlTWFwLmFkZChtX2RvbGxhclZNTmFtZS5pbXBsKCksICZtX2RvbGxhclZNUHJpdmF0
ZU5hbWUpOworICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV91bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZS5pbXBsKCksICZjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3Rv
KTsKKyAgICAgICAgbV9wdWJsaWNUb1ByaXZhdGVNYXAuYWRkKGNvbW1vbklkZW50aWZpZXJzLT51
bmRlcnNjb3JlUHJvdG8uaW1wbCgpLCAmbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSk7CiAg
ICAgfQogCiAgICAgY29uc3QgSWRlbnRpZmllciogbG9va1VwUHJpdmF0ZU5hbWUoY29uc3QgSWRl
bnRpZmllciYpIGNvbnN0OwpAQCAtMjUwLDYgKzI1NCw3IEBAIHB1YmxpYzoKICAgICBKU0NfQ09N
TU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JV
SUxUSU5fU1lNQk9MX0FDQ0VTU09SKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFy
Vk1QdWJsaWNOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTU5hbWU7IH0KICAgICBjb25z
dCBKU0M6OklkZW50aWZpZXImIGRvbGxhclZNUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBt
X2RvbGxhclZNUHJpdmF0ZU5hbWU7IH0KKyAgICBjb25zdCBKU0M6OklkZW50aWZpZXImIHVuZGVy
c2NvcmVQcm90b1ByaXZhdGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcnNjb3JlUHJvdG9Q
cml2YXRlTmFtZTsgfQogCiBwcml2YXRlOgogICAgIElkZW50aWZpZXIgbV9lbXB0eUlkZW50aWZp
ZXI7CkBAIC0yNTgsNiArMjYzLDcgQEAgcHJpdmF0ZToKICAgICBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChERUNMQVJFX0JVSUxUSU5fU1lNQk9M
UykKICAgICBjb25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTU5hbWU7CiAgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsKKyAgICBjb25zdCBKU0M6Oklk
ZW50aWZpZXIgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZTsKICAgICB0eXBlZGVmIEhhc2hN
YXA8UmVmUHRyPFVuaXF1ZWRTdHJpbmdJbXBsPiwgY29uc3QgSWRlbnRpZmllciosIElkZW50aWZp
ZXJSZXBIYXNoPiBCdWlsdGluTmFtZXNNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHVibGlj
VG9Qcml2YXRlTWFwOwogICAgIEJ1aWx0aW5OYW1lc01hcCBtX3ByaXZhdGVUb1B1YmxpY01hcDsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nl
c3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzYgKzU1LDM5IEBAIG5hbWVzcGFjZSBB
Y2Nlc3NDYXNlSW50ZXJuYWwgewogc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOwog
fQogCi1BY2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNz
VHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorQWNjZXNzQ2Fz
ZTo6QWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKICAgICA6IG1fdHlwZSh0eXBlKQog
ICAgICwgbV9vZmZzZXQob2Zmc2V0KQorICAgICwgbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbihXVEZN
b3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsKICAgICBtX3N0cnVjdHVyZS5zZXRNYXlCZU51
bGwodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwogICAgIG1fY29uZGl0aW9uU2V0ID0gY29uZGl0aW9u
U2V0OwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBv
ZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCYgY29uZGl0aW9uU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nh
c2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVy
dHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIEluSGl0OgogICAgIGNhc2UgSW5NaXNzOgorICAgICAgICBicmVhazsKICAgICBj
YXNlIEFycmF5TGVuZ3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgogICAgIGNhc2UgRGlyZWN0
QXJndW1lbnRzTGVuZ3RoOgogICAgIGNhc2UgU2NvcGVkQXJndW1lbnRzTGVuZ3RoOgogICAgIGNh
c2UgTW9kdWxlTmFtZXNwYWNlTG9hZDoKICAgICBjYXNlIFJlcGxhY2U6CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKCFwcm90b3R5cGVBY2Nlc3NDaGFpbik7CiAgICAgICAgIGJyZWFrOwogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1
Y3R1cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlKAogICAgIFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVj
dHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVj
dHVyZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKQEAgLTk2LDcgKzk5LDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OgogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICB9CiAKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0cnVj
dHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogfQog
CiBBY2Nlc3NDYXNlOjp+QWNjZXNzQ2FzZSgpCkBAIC0xMzUsNyArMTM4LDggQEAgVmVjdG9yPFdh
dGNocG9pbnRTZXQqLCAyPiBBY2Nlc3NDYXNlOjpjbwogICAgIFZlY3RvcjxXYXRjaHBvaW50U2V0
KiwgMj4gcmVzdWx0OwogCiAgICAgaWYgKChzdHJ1Y3R1cmUoKSAmJiBzdHJ1Y3R1cmUoKS0+bmVl
ZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQotICAgICAgICB8fCBtX2NvbmRpdGlvblNldC5u
ZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCisgICAgICAgIHx8IG1fY29uZGl0aW9uU2V0
Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQorICAgICAgICB8fCAobV9wb2x5UHJvdG9B
Y2Nlc3NDaGFpbiAmJiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5uZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkpKQogICAgICAgICByZXN1bHQuYXBwZW5kKHZtLmVuc3VyZVdhdGNocG9pbnRT
ZXRGb3JJbXB1cmVQcm9wZXJ0eShpZGVudCkpOwogCiAgICAgaWYgKGFkZGl0aW9uYWxTZXQoKSkK
QEAgLTE1MSw2ICsxNTUsOSBAQCBib29sIEFjY2Vzc0Nhc2U6Omd1YXJkZWRCeVN0cnVjdHVyZUNo
ZWNrCiAgICAgaWYgKHZpYVByb3h5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlm
IChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBz
d2l0Y2ggKG1fdHlwZSkgewogICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdM
ZW5ndGg6CkBAIC0yMTAsNiArMjE3LDE5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFjZShj
b25zdCBBY2Nlc3MKICAgICAgICAgcmV0dXJuIHRoaXNDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVj
dCgpID09IG90aGVyQ2FzZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKTsKICAgICB9CiAgICAgZGVm
YXVsdDoKKyAgICAgICAgaWYgKG90aGVyLnR5cGUoKSAhPSB0eXBlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAg
ICAgICAgICAgIGlmICghb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IGNoZWNr
IHdlIG5lZWQgc2luY2UgUG9seVByb3RvQWNjZXNzQ2hhaW4gY29udGFpbnMgdGhlIGJhc2Ugc3Ry
dWN0dXJlLgorICAgICAgICAgICAgLy8gSWYgd2UgZXZlciBjaGFuZ2UgaXQgdG8gY29udGFpbiBv
bmx5IHRoZSBwcm90b3R5cGUgY2hhaW4sIHdlJ2xsIGFsc28gbmVlZCB0byBjaGFuZ2UKKyAgICAg
ICAgICAgIC8vIHRoaXMgdG8gY2hlY2sgdGhlIGJhc2Ugc3RydWN0dXJlLgorICAgICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZSgpID09IG90aGVyLnN0cnVjdHVyZSgpCisgICAgICAgICAgICAgICAg
JiYgKm1fcG9seVByb3RvQWNjZXNzQ2hhaW4gPT0gKm90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hh
aW47CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIWd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkg
fHwgIW90aGVyLmd1YXJkZWRCeVN0cnVjdHVyZUNoZWNrKCkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKQEAgLTIxOSwyMiArMjM5LDI3IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Y2FuUmVwbGFj
ZShjb25zdCBBY2Nlc3MKIAogdm9pZCBBY2Nlc3NDYXNlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQp
IGNvbnN0CiB7Ci0gICAgb3V0LnByaW50KG1fdHlwZSwgIjooIik7CisgICAgb3V0LnByaW50KCJc
biIsIG1fdHlwZSwgIjooIik7CiAKICAgICBDb21tYVByaW50ZXIgY29tbWE7CiAKICAgICBvdXQu
cHJpbnQoY29tbWEsIG1fc3RhdGUpOwogCi0gICAgaWYgKG1fdHlwZSA9PSBUcmFuc2l0aW9uKQot
ICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1
Y3R1cmUoKSksICIgLT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKLSAgICBlbHNl
IGlmIChtX3N0cnVjdHVyZSkKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0g
IiwgcG9pbnRlckR1bXAobV9zdHJ1Y3R1cmUuZ2V0KCkpKTsKLQogICAgIGlmIChpc1ZhbGlkT2Zm
c2V0KG1fb2Zmc2V0KSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAib2Zmc2V0ID0gIiwgbV9v
ZmZzZXQpOwogICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgpKQogICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJjb25kaXRpb25zID0gIiwgbV9jb25kaXRpb25TZXQpOwogCisgICAgaWYg
KG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgb3V0LnByaW50KGNvbW1hLCAicHJv
dG90eXBlIGFjY2VzcyBjaGFpbiA9ICIpOworICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
LT5kdW1wKHN0cnVjdHVyZSgpLCBvdXQpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtX3R5
cGUgPT0gVHJhbnNpdGlvbikKKyAgICAgICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVy
ZSA9ICIsIHBvaW50ZXJEdW1wKHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdT
dHJ1Y3R1cmUoKSkpOworICAgICAgICBlbHNlIGlmIChtX3N0cnVjdHVyZSkKKyAgICAgICAgICAg
IG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJl
LmdldCgpKSk7CisgICAgfQorCiAgICAgZHVtcEltcGwob3V0LCBjb21tYSk7CiAgICAgb3V0LnBy
aW50KCIpIik7CiB9CkBAIC0yNDMsNiArMjY4LDEyIEBAIGJvb2wgQWNjZXNzQ2FzZTo6dmlzaXRX
ZWFrKFZNJiB2bSkgY29uc3QKIHsKICAgICBpZiAobV9zdHJ1Y3R1cmUgJiYgIUhlYXA6OmlzTWFy
a2VkKG1fc3RydWN0dXJlLmdldCgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICht
X3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgOiBtX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jaGFpbigpKSB7CisgICAgICAgICAgICBpZiAo
IUhlYXA6OmlzTWFya2VkKHN0cnVjdHVyZSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisgICAgfQogICAgIGlmICghbV9jb25kaXRpb25TZXQuYXJlU3RpbGxMaXZl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoaXNBY2Nlc3NvcigpKSB7CkBAIC0y
NzMsNiArMzA0LDExIEBAIGJvb2wgQWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJhbnNpdGlvbnMoU2wK
ICAgICBpZiAobV9zdHJ1Y3R1cmUpCiAgICAgICAgIHJlc3VsdCAmPSBtX3N0cnVjdHVyZS0+bWFy
a0lmQ2hlYXAodmlzaXRvcik7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgewor
ICAgICAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bi0+Y2hhaW4oKSkKKyAgICAgICAgICAgIHJlc3VsdCAmPSBzdHJ1Y3R1cmUtPm1hcmtJZkNoZWFw
KHZpc2l0b3IpOworICAgIH0KKwogICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBUcmFu
c2l0aW9uOgogICAgICAgICBpZiAoSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9zdHJ1Y3R1
cmUtPnByZXZpb3VzSUQoKSkpCkBAIC0zNzIsMjYgKzQwOCw3MiBAQCB2b2lkIEFjY2Vzc0Nhc2U6
OmdlbmVyYXRlV2l0aEd1YXJkKAogICAgIH0KIAogICAgIGRlZmF1bHQ6IHsKLSAgICAgICAgaWYg
KHZpYVByb3h5KCkpIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAgICAg
ICAgICAgICBqaXQuYnJhbmNoOCgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VH
UFIsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBD
Q2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsKLQot
ICAgICAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
UHJveHk6OnRhcmdldE9mZnNldCgpKSwgc2NyYXRjaEdQUik7Ci0KLSAgICAgICAgICAgIGZhbGxU
aHJvdWdoLmFwcGVuZCgKLSAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAg
ICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJ
RE9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAg
aWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgIEdQUlJlZyBiYXNlRm9y
QWNjZXNzR1BSID0gc3RhdGUuc2NyYXRjaEdQUjsKKyAgICAgICAgICAgIGppdC5tb3ZlKHN0YXRl
LmJhc2VHUFIsIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgbV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbi0+Zm9yRWFjaChzdHJ1Y3R1cmUoKSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Ym9vbCBhdEVuZCkgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9m
ZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSkpOworICAgICAgICAg
ICAgICAgIGlmIChhdEVuZCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoKG1fdHlwZSA9PSBN
aXNzIHx8IG1fdHlwZSA9PSBJbk1pc3MgfHwgbV90eXBlID09IFRyYW5zaXRpb24pICYmIHN0cnVj
dHVyZS0+aGFzUG9seVByb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZvciBh
IE1pc3MvSW5NaXNzL1RyYW5zaXRpb24sIHdlIG11c3QgZW5zdXJlIHdlJ3JlIGF0IHRoZSBlbmQg
d2hlbiB0aGUgbGFzdCBpdGVtIGlzIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUcmFuc2l0aW9ucyBtdXN0IGRvIHRoaXMgYmVjYXVzZSB0aGV5IG5lZWQgdG8gdmVyaWZ5
IHRoZXJlIGlzbid0IGEgc2V0dGVyIGluIHRoZSBjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIE1pc3MvSW5NaXNzIG5lZWQgdG8gZG8gdGhpcyB0byBlbnN1cmUgdGhlcmUgaXNuJ3Qg
YSBuZXcgaXRlbSBhdCB0aGUgZW5kIG9mIHRoZSBjaGFpbiB0aGF0CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBoYXMgdGhlIHByb3BlcnR5LgorICAgICAgICAgICAgICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0ID0gc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0
KHBvbHlQcm90b09mZnNldCkpOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgICAgICAgICAg
ICAgICAgICBqaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NH
UFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKHBvbHlQcm90b09mZnNldCkpLCBiYXNlRm9yQWNjZXNz
R1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJh
bmNoNjQoQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwgYmFzZUZvckFjY2Vzc0dQUiwgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworI2Vsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQ
Uiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2UocG9seVByb3RvT2Zmc2V0KSArIFBheWxvYWRPZmZzZXQp
LCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZChqaXQuYnJhbmNoVGVzdFB0cihDQ2FsbEhlbHBlcnM6Ok5vblplcm8sIGJhc2VGb3JB
Y2Nlc3NHUFIpKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1By
b3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoc3RhdGUubV9nbG9iYWxPYmplY3QpOworICAgICAg
ICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvdG90eXBlLmlzT2JqZWN0KCkpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1t
UHRyKGFzT2JqZWN0KHByb3RvdHlwZSkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7IC8vIFByaW1pdGl2ZXMgbXVzdCBoYXZlIGEgc3RvcmVk
IHByb3RvdHlwZS4gV2UgdXNlIHByb3RvdHlwZUZvckxvb2t1cCBmb3IgdGhlbS4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCA9IHN0cnVjdHVy
ZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChpc0lubGluZU9mZnNldChwb2x5UHJvdG9PZmZzZXQpKTsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShwb2x5UHJvdG9PZmZz
ZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6RXF1YWwsIGJhc2VGb3JBY2Nl
c3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyNlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKHBvbHlQcm90b09mZnNldCkg
KyBQYXlsb2FkT2Zmc2V0KSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAg
ICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaFRlc3RQdHIoQ0NhbGxIZWxwZXJzOjpa
ZXJvLCBiYXNlRm9yQWNjZXNzR1BSKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOwogICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hT
dHJ1Y3R1cmUoCi0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0g
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6
OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkp
OworICAgICAgICAgICAgaWYgKHZpYVByb3h5KCkpIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2g4KAorICAgICAgICAg
ICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlw
ZU9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3Rl
ZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkpOworCisgICAgICAgICAgICAgICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTUHJveHk6OnRhcmdldE9m
ZnNldCgpKSwgc2NyYXRjaEdQUik7CisKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBl
bmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAg
ICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hHUFIsIEpTQ2VsbDo6c3RydWN0dXJl
SURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAg
ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUoCisgICAgICAgICAgICAgICAg
ICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAgICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQo
KSksCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0gfTsKQEAgLTQyOCw2ICs1MTAsOCBA
QCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5lCiAgICAgQVNTRVJUKG1f
Y29uZGl0aW9uU2V0LnN0cnVjdHVyZXNFbnN1cmVWYWxpZGl0eUFzc3VtaW5nSW1wdXJlUHJvcGVy
dHlXYXRjaHBvaW50KCkpOwogCiAgICAgZm9yIChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
biYgY29uZGl0aW9uIDogbV9jb25kaXRpb25TZXQpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IW1fcG9seVByb3RvQWNjZXNzQ2hhaW4pOworCiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gY29uZGl0aW9uLm9iamVjdCgpLT5zdHJ1Y3R1cmUoKTsKIAogICAgICAgICBpZiAoY29uZGl0
aW9uLmlzV2F0Y2hhYmxlQXNzdW1pbmdJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkgewpAQCAt
NTA0LDEzICs1ODgsMTkgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2Vu
ZQogICAgICAgICAgICAgYmFzZUZvckdldEdQUiA9IGJhc2VHUFI7CiAKICAgICAgICAgR1BSUmVn
IGJhc2VGb3JBY2Nlc3NHUFI7Ci0gICAgICAgIGlmICghbV9jb25kaXRpb25TZXQuaXNFbXB0eSgp
KSB7Ci0gICAgICAgICAgICBqaXQubW92ZSgKLSAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW1QdHIoYWx0ZXJuYXRlQmFzZSgpKSwKLSAgICAgICAgICAgICAgICBzY3JhdGNo
R1BSKTsKKyAgICAgICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAg
IC8vIFRoaXMgaXNuJ3QgcHJldHR5LCBidXQgd2Uga25vdyB3ZSBnb3QgaGVyZSB2aWEgZ2VuZXJh
dGVXaXRoR3VhcmQsCisgICAgICAgICAgICAvLyBhbmQgaXQgbGVmdCB0aGUgYmFzZUZvckFjY2Vz
cyBpbnNpZGUgc2NyYXRjaEdQUi4gV2UgY291bGQgcmUtZGVyaXZlIHRoZSBiYXNlLAorICAgICAg
ICAgICAgLy8gYnV0IGl0J2QgcmVxdWlyZSBlbWl0dGluZyB0aGUgc2FtZSBjb2RlIHRvIGxvYWQg
dGhlIGJhc2UgdHdpY2UuCiAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQ
UjsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZv
ckdldEdQUjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbV9jb25kaXRpb25T
ZXQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgaml0Lm1vdmUoCisgICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLCBzY3Jh
dGNoR1BSKTsKKyAgICAgICAgICAgICAgICBiYXNlRm9yQWNjZXNzR1BSID0gc2NyYXRjaEdQUjsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBi
YXNlRm9yR2V0R1BSOworICAgICAgICB9CiAKICAgICAgICAgR1BSUmVnIGxvYWRlZFZhbHVlR1BS
ID0gSW52YWxpZEdQUlJlZzsKICAgICAgICAgaWYgKG1fdHlwZSAhPSBDdXN0b21WYWx1ZUdldHRl
ciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNzb3JHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbVZh
bHVlU2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvclNldHRlcikgewpAQCAtMTAxNiw3
ICsxMTA2LDcgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZQogICAg
ICAgICAKICAgICBjYXNlIEludHJpbnNpY0dldHRlcjogewogICAgICAgICBSRUxFQVNFX0FTU0VS
VChpc1ZhbGlkT2Zmc2V0KG9mZnNldCgpKSk7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFdlIG5l
ZWQgdG8gZW5zdXJlIHRoZSBnZXR0ZXIgdmFsdWUgZG9lcyBub3QgbW92ZSBmcm9tIHVuZGVyIHVz
LiBOb3RlIHRoYXQgR2V0dGVyU2V0dGVycwogICAgICAgICAvLyBhcmUgaW1tdXRhYmxlIHNvIHdl
IGp1c3QgbmVlZCB0byB3YXRjaCB0aGUgcHJvcGVydHkgbm90IGFueSB2YWx1ZSBpbnNpZGUgaXQu
CiAgICAgICAgIFN0cnVjdHVyZSogY3VyclN0cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKICNpbmNs
dWRlICJPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5oIgorI2luY2x1ZGUgIlBvbHlQcm90b0Fj
Y2Vzc0NoYWluLmgiCiAjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTEyMCwxMSArMTIxLDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCogb3duZXIsIEFj
Y2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0ID0gaW52YWxpZE9mZnNldCwKLSAgICAgICAgU3RydWN0
dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQoKSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiA9IG51bGxwdHIp
OwogCiAgICAgLy8gVGhpcyBjcmVhdGUgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciB0cmFuc2l0
aW9ucy4KICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYs
IEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwK
LSAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCkpOworICAgICAgICBTdHJ1
Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBz
dGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gZnJvbVN0cnVjdHVyZVN0dWJJbmZvKFZNJiwgSlNDZWxs
KiBvd25lciwgU3RydWN0dXJlU3R1YkluZm8mKTsKIApAQCAtMTg2LDkgKzE4NywyNSBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIH5BY2Nlc3NDYXNlKCk7CiAKKyAgICBib29sIHVzZXNQb2x5UHJv
dG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEhbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bjsKKyAgICB9CisKIHByb3RlY3RlZDoKLSAgICBBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0Jik7Ci0gICAgQWNjZXNzQ2FzZShjb25zdCBBY2Nlc3NDYXNlJikg
PSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBl
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKKyAgICBBY2Nl
c3NDYXNlKEFjY2Vzc0Nhc2UmJikgPSBkZWZhdWx0OworICAgIEFjY2Vzc0Nhc2UoY29uc3QgQWNj
ZXNzQ2FzZSYgb3RoZXIpCisgICAgICAgIDogbV90eXBlKG90aGVyLm1fdHlwZSkKKyAgICAgICAg
LCBtX3N0YXRlKG90aGVyLm1fc3RhdGUpCisgICAgICAgICwgbV9vZmZzZXQob3RoZXIubV9vZmZz
ZXQpCisgICAgICAgICwgbV9zdHJ1Y3R1cmUob3RoZXIubV9zdHJ1Y3R1cmUpCisgICAgICAgICwg
bV9jb25kaXRpb25TZXQob3RoZXIubV9jb25kaXRpb25TZXQpCisgICAgeworICAgICAgICBpZiAo
b3RoZXIubV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAgICAgIG1fcG9seVByb3RvQWNj
ZXNzQ2hhaW4gPSBvdGhlci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluLT5jbG9uZSgpOworICAgIH0K
KwogICAgIEFjY2Vzc0Nhc2UmIG9wZXJhdG9yPShjb25zdCBBY2Nlc3NDYXNlJikgPSBkZWxldGU7
CiAgICAgdm9pZCByZXNldFN0YXRlKCkgeyBtX3N0YXRlID0gUHJpbW9yZGlhbDsgfQogCkBAIC0y
MjcsNiArMjQ0LDggQEAgcHJpdmF0ZToKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0
cnVjdHVyZTsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IG1fY29uZGl0aW9uU2V0
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBtX3BvbHlQcm90
b0FjY2Vzc0NoYWluOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjIyNzEyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU5Myw3ICs1OTMsNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtLCBTCiAgICAgICAgICAgICBpbnQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IHBjW29w
TGVuZ3RoIC0gMl0udS5vcGVyYW5kOwogCiAgICAgICAgICAgICBpbnN0cnVjdGlvbnNbaSArIG9w
TGVuZ3RoIC0gMV0gPSBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZTsKLSAgICAgICAgICAgIG9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplKHZtLAorICAgICAgICAgICAgb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemVQcm9maWxlKHZtLAogICAgICAgICAgICAgICAgIG1f
Z2xvYmFsT2JqZWN0LmdldCgpLCB0aGlzLCBtX2dsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBl
KCksIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0
YXR1cy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDYgKzIxOSw5IEBA
IEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNv
bnN0IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGxpc3RJbmRleCk7CiAgICAgICAgICAg
ICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRT
dGF0dXMoc2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CisKKyAgICAgICAgICAgIGlmIChhY2Nlc3MudXNl
c1BvbHlQcm90bygpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQ
YXRoU3RhdGUsIHRydWUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGFjY2Vzcy5zdHJ1Y3R1cmUoKTsKICAgICAgICAgICAgIGlmICghc3RydWN0dXJl
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDE3ICs0MiwxNyBAQCBuYW1lc3BhY2UgR2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZUludGVybmFsCiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiB9CiAKLUdl
dHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBj
b25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQs
IEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NU
eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25h
bFNldCkKK0dldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQ
cm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICA6IEJhc2Uodm0sIG93
bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94
eSwgYWRkaXRpb25hbFNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAg
bV9jdXN0b21TbG90QmFzZS5zZXRNYXlCZU51bGwodm0sIG93bmVyLCBjdXN0b21TbG90QmFzZSk7
CiB9CiAKIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nh
c2U6OmNyZWF0ZSgKLSAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKLSAgICBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LAotICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFs
PERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0dHJpYnV0ZSkKKyAgICBWTSYgdm0sIEpTQ2Vs
bCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwKKyAgICBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwKKyAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+IGRvbUF0
dHJpYnV0ZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbikKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEdldHRlcjoKQEAg
LTYzLDE4ICs2MywxOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVy
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH07CiAKLSAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
dmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlx
dWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQs
IHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0gZG9tQXR0cmli
dXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5nZXR0ZXIgPSBjdXN0b21HZXR0ZXI7
CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vz
c0Nhc2U+IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3du
ZXIsIEFjY2Vzc1R5cGUgdHlwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwKLSAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9u
U2V0LCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCisgICAgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVf
cHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgUHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmMgY3VzdG9tU2V0dGVyLAogICAgIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSkKIHsKICAgICBBU1NFUlQodHlwZSA9PSBTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21W
YWx1ZVNldHRlciB8fCB0eXBlID09IEN1c3RvbUFjY2Vzc29yU2V0dGVyKTsKLSAgICBzdGQ6OnVu
aXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlKSk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNl
LCBudWxscHRyLCBjdXN0b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikp
KTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iuc2V0dGVyID0gY3VzdG9tU2V0dGVyOwog
ICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE2ICs0OCwxMiBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZSgKICAgICAg
ICAgVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0
dXJlKiwKLSAgICAgICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLAot
ICAgICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwKLSAgICAgICAg
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgPSBudWxscHRyLAotICAgICAgICBKU09iamVjdCog
Y3VzdG9tU2xvdEJhc2UgPSBudWxscHRyLAotICAgICAgICBzdGQ6Om9wdGlvbmFsPERPTUF0dHJp
YnV0ZUFubm90YXRpb24+ID0gc3RkOjpudWxsb3B0KTsKKyAgICAgICAgY29uc3QgT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlv
bmFsU2V0LCBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYywKKyAgICAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLCBzdGQ6Om9wdGlvbmFsPERPTUF0dHJpYnV0ZUFubm90YXRpb24+LCBzdGQ6
OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlw
ZSwgU3RydWN0dXJlKiwgUHJvcGVydHlPZmZzZXQsCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRy
LAotICAgICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UgPSBudWxscHRyKTsKKyAgICAgICAg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+LAorICAgICAgICBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9
IG51bGxwdHIsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOwogCiAgICAgdm9p
ZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpA
QCAtNjcsNyArNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCogY3VzdG9tQWNjZXNzb3IoKSBjb25z
dCB7IHJldHVybiBtX2N1c3RvbUFjY2Vzc29yLm9wYXF1ZTsgfQogCiBwcml2YXRlOgotICAgIEdl
dHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9m
ZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29s
IHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9t
U2xvdEJhc2UpOworICAgIEdldHRlclNldHRlckFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0
LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4pOwogCiAgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShjb25zdCBHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlJik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxl
LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9J
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYs
OCArNDYsMTEgQEAgcHJpdmF0ZToKIGlubGluZSBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb25B
bGxvY2F0aW9uUHJvZmlsZTo6Y3JlYXRlQWxsb2NhdGlvblN0cnVjdHVyZUZyb21CYXNlKFZNJiB2
bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlKQogewogICAgIEFTU0VSVCghbV9z
dHJ1Y3R1cmUgfHwgbV9zdHJ1Y3R1cmUuZ2V0KCktPmNsYXNzSW5mbygpICE9IGJhc2VTdHJ1Y3R1
cmUtPmNsYXNzSW5mbygpKTsKKyAgICBBU1NFUlQoYmFzZVN0cnVjdHVyZS0+aGFzTW9ub1Byb3Rv
KCkpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmU7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCBwb2x5bW9ycGhpYyBwcm90b3R5cGVzIGZvciBzdWJjbGFzc2VzIG9mIGJ1aWx0aW4gdHlwZXM6
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAog
ICAgIGlmIChwcm90b3R5cGUgPT0gYmFzZVN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkpCiAg
ICAgICAgIHN0cnVjdHVyZSA9IGJhc2VTdHJ1Y3R1cmU7CiAgICAgZWxzZQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0
ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMyw3ICszMyw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZTo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIEpTRnVuY3Rpb24qIGludHJpbnNp
Y0Z1bmN0aW9uKQotICAgIDogQmFzZSh2bSwgb3duZXIsIEludHJpbnNpY0dldHRlciwgb2Zmc2V0
LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBJbnRyaW5z
aWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIG51bGxwdHIpCiB7CiAg
ICAgbV9pbnRyaW5zaWNGdW5jdGlvbi5zZXQodm0sIG93bmVyLCBpbnRyaW5zaWNGdW5jdGlvbik7
CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVy
QWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNh
bkVtaXRJbnRyaW5zaWNHZXR0ZXIoSlNGdW5jdGlvbiosIFN0cnVjdHVyZSopOwogICAgIHZvaWQg
ZW1pdEludHJpbnNpY0dldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmKTsKIAorICAgIC8vIEZJ
WE1FOiBNYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG86CisgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiwgUHJvcGVydHlPZmZzZXQsIFN0
cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgSlNGdW5jdGlvbiog
aW50cmluc2ljRnVuY3Rpb24pOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNs
b25lKCkgY29uc3Qgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCShyZXZp
c2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFt
ZXNwYWNlQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAKIG5h
bWVzcGFjZSBKU0MgewogCiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpNb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgSlNNb2R1bGVOYW1lc3BhY2VPYmpl
Y3QqIG1vZHVsZU5hbWVzcGFjZU9iamVjdCwgSlNNb2R1bGVFbnZpcm9ubWVudCogbW9kdWxlRW52
aXJvbm1lbnQsIFNjb3BlT2Zmc2V0IHNjb3BlT2Zmc2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIs
IE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0KCkpCisgICAgOiBCYXNlKHZtLCBvd25lciwgTW9kdWxlTmFtZXNwYWNl
TG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQo
KSwgbnVsbHB0cikKICAgICAsIG1fc2NvcGVPZmZzZXQoc2NvcGVPZmZzZXQpCiB7CiAgICAgbV9t
b2R1bGVOYW1lc3BhY2VPYmplY3Quc2V0KHZtLCBvd25lciwgbW9kdWxlTmFtZXNwYWNlT2JqZWN0
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5oIgorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCisKK25hbWVzcGFjZSBKU0MgeworCit2b2lkIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjppbml0aWFsaXplUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVk
IGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQoreworICAg
IEFTU0VSVCghbV9hbGxvY2F0b3IpOworICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIEFT
U0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7CisKKyAgICAvLyBGSVhNRTogV2hlbiBnb2luZyBwb2x5
IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCisgICAgLy8gY3Jl
YXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdC4K
KyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3Cisg
ICAgYm9vbCBpc1BvbHlQcm90byA9IGZhbHNlOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhl
Y3V0YWJsZSA9IG51bGxwdHI7CisgICAgaWYgKGNvbnN0cnVjdG9yKSB7CisgICAgICAgIC8vIEZJ
WE1FOiBBIEpTRnVuY3Rpb24gc2hvdWxkIHdhdGNoIHRoZSBwb2x5IHByb3RvIHdhdGNocG9pbnQg
aWYgaXQgaXMgbm90IGludmFsaWRhdGVkLgorICAgICAgICAvLyBUaGF0IHdheSBpdCBjYW4gY2xl
YXIgdGhpcyBvYmplY3QgYWxsb2NhdGlvbiBwcm9maWxlIHRvIGVuc3VyZSBpdCBzdG9wcyBhbGxv
Y2F0aW5nCisgICAgICAgIC8vIG1vbm8gcHJvdG8gfHRoaXN8IHZhbHVlcyB3aGVuIGl0IGtub3dz
IHRoYXQgaXQgc2hvdWxkIGJlIGFsbG9jYXRpbmcgcG9seSBwcm90bworICAgICAgICAvLyB8dGhp
c3wgdmFsdWVzOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc3NzkyCisKKyAgICAgICAgZXhlY3V0YWJsZSA9IGNvbnN0cnVjdG9yLT5qc0V4ZWN1
dGFibGUoKTsKKyAgICAgICAgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgaWYgKE9wdGlv
bnM6OmZvcmNlUG9seVByb3RvKCkpCisgICAgICAgICAgICBpc1BvbHlQcm90byA9IHRydWU7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gZXhlY3V0YWJsZS0+ZW5zdXJl
UG9seVByb3RvV2F0Y2hwb2ludCgpLmhhc0JlZW5JbnZhbGlkYXRlZCgpICYmIGV4ZWN1dGFibGUt
PnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworCisgICAgICAgIGlm
IChpc1BvbHlQcm90bykgeworICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0g
ZXhlY3V0YWJsZS0+Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IEZpbmFsT2Jq
ZWN0VHlwZSk7CisgICAgICAgICAgICAgICAgbV9hbGxvY2F0b3IgPSBudWxscHRyOworICAgICAg
ICAgICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CisgICAgICAg
ICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IHN0cnVjdHVyZS0+aW5saW5lQ2FwYWNpdHkoKTsK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKKyAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7CisgICAgaWYgKGluZmVycmVkSW5s
aW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewor
ICAgICAgICAvLyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5
c2lzLgorICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFBy
b3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7CisKKyAgICAgICAgaWYgKCFpbmZlcnJlZElubGlu
ZUNhcGFjaXR5KSB7CisgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBzbyBt
b3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0CisgICAgICAgICAgICAv
LyBzZWUgdGhlIHJlYWwgaW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRo
IGhlbHBlciBmdW5jdGlvbnMuCisgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0g
SlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7CisgICAgICAgIH0gZWxzZSBp
ZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVD
YXBhY2l0eSgpKSB7CisgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsg
Z3Vlc3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKKyAgICAgICAgICAg
IC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgorICAgICAgICAgICAgaW5mZXJyZWRJbmxp
bmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOworICAg
ICAgICB9CisKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5
OworICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxp
bmVDYXBhY2l0eSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ug
b2JqZWN0LgorICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7
CisgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpCisgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCk7CisgICAgfQorCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAg
ICAgICsraW5saW5lQ2FwYWNpdHk7CisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gc3RkOjptaW4o
aW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworICAg
IH0KKworICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA+IDApOworICAgIEFTU0VSVChpbmxpbmVD
YXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKKworICAgIHNp
emVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmplY3Q6OmFsbG9jYXRpb25TaXplKGlubGlu
ZUNhcGFjaXR5KTsKKyAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFj
ZS5hbGxvY2F0b3JGb3IoYWxsb2NhdGlvblNpemUpOworCisgICAgLy8gVGFrZSBhZHZhbnRhZ2Ug
b2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KKyAg
ICBpZiAoYWxsb2NhdG9yKSB7CisgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2Vs
bFNpemUoKSAtIGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4p
OworICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOworICAgICAgICBpZiAoaW5saW5lQ2Fw
YWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAg
aW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAg
IH0KKworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVtcHR5T2Jq
ZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBpbmxpbmVD
YXBhY2l0eSwgaXNQb2x5UHJvdG8pOworCisgICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAg
IEFTU0VSVChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKTsKKyAgICAgICAgbV9hbGxvY2F0b3Ig
PSBudWxscHRyOworICAgICAgICBleGVjdXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1
cmUodm0sIHN0cnVjdHVyZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUp
IHsKKyAgICAgICAgICAgIGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKTsK
KyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZW5zdXJlUmFyZURhdGEodm0pLT5zZXRTaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KGV4ZWN1dGFibGUtPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSk7
CisgICAgICAgIH0KKworICAgICAgICBtX2FsbG9jYXRvciA9IGFsbG9jYXRvcjsKKyAgICB9CisK
KyAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVyIHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUs
IGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0ZWQKKyAgICBXVEY6OnN0b3JlU3RvcmVGZW5j
ZSgpOworCisgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAgICBt
X2lubGluZUNhcGFjaXR5ID0gaW5saW5lQ2FwYWNpdHk7Cit9CisKK3Vuc2lnbmVkIE9iamVjdEFs
bG9jYXRpb25Qcm9maWxlOjpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNP
YmplY3QqIHByb3RvdHlwZSkKK3sKKyAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xv
YmFsT2JqZWN0KCktPm9iamVjdFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IHNpemVfdCBjb3VudCA9IDA7CisgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJy
YXkoJnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJv
bE1vZGU6OkluY2x1ZGUpOworICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFByb3BlcnR5
TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRpb25Nb2Rl
KCkpOworICAgIFByb3BlcnR5TmFtZUFycmF5RGF0YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9w
ZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVBcnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZl
Y3RvcigpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lVmVjdG9yLnNp
emUoKTsgKytpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBwcm90b3R5cGUtPmdldERpcmVj
dCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKKworICAgICAgICAvLyBGdW5jdGlvbnMgYXJl
IGNvbW1vbiwgYW5kIGFyZSB1c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90
IG92ZXJyaWRkZW4uCisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwg
dmFsdWUpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgKytjb3VudDsKKworICAg
IH0KKyAgICByZXR1cm4gY291bnQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw1
OSArNDgsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3N0cnVj
dHVyZTsgfQogCi0gICAgdm9pZCBpbml0aWFsaXplKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQg
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9hbGxvY2F0
b3IpOwotICAgICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKLSAgICAgICAgQVNTRVJUKCFtX2lu
bGluZUNhcGFjaXR5KTsKLQotICAgICAgICB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDA7Ci0g
ICAgICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9i
amVjdCBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMuCi0gICAgICAgICAgICBpbmZlcnJlZElubGlu
ZUNhcGFjaXR5ICs9IHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQodm0sIHByb3RvdHlwZSk7
Ci0KLSAgICAgICAgICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgewotICAgICAgICAg
ICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUsIHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0
aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKLSAgICAgICAgICAgICAgICAvLyBzZWUgdGhlIHJlYWwg
aW5pdGlhbGl6ZXIgZnVuY3Rpb24uIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGhlbHBlciBmdW5jdGlv
bnMuCi0gICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmpl
Y3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChpbmZl
cnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5
KCkpIHsKLSAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHdlYWsgZ3Vl
c3Nlcywgc28gZG9uJ3QgYWxsb3cgdGhlbSB0byB0dXJuIGEgc21hbGwKLSAgICAgICAgICAgICAg
ICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7
Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmlu
YWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KLSAgICAgICAgICAgIGlubGluZUNhcGFj
aXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7Ci0gICAgICAg
IEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8PSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0
eSgpKTsKLQotICAgICAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0Ojph
bGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7Ci0gICAgICAgIE1hcmtlZEFsbG9jYXRvciog
YWxsb2NhdG9yID0gdm0uY2VsbFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7Ci0g
ICAgICAgIAotICAgICAgICAvLyBUYWtlIGFkdmFudGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNp
dHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNzLgotICAgICAgICBpZiAoYWxsb2NhdG9yKSB7
Ci0gICAgICAgICAgICBzaXplX3Qgc2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxv
Y2F0aW9uU2l6ZSkgLyBzaXplb2YoV3JpdGVCYXJyaWVyPFVua25vd24+KTsKLSAgICAgICAgICAg
IGlubGluZUNhcGFjaXR5ICs9IHNsb3A7Ci0gICAgICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkg
PiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQotICAgICAgICAgICAgICAgIGlu
bGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgfQotCi0gICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gdm0ucHJvdG90eXBlTWFwLmVt
cHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBp
bmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJl
YWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCi0g
ICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Ci0KLSAgICAgICAgbV9hbGxvY2F0b3IgPSBh
bGxvY2F0b3I7Ci0gICAgICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7
Ci0gICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKLSAgICB9CisgICAg
dm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBvd25l
ciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwg
SlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKCkKICAgICB7CkBAIC0xMTMsNyArNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNs
ZWFyKCkKICAgICB7Ci0gICAgICAgIG1fYWxsb2NhdG9yID0gMDsKKyAgICAgICAgbV9hbGxvY2F0
b3IgPSBudWxscHRyOwogICAgICAgICBtX3N0cnVjdHVyZS5jbGVhcigpOwogICAgICAgICBtX2lu
bGluZUNhcGFjaXR5ID0gMDsKICAgICAgICAgQVNTRVJUKGlzTnVsbCgpKTsKQEAgLTEyNSwyOCAr
NzMsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotCi0gICAgdW5zaWduZWQgcG9zc2li
bGVEZWZhdWx0UHJvcGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCi0gICAg
ewotICAgICAgICBpZiAocHJvdG90eXBlID09IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCktPm9i
amVjdFByb3RvdHlwZSgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgc2l6ZV90
IGNvdW50ID0gMDsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXkgcHJvcGVydHlOYW1lQXJyYXko
JnZtLCBQcm9wZXJ0eU5hbWVNb2RlOjpTdHJpbmdzQW5kU3ltYm9scywgUHJpdmF0ZVN5bWJvbE1v
ZGU6OkluY2x1ZGUpOwotICAgICAgICBwcm90b3R5cGUtPnN0cnVjdHVyZSgpLT5nZXRQcm9wZXJ0
eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1lQXJyYXksIEVudW1lcmF0aW9uTW9k
ZSgpKTsKLSAgICAgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1l
VmVjdG9yLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBKU1ZhbHVlIHZhbHVlID0gcHJvdG90
eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7Ci0KLSAgICAgICAgICAg
IC8vIEZ1bmN0aW9ucyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2Jq
ZWN0cyB0aGF0IGFyZSBub3Qgb3ZlcnJpZGRlbi4KLSAgICAgICAgICAgIGlmIChqc0R5bmFtaWND
YXN0PEpTRnVuY3Rpb24qPih2bSwgdmFsdWUpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
Ci0gICAgICAgICAgICArK2NvdW50OwotCi0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNvdW50
OwotICAgIH0KKyAgICB1bnNpZ25lZCBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiwg
SlNPYmplY3QqIHByb3RvdHlwZSk7CiAKICAgICBNYXJrZWRBbGxvY2F0b3IqIG1fYWxsb2NhdG9y
OyAvLyBQcmVjb21wdXRlZCB0byBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIGdlbmVyYXRlZCBjb2Rl
LgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RydWN0dXJlOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDQsMTEgKzIwNCwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiBnZW5lcmF0
ZUNvbmRpdGlvCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5Q29uZGl0
aW9uOjpBYnNlbmNlOiB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQor
ICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7CiAgICAgICAgIHJl
c3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlKAogICAgICAgICAgICAgdm0s
IG93bmVyLCBvYmplY3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQcm9wZXJ0eUNvbmRp
dGlvbjo6QWJzZW5jZU9mU2V0RWZmZWN0OiB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1Bv
bHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uKCk7
CiAgICAgICAgIHJlc3VsdCA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uOjphYnNlbmNlT2ZTZXRF
ZmZlY3QoCiAgICAgICAgICAgICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVj
dHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMjU4
LDYgKzI2MiwxNSBAQCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBnZW5lcmF0ZUNvbmRpCiAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiSXQncyBhIHByb3h5LCBzbyBpbnZhbGlkLlxuIik7CiAg
ICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsK
ICAgICAgICAgfQorCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7Cisg
ICAgICAgICAgICAvLyBGSVhNRTogSW50ZWdyYXRlIHRoaXMgd2l0aCBQb2x5UHJvdG9BY2Nlc3ND
aGFpbjoKKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzczMzkKKyAgICAgICAgICAgIC8vIE9yIGF0IGxlYXN0IGFsbG93IE9QQyBzZXQgZ2Vu
ZXJhdGlvbiB3aGVuIHRoZQorICAgICAgICAgICAgLy8gYmFzZSBpcyBub3QgcG9seSBwcm90bzoK
KyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzc3MjEKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52
YWxpZCgpOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc3Ry
dWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKICAgICAgICAgCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9B
Y2Nlc3NDaGFpbi5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUG9seVByb3RvQWNjZXNzQ2hhaW4uaCIKKwor
I2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitzdGQ6OnVuaXF1ZV9w
dHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNlLCBjb25zdCBQcm9wZXJ0eVNs
b3QmIHNsb3QsIGJvb2wmIHVzZXNQb2x5UHJvdG8pCit7CisgICAgSlNPYmplY3QqIHRhcmdldCA9
IHNsb3QuaXNVbnNldCgpID8gbnVsbHB0ciA6IHNsb3Quc2xvdEJhc2UoKTsKKyAgICByZXR1cm4g
Y3JlYXRlKGdsb2JhbE9iamVjdCwgYmFzZSwgdGFyZ2V0LCB1c2VzUG9seVByb3RvKTsKK30KKwor
c3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBQb2x5UHJvdG9BY2Nlc3NDaGFp
bjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSwgSlNP
YmplY3QqIHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU0NlbGwqIGN1cnJl
bnQgPSBiYXNlOworICAgIFZNJiB2bSA9ICpiYXNlLT52bSgpOworCisgICAgYm9vbCBmb3VuZCA9
IGZhbHNlOworCisgICAgdXNlc1BvbHlQcm90byA9IGZhbHNlOworCisgICAgc3RkOjp1bmlxdWVf
cHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiByZXN1bHQobmV3IFBvbHlQcm90b0FjY2Vzc0NoYWlu
KCkpOworCisgICAgZm9yICh1bnNpZ25lZCBpdGVyYXRpb25OdW1iZXIgPSAwOyB0cnVlOyArK2l0
ZXJhdGlvbk51bWJlcikgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1cnJlbnQt
PnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPnByb3BlcnR5QWNjZXNz
ZXNBcmVDYWNoZWFibGUoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CisgICAgICAgICAgICBB
U1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKyAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUt
Pmhhc0JlZW5GbGF0dGVuZWRCZWZvcmUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgICAgICAgICAgc3RydWN0dXJlLT5mbGF0dGVuRGljdGlvbmFyeVN0cnVjdHVyZSh2
bSwgYXNPYmplY3QoY3VycmVudCkpOworICAgICAgICB9CisKKyAgICAgICAgLy8gVG8gc2F2ZSBt
ZW1vcnksIHdlIGRvbid0IGluY2x1ZGUgdGhlIGJhc2UgaW4gdGhlIGNoYWluLiBXZSBsZXQKKyAg
ICAgICAgLy8gQWNjZXNzQ2FzZSBwcm92aWRlIHRoZSBiYXNlIHRvIHVzIGFzIG5lZWRlZC4KKyAg
ICAgICAgaWYgKGl0ZXJhdGlvbk51bWJlcikKKyAgICAgICAgICAgIHJlc3VsdC0+bV9jaGFpbi5h
cHBlbmQoc3RydWN0dXJlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoY3VycmVudCA9PSBiYXNlKTsKKworICAgICAgICBpZiAoY3VycmVudCA9PSB0YXJnZXQpIHsK
KyAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisKKyAgICAgICAgLy8gV2Ugb25seSBoYXZlIHBvbHkgcHJvdG8gaWYgd2UgbmVlZCB0byBhY2Nl
c3Mgb3VyIHByb3RvdHlwZSB2aWEKKyAgICAgICAgLy8gdGhlIHBvbHkgcHJvdG8gcHJvdG9jb2wu
IElmIHRoZSBzbG90IGJhc2UgaXMgdGhlIG9ubHkgcG9seSBwcm90bworICAgICAgICAvLyB0aGlu
ZyBpbiB0aGUgY2hhaW4sIGFuZCB3ZSBoYXZlIGEgY2FjaGUgaGl0IG9uIGl0LCB0aGVuIHdlJ3Jl
IG5vdAorICAgICAgICAvLyBwb2x5IHByb3RvLgorICAgICAgICB1c2VzUG9seVByb3RvIHw9IHN0
cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBz
dHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGN1cnJlbnQpOworICAg
ICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KKworICAgIGlmICghZm91bmQg
JiYgISF0YXJnZXQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKworYm9vbCBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6bmVlZEltcHVyZVByb3BlcnR5V2F0
Y2hwb2ludCgpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6IG1fY2hh
aW4pIHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2lu
dCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsK
K30KKworYm9vbCBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6b3BlcmF0b3I9PShjb25zdCBQb2x5UHJv
dG9BY2Nlc3NDaGFpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY2hhaW4gPT0gb3Ro
ZXIubV9jaGFpbjsKK30KKwordm9pZCBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcChTdHJ1Y3R1
cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0Cit7CisgICAgb3V0LnBy
aW50KCJQb2x5UG9seVByb3RvQWNjZXNzQ2hhaW46IFtcbiIpOworICAgIGZvckVhY2goYmFzZVN0
cnVjdHVyZSwgWyZdIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCkgeworICAgICAgICBvdXQu
cHJpbnQoIlx0Iik7CisgICAgICAgIHN0cnVjdHVyZS0+ZHVtcChvdXQpOworICAgICAgICBvdXQu
cHJpbnQoIlxuIik7CisgICAgfSk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5oCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFp
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0dsb2JhbE9iamVjdDsKK2Ns
YXNzIEpTT2JqZWN0OworY2xhc3MgUHJvcGVydHlTbG90OworY2xhc3MgU3RydWN0dXJlOworCitj
bGFzcyBQb2x5UHJvdG9BY2Nlc3NDaGFpbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUG9seVByb3RvQWNjZXNzQ2hhaW4pOworCitwdWJs
aWM6CisgICAgUG9seVByb3RvQWNjZXNzQ2hhaW4oUG9seVByb3RvQWNjZXNzQ2hhaW4mKSA9IGRl
ZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51bGxwdHIgd2hlbiBpbnZhbGlkLgorICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9i
amVjdCosIEpTQ2VsbCogYmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiwgYm9vbCYgdXNlc1BvbHlQ
cm90byk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4g
Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBi
b29sJiB1c2VzUG9seVByb3RvKTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8
UG9seVByb3RvQWNjZXNzQ2hhaW4+KCp0aGlzKTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8
U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jaGFpbjsgfQorCisgICAgdm9p
ZCBkdW1wKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7
CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVy
KSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUG9seVByb3RvQWNjZXNzQ2hhaW4m
IG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOwor
ICAgIH0KKworICAgIGJvb2wgbmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0Owor
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmM+CisgICAgdm9pZCBmb3JFYWNoKFN0cnVjdHVy
ZSogYmFzZVN0cnVjdHVyZSwgY29uc3QgRnVuYyYgZnVuYykgY29uc3QKKyAgICB7CisgICAgICAg
IGJvb2wgYXRFbmQgPSAhbV9jaGFpbi5zaXplKCk7CisgICAgICAgIGZ1bmMoYmFzZVN0cnVjdHVy
ZSwgYXRFbmQpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFpbi5zaXpl
KCk7ICsraSkgeworICAgICAgICAgICAgYXRFbmQgPSBpICsgMSA9PSBtX2NoYWluLnNpemUoKTsK
KyAgICAgICAgICAgIGZ1bmMobV9jaGFpbltpXSwgYXRFbmQpOworICAgICAgICB9CisgICAgfQor
Citwcml2YXRlOgorICAgIFBvbHlQcm90b0FjY2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAg
Ly8gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBiYXNlLiBXZSByZWx5IG9uIEFjY2Vzc0Nhc2Ug
cHJvdmlkaW5nIGl0IGZvciB1cy4gVGhhdCBzYWlkLCB0aGlzIGRhdGEKKyAgICAvLyBzdHJ1Y3R1
cmUgaXMgdGllZCB0byB0aGUgYmFzZSB0aGF0IGl0IHdhcyBjcmVhdGVkIHdpdGguCisgICAgVmVj
dG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IAorfTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNB
Y2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4LDQxIEBAIEFjY2Vzc0dlbmVy
YXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nlc3MKICAgICBpZiAoY2FzZXNUb0FkZC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpNYWRlTm9DaGFuZ2Vz
OwogCisgICAgYm9vbCBzaG91bGRSZXNldCA9IGZhbHNlOworICAgIGF1dG8gY29uc2lkZXJQb2x5
UHJvdG9SZXNldCA9IFsmXSAoU3RydWN0dXJlKiBhLCBTdHJ1Y3R1cmUqIGIpIHsKKyAgICAgICAg
aWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAg
ICAgICAvLyBGb3Igbm93LCB3ZSBvbmx5IHJlc2V0IGlmIHRoaXMgaXMgb3VyIGZpcnN0IHRpbWUg
aW52YWxpZGF0aW5nIHRoaXMgd2F0Y2hwb2ludC4KKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgcHJvYmFibHkgaGF2ZSBhbGwgdGhhdCBjYW4gd2F0Y2ggZm9yIHRoZSBwb2x5IHByb3Rv
CisgICAgICAgICAgICAvLyB3YXRjaHBvaW50IGRvIGl0LiBUaGlzIHdpbGwgYWxsb3cgc3R1YnMg
dG8gY2xlYXIgb3V0IHRoZWlyIG5vbi1wb2x5LXByb3RvCisgICAgICAgICAgICAvLyBJQyBjYXNl
cy4gVGhpcyBpcyBsaWtlbHkgdG8gYmUgZmFzdGVyIGlmIHlvdSBidWlsZCB1cCBhIGJ1bmNoIG9m
IElDcywgdGhlbgorICAgICAgICAgICAgLy8gdHJpZ2dlciBwb2x5IHByb3RvLCB0aGVuIG9ubHkg
YWNjZXNzIHBvbHkgcHJvdG8gb2JqZWN0cy4gSWYgd2UgZG8gdGhpcywgd2UnbGwKKyAgICAgICAg
ICAgIC8vIG5lZWQgdGhpcyBjb2RlIGJlbG93IHRvIGRlbGF5IGZpcmluZyB0aGUgd2F0Y2hwb2lu
dCBzaW5jZSBpdCBtaWdodCBjYXVzZQorICAgICAgICAgICAgLy8gdXMgdG8gZGVhbGxvY2F0ZSBv
dXJzZWx2ZXM6CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3NzY1CisgICAgICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVk
UG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQoKS5nZXQoKSk7CisgICAgICAgICAgICBzaG91bGRSZXNldCB8PSBhLT5y
YXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmhhc0JlZW5JbnZhbGlkYXRl
ZCgpOyAKKyAgICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9p
bnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90
byBvcHRpbWl6YXRpb24gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICB9CisgICAgfTsKKworICAg
IGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2FzZXNUb0FkZCkgeworICAgICAgICBmb3IgKGF1dG8m
IGV4aXN0aW5nQ2FzZSA6IG1fbGlzdCkgeworICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gY2Fz
ZVRvQWRkLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogYiA9IGV4aXN0aW5n
Q2FzZS0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBjb25zaWRlclBvbHlQcm90b1Jlc2V0KGEs
IGIpOworICAgICAgICB9CisgICAgfQorICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjYXNl
c1RvQWRkLnNpemUoKTsgKytpKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaiA9IGkgKyAxOyBq
IDwgY2FzZXNUb0FkZC5zaXplKCk7ICsraikgeworICAgICAgICAgICAgU3RydWN0dXJlKiBhID0g
Y2FzZXNUb0FkZFtpXS0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBj
YXNlc1RvQWRkW2pdLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgICAgIGNvbnNpZGVyUG9seVByb3Rv
UmVzZXQoYSwgYik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoc2hvdWxkUmVzZXQpCisg
ICAgICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpSZXNldFN0dWI7CisKICAgICAv
LyBOb3cgYWRkIHRoaW5ncyB0byB0aGUgbmV3IGxpc3QuIE5vdGUgdGhhdCBhdCB0aGlzIHBvaW50
LCB3ZSB3aWxsIHN0aWxsIGhhdmUgb2xkIGNhc2VzIHRoYXQKICAgICAvLyBtYXkgYmUgcmVwbGFj
ZWQgYnkgdGhlIG5ldyBvbmVzLiBUaGF0J3MgZmluZS4gV2Ugd2lsbCBzb3J0IHRoYXQgb3V0IHdo
ZW4gd2UgcmVnZW5lcmF0ZS4KICAgICBmb3IgKGF1dG8mIGNhc2VUb0FkZCA6IGNhc2VzVG9BZGQp
IHsKQEAgLTMzOSw3ICszNzQsNyBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGlj
QWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGljQWNjZXNzSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAg
ICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0aCBtX2xpc3Q6ICIsIGxpc3REdW1wKG1fbGlzdCks
ICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSk7CisgICAg
QWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRlKHZtLCBjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
KTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRoaXM7CiAgICAgc3RhdGUuc3R1YkluZm8gPSAmc3R1
YkluZm87CkBAIC01OTAsNiArNjI1LDkgQEAgdm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFt
JiBvdXQsIEFjYwogICAgIGNhc2UgQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6R2VuZXJhdGVkRmlu
YWxDb2RlOgogICAgICAgICBvdXQucHJpbnQoIkdlbmVyYXRlZEZpbmFsQ29kZSIpOwogICAgICAg
ICByZXR1cm47CisgICAgY2FzZSBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpSZXNldFN0dWI6Cisg
ICAgICAgIG91dC5wcmludCgiUmVzZXRTdHViIik7CisgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNB
Y2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsOCBAQCBwdWJsaWM6CiAgICAgICAg
IEdhdmVVcCwKICAgICAgICAgQnVmZmVyZWQsCiAgICAgICAgIEdlbmVyYXRlZE5ld0NvZGUsCi0g
ICAgICAgIEdlbmVyYXRlZEZpbmFsQ29kZSAvLyBHZW5lcmF0ZWQgc28gbXVjaCBjb2RlIHRoYXQg
d2UgbmV2ZXIgd2FudCB0byBnZW5lcmF0ZSBjb2RlIGFnYWluLgorICAgICAgICBHZW5lcmF0ZWRG
aW5hbENvZGUsIC8vIEdlbmVyYXRlZCBzbyBtdWNoIGNvZGUgdGhhdCB3ZSBuZXZlciB3YW50IHRv
IGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAgICAgIFJlc2V0U3R1YiAvLyBXZSBmb3VuZCBvdXQg
c29tZSBkYXRhIHRoYXQgbWFrZXMgdXMgd2FudCB0byBzdGFydCBvdmVyIGZyZXNoIHdpdGggdGhp
cyBzdHViLiBDdXJyZW50bHksIHRoaXMgaGFwcGVucyB3aGVuIHdlIGRldGVjdCBwb2x5IHByb3Rv
LgogICAgIH07CiAgICAgCiAgICAgQWNjZXNzR2VuZXJhdGlvblJlc3VsdCgpCkBAIC05OCw2ICs5
OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGJ1ZmZlcmVkKCkgY29uc3QgeyByZXR1cm4gbV9raW5k
ID09IEJ1ZmZlcmVkOyB9CiAgICAgYm9vbCBnZW5lcmF0ZWROZXdDb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9raW5kID09IEdlbmVyYXRlZE5ld0NvZGU7IH0KICAgICBib29sIGdlbmVyYXRlZEZpbmFs
Q29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBHZW5lcmF0ZWRGaW5hbENvZGU7IH0KKyAg
ICBib29sIHNob3VsZFJlc2V0U3R1YigpIGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBSZXNldFN0
dWI7IH0KICAgICAKICAgICAvLyBJZiB3ZSBnYXZlIHVwIG9uIHRoaXMgYXR0ZW1wdCB0byBnZW5l
cmF0ZSBjb2RlLCBvciBpZiB3ZSBnZW5lcmF0ZWQgdGhlICJmaW5hbCIgY29kZSwgdGhlbiB3ZQog
ICAgIC8vIHNob3VsZCBnaXZlIHVwIGFmdGVyIHRoaXMuCkBAIC0xNzEsMTQgKzE3MywxNiBAQCBw
cml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSB7Ci0gICAgQWNjZXNz
R2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgICAgICA6IG1fdm0odm0pIAorICAg
ICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKICAgICAgICAgLCBtX2NhbGN1bGF0
ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0aW9uSGFuZGxpbmcoZmFsc2UpCiAgICAgICAgICwg
bV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lmRXhjZXB0aW9uKGZhbHNlKQogICAgICAgICAsIG1f
Y2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFsc2UpCiAgICAgewogICAgIH0KICAgICBWTSYgbV92
bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7CiAgICAgQ0NhbGxIZWxwZXJz
KiBqaXQgeyBudWxscHRyIH07CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yKiBhbGxvY2F0
b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpQcmVzZXJ2ZWRTdGF0ZSBwcmVzZXJ2
ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCShyZXZpc2lvbiAyMjI3MTIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDcsMTQgKzEwNywzMCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9u
Ojppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0K
IAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFi
bHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5
cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAg
IC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQorCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1
Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQoKSk7CiAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0
ICE9IGludmFsaWRPZmZzZXQpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbklu
dGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVz
ZSB0aGUgcHJvcGVydHkgZXhpc3RzIGF0IG9mZnNldDogIiwgY3VycmVudE9mZnNldCwgIlxuIik7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAg
IGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpICE9IHByb3RvdHlwZSgpKSB7
CisKKyAgICAgICAgSlNPYmplY3QqIGN1cnJlbnRQcm90b3R5cGU7CisgICAgICAgIGlmIChzdHJ1
Y3R1cmUtPmhhc01vbm9Qcm90bygpKQorICAgICAgICAgICAgY3VycmVudFByb3RvdHlwZSA9IHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoYmFzZSk7CisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBl
ID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KCpzdHJ1Y3R1cmUtPnZtKCksIGJhc2UtPmdldFBy
b3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjdXJyZW50UHJvdG90
eXBlICE9IHByb3RvdHlwZSgpKSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25J
bnRlcm5hbDo6dmVyYm9zZSkgewogICAgICAgICAgICAgICAgIGRhdGFMb2coCiAgICAgICAgICAg
ICAgICAgICAgICJJbnZhbGlkIGJlY2F1c2UgdGhlIHByb3RvdHlwZSBpcyAiLCBzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpLCAiIGV2ZW4gdGhvdWdoICIKQEAgLTE0NSw2ICsxNjEsMTQgQEAg
Ym9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGlu
ayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUuIFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlm
CisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRoZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFr
ZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGluZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5
IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAg
ICAgIAogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBw
cm90b3R5cGUoKSkgewogICAgICAgICAgICAgaWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6
OnZlcmJvc2UpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFi
bGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFi
bGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFz
ZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQp
CitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNz
Q2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBt
X3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwgbV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQp
CiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNl
OjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQq
IGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNj
ZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hh
aW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwg
dHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxT
ZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFi
bGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hh
aW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vzc0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJs
ZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMg
KzMzLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDog
cHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGljOgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNl
OworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3NDYXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlhUHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBh
ZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0Lmdl
dCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShW
TSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0
aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRj
aHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQ
cm90b0FjY2Vzc0NoYWluPiA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0
cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBw
dWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vzc0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFBy
b3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZp
YVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVy
ZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vz
c0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAkocmV2aXNp
b24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0
dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODQsNiArMTg0LDggQEAgUHV0QnlJZFN0YXR1cyBQ
dXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYg
YWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAgICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7Cisg
ICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFudDsKICAgICAgICAgICAgIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3Bw
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3Ry
dWN0dXJlU3R1YkluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEsNiArMTMxLDExIEBAIEFj
Y2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVj
dHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJIYWQg
c3R1YiwgcmVzdWx0OiAiLCByZXN1bHQsICJcbiIpOwogCisgICAgICAgIGlmIChyZXN1bHQuc2hv
dWxkUmVzZXRTdHViKCkpIHsKKyAgICAgICAgICAgIHJlc2V0KGNvZGVCbG9jayk7CisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisKICAgICAgICAgaWYgKCFyZXN1bHQuYnVm
ZmVyZWQoKSkgewogICAgICAgICAgICAgYnVmZmVyZWRTdHJ1Y3R1cmVzLmNsZWFyKCk7CiAgICAg
ICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTUyLDYgKzE1NywxMSBAQCBBY2Nlc3NHZW5lcmF0
aW9uUmVzdWx0IFN0cnVjdHVyZVN0dWJJbmZvCiAgICAgICAgIGlmIChTdHJ1Y3R1cmVTdHViSW5m
b0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAgZGF0YUxvZygiQ3JlYXRlZCBzdHViLCBy
ZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAKKyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRSZXNl
dFN0dWIoKSkgeworICAgICAgICAgICAgcmVzZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgp
KSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NDQs
NiArMzc0NCwxMSBAQCBOb2RlKiBCeXRlQ29kZVBhcnNlcjo6bG9hZCgKICAgICAgICAgICAgICAg
ICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUgdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKSBhZ3JlZSBv
biB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBiZQogICAgICAgICAgICAgICAgIC8vIGhpbGFyaW91
c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBOb3RlIHRoYXQgd2UgYXJlIHJlbHlpbmcgb24gc3Ry
dWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAgICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIGVsZW1l
bnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1ZSBoZXJlIGJlY2F1c2Ugb2YgaG93IEdldEJ5SWRT
dGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgorCisgICAgICAgICAgICAgICAgLy8gRklYTUU6IHJp
Z2h0IG5vdywgaWYgd2UgaGF2ZSBhbiBPUENTLCB3ZSBoYXZlIG1vbm8gcHJvdG8uIEhvd2V2ZXIs
IHRoaXMgd2lsbAorICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUg
ZnV0dXJlIG9uY2Ugd2UgaGF2ZSBhIGh5YnJpZCBkYXRhIHN0cnVjdHVyZSBmb3IKKyAgICAgICAg
ICAgICAgICAvLyBwb2x5IHByb3RvOgorICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKICAgICAgICAgICAgICAgICBKU09iamVj
dCogcHJvdG90eXBlID0gdmFyaWFudC5zdHJ1Y3R1cmVTZXQoKVswXS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCk7CiAgICAgICAgICAgICAgICAgYm9vbCBhbGxBZ3JlZSA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHZhcmlhbnQuc3RydWN0dXJlU2V0KCku
c2l6ZSgpOyArK2kpIHsKQEAgLTQzNDEsMTIgKzQzNDYsMTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJh
cmVEYXRhKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQp
LCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUo
c3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJs
ZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0IGhlcmU6CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3
CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkg
eworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6
aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRo
aXMgcG9pbnQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9t
LCBjYWxsZWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0
LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGgu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3Bw
CShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBo
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2Fu
RG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAogICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3Rv
dHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2RlLT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+
YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29sIGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1f
c3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdpc3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewot
ICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQ
cm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpCisg
ICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90
eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAg
ICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVy
YXRvclN5bWJvbC5pbXBsKCkpID09IGludmFsaWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1
Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDQsNyArMjQ0LDExIEBAIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVh
dGVUaGkKICAgICBpZiAoY29uc3RydWN0b3ItPnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewog
ICAgICAgICBhdXRvIHJhcmVEYXRhID0ganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3Rvcikt
PnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFjaXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAgICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVj
dChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkp
OworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNv
bnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1
cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0
cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCksIGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0
b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKICAgICBKU1ZhbHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChl
eGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI3
MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MjkyLDcgKzQyOTIsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFu
Y2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBt
X2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJh
cmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAg
IG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9u
UmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVjdHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAg
ICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6
WmVybywgYWxsb2NhdG9yR1BSKSk7CisKICAgICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVz
dWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JHUFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0
cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgpOwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9h
ZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9m
UmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5
VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUpOwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcg
cHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJl
ZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQg
cHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAgICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpT
VmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpA
QCAtMzI0OSw4ICszMjQ5LDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5j
ZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZhdWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4
KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQ
cm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2ppdC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0o
KSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQ
dHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5
cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQu
ZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBz
Y3JhdGNoMlJlZyk7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0
KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0byBpc01vbm9Qcm90byA9IG1faml0LmJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRjaDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5k
MzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRjaDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRD
b21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6
VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNS
ZWcpOworICAgIGlzTW9ub1Byb3RvLmxpbmsoJm1faml0KTsKKyAgICBtX2ppdC5tb3ZlKHNjcmF0
Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKyNlbHNlCisgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsg
VGFnT2Zmc2V0KSwgc2NyYXRjaDJSZWcpOworICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFBh
eWxvYWRPZmZzZXQpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0byBpc01vbm9Qcm90byA9IG1faml0
LmJyYW5jaDMyKENDYWxsSGVscGVyczo6Tm90RXF1YWwsIHNjcmF0Y2gyUmVnLCBUcnVzdGVkSW1t
MzIoSlNWYWx1ZTo6SW50MzJUYWcpKTsKKyAgICBtX2ppdC5sb2FkMzIoSklUQ29tcGlsZXI6OkJh
c2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQs
IEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSArIFBheWxvYWRPZmZzZXQpLCBzY3Jh
dGNoM1JlZyk7CisgICAgaXNNb25vUHJvdG8ubGluaygmbV9qaXQpOworICAgIG1faml0Lm1vdmUo
c2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOworI2VuZGlmCisKICAgICBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJhbmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwg
c2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0
LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhzY3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2pp
dCk7CkBAIC0zMzgxLDEwICszMzk2LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJ
bnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMs
IG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAg
ICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAKICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9
IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdw
cigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAg
ICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2NyYXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0NlbGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUu
anNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVS
ZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5NCw3ICszNDExLDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgogICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmso
Jm1faml0KTsKICAgICAgICAgCi0gICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5v
ZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAg
ICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlw
ZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAg
ICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogCkBAIC0zNDA3LDEzICszNDI0LDE1IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jh
cnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9
IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBwcm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7
CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3Jh
dGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0
Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZh
bHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21w
aWxlSW5zdGFuY2VPZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3Jh
dGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRjaDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5S
ZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAg
LTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBo
b2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3Bl
Y3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9vbCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAg
dm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBH
UFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNj
cmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBH
UFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVz
dWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9p
ZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1
c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1
MywxMiBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2Fz
ZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5u
ZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0
Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5u
ZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5u
ZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdC
bG9jaygpOwotICAgICAgICBMQmFzaWNCbG9jayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQu
bmV3QmxvY2soKTsKICAgICAgICAgTEJhc2ljQmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9
IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1f
b3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAg
ICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5
NzQsMTYgKzg5NzYsMjggQEAgcHJpdmF0ZToKICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2lu
YWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxsKTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsK
ICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJl
Y3QpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAg
ICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAg
ICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQubG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMu
SlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAg
IG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSks
Ci0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQcm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVs
dEhhc0luc3RhbmNlU2xvdykpOworICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0
cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFuY2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBw
ZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwgbm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291
dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExW
YWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1
cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2FkNjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVy
ZV9wcm90b3R5cGUpOworCisgICAgICAgIExWYWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9h
ZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFs
dWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUgPSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7
CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0ludDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9h
ZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJlUHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQu
YXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29tcGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1
ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJ
TlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hv
cigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9w
ZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVlLCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6
Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkpOworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQ
cm90b3R5cGUpOworCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5v
dFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5w
aGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBwb2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21C
bG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsK
ICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFBy
b3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2RlczMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMzMl82NC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDgg
KzI0OCwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAg
ICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNlbGwgaW4gcmVnVDIuICBJZiB0aGlzIGlz
IGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUg
aGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBn
byBhZ2Fpbi4KLSAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIEpTQ2VsbDo6c3RydWN0dXJlSURP
ZmZzZXQoKSksIHJlZ1QyKTsKLSAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXls
b2FkKSksIHJlZ1QyKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDIsIEpTQ2VsbDo6c3RydWN0
dXJlSURPZmZzZXQoKSksIHJlZ1Q0KTsKKyAgICBsb2FkMzIoQWRkcmVzcyhyZWdUNCwgU3RydWN0
dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFRhZ09mZnNldCksIHJlZ1QzKTsKKyAgICBsb2FkMzIo
QWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFBheWxvYWRPZmZz
ZXQpLCByZWdUNCk7CisgICAgYXV0byBpc01vbm9Qcm90byA9IGJyYW5jaDMyKE5vdEVxdWFsLCBy
ZWdUMywgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkludDMyVGFnKSk7CisgICAgbG9hZDMyKEJhc2VJ
bmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0
b3JhZ2UoKSArIFBheWxvYWRPZmZzZXQpLCByZWdUNCk7CisgICAgaXNNb25vUHJvdG8ubGluayh0
aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJh
bmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGJyYW5jaFRlc3QzMihOb25aZXJvLCBy
ZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9h
ZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFs
IHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51
bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fp
bi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgqdm0oKSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0g
ICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBy
ZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMp
OworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgp
KSwgcmVnVDQpOworICAgIGF1dG8gaGFzTW9ub1Byb3RvID0gYnJhbmNoSWZOb3RJbnQzMihKU1Zh
bHVlUmVncyhyZWdUNCkpOworICAgIHplcm9FeHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7Cisg
ICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0Ojpv
ZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJlZ1Q0KTsKKyAgICBoYXNNb25vUHJvdG8ubGluayh0
aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdUMik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJh
bmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEpOwogICAgIGVtaXRKdW1wSWZKU0NlbGwocmVnVDIp
LmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0
Y2guY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGlu
ZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgfQogICAgICAgICB9CiAK
KyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVB
Y2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmlzVW5z
ZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgIGlm
IChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNsb3RCYXNlKCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0y
NTUsMjMgKzI1NywzNSBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlE
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAg
ICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09i
amVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAg
ICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYmIHN0cnVjdHVyZS0+dHlwZUluZm8oKS5nZXRPd25Q
cm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3BlcnR5QWJzZW5jZSgpKQogICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0gICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkp
IHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQ
cm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0
cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBz
dHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKLSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlO
YW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlm
ICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hh
aW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1
c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsK
KyAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBl
IHByb3BlcnR5LgogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRP
ZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAg
ICAgICAgIGlmICghdXNlc1BvbHlQcm90bykgeworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBpbnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisg
ICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAg
ICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRp
dGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1l
LmltcGwoKSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
Y29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQo
CisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUs
IHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5p
bXBsKCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghY29uZGl0
aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgp
ID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAg
ICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBudWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAg
ICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9j
aywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Q
cm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkpOwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFy
Z2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5F
bWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwgc3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nh
c2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zm
c2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53
YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAg
fSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0
dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkg
JiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0
eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNr
IG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdvb2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3Vs
ZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlw
ZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IElu
dHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hl
ZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxz
ZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZh
bHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsKICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJv
eHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8g
QWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nhc2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAg
IG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNs
b3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0
KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2FzZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAg
ICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAg
c3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAgICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9p
bnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6
IG51bGxwdHIsCiAgICAgICAgICAgICAgICAgICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/
IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJp
YnV0ZSk7CisgICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2
LDYgKzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAg
ICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwqIGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgp
OwogCiAgICAgaWYgKHNsb3QuYmFzZSgpID09IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxl
UHV0KCkpIHsKICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhp
c3RpbmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAgICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUt
PmlzRGljdGlvbmFyeSgpKTsKICAgICAgICAgICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2Jq
ZWN0KCkpOwogICAgICAgICAgICAgCisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtp
bmQgPT0gTm90RGlyZWN0KSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAg
ICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAot
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJl
LCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFs
aWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIG51bGxwdHIsIHVzZXNQb2x5UHJv
dG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAg
ICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBw
cm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAg
ICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdl
bmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5U2V0dGVyTWlzcygKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwo
KSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAg
ICAgIH0KKwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2Fz
ZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCk7CisgICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRl
KHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfSBl
bHNlIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgc2xvdC5pc0NhY2hlYWJsZVNldHRl
cigpKSB7CiAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsKICAgICAgICAg
ICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKKyAgICAgICAgICAg
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hh
aW47CiAKICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKLSAgICAg
ICAgICAgICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNv
bmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgICAg
IHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwo
KSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAg
ICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVB
Y2Nlc3NDaGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4K
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAg
ICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29u
ZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50Lmlt
cGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgbmV3Q2FzZSA9IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBz
bG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVy
IDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNl
dCwgY29uZGl0aW9uU2V0LAotICAgICAgICAgICAgICAgIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNs
b3QuYmFzZSgpKTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9t
QWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2Fz
ZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNldCwKKyAgICAgICAg
ICAgICAgICBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pLCBzbG90
LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2UoKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7Ci0gICAgICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQ7CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOworICAgICAgICAgICAgUHJv
cGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKIAogICAgICAgICAgICAg
aWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAotICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2Vz
UG9seVByb3RvOworICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVBy
b3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VD
ZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFw
cm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFs
aWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBjb25kaXRp
b25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKTsKLSAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgIG9mZnNldCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAg
ICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAg
ICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRl
Q29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50
LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAg
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xv
dEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKSk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICB9CiAKICAgICAgICAgICAgIG5ld0Nhc2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpj
cmVhdGUoCi0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVy
LCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwg
Y29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRp
b25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0K
IApAQCAtNTE3LDE1ICs1NzEsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0
Y2hJbigKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICBpZiAod2FzRm91bmQpIHsKICAgICAgICAg
aWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlKSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQg
PSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAg
ICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRl
bnQuaW1wbCgpKTsKKyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAg
IHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAg
ICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8v
IEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAgICAg
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgIHZt
LCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBs
KCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY29u
ZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9s
eVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJh
c2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0No
YWluKSB7CisgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90
eXBlIHByb3BlcnR5LgorICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVy
YXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAg
ICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKQEAgLTUzMyw3ICs2MDcsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVw
YXRjaEluKAogICAgIExPR19JQygoSUNFdmVudDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUt
PmNsYXNzSW5mbygpLCBpZGVudCkpOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdh
c0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRP
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywg
d2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhpdCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxp
ZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKIAogICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8u
YWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNvZGVCbG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkp
OwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NjcsNiArNjY3LDI0IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9nZXRfYnlfaWQKICAgICAgICAgJiYgYmFz
ZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGUoKSkgewogCisgICAg
ICAgIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVjdHVyZUlEID0gcGNbNF0udS5z
dHJ1Y3R1cmVJRDsKKyAgICAgICAgICAgIGlmIChvbGRTdHJ1Y3R1cmVJRCkgeworICAgICAgICAg
ICAgICAgIGF1dG8gb3Bjb2RlID0gSW50ZXJwcmV0ZXI6OmdldE9wY29kZUlEKHBjWzBdKTsKKyAg
ICAgICAgICAgICAgICBpZiAob3Bjb2RlID09IG9wX2dldF9ieV9pZAorICAgICAgICAgICAgICAg
ICAgICB8fCBvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkX3Vuc2V0CisgICAgICAgICAgICAgICAgICAg
IHx8IG9wY29kZSA9PSBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZCkgeworICAgICAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmUqIGEgPSB2bS5oZWFwLnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3Ry
dWN0dXJlSUQpOworICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFsdWUu
YXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVj
dHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgp
LmdldCgpID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJv
dG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVk
IHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikpOworICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgSlNDZWxs
KiBiYXNlQ2VsbCA9IGJhc2VWYWx1ZS5hc0NlbGwoKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBiYXNlQ2VsbC0+c3RydWN0dXJlKCk7CiAgICAgICAgIGlmIChzbG90LmlzVmFsdWUo
KSAmJiBzbG90LnNsb3RCYXNlKCkgPT0gYmFzZVZhbHVlKSB7CkBAIC03MzcsNiArNzU1LDIyIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wdXRfYnlfaWQKICAgICAgICAgJiYgYmFz
ZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogCisK
KyAgICAgICAgeworICAgICAgICAgICAgU3RydWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0
XS51LnN0cnVjdHVyZUlEOworICAgICAgICAgICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAg
ICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0
KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFs
dWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisgICAgICAgICAgICAgICAgaWYgKHNsb3QudHlw
ZSgpID09IFB1dFByb3BlcnR5U2xvdDo6TmV3UHJvcGVydHkpCisgICAgICAgICAgICAgICAgICAg
IGIgPSBiLT5wcmV2aW91c0lEKCk7CisKKyAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpz
aG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwgYikpIHsKKyAgICAgICAgICAgICAgICAgICAgYS0+
cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBT
dHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAg
ICAgICAgICAgICAgICAgICAgYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3Rv
IG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKwogICAgICAgICAvLyBTdGFydCBvdXQgYnkgY2xlYXJpbmcgb3V0IHRoZSBvbGQgY2Fj
aGUuCiAgICAgICAgIHBjWzRdLnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9sZCBzdHJ1Y3R1cmUK
ICAgICAgICAgcGNbNV0udS5wb2ludGVyID0gbnVsbHB0cjsgLy8gb2Zmc2V0CkBAIC03NjAsMTYg
Kzc5NCwxNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAgICAg
ICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpICYmIHN0cnVjdHVyZS0+
cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpID09IHN0cnVjdHVyZS0+b3V0T2ZMaW5l
Q2FwYWNpdHkoKSkgewogICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2
aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBvaW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwog
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBz
dHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5cGVDaGFpbikgeworICAgICAgICAgICAgICAgICAg
ICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBhdXRvIHJl
c3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMsIGJhc2VDZWxsLCBzYXdQb2x5UHJv
dG8pOworICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVD
aGFpbiAmJiAhc2F3UG9seVByb3RvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
c3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9IHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pZCgp
OwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNV0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRP
ZmZzZXQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzZdLnUuc3RydWN0dXJlSUQgPSBz
dHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShwY1s4XS51LnB1
dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVjdCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4
ZWMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9
IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYXNPYmplY3QoYmFzZUNlbGwpKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoY2hhaW4pOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBjaGFpbik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1cmVDaGFpbi5zZXQodm0sIGNvZGVCbG9jaywgY2hh
aW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
cGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0aWNfY2FzdDxQdXRCeUlkRmxhZ3M+KAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzIHwKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90
eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIyLDEwICs1MjIsOSBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wgCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0
aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKEV4ZWNTdGF0ZSYgc3Rh
dGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2Fy
ZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIG9iamVjdCkKIHsKLSAgICBhdXRvJiB2bSA9
IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0
Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAgICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0p
LT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIG9iamVjdCk7CiB9CiAKIHN0YXRpYyBK
U1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYgZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpT
U3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90IGxlbmd0aCkKQEAgLTYxMCw3ICs2MDksNyBAQCBz
dGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpvaW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAg
ICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIGlmICghaG9sZXNLbm93blRvQmVPSykgewotICAgICAgICAgICAgICAgICAgICBpZiAoaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0YXRlLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAg
ICAgICAgICBob2xlc0tub3duVG9CZU9LID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC02
MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQog
ICAgICAgICAgICAgICAgIGpvaW5lci5hcHBlbmQoc3RhdGUsIGpzRG91YmxlTnVtYmVyKHZhbHVl
KSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25U
b0JlT0spIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgICAgICAgICAgICAg
IGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAg
aG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtODE2LDcgKzgx
NSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAg
aWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0ZXJmbHkuY29udGlndW91cygpLmRhdGEoKTsKLSAg
ICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRU
b1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVjdCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUo
ZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmpl
Y3QpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRh
ICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsK
QEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXNE
b3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAm
JiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAg
ICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJv
dG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6
OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUsNyArODM0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBhdXRvJiBzdG9yYWdlID0gKnRoaXNPYmpl
Y3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IHN0
b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0
b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRo
aXNPYmplY3QpKQorICAgICAgICBpZiAoc3RvcmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52ZWN0b3IoKS5kYXRhKCk7CiAgICAgICAgIHN0ZDo6
cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKQEAgLTExNzYsNyArMTE3NSw3IEBAIHN0YXRp
YyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3RhdGUqIGV4ZWMKIHsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKLSAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0
b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUoKSkgJiYgIXNvdXJjZS0+c3RydWN0dXJlKCktPmhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpKSB7CisgICAgaWYgKExJS0VMWSghaGFzQW55
QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFob2xlc011c3RGb3J3YXJk
VG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewogICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHNv
dXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkpOwogICAgICAgICAgICAgaWYgKHZhbHVlKSB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50
cy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDEwICs0OSw5IEBAIENs
b25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZseTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJl
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgeworICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUt
Pm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90
eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKSB7CiAgICAgICAgIGJ1dHRlcmZs
eSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgbnVsbHB0ciwgc3RydWN0dXJlLCBs
ZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAgICAgIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkt
Pm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0b3JMZW5ndGg7Ci0KICAgICB9IGVsc2UgewogICAg
ICAgICBJbmRleGluZ0hlYWRlciBpbmRleGluZ0hlYWRlcjsKICAgICAgICAgaW5kZXhpbmdIZWFk
ZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxlbmd0aCk7CkBAIC04MSw3ICs4MCw3IEBAIENsb25l
ZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGll
bnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBnbG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0
IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAgLy8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8g
dGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ugc2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyog
cmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xv
bmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNhbGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NF
UlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3Vt
ZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAgICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNTdHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVy
ZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5
cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6
Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVjU3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFy
Z2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9kZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJl
c3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFtZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0
ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJ
bmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8
fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQ1LDcgKzE0NCw3IEBAIENsb25lZEFyZ3Vt
ZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVhdGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwg
YXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0
LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5u
ZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1
cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNw
cAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYgKzI0Miw4IEBAIFNMT1df
UEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfdGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgpOwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RF
bXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQ
b2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUt
PnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9u
KHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJu
YXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0
b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVj
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAy
MjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFi
bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVj
dXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAgICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52
aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3Vu
bGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5n
bGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQ
b2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBGdW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAkocmV2aXNpb24gMjIyNzEyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEw
LCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRhYmxlLmgiCiAjaW5jbHVkZSAiU291cmNlQ29kZS5oIgorI2luY2x1ZGUgPHd0Zi9C
b3guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTE3Miw2ICsxNzMsMTggQEAgcHVibGljOgog
ICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIEluZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9u
KCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5jdGlvbi5nZXQoKTsgfQorICAgIC8vIENhY2hlZCBw
b2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhlIHJlc3VsdCBvZiBjb25zdHJ1Y3RpbmcgdGhpcyBl
eGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSogY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkgeyBy
ZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENh
Y2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKSB7IG1f
Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNldCh2bSwgdGhpcywgc3RydWN0dXJlKTsgfQorCisg
ICAgSW5saW5lV2F0Y2hwb2ludFNldCYgZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpCisgICAg
eworICAgICAgICBpZiAoIW1fcG9seVByb3RvV2F0Y2hwb2ludCkKKyAgICAgICAgICAgIG1fcG9s
eVByb3RvV2F0Y2hwb2ludCA9IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pjo6Y3JlYXRlKElzV2F0
Y2hlZCk7CisgICAgICAgIHJldHVybiAqbV9wb2x5UHJvdG9XYXRjaHBvaW50OworICAgIH0KKwor
ICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkg
Y29uc3QgeyByZXR1cm4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OyB9CiAKIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIEV4ZWN1dGFibGVCYXNlOwpAQCAtMTg5LDYgKzIwMiw4IEBAIHByaXZhdGU6
CiAgICAgV3JpdGVCYXJyaWVyPEZ1bmN0aW9uQ29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0
cnVjdDsKICAgICBSZWZQdHI8VHlwZVNldD4gbV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAg
IFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVlPiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlOworICAgIEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0
aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7
CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Q
cm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHBy
b3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFjaXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjpp
bml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHks
IEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQogewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxl
KHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0
cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiBy
ZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVE
YXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rp
b25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAg
dm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9p
ZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiog
Y29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBpc09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlh
bGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1
bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5Niwx
MyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxGdW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVy
ZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0
ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQsIFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0
b3IoKSk7CiAgICAgQVNTRVJUKG5ld1RhcmdldCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxs
ZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNsYXNzLT5oYXNNb25vUHJvdG8oKSk7CisKICAgICAv
LyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVybmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQg
ZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAgICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9
IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03MzgsNyArNzM4LDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFz
dFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNhc2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBB
cnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAgICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAg
ICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1J
Tl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRv
UHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xv
YmFsT2JqZWN0KCk7CkBAIC03NzMsNyArNzczLDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50
V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAgIC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xl
cyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJub3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBn
ZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVByb3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhh
c0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8
fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAgfHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5
cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtOTA0LDcgKzkwNCw3IEBAIGJvb2wg
SlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0
byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNv
IHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcg
YW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2Rl
LgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYg
KHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsK
KyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5k
ZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZs
eS0+Y29udGlndW91cygpW2kgKyBjb3VudF0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVO
TElLRUxZKCF2KSkgewpAQCAtOTQ1LDcgKzk0NSw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3Vu
dFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMg
YmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0
IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3
ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25l
ZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMt
PnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsK
ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkg
ewogICAgICAgICAgICAgICAgIGRvdWJsZSB2ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzRG91Ymxl
KClbaSArIGNvdW50XTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpA
QCAtMTI5Miw3ICsxMjkyLDcgQEAgYm9vbCBKU0FycmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0
QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3Rv
dHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlubGluZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZp
c2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5s
aW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw4ICs2NCw4IEBAIGlubGluZSBib29sIEpTQXJy
YXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJ
WE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdhdGNocG9pbnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBv
biBBcnJheS5wcm90b3R5cGUgYW5kIE9iamVjdC5wcm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9m
IHdhbGtpbmcgdGhlIHByb3RvdHlwZSBjaGFpbi4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NTU5MgotICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUodm0pCi0gICAgICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSkt
PmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJB
cnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhl
ckFycmF5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlz
aW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcsMTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1
bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAgICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xh
c3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09iamVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAg
b3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1BvaW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAg
IG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxs
KCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4
dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChT
dHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgb3V0LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFz
Q2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQucHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1
cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAg
ICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0NlbGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAg
IG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwog
I2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1RydWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVl
Iik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNw
cAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IkFzeW5jR2VuZXJhdG9yUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCisj
aW5jbHVkZSAiQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkNsb25lZEFyZ3VtZW50cy5oIgogI2lu
Y2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1ZGUgIkNvbW1vbklkZW50aWZpZXJzLmgiCkBAIC0x
MjYsMTYgKzEyNywyNCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJh
CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9u
Ojpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7Cisg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOworICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSk7CisgICAgQVNT
RVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4Y2VwdGlvbigpKTsKKyAgICBpZiAocHJvdG90eXBl
LmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiBhc09iamVjdChwcm90b3R5cGUpOworCisgICAg
cmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9iamVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlv
blJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVj
U3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFy
ZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlw
ZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlz
LT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5
cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90
b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9u
UmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rpb25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICBy
YXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXpl
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwg
aW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAgICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFk
IG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUgcmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBl
bnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Blcmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTgs
OCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNT
RVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVj
dCogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0u
cHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAg
ICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9y
YXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24odm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmlu
aXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJv
dG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhpcyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0
KCk7CiB9CiAKQEAgLTM3MSw3ICszNzcsNiBAQCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3Bl
cnR5U2xvdChKU09iCiAgICAgICAgICAgICBvZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RP
ZmZzZXQodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAg
ICAgICAgICBBU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAg
ICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0
RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0
OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3Rh
dGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAgLy8gUmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0
aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNGdW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVk
LgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUq
KTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBK
U0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlv
bkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2
LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChz
dHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5tYXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxP
YmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAgIGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBn
bG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNN
YXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmpl
Y3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFuZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBi
b29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUs
IGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAg
ICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkgewot
ICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUlu
dGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOworICAgICAg
ICAgICAgICAgIEFTU0VSVCh0aGlzLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8o
dm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09IHRoaXMpOwogICAgICAgICAgICAgICAgIHJldHVy
biB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJh
bChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICAgICAgfQogCkBAIC0xMDE1
LDcgKzEwMTUsNyBAQCBCdXR0ZXJmbHkqIEpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhlCiAg
ICAgQVNTRVJUKGxlbmd0aCA8PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKTsKICAgICBJbmRl
eGluZ1R5cGUgb2xkVHlwZSA9IGluZGV4aW5nVHlwZSgpOwogICAgIEFTU0VSVF9VTlVTRUQob2xk
VHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5cGUpKTsKLSAgICBBU1NFUlQoIXN0cnVj
dHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICBBU1NFUlQoIW5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpOwogICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRoaXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWdu
ZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAg
LTExMTEsNyArMTExMSw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3Rv
cmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0
dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1
dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAgICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdC
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3Ry
dWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9s
ZFN0cnVjdHVyZSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKICAgICBudWtl
U3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZtLCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5
KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKQEAgLTEyMDYsNyArMTIwNiw3IEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRV
bmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJy
YXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlT
dG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkpOworICAgIHJldHVybiBjb252ZXJ0VW5kZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIENvbnRpZ3VvdXNEb3VibGVzIEpT
T2JqZWN0Ojpjb252ZXJ0SW50MzJUb0RvdWJsZShWTSYgdm0pCkBAIC0xMjY0LDcgKzEyNjQsNyBA
QCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FyCiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dl
c3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRv
QXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQog
CiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMo
Vk0mIHZtKQpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29u
dmVydERvdWJsZVRvQQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9B
cnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0
b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3VibGVUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVk
QXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6
Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNp
dGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Niw3ICsxMzY2LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0
Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENv
bnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5
U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogdm9p
ZCBKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZEZvclZhbHVlKFZNJiB2bSwgSlNWYWx1ZSB2YWx1
ZSkKQEAgLTE0NDcsNyArMTQ0Nyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5z
dXJlSW50MzIKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkp
CisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVz
KCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAK
QEAgLTE0NzQsNyArMTQ3NCw3IEBAIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVE
b3VibGUKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExf
QkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3Vs
ZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisg
ICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93
UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsK
ICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAg
LTE1MDMsNyArMTUwMyw3IEBAIENvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29u
dGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxB
TktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAg
ICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0
SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAg
ICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQ29udGlndW91cyh2bSwgMCk7CiAgICAgICAgIApA
QCAtMTU0MCwyMiArMTU0MCwyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhCiAgICAgICAgIAogICAgIGNhc2UgQUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NF
UlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NF
UlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVj
aWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
LSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
KyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJu
IGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExf
RE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVT
cGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAg
ICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAg
ICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWlu
ZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdl
KHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTE2MzMsMTQgKzE2MzMsMTcgQEAgdm9p
ZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGlyZWN0KFZNJiB2bQogICAgIGlmIChwcm90b3R5cGUu
aXNPYmplY3QoKSkKICAgICAgICAgdm0ucHJvdG90eXBlTWFwLmFkZFByb3RvdHlwZShhc09iamVj
dChwcm90b3R5cGUpKTsKICAgICAKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVj
dHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90
eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7Ci0gICAgCi0gICAgaWYg
KCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNz
ZXMoKSkKKyAgICBpZiAoc3RydWN0dXJlKHZtKS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5z
aXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHByb3RvdHlwZSk7CisgICAgICAgIHNldFN0cnVjdHVy
ZSh2bSwgbmV3U3RydWN0dXJlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcHV0RGlyZWN0KHZtLCBz
dHJ1Y3R1cmUodm0pLT5wb2x5UHJvdG9PZmZzZXQoKSwgcHJvdG90eXBlKTsKKworICAgIGlmICgh
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICBy
ZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnByb3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkg
ewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0p
OworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZt
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKQEAgLTE5NTEsNyArMTk1NCw4IEBAIEpT
VmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3Vy
ZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFsdWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0
J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAgIC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+
c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZv
ckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3IgKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlz
OyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9iamVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRj
aGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFs
dWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVyU3RyaW5nKSB7CkBAIC0yNzI2LDcgKzI3MzAsNyBA
QCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICBy
ZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAg
ICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3Jh
Z2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVl
ZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmco
KSkgewogICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xv
d1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnkuCiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3Jh
Z2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JMZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAg
ICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRoaXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJv
dyk7CkBAIC0yODc4LDcgKzI4ODIsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNs
b3dPckJleW9uCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JM
ZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBh
dHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAg
fQotICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewor
ICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAgICAgICAgQXJyYXlT
dG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVj
dG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX3ZlY3Rv
cltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsKICAgICAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFs
dWVzSW5WZWN0b3IrKzsKQEAgLTM1NTgsNyArMzU2Miw3IEBAIHVpbnQzMl90IEpTT2JqZWN0Ojpn
ZXRFbnVtZXJhYmxlTGVuZ3RoKEUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwotICAgIGlmIChzdHJ1
Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVy
ZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpKQogICAgICAgICByZXR1
cm4gMDsKICAgICBzd2l0Y2ggKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFM
TF9CTEFOS19JTkRFWElOR19UWVBFUzoKQEAgLTM2NjgsNCArMzY3Miw1NiBAQCBKU1ZhbHVlIEpT
T2JqZWN0OjpnZXRNZXRob2QoRXhlY1N0YXRlKiBlCiAgICAgcmV0dXJuIG1ldGhvZDsKIH0KIAor
Ym9vbCBKU09iamVjdDo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpIGNvbnN0Cit7CisgICAgVk0mIHZtID0gKnRoaXMtPnZtKCk7CisgICAgZm9yIChjb25zdCBK
U09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVj
dHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PmdldFByb3RvdHlwZURpcmVjdCgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFz
T2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0Ojpwcm90b3R5cGVD
aGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
KQoreworICAgIGlmIChwYXJzZUluZGV4KHByb3BlcnR5TmFtZSkpCisgICAgICAgIHJldHVybiBh
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgCisgICAg
Zm9yIChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90
b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3Rv
dHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAg
ICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgICAgICAKKyAgICAgICAgdW5z
aWduZWQgYXR0cmlidXRlczsKKyAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVu
dC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAg
ICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgIAorICAgICAgICBpZiAoYXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0
ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQor
Citib29sIEpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBnbG9i
YWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpOworfQorCitOb25Qcm9wZXJ0eVRyYW5zaXRp
b24gSlNPYmplY3Q6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAorewor
ICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQorICAgICAgICByZXR1cm4gTm9uUHJvcGVy
dHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0
dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAi
UHV0RGlyZWN0SW5kZXhNb2RlLmgiCiAjaW5jbHVkZSAiUHV0UHJvcGVydHlTbG90LmgiCiAjaW5j
bHVkZSAiU3RydWN0dXJlLmgiCisjaW5jbHVkZSAiU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgi
CiAjaW5jbHVkZSAiVk0uaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIlNwYXJz
ZUFycmF5VmFsdWVNYXAuaCIKQEAgLTczMyw2ICs3MzQsMTIgQEAgcHVibGljOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGlzRXh0ZW5zaWJsZShKU09iamVjdCosIEV4ZWNTdGF0
ZSopOwogICAgIGJvb2wgaXNTZWFsZWQoVk0mIHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5p
c1NlYWxlZCh2bSk7IH0KICAgICBib29sIGlzRnJvemVuKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0
dXJlKHZtKS0+aXNGcm96ZW4odm0pOyB9CisKKyAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBi
b29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7
CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OworICAgIE5vblByb3BlcnR5
VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisKIHBy
aXZhdGU6CiAgICAgQUxXQVlTX0lOTElORSBib29sIGlzRXh0ZW5zaWJsZUltcGwoKSB7IHJldHVy
biBpc1N0cnVjdHVyZUV4dGVuc2libGUoKTsgfQogcHVibGljOgpAQCAtODY2LDcgKzg3Myw3IEBA
IHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAg
ICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFBy
b3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVh
cChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOworICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmhh
c1BvbHlQcm90bygpIHx8IGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6Omhl
YXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAgICBB
U1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZv
KHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsxMzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09i
amVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90
eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwog
fQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0
YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2Jq
ZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVy
ZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3Qt
PmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwg
c2xvdCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICAvLyBGSVhNRTogVGhp
cyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZvbGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoKKyAg
ICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3Mgor
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9i
amVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNPYmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGlu
ZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9v
bCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNz
SW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8
fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRo
b2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5z
dG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJv
dG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0g
b2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUg
Ym9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgKICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHBy
b3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRo
b2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVy
bmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlu
cXVpcnkpKQotICAgICAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0
KCk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQ
cm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVj
dDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAgICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZh
c3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0s
IHByb3BlcnR5TmFtZSkpOworICAgICAgICBBU1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNo
YWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwgcHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICgh
dGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFt
ZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBz
Y29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwgQVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJ
KHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJv
cGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAg
aW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgK
ICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBzdHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4o
KSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJh
dG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigpID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4o
ZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVybiBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3Qg
bnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBpbmxp
bmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJvcGVy
dHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFYKTsKIAotICAgIGJvb2wgc3VjY2Vzc2Z1bGx5Tm9y
bWFsaXplZENoYWluID0gbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAh
PSBJbnZhbGlkUHJvdG90eXBlQ2hhaW47CisgICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYm9v
bCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihl
eGVjLCBiYXNlLCBzYXdQb2x5UHJvdG8pICE9IEludmFsaWRQcm90b3R5cGVDaGFpbjsKIAogICAg
IGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0
dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJTdHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHBy
b3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJhdG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2
bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVu
Z3RoICYmIHN1Y2Nlc3NmdWxseU5vcm1hbGl6ZWRDaGFpbiAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hl
UHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQotICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExl
bmd0aCAmJiBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gJiYgYmFzZS0+c3RydWN0dXJlKHZt
KSA9PSBzdHJ1Y3R1cmUpIHsKKyAgICAgICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90eXBl
Q2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpOworICAgICAg
ICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKKyAgICAg
ICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51
bWVyYXRvcik7CisgICAgfQogICAgIHJldHVybiBlbnVtZXJhdG9yOwogfQogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCShyZXZpc2lvbiAyMjI3MTIpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1NldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgog
ICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAh
PSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURp
cmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMs
OSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlm
ICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3RvdHlwZUFkZEZhc3RBbmROb25PYnNlcnZhYmxlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlw
ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIy
NzEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3VycmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpT
T2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYg
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgfQotICAgIAogICAgIEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJl
bnRseSgpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM2LDIzICsxMzYsMzAgQEAgYm9vbCBqc0lzRnVu
Y3Rpb25UeXBlKEpTVmFsdWUgdikKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3Jt
YWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCitzaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTQ2VsbCogYmFzZSwgYm9vbCYgc2F3UG9seVByb3RvKQogewogICAgIFZNJiB2bSA9IGNh
bGxGcmFtZS0+dm0oKTsKICAgICBzaXplX3QgY291bnQgPSAwOworICAgIHNhd1BvbHlQcm90byA9
IGZhbHNlOworICAgIEpTQ2VsbCogY3VycmVudCA9IGJhc2U7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGNhbGxGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwogICAgIHdo
aWxlICgxKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0
dXJlKHZtKTsKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAg
cmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKLSAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0
dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2FsbEZyYW1lKTsKLSAgICAgICAgaWYgKHYuaXNOdWxs
KCkpCisKKyAgICAgICAgc2F3UG9seVByb3RvIHw9IHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7
CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxv
b2t1cChnbG9iYWxPYmplY3QsIGN1cnJlbnQpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVs
bCgpKQogICAgICAgICAgICAgcmV0dXJuIGNvdW50OwogCi0gICAgICAgIEpTQ2VsbCogYmFzZSA9
IHYuYXNDZWxsKCk7Ci0gICAgICAgIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7Cisg
ICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxsKCk7CisgICAgICAgIHN0cnVjdHVyZSA9
IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlv
bmFyeSgpKSB7CiAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVm
b3JlKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKLSAg
ICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2Jq
ZWN0KGJhc2UpKTsKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1
Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKICAgICAgICAgfQogCiAgICAgICAgICsrY291
bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCShy
ZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5cGVTdHJp
bmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7CiBib29sIGpzSXNPYmplY3RUeXBlT3JOdWxsKENh
bGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUpOwotc2l6
ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIFN0cnVjdHVyZSopOworc2l6
ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxGcmFtZSosIEpTQ2VsbCosIGJvb2wmIHNh
d1BvbHlQcm90byk7CiAKIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0
ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBKU1N0cmluZyogczIpCiB7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MSw3
ICs0NzEsOCBAQCB0eXBlZGVmIGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2ws
IHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSAoYW5kIGZh
c3QgVExTIGlzIGVuYWJsZWQpLCB3ZSB3aWxsIHN0b3JlIGNvbnRleHQgaW4gZmFzdCBUTFMuIElm
IGZhbHNlLCB3ZSB3aWxsIHBpbiBpdCB0byBhIHJlZ2lzdGVyLiIpIFwKICAgICB2KGJvb2wsIHVz
ZUNhbGxJQ3NGb3JXZWJBc3NlbWJseVRvSlNDYWxscywgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwg
d2Ugd2lsbCB1c2UgQ2FsbExpbmtJbmZvIHRvIGlubGluZSBjYWNoZSBXYXNtIHRvIEpTIGNhbGxz
LiIpIFwKICAgICB2KGJvb2wsIHVzZU9iamVjdFJlc3RTcHJlYWQsIHRydWUsIE5vcm1hbCwgIklm
IHRydWUsIHdlIHdpbGwgZW5hYmxlIE9iamVjdCBSZXN0L1NwcmVhZCBmZWF0dXJlLiIpIFwKLSAg
ICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAiSWYg
dHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGluZy4g
SWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUg
dW5kZWNpZGVkLiIpCisgICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRy
dWUsIE5vcm1hbCwgIklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2Nh
dGlvbiBwcm9maWxpbmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3
YXlzIGNsYWltIHRvIGJlIHVuZGVjaWRlZC4iKVwKKyAgICB2KGJvb2wsIGZvcmNlUG9seVByb3Rv
LCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgY3JlYXRlX3RoaXMgd2lsbCBhbHdheXMgY3JlYXRl
IGFuIG9iamVjdCB3aXRoIGEgcG9seSBwcm90byBzdHJ1Y3R1cmUuIikKIAogCiBlbnVtIE9wdGlv
bkVxdWl2YWxlbmNlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3Rv
dHlwZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UHJvdG90eXBlTWFwLmNwcAkocmV2aXNpb24gMjIyNzEyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTggKzU0
LDM0IEBAIHZvaWQgUHJvdG90eXBlTWFwOjphZGRQcm90b3R5cGUoSlNPYmplY3QKICAgICAvLyB1
c2VkIGFzIGEgcHJvdG90eXBlLgogfQogCi1pbmxpbmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6
OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZv
KiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5KQoraW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjpjcmVhdGVFbXB0eVN0cnVj
dHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCBj
b25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJbmRl
eGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtl
UG9seVByb3RvU3RydWN0dXJlKQogewotICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3R1cGxlKHBy
b3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKKyAgICBS
RUxFQVNFX0FTU0VSVCghIXByb3RvdHlwZSk7IC8vIFdlIHVzZSBudWxscHRyIGluc2lkZSB0aGUg
SGFzaE1hcCBmb3IgcHJvdG90eXBlIHRvIG1lYW4gcG9seSBwcm90bywgc28gdXNlcidzIG9mIHRo
aXMgQVBJIG11c3QgcHJvdmlkZSBub24tbnVsbCBwcm90b3R5cGVzLgorCisgICAgYXV0byBrZXkg
PSBzdGQ6Om1ha2VfdHVwbGUobWFrZVBvbHlQcm90b1N0cnVjdHVyZSA/IG51bGxwdHIgOiBwcm90
b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7CiAgICAgaWYg
KFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9zdHJ1Y3R1cmVzLmdldChrZXkpKSB7CisgICAgICAg
IGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgICAgICBhZGRQcm90b3R5cGUo
cHJvdG90eXBlKTsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+aGFzUG9s
eVByb3RvKCkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0
cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpOwogICAgICAgICBBU1NFUlQoaXNQcm90b3R5cGUocHJv
dG90eXBlKSk7CiAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmU7CiAgICAgfQogCiAgICAgYWRkUHJv
dG90eXBlKHByb3RvdHlwZSk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmNyZWF0ZSgKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7
CisKKyAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmU7CisgICAgaWYgKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgc3RydWN0
dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICBTdHJ1Y3R1cmU6OlBvbHlQcm90
bywgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRl
eGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9IGVsc2UgeworICAgICAgICBzdHJ1Y3R1
cmUgPSBTdHJ1Y3R1cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIHZtLCBnbG9iYWxPYmplY3QsIHBy
b3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0
eSk7CisgICAgfQogICAgIG1fc3RydWN0dXJlcy5zZXQoa2V5LCBXZWFrPFN0cnVjdHVyZT4oc3Ry
dWN0dXJlKSk7CisKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQogCkBAIC03MywyMCArODksMjEg
QEAgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRgogewogICAgIC8vIFdl
IGN1cnJlbnRseSBkbyBub3QgaGF2ZSBpbmxpbmUgY2FwYWNpdHkgc3RhdGljIGFuYWx5c2lzIGZv
ciBzdWJjbGFzc2VzIGFuZCBhbGwgaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RydWN0b3JzIGhhdmUg
YSBkZWZhdWx0IGlubGluZSBjYXBhY2l0eSBvZiAwLgogICAgIEluZGV4aW5nVHlwZSBpbmRleGlu
Z1R5cGUgPSBiYXNlU3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKTsKLSAgICBpZiAocHJvdG90eXBl
LT5zdHJ1Y3R1cmUoKS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpICYmIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCisgICAgaWYgKHByb3Rv
dHlwZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpICYmIGhh
c0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSkpCiAgICAgICAgIGluZGV4aW5nVHlwZSA9
IChpbmRleGluZ1R5cGUgJiB+SW5kZXhpbmdTaGFwZU1hc2spIHwgU2xvd1B1dEFycmF5U3RvcmFn
ZVNoYXBlOwogCi0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygpLCBiYXNlU3RydWN0dXJlLT5jbGFz
c0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwKTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1
cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJhc2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJh
c2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRleGluZ1R5cGUsIDAsIGZhbHNlKTsKIH0KIAot
U3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5KQorU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0
U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJv
dG9TdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0
OjppbmZvKCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKyAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwg
SlNGaW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHksIG1ha2VQ
b2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiB2b2lkIFByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogb2JqZWN0LCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKIHsKICAgICBtX3N0cnVj
dHVyZXMucmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShvYmplY3QsIGlubGluZUNhcGFjaXR5LCBKU0Zp
bmFsT2JqZWN0OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOworICAgIG1fc3RydWN0dXJlcy5yZW1v
dmUoc3RkOjptYWtlX3R1cGxlKG51bGxwdHIsIGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0
OjppbmZvKCksIGdsb2JhbE9iamVjdCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
aAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
fQogCi0gICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVy
ZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RT
dHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPSBmYWxzZSk7CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eVN0cnVjdHVyZUZvclByb3RvdHlw
ZUZyb21CYXNlU3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBTdHJ1Y3R1cmUq
KTsKICAgICB2b2lkIGNsZWFyRW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9i
YWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KTsKICAgICBKU19F
WFBPUlRfUFJJVkFURSB2b2lkIGFkZFByb3RvdHlwZShKU09iamVjdCopOwogICAgIGlubGluZSBU
cmlTdGF0ZSBpc1Byb3RvdHlwZShKU09iamVjdCopIGNvbnN0OyAvLyBSZXR1cm5zIGEgY29uc2Vy
dmF0aXZlIGVzdGltYXRlLgogCiBwcml2YXRlOgotICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlT
dHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBl
SW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkpOworICAgIFN0cnVjdHVyZSogY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoSlNHbG9iYWxPYmpl
Y3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5m
byosIEluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQ
cm90b1N0cnVjdHVyZSk7CiAKICAgICBXZWFrR0NNYXA8SlNPYmplY3QqLCBKU09iamVjdD4gbV9w
cm90b3R5cGVzOwogICAgIC8vIEZJWE1FOiBtYWtlIHRoZSBrZXkgYSBzdHJ1Y3QuCi0gICAgdHlw
ZWRlZiBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2lnbmVkLCBjb25zdCBDbGFz
c0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+IFN0cnVjdHVyZU1hcDsKKyAgICB1
c2luZyBTdHJ1Y3R1cmVNYXAgPSBXZWFrR0NNYXA8c3RkOjp0dXBsZTxKU09iamVjdCosIHVuc2ln
bmVkLCBjb25zdCBDbGFzc0luZm8qLCBKU0dsb2JhbE9iamVjdCo+LCBTdHJ1Y3R1cmU+OwogICAg
IFN0cnVjdHVyZU1hcCBtX3N0cnVjdHVyZXM7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE4OCw2ICsxODgsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2Jq
CiAgICAgLCBtX2NsYXNzSW5mbyhjbGFzc0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBv
aW50U2V0KElzV2F0Y2hlZCkKICAgICAsIG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBt
X3Byb3BlcnR5SGFzaCgwKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5
S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTIyMCw2ICsy
MjEsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0pCiAgICAgLCBtX2NsYXNzSW5mbyhp
bmZvKCkpCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAs
IG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaCgwKQogewogICAg
IHNldERpY3Rpb25hcnlLaW5kKE5vbmVEaWN0aW9uYXJ5S2luZCk7CiAgICAgc2V0SXNQaW5uZWRQ
cm9wZXJ0eVRhYmxlKGZhbHNlKTsKQEAgLTI0NywxMCArMjQ5LDExIEBAIFN0cnVjdHVyZTo6U3Ry
dWN0dXJlKFZNJiB2bSwgU3RydWN0dXJlKiAKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJl
U3RydWN0dXJlLmdldCgpKQogICAgICwgbV9pbmxpbmVDYXBhY2l0eShwcmV2aW91cy0+bV9pbmxp
bmVDYXBhY2l0eSkKICAgICAsIG1fYml0RmllbGQoMCkKLSAgICAsIG1fcHJvdG90eXBlKHZtLCB0
aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90eXBlKCkpCisgICAgLCBtX3Byb3RvdHlwZSh2bSwg
dGhpcywgcHJldmlvdXMtPm1fcHJvdG90eXBlLmdldCgpKQogICAgICwgbV9jbGFzc0luZm8ocHJl
dmlvdXMtPm1fY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dh
dGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhh
c2gocHJldmlvdXMtPm1fcHJvcGVydHlIYXNoKQogewogICAgIHNldERpY3Rpb25hcnlLaW5kKHBy
ZXZpb3VzLT5kaWN0aW9uYXJ5S2luZCgpKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUo
ZmFsc2UpOwpAQCAtMjk2LDYgKzI5OSwyMyBAQCB2b2lkIFN0cnVjdHVyZTo6ZGVzdHJveShKU0Nl
bGwqIGNlbGwpCiAgICAgc3RhdGljX2Nhc3Q8U3RydWN0dXJlKj4oY2VsbCktPlN0cnVjdHVyZTo6
flN0cnVjdHVyZSgpOwogfQogCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFBvbHlQcm90
b1RhZywgVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJ
bmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkK
K3sKKyAgICBTdHJ1Y3R1cmUqIHJlc3VsdCA9IGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90
b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkp
OworCisgICAgdW5zaWduZWQgb2xkT3V0T2ZMaW5lQ2FwYWNpdHkgPSByZXN1bHQtPm91dE9mTGlu
ZUNhcGFjaXR5KCk7CisgICAgcmVzdWx0LT5hZGRQcm9wZXJ0eVdpdGhvdXRUcmFuc2l0aW9uKAor
ICAgICAgICB2bSwgdm0ucHJvcGVydHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkudW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWUoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSksCisgICAgICAgIFsmXSAoY29uc3QgR0NTYWZlQ29uY3VycmVudEpTTG9ja2Vy
JiwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBQcm9wZXJ0eU9mZnNldCBuZXdMYXN0T2Zmc2V0KSB7
CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChTdHJ1Y3R1cmU6Om91dE9mTGluZUNhcGFjaXR5
KG5ld0xhc3RPZmZzZXQpID09IG9sZE91dE9mTGluZUNhcGFjaXR5KTsKKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KG9mZnNldCkpOworICAgICAgICAgICAgcmVzdWx0
LT5tX3Byb3RvdHlwZS5zZXQodm0sIHJlc3VsdCwganNOdW1iZXIob2Zmc2V0KSk7CisgICAgICAg
ICAgICByZXN1bHQtPnNldExhc3RPZmZzZXQobmV3TGFzdE9mZnNldCk7CisgICAgICAgIH0pOwor
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBTdHJ1Y3R1cmU6OmZpbmRTdHJ1Y3R1cmVz
QW5kTWFwRm9yTWF0ZXJpYWxpemF0aW9uKFZlY3RvcjxTdHJ1Y3R1cmUqLCA4PiYgc3RydWN0dXJl
cywgU3RydWN0dXJlKiYgc3RydWN0dXJlLCBQcm9wZXJ0eVRhYmxlKiYgdGFibGUpCiB7CiAgICAg
QVNTRVJUKHN0cnVjdHVyZXMuaXNFbXB0eSgpKTsKQEAgLTM5OSwyNiArNDE5LDE0IEBAIFN0cnVj
dHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gYWRkUHJvcGVy
dHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoc3RydWN0dXJlLCB1aWQsIGF0dHJp
YnV0ZXMsIG9mZnNldCk7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK2Jvb2wgU3RydWN0dXJlOjpob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAg
ICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKLSAgICAgICAgaWYg
KGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQotICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIAotICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpOwotICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOwotICAgIH0KLX0KKyAgICBBU1NFUlQoYmFzZS0+
c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKIAotYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZShWTSYgdm0pIGNvbnN0Ci17CiAgICAgaWYgKHRoaXMtPm1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIEpTVmFsdWUg
cHJvdG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSB0aGlzLT5zdG9yZWRQcm90b3R5cGUoYmFzZSk7CiAgICAgaWYgKCFwcm90b3R5cGUuaXNP
YmplY3QoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBh
c09iamVjdChwcm90b3R5cGUpOwpAQCAtNDI3LDcgKzQzNSw3IEBAIGJvb2wgU3RydWN0dXJlOjpo
b2xlc011c3RGb3J3YXJkVG9Qcm90b3QKICAgICAgICAgU3RydWN0dXJlJiBzdHJ1Y3R1cmUgPSAq
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoaGFzSW5kZXhlZFByb3BlcnRpZXMo
b2JqZWN0LT5pbmRleGluZ1R5cGUoKSkgfHwgc3RydWN0dXJlLm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgcHJvdG90eXBlID0gc3RydWN0
dXJlLnN0b3JlZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09i
amVjdCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBvYmplY3QgPSBhc09i
amVjdChwcm90b3R5cGUpOwpAQCAtNDM3LDIwICs0NDUsNiBAQCBib29sIFN0cnVjdHVyZTo6aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFN0cnVj
dHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdAotewotICAgIHJldHVybiBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKLSAgICAgICAgfHwgZ2xvYmFs
T2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKLX0KLQotTm9uUHJvcGVydHlUcmFuc2l0aW9u
IFN0cnVjdHVyZTo6c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0Ci17Ci0g
ICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpCi0gICAgICAgIHJldHVybiBOb25Qcm9wZXJ0
eVRyYW5zaXRpb246OkFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKLSAgICAKLSAgICByZXR1
cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZUFycmF5U3RvcmFnZTsKLX0KLQogU3Ry
dWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1
dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIFN0cnVjdHVyZSogbmV3U3RydWN0
dXJlID0gYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZSgKQEAgLTU1Myw2
ICs1NDcsOCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cmVtb3ZlUHJvcGVydHlUcmFuCiAKIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTVmFsdWUgcHJvdG90eXBlKQogeworICAgIEFTU0VSVChwcm90
b3R5cGUuaXNPYmplY3QoKSB8fCBwcm90b3R5cGUuaXNOdWxsKCkpOworCiAgICAgRGVmZXJHQyBk
ZWZlckdDKHZtLmhlYXApOwogICAgIFN0cnVjdHVyZSogdHJhbnNpdGlvbiA9IGNyZWF0ZSh2bSwg
c3RydWN0dXJlKTsKIApAQCAtMTA2OCwxMSArMTA2NCw2IEBAIHZvaWQgU3RydWN0dXJlOjpkaWRU
cmFuc2l0aW9uRnJvbVRoaXNTdHIKICAgICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5m
aXJlQWxsKCp2bSgpLCBTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRoaXMpKTsKIH0KIAotSlNWYWx1ZSBT
dHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QK
LXsKLSAgICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwKGNvZGVCbG9jay0+Z2xvYmFsT2JqZWN0
KCkpOwotfQotCiB2b2lkIFN0cnVjdHVyZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIFN0cnVjdHVyZSogdGhpc09iamVjdCA9IGpzQ2Fz
dDxTdHJ1Y3R1cmUqPihjZWxsKTsKQEAgLTExMTAsNyArMTEwMSw3IEBAIGJvb2wgU3RydWN0dXJl
Ojppc0NoZWFwRHVyaW5nR0MoKQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTczMzQKICAgICAKICAgICByZXR1cm4gKCFtX2dsb2JhbE9iamVjdCB8fCBI
ZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX2dsb2JhbE9iamVjdC5nZXQoKSkpCi0gICAgICAg
ICYmICghc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50
bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKKyAgICAgICAgJiYgKGhhc1BvbHlQcm90bygp
IHx8ICFzdG9yZWRQcm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRs
eShzdG9yZWRQcm90b3R5cGVPYmplY3QoKSkpOwogfQogCiBib29sIFN0cnVjdHVyZTo6bWFya0lm
Q2hlYXAoU2xvdFZpc2l0b3ImIHZpc2l0b3IpCkBAIC0xMTIyLDQwICsxMTEzLDE5IEBAIGJvb2wg
U3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90VmlzaXRvciYKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyhWTSYg
dm0sIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCi17Ci0gICAgaWYgKHBhcnNlSW5kZXgocHJv
cGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKTsKLSAgICAKLSAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHRo
aXM7IDspIHsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90
b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUuYXNDZWxs
KCktPnN0cnVjdHVyZSh2bSk7Ci0gICAgICAgIAotICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVz
OwotICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBjdXJyZW50LT5nZXQodm0sIHByb3Bl
cnR5TmFtZSwgYXR0cmlidXRlcyk7Ci0gICAgICAgIGlmICghSlNDOjppc1ZhbGlkT2Zmc2V0KG9m
ZnNldCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCi0gICAgICAgIGlmIChhdHRy
aWJ1dGVzICYgKFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRl
OjpBY2Nlc3NvcikpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLVJlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJl
Ojp0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUpCitSZWY8U3RydWN0dXJlU2hhcGU+IFN0
cnVjdHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlLCBib29sJiBzYXdQb2x5UHJv
dG9TdHJ1Y3R1cmUpCiB7CiAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBiYXNlU2hhcGUgPSBTdHJ1
Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CiAgICAgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiBjdXJTaGFw
ZSA9IGJhc2VTaGFwZS5wdHIoKTsKICAgICBTdHJ1Y3R1cmUqIGN1clN0cnVjdHVyZSA9IHRoaXM7
CiAgICAgSlNWYWx1ZSBjdXJWYWx1ZSA9IHZhbHVlOworICAgIHNhd1BvbHlQcm90b1N0cnVjdHVy
ZSA9IGZhbHNlOwogICAgIHdoaWxlIChjdXJTdHJ1Y3R1cmUpIHsKKyAgICAgICAgc2F3UG9seVBy
b3RvU3RydWN0dXJlIHw9IGN1clN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7CiAgICAgICAgIGN1
clN0cnVjdHVyZS0+Zm9yRWFjaFByb3BlcnR5Q29uY3VycmVudGx5KAogICAgICAgICAgICAgWyZd
IChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAg
ICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOworICAgICAgICAgICAgICAgIGlm
ICghUHJvcGVydHlOYW1lKGVudHJ5LmtleSkuaXNQcml2YXRlTmFtZSgpKQorICAgICAgICAgICAg
ICAgICAgICBjdXJTaGFwZS0+YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9KTsKIApAQCAtMTE2OSwyNiArMTEzOSwyNCBA
QCBSZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVjdHVyZTo6dG9TdHJ1Y3R1CiAKICAgICAgICAgY3Vy
U2hhcGUtPm1hcmtBc0ZpbmFsKCk7CiAKLSAgICAgICAgaWYgKGN1clN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlU3RydWN0dXJlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gbmV3U2hhcGUgPSBTdHJ1
Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBjdXJTaGFwZS0+c2V0UHJvdG8obmV3
U2hhcGUuY29weVJlZigpKTsKLSAgICAgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFw
ZSk7Ci0gICAgICAgICAgICBjdXJWYWx1ZSA9IGN1clN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCFjdXJWYWx1ZS5pc09iamVjdCgpKQorICAgICAg
ICAgICAgYnJlYWs7CiAKLSAgICAgICAgY3VyU3RydWN0dXJlID0gY3VyU3RydWN0dXJlLT5zdG9y
ZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKTsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2Jq
ZWN0KGN1clZhbHVlKTsKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlwZU9iamVjdCA9IG9iamVj
dC0+c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpOworICAgICAgICBp
ZiAoIXByb3RvdHlwZU9iamVjdCkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGF1dG8g
bmV3U2hhcGUgPSBTdHJ1Y3R1cmVTaGFwZTo6Y3JlYXRlKCk7CisgICAgICAgIGN1clNoYXBlLT5z
ZXRQcm90byhuZXdTaGFwZS5jb3B5UmVmKCkpOworICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUo
bmV3U2hhcGUpOworICAgICAgICBjdXJWYWx1ZSA9IHByb3RvdHlwZU9iamVjdDsKKyAgICAgICAg
Y3VyU3RydWN0dXJlID0gcHJvdG90eXBlT2JqZWN0LT5zdHJ1Y3R1cmUoKTsKICAgICB9CiAgICAg
CiAgICAgcmV0dXJuIGJhc2VTaGFwZTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmNhblVzZUZvckFs
bG9jYXRpb25zT2YoU3RydWN0dXJlKiBvdGhlcikKLXsKLSAgICByZXR1cm4gaW5saW5lQ2FwYWNp
dHkoKSA9PSBvdGhlci0+aW5saW5lQ2FwYWNpdHkoKQotICAgICAgICAmJiBzdG9yZWRQcm90b3R5
cGUoKSA9PSBvdGhlci0+c3RvcmVkUHJvdG90eXBlKCkKLSAgICAgICAgJiYgb2JqZWN0SW5pdGlh
bGl6YXRpb25CbG9iKCkgPT0gb3RoZXItPm9iamVjdEluaXRpYWxpemF0aW9uQmxvYigpOwotfQot
CiB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewogICAgIG91
dC5wcmludChSYXdQb2ludGVyKHRoaXMpLCAiOlsiLCBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lLCAi
LCB7Iik7CkBAIC0xMjAzLDcgKzExNzEsOSBAQCB2b2lkIFN0cnVjdHVyZTo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjCiAgICAgCiAgICAgb3V0LnByaW50KCJ9LCAiLCBJbmRleGluZ1R5cGVEdW1w
KGluZGV4aW5nVHlwZSgpKSk7CiAgICAgCi0gICAgaWYgKG1fcHJvdG90eXBlLmdldCgpLmlzQ2Vs
bCgpKQorICAgIGlmIChoYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgb3V0LnByaW50KCIsIFBvbHlQ
cm90byBvZmZzZXQ6IiwgcG9seVByb3RvT2Zmc2V0KCkpOworICAgIGVsc2UgaWYgKG1fcHJvdG90
eXBlLmdldCgpLmlzQ2VsbCgpKQogICAgICAgICBvdXQucHJpbnQoIiwgUHJvdG86IiwgUmF3UG9p
bnRlcihtX3Byb3RvdHlwZS5nZXQoKS5hc0NlbGwoKSkpOwogCiAgICAgc3dpdGNoIChkaWN0aW9u
YXJ5S2luZCgpKSB7CkBAIC0xMjg4LDkgKzEyNTgsNyBAQCBib29sIFN0cnVjdHVyZTo6Y2FuQ2Fj
aGVQcm9wZXJ0eU5hbWVFbnVtCiAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUtPmdldCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzdHJ1Y3R1cmUt
PmdldCgpLT5pc0RpY3Rpb25hcnkoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlO
YW1lcygpKQorICAgICAgICBpZiAoc3RydWN0dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkgfHwg
c3RydWN0dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHN0cnVjdHVyZSsrOwogICAgIH0K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lv
biAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTI5LDcgKzEyOSw5IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpT
Q2VsbCBCYXNlOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJh
c2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKICAgICAKKyAgICBlbnVt
IFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9OwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZv
JiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5ID0gMCk7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90
b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5
cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlID0gTm9uQXJyYXksIHVuc2ln
bmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+U3RydWN0dXJlKCk7CiAKQEAgLTEzOCw3
ICsxNDAsMTkgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOwogICAgICAgICBBU1NFUlQobV9wcm90b3R5cGUpOwotICAgICAgICBBU1NFUlQobV9w
cm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSk7CisgICAgICAgIEFT
U0VSVChtX3Byb3RvdHlwZS5pc09iamVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpIHx8IG1f
cHJvdG90eXBlLmlzSW50MzIoKSk7CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIGNvbnN0IFN0cnVjdHVyZSogcHJldmlvdXMpCisgICAgeworICAgICAgICB0aGlzLT5m
aW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIGlmIChwcmV2aW91cy0+aGFzUmFyZURhdGEoKSkg
eworICAgICAgICAgICAgY29uc3QgU3RydWN0dXJlUmFyZURhdGEqIHByZXZpb3VzUmFyZURhdGEg
PSBwcmV2aW91cy0+cmFyZURhdGEoKTsKKyAgICAgICAgICAgIGlmIChwcmV2aW91c1JhcmVEYXRh
LT5oYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpIHsKKyAgICAgICAgICAgICAgICBlbnN1
cmVSYXJlRGF0YSh2bSk7CisgICAgICAgICAgICAgICAgcmFyZURhdGEoKS0+c2V0U2hhcmVkUG9s
eVByb3RvV2F0Y2hwb2ludChwcmV2aW91c1JhcmVEYXRhLT5jb3B5U2hhcmVkUG9seVByb3RvV2F0
Y2hwb2ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KIAogICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDcmVhdGluZ0Vhcmx5Q2VsbFRhZykKQEAgLTE2Nyw3ICsx
ODEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0
aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShTdHJ1Y3R1cmUqLCBVbmlxdWVkU3Ry
aW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlv
blRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBh
dHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHJlbW92
ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgUHJvcGVy
dHlPZmZzZXQmKTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBjaGFu
Z2VQcm90b3R5cGVUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUp
OworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mLCBT
dHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIFN0cnVjdHVyZSogYXR0cmlidXRlQ2hhbmdlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgc3RhdGljIFN0cnVjdHVyZSogdG9DYWNoZWFibGVEaWN0aW9uYXJ5VHJhbnNpdGlvbihWTSYs
IFN0cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9
IG51bGxwdHIpOwogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvVW5jYWNoZWFibGVEaWN0aW9uYXJ5
VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSopOwpAQCAtMjA4LDcgKzIyMiw3IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIHJldHVybiAhdHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0lt
cHVyZUZvclByb3BlcnR5QWJzZW5jZSgpOwogICAgIH0KLSAgICAKKwogICAgIGJvb2wgbmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCiAgICAgewogICAgICAgICByZXR1cm4gcHJvcGVydHlB
Y2Nlc3Nlc0FyZUNhY2hlYWJsZSgpCkBAIC0yNDAsMjYgKzI1NCw0MiBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5k
ZXhlZEFjY2Vzc29ycyk7CiAgICAgfQogICAgICAgICAKLSAgICBKU19FWFBPUlRfUFJJVkFURSBi
b29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsK
LSAgICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYpIGNvbnN0OwotICAgICAg
ICAKLSAgICBib29sIG5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3Q7Ci0gICAgTm9uUHJvcGVy
dHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdDsKKyAg
ICBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYsIEpTT2JqZWN0KikgY29uc3Q7
CiAgICAgICAgIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJl
dHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBtZXRob2Qg
c2hvdWxkIG9ubHkgYmUgY2FsbGVkIGR1cmluZyB0aGUgY3JlYXRpb24gb2Ygc3RydWN0dXJlcywg
c2luY2UgdGhlIGdsb2JhbAogICAgIC8vIG9iamVjdCBvZiBhIHN0cnVjdHVyZSBpcyBwcmVzdW1l
ZCB0byBiZSBpbW11dGFibGUgaW4gYSBidW5jaCBvZiBwbGFjZXMuCiAgICAgdm9pZCBzZXRHbG9i
YWxPYmplY3QoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFs
T2JqZWN0LnNldCh2bSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQotICAgICAgICAKLSAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOyB9
CisKKyAgICBib29sIGhhc01vbm9Qcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
IW1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIoKTsKKyAgICB9CisgICAgYm9vbCBoYXNQb2x5UHJv
dG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICFoYXNNb25vUHJvdG8oKTsKKyAgICB9
CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkpOworICAgICAgICByZXR1cm4gbV9wcm90b3R5cGUu
Z2V0KCk7CisgICAgfQorICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCgpIGNvbnN0
CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChoYXNQb2x5UHJvdG8oKSk7CisgICAgICAg
IHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7CisgICAgfQorICAgIEpTVmFsdWUg
c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgSlNPYmplY3QqIHN0
b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIFN0cnVjdHVy
ZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisKICAg
ICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgY29uc3Q7CiAgICAgU3RydWN0dXJl
KiBzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZUZvckxvb2t1cChFeGVjU3RhdGUqKSBjb25zdDsKICAgICBKU1ZhbHVlIHByb3RvdHlwZUZvckxv
b2t1cChKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9v
a3VwKENvZGVCbG9jayopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFp
bihWTSYsIEpTR2xvYmFsT2JqZWN0KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3Rv
dHlwZUNoYWluKEV4ZWNTdGF0ZSopIGNvbnN0OworICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9v
a3VwKEpTR2xvYmFsT2JqZWN0KiwgSlNDZWxsKiBiYXNlKSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVD
aGFpbiogcHJvdG90eXBlQ2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBiYXNl
KSBjb25zdDsKKyAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhlY1N0YXRlKiwg
SlNPYmplY3QqIGJhc2UpIGNvbnN0OwogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiwgU2xvdFZpc2l0b3ImKTsKICAgICAKICAgICAvLyBBIFN0cnVjdHVyZSBpcyBjaGVhcCB0
byBtYXJrIGR1cmluZyBHQyBpZiBkb2luZyBzbyB3b3VsZCBvbmx5IGFkZCBhIHNtYWxsIGFuZCBi
b3VuZGVkIGFtb3VudApAQCAtMjcyLDE0ICszMDIsMzAgQEAgcHVibGljOgogICAgIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGlzIHN0cnVjdHVyZSBpcyBub3cgbWFya2VkLgogICAgIGJvb2wg
bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImKTsKLSAgICAgICAgCi0gICAgLy8gV2lsbCBqdXN0IHRo
ZSBwcm90b3R5cGUgY2hhaW4gaW50ZXJjZXB0IHRoaXMgcHJvcGVydHkgYWNjZXNzPwotICAgIEpT
X0VYUE9SVF9QUklWQVRFIGJvb2wgcHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZN
JiwgUHJvcGVydHlOYW1lKTsKICAgICAKICAgICBib29sIGhhc1JhcmVEYXRhKCkgY29uc3QKICAg
ICB7CiAgICAgICAgIHJldHVybiBpc1JhcmVEYXRhKG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgp
KTsKICAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKQorICAgIHsKKyAg
ICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQor
CisgICAgY29uc3QgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwor
ICAgIH0KKworICAgIFN0cnVjdHVyZVJhcmVEYXRhKiBlbnN1cmVSYXJlRGF0YShWTSYgdm0pCisg
ICAgeworICAgICAgICBpZiAoIWhhc1JhcmVEYXRhKCkpCisgICAgICAgICAgICBhbGxvY2F0ZVJh
cmVEYXRhKHZtKTsKKyAgICAgICAgcmV0dXJuIHJhcmVEYXRhKCk7CisgICAgfQogICAgIAogICAg
IFN0cnVjdHVyZSogcHJldmlvdXNJRCgpIGNvbnN0CiAgICAgewpAQCAtNTMzLDEyICs1NzksNiBA
QCBwdWJsaWM6CiAgICAgICAgIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXModm0pOwog
ICAgIH0KICAgICAKLSAgICB2b2lkIHN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5l
Y2Vzc2FyeUZvckVudGlyZUNoYWluKFZNJiB2bSkKLSAgICB7Ci0gICAgICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzOyBzdHJ1Y3R1cmU7IHN0cnVjdHVyZSA9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkpCi0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0
V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7Ci0gICAgfQotCiAgICAg
Ym9vbCBoYXNJbmZlcnJlZFR5cGVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiAhIW1f
aW5mZXJyZWRUeXBlVGFibGU7CkBAIC01ODgsMTEgKzYyOCw3IEBAIHB1YmxpYzoKICAgICAgICAg
d2lsbFN0b3JlVmFsdWVTbG93KHZtLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRPcHRpbWl6
ZSwgSW5mZXJyZWRUeXBlVGFibGU6Ok9sZFByb3BlcnR5KTsKICAgICB9CiAKLSAgICBSZWY8U3Ry
dWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSk7Ci0gICAgCi0gICAgLy8gRGV0
ZXJtaW5lcyBpZiB0aGUgdHdvIHN0cnVjdHVyZXMgbWF0Y2ggZW5vdWdoIHRoYXQgdGhpcyBvbmUg
Y291bGQgYmUgdXNlZCBmb3IgYWxsb2NhdGlvbnMKLSAgICAvLyBvZiB0aGUgb3RoZXIgb25lLgot
ICAgIGJvb2wgY2FuVXNlRm9yQWxsb2NhdGlvbnNPZihTdHJ1Y3R1cmUqKTsKKyAgICBSZWY8U3Ry
dWN0dXJlU2hhcGU+IHRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSwgYm9vbCYgc2F3UG9seVByb3Rv
U3RydWN0dXJlKTsKICAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAg
ICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNvbnN0OwpA
QCAtNjAxLDYgKzYzNywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZHVtcENvbnRleHRI
ZWFkZXIoUHJpbnRTdHJlYW0mKTsKICAgICAKICAgICBDb25jdXJyZW50SlNMb2NrJiBsb2NrKCkg
eyByZXR1cm4gbV9sb2NrOyB9CisKKyAgICB1bnNpZ25lZCBwcm9wZXJ0eUhhc2goKSBjb25zdCB7
IHJldHVybiBtX3Byb3BlcnR5SGFzaDsgfQorCisgICAgc3RhdGljIGJvb2wgc2hvdWxkQ29udmVy
dFRvUG9seVByb3RvKGNvbnN0IFN0cnVjdHVyZSogYSwgY29uc3QgU3RydWN0dXJlKiBiKTsKICAg
ICAKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCkBAIC03MjAsOCArNzYwLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgcmV0dXJuIG51bWJlck9mU2xvdHNGb3JMYXN0T2Zmc2V0KG1fb2Zmc2V0LCBt
X2lubGluZUNhcGFjaXR5KTsKICAgICB9CiAKLSAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0OwotICAgIGJv
b2wgaXNWYWxpZChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hh
aW4pIGNvbnN0OworICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZUNo
YWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OwogCiAgICAg
Ly8gWW91IGhhdmUgdG8gaG9sZCB0aGUgc3RydWN0dXJlIGxvY2sgdG8gZG8gdGhlc2UuCiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwaW4oY29uc3QgQWJzdHJhY3RMb2NrZXImLCBWTSYsIFBy
b3BlcnR5VGFibGUqKTsKQEAgLTczMiwxMiArNzcxLDYgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0
dXJuIGNlbGwgJiYgY2VsbC0+c3RydWN0dXJlSUQoKSAhPSBzdHJ1Y3R1cmVJRCgpOwogICAgIH0K
IAotICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0Ci0gICAgewotICAgICAg
ICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1
Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKLSAgICB9Ci0KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBEZXRhaWxzRnVuYz4KICAgICBib29sIGNoZWNrT2Zmc2V0Q29u
c2lzdGVuY3koUHJvcGVydHlUYWJsZSosIGNvbnN0IERldGFpbHNGdW5jJikgY29uc3Q7CiAgICAg
Ym9vbCBjaGVja09mZnNldENvbnNpc3RlbmN5KCkgY29uc3Q7CkBAIC03ODcsNiArODIwLDggQEAg
cHJpdmF0ZToKIAogICAgIC8vIG1fb2Zmc2V0IGRvZXMgbm90IGFjY291bnQgZm9yIGFub255bW91
cyBzbG90cwogICAgIFByb3BlcnR5T2Zmc2V0IG1fb2Zmc2V0OworCisgICAgdWludDMyX3QgbV9w
cm9wZXJ0eUhhc2g7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkocmV2aXNpb24gMjIyNzEy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAkod29y
a2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0NlbGwg
QmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpT
dHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAKLSAgICBzdGF0aWMgU3RydWN0
dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogaGVhZCkKKyAgICBzdGF0aWMgU3Ry
dWN0dXJlQ2hhaW4qIGNyZWF0ZShWTSYgdm0sIEpTT2JqZWN0KiBoZWFkKQogICAgIHsgCiAgICAg
ICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0
cnVjdHVyZUNoYWluPih2bS5oZWFwKSkgU3RydWN0dXJlQ2hhaW4odm0sIHZtLnN0cnVjdHVyZUNo
YWluU3RydWN0dXJlLmdldCgpKTsKICAgICAgICAgY2hhaW4tPmZpbmlzaENyZWF0aW9uKHZtLCBo
ZWFkKTsKQEAgLTYyLDIxICs2MiwyMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJv
eShKU0NlbGwqKTsKIAogcHJvdGVjdGVkOgotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2Jq
ZWN0KiBoZWFkKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworCiAg
ICAgICAgIHNpemVfdCBzaXplID0gMDsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNO
dWxsKCkgPyAwIDogYXNPYmplY3QoY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1
cmUoKSkKKyAgICAgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1
cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoY3Vy
cmVudCkpCiAgICAgICAgICAgICArK3NpemU7CiAKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+IHZlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8V3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT5bXT4oc2l6ZSArIDEpOwogCiAgICAgICAgIHNpemVfdCBpID0gMDsK
LSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50
ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCkuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QoY3Vy
cmVudC0+c3RvcmVkUHJvdG90eXBlKCkpLT5zdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHZlY3Rv
cltpKytdLnNldCh2bSwgdGhpcywgY3VycmVudCk7CisgICAgICAgIGZvciAoSlNPYmplY3QqIGN1
cnJlbnQgPSBoZWFkOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+
c3RvcmVkUHJvdG90eXBlT2JqZWN0KGN1cnJlbnQpKQorICAgICAgICAgICAgdmVjdG9yW2krK10u
c2V0KHZtLCB0aGlzLCBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pKTsKICAgICAgICAgCiAgICAgICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgICAgIG1fdmVjdG9yID0gV1RGTW92ZSh2ZWN0
b3IpOworICAgICAgICB2bS5oZWFwLndyaXRlQmFycmllcih0aGlzKTsKICAgICB9CiAKIHByaXZh
dGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
SW5saW5lcy5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDE2ICs1MSwxNyBA
QCBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZVN0cnVjCiAgICAgcmV0dXJuIHN0
cnVjdHVyZTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hw
b2ludEZpcmUqIGRlZmVycmVkKQoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUo
Vk0mIHZtLCBTdHJ1Y3R1cmUqIHByZXZpb3VzLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50RmlyZSogZGVmZXJyZWQpCiB7CiAgICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVj
dHVyZSk7Ci0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9j
YXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSwgZGVm
ZXJyZWQpOwotICAgIG5ld1N0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJl
Pih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBwcmV2aW91cywgZGVmZXJyZWQpOworICAgIG5ld1N0
cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0sIHByZXZpb3VzKTsKICAgICByZXR1cm4gbmV3U3Ry
dWN0dXJlOwogfQogCiBpbmxpbmUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8oKSk7CiAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IG1fcHJvdG90eXBlLmdldCgpOwogICAgIGlmICh2YWx1ZS5pc051
bGwoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC02OSwxMiArNzAsNDEgQEAgaW5saW5l
IEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdAogCiBpbmxpbmUgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpIGNvbnN0CiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkpOwogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKTsKICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgcmV0dXJuIG9iamVjdC0+c3RydWN0dXJlKCk7CiB9CiAKK0FMV0FZU19JTkxJTkUg
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCogb2JqZWN0
KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3RydWN0dXJlKCkgPT0gdGhp
cyk7CisgICAgaWYgKGhhc01vbm9Qcm90bygpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90
eXBlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQobV9wcm90b3R5cGUuZ2V0KCkuaXNJbnQzMigpKTsK
KyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBtX3Byb3RvdHlwZS5nZXQoKS5hc0ludDMyKCk7
CisgICAgcmV0dXJuIG9iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCk7Cit9CisKK0FMV0FZU19JTkxJ
TkUgSlNPYmplY3QqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlT2JqZWN0KGNvbnN0IEpTT2Jq
ZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1
cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaGFzTW9ub1Byb3RvKCkpCisgICAgICAgIHJldHVybiBz
dG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU1ZhbHVlIHByb3RvID0gb2JqZWN0LT5nZXRE
aXJlY3QocG9seVByb3RvT2Zmc2V0KCkpOworICAgIGlmIChwcm90by5pc051bGwoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvKTsKK30KKworQUxX
QVlTX0lOTElORSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlU3RydWN0dXJl
KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7CisgICAgaWYgKEpTT2JqZWN0KiBwcm90
byA9IHN0b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICByZXR1cm4gcHJvdG8t
PnN0cnVjdHVyZSgpOworICAgIHJldHVybiBudWxscHRyOworfQorCiBBTFdBWVNfSU5MSU5FIFBy
b3BlcnR5T2Zmc2V0IFN0cnVjdHVyZTo6Z2V0KFZNJiB2bSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKIHsKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpAQCAtMTY2LDQzICsxOTYsNTYgQEAg
aW5saW5lIGJvb2wgU3RydWN0dXJlOjp0cmFuc2l0aXZlbHlUcmFucwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2
ZUltcGwoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCit7CisgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworCisgICAgaWYg
KHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3RyaW5nVHlwZSkKKyAgICAgICAgcmV0
dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7CisKKyAgICBBU1NFUlQoc3RydWN0
dXJlLT50eXBlSW5mbygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKTsKKyAgICByZXR1cm4gZ2xvYmFs
T2JqZWN0LT5zeW1ib2xQcm90b3R5cGUoKTsKKworfQorCiBpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1
cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBpZiAoaXNPYmpl
Y3QoKSkKLSAgICAgICAgcmV0dXJuIG1fcHJvdG90eXBlLmdldCgpOwotICAgIGlmICh0eXBlSW5m
bygpLnR5cGUoKSA9PSBTeW1ib2xUeXBlKQotICAgICAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5z
eW1ib2xQcm90b3R5cGUoKTsKLQotICAgIEFTU0VSVCh0eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJp
bmdUeXBlKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKyAg
ICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBwcm90b3R5cGVGb3JM
b29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7CiB9CiAKLWlubGluZSBKU1Zh
bHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QK
K2lubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogYmFzZSkgY29uc3QKIHsKLSAgICByZXR1cm4gcHJv
dG90eXBlRm9yTG9va3VwKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGlzT2JqZWN0KCkp
CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoYXNPYmplY3QoYmFzZSkpOworICAgIHJl
dHVybiBwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBsKGdsb2JhbE9iamVjdCwgdGhpcyk7
CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CitpbmxpbmUgU3RydWN0
dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FT
U0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0pID09IHRoaXMpOwogICAgIC8vIFdlIGNhY2hlIG91ciBw
cm90b3R5cGUgY2hhaW4gc28gb3VyIGNsaWVudHMgY2FuIHNoYXJlIGl0LgotICAgIGlmICghaXNW
YWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkpKSB7Ci0gICAg
ICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7
Ci0gICAgICAgIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVD
aGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5cGUuaXNOdWxsKCkgPyAwIDogYXNPYmplY3QocHJvdG90
eXBlKS0+c3RydWN0dXJlKCkpKTsKKyAgICBpZiAoIWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2Nh
Y2hlZFByb3RvdHlwZUNoYWluLmdldCgpLCBiYXNlKSkgeworICAgICAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOworICAgICAgICBt
X2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0dXJlQ2hhaW46OmNyZWF0
ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gbnVsbHB0ciA6IGFzT2JqZWN0KHByb3RvdHlwZSkp
KTsKICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCk7CiB9CiAK
LWlubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVjU3Rh
dGUqIGV4ZWMpIGNvbnN0CitpbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90
eXBlQ2hhaW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVj
dCgpKTsKKyAgICByZXR1cm4gcHJvdG90eXBlQ2hhaW4oZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNh
bEdsb2JhbE9iamVjdCgpLCBiYXNlKTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1Zh
bGlkKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQ
cm90b3R5cGVDaGFpbikgY29uc3QKK2lubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxpZChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBl
Q2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewogICAgIGlmICghY2FjaGVkUHJvdG90eXBl
Q2hhaW4pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEpTVmFsdWUgcHJvdG90eXBlID0g
cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCk7CisgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiogY2FjaGVkU3RydWN0dXJlID0gY2FjaGVkUHJvdG90eXBlQ2hhaW4tPmhl
YWQoKTsKICAgICB3aGlsZSAoKmNhY2hlZFN0cnVjdHVyZSAmJiAhcHJvdG90eXBlLmlzTnVsbCgp
KSB7CiAgICAgICAgIGlmIChhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKSAhPSBjYWNo
ZWRTdHJ1Y3R1cmUtPmdldCgpKQpAQCAtMjEzLDExICsyNTYsNiBAQCBpbmxpbmUgYm9vbCBTdHJ1
Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxPCiAgICAgcmV0dXJuIHByb3RvdHlwZS5pc051bGwoKSAm
JiAhKmNhY2hlZFN0cnVjdHVyZTsKIH0KIAotaW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlk
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBj
b25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwg
Y2FjaGVkUHJvdG90eXBlQ2hhaW4pOwotfQotCiBpbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OmRpZFJl
cGxhY2VQcm9wZXJ0eShQcm9wZXJ0eU9mZnNldCBvZmZzZXQpCiB7CiAgICAgaWYgKExJS0VMWSgh
aGFzUmFyZURhdGEoKSkpCkBAIC0zNDEsNiArMzc5LDggQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0
IFN0cnVjdHVyZTo6YWRkKFZNJgogICAgIGF1dG8gcmVwID0gcHJvcGVydHlOYW1lLnVpZCgpOwog
CiAgICAgUHJvcGVydHlPZmZzZXQgbmV3T2Zmc2V0ID0gdGFibGUtPm5leHRPZmZzZXQobV9pbmxp
bmVDYXBhY2l0eSk7CisKKyAgICBtX3Byb3BlcnR5SGFzaCA9IG1fcHJvcGVydHlIYXNoIF4gcmVw
LT5leGlzdGluZ1N5bWJvbEF3YXJlSGFzaCgpOwogICAgIAogICAgIFByb3BlcnR5T2Zmc2V0IG5l
d0xhc3RPZmZzZXQgPSBtX29mZnNldDsKICAgICB0YWJsZS0+YWRkKFByb3BlcnR5TWFwRW50cnko
cmVwLCBuZXdPZmZzZXQsIGF0dHJpYnV0ZXMpLCBuZXdMYXN0T2Zmc2V0LCBQcm9wZXJ0eVRhYmxl
OjpQcm9wZXJ0eU9mZnNldE1heUNoYW5nZSk7CkBAIC00MDAsOSArNDQwLDU2IEBAIGlubGluZSBQ
cm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OnJlbW92ZVAKICAgICByZXR1cm4gcmVtb3ZlKHByb3Bl
cnR5TmFtZSwgZnVuYyk7CiB9CiAKLWlubGluZSB2b2lkIFN0cnVjdHVyZTo6c2V0UHJvcGVydHlU
YWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQorQUxXQVlTX0lOTElORSB2b2lkIFN0
cnVjdHVyZTo6c2V0UHJvcGVydHlUYWJsZShWTSYgdm0sIFByb3BlcnR5VGFibGUqIHRhYmxlKQog
ewogICAgIG1fcHJvcGVydHlUYWJsZVVuc2FmZS5zZXRNYXlCZU51bGwodm0sIHRoaXMsIHRhYmxl
KTsKIH0KKworQUxXQVlTX0lOTElORSBib29sIFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9s
eVByb3RvKGNvbnN0IFN0cnVjdHVyZSogYSwgY29uc3QgU3RydWN0dXJlKiBiKQoreworICAgIGlm
ICghYSB8fCAhYikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEgPT0gYikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnBy
b3BlcnR5SGFzaCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBXZSBvbmx5IGNh
cmUgYWJvdXQgb2JqZWN0cyBjcmVhdGVkIHZpYSBhIGNvbnN0cnVjdG9yJ3MgdG9fdGhpcy4gVGhl
c2UKKyAgICAvLyBhbGwgaGF2ZSBTdHJ1Y3R1cmVzIHdpdGggcmFyZSBkYXRhIGFuZCBhIHNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQuCisgICAgaWYgKCFhLT5oYXNSYXJlRGF0YSgpIHx8ICFiLT5o
YXNSYXJlRGF0YSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBXZSBvbmx5IGNh
cmUgYWJvdXQgU3RydWN0dXJlJ3MgZ2VuZXJhdGVkIGZyb20gZnVuY3Rpb25zIHRoYXQgc2hhcmUK
KyAgICAvLyB0aGUgc2FtZSBleGVjdXRhYmxlLgorICAgIGNvbnN0IEJveDxJbmxpbmVXYXRjaHBv
aW50U2V0PiYgYUlubGluZVdhdGNocG9pbnRTZXQgPSBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KCk7CisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBi
SW5saW5lV2F0Y2hwb2ludFNldCA9IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNo
cG9pbnQoKTsKKyAgICBpZiAoYUlubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkgIT0gYklubGluZVdh
dGNocG9pbnRTZXQuZ2V0KCkgfHwgIWFJbmxpbmVXYXRjaHBvaW50U2V0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgQVNTRVJUKGFJbmxpbmVXYXRjaHBvaW50U2V0ICYmIGJJbmxpbmVXYXRj
aHBvaW50U2V0ICYmIGFJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpID09IGJJbmxpbmVXYXRjaHBv
aW50U2V0LmdldCgpKTsKKworICAgIGlmIChhLT5oYXNQb2x5UHJvdG8oKSB8fCBiLT5oYXNQb2x5
UHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKGEtPnN0b3JlZFByb3Rv
dHlwZSgpID09IGItPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBWTSYgdm0gPSAqYS0+dm0oKTsKKyAgICBKU09iamVjdCogYU9iaiA9IGEtPnN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpOworICAgIEpTT2JqZWN0KiBiT2JqID0gYi0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCk7CisgICAgd2hpbGUgKGFPYmogJiYgYk9iaikgeworICAgICAgICBhID0gYU9iai0+
c3RydWN0dXJlKHZtKTsKKyAgICAgICAgYiA9IGJPYmotPnN0cnVjdHVyZSh2bSk7CisKKyAgICAg
ICAgaWYgKGEtPnByb3BlcnR5SGFzaCgpICE9IGItPnByb3BlcnR5SGFzaCgpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGFPYmogPSBhLT5zdG9yZWRQcm90b3R5cGVPYmpl
Y3QoYU9iaik7CisgICAgICAgIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoYk9iaik7
CisgICAgfQorCisgICAgcmV0dXJuICFhT2JqICYmICFiT2JqOworfQogICAgIAogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVS
YXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZVJhcmVEYXRhLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYg
KzYyLDExIEBAIHB1YmxpYzoKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKIAorICAgIEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiBjb3B5U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNv
bnN0IHsgcmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQorICAgIGNvbnN0IEJveDxJbmxp
bmVXYXRjaHBvaW50U2V0PiYgc2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0
dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQorICAgIHZvaWQgc2V0U2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludChCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mJiBzaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KSB7IG1fcG9seVByb3RvV2F0Y2hwb2ludCA9IFdURk1vdmUoc2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludCk7IH0KKyAgICBib29sIGhhc1NoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX3BvbHlQcm90b1dhdGNocG9pbnQpOyB9
CisKICAgICBERUNMQVJFX0VYUE9SVF9JTkZPOwogCiBwcml2YXRlOgpAQCAtNzYsMTEgKzgxLDEy
IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcmV2aW91czsKICAg
ICBXcml0ZUJhcnJpZXI8SlNTdHJpbmc+IG1fb2JqZWN0VG9TdHJpbmdWYWx1ZTsKICAgICBXcml0
ZUJhcnJpZXI8SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yPiBtX2NhY2hlZFByb3BlcnR5TmFtZUVu
dW1lcmF0b3I7Ci0gICAgCisKICAgICB0eXBlZGVmIEhhc2hNYXA8UHJvcGVydHlPZmZzZXQsIFJl
ZlB0cjxXYXRjaHBvaW50U2V0PiwgV1RGOjpJbnRIYXNoPFByb3BlcnR5T2Zmc2V0PiwgV1RGOjpV
bnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxQcm9wZXJ0eU9mZnNldD4+IFByb3BlcnR5V2F0
Y2hwb2ludE1hcDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJvcGVydHlXYXRjaHBvaW50TWFwPiBt
X3JlcGxhY2VtZW50V2F0Y2hwb2ludFNldHM7CiAgICAgQmFnPE9iamVjdFRvU3RyaW5nQWRhcHRp
dmVTdHJ1Y3R1cmVXYXRjaHBvaW50PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVXYXRjaHBvaW50
U2V0OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxPYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRQ
cm9wZXJ0eVZhbHVlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRW
YWx1ZVdhdGNocG9pbnQ7CisgICAgQm94PElubGluZVdhdGNocG9pbnRTZXQ+IG1fcG9seVByb3Rv
V2F0Y2hwb2ludDsKICAgICBib29sIG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGU7
CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJM
b2cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQ
cm9maWxlckxvZy5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDE5ICs2
MywzNSBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAgICAgICAg
IGJlZm9yZSA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICB9CiAKKyAgICBIYXNoTWFwPFN0cnVjdHVy
ZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4+IGNhY2hlZE1vbm9Qcm90b1NoYXBlczsKKyAgICBI
YXNoTWFwPHN0ZDo6cGFpcjxTdHJ1Y3R1cmUqLCBKU0NlbGwqPiwgUmVmUHRyPFN0cnVjdHVyZVNo
YXBlPj4gY2FjaGVkUG9seVByb3RvU2hhcGVzOworCiAgICAgTG9nRW50cnkqIGVudHJ5ID0gbV9s
b2dTdGFydFB0cjsKLSAgICBIYXNoTWFwPFN0cnVjdHVyZSosIFJlZlB0cjxTdHJ1Y3R1cmVTaGFw
ZT4+IHNlZW5TaGFwZXM7CisKICAgICB3aGlsZSAoZW50cnkgIT0gbV9jdXJyZW50TG9nRW50cnlQ
dHIpIHsKICAgICAgICAgU3RydWN0dXJlSUQgaWQgPSBlbnRyeS0+c3RydWN0dXJlSUQ7Ci0gICAg
ICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hhcGU7IAorICAgICAgICBSZWZQdHI8U3RydWN0
dXJlU2hhcGU+IHNoYXBlOwogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZW50cnktPnZhbHVlOwog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG51bGxwdHI7CisgICAgICAgIGJvb2wgc2F3
UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAgICAgICAgIGlmIChpZCkgewotICAgICAgICAg
ICAgc3RydWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFi
bGUoKS5nZXQoaWQpOyAKLSAgICAgICAgICAgIGF1dG8gaXRlciA9IHNlZW5TaGFwZXMuZmluZChz
dHJ1Y3R1cmUpOwotICAgICAgICAgICAgaWYgKGl0ZXIgPT0gc2VlblNoYXBlcy5lbmQoKSkgewot
ICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0cnVjdHVyZVNoYXBlKHZhbHVl
KTsKLSAgICAgICAgICAgICAgICBzZWVuU2hhcGVzLnNldChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAg
ICAgICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1
cmVJRFRhYmxlKCkuZ2V0KGlkKTsKKyAgICAgICAgICAgIGF1dG8gaXRlciA9IGNhY2hlZE1vbm9Q
cm90b1NoYXBlcy5maW5kKHN0cnVjdHVyZSk7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBjYWNo
ZWRNb25vUHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGtleSA9IHN0
ZDo6bWFrZV9wYWlyKHN0cnVjdHVyZSwgdmFsdWUuYXNDZWxsKCkpOworICAgICAgICAgICAgICAg
IGF1dG8gaXRlciA9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5maW5kKGtleSk7CisgICAgICAgICAg
ICAgICAgaWYgKGl0ZXIgIT0gY2FjaGVkUG9seVByb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHNh
d1BvbHlQcm90b1N0cnVjdHVyZSA9IHRydWU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAgICAgaWYgKCFzaGFwZSkgeworICAgICAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVj
dHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2YWx1ZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKHNhd1BvbHlQcm90b1N0cnVjdHVyZSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNhY2hlZFBvbHlQcm90b1NoYXBlcy5zZXQoa2V5LCBzaGFwZSk7CisgICAg
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZE1vbm9Q
cm90b1NoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7CisgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgc2hhcGUgPSBpdGVyLT52YWx1ZTsKICAg
ICAgICAgfQpAQCAtODQsOCArMTAwLDggQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NM
b2dFbnRyaWVzKAogICAgICAgICBUeXBlTG9jYXRpb24qIGxvY2F0aW9uID0gZW50cnktPmxvY2F0
aW9uOwogICAgICAgICBsb2NhdGlvbi0+bV9sYXN0U2VlblR5cGUgPSB0eXBlOwogICAgICAgICBp
ZiAobG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldCkKLSAgICAgICAgICAgIGxvY2F0aW9uLT5tX2ds
b2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBzaGFwZS5jb3B5UmVmKCksIHN0
cnVjdHVyZSk7Ci0gICAgICAgIGxvY2F0aW9uLT5tX2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlw
ZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hhcGUpLCBzdHJ1Y3R1cmUpOworICAgICAgICAg
ICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNo
YXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAg
ICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBl
LCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAg
ICAgICAgIGVudHJ5Kys7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVHlwZVNldC5jcHAJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1R5cGVTZXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxNCArNDEsMTcgQEAg
VHlwZVNldDo6VHlwZVNldCgpCiB7CiB9CiAKLXZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0
aW9uKFJ1bnRpbWVUeXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdT
aGFwZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCit2b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZvcm1h
dGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2VkTmV3
U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkK
IHsKICAgICBtX3NlZW5UeXBlcyA9IG1fc2VlblR5cGVzIHwgdHlwZTsKIAogICAgIGlmIChzdHJ1
Y3R1cmUgJiYgcGFzc2VkTmV3U2hhcGUgJiYgIXJ1bnRpbWVUeXBlSXNQcmltaXRpdmUodHlwZSkp
IHsKICAgICAgICAgUmVmPFN0cnVjdHVyZVNoYXBlPiBuZXdTaGFwZSA9IHBhc3NlZE5ld1NoYXBl
LnJlbGVhc2VOb25OdWxsKCk7Ci0gICAgICAgIGlmICghbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMo
c3RydWN0dXJlKSkgewotICAgICAgICAgICAgeworICAgICAgICAvLyBGSVhNRTogVHlwZVNldCBz
aG91bGQgYmUgYWJsZSB0byBjYWNoZSBwb2x5IHByb3RvIGNoYWlucworICAgICAgICAvLyBqdXN0
IGJ5IGNhY2hpbmcgdGhlIHByb3RvdHlwZSBjaGFpbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzYyNworICAgICAgICBpZiAoc2F3UG9seVBy
b3RvU3RydWN0dXJlIHx8ICFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7Cisg
ICAgICAgICAgICBpZiAoIXNhd1BvbHlQcm90b1N0cnVjdHVyZSkgewogICAgICAgICAgICAgICAg
IENvbmN1cnJlbnRKU0xvY2tlciBsb2NrZXIobV9sb2NrKTsKICAgICAgICAgICAgICAgICBtX3N0
cnVjdHVyZVNldC5hZGQoc3RydWN0dXJlKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtODUs
NyArODUsNyBAQCBjbGFzcyBUeXBlU2V0IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VuCiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxUeXBlU2V0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFR5cGVTZXQpOyB9CiAgICAgVHlwZVNldCgpOwotICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0
aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYsIFN0cnVjdHVyZSopOwor
ICAgIHZvaWQgYWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVUeXBlLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+JiYsIFN0cnVjdHVyZSosIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKICAgICB2
b2lkIGludmFsaWRhdGVDYWNoZSgpOwogICAgIFN0cmluZyBkdW1wVHlwZXMoKSBjb25zdDsKICAg
ICBTdHJpbmcgZGlzcGxheU5hbWUoKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dyaXRlQmFycmllci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dyaXRlQmFycmllci5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MTQ0LDYgKzE0NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFVuZGVmaW5lZCgpIHsgbV92YWx1
ZSA9IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsgfQogICAgIHZvaWQgc2V0U3RhcnRp
bmdWYWx1ZShKU1ZhbHVlIHZhbHVlKSB7IG1fdmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUodmFsdWUp
OyB9CiAgICAgYm9vbCBpc051bWJlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVtYmVyKCk7
IH0KKyAgICBib29sIGlzSW50MzIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0ludDMyKCk7IH0K
ICAgICBib29sIGlzT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNPYmplY3QoKTsgfQog
ICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdWxsKCk7IH0KICAgICBi
b29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNHZXR0ZXJTZXR0ZXIo
KTsgfQpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTctMTAtMDIgIFNhYW0gQmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3Rv
dHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NjM5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d3RmL0JveC5oOgorICAgICAgICAoV1RGOjpCb3g6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICBN
YWtlIEJveCBtb3ZhYmxlLiBBbHNvIGVuc3VyZSBpdHMgb3BlcmF0b3IgYm9vbCBkb2Vzbid0IGRv
IGFuIGF0b21pYyBpbmNyZW1lbnQuCisgICAgICAgICogd3RmL1JlZlB0ci5oOgorICAgICAgICAo
V1RGOjpSZWZQdHI6Om9wZXJhdG9yIGJvb2wpOgorICAgICAgICBBZGQgYGV4cGxpY2l0IG9wZXJh
dG9yIGJvb2woKWAgZm9yIFJlZlB0ci4KKwogMjAxNy0wOS0zMCAgQW50dGkgS29pdmlzdG8gIDxh
bnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1ha2VXZWFrUHRyIGZvciBlYXNpZXIgV2Vh
a1B0ciBjb25zdHJ1Y3Rpb24KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0JveC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XVEYvd3RmL0JveC5oCShyZXZpc2lvbiAyMjI3MTIpCisrKyBTb3VyY2UvV1RG
L3d0Zi9Cb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTQgKzM2LDE3IEBAIG5hbWVzcGFjZSBX
VEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNzIEJveCB7CiBwdWJsaWM6Ci0gICAgQm94
KCkKLSAgICB7Ci0gICAgfQorICAgIEJveCgpID0gZGVmYXVsdDsKKyAgICBCb3goQm94JiYpID0g
ZGVmYXVsdDsKKyAgICBCb3goY29uc3QgQm94JikgPSBkZWZhdWx0OwogCiAgICAgQm94KHN0ZDo6
bnVsbHB0cl90KQogICAgIHsKICAgICB9CiAKKyAgICBCb3gmIG9wZXJhdG9yPShCb3gmJikgPSBk
ZWZhdWx0OworICAgIEJveCYgb3BlcmF0b3I9KGNvbnN0IEJveCYpID0gZGVmYXVsdDsKKwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBzdGF0aWMgQm94IGNyZWF0ZShB
cmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgewpAQCAtNTcsNyArNjAsNyBAQCBwdWJsaWM6
CiAgICAgVCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLT52YWx1ZTsgfQogICAg
IFQqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiAmbV9kYXRhLT52YWx1ZTsgfQogCi0gICAg
ZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIHsgcmV0dXJuIG1fZGF0YTsgfQorICAgIGV4cGxpY2l0
IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX2RhdGEp
OyB9CiAgICAgCiBwcml2YXRlOgogICAgIHN0cnVjdCBEYXRhIDogVGhyZWFkU2FmZVJlZkNvdW50
ZWQ8RGF0YT4gewpJbmRleDogU291cmNlL1dURi93dGYvUmVmUHRyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvUmVmUHRyLmgJKHJldmlzaW9uIDIyMjcxMikKKysrIFNvdXJjZS9XVEYv
d3RmL1JlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw4IEBAIHB1YmxpYzoKICAg
ICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24g
dG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCiAgICAgdHlwZWRlZiBUKiAo
UmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRC
b29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlZlB0cjo6bV9wdHIgOiBudWxscHRy
OyB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFtX3B0
cjsgfQogICAgIAogICAgIFJlZlB0ciYgb3BlcmF0b3I9KGNvbnN0IFJlZlB0ciYpOwogICAgIFJl
ZlB0ciYgb3BlcmF0b3I9KFQqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjc0NykKKysrIFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE3LTEwLTAyICBTYWFtIEJhcmF0aSAg
PHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBwcm90
b3R5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzYzOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHM6CisKIDIwMTctMTAtMDIgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgR3VhcmQgaU9TIHdlYmtpdEdl
dEFzRW50cnkgQVBJIHRlc3RzIG9uIG9sZGVyIGlPUyB2ZXJzaW9ucwpJbmRleDogVG9vbHMvU2Ny
aXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI3MTIpCisrKyBUb29scy9TY3JpcHRzL3J1
bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAgZGVm
IHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5GVExO
b0NKSVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwtbm8t
Y2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihGVExf
T1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVzdFNw
ZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlB
bGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRM
X09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRlc3RT
cGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0aW9u
YWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdFYWdl
ck5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9wdGlv
bmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZvcmNl
QnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyArIENP
TExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMp
KQorICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIs
ICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyAr
IENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlv
bnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVjaWZp
Y09wdGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAgICAg
cnVuKCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUi
LCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBlLXBy
b2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAgICBy
dW4oImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0tdXNl
VHlwZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9O
UyArIEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVyCg==
</data>
<flag name="review"
          id="342355"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322563</attachid>
            <date>2017-10-03 12:26:38 -0700</date>
            <delta_ts>2017-10-03 15:56:46 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>238848</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjI4MDEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDExOCBAQAorMjAxNy0xMC0wMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRmlsaXAgUGl6bG8uCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3Mv
cG9seS1wcm90by1hY2Nlc3MuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAg
KGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmFyKToKKyAgICAgICAgKGZv
byk6CisgICAgICAgIChiYXIpOgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb2x5LXByb3Rv
LXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAg
ICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVy
Zm9ybVNldCk6CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNw
ZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3Rv
T2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90
eXBlLnNldCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAg
KG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICog
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzOgorICAgICAgICAoaS50ZXN0cy5mb3JF
YWNoLkNvbnN0cnVjdG9yKToKKyAgICAgICAgKGkudGVzdHMuZm9yRWFjaCk6CisgICAgICAgICh0
ZXN0cy5mb3JFYWNoLkNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKHRlc3RzLmZvckVh
Y2gpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5q
czogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVj
dC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgICht
YWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJl
c3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAg
ICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmpl
Y3QpOgorICAgICAgICAoaXRlbXMuZm9yRWFjaCk6CisgICAgICAgIChzZXQgZ2V0IGZvcik6Cisg
ICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5q
czogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVj
dC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgICht
YWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogc3RyZXNzL3Bv
bHktcHJvdG8tbWlzcy5qczogQWRkZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZS5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZS5mb28pOgorICAgICAgICAobWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUpOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToK
KyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAodmFsaWRhdGUpOgorICAgICAgICAodmFsaWRhdGUyKToKKyAgICAg
ICAgKiBzdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qczogQWRkZWQuCisgICAgICAg
IChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVjdC5mb28uQyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0
KToKKyAgICAgICAgKHBlcmZvcm1TZXQpOgorICAgICAgICAoaS5vYmouX19wcm90b19fLnNldCBw
KToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChsZXQuYWx0ZXJuYXRlUHJvdG8uZ2V0IHgpOgor
ICAgICAgICAobGV0LmFsdGVybmF0ZVByb3RvMi5nZXQgeSk6CisgICAgICAgIChsZXQuYWx0ZXJu
YXRlUHJvdG8yLmdldCB4KToKKyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvbyk6CisgICAg
ICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZv
by5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLnNldCBw
KToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLmdldCBwKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICogc3RyZXNzL3BvbHkt
cHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAg
ICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmF6KToKKyAgICAg
ICAgKGZvbyk6CisgICAgICAgIChiYXIuQyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAodmFs
aWRhdGUpOgorICAgICAgICAqIHN0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qczogQWRkZWQu
CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UuZm9vLkMpOgorICAgICAgICAobWFrZVBv
bHlQcm90b0luc3RhbmNlLmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UpOgor
ICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJlc3Mv
cHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJhcik6
CisgICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToK
KyAgICAgICAgKiBzdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAodHJ5R2V0QnlJZFRleHQpOgorICAgICAgICAoeC5fX3Byb3RvX18u
Z2V0IGJhcik6CisgICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogdHlwZVByb2ZpbGVyL292
ZXJmbG93LmpzOgorCiAyMDE3LTEwLTAzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJBc3NlbWJseTogbm8gVk0gLyBKUyB2ZXJzaW9uIG9mIGV2ZXJ5dGhp
bmcgYnV0IEluc3RhbmNlCkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3Rv
LWFjY2Vzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLWFjY2Vzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9w
b2x5LXByb3RvLWFjY2Vzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5j
dGlvbiBhc3NlcnQoYikgeyBpZiAoIWIpIHRocm93IG5ldyBFcnJvcigiQmFkIik7IH0KK25vSW5s
aW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAg
Y29uc3RydWN0b3IoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLnggPSAyMDsKKyAgICAg
ICAgfQorCisgICAgICAgIGdldCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICBhc3NlcnQo
dGhpcy54ID09PSAyMCk7CisgICAgICAgICAgICBhc3NlcnQodGhpcy5mb28gPT09IHVuZGVmaW5l
ZCB8fCB0aGlzLmZvbyA9PT0gNDIpOworICAgICAgICAgICAgcmV0dXJuIDQ1OworICAgICAgICB9
CisgICAgfQorICAgIHJldHVybiBuZXcgQzsKK30KKworZm9vKCk7CitsZXQgYSA9IFtdOworZm9y
IChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgIGEucHVzaChmb28oKSk7CisKK2Z1bmN0aW9u
IGJhcihvKSB7CisgICAgYXNzZXJ0KG8uZm9vID09PSB1bmRlZmluZWQgfHwgby5mb28gPT09IDQy
KTsKKyAgICBhc3NlcnQoby5iYXIgPT09IDQ1KTsKK30KK25vSW5saW5lKGJhcik7CisKK2xldCBz
dGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDA7ICsraSkgewor
ICAgIGlmIChpID09PSA1MDAwKSB7CisgICAgICAgIGZvciAobGV0IGFyciBvZiBhKQorICAgICAg
ICAgICAgYXJyLl9fcHJvdG9fXy5mb28gPSA0MjsKKyAgICB9CisgICAgZm9yIChsZXQgaiA9IDA7
IGogPCBhLmxlbmd0aDsgKytqKSB7CisgICAgICAgIGJhcihhW2pdKTsKKyAgICB9Cit9CitpZiAo
ZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi1z
cGVlZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3Qo
KSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkgeyB0aGlzLl9maWVsZCA9IDQyOyB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBb
XTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkgeworICAgIGxldCBpdGVtID0gbWFrZVBv
bHlQcm90b09iamVjdCgpOworICAgIGl0ZW0uX19wcm90b19fID0gbnVsbDsKKyAgICBpdGVtcy5w
dXNoKGl0ZW0pOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgbGV0IG9iaiA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0
KG9iaik7CisgICAgICAgIGFzc2VydChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICJw
IikpOworICAgICAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKyAgICAgICAgYXNzZXJ0KG9iai5f
ZmllbGQgPT09IDQyKTsKKyAgICB9CisKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1z
ZXR0ZXItc3BlZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1zZXR0ZXItc3BlZWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2Jl
bmNobWFya3MvcG9seS1wcm90by1zZXR0ZXItc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1MiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0IGNhbGxlZCA9IGZhbHNlOwor
ZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7Cisg
ICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSAKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgc2V0IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjYWxsZWQg
PSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSB4OworICAgICAgICAgICAgfQorICAg
ICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0g
W107Citmb3IgKGxldCBpID0gMDsgaSA8IDg7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBv
bHlQcm90b09iamVjdCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAg
eC5wID0gaTsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBp
KTsKKyAgICAgICAgYXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVkID09
PSB0cnVlKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAgfQorfQoraWYgKGZhbHNlKQor
ICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25z
dHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25z
dHJ1Y3Rvci13aXRoLXJldHVybi5qcwkocmV2aXNpb24gMjIyODAxKQorKysgSlNUZXN0cy9zdHJl
c3MvY29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsy
MSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAgICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRv
ciksIHRydWUpLAogXTsKIAotdGVzdHMuZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1
bmN0aW9uIENvbnN0cnVjdG9yKCkgewotICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9
Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0
dXJuSXQpIHsKLSAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAg
ICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIHRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAg
ZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsK
ICAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9m
IENvbnN0cnVjdG9yKSkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBp
ZiAodGVzdC5yZXR1cm5JdCkgeworICAgICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3Vs
dCkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGlu
c3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1
bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAg
ICB9KTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3Rv
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBt
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9
CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAg
ICAgICAgICAgIHRoaXMuX2ZpZWxkID0gMjU7CisgICAgICAgICAgICB9CisgICAgICAgIH07Cisg
ICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsg
KytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9
IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJv
dG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUo
eCwgdikgeworICAgIGFzc2VydCh4LmN1c3RvbUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIp
OworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsr
aSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVm
bGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1
ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5MyBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyAKKyAgICAgICAgICAgIGNvbnN0cnVj
dG9yKCkgeyB0aGlzLmZpZWxkID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAg
YXNzZXJ0KGZvbygpLmZpZWxkID09PSAyMCk7CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30K
KworbGV0IGl0ZW1zID0gWworICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9s
eVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVBy
b3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90
b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3Rv
T2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9P
YmplY3QoKSwKK107CisKK2xldCBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBjcmVhdGVDdXN0b21UZXN0
R2V0dGVyU2V0dGVyKCk7CitpdGVtcy5mb3JFYWNoKCh4KSA9PiB7CisgICAgeC5fX3Byb3RvX18g
PSBjdXN0b21HZXR0ZXJTZXR0ZXI7CisgICAgYXNzZXJ0KHguX19wcm90b19fID09PSBjdXN0b21H
ZXR0ZXJTZXR0ZXIpOworfSk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgsIHZhbHVlUmVzdWx0LCBh
Y2Nlc3NvclJlc3VsdCkgeworICAgIGFzc2VydCh4LmN1c3RvbVZhbHVlID09PSB2YWx1ZVJlc3Vs
dCk7CisKKyAgICBhc3NlcnQoeC5jdXN0b21BY2Nlc3NvciA9PT0gYWNjZXNzb3JSZXN1bHQpOwor
CisgICAgbGV0IG8gPSB7fTsKKyAgICB4LmN1c3RvbVZhbHVlID0gbzsKKyAgICBhc3NlcnQoby5y
ZXN1bHQgPT09IHZhbHVlUmVzdWx0KTsKKworICAgIG8gPSB7fTsKKyAgICB4LmN1c3RvbUFjY2Vz
c29yID0gbzsKKyAgICBhc3NlcnQoby5yZXN1bHQgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAg
IGFzc2VydCh4LnJhbmRvbVByb3AgPT09IDQyIHx8IHgucmFuZG9tUHJvcCA9PT0gdW5kZWZpbmVk
KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3VzdG9t
R2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQorfQorCitjdXN0b21HZXR0ZXJTZXR0ZXIu
cmFuZG9tUHJvcCA9IDQyOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlk
YXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisK
K2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKHgsIHsK
KyAgICAgICAgZ2V0IGN1c3RvbVZhbHVlKCkgeyByZXR1cm4gNDI7IH0sCisgICAgICAgIGdldCBj
dXN0b21BY2Nlc3NvcigpIHsgcmV0dXJuIDIyOyB9LAorICAgICAgICBzZXQgY3VzdG9tVmFsdWUo
eCkgeyB4LnJlc3VsdCA9IDQyOyB9LAorICAgICAgICBzZXQgY3VzdG9tQWNjZXNzb3IoeCkgeyB4
LnJlc3VsdCA9IDIyOyB9LAorICAgIH0pOworfSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIDQyLCAyMik7CisgICAgfQorfQorCitpZiAoZmFs
c2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMt
Z2V0dGVyLWNvcnJlY3RuZXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCEiKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5j
dGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3Io
KSB7CisgICAgICAgICAgICAgICAgdGhpcy5fZmllbGQgPSA0MjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKwor
bGV0IHggPSBuZXcgVWludDMyQXJyYXkoMTApOworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3Rv
X187CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7
Cit4Ll9fcHJvdG9fXyA9IG9iajsKKworZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5i
eXRlTGVuZ3RoOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsKKyAgICBhc3NlcnQoZm9vKHgpID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJv
dG9fXyA9IHt9OworCithc3NlcnQoZm9vKHgpID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tbWlzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLW1pc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorZnVuY3Rpb24g
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24g
Zm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0
aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7Cisg
ICAgICAgIGxldCByZXN1bHQgPSBuZXcgQzsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAg
bGV0IHJlc3VsdCA9IGZvbygpOworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNl
cyA9IFsKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90
b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJv
dG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwK
K107CisKK2xldCBwID0gdW5kZWZpbmVkOworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFz
c2VydCh4LnggPT09IDIwKTsKKyAgICBhc3NlcnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9J
bmxpbmUodmFsaWRhdGUpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2Vz
Lmxlbmd0aDsgKytpKQorICAgICAgICB2YWxpZGF0ZShpbnN0YW5jZXNbaV0pOworfQoraWYgKGZh
bHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDY0IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3Rv
T2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAg
ICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmZpZWxkID0gNDI7
CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28o
KS5maWVsZCA9PT0gNDIpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9u
IHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9Jbmxp
bmUodmFsaWRhdGUpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworCitsZXQgb2JqcyA9IFtd
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKQorICAgIG9ianMucHVzaChtYWtlUG9seVBy
b3RvT2JqZWN0KCkpOworCitvYmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBl
T2Yob2JqLCB7eDoyMH0pKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7Cisg
ICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7Cit9
CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9KSk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Yg
b2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCBmYWxzZSk7Cit9CisKKworZnVuY3Rpb24gdmFs
aWRhdGUyKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9JbmxpbmUo
dmFsaWRhdGUyKTsKKworb2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9m
KG9iaiwgbnVsbCkpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9y
IChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlMihvYmosIGZhbHNlKTsKK30KKwor
b2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjV9KSk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Yg
b2JqcykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgdHJ1ZSk7Cit9CisKK2lmIChmYWxzZSkKKyAg
ICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1wdXQtdHJhbnNpdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLXB1dC10cmFuc2l0aW9uLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVj
dCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAg
ICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fZmllbGQgPSA0MjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVy
biBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7Cisg
ICAgby5wID0gMjA7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgb2JqLl9fcHJvdG9fXyA9IG51bGw7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICJwIikpOworICAgIGFzc2VydChv
YmoucCA9PT0gMjApOworCit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7Cisg
ICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90b19fID0g
eyBzZXQgcCh4KSB7IGdsb2JhbCA9IHg7IH0gfTsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAg
YXNzZXJ0KCFvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KGdsb2JhbCA9PT0g
MjApOworICAgIGdsb2JhbCA9IG51bGw7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBwZXJmb3Jt
U2V0KG9iaik7CisgICAgYXNzZXJ0KG9iai5oYXNPd25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3Nl
cnQob2JqLnAgPT09IDIwKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0g
c3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5
cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIik7Cit9CisKK2xl
dCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7
CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsKKyAgICBnZXQgeSgpIHsgcmV0
dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9
OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIngiLCB7CisgICAg
Z2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30pOworCitmdW5jdGlvbiBmb28o
KSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
dGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQoby54ID09PSBwKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9vKCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOworCitmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpCisgICAgICAgIHZhbGlkYXRl
KGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFs
dGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgIH0KK30K
KworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3Rv
MjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgICAgICBhc3NlcnQoYS55
ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0
ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJ
KG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw3MSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAg
ICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0
IGNhbGxlZCA9IGZhbHNlOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSB4Owor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZ2V0IHAoKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9wOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsr
aSkgeworICAgICAgICBhc3NlcnQoZm9vKCkucCA9PT0gbnVsbCk7CisgICAgfQorICAgIHJldHVy
biBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9
CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAg
aXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkpOworfQorCitmdW5jdGlvbiBwZXJmb3Jt
U2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAg
ICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAg
ICBhc3NlcnQoY2FsbGVkID09PSB0cnVlKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAg
fQorfQorCitpdGVtcy5mb3JFYWNoKG8gPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
bywgbnVsbCk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8g
PSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8u
cCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IGZhbHNlKTsKKyAgICB9Cit9CisK
K2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBp
ZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2Z1bmN0aW9uIGZv
bygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29uc3RydWN0b3IoKQorICAgICAgICB7Cisg
ICAgICAgICAgICB0aGlzLnkgPSAyMjsKKyAgICAgICAgfQorICAgICAgICBnZXQgYmF6KCkgeyBy
ZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90eXBlLmZpZWxkID0gNDI7CisgICAg
bmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQor
ICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAgIGNsYXNzIEMgZXh0ZW5kcyBwIHsK
KyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAg
ICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9OworICAgIGxldCByZXN1bHQgPSBuZXcg
QzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkK
KyAgICBiYXIoZm9vKCkpOworCitsZXQgaW5zdGFuY2VzID0gW107Citmb3IgKGxldCBpID0gMDsg
aSA8IDQwOyArK2kpCisgICAgaW5zdGFuY2VzLnB1c2goYmFyKGZvbygpKSk7CisKK2Z1bmN0aW9u
IHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRlbS54ID09PSAyMik7CisgICAgYXNzZXJ0
KGl0ZW0uYmF6ID09PSAyMik7CisgICAgYXNzZXJ0KGl0ZW0uZmllbGQgPT09IDQyKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQoraWYgKGZh
bHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVz
cy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
cmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9w
cmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACits
ZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlKCkgeworICAgIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rvcigp
IHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IHk7
CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8
IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcG9s
eVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5zdGFuY2UoKTsKK1N0cmluZy5wcm90b3R5
cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitTeW1ib2wucHJvdG90eXBlLl9fcHJv
dG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBbCisgICAgImZvbyIsCisg
ICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAgICBTeW1ib2woImJhciIpLAorXTsKKwor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVuY3Rpb24gdmFs
aWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIwKTsKKyAgICBhc3NlcnQocy55ID09PSB5
KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3BlcnR5ID09PSB1bmRlZmluZWQpOworICAg
IGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7CisgICAgYXNz
ZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkp
OworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsr
aSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsK
KyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0luc3RhbmNlLl9fcHJvdG9fXyA9IHt6OjQw
MCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0
IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgZnVuY3Rp
b24gYmFyKCkgeworICAgICAgICB0aGlzLnggPSA0MjsKKyAgICB9CisgICAgYmFyLnByb3RvdHlw
ZSA9IDUwOworICAgIHJldHVybiBuZXcgYmFyKCk7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitsZXQg
aXRlbXMgPSBbCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCks
CisgICAgZm9vKCksCisgICAgZm9vKCksCitdOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7
CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhlcmUgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KGl0
ZW0ueCA9PT0gNDIpOworICAgIGFzc2VydChpdGVtLl9fcHJvdG9fXyA9PT0gT2JqZWN0LnByb3Rv
dHlwZSk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAo
bGV0IGl0ZW0gb2YgaXRlbXMpCisgICAgICAgIHZhbGlkYXRlKGl0ZW0pOworfQpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzOCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMuX2ZpZWxkID0gNDI7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKwor
ZnVuY3Rpb24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlOYW1lKSB7IHJldHVybiBgKGZ1bmN0aW9u
IChiYXNlKSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNlLCAnJHtwcm9wZXJ0eU5hbWV9Jyk7IH0p
YDsgfQorbGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImZvbyIpKTsK
K2xldCBnZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJiYXIiKSk7CitsZXQg
Z2V0Tm9uRXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoIm5vbkV4
aXN0ZW50RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworeC5fX3By
b3RvX18gPSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJldHVybiAyMjsgfSB9OworbGV0IGJhckdl
dHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeC5fX3Byb3RvX18sICJiYXIi
KS5nZXQ7Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9PT0gImZ1bmN0aW9uIik7Cithc3NlcnQo
YmFyR2V0dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2Vy
dChnZXRGb28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQobG9hZEdldHRlckZyb21HZXR0ZXJTZXR0
ZXIoZ2V0QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAgICBhc3NlcnQoZ2V0Tm9uRXhpc3RlbnRG
aWVsZCh4KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0ZSh4KTsKK30KSW5kZXg6IEpT
VGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlw
ZVByb2ZpbGVyL292ZXJmbG93LmpzCShyZXZpc2lvbiAyMjI4MDEpCisrKyBKU1Rlc3RzL3R5cGVQ
cm9maWxlci9vdmVyZmxvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDggQEAgdmFyIG9s
ZFByb3RvOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVy
ZmxvdzsgaSsrKSB7CiAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCBhIG5ldyBwcm90b3R5cGUgY2hh
aW4gb24gZWFjaCBhc3NpZ25tZW50IHRvIHggYmVjYXVzZSBvYmplY3RzIHdpdGggc2hhcmVkIHBy
b3RvdHlwZSBjaGFpbnMgd2lsbCBiZSBtZXJnZWQuCiAgICAgeCA9IG5ldyBQcm90bzsKKyAgICB4
WydmaWVsZCcgKyBpXSA9IDIwOworICAgIHggPSB4CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAg
ICBQcm90byA9IGZ1bmN0aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9
IG9sZFByb3RvLnByb3RvdHlwZTsKQEAgLTIwLDYgKzIyLDggQEAgUHJvdG8gPSBmdW5jdGlvbigp
IHt9Owogb2xkUHJvdG8gPSBudWxsOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVD
b3VudFdpdGhvdXRPdmVyZmxvdyAtIDE7IGkrKykgewogICAgIHkgPSBuZXcgUHJvdG87CisgICAg
eVsnZmllbGQnICsgaV0gPSAyMDsKKyAgICB5ID0geQogICAgIG9sZFByb3RvID0gUHJvdG87CiAg
ICAgUHJvdG8gPSBmdW5jdGlvbigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBvbGRQcm90by5wcm90b3R5cGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMjMgQEAKKzIwMTctMTAtMDMgIFNhYW0gQmFyYXRpICA8c2JhcmF0
aUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjM5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IEZpbGlwIFBpemxvLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
Y2hhbmdlcyBKU0MncyBvYmplY3QgbW9kZWwgd2l0aCByZXNwZWN0IHRvIHdoZXJlIHRoZSBwcm90
b3R5cGUKKyAgICAgICAgb2YgYW4gb2JqZWN0IGlzIHN0b3JlZC4gUHJldmlvdXNseSwgaXQgd2Fz
IGFsd2F5cyBzdG9yZWQgYXMKKyAgICAgICAgYSBjb25zdGFudCB2YWx1ZSBpbnNpZGUgU3RydWN0
dXJlLiBTbyBhbiBvYmplY3QncyBzdHJ1Y3R1cmUgdXNlZCB0bworICAgICAgICBhbHdheXMgdGVs
bCB5b3Ugd2hhdCBpdHMgcHJvdG90eXBlIGlzLiBBbnl0aW1lIGFuIG9iamVjdCBjaGFuZ2VkCisg
ICAgICAgIGl0cyBwcm90b3R5cGUsIGl0IHdvdWxkIGRvIGEgc3RydWN0dXJlIHRyYW5zaXRpb24u
IFRoaXMgZW5hYmxlcworICAgICAgICBhIGxhcmdlIGNsYXNzIG9mIG9wdGltaXphdGlvbnM6IGp1
c3QgYnkgZG9pbmcgYSBzdHJ1Y3R1cmUgY2hlY2ssCisgICAgICAgIHdlIGtub3cgd2hhdCB0aGUg
cHJvdG90eXBlIGlzLgorICAgICAgICAKKyAgICAgICAgSG93ZXZlciwgdGhpcyBkZXNpZ24gZmFs
bHMgZG93biB3aGVuIHlvdSBoYXZlIG1hbnkgb2JqZWN0cyB0aGF0CisgICAgICAgIGhhdmUgdGhl
IHNhbWUgc2hhcGUsIGJ1dCBvbmx5IGRpZmZlciBpbiB3aGF0IHRoZWlyIHByb3RvdHlwZSB2YWx1
ZQorICAgICAgICBpcy4gVGhpcyBhcmlzZXMgaW4gbWFueSBKUyBwcm9ncmFtcy4gQSBzaW1wbGUs
IGFuZCBwcm9iYWJseSBjb21tb24sIGV4YW1wbGUKKyAgICAgICAgaXMgd2hlbiB0aGUgcHJvZ3Jh
bSBoYXMgYSBjb25zdHJ1Y3RvciBpbnNpZGUgb2YgYSBmdW5jdGlvbjoKKyAgICAgICAgYGBgCisg
ICAgICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgICAgIGNsYXNzIEMgeworICAgICAgICAg
ICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLmZpZWxkMSA9IDQyOyAuLi47IHRoaXMuZmllbGRO
ID0gNDI7IH0KKyAgICAgICAgICAgICAgICBtZXRob2QxKCkgeyBkb1N0dWZmV2l0aCh0aGlzLmZp
ZWxkKTsgfQorICAgICAgICAgICAgICAgIG1ldGhvZDIoKSB7IGRvU3R1ZmZXaXRoKHRoaXMuZmll
bGQpOyB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsZXQgYyA9IG5ldyBDOworICAgICAg
ICAgICAgZG8gdGhpbmdzIHdpdGggYzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgcmVwZWF0ZWRs
eSBjYWxsIGZvbygpIGhlcmUuCisgICAgICAgIGBgYAorICAgICAgICAKKyAgICAgICAgQmVmb3Jl
IHRoaXMgcGF0Y2gsIGluIHRoZSBhYm92ZSBwcm9ncmFtLCBlYWNoIHRpbWUgYG5ldyBDYCBjcmVh
dGVkIGFuCisgICAgICAgIG9iamVjdCwgaXQgd291bGQgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEg
ZGlmZmVyZW50IHN0cnVjdHVyZS4gVGhlCisgICAgICAgIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0
IGVhY2ggdGltZSBmb28gaXMgY2FsbGVkLCB0aGVyZSBpcyBhIG5ldworICAgICAgICBpbnN0YW5j
ZSBvZiBDLnByb3RvdHlwZS4gSG93ZXZlciwgZWFjaCBgbmV3IENgIHRoYXQgd2FzIGNyZWF0ZWQK
KyAgICAgICAgd2l0aCBoYXZlIGlkZW50aWNhbCBzaGFwZSBzYW5zIGl0cyBwcm90b3R5cGUgdmFs
dWUuIFRoaXMgd291bGQKKyAgICAgICAgY2F1c2UgYWxsIElDcyB0aGF0IHVzZWQgYGNgIHRvIHF1
aWNrbHkgZ2l2ZSB1cCBvbiBhbnkgZm9ybSBvZiBjYWNoaW5nCisgICAgICAgIGJlY2F1c2UgdGhl
eSB3b3VsZCBzZWUgdG9vIG1hbnkgc3RydWN0dXJlcyBhbmQgZ2l2ZSB1cCBhbmQgcGVybWFuZW50
bHkKKyAgICAgICAgZGl2ZXJ0IGNvbnRyb2wgZmxvdyB0byB0aGUgc2xvdyBwYXRoLgorICAgICAg
ICAKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IGV4cGFuZGluZyB0aGUg
bm90aW9uIG9mIHdoZXJlIHRoZSBwcm90b3R5cGUKKyAgICAgICAgb2YgYW4gb2JqZWN0IGlzIHN0
b3JlZC4gVGhlcmUgYXJlIG5vdyB0d28gbm90aW9ucyBvZiB3aGVyZSB0aGUgcHJvdG90eXBlCisg
ICAgICAgIGlzIHN0b3JlZC4gQSBTdHJ1Y3R1cmUgY2FuIG5vdyBiZSBpbiB0d28gbW9kZXM6Cisg
ICAgICAgIDEuIE1vbm8gcHJvdG8gbW9kZS4gVGhpcyBpcyB0aGUgc2FtZSBtb2RlIGFzIHdlIHVz
ZWQgdG8gaGF2ZS4gSXQgbWVhbnMKKyAgICAgICAgdGhlIHN0cnVjdHVyZSBpdHNlbGYgaGFzIGEg
Y29uc3RhbnQgcHJvdG90eXBlIHZhbHVlLgorICAgICAgICAyLiBQb2x5IHByb3RvIG1vZGUuIFRo
aXMgbWVhbnMgdGhlIHN0cnVjdHVyZSBrbm93cyBub3RoaW5nIGFib3V0IHRoZQorICAgICAgICBw
cm90b3R5cGUgdmFsdWUgaXRzZWxmLiBPYmplY3RzIHdpdGggdGhpcyBzdHJ1Y3R1cmUgc3RvcmUg
dGhlaXIgcHJvdG90eXBlCisgICAgICAgIGluIG5vcm1hbCBvYmplY3QgZmllbGQgc3RvcmFnZS4g
VGhlIHN0cnVjdHVyZSB3aWxsIHRlbGwgeW91IHRoZSBvZmZzZXQgb2YKKyAgICAgICAgdGhpcyBw
cm90b3R5cGUgaW5zaWRlIHRoZSBvYmplY3QncyBzdG9yYWdlLiBBcyBvZiB0b2RheSwgd2Ugb25s
eSByZXNlcnZlCisgICAgICAgIGlubGluZSBzbG90cyBmb3IgdGhlIHByb3RvdHlwZSBmaWVsZCBi
ZWNhdXNlIHBvbHkgcHJvdG8gb25seSBvY2N1cnMKKyAgICAgICAgZm9yIEpTRmluYWxPYmplY3Qu
IEhvd2V2ZXIsIHRoaXMgd2lsbCBiZSBleHBhbmRlZCB0byBzdXBwb3J0IG91dCBvZiBsaW5lCisg
ICAgICAgIG9mZnNldHMgaW4gYSBmdXR1cmUgcGF0Y2ggd2hlbiB3ZSBleHRlbmQgcG9seSBwcm90
byB0byB3b3JrIHdoZW4gd2UgaW5oZXJpdAorICAgICAgICBmcm9tIGJ1aWx0aW4gdHlwZXMgbGlr
ZSBNYXAgYW5kIEFycmF5LgorICAgICAgICAKKyAgICAgICAgSW4gdGhpcyBpbml0aWFsIHBhdGNo
LCB3ZSBkbyBwb2x5IHByb3RvIHN0eWxlIGlubGluZSBjYWNoaW5nIHdoZW5ldmVyCisgICAgICAg
IHdlIHNlZSBhbiBvYmplY3QgdGhhdCBpcyBwb2x5IHByb3RvIG9yIGlmIGFuIG9iamVjdCBpbiBp
dHMgcHJvdG90eXBlIGxvb2t1cAorICAgICAgICBjaGFpbiBpcyBwb2x5IHByb3RvLiBQb2x5IHBy
b3RvIElDcyB3b3JrIGJ5IHZlcmlmeWluZyB0aGUgbG9va3VwIGNoYWluCisgICAgICAgIGF0IHJ1
bnRpbWUuIFRoaXMgZXNzZW50aWFsbHkgYm9pbHMgZG93biB0byBwZXJmb3JtaW5nIHN0cnVjdHVy
ZSBjaGVja3MKKyAgICAgICAgdXAgdGhlIHByb3RvdHlwZSBjaGFpbi4gSW4gYSBmdXR1cmUgcGF0
Y2gsIHdlJ3JlIGdvaW5nIHRvIGV4dGVuZCBvYmplY3QKKyAgICAgICAgcHJvcGVydHkgY29uZGl0
aW9uIHNldCB0byB3b3JrIHdpdGggb2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgcG9seSBwcm90byBi
YXNlcy4KKyAgICAgICAgCisgICAgICAgIEluaXRpYWxseSwgYWNjZXNzZXMgdGhhdCBoYXZlIHBv
bHkgcHJvdG8gYWNjZXNzIGNoYWlucyB3aWxsIGFsd2F5cyB0dXJuCisgICAgICAgIGludG8gR2V0
QnlJZC9QdXRCeUlkIGluIHRoZSBERkcuIEluIGEgZnV0dXJlIHBhdGNoLCBJJ20gZ29pbmcgdG8g
dGVhY2gKKyAgICAgICAgdGhlIERGRyBob3cgdG8gaW5saW5lIGNlcnRhaW4gYWNjZXNzZXMgdGhh
dCBoYXZlIHBvbHkgcHJvdG8gaW4gdGhlIGFjY2VzcworICAgICAgICBjaGFpbi4KKyAgICAgICAg
CisgICAgICAgIE9uZSBvZiBtb3N0IGludGVyZXN0aW5nIHBhcnRzIGFib3V0IHRoaXMgcGF0Y2gg
aXMgaG93IHdlIGRlY2lkZSB3aGVuIHRvIGdvCisgICAgICAgIHBvbHkgcHJvdG8uIFRoaXMgcGF0
Y2ggdXNlcyBhIHByb2ZpbGluZyBiYXNlZCBhcHByb2FjaC4gQW4gSUMgd2lsbCBpbmZvcm0KKyAg
ICAgICAgYSB3YXRjaHBvaW50IHRoYXQgaXQgc2VlcyBhbiBvcHBvcnR1bml0eSB3aGVuIHR3byBT
dHJ1Y3R1cmUncyBhcmUgc3RydWN0dXJhbGx5CisgICAgICAgIHRoZSBzYW1lLCBzYW5zIHRoZSBi
YXNlIG9iamVjdCdzIHByb3RvdHlwZS4gVGhpcyBtZWFucyB0aGF0IHR3byBzdHJ1Y3R1cmVzCisg
ICAgICAgIGhhdmUgZXF1aXZhbGVudCBzaGFwZXMgYWxsIHRoZSB3YXkgdXAgdGhlIHByb3RvdHlw
ZSBjaGFpbi4gVG8gc3VwcG9ydCBmYXN0CisgICAgICAgIHN0cnVjdHVyYWwgY29tcGFyaXNvbiwg
d2UgY29tcHV0ZSBhIGhhc2ggZm9yIGEgc3RydWN0dXJlIGJhc2VkIG9uIHRoZSBwcm9wZXJ0aWVz
CisgICAgICAgIGl0IGhhcy4gV2UgY29tcHV0ZSB0aGlzIGhhc2ggYXMgd2UgYWRkIHByb3BlcnRp
ZXMgdG8gdGhlIHN0cnVjdHVyZS4gVGhpcworICAgICAgICBjb21wdXRhdGlvbiBpcyBuZWFybHkg
ZnJlZSBzaW5jZSB3ZSBhbHdheXMgYWRkIFVuaXF1ZWRTdHJpbmdJbXBsKidzIHdoaWNoCisgICAg
ICAgIGFscmVhZHkgaGF2ZSB0aGVpciBoYXNoZXMgY29tcHV0ZWQuIFRvIGNvbXBhcmUgc3RydWN0
dXJhbCBlcXVpdmFsZW5jZSwgd2UKKyAgICAgICAganVzdCBjb21wYXJlIGhhc2ggdmFsdWVzIGFs
bCB0aGUgd2F5IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIFRoaXMgbWVhbnMgd2UKKyAgICAgICAg
Y2FuIGdldCBoYXNoIGNvbmZsaWN0cyBiZXR3ZWVuIHR3byBzdHJ1Y3R1cmVzLCBidXQgaXQncyBl
eHRyZW1lbHkgcmFyZS4gRmlyc3QsCisgICAgICAgIGl0J2xsIGJlIHJhcmUgZm9yIHR3byBzdHJ1
Y3R1cmVzIHRvIGhhdmUgdGhlIHNhbWUgaGFzaC4gU2Vjb25kbHksIHdlIG9ubHkKKyAgICAgICAg
Y29uc2lkZXIgc3RydWN0dXJlcyBvcmlnaW5hdGluZyBmcm9tIHRoZSBzYW1lIGV4ZWN1dGFibGUu
CisgICAgICAgIAorICAgICAgICBIb3cgd2Ugc2V0IHVwIHRoaXMgcG9seSBwcm90byB3YXRjaHBv
aW50IGlzIGNydWNpYWwgdG8gaXRzIGRlc2lnbi4gV2hlbiB3ZSBjcmVhdGVfdGhpcworICAgICAg
ICBhbiBvYmplY3Qgb3JpZ2luYXRpbmcgZnJvbSBzb21lIGV4ZWN1dGFibGUsIHRoYXQgZXhlY3V0
YWJsZSB3aWxsIGNyZWF0ZSBhIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pi4KKyAgICAgICAgRWFj
aCBzdHJ1Y3R1cmUgdGhhdCBvcmlnaW5hdGVzIGZyb20gdGhpcyBleGVjdXRhYmxlIHdpbGwgZ2V0
IGEgY29weSBvZiB0aGF0CisgICAgICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pi4gQXMgdGhh
dCBzdHJ1Y3R1cmUgdHJhbnNpdGlvbnMgdG8gbmV3IHN0cnVjdHVyZXMsCisgICAgICAgIHRoZXkg
dG9vIHdpbGwgZ2V0IGEgY29weSBvZiB0aGF0IEJveDxJbmlsbmVXYXRjaHBvaW50U2V0Pi4gVGhl
cmVmb3JlLCB3aGVuCisgICAgICAgIGludmFsaWRhdGluZyBhbiBhcmJpdHJhcnkgc3RydWN0dXJl
J3MgcG9seSBwcm90byB3YXRjaHBvaW50LCB3ZSB3aWxsIGtub3cKKyAgICAgICAgdGhlIG5leHQg
dGltZSB3ZSBjcmVhdGVfdGhpcyBmcm9tIHRoYXQgZXhlY3V0YWJsZSB0aGF0IGl0IGhhZCBiZWVu
CisgICAgICAgIGludmFsaWRhdGVkLCBhbmQgdGhhdCB3ZSBzaG91bGQgY3JlYXRlIGFuIG9iamVj
dCB3aXRoIGEgcG9seSBwcm90bworICAgICAgICBzdHJ1Y3R1cmUuIFdlIGFsc28gdXNlIHRoZSBw
b2ludGVyIHZhbHVlIG9mIHRoaXMgQm94PElubGluZVdhdGNocG9pbnRTZXQ+CisgICAgICAgIHRv
IGRldGVybWluZSBpZiB0d28gc3RydWN0dXJlcyBvcmlnaW5hdGVkIGZyb20gdGhlIHNhbWUgZXhl
Y3V0YWJsZS4gVGhpcworICAgICAgICBwcnVuaW5nIHdpbGwgc2V2ZXJlbHkgbGltaXQgdGhlIGNo
YW5jZXMgb2YgZ2V0dGluZyBhIGhhc2ggY29uZmxpY3QgaW4gcHJhY3RpY2UuCisKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNv
dXJjZXMudHh0OgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHA6CisgICAgICAg
ICogYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmg6CisgICAgICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6
QnVpbHRpbk5hbWVzKToKKyAgICAgICAgKEpTQzo6QnVpbHRpbk5hbWVzOjp1bmRlcnNjb3JlUHJv
dG9Qcml2YXRlTmFtZSBjb25zdCk6CisgICAgICAgICogYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6
CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UpOgorICAgICAgICAoSlNDOjpB
Y2Nlc3NDYXNlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpjb21taXQpOgor
ICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjayBjb25zdCk6
CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UgY29uc3QpOgorICAgICAgICAo
SlNDOjpBY2Nlc3NDYXNlOjpkdW1wIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6
dmlzaXRXZWFrIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6cHJvcGFnYXRlVHJh
bnNpdGlvbnMgY29uc3QpOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhH
dWFyZCk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbCk6CisgICAgICAg
ICogYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjp1c2Vz
UG9seVByb3RvIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZSk6
CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJs
b2NrOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5j
cHA6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5mb1dpdGhv
dXRFeGl0U2l0ZUZlZWRiYWNrKToKKyAgICAgICAgKiBieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSk6CisgICAgICAgIChKU0M6OkdldHRlclNldHRlckFjY2Vzc0Nhc2U6
OmNyZWF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oOgor
ICAgICAgICAqIGJ5dGVjb2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oOgor
ICAgICAgICAoSlNDOjpJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGU6OmNyZWF0ZUFs
bG9jYXRpb25TdHJ1Y3R1cmVGcm9tQmFzZSk6CisgICAgICAgICogYnl0ZWNvZGUvSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkludHJpbnNpY0dldHRlckFjY2Vz
c0Nhc2U6OkludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL0lu
dHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaDoKKyAgICAgICAgKiBieXRlY29kZS9Nb2R1bGVOYW1l
c3BhY2VBY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6TW9kdWxlTmFtZXNwYWNlQWNjZXNz
Q2FzZTo6TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZSk6CisgICAgICAgICogYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6T2JqZWN0QWxs
b2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKToKKyAgICAgICAgKEpTQzo6T2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQpOgorICAgICAg
ICAqIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmg6CisgICAgICAgIChKU0M6Ok9i
amVjdEFsbG9jYXRpb25Qcm9maWxlOjpjbGVhcik6CisgICAgICAgIChKU0M6Ok9iamVjdEFsbG9j
YXRpb25Qcm9maWxlOjppbml0aWFsaXplKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6T2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQpOiBEZWxldGVk
LgorICAgICAgICAqIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcDoKKyAg
ICAgICAgKiBieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHA6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6UG9s
eVByb3RvQWNjZXNzQ2hhaW46Om5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQgY29uc3QpOgor
ICAgICAgICAoSlNDOjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6b3BlcmF0b3I9PSBjb25zdCk6Cisg
ICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpkdW1wIGNvbnN0KToKKyAgICAgICAg
KiBieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6
UG9seVByb3RvQWNjZXNzQ2hhaW46OmNsb25lKToKKyAgICAgICAgKEpTQzo6UG9seVByb3RvQWNj
ZXNzQ2hhaW46OiBjb25zdCk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpv
cGVyYXRvciE9IGNvbnN0KToKKyAgICAgICAgKEpTQzo6UG9seVByb3RvQWNjZXNzQ2hhaW46OmZv
ckVhY2ggY29uc3QpOgorICAgICAgICAqIGJ5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcDoK
KyAgICAgICAgKEpTQzo6UG9seW1vcnBoaWNBY2Nlc3M6OmFkZENhc2VzKToKKyAgICAgICAgKEpT
Qzo6UG9seW1vcnBoaWNBY2Nlc3M6OnJlZ2VuZXJhdGUpOgorICAgICAgICAoV1RGOjpwcmludElu
dGVybmFsKToKKyAgICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oOgorICAgICAg
ICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0OjpzaG91bGRSZXNldFN0dWIgY29uc3QpOgor
ICAgICAgICAoSlNDOjpBY2Nlc3NHZW5lcmF0aW9uU3RhdGU6OkFjY2Vzc0dlbmVyYXRpb25TdGF0
ZSk6CisgICAgICAgICogYnl0ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwOgorICAgICAgICAo
SlNDOjpQcm9wZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdW1pbmdJbXB1cmVQcm9wZXJ0
eVdhdGNocG9pbnQgY29uc3QpOgorICAgICAgICAqIGJ5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuY3BwOgorICAgICAgICAoSlNDOjpQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nl
c3NDYXNlKToKKyAgICAgICAgKEpTQzo6UHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKToKKyAg
ICAgICAgKiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmg6CisgICAgICAgICogYnl0ZWNv
ZGUvUHV0QnlJZFN0YXR1cy5jcHA6CisgICAgICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTdHViSW5mbyk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3Bw
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVTdHViSW5mbzo6YWRkQWNjZXNzQ2FzZSk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6bG9hZCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6R3JhcGg6OmNhbkRvRmFzdFNwcmVhZCk6CisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KToKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YpOgorICAgICAg
ICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6
CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6
REZHOjpMb3dlckRGR1RvQjM6OmNvbXBpbGVJbnN0YW5jZU9mKToKKyAgICAgICAgKiBqaXQvSklU
T3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKToKKyAg
ICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
X29wX2luc3RhbmNlb2YpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoKKyAgICAgICAgKEpT
Qzo6dHJ5Q2FjaGVHZXRCeUlEKToKKyAgICAgICAgKEpTQzo6dHJ5Q2FjaGVQdXRCeUlEKToKKyAg
ICAgICAgKEpTQzo6dHJ5UmVwYXRjaEluKToKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAo
V1RGOjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdCk6
CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlU3RydWN0dXJl
KToKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGUpOgorICAg
ICAgICAoV1RGOjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEF0dHJpYnV0ZTo6RE9N
SklUQXR0cmlidXRlKToKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpE
T01KSVRBdHRyaWJ1dGU6OnNsb3dDYWxsKToKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVyQmFz
ZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGU6OmNhbGxET01HZXR0ZXIpOgorICAgICAgICAoV1RG
OjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmN1c3RvbUdldHRlcik6CisgICAgICAgIChXVEY6
OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoR2xv
YmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChmdW5jdGlvbkNyZWF0ZURPTUpJ
VEdldHRlckJhc2VKU09iamVjdCk6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
OgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAq
IHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpob2xlc011c3RGb3J3
YXJkVG9Qcm90b3R5cGUpOgorICAgICAgICAoSlNDOjpmYXN0Sm9pbik6CisgICAgICAgIChKU0M6
OmFycmF5UHJvdG9GdW5jUmV2ZXJzZSk6CisgICAgICAgIChKU0M6Om1vdmVFbGVtZW50cyk6Cisg
ICAgICAgICogcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwOgorICAgICAgICAoSlNDOjpDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZUVtcHR5KToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRz
OjpjcmVhdGVXaXRoSW5saW5lRnJhbWUpOgorICAgICAgICAoSlNDOjpDbG9uZWRBcmd1bWVudHM6
OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUpOgorICAgICAgICAoSlNDOjpDbG9uZWRBcmd1bWVudHM6
OmNyZWF0ZUJ5Q29weWluZ0Zyb20pOgorICAgICAgICAqIHJ1bnRpbWUvQ29tbW9uU2xvd1BhdGhz
LmNwcDoKKyAgICAgICAgKEpTQzo6U0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUv
RnVuY3Rpb25FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25FeGVjdXRhYmxl
Ojp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5o
OgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHA6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSk6Cisg
ICAgICAgICogcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9J
bnRlcm5hbEZ1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SW50ZXJuYWxGdW5jdGlvbjo6Y3Jl
YXRlU3ViY2xhc3NTdHJ1Y3R1cmVTbG93KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3Bw
OgorICAgICAgICAoSlNDOjpKU0FycmF5OjpmYXN0U2xpY2UpOgorICAgICAgICAoSlNDOjpKU0Fy
cmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6
OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUeXBlKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6
aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbk9ic2VydmFibGUpOgorICAgICAgICAqIHJ1bnRp
bWUvSlNBcnJheUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6Y2FuRmFzdENvcHkp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkpTVmFs
dWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjdHVyZSBjb25zdCk6CisgICAgICAgICogcnVu
dGltZS9KU0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6cHJvdG90eXBl
Rm9yQ29uc3RydWN0aW9uKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6YWxsb2NhdGVBbmRJ
bml0aWFsaXplUmFyZURhdGEpOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjppbml0aWFsaXpl
UmFyZURhdGEpOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3Qp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNN
YXAuY3BwOgorICAgICAgICAoSlNDOjpKU01hcDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5v
bk9ic2VydmFibGUpOgorICAgICAgICAoSlNDOjpKU01hcDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2Jz
ZXJ2YWJsZSk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6
OkpTT2JqZWN0OjpwdXRJbmxpbmVTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0
ZUluaXRpYWxJbmRleGVkU3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVB
cnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRv
QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRvQXJy
YXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0FycmF5
U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJy
YXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmVuc3VyZUludDMyU2xvdyk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVEb3VibGVTbG93KToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmVuc3VyZUNvbnRpZ3VvdXNTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmVuc3VyZUFycmF5U3RvcmFnZVNsb3cpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2V0UHJv
dG90eXBlRGlyZWN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om9yZGluYXJ5VG9QcmltaXRp
dmUgY29uc3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rv
ckxlbmd0aCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJl
eW9uZFZlY3Rvckxlbmd0aCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRFbnVtZXJhYmxl
TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMgY29uc3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
Om5lZWRzU2xvd1B1dEluZGV4aW5nIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUv
SlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAg
ICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldFByb3RvdHlwZURpcmVjdCBjb25zdCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpnZXRQcm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3RJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRQcm9wZXJ0eVNsb3Qp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0Tm9uSW5kZXhQcm9wZXJ0eVNsb3QpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6cHV0SW5saW5lRm9ySlNPYmplY3QpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmg6CisgICAgICAgIChKU0M6OnByb3BlcnR5
TmFtZUVudW1lcmF0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTZXQuY3BwOgorICAgICAgICAo
SlNDOjpKU1NldDo6aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbk9ic2VydmFibGUpOgorICAg
ICAgICAoSlNDOjpKU1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJsZSk6CisgICAgICAg
ICogcnVudGltZS9MYXp5Q2xhc3NTdHJ1Y3R1cmUuaDoKKyAgICAgICAgKEpTQzo6TGF6eUNsYXNz
U3RydWN0dXJlOjpwcm90b3R5cGVDb25jdXJyZW50bHkgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIHJ1bnRpbWUvT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6Om5vcm1hbGl6ZVByb3Rv
dHlwZUNoYWluKToKKyAgICAgICAgKiBydW50aW1lL09wZXJhdGlvbnMuaDoKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDoKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlwZU1hcC5jcHA6Cisg
ICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlTdHJ1Y3R1cmUpOgorICAgICAg
ICAoSlNDOjpQcm90b3R5cGVNYXA6OmVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VT
dHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpQcm90b3R5cGVNYXA6OmVtcHR5T2JqZWN0U3RydWN0
dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBlTWFwOjpjbGVhckVtcHR5
T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKToKKyAgICAgICAgKiBydW50aW1lL1Byb3RvdHlw
ZU1hcC5oOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6
U3RydWN0dXJlOjpTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlIGNv
bnN0KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjppc0NoZWFwRHVyaW5nR0MpOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1
cmU6OmR1bXAgY29uc3QpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmNhbkNhY2hlUHJvcGVy
dHlOYW1lRW51bWVyYXRvciBjb25zdCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcyBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZTo6bmVlZHNTbG93UHV0SW5kZXhpbmcgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5z
aXRpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlw
ZUZvckxvb2t1cCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6cHJv
dG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6
U3RydWN0dXJlOjpjYW5Vc2VGb3JBbGxvY2F0aW9uc09mKTogRGVsZXRlZC4KKyAgICAgICAgKiBy
dW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlQ2hhaW4uaDoK
KyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlw
ZU9iamVjdCBjb25zdCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBl
U3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5
cGUgY29uc3QpOgorICAgICAgICAoSlNDOjpwcm90b3R5cGVGb3JMb29rdXBQcmltaXRpdmVJbXBs
KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAgY29uc3QpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluIGNvbnN0KToKKyAgICAgICAg
KEpTQzo6U3RydWN0dXJlOjppc1ZhbGlkIGNvbnN0KToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJl
OjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUpOgorICAg
ICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byk6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oOgorICAgICAgICAqIHJ1bnRpbWUvVHlwZVBy
b2ZpbGVyTG9nLmNwcDoKKyAgICAgICAgKEpTQzo6VHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9n
RW50cmllcyk6CisgICAgICAgICogcnVudGltZS9UeXBlU2V0LmNwcDoKKyAgICAgICAgKEpTQzo6
VHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1R5cGVTZXQu
aDoKKyAgICAgICAgKiBydW50aW1lL1dyaXRlQmFycmllci5oOgorICAgICAgICAoSlNDOjpXcml0
ZUJhcnJpZXJCYXNlPFVua25vd24+Ojppc0ludDMyIGNvbnN0KToKKwogMjAxNy0xMC0wMyAgSkYg
QmFzdGllbiAgPGpmYmFzdGllbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNzZW1ibHk6IG5v
IFZNIC8gSlMgdmVyc2lvbiBvZiBldmVyeXRoaW5nIGJ1dCBJbnN0YW5jZQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Tb3VyY2VzLnR4dAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yMjcsOSArMjI3LDExIEBAIGJ5
dGVjb2RlL0xhenlPcGVyYW5kVmFsdWVQcm9maWxlLmNwcAogYnl0ZWNvZGUvTWV0aG9kT2ZHZXR0
aW5nQVZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2Uu
Y3BwCiBieXRlY29kZS9Nb2R1bGVQcm9ncmFtQ29kZUJsb2NrLmNwcAorYnl0ZWNvZGUvT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGUuY3BwCiBieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvbi5j
cHAKIGJ5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAogYnl0ZWNvZGUvT3Bj
b2RlLmNwcAorYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCiBieXRlY29kZS9Qb2x5
bW9ycGhpY0FjY2Vzcy5jcHAKIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHAKIGJ5dGVj
b2RlL1Byb2dyYW1Db2RlQmxvY2suY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNp
b24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk1Myw2ICs5NTMsOTAgQEAgdm9pZCBET01KSVRDaGVja1N1YkNsYXNzT2JqZWN0Ojpm
aW5pc2hDcgogICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIElk
ZW50aWZpZXI6OmZyb21TdHJpbmcoJnZtLCAiZnVuYyIpLCAwLCBzYWZlRnVuY3Rpb24sIE5vSW50
cmluc2ljLCAmRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdFNpZ25hdHVyZSwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkpOwogfQogCitjbGFzcyBET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3QgOiBwdWJsaWMgRE9NSklUTm9kZSB7CitwdWJsaWM6CisgICAg
RE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisg
ICAgICAgIDogQmFzZSh2bSwgc3RydWN0dXJlKQorICAgIHsKKyAgICB9CisKKyAgICBERUNMQVJF
X0lORk87CisgICAgdXNpbmcgQmFzZSA9IERPTUpJVE5vZGU7CisgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisKKyAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTQzo6
SlNUeXBlKExhc3RKU0NPYmplY3RUeXBlICsgMSksIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsK
KyAgICB9CisKKyAgICBzdGF0aWMgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KiBjcmVhdGUoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICB7CisgICAgICAgIERPTUpJVEdldHRlckJh
c2VKU09iamVjdCogZ2V0dGVyID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0Pih2bS5oZWFwLCBzaXplb2YoRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
KSkpIERPTUpJVEdldHRlckJhc2VKU09iamVjdCh2bSwgc3RydWN0dXJlKTsKKyAgICAgICAgZ2V0
dGVyLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBnZXR0ZXI7CisgICAgfQor
CisgICAgY2xhc3MgRE9NSklUQXR0cmlidXRlIDogcHVibGljIERPTUpJVDo6R2V0dGVyU2V0dGVy
IHsKKyAgICBwdWJsaWM6CisgICAgICAgIGNvbnN0ZXhwciBET01KSVRBdHRyaWJ1dGUoKQorICAg
ICAgICAgICAgOiBET01KSVQ6OkdldHRlclNldHRlcigKKyAgICAgICAgICAgICAgICBET01KSVRH
ZXR0ZXJCYXNlSlNPYmplY3Q6OmN1c3RvbUdldHRlciwKKyNpZiBFTkFCTEUoSklUKQorICAgICAg
ICAgICAgICAgICZjYWxsRE9NR2V0dGVyLAorI2Vsc2UKKyAgICAgICAgICAgICAgICBudWxscHRy
LAorI2VuZGlmCisgICAgICAgICAgICAgICAgU3BlY0J5dGVjb2RlVG9wKQorICAgICAgICB7Cisg
ICAgICAgIH0KKworI2lmIEVOQUJMRShKSVQpCisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIHNsb3dDYWxsKEV4ZWNTdGF0ZSogZXhlYywgdm9pZCogcG9pbnRlcikK
KyAgICAgICAgeworICAgICAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgICAgIEpT
T2JqZWN0KiBvYmplY3QgPSBzdGF0aWNfY2FzdDxKU09iamVjdCo+KHBvaW50ZXIpOworICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShvYmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgp
KTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXRpYyBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVy
U25pcHBldD4gY2FsbERPTUdldHRlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIFJlZjxET01K
SVQ6OkNhbGxET01HZXR0ZXJTbmlwcGV0PiBzbmlwcGV0ID0gRE9NSklUOjpDYWxsRE9NR2V0dGVy
U25pcHBldDo6Y3JlYXRlKCk7CisgICAgICAgICAgICBzbmlwcGV0LT5yZXF1aXJlR2xvYmFsT2Jq
ZWN0ID0gZmFsc2U7CisgICAgICAgICAgICBzbmlwcGV0LT5zZXRHZW5lcmF0b3IoWz1dKENDYWxs
SGVscGVycyYgaml0LCBTbmlwcGV0UGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgICAgICAgICBK
U1ZhbHVlUmVncyByZXN1bHRzID0gcGFyYW1zWzBdLmpzVmFsdWVSZWdzKCk7CisgICAgICAgICAg
ICAgICAgR1BSUmVnIGRvbSA9IHBhcmFtc1sxXS5ncHIoKTsKKyAgICAgICAgICAgICAgICBwYXJh
bXMuYWRkU2xvd1BhdGhDYWxsKGppdC5qdW1wKCksIGppdCwgc2xvd0NhbGwsIHJlc3VsdHMsIGRv
bSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIENDYWxsSGVscGVyczo6SnVtcExpc3QoKTsKKwor
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1cm4gc25pcHBldDsKKyAgICAgICAgfQor
I2VuZGlmCisgICAgfTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
CisKKyAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhl
YywgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCisgICAgeworICAgICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICBKU09iamVjdCogdGhpc09iamVjdCA9IGpz
RHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwor
ICAgICAgICBSRUxFQVNFX0FTU0VSVCh0aGlzT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZSh0aGlzT2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgfQorfTsK
Kworc3RhdGljIGNvbnN0IERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRl
IERPTUpJVEdldHRlckJhc2VKU09iamVjdERPTUpJVDsKKwordm9pZCBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CisgICAgY29uc3QgRE9NSklUOjpHZXR0ZXJTZXR0ZXIqIGRvbUpJVCA9ICZET01K
SVRHZXR0ZXJCYXNlSlNPYmplY3RET01KSVQ7CisgICAgYXV0byogY3VzdG9tR2V0dGVyU2V0dGVy
ID0gRE9NQXR0cmlidXRlR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGRvbUpJVC0+Z2V0dGVyKCks
IG51bGxwdHIsIERPTUF0dHJpYnV0ZUFubm90YXRpb24geyBKU09iamVjdDo6aW5mbygpLCBkb21K
SVQgfSk7CisgICAgcHV0RGlyZWN0Q3VzdG9tQWNjZXNzb3Iodm0sIElkZW50aWZpZXI6OmZyb21T
dHJpbmcoJnZtLCAiY3VzdG9tR2V0dGVyIiksIGN1c3RvbUdldHRlclNldHRlciwgUHJvcGVydHlB
dHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yKTsK
K30KKwogY29uc3QgQ2xhc3NJbmZvIEVsZW1lbnQ6OnNfaW5mbyA9IHsgIkVsZW1lbnQiLCAmQmFz
ZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEVsZW1lbnQp
IH07CiBjb25zdCBDbGFzc0luZm8gTWFzcXVlcmFkZXI6OnNfaW5mbyA9IHsgIk1hc3F1ZXJhZGVy
IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShN
YXNxdWVyYWRlcikgfTsKIGNvbnN0IENsYXNzSW5mbyBSb290OjpzX2luZm8gPSB7ICJSb290Iiwg
JkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShSb290
KSB9OwpAQCAtOTY1LDYgKzEwNDksNyBAQCBjb25zdCBDbGFzc0luZm8gRE9NSklUTm9kZTo6c19p
bmZvID0geyAiCiAjZW5kaWYKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXI6OnNfaW5mbyA9
IHsgIkRPTUpJVEdldHRlciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFU
RV9NRVRIT0RfVEFCTEUoRE9NSklUR2V0dGVyKSB9OwogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEdl
dHRlckNvbXBsZXg6OnNfaW5mbyA9IHsgIkRPTUpJVEdldHRlckNvbXBsZXgiLCAmQmFzZTo6c19p
bmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckNv
bXBsZXgpIH07Citjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpzX2lu
Zm8gPSB7ICJET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkg
fTsKICNpZiBFTkFCTEUoSklUKQogY29uc3QgQ2xhc3NJbmZvIERPTUpJVEZ1bmN0aW9uT2JqZWN0
OjpzX2luZm8gPSB7ICJET01KSVRGdW5jdGlvbk9iamVjdCIsICZCYXNlOjpzX2luZm8sIG51bGxw
dHIsICZET01KSVRGdW5jdGlvbk9iamVjdDo6Y2hlY2tTdWJDbGFzc1NuaXBwZXQsIENSRUFURV9N
RVRIT0RfVEFCTEUoRE9NSklURnVuY3Rpb25PYmplY3QpIH07CiAjZWxzZQpAQCAtMTE0Niw2ICsx
MjMxLDcgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuYwogc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJD
b21wbGV4T2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRGdW5jdGlvbk9iamVjdChFeGVjU3RhdGUqKTsKIHN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUQ2hl
Y2tTdWJDbGFzc09iamVjdChFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4ZWNTdGF0
ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVC
dWlsdGluKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25DcmVhdGVHbG9iYWxPYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlKEV4ZWNT
dGF0ZSopOwpAQCAtMTQ2NCw2ICsxNTUwLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBhZGRGdW5j
dGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QiLCBmdW5jdGlvbkNyZWF0
ZURPTUpJVEdldHRlckNvbXBsZXhPYmplY3QsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwg
ImNyZWF0ZURPTUpJVEZ1bmN0aW9uT2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRGdW5jdGlv
bk9iamVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUQ2hlY2tT
dWJDbGFzc09iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdCwg
MCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QsIDApOwogICAgICAg
ICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUJ1aWx0aW4iLCBmdW5jdGlvbkNyZWF0ZUJ1aWx0aW4s
IDIpOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZUdsb2JhbE9iamVjdCIsIGZ1bmN0
aW9uQ3JlYXRlR2xvYmFsT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJzZXRJ
bXB1cmVHZXR0ZXJEZWxlZ2F0ZSIsIGZ1bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUsIDIp
OwpAQCAtMjIwMCw2ICsyMjg3LDE2IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVu
Y3Rpb25DcmUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKK0VuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNP
YmplY3QoRXhlY1N0YXRlKiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAg
SlNMb2NrSG9sZGVyIGxvY2sodm0pOworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gRE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGV4ZWMtPmxleGljYWxHbG9i
YWxPYmplY3QoKSwganNOdWxsKCkpOworICAgIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogcmVz
dWx0ID0gRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpjcmVhdGUodm0sIHN0cnVjdHVyZSk7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworfQorCisKIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUq
IGV4ZWMpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpA
QCAtODEwLDYgKzgxMCw3IEBACiAJCTQ0NDNBRTMzMTZFMTg4RDkwMDc2RjExMCAvKiBGb3VuZGF0
aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRjBFQjYxMDVDODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAq
LzsgfTsKIAkJNDUxNTM5QjkxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTUzOUI4MTJEQzk5NDUwMEVGN0FD
NCAvKiBZYXJyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDczREE0QTQ3NjRDNDVGRTg3MUIwNDg1IC8qIERlZmluZVByb3BlcnR5QXR0cmlidXRl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTY5OTQ4
RURFNjhENDA1NEIwMUVGNzk3IC8qIERlZmluZVByb3BlcnR5QXR0cmlidXRlcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUyMTEzMUY3MUY4MkJG
MTQwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIxMTMxRjYxRjgyQkYxMTAwN0NDRUVFIC8qIFBv
bHlQcm90b0FjY2Vzc0NoYWluLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNTIxMzIyNDYxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVu
Y3Rpb25CYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MjEzMjI0NDFFQ0JDRTgyMDBGNjU2MTUgLyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCAq
LzsgfTsKIAkJNTI1MEQyRDIxRThEQTA1QTAwMjlBOTMyIC8qIFdhc21UaHVua3MuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNTBEMkQwMUU4REEwNUEw
MDI5QTkzMiAvKiBXYXNtVGh1bmtzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNTI1QzBEREExRTkzNTg0NzAwMjE4NENEIC8qIFdhc21DYWxsZWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUyNUMwREQ4
MUU5MzU4NDcwMDIxODRDRCAvKiBXYXNtQ2FsbGVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTMxMjcsNiArMzEyOCw4IEBACiAJCTRDRTk3OEUz
ODVBODQ5ODE5OTA1MjE1MyAvKiBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMEVCNjEwNUM4NkM2QjAwRTZERjFCIC8qIEZv
dW5kYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBGb3VuZGF0aW9uLmZyYW1ld29y
azsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3Jr
OyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQk1MUYwRUMwNzA1Qzg2QzlBMDBFNkRG
MUIgLyogbGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxp
YjsgcGF0aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRl
PiI7IH07CisJCTUyMTEzMUY1MUY4MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFp
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUyMTEzMUY2MUY4MkJGMTEwMDdDQ0VFRSAvKiBQb2x5
UHJvdG9BY2Nlc3NDaGFpbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjEzMjI0MzFFQ0JDRTgyMDBGNjU2MTUg
LyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuY3BwOyBwYXRoID0ganMvV2ViQXNz
ZW1ibHlGdW5jdGlvbkJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjEz
MjI0NDFFQ0JDRTgyMDBGNjU2MTUgLyogV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXNzZW1ibHlGdW5jdGlvbkJhc2UuaDsgcGF0
aCA9IGpzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUyNTBEMkNGMUU4REEwNUEwMDI5QTkzMiAvKiBXYXNtVGh1bmtzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21UaHVua3MuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzQxOCw2ICs3NDIxLDggQEAKIAkJCQk5NjlBMDc5NTBFRDFE
M0FFMDBGMUY2ODEgLyogT3Bjb2RlLmggKi8sCiAJCQkJMEYyQkRDMkIxNTFGREU4QjAwQ0Q4OTEw
IC8qIE9wZXJhbmRzLmggKi8sCiAJCQkJQTcwNDQ3RTkxN0EwQkQ0NjAwRjU4OThFIC8qIE9wZXJh
bmRzSW5saW5lcy5oICovLAorCQkJCTUyMTEzMUY1MUY4MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJv
dG9BY2Nlc3NDaGFpbi5jcHAgKi8sCisJCQkJNTIxMTMxRjYxRjgyQkYxMTAwN0NDRUVFIC8qIFBv
bHlQcm90b0FjY2Vzc0NoYWluLmggKi8sCiAJCQkJMEZGOUNFNzExQjlDRDZEMDAwNEVEQ0E2IC8q
IFBvbHltb3JwaGljQWNjZXNzLmNwcCAqLywKIAkJCQkwRkY5Q0U3MjFCOUNENkQwMDA0RURDQTYg
LyogUG9seW1vcnBoaWNBY2Nlc3MuaCAqLywKIAkJCQkwRjk4MjA1RDE2QkZFMzdGMDAyNDBEMDIg
LyogUHJlY2lzZUp1bXBUYXJnZXRzLmNwcCAqLywKQEAgLTgyNjUsNiArODI3MCw3IEBACiAJCQkJ
QTc5ODZENTcxN0EwQkIxRTAwQTk1REQwIC8qIERGR0VkZ2VVc2VzU3RydWN0dXJlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjhGMTQzNDFBREYwOTAxMDBFRDc5MkMgLyogREZHRXBvY2guaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGQkMwQUU4MTQ5NkM3QzcwMEQ0RkJERCAvKiBERkdFeGl0UHJvZmls
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTIxMTMxRjcxRjgyQkYxNDAwN0NDRUVFIC8qIFBvbHlQ
cm90b0FjY2Vzc0NoYWluLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzhBOTc3NTE3OTczOEI4MDA5
REY3NDQgLyogREZHRmFpbGVkRmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JGRjND
MDE3OTg2ODk0MDAwMkY0NjIgLyogREZHRmlsdHJhdGlvblJlc3VsdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQTc4QTk3NzcxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXplci5oIGluIEhlYWRl
cnMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J1
aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAg
SlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUAogI3VuZGVmIElOSVRJQUxJ
WkVfQlVJTFRJTl9QUklWQVRFX05BTUVTCiAKIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwg
ZG9sbGFyVk1Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLiR2bSIsIFN5bWJvbEltcGw6OnNf
ZmxhZ0lzUHJpdmF0ZSB9OworU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1wbCB1bmRlcnNjb3Jl
UHJvdG9Qcml2YXRlTmFtZSB7ICJQcml2YXRlU3ltYm9sLl9fcHJvdG9fXyIsIFN5bWJvbEltcGw6
OnNfZmxhZ0lzUHJpdmF0ZSB9OwogCiB9IC8vIG5hbWVzcGFjZSBTeW1ib2xzCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFt
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRp
bk5hbWVzLmgJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWls
dGlucy9CdWlsdGluTmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIEpT
Q19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBERUNMQVJFX0JV
SUxUSU5fUFJJVkFURV9OQU1FUwogCiBleHRlcm4gU3ltYm9sSW1wbDo6U3RhdGljU3ltYm9sSW1w
bCBkb2xsYXJWTVByaXZhdGVOYW1lOworZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbElt
cGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7CiB9CiAKICNkZWZpbmUgSU5JVElBTElaRV9Q
UklWQVRFX1RPX1BVQkxJQ19FTlRSWShuYW1lKSBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV8j
I25hbWUjI1ByaXZhdGVOYW1lLmltcGwoKSwgJm1fIyNuYW1lKTsKQEAgLTIzMCw2ICsyMzEsNyBA
QCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dF
TExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfQlVJTFRJTl9TWU1CT0xTKQogICAgICAgICAsIG1f
ZG9sbGFyVk1OYW1lKElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICIkdm0iKSkKICAgICAgICAg
LCBtX2RvbGxhclZNUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19j
YXN0PFN5bWJvbEltcGwmPihTeW1ib2xzOjpkb2xsYXJWTVByaXZhdGVOYW1lKSkpCisgICAgICAg
ICwgbV91bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZShJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCAm
c3RhdGljX2Nhc3Q8U3ltYm9sSW1wbCY+KFN5bWJvbHM6OnVuZGVyc2NvcmVQcm90b1ByaXZhdGVO
YW1lKSkpCiAgICAgewogICAgICAgICBKU0NfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUo
SU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkKICAgICAgICAgSlNDX0NPTU1PTl9Q
UklWQVRFX0lERU5USUZJRVJTX0VBQ0hfUFJPUEVSVFlfTkFNRShJTklUSUFMSVpFX1BSSVZBVEVf
VE9fUFVCTElDX0VOVFJZKQpAQCAtMjM4LDYgKzI0MCw4IEBAIHB1YmxpYzoKICAgICAgICAgSlND
X0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0woSU5JVElB
TElaRV9TWU1CT0xfUFVCTElDX1RPX1BSSVZBVEVfRU5UUlkpCiAgICAgICAgIG1fcHJpdmF0ZVRv
UHVibGljTWFwLmFkZChtX2RvbGxhclZNUHJpdmF0ZU5hbWUuaW1wbCgpLCAmbV9kb2xsYXJWTU5h
bWUpOwogICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQobV9kb2xsYXJWTU5hbWUuaW1w
bCgpLCAmbV9kb2xsYXJWTVByaXZhdGVOYW1lKTsKKyAgICAgICAgbV9wcml2YXRlVG9QdWJsaWNN
YXAuYWRkKG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUuaW1wbCgpLCAmY29tbW9uSWRlbnRp
ZmllcnMtPnVuZGVyc2NvcmVQcm90byk7CisgICAgICAgIG1fcHVibGljVG9Qcml2YXRlTWFwLmFk
ZChjb21tb25JZGVudGlmaWVycy0+dW5kZXJzY29yZVByb3RvLmltcGwoKSwgJm1fdW5kZXJzY29y
ZVByb3RvUHJpdmF0ZU5hbWUpOwogICAgIH0KIAogICAgIGNvbnN0IElkZW50aWZpZXIqIGxvb2tV
cFByaXZhdGVOYW1lKGNvbnN0IElkZW50aWZpZXImKSBjb25zdDsKQEAgLTI1MCw2ICsyNTQsNyBA
QCBwdWJsaWM6CiAgICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9L
Tk9XTl9TWU1CT0woREVDTEFSRV9CVUlMVElOX1NZTUJPTF9BQ0NFU1NPUikKICAgICBjb25zdCBK
U0M6OklkZW50aWZpZXImIGRvbGxhclZNUHVibGljTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9s
bGFyVk1OYW1lOyB9CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBkb2xsYXJWTVByaXZhdGVO
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9kb2xsYXJWTVByaXZhdGVOYW1lOyB9CisgICAgY29uc3Qg
SlNDOjpJZGVudGlmaWVyJiB1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWU7IH0KIAogcHJpdmF0ZToKICAgICBJZGVu
dGlmaWVyIG1fZW1wdHlJZGVudGlmaWVyOwpAQCAtMjU4LDYgKzI2Myw3IEBAIHByaXZhdGU6CiAg
ICAgSlNDX0NPTU1PTl9QUklWQVRFX0lERU5USUZJRVJTX0VBQ0hfV0VMTF9LTk9XTl9TWU1CT0wo
REVDTEFSRV9CVUlMVElOX1NZTUJPTFMpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fZG9s
bGFyVk1OYW1lOwogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNUHJpdmF0ZU5h
bWU7CisgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyIG1fdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5h
bWU7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIGNvbnN0
IElkZW50aWZpZXIqLCBJZGVudGlmaWVyUmVwSGFzaD4gQnVpbHRpbk5hbWVzTWFwOwogICAgIEJ1
aWx0aW5OYW1lc01hcCBtX3B1YmxpY1RvUHJpdmF0ZU1hcDsKICAgICBCdWlsdGluTmFtZXNNYXAg
bV9wcml2YXRlVG9QdWJsaWNNYXA7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDM2
ICs1NSwzOSBAQCBuYW1lc3BhY2UgQWNjZXNzQ2FzZUludGVybmFsIHsKIHN0YXRpYyBjb25zdCBi
b29sIHZlcmJvc2UgPSBmYWxzZTsKIH0KIAotQWNjZXNzQ2FzZTo6QWNjZXNzQ2FzZShWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNv
bmRpdGlvblNldCkKK0FjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVy
LCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0
ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4p
CiAgICAgOiBtX3R5cGUodHlwZSkKICAgICAsIG1fb2Zmc2V0KG9mZnNldCkKKyAgICAsIG1fcG9s
eVByb3RvQWNjZXNzQ2hhaW4oV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpCiB7CiAgICAg
bV9zdHJ1Y3R1cmUuc2V0TWF5QmVOdWxsKHZtLCBvd25lciwgc3RydWN0dXJlKTsKICAgICBtX2Nv
bmRpdGlvblNldCA9IGNvbmRpdGlvblNldDsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nh
c2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUg
dHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCkKK3N0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6
dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7
CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBJbkhpdDoKICAgICBjYXNlIEluTWlzczoK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0cmluZ0xl
bmd0aDoKICAgICBjYXNlIERpcmVjdEFyZ3VtZW50c0xlbmd0aDoKICAgICBjYXNlIFNjb3BlZEFy
Z3VtZW50c0xlbmd0aDoKICAgICBjYXNlIE1vZHVsZU5hbWVzcGFjZUxvYWQ6CiAgICAgY2FzZSBS
ZXBsYWNlOgorICAgICAgICBSRUxFQVNFX0FTU0VSVCghcHJvdG90eXBlQWNjZXNzQ2hhaW4pOwog
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9OwogCi0gICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3du
ZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1cm4g
c3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6
OmNyZWF0ZSgKICAgICBWTSYgdm0sIEpTQ2VsbCogb3duZXIsIFByb3BlcnR5T2Zmc2V0IG9mZnNl
dCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLAotICAg
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCisgICAgY29u
c3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgc3RkOjp1bmlxdWVf
cHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBS
RUxFQVNFX0FTU0VSVChvbGRTdHJ1Y3R1cmUgPT0gbmV3U3RydWN0dXJlLT5wcmV2aW91c0lEKCkp
OwogCkBAIC05Niw3ICs5OSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3ND
YXNlOjoKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0dXJuIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRp
b24sIG9mZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQpKTsKKyAgICByZXR1cm4gc3Rk
Ojp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBBY2Nlc3NDYXNlKHZtLCBvd25lciwgVHJhbnNp
dGlvbiwgb2Zmc2V0LCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5
cGVBY2Nlc3NDaGFpbikpKTsKIH0KIAogQWNjZXNzQ2FzZTo6fkFjY2Vzc0Nhc2UoKQpAQCAtMTM1
LDcgKzEzOCw4IEBAIFZlY3RvcjxXYXRjaHBvaW50U2V0KiwgMj4gQWNjZXNzQ2FzZTo6Y28KICAg
ICBWZWN0b3I8V2F0Y2hwb2ludFNldCosIDI+IHJlc3VsdDsKIAogICAgIGlmICgoc3RydWN0dXJl
KCkgJiYgc3RydWN0dXJlKCktPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKLSAgICAg
ICAgfHwgbV9jb25kaXRpb25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKQorICAg
ICAgICB8fCBtX2NvbmRpdGlvblNldC5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkKKyAg
ICAgICAgfHwgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4gJiYgbV9wb2x5UHJvdG9BY2Nlc3NDaGFp
bi0+bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSkKICAgICAgICAgcmVzdWx0LmFwcGVu
ZCh2bS5lbnN1cmVXYXRjaHBvaW50U2V0Rm9ySW1wdXJlUHJvcGVydHkoaWRlbnQpKTsKIAogICAg
IGlmIChhZGRpdGlvbmFsU2V0KCkpCkBAIC0xNTEsNiArMTU1LDkgQEAgYm9vbCBBY2Nlc3NDYXNl
OjpndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjawogICAgIGlmICh2aWFQcm94eSgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNlIEFycmF5TGVu
Z3RoOgogICAgIGNhc2UgU3RyaW5nTGVuZ3RoOgpAQCAtMjEwLDYgKzIxNywxOSBAQCBib29sIEFj
Y2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAgICAgICAgIHJldHVybiB0aGlzQ2Fz
ZS5tb2R1bGVOYW1lc3BhY2VPYmplY3QoKSA9PSBvdGhlckNhc2UubW9kdWxlTmFtZXNwYWNlT2Jq
ZWN0KCk7CiAgICAgfQogICAgIGRlZmF1bHQ6CisgICAgICAgIGlmIChvdGhlci50eXBlKCkgIT0g
dHlwZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGlmIChtX3BvbHlQ
cm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICBpZiAoIW90aGVyLm1fcG9seVByb3RvQWNj
ZXNzQ2hhaW4pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgLy8g
VGhpcyBpcyB0aGUgb25seSBjaGVjayB3ZSBuZWVkIHNpbmNlIFBvbHlQcm90b0FjY2Vzc0NoYWlu
IGNvbnRhaW5zIHRoZSBiYXNlIHN0cnVjdHVyZS4KKyAgICAgICAgICAgIC8vIElmIHdlIGV2ZXIg
Y2hhbmdlIGl0IHRvIGNvbnRhaW4gb25seSB0aGUgcHJvdG90eXBlIGNoYWluLCB3ZSdsbCBhbHNv
IG5lZWQgdG8gY2hhbmdlCisgICAgICAgICAgICAvLyB0aGlzIHRvIGNoZWNrIHRoZSBiYXNlIHN0
cnVjdHVyZS4KKyAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUoKSA9PSBvdGhlci5zdHJ1Y3R1
cmUoKQorICAgICAgICAgICAgICAgICYmICptX3BvbHlQcm90b0FjY2Vzc0NoYWluID09ICpvdGhl
ci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluOworICAgICAgICB9CisKICAgICAgICAgaWYgKCFndWFy
ZGVkQnlTdHJ1Y3R1cmVDaGVjaygpIHx8ICFvdGhlci5ndWFyZGVkQnlTdHJ1Y3R1cmVDaGVjaygp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0yMTksMjIgKzIzOSwyNyBAQCBib29s
IEFjY2Vzc0Nhc2U6OmNhblJlcGxhY2UoY29uc3QgQWNjZXNzCiAKIHZvaWQgQWNjZXNzQ2FzZTo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91dC5wcmludChtX3R5cGUsICI6
KCIpOworICAgIG91dC5wcmludCgiXG4iLCBtX3R5cGUsICI6KCIpOwogCiAgICAgQ29tbWFQcmlu
dGVyIGNvbW1hOwogCiAgICAgb3V0LnByaW50KGNvbW1hLCBtX3N0YXRlKTsKIAotICAgIGlmICht
X3R5cGUgPT0gVHJhbnNpdGlvbikKLSAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJl
ID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1wKG5ld1N0
cnVjdHVyZSgpKSk7Ci0gICAgZWxzZSBpZiAobV9zdHJ1Y3R1cmUpCi0gICAgICAgIG91dC5wcmlu
dChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1wKG1fc3RydWN0dXJlLmdldCgpKSk7
Ci0KICAgICBpZiAoaXNWYWxpZE9mZnNldChtX29mZnNldCkpCiAgICAgICAgIG91dC5wcmludChj
b21tYSwgIm9mZnNldCA9ICIsIG1fb2Zmc2V0KTsKICAgICBpZiAoIW1fY29uZGl0aW9uU2V0Lmlz
RW1wdHkoKSkKICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiY29uZGl0aW9ucyA9ICIsIG1fY29u
ZGl0aW9uU2V0KTsKIAorICAgIGlmIChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAgICAg
IG91dC5wcmludChjb21tYSwgInByb3RvdHlwZSBhY2Nlc3MgY2hhaW4gPSAiKTsKKyAgICAgICAg
bV9wb2x5UHJvdG9BY2Nlc3NDaGFpbi0+ZHVtcChzdHJ1Y3R1cmUoKSwgb3V0KTsKKyAgICB9IGVs
c2UgeworICAgICAgICBpZiAobV90eXBlID09IFRyYW5zaXRpb24pCisgICAgICAgICAgICBvdXQu
cHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBwb2ludGVyRHVtcChzdHJ1Y3R1cmUoKSksICIg
LT4gIiwgcG9pbnRlckR1bXAobmV3U3RydWN0dXJlKCkpKTsKKyAgICAgICAgZWxzZSBpZiAobV9z
dHJ1Y3R1cmUpCisgICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1cmUgPSAiLCBw
b2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOworICAgIH0KKwogICAgIGR1bXBJbXBsKG91
dCwgY29tbWEpOwogICAgIG91dC5wcmludCgiKSIpOwogfQpAQCAtMjQzLDYgKzI2OCwxMiBAQCBi
b29sIEFjY2Vzc0Nhc2U6OnZpc2l0V2VhayhWTSYgdm0pIGNvbnN0CiB7CiAgICAgaWYgKG1fc3Ry
dWN0dXJlICYmICFIZWFwOjppc01hcmtlZChtX3N0cnVjdHVyZS5nZXQoKSkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICBm
b3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDogbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbi0+Y2hhaW4o
KSkgeworICAgICAgICAgICAgaWYgKCFIZWFwOjppc01hcmtlZChzdHJ1Y3R1cmUpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KICAgICBpZiAoIW1fY29u
ZGl0aW9uU2V0LmFyZVN0aWxsTGl2ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KGlzQWNjZXNzb3IoKSkgewpAQCAtMjczLDYgKzMwNCwxMSBAQCBib29sIEFjY2Vzc0Nhc2U6OnBy
b3BhZ2F0ZVRyYW5zaXRpb25zKFNsCiAgICAgaWYgKG1fc3RydWN0dXJlKQogICAgICAgICByZXN1
bHQgJj0gbV9zdHJ1Y3R1cmUtPm1hcmtJZkNoZWFwKHZpc2l0b3IpOwogCisgICAgaWYgKG1fcG9s
eVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA6
IG1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmNoYWluKCkpCisgICAgICAgICAgICByZXN1bHQgJj0g
c3RydWN0dXJlLT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKKyAgICB9CisKICAgICBzd2l0Y2ggKG1f
dHlwZSkgewogICAgIGNhc2UgVHJhbnNpdGlvbjoKICAgICAgICAgaWYgKEhlYXA6OmlzTWFya2Vk
Q29uY3VycmVudGx5KG1fc3RydWN0dXJlLT5wcmV2aW91c0lEKCkpKQpAQCAtMzcyLDI2ICs0MDgs
NzIgQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZVdpdGhHdWFyZCgKICAgICB9CiAKICAgICBk
ZWZhdWx0OiB7Ci0gICAgICAgIGlmICh2aWFQcm94eSgpKSB7Ci0gICAgICAgICAgICBmYWxsVGhy
b3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCi0gICAgICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAgICAgICAgICAgIENDYWxs
SGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0NlbGw6OnR5cGVJbmZvVHlwZU9mZnNldCgpKSwK
LSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoUHVyZUZvcndh
cmRpbmdQcm94eVR5cGUpKSk7Ci0KLSAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVy
czo6QWRkcmVzcyhiYXNlR1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIp
OwotCi0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0
LmJyYW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RF
cXVhbCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKHNjcmF0Y2hH
UFIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0
cnVjdHVyZSgpKSk7CisgICAgICAgIGlmIChtX3BvbHlQcm90b0FjY2Vzc0NoYWluKSB7CisgICAg
ICAgICAgICBHUFJSZWcgYmFzZUZvckFjY2Vzc0dQUiA9IHN0YXRlLnNjcmF0Y2hHUFI7CisgICAg
ICAgICAgICBqaXQubW92ZShzdGF0ZS5iYXNlR1BSLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAg
ICAgICAgIG1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmZvckVhY2goc3RydWN0dXJlKCksIFsmXSAo
U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGJvb2wgYXRFbmQpIHsKKyAgICAgICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUo
CisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAg
ICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIs
IEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICBpZiAoYXRFbmQpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKChtX3R5cGUgPT0gTWlzcyB8fCBtX3R5cGUgPT0gSW5NaXNzIHx8IG1fdHlwZSA9
PSBUcmFuc2l0aW9uKSAmJiBzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBGb3IgYSBNaXNzL0luTWlzcy9UcmFuc2l0aW9uLCB3ZSBtdXN0IGVu
c3VyZSB3ZSdyZSBhdCB0aGUgZW5kIHdoZW4gdGhlIGxhc3QgaXRlbSBpcyBwb2x5IHByb3RvLgor
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHJhbnNpdGlvbnMgbXVzdCBkbyB0aGlzIGJlY2F1
c2UgdGhleSBuZWVkIHRvIHZlcmlmeSB0aGVyZSBpc24ndCBhIHNldHRlciBpbiB0aGUgY2hhaW4u
CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBNaXNzL0luTWlzcyBuZWVkIHRvIGRvIHRoaXMg
dG8gZW5zdXJlIHRoZXJlIGlzbid0IGEgbmV3IGl0ZW0gYXQgdGhlIGVuZCBvZiB0aGUgY2hhaW4g
dGhhdAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzIHRoZSBwcm9wZXJ0eS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IHBvbHlQcm90b09mZnNldCA9IHN0cnVj
dHVyZS0+cG9seVByb3RvT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChpc0lubGluZU9mZnNldChwb2x5UHJvdG9PZmZzZXQpKTsKKyNpZiBVU0UoSlNWQUxV
RTY0KQorICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQ2NChNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShwb2x5UHJvdG9P
ZmZzZXQpKSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgICAgICBmYWxs
VGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6Tm90RXF1YWwsIGJhc2VG
b3JBY2Nlc3NHUFIsIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFZhbHVlTnVsbCkpKTsKKyNl
bHNlCisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKHBvbHlQcm90b09m
ZnNldCkgKyBQYXlsb2FkT2Zmc2V0KSwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICAg
ICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoaml0LmJyYW5jaFRlc3RQdHIoQ0NhbGxIZWxw
ZXJzOjpOb25aZXJvLCBiYXNlRm9yQWNjZXNzR1BSKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlm
IChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBK
U1ZhbHVlIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKHN0YXRlLm1f
Z2xvYmFsT2JqZWN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKHBy
b3RvdHlwZS5pc09iamVjdCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihhc09iamVjdChwcm90b3R5cGUpKSwgYmFzZUZvckFj
Y2Vzc0dQUik7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOyAvLyBQcmltaXRp
dmVzIG11c3QgaGF2ZSBhIHN0b3JlZCBwcm90b3R5cGUuIFdlIHVzZSBwcm90b3R5cGVGb3JMb29r
dXAgZm9yIHRoZW0uCisgICAgICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBwb2x5
UHJvdG9PZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVPZmZzZXQocG9seVByb3RvT2Zmc2V0
KSk7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2Fk
NjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRp
dmVUb0Jhc2UocG9seVByb3RvT2Zmc2V0KSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2g2NChDQ2FsbEhlbHBl
cnM6OkVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW02NChW
YWx1ZU51bGwpKSk7CisjZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgaml0LmxvYWQzMihN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRv
QmFzZShwb2x5UHJvdG9PZmZzZXQpICsgUGF5bG9hZE9mZnNldCksIGJhc2VGb3JBY2Nlc3NHUFIp
OworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGppdC5icmFuY2hU
ZXN0UHRyKENDYWxsSGVscGVyczo6WmVybywgYmFzZUZvckFjY2Vzc0dQUikpOworI2VuZGlmCisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9KTsK
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZCgKLSAgICAg
ICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAotICAgICAgICAgICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKSwKLSAgICAgICAgICAg
ICAgICAgICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIGlmICh2aWFQcm94eSgpKSB7Cisg
ICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBq
aXQuYnJhbmNoOCgKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1
YWwsCisgICAgICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQ
UiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCisgICAgICAgICAgICAgICAgICAgICAg
ICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkpKTsK
KworICAgICAgICAgICAgICAgIGppdC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNl
R1BSLCBKU1Byb3h5Ojp0YXJnZXRPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOworCisgICAgICAgICAg
ICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNo
U3RydWN0dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKKyAgICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNo
R1BSLCBKU0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgc3RydWN0dXJlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0
dXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlR1BSLCBKU0Nl
bGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0
dXJlKCkpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9
IH07CkBAIC00MjgsNiArNTEwLDggQEAgdm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNj
ZXNzR2VuZQogICAgIEFTU0VSVChtX2NvbmRpdGlvblNldC5zdHJ1Y3R1cmVzRW5zdXJlVmFsaWRp
dHlBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKTsKIAogICAgIGZvciAoY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IG1fY29uZGl0aW9uU2V0KSB7Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX3BvbHlQcm90b0FjY2Vzc0NoYWluKTsKKwogICAgICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbmRpdGlvbi5vYmplY3QoKS0+c3RydWN0dXJlKCk7
CiAKICAgICAgICAgaWYgKGNvbmRpdGlvbi5pc1dhdGNoYWJsZUFzc3VtaW5nSW1wdXJlUHJvcGVy
dHlXYXRjaHBvaW50KCkpIHsKQEAgLTUwNCwxMyArNTg4LDE5IEBAIHZvaWQgQWNjZXNzQ2FzZTo6
Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgICAgIGJhc2VGb3JHZXRHUFIgPSBiYXNl
R1BSOwogCiAgICAgICAgIEdQUlJlZyBiYXNlRm9yQWNjZXNzR1BSOwotICAgICAgICBpZiAoIW1f
Y29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaml0Lm1vdmUoCi0gICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSksCi0g
ICAgICAgICAgICAgICAgc2NyYXRjaEdQUik7CisgICAgICAgIGlmIChtX3BvbHlQcm90b0FjY2Vz
c0NoYWluKSB7CisgICAgICAgICAgICAvLyBUaGlzIGlzbid0IHByZXR0eSwgYnV0IHdlIGtub3cg
d2UgZ290IGhlcmUgdmlhIGdlbmVyYXRlV2l0aEd1YXJkLAorICAgICAgICAgICAgLy8gYW5kIGl0
IGxlZnQgdGhlIGJhc2VGb3JBY2Nlc3MgaW5zaWRlIHNjcmF0Y2hHUFIuIFdlIGNvdWxkIHJlLWRl
cml2ZSB0aGUgYmFzZSwKKyAgICAgICAgICAgIC8vIGJ1dCBpdCdkIHJlcXVpcmUgZW1pdHRpbmcg
dGhlIHNhbWUgY29kZSB0byBsb2FkIHRoZSBiYXNlIHR3aWNlLgogICAgICAgICAgICAgYmFzZUZv
ckFjY2Vzc0dQUiA9IHNjcmF0Y2hHUFI7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgYmFz
ZUZvckFjY2Vzc0dQUiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBpZiAoIW1fY29uZGl0aW9uU2V0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgIGpp
dC5tb3ZlKAorICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
YWx0ZXJuYXRlQmFzZSgpKSwgc2NyYXRjaEdQUik7CisgICAgICAgICAgICAgICAgYmFzZUZvckFj
Y2Vzc0dQUiA9IHNjcmF0Y2hHUFI7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICBiYXNlRm9yQWNjZXNzR1BSID0gYmFzZUZvckdldEdQUjsKKyAgICAgICAgfQogCiAgICAgICAg
IEdQUlJlZyBsb2FkZWRWYWx1ZUdQUiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIGlmIChtX3R5
cGUgIT0gQ3VzdG9tVmFsdWVHZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yR2V0dGVy
ICYmIG1fdHlwZSAhPSBDdXN0b21WYWx1ZVNldHRlciAmJiBtX3R5cGUgIT0gQ3VzdG9tQWNjZXNz
b3JTZXR0ZXIpIHsKQEAgLTEwMTYsNyArMTEwNiw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJh
dGVJbXBsKEFjY2Vzc0dlbmUKICAgICAgICAgCiAgICAgY2FzZSBJbnRyaW5zaWNHZXR0ZXI6IHsK
ICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNWYWxpZE9mZnNldChvZmZzZXQoKSkpOwotICAgICAg
ICAKKwogICAgICAgICAvLyBXZSBuZWVkIHRvIGVuc3VyZSB0aGUgZ2V0dGVyIHZhbHVlIGRvZXMg
bm90IG1vdmUgZnJvbSB1bmRlciB1cy4gTm90ZSB0aGF0IEdldHRlclNldHRlcnMKICAgICAgICAg
Ly8gYXJlIGltbXV0YWJsZSBzbyB3ZSBqdXN0IG5lZWQgdG8gd2F0Y2ggdGhlIHByb3BlcnR5IG5v
dCBhbnkgdmFsdWUgaW5zaWRlIGl0LgogICAgICAgICBTdHJ1Y3R1cmUqIGN1cnJTdHJ1Y3R1cmU7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgJKHJl
dmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3ND
YXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkpTRnVu
Y3Rpb25JbmxpbmVzLmgiCiAjaW5jbHVkZSAiT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQuaCIK
KyNpbmNsdWRlICJQb2x5UHJvdG9BY2Nlc3NDaGFpbi5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVBy
aW50ZXIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC0xMjAsMTEgKzEyMSwxMSBAQCBwdWJsaWM6
CiAgICAgfQogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUo
Vk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCA9IGludmFsaWRP
ZmZzZXQsCi0gICAgICAgIFN0cnVjdHVyZSogPSBudWxscHRyLCBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpKTsKKyAgICAgICAg
U3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9B
Y2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIC8vIFRoaXMgY3JlYXRlIG1ldGhvZCBzaG91
bGQgYmUgdXNlZCBmb3IgdHJhbnNpdGlvbnMuCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCwgU3Ry
dWN0dXJlKiBvbGRTdHJ1Y3R1cmUsCi0gICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLCBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFBy
b3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
Pik7CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGZyb21TdHJ1Y3R1
cmVTdHViSW5mbyhWTSYsIEpTQ2VsbCogb3duZXIsIFN0cnVjdHVyZVN0dWJJbmZvJik7CiAKQEAg
LTE4Niw5ICsxODcsMjUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+QWNjZXNzQ2FzZSgpOwog
CisgICAgYm9vbCB1c2VzUG9seVByb3RvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAh
IW1fcG9seVByb3RvQWNjZXNzQ2hhaW47CisgICAgfQorCiBwcm90ZWN0ZWQ6Ci0gICAgQWNjZXNz
Q2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1
Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYpOwotICAgIEFjY2Vzc0Nh
c2UoY29uc3QgQWNjZXNzQ2FzZSYpID0gZGVmYXVsdDsKKyAgICBBY2Nlc3NDYXNlKFZNJiwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0Fj
Y2Vzc0NoYWluPik7CisgICAgQWNjZXNzQ2FzZShBY2Nlc3NDYXNlJiYpID0gZGVmYXVsdDsKKyAg
ICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nhc2UmIG90aGVyKQorICAgICAgICA6IG1fdHlwZShv
dGhlci5tX3R5cGUpCisgICAgICAgICwgbV9zdGF0ZShvdGhlci5tX3N0YXRlKQorICAgICAgICAs
IG1fb2Zmc2V0KG90aGVyLm1fb2Zmc2V0KQorICAgICAgICAsIG1fc3RydWN0dXJlKG90aGVyLm1f
c3RydWN0dXJlKQorICAgICAgICAsIG1fY29uZGl0aW9uU2V0KG90aGVyLm1fY29uZGl0aW9uU2V0
KQorICAgIHsKKyAgICAgICAgaWYgKG90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hhaW4pCisgICAg
ICAgICAgICBtX3BvbHlQcm90b0FjY2Vzc0NoYWluID0gb3RoZXIubV9wb2x5UHJvdG9BY2Nlc3ND
aGFpbi0+Y2xvbmUoKTsKKyAgICB9CisKICAgICBBY2Nlc3NDYXNlJiBvcGVyYXRvcj0oY29uc3Qg
QWNjZXNzQ2FzZSYpID0gZGVsZXRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIHsgbV9zdGF0ZSA9
IFByaW1vcmRpYWw7IH0KIApAQCAtMjI3LDYgKzI0NCw4IEBAIHByaXZhdGU6CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CiAKICAgICBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCBtX2NvbmRpdGlvblNldDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9B
Y2Nlc3NDaGFpbj4gbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMsNyArNTkzLDcgQEAgYm9vbCBDb2Rl
QmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAgaW50IGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgPSBwY1tvcExlbmd0aCAtIDJdLnUub3BlcmFuZDsKIAogICAgICAgICAg
ICAgaW5zdHJ1Y3Rpb25zW2kgKyBvcExlbmd0aCAtIDFdID0gb2JqZWN0QWxsb2NhdGlvblByb2Zp
bGU7Ci0gICAgICAgICAgICBvYmplY3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZSh2bSwK
KyAgICAgICAgICAgIG9iamVjdEFsbG9jYXRpb25Qcm9maWxlLT5pbml0aWFsaXplUHJvZmlsZSh2
bSwKICAgICAgICAgICAgICAgICBtX2dsb2JhbE9iamVjdC5nZXQoKSwgdGhpcywgbV9nbG9iYWxP
YmplY3QtPm9iamVjdFByb3RvdHlwZSgpLCBpbmZlcnJlZElubGluZUNhcGFjaXR5KTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTIxOSw2ICsyMTksOSBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3JTCiAgICAgICAgICAgICBjb25zdCBBY2Nlc3NDYXNlJiBhY2Nlc3MgPSBsaXN0LT5hdChs
aXN0SW5kZXgpOwogICAgICAgICAgICAgaWYgKGFjY2Vzcy52aWFQcm94eSgpKQogICAgICAgICAg
ICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKHNsb3dQYXRoU3RhdGUsIHRydWUpOworCisgICAg
ICAgICAgICBpZiAoYWNjZXNzLnVzZXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gR2V0QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBhY2Nlc3Muc3RydWN0dXJlKCk7CiAgICAg
ICAgICAgICBpZiAoIXN0cnVjdHVyZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAkocmV2aXNp
b24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRl
ckFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxNyArNDIsMTcgQEAgbmFtZXNw
YWNlIEdldHRlclNldHRlckFjY2Vzc0Nhc2VJbnRlcm5hbAogc3RhdGljIGNvbnN0IGJvb2wgdmVy
Ym9zZSA9IGZhbHNlOwogfQogCi1HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCi0gICAgOiBC
YXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpCitHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25z
dCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5
LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2Us
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hh
aW4pCisgICAgOiBCYXNlKHZtLCBvd25lciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIFdURk1vdmUocHJvdG90eXBl
QWNjZXNzQ2hhaW4pKQogewogICAgIG1fY3VzdG9tU2xvdEJhc2Uuc2V0TWF5QmVOdWxsKHZtLCBv
d25lciwgY3VzdG9tU2xvdEJhc2UpOwogfQogCiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlv
blNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwKLSAgICBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBjdXN0b21HZXR0ZXIsIEpTT2JqZWN0KiBjdXN0b21T
bG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1
dGUpCisgICAgVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsCisgICAgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2lu
dFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgY3VzdG9tR2V0
dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsCisgICAgc3RkOjpvcHRpb25hbDxET01BdHRy
aWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9B
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7
CiAgICAgY2FzZSBHZXR0ZXI6CkBAIC02MywxOCArNjMsMTggQEAgc3RkOjp1bmlxdWVfcHRyPEFj
Y2Vzc0Nhc2U+IEdldHRlclNldHRlcgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9OwogCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3Vs
dChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3Ry
dWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90
QmFzZSkpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1
bHQobmV3IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0
cnVjdHVyZSwgY29uZGl0aW9uU2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xv
dEJhc2UsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5tX2Rv
bUF0dHJpYnV0ZSA9IGRvbUF0dHJpYnV0ZTsKICAgICByZXN1bHQtPm1fY3VzdG9tQWNjZXNzb3Iu
Z2V0dGVyID0gY3VzdG9tR2V0dGVyOwogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CiAK
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVh
dGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgUHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmMg
Y3VzdG9tU2V0dGVyLAorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25k
aXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBl
QWNjZXNzQ2hhaW4sIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwK
ICAgICBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UpCiB7CiAgICAgQVNTRVJUKHR5cGUgPT0gU2V0
dGVyIHx8IHR5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBDdXN0b21BY2Nlc3Nv
clNldHRlcik7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJl
c3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwg
c3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0b21TbG90QmFzZSkp
OworICAgIHN0ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3
IEdldHRlclNldHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVy
ZSwgY29uZGl0aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UsIFdURk1vdmUo
cHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLnNl
dHRlciA9IGN1c3RvbVNldHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0dGVyU2V0
dGVyQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
OCwxNiArNDgsMTIgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPiBjcmVhdGUoCiAgICAgICAgIFZNJiwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSwg
UHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosCi0gICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCksCi0gICAgICAgIGJv
b2wgdmlhUHJveHkgPSBmYWxzZSwKLSAgICAgICAgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCA9IG51bGxwdHIsCi0gICAgICAgIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jID0gbnVsbHB0
ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0ciwKLSAgICAgICAg
c3RkOjpvcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiA9IHN0ZDo6bnVsbG9wdCk7Cisg
ICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwg
V2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMs
CisgICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjpvcHRpb25hbDxET01BdHRy
aWJ1dGVBbm5vdGF0aW9uPiwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPik7
CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFN0cnVjdHVyZSosIFByb3BlcnR5T2Zmc2V0LAotICAg
ICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jID0gbnVsbHB0ciwKLSAgICAgICAgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNl
ID0gbnVsbHB0cik7CisgICAgICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0Jiwg
c3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiwKKyAgICAgICAgUHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmMgPSBudWxscHRyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2Ug
PSBudWxscHRyKTsKIAogICAgIHZvaWQgZHVtcEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVByaW50
ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xv
bmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTY3LDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQq
IGN1c3RvbUFjY2Vzc29yKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21BY2Nlc3Nvci5vcGFxdWU7
IH0KIAogcHJpdmF0ZToKLSAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwg
QWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3Bl
cnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKTsKKyAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3ND
YXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSos
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hw
b2ludFNldCogYWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVu
aXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+KTsKIAogICAgIEdldHRlclNldHRlckFjY2Vz
c0Nhc2UoY29uc3QgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSYpOwogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludGVybmFsRnVu
Y3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDggKzQ2LDExIEBAIHByaXZhdGU6CiBpbmxpbmUgU3RydWN0
dXJlKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGU6OmNyZWF0ZUFsbG9jYXRpb25T
dHJ1Y3R1cmVGcm9tQmFzZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
Q2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIFN0cnVjdHVyZSogYmFzZVN0cnVjdHVy
ZSkKIHsKICAgICBBU1NFUlQoIW1fc3RydWN0dXJlIHx8IG1fc3RydWN0dXJlLmdldCgpLT5jbGFz
c0luZm8oKSAhPSBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSk7CisgICAgQVNTRVJUKGJhc2VT
dHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlOwor
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcyBmb3Igc3ViY2xh
c3NlcyBvZiBidWlsdGluIHR5cGVzOgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICBpZiAocHJvdG90eXBlID09IGJhc2VTdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZSgpKQogICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNlU3RydWN0dXJlOwog
ICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjgwMSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3ND
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIEpTQyB7
CiAKIEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OkludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uo
Vk0mIHZtLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0
LCBKU0Z1bmN0aW9uKiBpbnRyaW5zaWNGdW5jdGlvbikKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBJ
bnRyaW5zaWNHZXR0ZXIsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCisgICAgOiBC
YXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBudWxscHRyKQogewogICAgIG1faW50cmluc2ljRnVuY3Rpb24uc2V0KHZtLCBvd25l
ciwgaW50cmluc2ljRnVuY3Rpb24pOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5oCShyZXZp
c2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2lj
R2V0dGVyQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw4IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgYm9vbCBjYW5FbWl0SW50cmluc2ljR2V0dGVyKEpTRnVuY3Rpb24qLCBT
dHJ1Y3R1cmUqKTsKICAgICB2b2lkIGVtaXRJbnRyaW5zaWNHZXR0ZXIoQWNjZXNzR2VuZXJhdGlv
blN0YXRlJik7CiAKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHdvcmsgd2l0aCBwb2x5IHByb3Rv
OgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgK
ICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2Vs
bCosIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRp
dGlvblNldCYsIEpTRnVuY3Rpb24qIGludHJpbnNpY0Z1bmN0aW9uKTsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0IG92ZXJyaWRlOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3Bh
Y2VBY2Nlc3NDYXNlLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCw3ICszOCw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogTW9kdWxlTmFtZXNwYWNlQWNj
ZXNzQ2FzZTo6TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZShWTSYgdm0sIEpTQ2VsbCogb3duZXIs
IEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KiBtb2R1bGVOYW1lc3BhY2VPYmplY3QsIEpTTW9kdWxl
RW52aXJvbm1lbnQqIG1vZHVsZUVudmlyb25tZW50LCBTY29wZU9mZnNldCBzY29wZU9mZnNldCkK
LSAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1lc3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0
LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpKQorICAgIDogQmFzZSh2bSwg
b3duZXIsIE1vZHVsZU5hbWVzcGFjZUxvYWQsIGludmFsaWRPZmZzZXQsIG51bGxwdHIsIE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uU2V0KCksIG51bGxwdHIpCiAgICAgLCBtX3Njb3BlT2Zmc2V0KHNj
b3BlT2Zmc2V0KQogewogICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0LnNldCh2bSwgb3duZXIs
IG1vZHVsZU5hbWVzcGFjZU9iamVjdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRp
b25Qcm9maWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaCIKKworI2luY2x1ZGUgIkpTRnVu
Y3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlND
IHsKKwordm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZVByb2ZpbGUoVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVj
dCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9u
KiBjb25zdHJ1Y3RvcikKK3sKKyAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKKyAgICBBU1NFUlQo
IW1fc3RydWN0dXJlKTsKKyAgICBBU1NFUlQoIW1faW5saW5lQ2FwYWNpdHkpOworCisgICAgLy8g
RklYTUU6IFdoZW4gZ29pbmcgcG9seSBwcm90bywgd2Ugc2hvdWxkIG1ha2UgYW4gYWxsb2NhdG9y
IGFuZCB0ZWFjaAorICAgIC8vIGNyZWF0ZV90aGlzJyBmYXN0IHBhdGggaG93IHRvIGFsbG9jYXRl
IGEgcG9seSBwcm90byBvYmplY3QuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NzUxNworICAgIGJvb2wgaXNQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBG
dW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBudWxscHRyOworICAgIGlmIChjb25zdHJ1
Y3RvcikgeworICAgICAgICAvLyBGSVhNRTogQSBKU0Z1bmN0aW9uIHNob3VsZCB3YXRjaCB0aGUg
cG9seSBwcm90byB3YXRjaHBvaW50IGlmIGl0IGlzIG5vdCBpbnZhbGlkYXRlZC4KKyAgICAgICAg
Ly8gVGhhdCB3YXkgaXQgY2FuIGNsZWFyIHRoaXMgb2JqZWN0IGFsbG9jYXRpb24gcHJvZmlsZSB0
byBlbnN1cmUgaXQgc3RvcHMgYWxsb2NhdGluZworICAgICAgICAvLyBtb25vIHByb3RvIHx0aGlz
fCB2YWx1ZXMgd2hlbiBpdCBrbm93cyB0aGF0IGl0IHNob3VsZCBiZSBhbGxvY2F0aW5nIHBvbHkg
cHJvdG8KKyAgICAgICAgLy8gfHRoaXN8IHZhbHVlczoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc5MgorCisgICAgICAgIGV4ZWN1dGFibGUg
PSBjb25zdHJ1Y3Rvci0+anNFeGVjdXRhYmxlKCk7CisgICAgICAgIGlzUG9seVByb3RvID0gZmFs
c2U7CisgICAgICAgIGlmIChPcHRpb25zOjpmb3JjZVBvbHlQcm90bygpKQorICAgICAgICAgICAg
aXNQb2x5UHJvdG8gPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpc1BvbHlQcm90
byA9IGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKS5oYXNCZWVuSW52YWxp
ZGF0ZWQoKSAmJiBleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxp
ZGF0ZWQoKTsKKworICAgICAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgIGlmIChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGV4ZWN1dGFibGUtPmNhY2hlZFBvbHlQcm90b1N0cnVjdHVy
ZSgpKSB7CisgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT50eXBlSW5m
bygpLnR5cGUoKSA9PSBGaW5hbE9iamVjdFR5cGUpOworICAgICAgICAgICAgICAgIG1fYWxsb2Nh
dG9yID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVy
LCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAgIG1faW5saW5lQ2FwYWNpdHkgPSBzdHJ1Y3R1
cmUtPmlubGluZUNhcGFjaXR5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSAw
OworICAgIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5IDwgSlNGaW5hbE9iamVjdDo6ZGVmYXVs
dElubGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0aGUgb2JqZWN0
IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KKyAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KHZtLCBwcm90b3R5cGUpOworCisgICAg
ICAgIGlmICghaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSkgeworICAgICAgICAgICAgLy8gRW1wdHkg
b2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhlIHN0YXRpYyBhbmFseXplciBqdXN0
IGRpZG4ndAorICAgICAgICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9u
LiBUaGlzIGNhbiBoYXBwZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgorICAgICAgICAgICAgaW5m
ZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0
eSgpOworICAgICAgICB9IGVsc2UgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFs
T2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgeworICAgICAgICAgICAgLy8gRGVmYXVs
dCBwcm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVy
biBhIHNtYWxsCisgICAgICAgICAgICAvLyBvYmplY3QgaW50byBhIGxhcmdlIG9iamVjdC4KKyAg
ICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0
SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfQorCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0g
aW5mZXJyZWRJbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgLy8gTm9ybWFsIG9yIGxhcmdlIG9iamVjdC4KKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBp
bmZlcnJlZElubGluZUNhcGFjaXR5OworICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0Zp
bmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKQorICAgICAgICAgICAgaW5saW5lQ2FwYWNp
dHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOworICAgIH0KKworICAgIGlm
IChpc1BvbHlQcm90bykgeworICAgICAgICArK2lubGluZUNhcGFjaXR5OworICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IHN0ZDo6bWluKGlubGluZUNhcGFjaXR5LCBKU0ZpbmFsT2JqZWN0OjptYXhJ
bmxpbmVDYXBhY2l0eSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAw
KTsKKyAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5l
Q2FwYWNpdHkoKSk7CisKKyAgICBzaXplX3QgYWxsb2NhdGlvblNpemUgPSBKU0ZpbmFsT2JqZWN0
OjphbGxvY2F0aW9uU2l6ZShpbmxpbmVDYXBhY2l0eSk7CisgICAgTWFya2VkQWxsb2NhdG9yKiBh
bGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXplKTsKKwor
ICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBjYXBhY2l0eSBhdmFpbGFibGUg
aW4gdGhlIHNpemUgY2xhc3MuCisgICAgaWYgKGFsbG9jYXRvcikgeworICAgICAgICBzaXplX3Qg
c2xvcCA9IChhbGxvY2F0b3ItPmNlbGxTaXplKCkgLSBhbGxvY2F0aW9uU2l6ZSkgLyBzaXplb2Yo
V3JpdGVCYXJyaWVyPFVua25vd24+KTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsK
KyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2Fw
YWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6bWF4
SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHZt
LnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGlzUG9seVByb3RvKTsKKworICAgIGlmIChp
c1BvbHlQcm90bykgeworICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7
CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKKyAgICAgICAgZXhlY3V0YWJsZS0+c2V0
Q2FjaGVkUG9seVByb3RvU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlmIChleGVjdXRhYmxlKSB7CisgICAgICAgICAgICBleGVjdXRhYmxlLT5lbnN1cmVQ
b2x5UHJvdG9XYXRjaHBvaW50KCk7CisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmVuc3VyZVJhcmVE
YXRhKHZtKS0+c2V0U2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludChleGVjdXRhYmxlLT5zaGFyZWRQ
b2x5UHJvdG9XYXRjaHBvaW50KCkpOworICAgICAgICB9CisKKyAgICAgICAgbV9hbGxvY2F0b3Ig
PSBhbGxvY2F0b3I7CisgICAgfQorCisgICAgLy8gRW5zdXJlIHRoYXQgaWYgYW5vdGhlciB0aHJl
YWQgc2VlcyB0aGUgc3RydWN0dXJlLCBpdCB3aWxsIHNlZSBpdCBwcm9wZXJseSBjcmVhdGVkCisg
ICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKKworICAgIG1fc3RydWN0dXJlLnNldCh2bSwgb3du
ZXIsIHN0cnVjdHVyZSk7CisgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5Owor
fQorCit1bnNpZ25lZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6cG9zc2libGVEZWZhdWx0UHJv
cGVydHlDb3VudChWTSYgdm0sIEpTT2JqZWN0KiBwcm90b3R5cGUpCit7CisgICAgaWYgKHByb3Rv
dHlwZSA9PSBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICBzaXplX3QgY291bnQgPSAwOworICAgIFByb3BlcnR5TmFt
ZUFycmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0Fu
ZFN5bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKKyAgICBwcm90b3R5cGUtPnN0
cnVjdHVyZSgpLT5nZXRQcm9wZXJ0eU5hbWVzRnJvbVN0cnVjdHVyZSh2bSwgcHJvcGVydHlOYW1l
QXJyYXksIEVudW1lcmF0aW9uTW9kZSgpKTsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlBy
b3BlcnR5TmFtZVZlY3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXku
ZGF0YSgpLT5wcm9wZXJ0eU5hbWVWZWN0b3IoKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgeworICAgICAgICBKU1ZhbHVlIHZhbHVl
ID0gcHJvdG90eXBlLT5nZXREaXJlY3Qodm0sIHByb3BlcnR5TmFtZVZlY3RvcltpXSk7CisKKyAg
ICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZl
bCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgorICAgICAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgICsrY291bnQ7CisKKyAgICB9CisgICAgcmV0dXJuIGNvdW50OworfQorCit9IC8vIG5h
bWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDgsNTkgKzQ4LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc051
bGwoKSB7IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6ZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0
KiBwcm90b3R5cGUsIHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHkpCi0gICAgewotICAg
ICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKLSAgICAgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7
Ci0gICAgICAgIEFTU0VSVCghbV9pbmxpbmVDYXBhY2l0eSk7Ci0KLSAgICAgICAgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkgPSAwOwotICAgICAgICBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA8
IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAv
LyBUcnkgdG8gc2hyaW5rIHRoZSBvYmplY3QgYmFzZWQgb24gc3RhdGljIGFuYWx5c2lzLgotICAg
ICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSArPSBwb3NzaWJsZURlZmF1bHRQcm9wZXJ0
eUNvdW50KHZtLCBwcm90b3R5cGUpOwotCi0gICAgICAgICAgICBpZiAoIWluZmVycmVkSW5saW5l
Q2FwYWNpdHkpIHsKLSAgICAgICAgICAgICAgICAvLyBFbXB0eSBvYmplY3RzIGFyZSByYXJlLCBz
byBtb3N0IGxpa2VseSB0aGUgc3RhdGljIGFuYWx5emVyIGp1c3QgZGlkbid0Ci0gICAgICAgICAg
ICAgICAgLy8gc2VlIHRoZSByZWFsIGluaXRpYWxpemVyIGZ1bmN0aW9uLiBUaGlzIGNhbiBoYXBw
ZW4gd2l0aCBoZWxwZXIgZnVuY3Rpb25zLgotICAgICAgICAgICAgICAgIGluZmVycmVkSW5saW5l
Q2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAg
ICAgICAgIH0gZWxzZSBpZiAoaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6
OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBw
cm9wZXJ0aWVzIGFyZSB3ZWFrIGd1ZXNzZXMsIHNvIGRvbid0IGFsbG93IHRoZW0gdG8gdHVybiBh
IHNtYWxsCi0gICAgICAgICAgICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCi0g
ICAgICAgICAgICAgICAgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6OmRl
ZmF1bHRJbmxpbmVDYXBhY2l0eSgpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpbmxp
bmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAgICAgICAgICBBU1NFUlQo
aW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpKTsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE5vcm1hbCBvciBsYXJnZSBvYmplY3QuCi0g
ICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2FwYWNpdHk7Ci0gICAg
ICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBh
Y2l0eSgpKQotICAgICAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6
bWF4SW5saW5lQ2FwYWNpdHkoKTsKLSAgICAgICAgfQotCi0gICAgICAgIEFTU0VSVChpbmxpbmVD
YXBhY2l0eSA+IDApOwotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPD0gSlNGaW5hbE9i
amVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0KLSAgICAgICAgc2l6ZV90IGFsbG9jYXRpb25T
aXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUoaW5saW5lQ2FwYWNpdHkpOwotICAg
ICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtLmNlbGxTcGFjZS5hbGxvY2F0b3JG
b3IoYWxsb2NhdGlvblNpemUpOwotICAgICAgICAKLSAgICAgICAgLy8gVGFrZSBhZHZhbnRhZ2Ug
b2YgZXh0cmEgaW5saW5lIGNhcGFjaXR5IGF2YWlsYWJsZSBpbiB0aGUgc2l6ZSBjbGFzcy4KLSAg
ICAgICAgaWYgKGFsbG9jYXRvcikgewotICAgICAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2Nh
dG9yLT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxV
bmtub3duPik7Ci0gICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSArPSBzbG9wOwotICAgICAgICAg
ICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHko
KSkKLSAgICAgICAgICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElu
bGluZUNhcGFjaXR5KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHZtLnByb3RvdHlwZU1hcC5lbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIC8vIEVuc3Vy
ZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVjdHVyZSwgaXQgd2lsbCBzZWUg
aXQgcHJvcGVybHkgY3JlYXRlZAotICAgICAgICBXVEY6OnN0b3JlU3RvcmVGZW5jZSgpOwotCi0g
ICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwotICAgICAgICBtX3N0cnVjdHVyZS5zZXQo
dm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwotICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gaW5saW5l
Q2FwYWNpdHk7Ci0gICAgfQorICAgIHZvaWQgaW5pdGlhbGl6ZVByb2ZpbGUoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVuc2lnbmVkIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0gbnVsbHB0cik7
CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSgpCiAgICAgewpAQCAtMTEzLDcgKzYxLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpCiAgICAgewotICAgICAgICBtX2FsbG9jYXRvciA9
IDA7CisgICAgICAgIG1fYWxsb2NhdG9yID0gbnVsbHB0cjsKICAgICAgICAgbV9zdHJ1Y3R1cmUu
Y2xlYXIoKTsKICAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IDA7CiAgICAgICAgIEFTU0VSVChp
c051bGwoKSk7CkBAIC0xMjUsMjggKzczLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToK
LQotICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZtLCBKU09i
amVjdCogcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgaWYgKHByb3RvdHlwZSA9PSBwcm90b3R5
cGUtPmdsb2JhbE9iamVjdCgpLT5vYmplY3RQcm90b3R5cGUoKSkKLSAgICAgICAgICAgIHJldHVy
biAwOwotCi0gICAgICAgIHNpemVfdCBjb3VudCA9IDA7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFy
cmF5IHByb3BlcnR5TmFtZUFycmF5KCZ2bSwgUHJvcGVydHlOYW1lTW9kZTo6U3RyaW5nc0FuZFN5
bWJvbHMsIFByaXZhdGVTeW1ib2xNb2RlOjpJbmNsdWRlKTsKLSAgICAgICAgcHJvdG90eXBlLT5z
dHJ1Y3R1cmUoKS0+Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFt
ZUFycmF5LCBFbnVtZXJhdGlvbk1vZGUoKSk7Ci0gICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0
YTo6UHJvcGVydHlOYW1lVmVjdG9yJiBwcm9wZXJ0eU5hbWVWZWN0b3IgPSBwcm9wZXJ0eU5hbWVB
cnJheS5kYXRhKCktPnByb3BlcnR5TmFtZVZlY3RvcigpOwotICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHByb3BlcnR5TmFtZVZlY3Rvci5zaXplKCk7ICsraSkgewotICAgICAgICAgICAg
SlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0
b3JbaV0pOwotCi0gICAgICAgICAgICAvLyBGdW5jdGlvbnMgYXJlIGNvbW1vbiwgYW5kIGFyZSB1
c3VhbGx5IGNsYXNzLWxldmVsIG9iamVjdHMgdGhhdCBhcmUgbm90IG92ZXJyaWRkZW4uCi0gICAg
ICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4odm0sIHZhbHVlKSkKLSAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgKytjb3VudDsKLQotICAgICAgICB9
Ci0gICAgICAgIHJldHVybiBjb3VudDsKLSAgICB9CisgICAgdW5zaWduZWQgcG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudChWTSYsIEpTT2JqZWN0KiBwcm90b3R5cGUpOwogCiAgICAgTWFya2Vk
QWxsb2NhdG9yKiBtX2FsbG9jYXRvcjsgLy8gUHJlY29tcHV0ZWQgdG8gbWFrZSB0aGluZ3MgZWFz
aWVyIGZvciBnZW5lcmF0ZWQgY29kZS4KICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3N0
cnVjdHVyZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmNwcAkocmV2aXNpb24gMjIyODAx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdFByb3BlcnR5Q29uZGl0
aW9uU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA0LDExICsyMDQsMTUgQEAgT2JqZWN0UHJv
cGVydHlDb25kaXRpb24gZ2VuZXJhdGVDb25kaXRpbwogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgY2FzZSBQcm9wZXJ0eUNvbmRpdGlvbjo6QWJzZW5jZTogeworICAgICAgICBpZiAoc3RydWN0
dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbjo6YWJz
ZW5jZSgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+c3RydWN0
dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgIGNhc2UgUHJvcGVydHlDb25kaXRpb246OkFic2VuY2VPZlNldEVmZmVjdDogeworICAgICAg
ICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJldHVybiBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvbigpOwogICAgICAgICByZXN1bHQgPSBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvbjo6YWJzZW5jZU9mU2V0RWZmZWN0KAogICAgICAgICAgICAgdm0sIG93bmVyLCBvYmpl
Y3QsIHVpZCwgb2JqZWN0LT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpOwog
ICAgICAgICBicmVhazsKQEAgLTI1OCw2ICsyNjIsMTUgQEAgT2JqZWN0UHJvcGVydHlDb25kaXRp
b25TZXQgZ2VuZXJhdGVDb25kaQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkl0J3MgYSBwcm94
eSwgc28gaW52YWxpZC5cbiIpOwogICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0OjppbnZhbGlkKCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoc3RydWN0dXJl
LT5oYXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEludGVncmF0ZSB0aGlz
IHdpdGggUG9seVByb3RvQWNjZXNzQ2hhaW46CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICAvLyBPciBhdCBs
ZWFzdCBhbGxvdyBPUEMgc2V0IGdlbmVyYXRpb24gd2hlbiB0aGUKKyAgICAgICAgICAgIC8vIGJh
c2UgaXMgbm90IHBvbHkgcHJvdG86CisgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NzIxCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJv
cGVydHlDb25kaXRpb25TZXQ6OmludmFsaWQoKTsKKyAgICAgICAgfQogICAgICAgICAKICAgICAg
ICAgSlNWYWx1ZSB2YWx1ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9i
amVjdCk7CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Bv
bHlQcm90b0FjY2Vzc0NoYWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCShub25leGlzdGVudCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFpbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBvbHlQ
cm90b0FjY2Vzc0NoYWluLmgiCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2Ug
SlNDIHsKKworc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBQb2x5UHJvdG9B
Y2Nlc3NDaGFpbjo6Y3JlYXRlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQ2VsbCog
YmFzZSwgY29uc3QgUHJvcGVydHlTbG90JiBzbG90LCBib29sJiB1c2VzUG9seVByb3RvKQorewor
ICAgIEpTT2JqZWN0KiB0YXJnZXQgPSBzbG90LmlzVW5zZXQoKSA/IG51bGxwdHIgOiBzbG90LnNs
b3RCYXNlKCk7CisgICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3QsIGJhc2UsIHRhcmdldCwg
dXNlc1BvbHlQcm90byk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFp
bj4gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU0NlbGwqIGJhc2UsIEpTT2JqZWN0KiB0YXJnZXQsIGJvb2wmIHVzZXNQb2x5UHJvdG8p
Cit7CisgICAgSlNDZWxsKiBjdXJyZW50ID0gYmFzZTsKKyAgICBWTSYgdm0gPSAqYmFzZS0+dm0o
KTsKKworICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKworICAgIHVzZXNQb2x5UHJvdG8gPSBmYWxz
ZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gcmVzdWx0KG5l
dyBQb2x5UHJvdG9BY2Nlc3NDaGFpbigpKTsKKworICAgIGZvciAodW5zaWduZWQgaXRlcmF0aW9u
TnVtYmVyID0gMDsgdHJ1ZTsgKytpdGVyYXRpb25OdW1iZXIpIHsKKyAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgIGlmICghc3Ry
dWN0dXJlLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc1Byb3h5KCkpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICBpZiAoc3RydWN0dXJlLT5pc0RpY3Rpb25h
cnkoKSkgeworICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisgICAg
ICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRl
bkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQpKTsKKyAgICAgICAgfQor
CisgICAgICAgIC8vIFRvIHNhdmUgbWVtb3J5LCB3ZSBkb24ndCBpbmNsdWRlIHRoZSBiYXNlIGlu
IHRoZSBjaGFpbi4gV2UgbGV0CisgICAgICAgIC8vIEFjY2Vzc0Nhc2UgcHJvdmlkZSB0aGUgYmFz
ZSB0byB1cyBhcyBuZWVkZWQuCisgICAgICAgIGlmIChpdGVyYXRpb25OdW1iZXIpCisgICAgICAg
ICAgICByZXN1bHQtPm1fY2hhaW4uYXBwZW5kKHN0cnVjdHVyZSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnQgPT0gYmFzZSk7CisKKyAgICAgICAgaWYg
KGN1cnJlbnQgPT0gdGFyZ2V0KSB7CisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwb2x5IHBy
b3RvIGlmIHdlIG5lZWQgdG8gYWNjZXNzIG91ciBwcm90b3R5cGUgdmlhCisgICAgICAgIC8vIHRo
ZSBwb2x5IHByb3RvIHByb3RvY29sLiBJZiB0aGUgc2xvdCBiYXNlIGlzIHRoZSBvbmx5IHBvbHkg
cHJvdG8KKyAgICAgICAgLy8gdGhpbmcgaW4gdGhlIGNoYWluLCBhbmQgd2UgaGF2ZSBhIGNhY2hl
IGhpdCBvbiBpdCwgdGhlbiB3ZSdyZSBub3QKKyAgICAgICAgLy8gcG9seSBwcm90by4KKyAgICAg
ICAgdXNlc1BvbHlQcm90byB8PSBzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpOworCisgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFs
T2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAg
ICB9CisKKyAgICBpZiAoIWZvdW5kICYmICEhdGFyZ2V0KQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Jvb2wgUG9seVByb3RvQWNjZXNzQ2hhaW46
Om5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSBjb25zdAoreworICAgIGZvciAoU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgOiBtX2NoYWluKSB7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPm5lZWRJ
bXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUG9seVByb3RvQWNjZXNzQ2hhaW46Om9w
ZXJhdG9yPT0oY29uc3QgUG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAoreworICAg
IHJldHVybiBtX2NoYWluID09IG90aGVyLm1fY2hhaW47Cit9CisKK3ZvaWQgUG9seVByb3RvQWNj
ZXNzQ2hhaW46OmR1bXAoU3RydWN0dXJlKiBiYXNlU3RydWN0dXJlLCBQcmludFN0cmVhbSYgb3V0
KSBjb25zdAoreworICAgIG91dC5wcmludCgiUG9seVBvbHlQcm90b0FjY2Vzc0NoYWluOiBbXG4i
KTsKKyAgICBmb3JFYWNoKGJhc2VTdHJ1Y3R1cmUsIFsmXSAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IGJvb2wpIHsKKyAgICAgICAgb3V0LnByaW50KCJcdCIpOworICAgICAgICBzdHJ1Y3R1cmUtPmR1
bXAob3V0KTsKKyAgICAgICAgb3V0LnByaW50KCJcbiIpOworICAgIH0pOworfQorCit9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seVByb3RvQWNj
ZXNzQ2hhaW4uaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDgzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNwcmFnbWEg
b25jZQorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSlNDIHsKKworY2xh
c3MgSlNHbG9iYWxPYmplY3Q7CitjbGFzcyBKU09iamVjdDsKK2NsYXNzIFByb3BlcnR5U2xvdDsK
K2NsYXNzIFN0cnVjdHVyZTsKKworY2xhc3MgUG9seVByb3RvQWNjZXNzQ2hhaW4geworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6CisgICAgUG9seVByb3RvQWNjZXNzQ2hh
aW4oUG9seVByb3RvQWNjZXNzQ2hhaW4mKSA9IGRlZmF1bHQ7CisKKyAgICAvLyBSZXR1cm5zIG51
bGxwdHIgd2hlbiBpbnZhbGlkLgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3Rv
QWNjZXNzQ2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSwgY29uc3Qg
UHJvcGVydHlTbG90JiwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gY3JlYXRlKEpTR2xvYmFsT2JqZWN0KiwgSlND
ZWxsKiBiYXNlLCBKU09iamVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKTsKKworICAg
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gY2xvbmUoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UG9seVByb3RvQWNjZXNzQ2hhaW4+KCp0aGlz
KTsKKyAgICB9CisKKyAgICBjb25zdCBWZWN0b3I8U3RydWN0dXJlKj4mIGNoYWluKCkgY29uc3Qg
eyByZXR1cm4gbV9jaGFpbjsgfQorCisgICAgdm9pZCBkdW1wKFN0cnVjdHVyZSogYmFzZVN0cnVj
dHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29u
c3QgUG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdDsKKyAgICBib29sIG9wZXJhdG9y
IT0oY29uc3QgUG9seVByb3RvQWNjZXNzQ2hhaW4mIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOworICAgIH0KKworICAgIGJvb2wgbmVlZEltcHVy
ZVByb3BlcnR5V2F0Y2hwb2ludCgpIGNvbnN0OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1
bmM+CisgICAgdm9pZCBmb3JFYWNoKFN0cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgY29uc3QgRnVu
YyYgZnVuYykgY29uc3QKKyAgICB7CisgICAgICAgIGJvb2wgYXRFbmQgPSAhbV9jaGFpbi5zaXpl
KCk7CisgICAgICAgIGZ1bmMoYmFzZVN0cnVjdHVyZSwgYXRFbmQpOworICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgbV9jaGFpbi5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgYXRF
bmQgPSBpICsgMSA9PSBtX2NoYWluLnNpemUoKTsKKyAgICAgICAgICAgIGZ1bmMobV9jaGFpbltp
XSwgYXRFbmQpOworICAgICAgICB9CisgICAgfQorCitwcml2YXRlOgorICAgIFBvbHlQcm90b0Fj
Y2Vzc0NoYWluKCkgPSBkZWZhdWx0OworCisgICAgLy8gVGhpcyBkb2VzIG5vdCBpbmNsdWRlIHRo
ZSBiYXNlLiBXZSByZWx5IG9uIEFjY2Vzc0Nhc2UgcHJvdmlkaW5nIGl0IGZvciB1cy4gVGhhdCBz
YWlkLCB0aGlzIGRhdGEKKyAgICAvLyBzdHJ1Y3R1cmUgaXMgdGllZCB0byB0aGUgYmFzZSB0aGF0
IGl0IHdhcyBjcmVhdGVkIHdpdGguCisgICAgVmVjdG9yPFN0cnVjdHVyZSo+IG1fY2hhaW47IAor
fTsKKworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGlj
QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
UG9seW1vcnBoaWNBY2Nlc3MuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTgsNiArMjU4LDQxIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgUG9seW1vcnBoaWNBY2Nl
c3MKICAgICBpZiAoY2FzZXNUb0FkZC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBBY2Nlc3NH
ZW5lcmF0aW9uUmVzdWx0OjpNYWRlTm9DaGFuZ2VzOwogCisgICAgYm9vbCBzaG91bGRSZXNldCA9
IGZhbHNlOworICAgIGF1dG8gY29uc2lkZXJQb2x5UHJvdG9SZXNldCA9IFsmXSAoU3RydWN0dXJl
KiBhLCBTdHJ1Y3R1cmUqIGIpIHsKKyAgICAgICAgaWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVy
dFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAgICAgICAvLyBGb3Igbm93LCB3ZSBvbmx5IHJl
c2V0IGlmIHRoaXMgaXMgb3VyIGZpcnN0IHRpbWUgaW52YWxpZGF0aW5nIHRoaXMgd2F0Y2hwb2lu
dC4KKyAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgaGF2ZSBhbGwgdGhh
dCBjYW4gd2F0Y2ggZm9yIHRoZSBwb2x5IHByb3RvCisgICAgICAgICAgICAvLyB3YXRjaHBvaW50
IGRvIGl0LiBUaGlzIHdpbGwgYWxsb3cgc3R1YnMgdG8gY2xlYXIgb3V0IHRoZWlyIG5vbi1wb2x5
LXByb3RvCisgICAgICAgICAgICAvLyBJQyBjYXNlcy4gVGhpcyBpcyBsaWtlbHkgdG8gYmUgZmFz
dGVyIGlmIHlvdSBidWlsZCB1cCBhIGJ1bmNoIG9mIElDcywgdGhlbgorICAgICAgICAgICAgLy8g
dHJpZ2dlciBwb2x5IHByb3RvLCB0aGVuIG9ubHkgYWNjZXNzIHBvbHkgcHJvdG8gb2JqZWN0cy4g
SWYgd2UgZG8gdGhpcywgd2UnbGwKKyAgICAgICAgICAgIC8vIG5lZWQgdGhpcyBjb2RlIGJlbG93
IHRvIGRlbGF5IGZpcmluZyB0aGUgd2F0Y2hwb2ludCBzaW5jZSBpdCBtaWdodCBjYXVzZQorICAg
ICAgICAgICAgLy8gdXMgdG8gZGVhbGxvY2F0ZSBvdXJzZWx2ZXM6CisgICAgICAgICAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NzY1CisgICAgICAgICAg
ICBBU1NFUlQoYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgp
ID09IGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQoKSk7Cisg
ICAgICAgICAgICBzaG91bGRSZXNldCB8PSBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50KCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpOyAKKyAgICAgICAgICAgIGEtPnJhcmVE
YXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5n
RmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHRpbWl6YXRpb24gb3Bwb3J0dW5pdHku
IikpOworICAgICAgICB9CisgICAgfTsKKworICAgIGZvciAoYXV0byYgY2FzZVRvQWRkIDogY2Fz
ZXNUb0FkZCkgeworICAgICAgICBmb3IgKGF1dG8mIGV4aXN0aW5nQ2FzZSA6IG1fbGlzdCkgewor
ICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gY2FzZVRvQWRkLT5zdHJ1Y3R1cmUoKTsKKyAgICAg
ICAgICAgIFN0cnVjdHVyZSogYiA9IGV4aXN0aW5nQ2FzZS0+c3RydWN0dXJlKCk7CisgICAgICAg
ICAgICBjb25zaWRlclBvbHlQcm90b1Jlc2V0KGEsIGIpOworICAgICAgICB9CisgICAgfQorICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBjYXNlc1RvQWRkLnNpemUoKTsgKytpKSB7CisgICAg
ICAgIGZvciAodW5zaWduZWQgaiA9IGkgKyAxOyBqIDwgY2FzZXNUb0FkZC5zaXplKCk7ICsraikg
eworICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gY2FzZXNUb0FkZFtpXS0+c3RydWN0dXJlKCk7
CisgICAgICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBjYXNlc1RvQWRkW2pdLT5zdHJ1Y3R1cmUoKTsK
KyAgICAgICAgICAgIGNvbnNpZGVyUG9seVByb3RvUmVzZXQoYSwgYik7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBpZiAoc2hvdWxkUmVzZXQpCisgICAgICAgIHJldHVybiBBY2Nlc3NHZW5lcmF0
aW9uUmVzdWx0OjpSZXNldFN0dWI7CisKICAgICAvLyBOb3cgYWRkIHRoaW5ncyB0byB0aGUgbmV3
IGxpc3QuIE5vdGUgdGhhdCBhdCB0aGlzIHBvaW50LCB3ZSB3aWxsIHN0aWxsIGhhdmUgb2xkIGNh
c2VzIHRoYXQKICAgICAvLyBtYXkgYmUgcmVwbGFjZWQgYnkgdGhlIG5ldyBvbmVzLiBUaGF0J3Mg
ZmluZS4gV2Ugd2lsbCBzb3J0IHRoYXQgb3V0IHdoZW4gd2UgcmVnZW5lcmF0ZS4KICAgICBmb3Ig
KGF1dG8mIGNhc2VUb0FkZCA6IGNhc2VzVG9BZGQpIHsKQEAgLTMzOSw3ICszNzQsNyBAQCBBY2Nl
c3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKFBvbHltb3JwaGlj
QWNjZXNzSW50ZXJuYWw6OnZlcmJvc2UpCiAgICAgICAgIGRhdGFMb2coIlJlZ2VuZXJhdGUgd2l0
aCBtX2xpc3Q6ICIsIGxpc3REdW1wKG1fbGlzdCksICJcbiIpOwogICAgIAotICAgIEFjY2Vzc0dl
bmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSk7CisgICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlIHN0YXRl
KHZtLCBjb2RlQmxvY2stPmdsb2JhbE9iamVjdCgpKTsKIAogICAgIHN0YXRlLmFjY2VzcyA9IHRo
aXM7CiAgICAgc3RhdGUuc3R1YkluZm8gPSAmc3R1YkluZm87CkBAIC01OTAsNiArNjI1LDkgQEAg
dm9pZCBwcmludEludGVybmFsKFByaW50U3RyZWFtJiBvdXQsIEFjYwogICAgIGNhc2UgQWNjZXNz
R2VuZXJhdGlvblJlc3VsdDo6R2VuZXJhdGVkRmluYWxDb2RlOgogICAgICAgICBvdXQucHJpbnQo
IkdlbmVyYXRlZEZpbmFsQ29kZSIpOwogICAgICAgICByZXR1cm47CisgICAgY2FzZSBBY2Nlc3NH
ZW5lcmF0aW9uUmVzdWx0OjpSZXNldFN0dWI6CisgICAgICAgIG91dC5wcmludCgiUmVzZXRTdHVi
Iik7CisgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9y
cGhpY0FjY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qb2x5bW9ycGhpY0FjY2Vzcy5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAt
NTIsNyArNTIsOCBAQCBwdWJsaWM6CiAgICAgICAgIEdhdmVVcCwKICAgICAgICAgQnVmZmVyZWQs
CiAgICAgICAgIEdlbmVyYXRlZE5ld0NvZGUsCi0gICAgICAgIEdlbmVyYXRlZEZpbmFsQ29kZSAv
LyBHZW5lcmF0ZWQgc28gbXVjaCBjb2RlIHRoYXQgd2UgbmV2ZXIgd2FudCB0byBnZW5lcmF0ZSBj
b2RlIGFnYWluLgorICAgICAgICBHZW5lcmF0ZWRGaW5hbENvZGUsIC8vIEdlbmVyYXRlZCBzbyBt
dWNoIGNvZGUgdGhhdCB3ZSBuZXZlciB3YW50IHRvIGdlbmVyYXRlIGNvZGUgYWdhaW4uCisgICAg
ICAgIFJlc2V0U3R1YiAvLyBXZSBmb3VuZCBvdXQgc29tZSBkYXRhIHRoYXQgbWFrZXMgdXMgd2Fu
dCB0byBzdGFydCBvdmVyIGZyZXNoIHdpdGggdGhpcyBzdHViLiBDdXJyZW50bHksIHRoaXMgaGFw
cGVucyB3aGVuIHdlIGRldGVjdCBwb2x5IHByb3RvLgogICAgIH07CiAgICAgCiAgICAgQWNjZXNz
R2VuZXJhdGlvblJlc3VsdCgpCkBAIC05OCw2ICs5OSw3IEBAIHB1YmxpYzoKICAgICBib29sIGJ1
ZmZlcmVkKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IEJ1ZmZlcmVkOyB9CiAgICAgYm9vbCBn
ZW5lcmF0ZWROZXdDb2RlKCkgY29uc3QgeyByZXR1cm4gbV9raW5kID09IEdlbmVyYXRlZE5ld0Nv
ZGU7IH0KICAgICBib29sIGdlbmVyYXRlZEZpbmFsQ29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fa2lu
ZCA9PSBHZW5lcmF0ZWRGaW5hbENvZGU7IH0KKyAgICBib29sIHNob3VsZFJlc2V0U3R1YigpIGNv
bnN0IHsgcmV0dXJuIG1fa2luZCA9PSBSZXNldFN0dWI7IH0KICAgICAKICAgICAvLyBJZiB3ZSBn
YXZlIHVwIG9uIHRoaXMgYXR0ZW1wdCB0byBnZW5lcmF0ZSBjb2RlLCBvciBpZiB3ZSBnZW5lcmF0
ZWQgdGhlICJmaW5hbCIgY29kZSwgdGhlbiB3ZQogICAgIC8vIHNob3VsZCBnaXZlIHVwIGFmdGVy
IHRoaXMuCkBAIC0xNzEsMTQgKzE3MywxNiBAQCBwcml2YXRlOgogfTsKIAogc3RydWN0IEFjY2Vz
c0dlbmVyYXRpb25TdGF0ZSB7Ci0gICAgQWNjZXNzR2VuZXJhdGlvblN0YXRlKFZNJiB2bSkKKyAg
ICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQogICAgICAgICA6IG1fdm0odm0pIAorICAgICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2Jh
bE9iamVjdCkKICAgICAgICAgLCBtX2NhbGN1bGF0ZWRSZWdpc3RlcnNGb3JDYWxsQW5kRXhjZXB0
aW9uSGFuZGxpbmcoZmFsc2UpCiAgICAgICAgICwgbV9uZWVkc1RvUmVzdG9yZVJlZ2lzdGVyc0lm
RXhjZXB0aW9uKGZhbHNlKQogICAgICAgICAsIG1fY2FsY3VsYXRlZENhbGxTaXRlSW5kZXgoZmFs
c2UpCiAgICAgewogICAgIH0KICAgICBWTSYgbV92bTsKKyAgICBKU0dsb2JhbE9iamVjdCogbV9n
bG9iYWxPYmplY3Q7CiAgICAgQ0NhbGxIZWxwZXJzKiBqaXQgeyBudWxscHRyIH07CiAgICAgU2Ny
YXRjaFJlZ2lzdGVyQWxsb2NhdG9yKiBhbGxvY2F0b3I7CiAgICAgU2NyYXRjaFJlZ2lzdGVyQWxs
b2NhdG9yOjpQcmVzZXJ2ZWRTdGF0ZSBwcmVzZXJ2ZWRSZXVzZWRSZWdpc3RlclN0YXRlOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvcGVydHlDb25k
aXRpb24uY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJvcGVydHlDb25kaXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsMTQgKzEw
NywzMCBAQCBib29sIFByb3BlcnR5Q29uZGl0aW9uOjppc1N0aWxsVmFsaWRBc3N1CiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoc3RydWN0dXJlLT5o
YXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0
b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkgcHJvdmUgdGhpcyBpZgorICAgICAgICAg
ICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywgd2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3Jr
IHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8vIE9QQyBhbmQgcG9seSBwcm90by4KKyAg
ICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzcz
MzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCiAgICAgICAgIFByb3Bl
cnR5T2Zmc2V0IGN1cnJlbnRPZmZzZXQgPSBzdHJ1Y3R1cmUtPmdldENvbmN1cnJlbnRseSh1aWQo
KSk7CiAgICAgICAgIGlmIChjdXJyZW50T2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKICAgICAg
ICAgICAgIGlmIChQcm9wZXJ0eUNvbmRpdGlvbkludGVybmFsOjp2ZXJib3NlKQogICAgICAgICAg
ICAgICAgIGRhdGFMb2coIkludmFsaWQgYmVjYXVzZSB0aGUgcHJvcGVydHkgZXhpc3RzIGF0IG9m
ZnNldDogIiwgY3VycmVudE9mZnNldCwgIlxuIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpICE9IHByb3RvdHlwZSgpKSB7CisKKyAgICAgICAgSlNPYmplY3QqIGN1cnJl
bnRQcm90b3R5cGU7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKQorICAg
ICAgICAgICAgY3VycmVudFByb3RvdHlwZSA9IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2Jq
ZWN0KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYmFzZSk7
CisgICAgICAgICAgICBjdXJyZW50UHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU09iamVjdCo+
KCpzdHJ1Y3R1cmUtPnZtKCksIGJhc2UtPmdldFByb3RvdHlwZURpcmVjdCgpKTsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChjdXJyZW50UHJvdG90eXBlICE9IHByb3RvdHlwZSgpKSB7CiAgICAg
ICAgICAgICBpZiAoUHJvcGVydHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkgewogICAgICAg
ICAgICAgICAgIGRhdGFMb2coCiAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIGJlY2F1c2Ug
dGhlIHByb3RvdHlwZSBpcyAiLCBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpLCAiIGV2ZW4g
dGhvdWdoICIKQEAgLTE0NSw2ICsxNjEsMTQgQEAgYm9vbCBQcm9wZXJ0eUNvbmRpdGlvbjo6aXNT
dGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQorCisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIGlzIHRvbyBjb25zZXJ2YXRpdmUu
IFdlIGNhbiBwcm9iYWJseSBwcm92ZSB0aGlzIGlmCisgICAgICAgICAgICAvLyB3ZSBoYXZlIHRo
ZSBiYXNlLiBBbnl3YXlzLCB3ZSBzaG91bGQgbWFrZSB0aGlzIHdvcmsgd2hlbiBpbnRlZ3JhdGlu
ZworICAgICAgICAgICAgLy8gT1BDIGFuZCBwb2x5IHByb3RvLgorICAgICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBwcm90b3R5cGUoKSkgewogICAgICAgICAgICAg
aWYgKFByb3BlcnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2UpIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5j
cHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Q
cm94eWFibGVBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsMTcgKzMwLDE4IEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCi1Qcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94eWFibGVBY2Nl
c3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlLCBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50
U2V0KiBhZGRpdGlvbmFsU2V0KQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQpCitQcm94eWFibGVBY2Nlc3NDYXNlOjpQcm94
eWFibGVBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSBhY2Nlc3NU
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAorICAgIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJv
dG9BY2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCisgICAgOiBCYXNlKHZtLCBvd25l
ciwgYWNjZXNzVHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShw
cm90b3R5cGVBY2Nlc3NDaGFpbikpCiAgICAgLCBtX3ZpYVByb3h5KHZpYVByb3h5KQogICAgICwg
bV9hZGRpdGlvbmFsU2V0KGFkZGl0aW9uYWxTZXQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPiBQcm94eWFibGVBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93
bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQpCitzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlND
ZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0
aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0LCBzdGQ6
OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQog
ewogICAgIEFTU0VSVCh0eXBlID09IExvYWQgfHwgdHlwZSA9PSBNaXNzIHx8IHR5cGUgPT0gR2V0
R2V0dGVyKTsKLSAgICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94
eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQpKTsKKyAgICByZXR1cm4gc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+KG5ldyBQcm94eWFibGVBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlw
ZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxT
ZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAKIFByb3h5YWJsZUFjY2Vz
c0Nhc2U6On5Qcm94eWFibGVBY2Nlc3NDYXNlKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIy
ODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nh
c2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMTMgKzMzLDEzIEBAIG5hbWVzcGFjZSBKU0Mgewog
CiBjbGFzcyBQcm94eWFibGVBY2Nlc3NDYXNlIDogcHVibGljIEFjY2Vzc0Nhc2UgewogcHVibGlj
OgotICAgIHR5cGVkZWYgQWNjZXNzQ2FzZSBCYXNlOworICAgIHVzaW5nIEJhc2UgPSBBY2Nlc3ND
YXNlOwogCiAgICAgYm9vbCB2aWFQcm94eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fdmlh
UHJveHk7IH0KICAgICBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9hZGRpdGlvbmFsU2V0LmdldCgpOyB9CiAKICAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNyZWF0ZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFBy
b3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYgPSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5
ID0gZmFsc2UsIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyKTsKKyAgICAg
ICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0ID0g
bnVsbHB0ciwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiA9IG51bGxwdHIp
OwogCiAgICAgdm9pZCBkdW1wSW1wbChQcmludFN0cmVhbSYsIENvbW1hUHJpbnRlciYpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjbG9uZSgpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgflByb3h5YWJsZUFjY2Vz
c0Nhc2UoKTsKIAogcHJvdGVjdGVkOgotICAgIFByb3h5YWJsZUFjY2Vzc0Nhc2UoVk0mLCBKU0Nl
bGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmLCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0KiBhZGRp
dGlvbmFsU2V0KTsKKyAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNz
VHlwZSwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwg
c3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPik7CiAKIHByaXZhdGU6CiAgICAg
Ym9vbCBtX3ZpYVByb3h5OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1
dEJ5SWRTdGF0dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9QdXRCeUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODQsNiArMTg0LDggQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwog
ICAgICAgICAgICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQoaSk7CiAgICAg
ICAgICAgICBpZiAoYWNjZXNzLnZpYVByb3h5KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIFB1
dEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7CisgICAgICAgICAgICBpZiAoYWNjZXNzLnVzZXNQ
b2x5UHJvdG8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhzbG93UGF0
aFN0YXRlKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgUHV0QnlJZFZhcmlhbnQgdmFyaWFu
dDsKICAgICAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVN0dWJJbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzEsNiArMTMxLDExIEBAIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQgU3RydWN0
dXJlU3R1YkluZm8KICAgICAgICAgaWYgKFN0cnVjdHVyZVN0dWJJbmZvSW50ZXJuYWw6OnZlcmJv
c2UpCiAgICAgICAgICAgICBkYXRhTG9nKCJIYWQgc3R1YiwgcmVzdWx0OiAiLCByZXN1bHQsICJc
biIpOwogCisgICAgICAgIGlmIChyZXN1bHQuc2hvdWxkUmVzZXRTdHViKCkpIHsKKyAgICAgICAg
ICAgIHJlc2V0KGNvZGVCbG9jayk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAg
ICB9CisKICAgICAgICAgaWYgKCFyZXN1bHQuYnVmZmVyZWQoKSkgewogICAgICAgICAgICAgYnVm
ZmVyZWRTdHJ1Y3R1cmVzLmNsZWFyKCk7CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAt
MTUyLDYgKzE1NywxMSBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFN0cnVjdHVyZVN0dWJJbmZv
CiAgICAgICAgIGlmIChTdHJ1Y3R1cmVTdHViSW5mb0ludGVybmFsOjp2ZXJib3NlKQogICAgICAg
ICAgICAgZGF0YUxvZygiQ3JlYXRlZCBzdHViLCByZXN1bHQ6ICIsIHJlc3VsdCwgIlxuIik7CiAK
KyAgICAgICAgaWYgKHJlc3VsdC5zaG91bGRSZXNldFN0dWIoKSkgeworICAgICAgICAgICAgcmVz
ZXQoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKwog
ICAgICAgICBpZiAoIXJlc3VsdC5idWZmZXJlZCgpKSB7CiAgICAgICAgICAgICBidWZmZXJlZFN0
cnVjdHVyZXMuY2xlYXIoKTsKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNp
b24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3NDQsNiArMzc0NCwxMSBAQCBOb2RlKiBCeXRlQ29k
ZVBhcnNlcjo6bG9hZCgKICAgICAgICAgICAgICAgICAvLyB0aGUgc3RydWN0dXJlcyBpbiB0aGUg
dmFyaWFudC5zdHJ1Y3R1cmVTZXQoKSBhZ3JlZSBvbiB0aGUgcHJvdG90eXBlIChpdCB3b3VsZCBi
ZQogICAgICAgICAgICAgICAgIC8vIGhpbGFyaW91c2x5IHJhcmUgaWYgdGhleSBkaWRuJ3QpLiBO
b3RlIHRoYXQgd2UgYXJlIHJlbHlpbmcgb24gc3RydWN0dXJlU2V0KCkgaGF2aW5nCiAgICAgICAg
ICAgICAgICAgLy8gYXQgbGVhc3Qgb25lIGVsZW1lbnQuIFRoYXQgd2lsbCBhbHdheXMgYmUgdHJ1
ZSBoZXJlIGJlY2F1c2Ugb2YgaG93IEdldEJ5SWRTdGF0dXMvUHV0QnlJZFN0YXR1cyB3b3JrLgor
CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IHJpZ2h0IG5vdywgaWYgd2UgaGF2ZSBhbiBPUENT
LCB3ZSBoYXZlIG1vbm8gcHJvdG8uIEhvd2V2ZXIsIHRoaXMgd2lsbAorICAgICAgICAgICAgICAg
IC8vIG5lZWQgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlIG9uY2Ugd2UgaGF2ZSBhIGh5YnJp
ZCBkYXRhIHN0cnVjdHVyZSBmb3IKKyAgICAgICAgICAgICAgICAvLyBwb2x5IHByb3RvOgorICAg
ICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzczMzkKICAgICAgICAgICAgICAgICBKU09iamVjdCogcHJvdG90eXBlID0gdmFyaWFudC5zdHJ1
Y3R1cmVTZXQoKVswXS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgICAgICAgICAgICAg
Ym9vbCBhbGxBZ3JlZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MTsgaSA8IHZhcmlhbnQuc3RydWN0dXJlU2V0KCkuc2l6ZSgpOyArK2kpIHsKQEAgLTQzNDEsMTIg
KzQzNDYsMTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAg
ICAgICAgICAgaWYgKGZ1bmN0aW9uKSB7CiAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFy
ZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24tPnJhcmVEYXRhKCkpIHsKICAgICAgICAgICAgICAg
ICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRp
b25TdHJ1Y3R1cmUoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUo
cmFyZURhdGEpOwotICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygp
LmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRv
IHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20s
IGNhbGxlZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5ld09iamVjdCwgT3BJ
bmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSkpKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGFscmVhZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJsZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8g
b2JqZWN0IGhlcmU6CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJv
ZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGNhbGxlZSBpcyBzdGlsbCBsaXZlIHVwIHRvIHRoaXMgcG9pbnQuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZCksIGFkZFRvR3JhcGgoTmV3T2JqZWN0LCBPcEluZm8obV9ncmFwaC5yZWdpc3RlclN0
cnVjdHVyZShzdHJ1Y3R1cmUpKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVh
ZHlFbWl0dGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc4
Nyw3ICsxNzg3LDggQEAgYm9vbCBHcmFwaDo6Y2FuRG9GYXN0U3ByZWFkKE5vZGUqIG5vZGUsIAog
ICAgIEFycmF5UHJvdG90eXBlKiBhcnJheVByb3RvdHlwZSA9IGdsb2JhbE9iamVjdEZvcihub2Rl
LT5jaGlsZDEoKS0+b3JpZ2luLnNlbWFudGljKS0+YXJyYXlQcm90b3R5cGUoKTsKICAgICBib29s
IGFsbEdvb2QgPSB0cnVlOwogICAgIHZhbHVlLm1fc3RydWN0dXJlLmZvckVhY2goWyZdIChSZWdp
c3RlcmVkU3RydWN0dXJlIHN0cnVjdHVyZSkgewotICAgICAgICBhbGxHb29kICY9IHN0cnVjdHVy
ZS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYXJyYXlQcm90b3R5cGUKKyAgICAgICAgYWxsR29vZCAm
PSBzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpCisgICAgICAgICAgICAmJiBzdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZSgpID09IGFycmF5UHJvdG90eXBlCiAgICAgICAgICAgICAmJiAhc3RydWN0
dXJlLT5pc0RpY3Rpb25hcnkoKQogICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5nZXRDb25jdXJy
ZW50bHkobV92bS5wcm9wZXJ0eU5hbWVzLT5pdGVyYXRvclN5bWJvbC5pbXBsKCkpID09IGludmFs
aWRPZmZzZXQKICAgICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlv
bnMuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDQsNyArMjQ0LDExIEBAIEpTQ2Vs
bCogSklUX09QRVJBVElPTiBvcGVyYXRpb25DcmVhdGVUaGkKICAgICBpZiAoY29uc3RydWN0b3It
PnR5cGUoKSA9PSBKU0Z1bmN0aW9uVHlwZSkgewogICAgICAgICBhdXRvIHJhcmVEYXRhID0ganND
YXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciktPnJhcmVEYXRhKGV4ZWMsIGlubGluZUNhcGFj
aXR5KTsKICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7Ci0gICAg
ICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCByYXJlRGF0YS0+b2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsK
KyAgICAgICAgSlNPYmplY3QqIHJlc3VsdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0
cnVjdHVyZSk7CisgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAg
ICAgICAgcmVzdWx0LT5wdXREaXJlY3Qodm0sIHN0cnVjdHVyZS0+cG9seVByb3RvT2Zmc2V0KCks
IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY29uc3RydWN0b3IpLT5wcm90b3R5cGVGb3JDb25zdHJ1Y3Rp
b24odm0sIGV4ZWMpKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKICAgICBKU1Zh
bHVlIHByb3RvID0gY29uc3RydWN0b3ItPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90
b3R5cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MjkyLDcg
KzQyOTIsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAg
ICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpa
ZXJvLCByYXJlRGF0YUdQUikpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpB
ZGRyZXNzKHJhcmVEYXRhR1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9j
YXRpb25Qcm9maWxlKCkgKyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZBbGxvY2F0
b3IoKSksIGFsbG9jYXRvckdQUik7CiAgICAgICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6
OkFkZHJlc3MocmFyZURhdGFHUFIsIEZ1bmN0aW9uUmFyZURhdGE6Om9mZnNldE9mT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUoKSArIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpvZmZzZXRPZlN0cnVj
dHVyZSgpKSwgc3RydWN0dXJlR1BSKTsKKwogICAgICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQu
YnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgYWxsb2NhdG9yR1BSKSk7CisKICAg
ICAgICAgZW1pdEFsbG9jYXRlSlNPYmplY3QocmVzdWx0R1BSLCBudWxscHRyLCBhbGxvY2F0b3JH
UFIsIHN0cnVjdHVyZUdQUiwgVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUiwgc2xvd1BhdGgp
OwogICAgICAgICAKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhj
YWxsZWVHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSksIHJhcmVEYXRhR1BSKTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
Y3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yQwogICAgIG5vUmVzdWx0KG5vZGUp
OwogfQogCi12b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChO
b2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcgc2NyYXRj
aFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKQordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUlu
c3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlw
ZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3JhdGNoMlJlZywgR1BSUmVnIHNjcmF0
Y2gzUmVnKQogewogICAgIC8vIENoZWNrIHRoYXQgcHJvdG90eXBlIGlzIGFuIG9iamVjdC4KICAg
ICBzcGVjdWxhdGlvbkNoZWNrKEJhZFR5cGUsIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5j
aElmTm90T2JqZWN0KHByb3RvdHlwZVJlZykpOwpAQCAtMzI0OSw4ICszMjQ5LDIzIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm8KICAgICBNYWNyb0Fzc2VtYmxlcjo6
TGFiZWwgbG9vcCgmbV9qaXQpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIHBlcmZvcm1EZWZh
dWx0SGFzSW5zdGFuY2UgPSBtX2ppdC5icmFuY2g4KE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaFJlZywgSlNDZWxsOjp0eXBlSW5m
b1R5cGVPZmZzZXQoKSksIFRydXN0ZWRJbW0zMihQcm94eU9iamVjdFR5cGUpKTsKLSAgICBtX2pp
dC5lbWl0TG9hZFN0cnVjdHVyZSgqbV9qaXQudm0oKSwgc2NyYXRjaFJlZywgc2NyYXRjaFJlZywg
c2NyYXRjaDJSZWcpOwotICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c2NyYXRjaFJlZywgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIENlbGxQYXlsb2FkT2Zm
c2V0KSwgc2NyYXRjaFJlZyk7CisgICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1cmUoKm1faml0LnZt
KCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2gzUmVnLCBzY3JhdGNoMlJlZyk7CisjaWYgVVNFKEpTVkFM
VUU2NCkKKyAgICBtX2ppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNS
ZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCBzY3JhdGNoM1JlZyk7CisgICAgYXV0
byBpc01vbm9Qcm90byA9IG1faml0LmJyYW5jaElmTm90SW50MzIoSlNWYWx1ZVJlZ3Moc2NyYXRj
aDNSZWcpKTsKKyAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihzY3JhdGNoM1JlZywgc2NyYXRj
aDNSZWcpOworICAgIG1faml0LmxvYWQ2NChKSVRDb21waWxlcjo6QmFzZUluZGV4KHNjcmF0Y2hS
ZWcsIHNjcmF0Y2gzUmVnLCBKSVRDb21waWxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNl
dE9mSW5saW5lU3RvcmFnZSgpKSwgc2NyYXRjaDNSZWcpOworICAgIGlzTW9ub1Byb3RvLmxpbmso
Jm1faml0KTsKKyAgICBtX2ppdC5tb3ZlKHNjcmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKyNlbHNl
CisgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBT
dHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpICsgVGFnT2Zmc2V0KSwgc2NyYXRjaDJSZWcpOwor
ICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3Ry
dWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoM1JlZyk7
CisgICAgYXV0byBpc01vbm9Qcm90byA9IG1faml0LmJyYW5jaDMyKENDYWxsSGVscGVyczo6Tm90
RXF1YWwsIHNjcmF0Y2gyUmVnLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6SW50MzJUYWcpKTsKKyAg
ICBtX2ppdC5sb2FkMzIoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNo
M1JlZywgSklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0
b3JhZ2UoKSArIFBheWxvYWRPZmZzZXQpLCBzY3JhdGNoM1JlZyk7CisgICAgaXNNb25vUHJvdG8u
bGluaygmbV9qaXQpOworICAgIG1faml0Lm1vdmUoc2NyYXRjaDNSZWcsIHNjcmF0Y2hSZWcpOwor
I2VuZGlmCisKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0luc3RhbmNlID0gbV9qaXQuYnJh
bmNoUHRyKE1hY3JvQXNzZW1ibGVyOjpFcXVhbCwgc2NyYXRjaFJlZywgcHJvdG90eXBlUmVnKTsK
ICNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1faml0LmJyYW5jaElmQ2VsbChKU1ZhbHVlUmVncyhz
Y3JhdGNoUmVnKSkubGlua1RvKGxvb3AsICZtX2ppdCk7CkBAIC0zMzgxLDEwICszMzk2LDEyIEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgcHJvdG90eXBlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNo
Mih0aGlzKTsKKyAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMpOwogICAgICAgICAK
ICAgICAgICAgR1BSUmVnIHByb3RvdHlwZVJlZyA9IHByb3RvdHlwZS5ncHIoKTsKICAgICAgICAg
R1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRj
aDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2gzUmVnID0gc2Ny
YXRjaDMuZ3ByKCk7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0Nl
bGwgPSBtX2ppdC5icmFuY2hJZkNlbGwodmFsdWUuanNWYWx1ZVJlZ3MoKSk7CiAgICAgICAgIEdQ
UlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmpzVmFsdWVSZWdzKCkucGF5bG9hZEdQUigpOwpAQCAtMzM5
NCw3ICszNDExLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2YoTgog
ICAgICAgICAKICAgICAgICAgaXNDZWxsLmxpbmsoJm1faml0KTsKICAgICAgICAgCi0gICAgICAg
IGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcs
IHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICAgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JP
YmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3RvdHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJS
ZWcsIHNjcmF0Y2gzUmVnKTsKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwog
CkBAIC0zNDA3LDEzICszNDI0LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0
YW5jZU9mKE4KICAgICAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAgICBHUFJU
ZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gzKHRoaXMp
OwogICAgIAogICAgIEdQUlJlZyB2YWx1ZVJlZyA9IHZhbHVlLmdwcigpOwogICAgIEdQUlJlZyBw
cm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBz
Y3JhdGNoLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOwor
ICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAgIAotICAgIGNvbXBp
bGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVlUmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0
Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKKyAgICBjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdChub2Rl
LCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJlZywgc2NyYXRj
aDNSZWcpOwogCiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQoc2NyYXRjaFJlZywgbm9kZSk7CiB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTc1OSw3ICs3NTksNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBub25TcGVjdWxhdGl2ZU5vblBlZXBob2xlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52
ZXJ0ID0gZmFsc2UpOwogICAgIGJvb2wgbm9uU3BlY3VsYXRpdmVTdHJpY3RFcShOb2RlKiwgYm9v
bCBpbnZlcnQgPSBmYWxzZSk7CiAgICAgCi0gICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9i
amVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcg
c2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnKTsKKyAgICB2b2lkIGNvbXBp
bGVJbnN0YW5jZU9mRm9yT2JqZWN0KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90
b3R5cGVSZWcsIEdQUlJlZyBzY3JhdGNoQW5kUmVzdWx0UmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcs
IEdQUlJlZyBzY3JhdGNoM1JlZyk7CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZihOb2RlKik7
CiAgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkN1c3RvbShOb2RlKik7CiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDIy
MjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODk1MywxMCArODk1MywxMiBAQCBwcml2YXRlOgogICAgICAgICAK
ICAgICAgICAgTEJhc2ljQmxvY2sgaXNDZWxsQ2FzZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAg
ICAgIExCYXNpY0Jsb2NrIGxvb3AgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNC
bG9jayBsb2FkUHJvdG90eXBlQml0cyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAgIExCYXNp
Y0Jsb2NrIGxvYWRQb2x5UHJvdG8gPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNC
bG9jayBjb21wYXJlUHJvdG90eXBlID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2lj
QmxvY2sgbm90WWV0SW5zdGFuY2UgPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNC
bG9jayBjb250aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwotICAgICAgICBMQmFzaWNCbG9j
ayBsb2FkUHJvdG90eXBlRGlyZWN0ID0gbV9vdXQubmV3QmxvY2soKTsKICAgICAgICAgTEJhc2lj
QmxvY2sgZGVmYXVsdEhhc0luc3RhbmNlU2xvdyA9IG1fb3V0Lm5ld0Jsb2NrKCk7CisgICAgICAg
IExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIAog
ICAgICAgICBMVmFsdWUgY29uZGl0aW9uOwogICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51
c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKQEAgLTg5NzQsMTYgKzg5NzYsMjggQEAgcHJpdmF0ZToK
ICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3JpZ2luYWxWYWx1ZSA9IG1fb3V0LmFuY2hvcihjZWxs
KTsKICAgICAgICAgbV9vdXQuanVtcChsb29wKTsKICAgICAgICAgCi0gICAgICAgIG1fb3V0LmFw
cGVuZFRvKGxvb3AsIGxvYWRQcm90b3R5cGVEaXJlY3QpOworICAgICAgICBtX291dC5hcHBlbmRU
byhsb29wLCBsb2FkUHJvdG90eXBlQml0cyk7CiAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IG1fb3V0
LnBoaShJbnQ2NCwgb3JpZ2luYWxWYWx1ZSk7CiAgICAgICAgIExWYWx1ZSB0eXBlID0gbV9vdXQu
bG9hZDhaZXJvRXh0MzIodmFsdWUsIG1faGVhcHMuSlNDZWxsX3R5cGVJbmZvVHlwZSk7CiAgICAg
ICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKHR5cGUsIG1fb3V0
LmNvbnN0SW50MzIoUHJveHlPYmplY3RUeXBlKSksCi0gICAgICAgICAgICB1c3VhbGx5KGxvYWRQ
cm90b3R5cGVEaXJlY3QpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOworICAgICAg
ICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlQml0cyksIHJhcmVseShkZWZhdWx0SGFzSW5zdGFu
Y2VTbG93KSk7CiAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZURpcmVjdCwg
bm90WWV0SW5zdGFuY2UpOworICAgICAgICBtX291dC5hcHBlbmRUbyhsb2FkUHJvdG90eXBlQml0
cywgbG9hZFBvbHlQcm90byk7CiAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBsb2FkU3RydWN0
dXJlKHZhbHVlKTsKLSAgICAgICAgTFZhbHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5sb2Fk
NjQoc3RydWN0dXJlLCBtX2hlYXBzLlN0cnVjdHVyZV9wcm90b3R5cGUpOworCisgICAgICAgIExW
YWx1ZSBwcm90b3R5cGVCaXRzID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9oZWFwcy5TdHJ1
Y3R1cmVfcHJvdG90eXBlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZGlyZWN0UHJvdG95cGUg
PSBtX291dC5hbmNob3IocHJvdG90eXBlQml0cyk7CisgICAgICAgIG1fb3V0LmJyYW5jaChpc0lu
dDMyKHByb3RvdHlwZUJpdHMpLCB1bnN1cmUobG9hZFBvbHlQcm90byksIHVuc3VyZShjb21wYXJl
UHJvdG90eXBlKSk7CisKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFBvbHlQcm90bywgY29t
cGFyZVByb3RvdHlwZSk7CisgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LmJpdEFuZChwcm90
b3R5cGVCaXRzLCBtX291dC5jb25zdEludDY0KFVJTlRfTUFYKSk7CisgICAgICAgIFZhbHVlRnJv
bUJsb2NrIHBvbHlQcm90byA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0LmxvYWQ2
NChtX291dC5iYXNlSW5kZXgobV9oZWFwcy5wcm9wZXJ0aWVzLmF0QW55TnVtYmVyKCksIHZhbHVl
LCBpbmRleCwgU2NhbGVFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpKSkp
OworICAgICAgICBtX291dC5qdW1wKGNvbXBhcmVQcm90b3R5cGUpOworCisgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGNvbXBhcmVQcm90b3R5cGUsIG5vdFlldEluc3RhbmNlKTsKKyAgICAgICAgTFZh
bHVlIGN1cnJlbnRQcm90b3R5cGUgPSBtX291dC5waGkoSW50NjQsIGRpcmVjdFByb3RveXBlLCBw
b2x5UHJvdG8pOwogICAgICAgICBWYWx1ZUZyb21CbG9jayBpc0luc3RhbmNlUmVzdWx0ID0gbV9v
dXQuYW5jaG9yKG1fb3V0LmJvb2xlYW5UcnVlKTsKICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAg
ICAgICAgICAgbV9vdXQuZXF1YWwoY3VycmVudFByb3RvdHlwZSwgcHJvdG90eXBlKSwKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAJKHJldmlz
aW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ4LDggKzI0OCwxMyBAQCB2b2lkIEpJVDo6ZW1pdF9v
cF9pbnN0YW5jZW9mKEluc3RydWN0aW9uCiAKICAgICAvLyBMb2FkIHRoZSBwcm90b3R5cGUgb2Yg
dGhlIGNlbGwgaW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAg
IC8vIE90aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4g
ZHJvcCBvdXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAgICBsb2FkUHRyKEFkZHJl
c3MocmVnVDIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksIHJlZ1QyKTsKLSAgICBsb2Fk
MzIoQWRkcmVzcyhyZWdUMiwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIE9CSkVDVF9P
RkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2FkKSksIHJlZ1QyKTsKKyAgICBsb2FkUHRy
KEFkZHJlc3MocmVnVDIsIEpTQ2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksIHJlZ1Q0KTsKKyAg
ICBsb2FkMzIoQWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSArIFRh
Z09mZnNldCksIHJlZ1QzKTsKKyAgICBsb2FkMzIoQWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSArIFBheWxvYWRPZmZzZXQpLCByZWdUNCk7CisgICAgYXV0byBpc01v
bm9Qcm90byA9IGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMywgVHJ1c3RlZEltbTMyKEpTVmFsdWU6
OkludDMyVGFnKSk7CisgICAgbG9hZDMyKEJhc2VJbmRleChyZWdUMiwgcmVnVDQsIFRpbWVzRWln
aHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSArIFBheWxvYWRPZmZzZXQpLCBy
ZWdUNCk7CisgICAgaXNNb25vUHJvdG8ubGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdU
Mik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEp
OwogICAgIGJyYW5jaFRlc3QzMihOb25aZXJvLCByZWdUMikubGlua1RvKGxvb3AsIHRoaXMpOwog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9u
IDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2Niw4ICsxNjYsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFu
Y2VvZihJbnN0cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBvYmpl
Y3QgaW4gcmVnVDIuICBJZiB0aGlzIGlzIGVxdWFsIHRvIHJlZ1QxIC0gV0lOIQogICAgIC8vIE90
aGVyd2lzZSwgY2hlY2sgaWYgd2UndmUgaGl0IG51bGwgLSBpZiB3ZSBoYXZlIHRoZW4gZHJvcCBv
dXQgb2YgdGhlIGxvb3AsIGlmIG5vdCBnbyBhZ2Fpbi4KLSAgICBlbWl0TG9hZFN0cnVjdHVyZSgq
dm0oKSwgcmVnVDIsIHJlZ1QyLCByZWdUMyk7Ci0gICAgbG9hZDY0KEFkZHJlc3MocmVnVDIsIFN0
cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpLCByZWdUMik7CisgICAgZW1pdExvYWRTdHJ1Y3R1
cmUoKnZtKCksIHJlZ1QyLCByZWdUNCwgcmVnVDMpOworICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1Q0
LCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSwgcmVnVDQpOworICAgIGF1dG8gaGFzTW9u
b1Byb3RvID0gYnJhbmNoSWZOb3RJbnQzMihKU1ZhbHVlUmVncyhyZWdUNCkpOworICAgIHplcm9F
eHRlbmQzMlRvUHRyKHJlZ1Q0LCByZWdUNCk7CisgICAgbG9hZDY0KEJhc2VJbmRleChyZWdUMiwg
cmVnVDQsIFRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSksIHJl
Z1Q0KTsKKyAgICBoYXNNb25vUHJvdG8ubGluayh0aGlzKTsKKyAgICBtb3ZlKHJlZ1Q0LCByZWdU
Mik7CiAgICAgSnVtcCBpc0luc3RhbmNlID0gYnJhbmNoUHRyKEVxdWFsLCByZWdUMiwgcmVnVDEp
OwogICAgIGVtaXRKdW1wSWZKU0NlbGwocmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCShyZXZpc2lvbiAyMjI4MDEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDQsNiArMjQ0LDggQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJ
RAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFBv
bHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKwogICAgICAgICBQcm9w
ZXJ0eU9mZnNldCBvZmZzZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90
LmNhY2hlZE9mZnNldCgpOwogCiAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSB8fCBzbG90LnNs
b3RCYXNlKCkgIT0gYmFzZVZhbHVlKSB7CkBAIC0yNTUsMjMgKzI1NywzNSBAQCBzdGF0aWMgSW5s
aW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRlbkRpY3Rp
b25hcnlTdHJ1Y3R1cmUodm0sIGpzQ2FzdDxKU09iamVjdCo+KGJhc2VDZWxsKSk7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgpICYm
IHN0cnVjdHVyZS0+dHlwZUluZm8oKS5nZXRPd25Qcm9wZXJ0eVNsb3RJc0ltcHVyZUZvclByb3Bl
cnR5QWJzZW5jZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCi0g
ICAgICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkpIHsKLSAgICAgICAgICAgICAgICBjb25kaXRp
b25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCi0gICAgICAgICAgICAg
ICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwo
KSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9
IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAg
ICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwK
LSAgICAgICAgICAgICAgICAgICAgcHJvcGVydHlOYW1lLmltcGwoKSk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkK
KyAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgIHByb3RvdHlwZUFj
Y2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAg
IGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAvLyBJdCdzIGlu
dmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgogICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBvZmZz
ZXQgPSBzbG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBjb25kaXRpb25TZXQuc2xvdEJh
c2VDb25kaXRpb24oKS5vZmZzZXQoKTsKKyAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykg
eworICAgICAgICAgICAgICAgIC8vIFdlIHVzZSBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBp
bnN0ZWFkIGZvciBmYXN0ZXIgYWNjZXNzZXMuCisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNj
ZXNzQ2hhaW4gPSBudWxscHRyOworCisgICAgICAgICAgICAgICAgaWYgKHNsb3QuaXNVbnNldCgp
KSB7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9u
c0ZvclByb3BlcnR5TWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ss
IGV4ZWMsIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1lLmltcGwoKSk7CisgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25k
aXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCisgICAgICAgICAgICAgICAgICAgICAgICB2
bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6IHNsb3QuY2Fj
aGVkT2Zmc2V0KCk7CiAgICAgICAgIH0KIAogICAgICAgICBKU0Z1bmN0aW9uKiBnZXR0ZXIgPSBu
dWxscHRyOwpAQCAtMjkzLDEzICszMDcsMTcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAKLSAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVB
Y2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCkp
OwotICAgICAgICB9IGVsc2UgaWYgKCFsb2FkVGFyZ2V0RnJvbVByb3h5ICYmIGdldHRlciAmJiBJ
bnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjYW5FbWl0SW50cmluc2ljR2V0dGVyKGdldHRlciwg
c3RydWN0dXJlKSkKKyAgICAgICAgICAgIG5ld0Nhc2UgPSBQcm94eWFibGVBY2Nlc3NDYXNlOjpj
cmVhdGUodm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNl
dCwgbG9hZFRhcmdldEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJv
dG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAgfSBlbHNlIGlmICghbG9hZFRhcmdldEZyb21Q
cm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2FuRW1pdEludHJp
bnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkgJiYgIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdpdGggcG9s
eSBwcm90bywgYnV0IGZvciBvdXIgb3duIHNhbml0eSwgd2UgcHJvYmFibHkKKyAgICAgICAgICAg
IC8vIHdhbnQgdG8gZG8gYSBwb2ludGVyIGNoZWNrIG9uIHRoZSBhY3R1YWwgZ2V0dGVyLiBBIGdv
b2QgdGltZSB0byBtYWtlIHRoaXMgd29yayB3b3VsZAorICAgICAgICAgICAgLy8gYmUgd2hlbiB3
ZSBjYW4gaW5oZXJpdCBmcm9tIGJ1aWx0aW4gdHlwZXMgaW4gcG9seSBwcm90byBmYXNoaW9uOgor
ICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NzMxOAogICAgICAgICAgICAgbmV3Q2FzZSA9IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNy
ZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90LmNhY2hlZE9mZnNldCgpLCBzdHJ1Y3R1cmUsIGNvbmRp
dGlvblNldCwgZ2V0dGVyKTsKLSAgICAgICAgZWxzZSB7CisgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwgc2xvdC5pc1Vuc2V0KCkpIHsK
ICAgICAgICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZt
LCBjb2RlQmxvY2ssIHNsb3QuaXNVbnNldCgpID8gQWNjZXNzQ2FzZTo6TWlzcyA6IEFjY2Vzc0Nh
c2U6OkxvYWQsCi0gICAgICAgICAgICAgICAgICAgIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbG9hZFRhcmdl
dEZyb21Qcm94eSwgc2xvdC53YXRjaHBvaW50U2V0KCksIFdURk1vdmUocHJvdG90eXBlQWNjZXNz
Q2hhaW4pKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQWNjZXNzQ2Fz
ZTo6QWNjZXNzVHlwZSB0eXBlOwogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxl
R2V0dGVyKCkpCkBAIC0zMTYsNyArMzM0LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCB0eXBlLCBv
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0RnJvbVByb3h5LAogICAg
ICAgICAgICAgICAgICAgICBzbG90LndhdGNocG9pbnRTZXQoKSwgc2xvdC5pc0NhY2hlYWJsZUN1
c3RvbSgpID8gc2xvdC5jdXN0b21HZXR0ZXIoKSA6IG51bGxwdHIsCiAgICAgICAgICAgICAgICAg
ICAgIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3Quc2xvdEJhc2UoKSA6IG51bGxwdHIs
Ci0gICAgICAgICAgICAgICAgICAgIGRvbUF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgICAg
IGRvbUF0dHJpYnV0ZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzg2LDYgKzQwNCw3IEBAIHN0YXRpYyBJbmxpbmVD
YWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gbmV3Q2FzZTsKKyAgICBKU0NlbGwq
IGJhc2VDZWxsID0gYmFzZVZhbHVlLmFzQ2VsbCgpOwogCiAgICAgaWYgKHNsb3QuYmFzZSgpID09
IGJhc2VWYWx1ZSAmJiBzbG90LmlzQ2FjaGVhYmxlUHV0KCkpIHsKICAgICAgICAgaWYgKHNsb3Qu
dHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6RXhpc3RpbmdQcm9wZXJ0eSkgewpAQCAtNDI5LDQ4
ICs0NDgsODMgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnlJRAogICAg
ICAgICAgICAgQVNTRVJUKCFuZXdTdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKTsKICAgICAgICAg
ICAgIEFTU0VSVChuZXdTdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOwogICAgICAgICAgICAgCisgICAg
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFj
Y2Vzc0NoYWluOwogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0
aW9uU2V0OwogICAgICAgICAgICAgaWYgKHB1dEtpbmQgPT0gTm90RGlyZWN0KSB7Ci0gICAgICAg
ICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVDb25k
aXRpb25zRm9yUHJvcGVydHlTZXR0ZXJNaXNzKAotICAgICAgICAgICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOwotICAgICAgICAg
ICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICBib29s
IHVzZXNQb2x5UHJvdG87CisgICAgICAgICAgICAgICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQ
b2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwg
YmFzZUNlbGwsIG51bGxwdHIsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICgh
cHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZh
bGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlw
ZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0
ID0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5
U2V0dGVyTWlzcygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBl
eGVjLCBuZXdTdHJ1Y3R1cmUsIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAgIGlm
ICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9m
ZnNldCwgc3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCk7CisgICAgICAgICAg
ICBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxvY2ssIG9mZnNldCwgc3Ry
dWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nl
c3NDaGFpbikpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3Vz
dG9tKCkgfHwgc2xvdC5pc0NhY2hlYWJsZVNldHRlcigpKSB7CiAgICAgICAgIGlmIChzbG90Lmlz
Q2FjaGVhYmxlQ3VzdG9tKCkpIHsKICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0IGNvbmRpdGlvblNldDsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9B
Y2Nlc3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CiAKICAgICAgICAgICAgIGlmIChzbG90
LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPQot
ICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0
eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVj
dHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCFj
b25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAgICAgIGJvb2wgdXNlc1BvbHlQcm90
bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFBvbHlQcm90b0FjY2Vz
c0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlQ2VsbCwgc2xv
dC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgIGlmICghcHJvdG90eXBl
QWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFj
Y2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEdpdmVVcE9uQ2FjaGU7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYg
KCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0No
YWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5
SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0
cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAgICAg
IGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgbmV3Q2FzZSA9IEdldHRlclNldHRlckFjY2Vzc0Nhc2U6OmNyZWF0ZSgKLSAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFj
Y2Vzc0Nhc2U6OkN1c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVT
ZXR0ZXIsIHN0cnVjdHVyZSwgaW52YWxpZE9mZnNldCwgY29uZGl0aW9uU2V0LAotICAgICAgICAg
ICAgICAgIHNsb3QuY3VzdG9tU2V0dGVyKCksIHNsb3QuYmFzZSgpKTsKKyAgICAgICAgICAgICAg
ICB2bSwgY29kZUJsb2NrLCBzbG90LmlzQ3VzdG9tQWNjZXNzb3IoKSA/IEFjY2Vzc0Nhc2U6OkN1
c3RvbUFjY2Vzc29yU2V0dGVyIDogQWNjZXNzQ2FzZTo6Q3VzdG9tVmFsdWVTZXR0ZXIsIHN0cnVj
dHVyZSwgaW52YWxpZE9mZnNldCwKKyAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQsIFdURk1v
dmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pLCBzbG90LmN1c3RvbVNldHRlcigpLCBzbG90LmJhc2Uo
KSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCBjb25kaXRpb25TZXQ7Ci0gICAgICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQ7Cisg
ICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlw
ZUFjY2Vzc0NoYWluOworICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5j
YWNoZWRPZmZzZXQoKTsKIAogICAgICAgICAgICAgaWYgKHNsb3QuYmFzZSgpICE9IGJhc2VWYWx1
ZSkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9Ci0gICAgICAgICAgICAgICAgICAg
IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAotICAgICAgICAgICAg
ICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LmJhc2UoKSwg
aWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlk
KCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICAgICAgICAg
IHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBzbG90LmJhc2UoKSwgdXNlc1BvbHlQ
cm90byk7CisgICAgICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAg
ICAgICAgICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBl
IHByb3BlcnR5LgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKLSAg
ICAgICAgICAgICAgICBvZmZzZXQgPSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5v
ZmZzZXQoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIG9mZnNldCA9IHNs
b3QuY2FjaGVkT2Zmc2V0KCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
aWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vz
c0NoYWluID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3Bl
cnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMs
IHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICAgICAg
ICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBHaXZlVXBPbkNhY2hlOworCisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKG9mZnNldCA9PSBjb25kaXRpb25TZXQuc2xvdEJhc2VDb25kaXRpb24oKS5vZmZzZXQoKSk7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG5ld0Nh
c2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9mZnNldCwgY29uZGl0
aW9uU2V0KTsKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBBY2Nlc3NDYXNlOjpTZXR0
ZXIsIHN0cnVjdHVyZSwgb2Zmc2V0LCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNj
ZXNzQ2hhaW4pKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTE3LDE1ICs1NzEsMzUgQEAgc3Rh
dGljIElubGluZUNhY2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJlKHZtKTsKICAg
ICAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFj
Y2Vzc0NoYWluOwogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsK
ICAgICBpZiAod2FzRm91bmQpIHsKICAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNl
KSB7Ci0gICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90
b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBz
dHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2UoKSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgIGJv
b2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9s
eVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJh
c2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAgICAgaWYgKCFwcm90b3R5cGVBY2Nl
c3NDaGFpbikgeworICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhp
cyBwcm90b3R5cGUgcHJvcGVydHkuCisgICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2Fj
aGU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAg
ICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAg
ICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVy
dHlIaXQoCisgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVy
ZSwgc2xvdC5zbG90QmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRp
b25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3Ry
dWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAg
ICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0ZShl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2UsIHNsb3QsIHVzZXNQb2x5UHJvdG8pOwor
ICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7CisgICAgICAgICAgICAvLyBJdCdz
IGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3BlcnR5LgorICAgICAgICAgICAg
cmV0dXJuIEdpdmVVcE9uQ2FjaGU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXVzZXNQb2x5
UHJvdG8pIHsKKyAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0cjsKKyAg
ICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlz
cygKKyAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIGlkZW50
LmltcGwoKSk7CisgICAgICAgIH0KICAgICB9CiAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKQEAgLTUzMyw3ICs2MDcsNyBAQCBz
dGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIExPR19JQygoSUNFdmVu
dDo6SW5BZGRBY2Nlc3NDYXNlLCBzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpZGVudCkpOwogCiAg
ICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVh
dGUoCi0gICAgICAgIHZtLCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQg
OiBBY2Nlc3NDYXNlOjpJbk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0KTsKKyAgICAgICAgdm0sIGNvZGVCbG9jaywgd2FzRm91bmQgPyBBY2Nlc3NDYXNlOjpJbkhp
dCA6IEFjY2Vzc0Nhc2U6OkluTWlzcywgaW52YWxpZE9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRp
b25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKIAogICAgIEFjY2Vzc0dlbmVy
YXRpb25SZXN1bHQgcmVzdWx0ID0gc3R1YkluZm8uYWRkQWNjZXNzQ2FzZShsb2NrZXIsIGNvZGVC
bG9jaywgaWRlbnQsIFdURk1vdmUobmV3Q2FzZSkpOwogICAgIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMjI4MDEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NjcsNiArNjY3LDI0IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3df
cGF0aF9nZXRfYnlfaWQKICAgICAgICAgJiYgYmFzZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYm
IHNsb3QuaXNDYWNoZWFibGUoKSkgewogCisgICAgICAgIHsKKyAgICAgICAgICAgIFN0cnVjdHVy
ZUlEIG9sZFN0cnVjdHVyZUlEID0gcGNbNF0udS5zdHJ1Y3R1cmVJRDsKKyAgICAgICAgICAgIGlm
IChvbGRTdHJ1Y3R1cmVJRCkgeworICAgICAgICAgICAgICAgIGF1dG8gb3Bjb2RlID0gSW50ZXJw
cmV0ZXI6OmdldE9wY29kZUlEKHBjWzBdKTsKKyAgICAgICAgICAgICAgICBpZiAob3Bjb2RlID09
IG9wX2dldF9ieV9pZAorICAgICAgICAgICAgICAgICAgICB8fCBvcGNvZGUgPT0gb3BfZ2V0X2J5
X2lkX3Vuc2V0CisgICAgICAgICAgICAgICAgICAgIHx8IG9wY29kZSA9PSBvcF9nZXRfYnlfaWRf
cHJvdG9fbG9hZCkgeworICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUqIGEgPSB2bS5oZWFw
LnN0cnVjdHVyZUlEVGFibGUoKS5nZXQob2xkU3RydWN0dXJlSUQpOworICAgICAgICAgICAgICAg
ICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7CisK
KyAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVBy
b3RvKGEsIGIpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoYS0+cmFyZURhdGEo
KS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLmdldCgpID09IGItPnJhcmVEYXRhKCktPnNo
YXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUo
dm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVjdGVkIHBvbHkgcHJvdG8gb3Bwb3J0dW5pdHkuIikp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAg
fQorICAgICAgICB9CisKICAgICAgICAgSlNDZWxsKiBiYXNlQ2VsbCA9IGJhc2VWYWx1ZS5hc0Nl
bGwoKTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlQ2VsbC0+c3RydWN0dXJl
KCk7CiAgICAgICAgIGlmIChzbG90LmlzVmFsdWUoKSAmJiBzbG90LnNsb3RCYXNlKCkgPT0gYmFz
ZVZhbHVlKSB7CkBAIC03MzcsNiArNzU1LDIyIEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3df
cGF0aF9wdXRfYnlfaWQKICAgICAgICAgJiYgYmFzZVZhbHVlLmlzQ2VsbCgpCiAgICAgICAgICYm
IHNsb3QuaXNDYWNoZWFibGVQdXQoKSkgewogCisKKyAgICAgICAgeworICAgICAgICAgICAgU3Ry
dWN0dXJlSUQgb2xkU3RydWN0dXJlSUQgPSBwY1s0XS51LnN0cnVjdHVyZUlEOworICAgICAgICAg
ICAgaWYgKG9sZFN0cnVjdHVyZUlEKSB7CisgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBhID0g
dm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxlKCkuZ2V0KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAg
ICAgICAgICBTdHJ1Y3R1cmUqIGIgPSBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSh2bSk7
CisgICAgICAgICAgICAgICAgaWYgKHNsb3QudHlwZSgpID09IFB1dFByb3BlcnR5U2xvdDo6TmV3
UHJvcGVydHkpCisgICAgICAgICAgICAgICAgICAgIGIgPSBiLT5wcmV2aW91c0lEKCk7CisKKyAg
ICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oYSwg
YikpIHsKKyAgICAgICAgICAgICAgICAgICAgYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0YWlsKCJEZXRlY3RlZCBw
b2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgICAgICAgICAgICAgYi0+cmFyZURh
dGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdG
aXJlRGV0YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICAvLyBTdGFydCBv
dXQgYnkgY2xlYXJpbmcgb3V0IHRoZSBvbGQgY2FjaGUuCiAgICAgICAgIHBjWzRdLnUucG9pbnRl
ciA9IG51bGxwdHI7IC8vIG9sZCBzdHJ1Y3R1cmUKICAgICAgICAgcGNbNV0udS5wb2ludGVyID0g
bnVsbHB0cjsgLy8gb2Zmc2V0CkBAIC03NjAsMTYgKzc5NCwxNyBAQCBMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAgICAgICAgICAgICAgICAgaWYgKCFzdHJ1Y3R1cmUt
PmlzRGljdGlvbmFyeSgpICYmIHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5vdXRPZkxpbmVDYXBh
Y2l0eSgpID09IHN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSkgewogICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPnRyYW5zaXRpb25XYXRjaHBv
aW50U2V0SGFzQmVlbkludmFsaWRhdGVkKCkpOwogCi0gICAgICAgICAgICAgICAgICAgIGlmIChu
b3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBzdHJ1Y3R1cmUpICE9IEludmFsaWRQcm90b3R5
cGVDaGFpbikgeworICAgICAgICAgICAgICAgICAgICBib29sIHNhd1BvbHlQcm90byA9IGZhbHNl
OworICAgICAgICAgICAgICAgICAgICBhdXRvIHJlc3VsdCA9IG5vcm1hbGl6ZVByb3RvdHlwZUNo
YWluKGV4ZWMsIGJhc2VDZWxsLCBzYXdQb2x5UHJvdG8pOworICAgICAgICAgICAgICAgICAgICBp
ZiAocmVzdWx0ICE9IEludmFsaWRQcm90b3R5cGVDaGFpbiAmJiAhc2F3UG9seVByb3RvKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlLT5wcmV2aW91c0lEKCktPmlz
T2JqZWN0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgcGNbNF0udS5zdHJ1Y3R1cmVJRCA9
IHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAg
cGNbNV0udS5vcGVyYW5kID0gc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgICAgICAgICAg
ICAgICAgIHBjWzZdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPmlkKCk7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoIShwY1s4XS51LnB1dEJ5SWRGbGFncyAmIFB1dEJ5SWRJc0RpcmVj
dCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4g
PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN0cnVjdHVyZUNoYWluKiBjaGFpbiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4o
ZXhlYywgYXNPYmplY3QoYmFzZUNlbGwpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
U1NFUlQoY2hhaW4pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0
dXJlQ2hhaW4uc2V0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBjaGFpbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNbN10udS5zdHJ1Y3R1
cmVDaGFpbi5zZXQodm0sIGNvZGVCbG9jaywgY2hhaW4pOwogICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgcGNbOF0udS5wdXRCeUlkRmxhZ3MgPSBzdGF0
aWNfY2FzdDxQdXRCeUlkRmxhZ3M+KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzhd
LnUucHV0QnlJZEZsYWdzIHwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTIyLDEwICs1MjIsOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGF0aWMgaW5saW5lIGJvb2wg
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9y
d2FyZFRvUHJvdG90eXBlKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTT2JqZWN0KiBvYmplY3QpCitzdGF0
aWMgaW5saW5lIGJvb2wgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmpl
Y3QqIG9iamVjdCkKIHsKLSAgICBhdXRvJiB2bSA9IHN0YXRlLnZtKCk7Ci0gICAgcmV0dXJuIG9i
amVjdC0+c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKTsKKyAg
ICByZXR1cm4gb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUodm0sIG9iamVjdCk7CiB9CiAKIHN0YXRpYyBKU1ZhbHVlIHNsb3dKb2luKEV4ZWNTdGF0ZSYg
ZXhlYywgSlNPYmplY3QqIHRoaXNPYmplY3QsIEpTU3RyaW5nKiBzZXBhcmF0b3IsIHVpbnQ2NF90
IGxlbmd0aCkKQEAgLTYxMCw3ICs2MDksNyBAQCBzdGF0aWMgaW5saW5lIEpTVmFsdWUgZmFzdEpv
aW4oRXhlY1N0YXRlCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGlmICghaG9sZXNLbm93blRvQmVPSykg
ewotICAgICAgICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHN0
YXRlLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBn
b3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgICAgICAgICBob2xlc0tub3duVG9CZU9LID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICB9CkBAIC02MzQsNyArNjMzLDcgQEAgc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAgICAgICAgICAgICAgIGpvaW5lci5hcHBl
bmQoc3RhdGUsIGpzRG91YmxlTnVtYmVyKHZhbHVlKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHRoaXNPYmplY3QtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSkpCisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5l
cmFsQ2FzZTsKICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAg
ICAgICAgICAgICAgICAgfQpAQCAtODE2LDcgKzgxNSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKGxlbmd0aCA+IGJ1dHRlcmZseS5wdWJs
aWNMZW5ndGgoKSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhdXRvIGRhdGEgPSBidXR0
ZXJmbHkuY29udGlndW91cygpLmRhdGEoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRh
LCBsZW5ndGgpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSgqZXhlYywgdGhpc09iamVj
dCkpCisgICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3RoKTsKICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqZWN0KTsKQEAgLTgyNiw3ICs4MjUsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBi
dXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0
byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXNEb3VibGUoKS5kYXRhKCk7Ci0gICAgICAgIGlm
IChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5
cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRhdGEsIGxl
bmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2JqZWN0KSkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0
aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iamVjdCk7CkBAIC04MzUs
NyArODM0LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAg
ICAgICBhdXRvJiBzdG9yYWdlID0gKnRoaXNPYmplY3QtPmJ1dHRlcmZseSgpLT5hcnJheVN0b3Jh
Z2UoKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IHN0b3JhZ2UudmVjdG9yTGVuZ3RoKCkpCiAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAmJiBob2xlc011
c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAoc3Rv
cmFnZS5oYXNIb2xlcygpICYmIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09i
amVjdCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gc3RvcmFnZS52
ZWN0b3IoKS5kYXRhKCk7CiAgICAgICAgIHN0ZDo6cmV2ZXJzZShkYXRhLCBkYXRhICsgbGVuZ3Ro
KTsKQEAgLTExNzYsNyArMTE3NSw3IEBAIHN0YXRpYyBib29sIG1vdmVFbGVtZW50cyhFeGVjU3Rh
dGUqIGV4ZWMKIHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAK
LSAgICBpZiAoTElLRUxZKCFoYXNBbnlBcnJheVN0b3JhZ2Uoc291cmNlLT5pbmRleGluZ1R5cGUo
KSkgJiYgIXNvdXJjZS0+c3RydWN0dXJlKCktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2
bSkpKSB7CisgICAgaWYgKExJS0VMWSghaGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhp
bmdUeXBlKCkpICYmICFob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHNvdXJjZSkpKSB7
CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzb3VyY2VMZW5ndGg7ICsraSkgewog
ICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHNvdXJjZS0+dHJ5R2V0SW5kZXhRdWlja2x5KGkp
OwogICAgICAgICAgICAgaWYgKHZhbHVlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nsb25lZEFyZ3VtZW50cy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDEwICs0OSw5IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1l
bnRzOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBCdXR0ZXJmbHkqIGJ1dHRlcmZs
eTsKLSAgICBpZiAoVU5MSUtFTFkoc3RydWN0dXJlLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkg
eworICAgIGlmIChVTkxJS0VMWShzdHJ1Y3R1cmUtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpIHx8IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKSB7CiAgICAgICAgIGJ1dHRlcmZseSA9IGNyZWF0ZUFycmF5U3RvcmFnZUJ1dHRl
cmZseSh2bSwgbnVsbHB0ciwgc3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rvckxlbmd0aCk7CiAgICAg
ICAgIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fbnVtVmFsdWVzSW5WZWN0b3IgPSB2ZWN0
b3JMZW5ndGg7Ci0KICAgICB9IGVsc2UgewogICAgICAgICBJbmRleGluZ0hlYWRlciBpbmRleGlu
Z0hlYWRlcjsKICAgICAgICAgaW5kZXhpbmdIZWFkZXIuc2V0VmVjdG9yTGVuZ3RoKHZlY3Rvckxl
bmd0aCk7CkBAIC04MSw3ICs4MCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRz
OjpjcmVhdGUKICAgICAvLyBOQi4gU29tZSBjbGllbnRzIG1pZ2h0IGV4cGVjdCB0aGF0IHRoZSBn
bG9iYWwgb2JqZWN0IG9mIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0CiAgICAg
Ly8gb2YgdGhlIGNhbGxlZS4gV2UgZG9uJ3QgZG8gdGhpcyBmb3Igbm93LCBidXQgbWF5YmUgd2Ug
c2hvdWxkLgogICAgIENsb25lZEFyZ3VtZW50cyogcmVzdWx0ID0gY3JlYXRlRW1wdHkodm0sIGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCksIGNh
bGxlZSwgbGVuZ3RoKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNT
bG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZt
KS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhp
bmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjUsMTQgKzEyNCwxNCBA
QCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgfSB9CiAKICAg
ICBBU1NFUlQobXlGcmFtZS0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5jbG9uZWRBcmd1bWVudHNT
dHJ1Y3R1cmUoKSA9PSByZXN1bHQtPnN0cnVjdHVyZSgpKTsKLSAgICBBU1NFUlQoIXJlc3VsdC0+
c3RydWN0dXJlKCktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChy
ZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0
LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBDbG9u
ZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aE1hY2hpbmVGcmFtZShFeGVj
U3RhdGUqIG15RnJhbWUsIEV4ZWNTdGF0ZSogdGFyZ2V0RnJhbWUsIEFyZ3VtZW50c01vZGUgbW9k
ZSkKIHsKICAgICBDbG9uZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZVdpdGhJbmxpbmVGcmFt
ZShteUZyYW1lLCB0YXJnZXRGcmFtZSwgbnVsbHB0ciwgbW9kZSk7Ci0gICAgQVNTRVJUKCFyZXN1
bHQtPnN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQ
dXQocmVzdWx0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJl
c3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApA
QCAtMTQ1LDcgKzE0NCw3IEBAIENsb25lZEFyZ3VtZW50cyogQ2xvbmVkQXJndW1lbnRzOjpjcmVh
dGUKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBsZW5ndGg7IGktLTspCiAgICAgICAgIHJl
c3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgaSwgYXJndW1lbnRTdGFydFtpXS5qc1ZhbHVlKCkp
OwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5
cGUoKSkpOworICAgIEFTU0VSVCghcmVzdWx0LT5uZWVkc1Nsb3dQdXRJbmRleGluZygpIHx8IHNo
b3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUodm0pLT5pbmRleGluZ1R5cGUoKSkpOwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vblNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjQyLDYgKzI0Miw4IEBAIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVf
dGhpcykKICAgICAgICAgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gcGNbM10udS5vcGVyYW5kOwog
ICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGNvbnN0cnVjdG9yLT5yYXJlRGF0YShleGVj
LCBpbmxpbmVDYXBhY2l0eSktPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCktPnN0cnVjdHVyZSgp
OwogICAgICAgICByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUp
OworICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJl
c3VsdC0+cHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBjb25zdHJ1
Y3Rvci0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNz
ZWMtb3JkaW5hcnljcmVhdGVmcm9tY29uc3RydWN0b3IKICAgICAgICAgSlNWYWx1ZSBwcm90byA9
IGNvbnN0cnVjdG9yQXNPYmplY3QtPmdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRh
YmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5j
dGlvbkV4ZWN1dGFibGUuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MSw2ICs5MSw3IEBAIHZvaWQgRnVuY3Rpb25FeGVjdXRhYmxlOjp2aXNpdENoaWxkcmVuKEoKICAg
ICAgICAgY29kZUJsb2NrRm9yQ29uc3RydWN0LT52aXNpdFdlYWtseSh2aXNpdG9yKTsKICAgICB2
aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3VubGlua2VkRXhlY3V0YWJsZSk7CiAgICAgdmlz
aXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaW5nbGV0b25GdW5jdGlvbik7CisgICAgdmlzaXRv
ci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogfQogCiBG
dW5jdGlvbkV4ZWN1dGFibGUqIEZ1bmN0aW9uRXhlY3V0YWJsZTo6ZnJvbUdsb2JhbENvZGUoCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkV4ZWN1
dGFibGUuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0y
Nyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRhYmxlLmgiCiAjaW5jbHVkZSAi
U291cmNlQ29kZS5oIgorI2luY2x1ZGUgPHd0Zi9Cb3guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAK
QEAgLTE3Miw2ICsxNzMsMTggQEAgcHVibGljOgogICAgIERFQ0xBUkVfSU5GTzsKIAogICAgIElu
ZmVycmVkVmFsdWUqIHNpbmdsZXRvbkZ1bmN0aW9uKCkgeyByZXR1cm4gbV9zaW5nbGV0b25GdW5j
dGlvbi5nZXQoKTsgfQorICAgIC8vIENhY2hlZCBwb2x5IHByb3RvIHN0cnVjdHVyZSBmb3IgdGhl
IHJlc3VsdCBvZiBjb25zdHJ1Y3RpbmcgdGhpcyBleGVjdXRhYmxlLgorICAgIFN0cnVjdHVyZSog
Y2FjaGVkUG9seVByb3RvU3RydWN0dXJlKCkgeyByZXR1cm4gbV9jYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUuZ2V0KCk7IH0KKyAgICB2b2lkIHNldENhY2hlZFBvbHlQcm90b1N0cnVjdHVyZShWTSYg
dm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKSB7IG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLnNl
dCh2bSwgdGhpcywgc3RydWN0dXJlKTsgfQorCisgICAgSW5saW5lV2F0Y2hwb2ludFNldCYgZW5z
dXJlUG9seVByb3RvV2F0Y2hwb2ludCgpCisgICAgeworICAgICAgICBpZiAoIW1fcG9seVByb3Rv
V2F0Y2hwb2ludCkKKyAgICAgICAgICAgIG1fcG9seVByb3RvV2F0Y2hwb2ludCA9IEJveDxJbmxp
bmVXYXRjaHBvaW50U2V0Pjo6Y3JlYXRlKElzV2F0Y2hlZCk7CisgICAgICAgIHJldHVybiAqbV9w
b2x5UHJvdG9XYXRjaHBvaW50OworICAgIH0KKworICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0
PiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5UHJvdG9X
YXRjaHBvaW50OyB9CiAKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIEV4ZWN1dGFibGVCYXNl
OwpAQCAtMTg5LDYgKzIwMiw4IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPEZ1bmN0aW9u
Q29kZUJsb2NrPiBtX2NvZGVCbG9ja0ZvckNvbnN0cnVjdDsKICAgICBSZWZQdHI8VHlwZVNldD4g
bV9yZXR1cm5TdGF0ZW1lbnRUeXBlU2V0OwogICAgIFdyaXRlQmFycmllcjxJbmZlcnJlZFZhbHVl
PiBtX3NpbmdsZXRvbkZ1bmN0aW9uOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2Fj
aGVkUG9seVByb3RvU3RydWN0dXJlOworICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBtX3Bv
bHlQcm90b1dhdGNocG9pbnQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwCShy
ZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOSArNzksOSBAQCBGdW5jdGlvblJh
cmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiB7CiB9CiAKLXZvaWQgRnVuY3Rpb25SYXJlRGF0
YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlubGluZUNhcGFj
aXR5KQordm9pZCBGdW5jdGlvblJhcmVEYXRhOjppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblBy
b2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJv
dG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKQog
ewotICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaW5pdGlhbGl6ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBtX29iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMsIHBy
b3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKIH0KIAogdm9pZCBGdW5jdGlv
blJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI4
MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVh
cihjb25zdCBjaGFyKiByZWFzb24pOwogCi0gICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2Nh
dGlvblByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNp
emVfdCBpbmxpbmVDYXBhY2l0eSk7CisgICAgdm9pZCBpbml0aWFsaXplT2JqZWN0QWxsb2NhdGlv
blByb2ZpbGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVf
dCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpOwogCiAgICAgYm9vbCBp
c09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5pdGlhbGl6ZWQoKSB7IHJldHVybiAhbV9vYmplY3RB
bGxvY2F0aW9uUHJvZmlsZS5pc051bGwoKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9JbnRlcm5hbEZ1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyODAx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxMyBAQCBjb25zdCBTdHJpbmcgSW50ZXJuYWxG
dW5jdGlvbjo6Y2FsY3VsYXRlCiAKIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRl
U3ViY2xhc3NTdHJ1Y3R1cmVTbG93KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBuZXdUYXJnZXQs
IFN0cnVjdHVyZSogYmFzZUNsYXNzKQogewotCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAg
ICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgQVNTRVJUKCFuZXdU
YXJnZXQgfHwgbmV3VGFyZ2V0LmlzQ29uc3RydWN0b3IoKSk7CiAgICAgQVNTRVJUKG5ld1Rhcmdl
dCAmJiBuZXdUYXJnZXQgIT0gZXhlYy0+anNDYWxsZWUoKSk7CiAKKyAgICBBU1NFUlQoYmFzZUNs
YXNzLT5oYXNNb25vUHJvdG8oKSk7CisKICAgICAvLyBuZXdUYXJnZXQgbWF5IGJlIGFuIEludGVy
bmFsRnVuY3Rpb24gaWYgd2Ugd2VyZSBjYWxsZWQgZnJvbSBSZWZsZWN0LmNvbnN0cnVjdC4KICAg
ICBKU0Z1bmN0aW9uKiB0YXJnZXRGdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+
KHZtLCBuZXdUYXJnZXQpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0
ID0gZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MzgsNyAr
NzM4LDcgQEAgSlNBcnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgIGNh
c2UgQXJyYXlXaXRoSW50MzI6CiAgICAgY2FzZSBBcnJheVdpdGhDb250aWd1b3VzOiB7CiAgICAg
ICAgIFZNJiB2bSA9IGV4ZWMudm0oKTsKLSAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0Vf
QVJSQVlfSU5ERVggfHwgc3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtKSkKKyAgICAgICAgaWYgKGNvdW50ID49IE1JTl9TUEFSU0VfQVJSQVlfSU5ERVggfHwgc3Ry
dWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzKSkKICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBsZXhpY2Fs
R2xvYmFsT2JqZWN0ID0gZXhlYy5sZXhpY2FsR2xvYmFsT2JqZWN0KCk7CkBAIC03NzMsNyArNzcz
LDcgQEAgYm9vbCBKU0FycmF5OjpzaGlmdENvdW50V2l0aEFycmF5U3RvcmFnZQogICAgIAogICAg
IC8vIElmIHRoZSBhcnJheSBjb250YWlucyBob2xlcyBvciBpcyBvdGhlcndpc2UgaW4gYW4gYWJu
b3JtYWwgc3RhdGUsCiAgICAgLy8gdXNlIHRoZSBnZW5lcmljIGFsZ29yaXRobSBpbiBBcnJheVBy
b3RvdHlwZS4KLSAgICBpZiAoKHN0b3JhZ2UtPmhhc0hvbGVzKCkgJiYgdGhpcy0+c3RydWN0dXJl
KHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKSkgCisgICAgaWYgKChzdG9yYWdl
LT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSwgdGhpcykpIAogICAgICAgICB8fCBoYXNTcGFyc2VNYXAoKSAKICAgICAgICAg
fHwgc2hvdWxkVXNlU2xvd1B1dChpbmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtOTA0LDcgKzkwNCw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJ
bmRleGluZ1QKICAgICAgICAgLy8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdl
IHN0YXJ0IG1vdmluZyB0aGluZ3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkg
CiAgICAgICAgIC8vIHRocm91Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQg
aGF2ZSBiZWVuIGluIEFycmF5U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBv
bGRMZW5ndGggLSBjb3VudDsKLSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVy
ZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAg
ICAgICAgICAgIEpTVmFsdWUgdiA9IGJ1dHRlcmZseS0+Y29udGlndW91cygpW2kgKyBjb3VudF0u
Z2V0KCk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCF2KSkgewpAQCAtOTQ1LDcgKzk0
NSw3IEBAIGJvb2wgSlNBcnJheTo6c2hpZnRDb3VudFdpdGhBbnlJbmRleGluZ1QKICAgICAgICAg
Ly8gV2UgaGF2ZSB0byBjaGVjayBmb3IgaG9sZXMgYmVmb3JlIHdlIHN0YXJ0IG1vdmluZyB0aGlu
Z3MgYXJvdW5kIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IGhhbGZ3YXkgCiAgICAgICAgIC8vIHRocm91
Z2ggc2hpZnRpbmcgYW5kIHRoZW4gcmVhbGl6ZSB3ZSBzaG91bGQgaGF2ZSBiZWVuIGluIEFycmF5
U3RvcmFnZSBtb2RlLgogICAgICAgICB1bnNpZ25lZCBlbmQgPSBvbGRMZW5ndGggLSBjb3VudDsK
LSAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSkpIHsKKyAgICAgICAgaWYgKHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgIGRvdWJsZSB2
ID0gYnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKClbaSArIGNvdW50XTsKICAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkodiAhPSB2KSkgewpAQCAtMTI5Miw3ICsxMjkyLDcgQEAgYm9vbCBK
U0FycmF5Ojppc0l0ZXJhdG9yUHJvdG9jb2xGYXN0QW5kTgogICAgIGlmIChzdHJ1Y3R1cmUtPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAg
ICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5
UHJvdG90eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVj
dC0+YXJyYXlQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZt
ID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUlubGluZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5SW5saW5lcy5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5SW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02
NCw4ICs2NCw4IEBAIGlubGluZSBib29sIEpTQXJyYXk6OmNhbkZhc3RDb3B5KFZNJiB2bSwKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGF2ZSBhIHdhdGNo
cG9pbnQgZm9yIGluZGV4ZWQgcHJvcGVydGllcyBvbiBBcnJheS5wcm90b3R5cGUgYW5kIE9iamVj
dC5wcm90b3R5cGUKICAgICAvLyBpbnN0ZWFkIG9mIHdhbGtpbmcgdGhlIHByb3RvdHlwZSBjaGFp
bi4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTU5MgotICAgIGlm
IChzdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pCi0gICAgICAg
IHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlw
ZSh2bSwgdGhpcykKKyAgICAgICAgfHwgb3RoZXJBcnJheS0+c3RydWN0dXJlKHZtKS0+aG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvdGhlckFycmF5KSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIHJldHVybiB0cnVlOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNDSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNDSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcs
MTMgKzI3NywxMyBAQCB2b2lkIEpTVmFsdWU6OmR1bXBJbkNvbnRleHRBc3N1bWluZ1N0cnVjCiAg
ICAgICAgIGVsc2UgaWYgKHN0cnVjdHVyZS0+Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihKU09i
amVjdDo6aW5mbygpKSkgewogICAgICAgICAgICAgb3V0LnByaW50KCJPYmplY3Q6ICIsIFJhd1Bv
aW50ZXIoYXNDZWxsKCkpKTsKICAgICAgICAgICAgIG91dC5wcmludCgiIHdpdGggYnV0dGVyZmx5
ICIsIFJhd1BvaW50ZXIoYXNPYmplY3QoYXNDZWxsKCkpLT5idXR0ZXJmbHkoKSkpOwotICAgICAg
ICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIiki
KTsKKyAgICAgICAgICAgIG91dC5wcmludCgiIChTdHJ1Y3R1cmUgIiwgaW5Db250ZXh0KCpzdHJ1
Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgb3V0
LnByaW50KCJDZWxsOiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7CiAgICAgICAgICAgICBvdXQu
cHJpbnQoIiAoIiwgaW5Db250ZXh0KCpzdHJ1Y3R1cmUsIGNvbnRleHQpLCAiKSIpOwogICAgICAg
ICB9CiAjaWYgVVNFKEpTVkFMVUU2NCkKLSAgICAgICAgb3V0LnByaW50KCIsIElEOiAiLCBhc0Nl
bGwoKS0+c3RydWN0dXJlSUQoKSk7CisgICAgICAgIG91dC5wcmludCgiLCBTdHJ1Y3R1cmVJRDog
IiwgYXNDZWxsKCktPnN0cnVjdHVyZUlEKCkpOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChpc1Ry
dWUoKSkKICAgICAgICAgb3V0LnByaW50KCJUcnVlIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkFzeW5jR2VuZXJhdG9yUHJvdG90eXBlLmgi
CiAjaW5jbHVkZSAiQnVpbHRpbk5hbWVzLmgiCisjaW5jbHVkZSAiQ2F0Y2hTY29wZS5oIgogI2lu
Y2x1ZGUgIkNsb25lZEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkNvbW1vbklkZW50aWZpZXJzLmgiCkBAIC0xMjYsMTYgKzEyNywyNCBAQCBGdW5jdGlvblJh
cmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxvY2F0ZVJhCiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0
KCk7CiB9CiAKK0pTT2JqZWN0KiBKU0Z1bmN0aW9uOjpwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24o
Vk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfQ0FU
Q0hfU0NPUEUodm0pOworICAgIEpTVmFsdWUgcHJvdG90eXBlID0gZ2V0KGV4ZWMsIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSk7CisgICAgQVNTRVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4
Y2VwdGlvbigpKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVy
biBhc09iamVjdChwcm90b3R5cGUpOworCisgICAgcmV0dXJuIGdsb2JhbE9iamVjdCh2bSktPm9i
amVjdFByb3RvdHlwZSgpOworfQorCiBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1bmN0aW9uOjphbGxv
Y2F0ZUFuZEluaXRpYWxpemVSYXJlRGF0YShFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSkKIHsKICAgICBBU1NFUlQoIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3Qq
Pih2bSwgZ2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlm
ICghcHJvdG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFBy
b3RvdHlwZSgpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1
Y3Rpb24odm0sIGV4ZWMpOwogICAgIEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gRnVuY3Rp
b25SYXJlRGF0YTo6Y3JlYXRlKHZtKTsKLSAgICByYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFs
bG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHkpOworICAgIHJhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0s
IGdsb2JhbE9iamVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogCiAg
ICAgLy8gQSBERkcgY29tcGlsYXRpb24gdGhyZWFkIG1heSBiZSB0cnlpbmcgdG8gcmVhZCB0aGUg
cmFyZSBkYXRhCiAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBpdCBzZWVzIGl0IHByb3Bl
cmx5IGFsbG9jYXRlZApAQCAtMTQ5LDExICsxNTgsOCBAQCBGdW5jdGlvblJhcmVEYXRhKiBKU0Z1
bmN0aW9uOjppbml0aWFsaXplCiB7CiAgICAgQVNTRVJUKCEhbV9yYXJlRGF0YSk7CiAgICAgVk0m
IHZtID0gZXhlYy0+dm0oKTsKLSAgICBKU09iamVjdCogcHJvdG90eXBlID0ganNEeW5hbWljQ2Fz
dDxKU09iamVjdCo+KHZtLCBnZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKSk7
Ci0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCh2
bSk7Ci0gICAgaWYgKCFwcm90b3R5cGUpCi0gICAgICAgIHByb3RvdHlwZSA9IGdsb2JhbE9iamVj
dC0+b2JqZWN0UHJvdG90eXBlKCk7Ci0gICAgbV9yYXJlRGF0YS0+aW5pdGlhbGl6ZU9iamVjdEFs
bG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNp
dHkpOworICAgIEpTT2JqZWN0KiBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JDb25zdHJ1Y3Rpb24o
dm0sIGV4ZWMpOworICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSh2bSwgZ2xvYmFsT2JqZWN0KHZtKSwgcHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgdGhp
cyk7CiAgICAgcmV0dXJuIG1fcmFyZURhdGEuZ2V0KCk7CiB9CiAKQEAgLTM3MSw3ICszNzcsNiBA
QCBib29sIEpTRnVuY3Rpb246OmdldE93blByb3BlcnR5U2xvdChKU09iCiAgICAgICAgICAgICBv
ZmZzZXQgPSB0aGlzT2JqZWN0LT5nZXREaXJlY3RPZmZzZXQodm0sIHZtLnByb3BlcnR5TmFtZXMt
PnByb3RvdHlwZSwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICBBU1NFUlQoaXNWYWxpZE9mZnNl
dChvZmZzZXQpKTsKICAgICAgICAgfQotCiAgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVj
dCwgYXR0cmlidXRlcywgdGhpc09iamVjdC0+Z2V0RGlyZWN0KG9mZnNldCksIG9mZnNldCk7CiAg
ICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5o
CShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0OCw2ICsxNDgsOSBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHNldEZ1bmN0aW9uTmFtZShFeGVjU3RhdGUqLCBKU1ZhbHVlIG5hbWUpOwogCisgICAg
Ly8gUmV0dXJucyB0aGUgX19wcm90b19fIGZvciB0aGUgfHRoaXN8IHZhbHVlIGlmIHRoaXMgSlNG
dW5jdGlvbiB3ZXJlIHRvIGJlIGNvbnN0cnVjdGVkLgorICAgIEpTT2JqZWN0KiBwcm90b3R5cGVG
b3JDb25zdHJ1Y3Rpb24oVk0mLCBFeGVjU3RhdGUqKTsKKwogcHJvdGVjdGVkOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSop
OwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3Ry
dWN0dXJlKik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCShy
ZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU01hcC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU01hcDo6aXNJdGVyYXRv
clByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFsT2JqZWN0LT5t
YXBTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoc3RydWN0dXJl
LT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgpKQorICAg
IGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPm1hcFByb3RvdHlwZSgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZt
KCk7CkBAIC03Myw2ICs3Myw5IEBAIGJvb2wgSlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2Vy
dmFibGUKICAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzTWFwUHJvdG90eXBlU2V0RmFzdEFu
ZE5vbk9ic2VydmFibGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgICAgICBp
ZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KwogICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmpl
Y3QtPm1hcFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAyMjI4
MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTc3MCw3ICs3NzAsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRJbmxpbmVTbG93
KEV4ZWNTdGF0ZSogCiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0
dXJlKHZtKS0+Z2V0KHZtLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAo
aXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAgICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSkgewotICAgICAgICAgICAgICAgIEFTU0VSVChzdHJ1
Y3R1cmUodm0pLT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5
TmFtZSkgfHwgb2JqID09IHRoaXMpOworICAgICAgICAgICAgICAgIEFTU0VSVCh0aGlzLT5wcm90
b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkgfHwgb2JqID09
IHRoaXMpOwogICAgICAgICAgICAgICAgIHJldHVybiB0eXBlRXJyb3IoZXhlYywgc2NvcGUsIHNs
b3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFkb25seVByb3BlcnR5V3JpdGVFcnJv
cikpOwogICAgICAgICAgICAgfQogCkBAIC0xMDE2LDcgKzEwMTYsNyBAQCBCdXR0ZXJmbHkqIEpT
T2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhlCiAgICAgQVNTRVJUKGxlbmd0aCA8PSBNQVhfU1RP
UkFHRV9WRUNUT1JfTEVOR1RIKTsKICAgICBJbmRleGluZ1R5cGUgb2xkVHlwZSA9IGluZGV4aW5n
VHlwZSgpOwogICAgIEFTU0VSVF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVz
KG9sZFR5cGUpKTsKLSAgICBBU1NFUlQoIXN0cnVjdHVyZSgpLT5uZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKTsKKyAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgIEFTU0VSVCgh
aW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHRo
aXMtPnN0cnVjdHVyZSh2bSk7CiAgICAgdW5zaWduZWQgcHJvcGVydHlDYXBhY2l0eSA9IHN0cnVj
dHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsKQEAgLTExMTIsNyArMTExMiw3IEBAIEFycmF5U3Rv
cmFnZSogSlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKIAogICAgIEJ1dHRlcmZseSogbmV3QnV0
dGVyZmx5ID0gY3JlYXRlQXJyYXlTdG9yYWdlQnV0dGVyZmx5KHZtLCB0aGlzLCBvbGRTdHJ1Y3R1
cmUsIGxlbmd0aCwgdmVjdG9yTGVuZ3RoLCBtX2J1dHRlcmZseS5nZXRNYXlCZU51bGwoKSk7CiAg
ICAgQXJyYXlTdG9yYWdlKiByZXN1bHQgPSBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwot
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5z
aXRpb24odm0sIG9sZFN0cnVjdHVyZSwgb2xkU3RydWN0dXJlLT5zdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKCkpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJl
Ojpub25Qcm9wZXJ0eVRyYW5zaXRpb24odm0sIG9sZFN0cnVjdHVyZSwgc3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKICAgICBudWtlU3RydWN0dXJlQW5kU2V0QnV0dGVyZmx5KHZt
LCBvbGRTdHJ1Y3R1cmVJRCwgbmV3QnV0dGVyZmx5KTsKICAgICBzZXRTdHJ1Y3R1cmUodm0sIG5l
d1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyMDcsNyArMTIwNyw3IEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWQKIAogQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6Y29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICBy
ZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5z
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0VW5k
ZWNpZGVkVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CiB9CiAKIENvbnRpZ3VvdXNEb3VibGVzIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0RvdWJs
ZShWTSYgdm0pCkBAIC0xMjY1LDcgKzEyNjUsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
b252ZXJ0SW50MzJUb0FyCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRJbnQzMlRv
QXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydEludDMyVG9BcnJheVN0
b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CisgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdWdnZXN0ZWRB
cnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmNvbnZlcnREb3VibGVUb0NvbnRpZ3VvdXMoVk0mIHZtKQpAQCAtMTMxOCw3ICsxMzE4LDcg
QEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydERvdWJsZVRvQQogCiBBcnJheVN0b3Jh
Z2UqIEpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UoVk0mIHZtKQogewotICAg
IHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnREb3Vi
bGVUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsK
IH0KIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3Rv
cmFnZShWTSYgdm0sIE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtMTM2Nyw3
ICsxMzY3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdQogCiBB
cnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKFZN
JiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwg
c3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsKKyAgICBy
ZXR1cm4gY29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlT
dG9yYWdlVHJhbnNpdGlvbigpKTsKIH0KIAogdm9pZCBKU09iamVjdDo6Y29udmVydFVuZGVjaWRl
ZEZvclZhbHVlKFZNJiB2bSwgSlNWYWx1ZSB2YWx1ZSkKQEAgLTE0NDgsNyArMTQ0OCw3IEBAIENv
bnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlSW50MzIKICAgICAKICAgICBzd2l0Y2gg
KGluZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0g
ICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJl
KHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRl
eGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAg
ICAgICByZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJ
bml0aWFsSW50MzIodm0sIDApOwogICAgICAgICAKQEAgLTE0NzUsNyArMTQ3NSw3IEBAIENvbnRp
Z3VvdXNEb3VibGVzIEpTT2JqZWN0OjplbnN1cmVEb3VibGUKICAgICAKICAgICBzd2l0Y2ggKGlu
ZGV4aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAg
ICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAg
ICByZXR1cm4gQ29udGlndW91c0RvdWJsZXMoKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxEb3VibGUodm0sIDApOwogICAgICAgICAKQEAgLTE1MDQsNyArMTUwNCw3IEBAIENvbnRpZ3Vv
dXNKU1ZhbHVlcyBKU09iamVjdDo6ZW5zdXJlQ29udGkKICAgICAKICAgICBzd2l0Y2ggKGluZGV4
aW5nVHlwZSgpKSB7CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6Ci0gICAgICAg
IGlmIChVTkxJS0VMWShpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgc3RydWN0dXJlKHZtKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCisgICAgICAgIGlmIChVTkxJS0VMWShpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpCiAgICAgICAgICAgICBy
ZXR1cm4gQ29udGlndW91c0pTVmFsdWVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFs
Q29udGlndW91cyh2bSwgMCk7CiAgICAgICAgIApAQCAtMTU0MSwyMiArMTU0MSwyMiBAQCBBcnJh
eVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhCiAgICAgICAgIAogICAgIGNhc2Ug
QUxMX1VOREVDSURFRF9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4aW5nKCkp
OwogICAgICAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9yYWdlKHZtKTsKICAg
ICAgICAgCiAgICAgY2FzZSBBTExfSU5UMzJfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VS
VCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsKLSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUo
dm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKKyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQ
dXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdl
KHZtKTsKICAgICAgICAgCiAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgogICAg
ICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCgh
c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCgh
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9B
cnJheVN0b3JhZ2Uodm0pOwogICAgICAgICAKICAgICBjYXNlIEFMTF9DT05USUdVT1VTX0lOREVY
SU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSk7Ci0g
ICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7Cisg
ICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAgICAgICAgIHJldHVybiBj
b252ZXJ0Q29udGlndW91c1RvQXJyYXlTdG9yYWdlKHZtKTsKICAgICAgICAgCiAgICAgZGVmYXVs
dDoKQEAgLTE2MzQsMTQgKzE2MzQsMTcgQEAgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlRGly
ZWN0KFZNJiB2bQogICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKICAgICAgICAgdm0ucHJv
dG90eXBlTWFwLmFkZFByb3RvdHlwZShhc09iamVjdChwcm90b3R5cGUpKTsKICAgICAKLSAgICBT
dHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNp
dGlvbih2bSwgc3RydWN0dXJlKHZtKSwgcHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUodm0s
IG5ld1N0cnVjdHVyZSk7Ci0gICAgCi0gICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdElu
Q2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICBpZiAoc3RydWN0dXJlKHZt
KS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBT
dHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSh2bSksIHBy
b3RvdHlwZSk7CisgICAgICAgIHNldFN0cnVjdHVyZSh2bSwgbmV3U3RydWN0dXJlKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgcHV0RGlyZWN0KHZtLCBzdHJ1Y3R1cmUodm0pLT5wb2x5UHJvdG9PZmZz
ZXQoKSwgcHJvdG90eXBlKTsKKworICAgIGlmICghYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgaWYgKHZtLnBy
b3RvdHlwZU1hcC5pc1Byb3RvdHlwZSh0aGlzKSkgewotICAgICAgICBuZXdTdHJ1Y3R1cmUtPmds
b2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUodm0pOworICAgICAgICBzdHJ1Y3R1cmUodm0pLT5n
bG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKHZtKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICAKQEAgLTE5NTIsNyArMTk1NSw4IEBAIEpTVmFsdWUgSlNPYmplY3Q6Om9yZGluYXJ5VG9Q
cmltaXRpdmUoRXgKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGRlZmF1bHQgdmFs
dWUgbWV0aG9kcyB0aGVyZSBhcmUgb24gb2JqZWN0J3MgcHJvdG90eXBlIGNoYWluIGFyZQogICAg
IC8vIGJlaW5nIHdhdGNoZWQuCi0gICAgdGhpcy0+c3RydWN0dXJlKCktPnN0YXJ0V2F0Y2hpbmdJ
bnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeUZvckVudGlyZUNoYWluKHZtKTsKKyAgICBmb3Ig
KGNvbnN0IEpTT2JqZWN0KiBvYmplY3QgPSB0aGlzOyBvYmplY3Q7IG9iamVjdCA9IG9iamVjdC0+
c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIG9i
amVjdC0+c3RydWN0dXJlKHZtKS0+c3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVj
ZXNzYXJ5KHZtKTsKIAogICAgIEpTVmFsdWUgdmFsdWU7CiAgICAgaWYgKGhpbnQgPT0gUHJlZmVy
U3RyaW5nKSB7CkBAIC0yNzI3LDcgKzI3MzEsNyBAQCBib29sIEpTT2JqZWN0OjpwdXRCeUluZGV4
QmV5b25kVmVjdG9yTGVuCiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleEJleW9uZFZlY3Rv
ckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoCiAgICAgICAgICAgICAgICAgZXhlYywgaSwgdmFsdWUs
IHNob3VsZFRocm93LCBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQot
ICAgICAgICBpZiAoc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAg
ICAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgewogICAgICAgICAgICAgLy8gQ29udmVy
dCB0aGUgaW5kZXhpbmcgdHlwZSB0byB0aGUgU2xvd1B1dEFycmF5U3RvcmFnZSBhbmQgcmV0cnku
CiAgICAgICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2Uodm0sIGkgKyAxLCBnZXROZXdWZWN0b3JM
ZW5ndGgoMCwgMCwgMCwgaSArIDEpKTsKICAgICAgICAgICAgIHJldHVybiBwdXRCeUluZGV4KHRo
aXMsIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7CkBAIC0yODc5LDcgKzI4ODMsNyBAQCBi
b29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleFNsb3dPckJleW9uCiAgICAgICAgICAgICByZXR1
cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKAogICAg
ICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBjcmVhdGVBcnJh
eVN0b3JhZ2Uodm0sIDAsIDApKTsKICAgICAgICAgfQotICAgICAgICBpZiAoc3RydWN0dXJlKHZt
KS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkgeworICAgICAgICBpZiAobmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSkgewogICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gY3JlYXRlQXJy
YXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkgKyAxKSk7
CiAgICAgICAgICAgICBzdG9yYWdlLT5tX3ZlY3RvcltpXS5zZXQodm0sIHRoaXMsIHZhbHVlKTsK
ICAgICAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3IrKzsKQEAgLTM1NTksNyAr
MzU2Myw3IEBAIHVpbnQzMl90IEpTT2JqZWN0OjpnZXRFbnVtZXJhYmxlTGVuZ3RoKEUKIHsKICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gb2JqZWN0
LT5zdHJ1Y3R1cmUodm0pOwotICAgIGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZSh2bSkpCisgICAgaWYgKHN0cnVjdHVyZS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKHZtLCBvYmplY3QpKQogICAgICAgICByZXR1cm4gMDsKICAgICBzd2l0Y2ggKG9iamVjdC0+
aW5kZXhpbmdUeXBlKCkpIHsKICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKQEAg
LTM2NjksNCArMzY3Myw1NiBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpnZXRNZXRob2QoRXhlY1N0YXRl
KiBlCiAgICAgcmV0dXJuIG1ldGhvZDsKIH0KIAorYm9vbCBKU09iamVjdDo6YW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7CisgICAgVk0mIHZtID0g
KnRoaXMtPnZtKCk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDsp
IHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPm1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPmdldFByb3RvdHlwZURpcmVjdCgpOworICAg
ICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQor
fQorCitib29sIEpTT2JqZWN0Ojpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0m
IHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQoreworICAgIGlmIChwYXJzZUluZGV4KHBy
b3BlcnR5TmFtZSkpCisgICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgCisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IHRo
aXM7IDspIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5
cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90
b3R5cGUpOworICAgICAgICAKKyAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKKyAgICAgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+Z2V0KHZtLCBw
cm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOworICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNl
dChvZmZzZXQpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIAorICAgICAgICBpZiAo
YXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6QWNjZXNzb3IpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0OjpuZWVkc1Nsb3dQ
dXRJbmRleGluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGlt
ZSgpOworfQorCitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gSlNPYmplY3Q6OnN1Z2dlc3RlZEFycmF5
U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAoreworICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGlu
ZygpKQorICAgICAgICByZXR1cm4gTm9uUHJvcGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQ
dXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6
QWxsb2NhdGVBcnJheVN0b3JhZ2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAyMjI4MDEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiUHV0RGlyZWN0SW5kZXhNb2RlLmgiCiAjaW5j
bHVkZSAiUHV0UHJvcGVydHlTbG90LmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCisjaW5jbHVk
ZSAiU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgiCiAjaW5jbHVkZSAiVk0uaCIKICNpbmNsdWRl
ICJKU1N0cmluZy5oIgogI2luY2x1ZGUgIlNwYXJzZUFycmF5VmFsdWVNYXAuaCIKQEAgLTczMyw2
ICs3MzQsMTIgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29sIGlz
RXh0ZW5zaWJsZShKU09iamVjdCosIEV4ZWNTdGF0ZSopOwogICAgIGJvb2wgaXNTZWFsZWQoVk0m
IHZtKSB7IHJldHVybiBzdHJ1Y3R1cmUodm0pLT5pc1NlYWxlZCh2bSk7IH0KICAgICBib29sIGlz
RnJvemVuKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJlKHZtKS0+aXNGcm96ZW4odm0pOyB9CisK
KyAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBj
b25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJj
ZXB0U3RvcmVUbyhWTSYsIFByb3BlcnR5TmFtZSk7CisgICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRl
eGluZygpIGNvbnN0OworICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0
b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgQUxXQVlTX0lOTElORSBi
b29sIGlzRXh0ZW5zaWJsZUltcGwoKSB7IHJldHVybiBpc1N0cnVjdHVyZUV4dGVuc2libGUoKTsg
fQogcHVibGljOgpAQCAtODY2LDcgKzg3Myw3IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBp
bmZvKCkpKTsKLSAgICAgICAgQVNTRVJUKGdldFByb3RvdHlwZURpcmVjdCgpLmlzTnVsbCgpIHx8
IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQcm90b3R5cGVEaXJlY3QoKSkpOwor
ICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmhhc1BvbHlQcm90bygpIHx8IGdldFByb3RvdHlw
ZURpcmVjdCgpLmlzTnVsbCgpIHx8IEhlYXA6OmhlYXAodGhpcykgPT0gSGVhcDo6aGVhcChnZXRQ
cm90b3R5cGVEaXJlY3QoKSkpOwogICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmlzT2JqZWN0
KCkpOwogICAgICAgICBBU1NFUlQoY2xhc3NJbmZvKHZtKSk7CiAgICAgfQpAQCAtMTI5OCw3ICsx
MzA1LDcgQEAgaW5saW5lIEpTT2JqZWN0OjpKU09iamVjdChWTSYgdm0sIFN0cnVjdAogCiBpbmxp
bmUgSlNWYWx1ZSBKU09iamVjdDo6Z2V0UHJvdG90eXBlRGlyZWN0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOworICAgIHJldHVybiBzdHJ1Y3R1
cmUoKS0+c3RvcmVkUHJvdG90eXBlKHRoaXMpOwogfQogCiBpbmxpbmUgSlNWYWx1ZSBKU09iamVj
dDo6Z2V0UHJvdG90eXBlKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjKQpAQCAtMTQwMCw3ICsxNDA3
LDkgQEAgQUxXQVlTX0lOTElORSBib29sIEpTT2JqZWN0OjpnZXRQcm9wZXJ0eQogICAgICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHN0cnVjdHVyZUlEVGFibGUuZ2V0KG9iamVjdC0+c3RydWN0
dXJlSUQoKSk7CiAgICAgICAgIGlmIChvYmplY3QtPmdldE93bk5vbkluZGV4UHJvcGVydHlTbG90
KHZtLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZSwgc2xvdCkpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpOworICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGZv
bGxvd2luZyB0aGUgc3BlY2lmaWNhdGlvbjoKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjU3MgorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90
eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgb2JqZWN0ID0gYXNP
YmplY3QocHJvdG90eXBlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0SW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0SW5saW5lcy5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2
LDcgKzExNiw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAg
ICAgaWYgKExJS0VMWShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90
b3R5cGUgPT0gZGVmYXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgp
ID09IFByb3BlcnR5U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAg
ICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
ICAgIHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVs
c2UgewogICAgICAgICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4
ZWMpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAt
MTUwLDcgKzE1MCw3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6Z2V0Tm9uSW5kZXgK
ICAgICAgICAgfQogICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZTsKICAgICAgICAgaWYgKExJS0VM
WShzdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5nZXRQcm90b3R5cGUgPT0gZGVm
YXVsdEdldFByb3RvdHlwZSB8fCBzbG90LmludGVybmFsTWV0aG9kVHlwZSgpID09IFByb3BlcnR5
U2xvdDo6SW50ZXJuYWxNZXRob2RUeXBlOjpWTUlucXVpcnkpKQotICAgICAgICAgICAgcHJvdG90
eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgICAgIHByb3RvdHlw
ZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CiAgICAgICAgIGVsc2UgewogICAgICAg
ICAgICAgcHJvdG90eXBlID0gb2JqZWN0LT5nZXRQcm90b3R5cGUodm0sIGV4ZWMpOwogICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZmFsc2UpOwpAQCAtMjE5LDcgKzIxOSw3
IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lRm8KICAgICB9CiAKICAg
ICBpZiAodGhpc09iamVjdC0+Y2FuUGVyZm9ybUZhc3RQdXRJbmxpbmUodm0sIHByb3BlcnR5TmFt
ZSkpIHsKLSAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT5wcm90b3R5
cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOworICAgICAgICBB
U1NFUlQoIXRoaXNPYmplY3QtPnByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVUbyh2bSwg
cHJvcGVydHlOYW1lKSk7CiAgICAgICAgIGlmICghdGhpc09iamVjdC0+cHV0RGlyZWN0SW50ZXJu
YWw8UHV0TW9kZVB1dD4odm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIDAsIHNsb3QpKQogICAgICAg
ICAgICAgcmV0dXJuIHR5cGVFcnJvcihleGVjLCBzY29wZSwgc2xvdC5pc1N0cmljdE1vZGUoKSwg
QVNDSUlMaXRlcmFsKFJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSk7CiAgICAgICAgIHJldHVy
biB0cnVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVy
YXRvciogcHJvcGVydAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZS0+c3RydWN0dXJl
KHZtKTsKICAgICBpZiAoIWluZGV4ZWRMZW5ndGgKICAgICAgICAgJiYgKGVudW1lcmF0b3IgPSBz
dHJ1Y3R1cmUtPmNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgJiYgZW51
bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNo
YWluKGV4ZWMpKQorICAgICAgICAmJiBlbnVtZXJhdG9yLT5jYWNoZWRQcm90b3R5cGVDaGFpbigp
ID09IHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYywgYmFzZSkpCiAgICAgICAgIHJldHVy
biBlbnVtZXJhdG9yOwogCiAgICAgdWludDMyX3QgbnVtYmVyU3RydWN0dXJlUHJvcGVydGllcyA9
IDA7CkBAIC0xMzMsMTIgKzEzMywxNSBAQCBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KiBwcm9wZXJ0CiAKICAgICBBU1NFUlQocHJvcGVydHlOYW1lcy5zaXplKCkgPCBVSU5UMzJfTUFY
KTsKIAotICAgIGJvb2wgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW47Cisg
ICAgYm9vbCBzYXdQb2x5UHJvdG87CisgICAgYm9vbCBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hh
aW4gPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBiYXNlLCBzYXdQb2x5UHJvdG8pICE9
IEludmFsaWRQcm90b3R5cGVDaGFpbjsKIAogICAgIGVudW1lcmF0b3IgPSBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3I6OmNyZWF0ZSh2bSwgc3RydWN0dXJlLCBpbmRleGVkTGVuZ3RoLCBudW1iZXJT
dHJ1Y3R1cmVQcm9wZXJ0aWVzLCBXVEZNb3ZlKHByb3BlcnR5TmFtZXMpKTsKLSAgICBlbnVtZXJh
dG9yLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFpbih2bSwgc3RydWN0dXJlLT5wcm90b3R5cGVDaGFp
bihleGVjKSk7Ci0gICAgaWYgKCFpbmRleGVkTGVuZ3RoICYmIHN1Y2Nlc3NmdWxseU5vcm1hbGl6
ZWRDaGFpbiAmJiBzdHJ1Y3R1cmUtPmNhbkNhY2hlUHJvcGVydHlOYW1lRW51bWVyYXRvcigpKQot
ICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3Iodm0sIGVu
dW1lcmF0b3IpOworICAgIGlmICghaW5kZXhlZExlbmd0aCAmJiBzdWNjZXNzZnVsbHlOb3JtYWxp
emVkQ2hhaW4gJiYgYmFzZS0+c3RydWN0dXJlKHZtKSA9PSBzdHJ1Y3R1cmUpIHsKKyAgICAgICAg
ZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJvdG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90
eXBlQ2hhaW4oZXhlYywgYmFzZSkpOworICAgICAgICBpZiAoc3RydWN0dXJlLT5jYW5DYWNoZVBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKKyAgICAgICAgICAgIHN0cnVjdHVyZS0+c2V0Q2FjaGVk
UHJvcGVydHlOYW1lRW51bWVyYXRvcih2bSwgZW51bWVyYXRvcik7CisgICAgfQogICAgIHJldHVy
biBlbnVtZXJhdG9yOwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1NldC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNT
ZXQuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU1NldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgYm9vbCBKU1NldDo6
aXNJdGVyYXRvclByb3RvY29sRmFzdEFuZE5vbgogICAgIGlmIChzdHJ1Y3R1cmUgPT0gZ2xvYmFs
T2JqZWN0LT5zZXRTdHJ1Y3R1cmUoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAo
c3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90
eXBlKCkpCisgICAgaWYgKGdldFByb3RvdHlwZURpcmVjdCgpICE9IGdsb2JhbE9iamVjdC0+anNT
ZXRQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xv
YmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMsOSBAQCBib29sIEpTU2V0OjpjYW5DbG9uZUZh
c3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc1NldFByb3Rv
dHlwZUFkZEZhc3RBbmROb25PYnNlcnZhYmxlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkg
IT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5Q2xhc3NTdHJ1
Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MYXp5
Q2xhc3NTdHJ1Y3R1cmUuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwx
MyArMTAxLDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9zdHJ1Y3R1cmUuZ2V0Q29uY3Vy
cmVudGx5KCk7CiAgICAgfQogICAgIAotICAgIEpTT2JqZWN0KiBwcm90b3R5cGVDb25jdXJyZW50
bHkoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2V0
Q29uY3VycmVudGx5KCkpCi0gICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlLT5zdG9yZWRQcm90
b3R5cGVPYmplY3QoKTsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotICAgIAogICAg
IEpTT2JqZWN0KiBjb25zdHJ1Y3RvckNvbmN1cnJlbnRseSgpIGNvbnN0CiAgICAgewogICAgICAg
ICByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTM2LDIzICsxMzYsMzAgQEAgYm9vbCBqc0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUgdikKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJh
bWUqIGNhbGxGcmFtZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCitzaXplX3Qgbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTQ2VsbCogYmFzZSwgYm9vbCYgc2F3
UG9seVByb3RvKQogewogICAgIFZNJiB2bSA9IGNhbGxGcmFtZS0+dm0oKTsKICAgICBzaXplX3Qg
Y291bnQgPSAwOworICAgIHNhd1BvbHlQcm90byA9IGZhbHNlOworICAgIEpTQ2VsbCogY3VycmVu
dCA9IGJhc2U7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGNhbGxGcmFtZS0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpOwogICAgIHdoaWxlICgxKSB7CisgICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gY3VycmVudC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+aXNQcm94eSgpKQogICAgICAgICAgICAgcmV0dXJuIEludmFsaWRQcm90b3R5cGVDaGFp
bjsKLSAgICAgICAgSlNWYWx1ZSB2ID0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2Fs
bEZyYW1lKTsKLSAgICAgICAgaWYgKHYuaXNOdWxsKCkpCisKKyAgICAgICAgc2F3UG9seVByb3Rv
IHw9IHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCk7CisKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QsIGN1cnJlbnQp
OworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJuIGNv
dW50OwogCi0gICAgICAgIEpTQ2VsbCogYmFzZSA9IHYuYXNDZWxsKCk7Ci0gICAgICAgIHN0cnVj
dHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CisgICAgICAgIGN1cnJlbnQgPSBwcm90b3R5cGUu
YXNDZWxsKCk7CisgICAgICAgIHN0cnVjdHVyZSA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSk7CiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzRGljdGlvbmFyeSgpKSB7CiAgICAgICAgICAgICBpZiAo
c3RydWN0dXJlLT5oYXNCZWVuRmxhdHRlbmVkQmVmb3JlKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIEludmFsaWRQcm90b3R5cGVDaGFpbjsKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+ZmxhdHRl
bkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGJhc2UpKTsKKyAgICAgICAgICAgIHN0
cnVjdHVyZS0+ZmxhdHRlbkRpY3Rpb25hcnlTdHJ1Y3R1cmUodm0sIGFzT2JqZWN0KGN1cnJlbnQp
KTsKICAgICAgICAgfQogCiAgICAgICAgICsrY291bnQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3BlcmF0aW9ucy5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0
LDcgKzM0LDcgQEAgSlNWYWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShDYWxsRnJhbWUqLAogSlNW
YWx1ZSBqc1R5cGVTdHJpbmdGb3JWYWx1ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSk7
CiBib29sIGpzSXNPYmplY3RUeXBlT3JOdWxsKENhbGxGcmFtZSosIEpTVmFsdWUpOwogYm9vbCBq
c0lzRnVuY3Rpb25UeXBlKEpTVmFsdWUpOwotc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSosIFN0cnVjdHVyZSopOworc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWlu
KENhbGxGcmFtZSosIEpTQ2VsbCosIGJvb2wmIHNhd1BvbHlQcm90byk7CiAKIEFMV0FZU19JTkxJ
TkUgSlNTdHJpbmcqIGpzU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHMxLCBKU1N0
cmluZyogczIpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5o
CShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRp
b25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3MCw3ICs0NzAsOCBAQCB0eXBlZGVmIGNvbnN0IGNo
YXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZUZhc3RUTFNGb3JXYXNtQ29udGV4dCwg
dHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCBzdG9yZSBjb250ZXh0IGluIGZhc3QgVExT
LiBJZiBmYWxzZSwgd2Ugd2lsbCBwaW4gaXQgdG8gYSByZWdpc3Rlci4iKSBcCiAgICAgdihib29s
LCB1c2VDYWxsSUNzRm9yV2ViQXNzZW1ibHlUb0pTQ2FsbHMsIHRydWUsIE5vcm1hbCwgIklmIHRy
dWUsIHdlIHdpbGwgdXNlIENhbGxMaW5rSW5mbyB0byBpbmxpbmUgY2FjaGUgV2FzbSB0byBKUyBj
YWxscy4iKSBcCiAgICAgdihib29sLCB1c2VPYmplY3RSZXN0U3ByZWFkLCB0cnVlLCBOb3JtYWws
ICJJZiB0cnVlLCB3ZSB3aWxsIGVuYWJsZSBPYmplY3QgUmVzdC9TcHJlYWQgZmVhdHVyZS4iKSBc
Ci0gICAgdihib29sLCB1c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmcsIHRydWUsIE5vcm1hbCwg
IklmIHRydWUsIHdlIHdpbGwgdXNlIG91ciBub3JtYWwgYXJyYXkgYWxsb2NhdGlvbiBwcm9maWxp
bmcuIElmIGZhbHNlLCB0aGUgYWxsb2NhdGlvbiBwcm9maWxlIHdpbGwgYWx3YXlzIGNsYWltIHRv
IGJlIHVuZGVjaWRlZC4iKQorICAgIHYoYm9vbCwgdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5n
LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBvdXIgbm9ybWFsIGFycmF5IGFs
bG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSB3aWxs
IGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIilcCisgICAgdihib29sLCBmb3JjZVBvbHlQ
cm90bywgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIGNyZWF0ZV90aGlzIHdpbGwgYWx3YXlzIGNy
ZWF0ZSBhbiBvYmplY3Qgd2l0aCBhIHBvbHkgcHJvdG8gc3RydWN0dXJlLiIpCiAKIAogZW51bSBP
cHRpb25FcXVpdmFsZW5jZSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE4
ICs1NCwzNCBAQCB2b2lkIFByb3RvdHlwZU1hcDo6YWRkUHJvdG90eXBlKEpTT2JqZWN0CiAgICAg
Ly8gdXNlZCBhcyBhIHByb3RvdHlwZS4KIH0KIAotaW5saW5lIFN0cnVjdHVyZSogUHJvdG90eXBl
TWFwOjpjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNz
SW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSkKK2lubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlT
dHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywg
SW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wg
bWFrZVBvbHlQcm90b1N0cnVjdHVyZSkKIHsKLSAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90dXBs
ZShwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjbGFzc0luZm8sIGdsb2JhbE9iamVjdCk7Cisg
ICAgUkVMRUFTRV9BU1NFUlQoISFwcm90b3R5cGUpOyAvLyBXZSB1c2UgbnVsbHB0ciBpbnNpZGUg
dGhlIEhhc2hNYXAgZm9yIHByb3RvdHlwZSB0byBtZWFuIHBvbHkgcHJvdG8sIHNvIHVzZXIncyBv
ZiB0aGlzIEFQSSBtdXN0IHByb3ZpZGUgbm9uLW51bGwgcHJvdG90eXBlcy4KKworICAgIGF1dG8g
a2V5ID0gc3RkOjptYWtlX3R1cGxlKG1ha2VQb2x5UHJvdG9TdHJ1Y3R1cmUgPyBudWxscHRyIDog
cHJvdG90eXBlLCBpbmxpbmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOwogICAg
IGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fc3RydWN0dXJlcy5nZXQoa2V5KSkgeworICAg
ICAgICBpZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICAgICAgYWRkUHJvdG90
eXBlKHByb3RvdHlwZSk7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUtPmhh
c1BvbHlQcm90bygpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKTsKICAgICAgICAgQVNTRVJUKGlzUHJvdG90eXBl
KHByb3RvdHlwZSkpOwogICAgICAgICByZXR1cm4gc3RydWN0dXJlOwogICAgIH0KIAogICAgIGFk
ZFByb3RvdHlwZShwcm90b3R5cGUpOwotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gU3RydWN0
dXJlOjpjcmVhdGUoCi0gICAgICAgIGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBw
cm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNp
dHkpOworCisgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlOworICAgIGlmIChtYWtlUG9seVByb3RvU3RydWN0dXJlKSB7CisgICAgICAgIHN0
cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAorICAgICAgICAgICAgU3RydWN0dXJlOjpQb2x5
UHJvdG8sIHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUluZm8sIGNsYXNzSW5mbywg
aW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc3Ry
dWN0dXJlID0gU3RydWN0dXJlOjpjcmVhdGUoCisgICAgICAgICAgICB2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2Fw
YWNpdHkpOworICAgIH0KICAgICBtX3N0cnVjdHVyZXMuc2V0KGtleSwgV2VhazxTdHJ1Y3R1cmU+
KHN0cnVjdHVyZSkpOworCiAgICAgcmV0dXJuIHN0cnVjdHVyZTsKIH0KIApAQCAtNzMsMjAgKzg5
LDIxIEBAIFN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eVN0cnVjdHVyZUYKIHsKICAgICAv
LyBXZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgaW5saW5lIGNhcGFjaXR5IHN0YXRpYyBhbmFseXNp
cyBmb3Igc3ViY2xhc3NlcyBhbmQgYWxsIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0cnVjdG9ycyBo
YXZlIGEgZGVmYXVsdCBpbmxpbmUgY2FwYWNpdHkgb2YgMC4KICAgICBJbmRleGluZ1R5cGUgaW5k
ZXhpbmdUeXBlID0gYmFzZVN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgaWYgKHByb3Rv
dHlwZS0+c3RydWN0dXJlKCktPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSAmJiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQorICAgIGlmIChw
cm90b3R5cGUtPmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSAm
JiBoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUpKQogICAgICAgICBpbmRleGluZ1R5
cGUgPSAoaW5kZXhpbmdUeXBlICYgfkluZGV4aW5nU2hhcGVNYXNrKSB8IFNsb3dQdXRBcnJheVN0
b3JhZ2VTaGFwZTsKIAotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+
Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3Ry
dWN0dXJlKGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBiYXNlU3RydWN0dXJlLT50eXBlSW5mbygp
LCBiYXNlU3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaW5kZXhpbmdUeXBlLCAwLCBmYWxzZSk7CiB9
CiAKLVN0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3Rv
dHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogcHJvdG90eXBlLCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK1N0cnVjdHVyZSogUHJvdG90eXBlTWFwOjplbXB0eU9i
amVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9s
eVByb3RvU3RydWN0dXJlKQogewotICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5hbE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9i
amVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVD
YXBhY2l0eSk7CisgICAgcmV0dXJuIGNyZWF0ZUVtcHR5U3RydWN0dXJlKGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBKU0ZpbmFsT2JqZWN0Ojp0eXBlSW5mbygpLCBKU0ZpbmFsT2JqZWN0OjppbmZv
KCksIEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5LCBt
YWtlUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogdm9pZCBQcm90b3R5cGVNYXA6OmNsZWFyRW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIG9iamVjdCwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAgbV9z
dHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2VfdHVwbGUob2JqZWN0LCBpbmxpbmVDYXBhY2l0eSwg
SlNGaW5hbE9iamVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKKyAgICBtX3N0cnVjdHVyZXMu
cmVtb3ZlKHN0ZDo6bWFrZV90dXBsZShudWxscHRyLCBpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9i
amVjdDo6aW5mbygpLCBnbG9iYWxPYmplY3QpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlNDCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAuaAkocmV2
aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBl
TWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDE4ICs0NiwxOCBAQCBwdWJsaWM6CiAgICAgewog
ICAgIH0KIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlPYmplY3RTdHJ1
Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIHVuc2lnbmVkIGlu
bGluZUNhcGFjaXR5KTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2Jq
ZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNp
Z25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJlID0gZmFsc2Up
OwogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0cnVjdHVyZSogZW1wdHlTdHJ1Y3R1cmVGb3JQcm90
b3R5cGVGcm9tQmFzZVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgU3RydWN0
dXJlKik7CiAgICAgdm9pZCBjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBlKEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRQcm90b3R5cGUoSlNPYmplY3QqKTsKICAgICBpbmxp
bmUgVHJpU3RhdGUgaXNQcm90b3R5cGUoSlNPYmplY3QqKSBjb25zdDsgLy8gUmV0dXJucyBhIGNv
bnNlcnZhdGl2ZSBlc3RpbWF0ZS4KIAogcHJpdmF0ZToKLSAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVt
cHR5U3RydWN0dXJlKEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3Qg
VHlwZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGlu
ZUNhcGFjaXR5KTsKKyAgICBTdHJ1Y3R1cmUqIGNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFs
T2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFz
c0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQ
b2x5UHJvdG9TdHJ1Y3R1cmUpOwogCiAgICAgV2Vha0dDTWFwPEpTT2JqZWN0KiwgSlNPYmplY3Q+
IG1fcHJvdG90eXBlczsKICAgICAvLyBGSVhNRTogbWFrZSB0aGUga2V5IGEgc3RydWN0LgotICAg
IHR5cGVkZWYgV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1bnNpZ25lZCwgY29uc3Qg
Q2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPiBTdHJ1Y3R1cmVNYXA7Cisg
ICAgdXNpbmcgU3RydWN0dXJlTWFwID0gV2Vha0dDTWFwPHN0ZDo6dHVwbGU8SlNPYmplY3QqLCB1
bnNpZ25lZCwgY29uc3QgQ2xhc3NJbmZvKiwgSlNHbG9iYWxPYmplY3QqPiwgU3RydWN0dXJlPjsK
ICAgICBTdHJ1Y3R1cmVNYXAgbV9zdHJ1Y3R1cmVzOwogfTsKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xODgsNiArMTg4LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2Jh
bE9iagogICAgICwgbV9jbGFzc0luZm8oY2xhc3NJbmZvKQogICAgICwgbV90cmFuc2l0aW9uV2F0
Y2hwb2ludFNldChJc1dhdGNoZWQpCiAgICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAg
ICwgbV9wcm9wZXJ0eUhhc2goMCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2luZChOb25lRGljdGlv
bmFyeUtpbmQpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yMjAs
NiArMjIxLDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtKQogICAgICwgbV9jbGFzc0lu
Zm8oaW5mbygpKQogICAgICwgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldChJc1dhdGNoZWQpCiAg
ICAgLCBtX29mZnNldChpbnZhbGlkT2Zmc2V0KQorICAgICwgbV9wcm9wZXJ0eUhhc2goMCkKIHsK
ICAgICBzZXREaWN0aW9uYXJ5S2luZChOb25lRGljdGlvbmFyeUtpbmQpOwogICAgIHNldElzUGlu
bmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0yNDcsMTAgKzI0OSwxMSBAQCBTdHJ1Y3R1cmU6
OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVj
dHVyZVN0cnVjdHVyZS5nZXQoKSkKICAgICAsIG1faW5saW5lQ2FwYWNpdHkocHJldmlvdXMtPm1f
aW5saW5lQ2FwYWNpdHkpCiAgICAgLCBtX2JpdEZpZWxkKDApCi0gICAgLCBtX3Byb3RvdHlwZSh2
bSwgdGhpcywgcHJldmlvdXMtPnN0b3JlZFByb3RvdHlwZSgpKQorICAgICwgbV9wcm90b3R5cGUo
dm0sIHRoaXMsIHByZXZpb3VzLT5tX3Byb3RvdHlwZS5nZXQoKSkKICAgICAsIG1fY2xhc3NJbmZv
KHByZXZpb3VzLT5tX2NsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQo
SXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVy
dHlIYXNoKHByZXZpb3VzLT5tX3Byb3BlcnR5SGFzaCkKIHsKICAgICBzZXREaWN0aW9uYXJ5S2lu
ZChwcmV2aW91cy0+ZGljdGlvbmFyeUtpbmQoKSk7CiAgICAgc2V0SXNQaW5uZWRQcm9wZXJ0eVRh
YmxlKGZhbHNlKTsKQEAgLTI5Niw2ICsyOTksMjMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRlc3Ryb3ko
SlNDZWxsKiBjZWxsKQogICAgIHN0YXRpY19jYXN0PFN0cnVjdHVyZSo+KGNlbGwpLT5TdHJ1Y3R1
cmU6On5TdHJ1Y3R1cmUoKTsKIH0KIAorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShQb2x5
UHJvdG9UYWcsIFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3Qq
IHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNs
YXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHkpCit7CisgICAgU3RydWN0dXJlKiByZXN1bHQgPSBjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFj
aXR5KTsKKworICAgIHVuc2lnbmVkIG9sZE91dE9mTGluZUNhcGFjaXR5ID0gcmVzdWx0LT5vdXRP
ZkxpbmVDYXBhY2l0eSgpOworICAgIHJlc3VsdC0+YWRkUHJvcGVydHlXaXRob3V0VHJhbnNpdGlv
bigKKyAgICAgICAgdm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnVuZGVyc2Nv
cmVQcm90b1ByaXZhdGVOYW1lKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLAorICAgICAgICBbJl0gKGNvbnN0IEdDU2FmZUNvbmN1cnJlbnRKU0xv
Y2tlciYsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNl
dCkgeworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoU3RydWN0dXJlOjpvdXRPZkxpbmVDYXBh
Y2l0eShuZXdMYXN0T2Zmc2V0KSA9PSBvbGRPdXRPZkxpbmVDYXBhY2l0eSk7CisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVChpc0lubGluZU9mZnNldChvZmZzZXQpKTsKKyAgICAgICAgICAgIHJl
c3VsdC0+bV9wcm90b3R5cGUuc2V0KHZtLCByZXN1bHQsIGpzTnVtYmVyKG9mZnNldCkpOworICAg
ICAgICAgICAgcmVzdWx0LT5zZXRMYXN0T2Zmc2V0KG5ld0xhc3RPZmZzZXQpOworICAgICAgICB9
KTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgU3RydWN0dXJlOjpmaW5kU3RydWN0
dXJlc0FuZE1hcEZvck1hdGVyaWFsaXphdGlvbihWZWN0b3I8U3RydWN0dXJlKiwgOD4mIHN0cnVj
dHVyZXMsIFN0cnVjdHVyZSomIHN0cnVjdHVyZSwgUHJvcGVydHlUYWJsZSomIHRhYmxlKQogewog
ICAgIEFTU0VSVChzdHJ1Y3R1cmVzLmlzRW1wdHkoKSk7CkBAIC0zOTksMjYgKzQxOSwxNCBAQCBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIGFkZFBy
b3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKHN0cnVjdHVyZSwgdWlkLCBh
dHRyaWJ1dGVzLCBvZmZzZXQpOwogfQogCi1ib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Citib29sIFN0cnVjdHVyZTo6aG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiB2bSwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7
Ci0gICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7Ci0gICAgICAg
IGlmIChjdXJyZW50LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJy
ZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGN1cnJlbnQgPSBh
c09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKLSAgICB9Ci19CisgICAgQVNTRVJUKGJh
c2UtPnN0cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAKLWJvb2wgU3RydWN0dXJlOjpob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUoVk0mIHZtKSBjb25zdAotewogICAgIGlmICh0aGlzLT5tYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBKU1Zh
bHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0b3JlZFByb3RvdHlwZSgpOworICAgIEpTVmFsdWUgcHJv
dG90eXBlID0gdGhpcy0+c3RvcmVkUHJvdG90eXBlKGJhc2UpOwogICAgIGlmICghcHJvdG90eXBl
LmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBKU09iamVjdCogb2JqZWN0
ID0gYXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQyNyw3ICs0MzUsNyBAQCBib29sIFN0cnVjdHVy
ZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90CiAgICAgICAgIFN0cnVjdHVyZSYgc3RydWN0dXJl
ID0gKm9iamVjdC0+c3RydWN0dXJlKHZtKTsKICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0
aWVzKG9iamVjdC0+aW5kZXhpbmdUeXBlKCkpIHx8IHN0cnVjdHVyZS5tYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBwcm90b3R5
cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIHByb3RvdHlwZSA9IHN0
cnVjdHVyZS5zdG9yZWRQcm90b3R5cGUob2JqZWN0KTsKICAgICAgICAgaWYgKCFwcm90b3R5cGUu
aXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgb2JqZWN0ID0g
YXNPYmplY3QocHJvdG90eXBlKTsKQEAgLTQzNywyMCArNDQ1LDYgQEAgYm9vbCBTdHJ1Y3R1cmU6
OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBT
dHJ1Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gYW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCi0gICAgICAgIHx8IGds
b2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCk7Ci19Ci0KLU5vblByb3BlcnR5VHJhbnNp
dGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSBjb25zdAot
ewotICAgIGlmIChuZWVkc1Nsb3dQdXRJbmRleGluZygpKQotICAgICAgICByZXR1cm4gTm9uUHJv
cGVydHlUcmFuc2l0aW9uOjpBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7Ci0gICAgCi0gICAg
cmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVBcnJheVN0b3JhZ2U7Ci19Ci0K
IFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0
cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICBTdHJ1Y3R1cmUqIG5ld1N0
cnVjdHVyZSA9IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoCkBAIC01
NTMsNiArNTQ3LDggQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnJlbW92ZVByb3BlcnR5VHJhbgog
CiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1ZhbHVlIHByb3RvdHlwZSkKIHsKKyAgICBBU1NFUlQo
cHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgcHJvdG90eXBlLmlzTnVsbCgpKTsKKwogICAgIERlZmVy
R0MgZGVmZXJHQyh2bS5oZWFwKTsKICAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24gPSBjcmVhdGUo
dm0sIHN0cnVjdHVyZSk7CiAKQEAgLTEwNjgsMTEgKzEwNjQsNiBAQCB2b2lkIFN0cnVjdHVyZTo6
ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RyCiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRT
ZXQuZmlyZUFsbCgqdm0oKSwgU3RydWN0dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKLUpTVmFs
dWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cChjb2RlQmxvY2stPmdsb2JhbE9i
amVjdCgpKTsKLX0KLQogdm9pZCBTdHJ1Y3R1cmU6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxs
LCBTbG90VmlzaXRvciYgdmlzaXRvcikKIHsKICAgICBTdHJ1Y3R1cmUqIHRoaXNPYmplY3QgPSBq
c0Nhc3Q8U3RydWN0dXJlKj4oY2VsbCk7CkBAIC0xMTEwLDcgKzExMDEsNyBAQCBib29sIFN0cnVj
dHVyZTo6aXNDaGVhcER1cmluZ0dDKCkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU3MzM0CiAgICAgCiAgICAgcmV0dXJuICghbV9nbG9iYWxPYmplY3Qg
fHwgSGVhcDo6aXNNYXJrZWRDb25jdXJyZW50bHkobV9nbG9iYWxPYmplY3QuZ2V0KCkpKQotICAg
ICAgICAmJiAoIXN0b3JlZFByb3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3Vy
cmVudGx5KHN0b3JlZFByb3RvdHlwZU9iamVjdCgpKSk7CisgICAgICAgICYmIChoYXNQb2x5UHJv
dG8oKSB8fCAhc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkgfHwgSGVhcDo6aXNNYXJrZWRDb25jdXJy
ZW50bHkoc3RvcmVkUHJvdG90eXBlT2JqZWN0KCkpKTsKIH0KIAogYm9vbCBTdHJ1Y3R1cmU6Om1h
cmtJZkNoZWFwKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMTEyMiw0MCArMTExMywxOSBAQCBi
b29sIFN0cnVjdHVyZTo6bWFya0lmQ2hlYXAoU2xvdFZpc2l0b3ImCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8o
Vk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQotewotICAgIGlmIChwYXJzZUluZGV4
KHByb3BlcnR5TmFtZSkpCi0gICAgICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJj
ZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Ci0gICAgCi0gICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQg
PSB0aGlzOyA7KSB7Ci0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVk
UHJvdG90eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFz
Q2VsbCgpLT5zdHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAgdW5zaWduZWQgYXR0cmli
dXRlczsKLSAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gY3VycmVudC0+Z2V0KHZtLCBw
cm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMpOwotICAgICAgICBpZiAoIUpTQzo6aXNWYWxpZE9mZnNl
dChvZmZzZXQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIAotICAgICAgICBpZiAo
YXR0cmlidXRlcyAmIChQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6QWNjZXNzb3IpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIAotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1SZWY8U3RydWN0dXJlU2hhcGU+IFN0cnVj
dHVyZTo6dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlIHZhbHVlKQorUmVmPFN0cnVjdHVyZVNoYXBl
PiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJlU2hhcGUoSlNWYWx1ZSB2YWx1ZSwgYm9vbCYgc2F3UG9s
eVByb3RvU3RydWN0dXJlKQogewogICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gYmFzZVNoYXBlID0g
U3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwogICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gY3Vy
U2hhcGUgPSBiYXNlU2hhcGUucHRyKCk7CiAgICAgU3RydWN0dXJlKiBjdXJTdHJ1Y3R1cmUgPSB0
aGlzOwogICAgIEpTVmFsdWUgY3VyVmFsdWUgPSB2YWx1ZTsKKyAgICBzYXdQb2x5UHJvdG9TdHJ1
Y3R1cmUgPSBmYWxzZTsKICAgICB3aGlsZSAoY3VyU3RydWN0dXJlKSB7CisgICAgICAgIHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSB8PSBjdXJTdHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpOwogICAgICAg
ICBjdXJTdHJ1Y3R1cmUtPmZvckVhY2hQcm9wZXJ0eUNvbmN1cnJlbnRseSgKICAgICAgICAgICAg
IFsmXSAoY29uc3QgUHJvcGVydHlNYXBFbnRyeSYgZW50cnkpIC0+IGJvb2wgewotICAgICAgICAg
ICAgICAgIGN1clNoYXBlLT5hZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKKyAgICAgICAgICAgICAg
ICBpZiAoIVByb3BlcnR5TmFtZShlbnRyeS5rZXkpLmlzUHJpdmF0ZU5hbWUoKSkKKyAgICAgICAg
ICAgICAgICAgICAgY3VyU2hhcGUtPmFkZFByb3BlcnR5KCplbnRyeS5rZXkpOwogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfSk7CiAKQEAgLTExNjksMjYgKzExMzks
MjQgQEAgUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dQogCiAgICAgICAg
IGN1clNoYXBlLT5tYXJrQXNGaW5hbCgpOwogCi0gICAgICAgIGlmIChjdXJTdHJ1Y3R1cmUtPnN0
b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKSB7Ci0gICAgICAgICAgICBhdXRvIG5ld1NoYXBlID0g
U3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOwotICAgICAgICAgICAgY3VyU2hhcGUtPnNldFByb3Rv
KG5ld1NoYXBlLmNvcHlSZWYoKSk7Ci0gICAgICAgICAgICBjdXJTaGFwZSA9IFdURk1vdmUobmV3
U2hhcGUpOwotICAgICAgICAgICAgY3VyVmFsdWUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3Rv
dHlwZSgpOwotICAgICAgICB9CisgICAgICAgIGlmICghY3VyVmFsdWUuaXNPYmplY3QoKSkKKyAg
ICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGN1clN0cnVjdHVyZSA9IGN1clN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBh
c09iamVjdChjdXJWYWx1ZSk7CisgICAgICAgIEpTT2JqZWN0KiBwcm90b3R5cGVPYmplY3QgPSBv
YmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KTsKKyAgICAg
ICAgaWYgKCFwcm90b3R5cGVPYmplY3QpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBh
dXRvIG5ld1NoYXBlID0gU3RydWN0dXJlU2hhcGU6OmNyZWF0ZSgpOworICAgICAgICBjdXJTaGFw
ZS0+c2V0UHJvdG8obmV3U2hhcGUuY29weVJlZigpKTsKKyAgICAgICAgY3VyU2hhcGUgPSBXVEZN
b3ZlKG5ld1NoYXBlKTsKKyAgICAgICAgY3VyVmFsdWUgPSBwcm90b3R5cGVPYmplY3Q7CisgICAg
ICAgIGN1clN0cnVjdHVyZSA9IHByb3RvdHlwZU9iamVjdC0+c3RydWN0dXJlKCk7CiAgICAgfQog
ICAgIAogICAgIHJldHVybiBiYXNlU2hhcGU7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpjYW5Vc2VG
b3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSogb3RoZXIpCi17Ci0gICAgcmV0dXJuIGlubGluZUNh
cGFjaXR5KCkgPT0gb3RoZXItPmlubGluZUNhcGFjaXR5KCkKLSAgICAgICAgJiYgc3RvcmVkUHJv
dG90eXBlKCkgPT0gb3RoZXItPnN0b3JlZFByb3RvdHlwZSgpCi0gICAgICAgICYmIG9iamVjdElu
aXRpYWxpemF0aW9uQmxvYigpID09IG90aGVyLT5vYmplY3RJbml0aWFsaXphdGlvbkJsb2IoKTsK
LX0KLQogdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAg
ICBvdXQucHJpbnQoUmF3UG9pbnRlcih0aGlzKSwgIjpbIiwgY2xhc3NJbmZvKCktPmNsYXNzTmFt
ZSwgIiwgeyIpOwpAQCAtMTIwMyw3ICsxMTcxLDkgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgYwogICAgIAogICAgIG91dC5wcmludCgifSwgIiwgSW5kZXhpbmdUeXBl
RHVtcChpbmRleGluZ1R5cGUoKSkpOwogICAgIAotICAgIGlmIChtX3Byb3RvdHlwZS5nZXQoKS5p
c0NlbGwoKSkKKyAgICBpZiAoaGFzUG9seVByb3RvKCkpCisgICAgICAgIG91dC5wcmludCgiLCBQ
b2x5UHJvdG8gb2Zmc2V0OiIsIHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBlbHNlIGlmIChtX3By
b3RvdHlwZS5nZXQoKS5pc0NlbGwoKSkKICAgICAgICAgb3V0LnByaW50KCIsIFByb3RvOiIsIFJh
d1BvaW50ZXIobV9wcm90b3R5cGUuZ2V0KCkuYXNDZWxsKCkpKTsKIAogICAgIHN3aXRjaCAoZGlj
dGlvbmFyeUtpbmQoKSkgewpAQCAtMTI4OCw5ICsxMjU4LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmNh
bkNhY2hlUHJvcGVydHlOYW1lRW51bQogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGlmICgh
c3RydWN0dXJlLT5nZXQoKSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoc3RydWN0
dXJlLT5nZXQoKS0+aXNEaWN0aW9uYXJ5KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3Bl
cnR5TmFtZXMoKSkKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGljdGlvbmFyeSgp
IHx8IHN0cnVjdHVyZS0+Z2V0KCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1l
cygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBzdHJ1Y3R1cmUrKzsKICAg
ICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2
aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw3ICsxMjksOSBAQCBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBKU0NlbGwgQmFzZTsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3Mg
PSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IFN0cnVjdHVyZUlzSW1tb3J0YWw7CiAgICAgCisgICAg
ZW51bSBQb2x5UHJvdG9UYWcgeyBQb2x5UHJvdG8gfTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBj
cmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBl
SW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1bnNpZ25l
ZCBpbmxpbmVDYXBhY2l0eSA9IDApOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShQb2x5
UHJvdG9UYWcsIFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBjb25z
dCBUeXBlSW5mbyYsIGNvbnN0IENsYXNzSW5mbyosIEluZGV4aW5nVHlwZSA9IE5vbkFycmF5LCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDApOwogCiAgICAgflN0cnVjdHVyZSgpOwogCkBAIC0x
MzgsNyArMTQwLDE5IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKICAgICAgICAgQVNTRVJUKG1fcHJvdG90eXBlKTsKLSAgICAgICAgQVNTRVJU
KG1fcHJvdG90eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkpOworICAgICAg
ICBBU1NFUlQobV9wcm90b3R5cGUuaXNPYmplY3QoKSB8fCBtX3Byb3RvdHlwZS5pc051bGwoKSB8
fCBtX3Byb3RvdHlwZS5pc0ludDMyKCkpOworICAgIH0KKworICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBjb25zdCBTdHJ1Y3R1cmUqIHByZXZpb3VzKQorICAgIHsKKyAgICAgICAgdGhp
cy0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICBpZiAocHJldmlvdXMtPmhhc1JhcmVEYXRh
KCkpIHsKKyAgICAgICAgICAgIGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKiBwcmV2aW91c1JhcmVE
YXRhID0gcHJldmlvdXMtPnJhcmVEYXRhKCk7CisgICAgICAgICAgICBpZiAocHJldmlvdXNSYXJl
RGF0YS0+aGFzU2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKSB7CisgICAgICAgICAgICAgICAg
ZW5zdXJlUmFyZURhdGEodm0pOworICAgICAgICAgICAgICAgIHJhcmVEYXRhKCktPnNldFNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQocHJldmlvdXNSYXJlRGF0YS0+Y29weVNoYXJlZFBvbHlQcm90
b1dhdGNocG9pbnQoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgQ3JlYXRpbmdFYXJseUNlbGxUYWcpCkBAIC0xNjcs
NyArMTgxLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJh
bnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVDb25jdXJyZW50bHkoU3RydWN0dXJlKiwgVW5pcXVl
ZFN0cmluZ0ltcGwqIHVpZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5z
aXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWdu
ZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBy
ZW1vdmVQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5T2Zmc2V0Jik7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSog
Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTVmFsdWUgcHJvdG90
eXBlKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKFZN
JiwgU3RydWN0dXJlKiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHN0YXRpYyBTdHJ1Y3R1cmUqIGF0dHJpYnV0ZUNoYW5nZVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1
cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIHRvQ2FjaGVhYmxlRGljdGlvbmFyeVRyYW5zaXRpb24o
Vk0mLCBTdHJ1Y3R1cmUqLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50Rmly
ZSogPSBudWxscHRyKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiB0b1VuY2FjaGVhYmxlRGljdGlv
bmFyeVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqKTsKQEAgLTIwOCw3ICsyMjIsNyBAQCBwdWJs
aWM6CiAgICAgewogICAgICAgICByZXR1cm4gIXR5cGVJbmZvKCkuZ2V0T3duUHJvcGVydHlTbG90
SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKTsKICAgICB9Ci0gICAgCisKICAgICBib29sIG5l
ZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHByb3Bl
cnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKQpAQCAtMjQwLDI2ICsyNTQsNDIgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpICYgTWF5SGF2
ZUluZGV4ZWRBY2Nlc3NvcnMpOwogICAgIH0KICAgICAgICAgCi0gICAgSlNfRVhQT1JUX1BSSVZB
VEUgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29u
c3Q7Ci0gICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mKSBjb25zdDsKLSAg
ICAgICAgCi0gICAgYm9vbCBuZWVkc1Nsb3dQdXRJbmRleGluZygpIGNvbnN0OwotICAgIE5vblBy
b3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3Q7
CisgICAgYm9vbCBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUoVk0mLCBKU09iamVjdCopIGNv
bnN0OwogICAgICAgICAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3Qg
eyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KIAogICAgIC8vIE5PVEU6IFRoaXMgbWV0
aG9kIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgdGhlIGNyZWF0aW9uIG9mIHN0cnVjdHVy
ZXMsIHNpbmNlIHRoZSBnbG9iYWwKICAgICAvLyBvYmplY3Qgb2YgYSBzdHJ1Y3R1cmUgaXMgcHJl
c3VtZWQgdG8gYmUgaW1tdXRhYmxlIGluIGEgYnVuY2ggb2YgcGxhY2VzLgogICAgIHZvaWQgc2V0
R2xvYmFsT2JqZWN0KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2ds
b2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KLSAgICAgICAgCi0gICAg
SlNWYWx1ZSBzdG9yZWRQcm90b3R5cGUoKSBjb25zdCB7IHJldHVybiBtX3Byb3RvdHlwZS5nZXQo
KTsgfQorCisgICAgYm9vbCBoYXNNb25vUHJvdG8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuICFtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCk7CisgICAgfQorICAgIGJvb2wgaGFzUG9s
eVByb3RvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhaGFzTW9ub1Byb3RvKCk7Cisg
ICAgfQorICAgIEpTVmFsdWUgc3RvcmVkUHJvdG90eXBlKCkgY29uc3QKKyAgICB7CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvdG90
eXBlLmdldCgpOworICAgIH0KKyAgICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQoKSBj
b25zdAorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoaGFzUG9seVByb3RvKCkpOworICAg
ICAgICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQzMigpOworICAgIH0KKyAgICBKU1Zh
bHVlIHN0b3JlZFByb3RvdHlwZShjb25zdCBKU09iamVjdCopIGNvbnN0OworICAgIEpTT2JqZWN0
KiBzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBTdHJ1
Y3R1cmUqIHN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZShjb25zdCBKU09iamVjdCopIGNvbnN0Owor
CiAgICAgSlNPYmplY3QqIHN0b3JlZFByb3RvdHlwZU9iamVjdCgpIGNvbnN0OwogICAgIFN0cnVj
dHVyZSogc3RvcmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90
b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKikgY29uc3Q7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGVG
b3JMb29rdXAoSlNHbG9iYWxPYmplY3QqKSBjb25zdDsKLSAgICBKU1ZhbHVlIHByb3RvdHlwZUZv
ckxvb2t1cChDb2RlQmxvY2sqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBl
Q2hhaW4oVk0mLCBKU0dsb2JhbE9iamVjdCopIGNvbnN0OwotICAgIFN0cnVjdHVyZUNoYWluKiBw
cm90b3R5cGVDaGFpbihFeGVjU3RhdGUqKSBjb25zdDsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZUZv
ckxvb2t1cChKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSkgY29uc3Q7CisgICAgU3RydWN0
dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCog
YmFzZSkgY29uc3Q7CisgICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKEV4ZWNTdGF0
ZSosIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgCiAgICAgLy8gQSBTdHJ1Y3R1cmUgaXMgY2hl
YXAgdG8gbWFyayBkdXJpbmcgR0MgaWYgZG9pbmcgc28gd291bGQgb25seSBhZGQgYSBzbWFsbCBh
bmQgYm91bmRlZCBhbW91bnQKQEAgLTI3MiwxNCArMzAyLDMwIEBAIHB1YmxpYzoKICAgICAKICAg
ICAvLyBSZXR1cm5zIHRydWUgaWYgdGhpcyBzdHJ1Y3R1cmUgaXMgbm93IG1hcmtlZC4KICAgICBi
b29sIG1hcmtJZkNoZWFwKFNsb3RWaXNpdG9yJik7Ci0gICAgICAgIAotICAgIC8vIFdpbGwganVz
dCB0aGUgcHJvdG90eXBlIGNoYWluIGludGVyY2VwdCB0aGlzIHByb3BlcnR5IGFjY2Vzcz8KLSAg
ICBKU19FWFBPUlRfUFJJVkFURSBib29sIHByb3RvdHlwZUNoYWluTWF5SW50ZXJjZXB0U3RvcmVU
byhWTSYsIFByb3BlcnR5TmFtZSk7CiAgICAgCiAgICAgYm9vbCBoYXNSYXJlRGF0YSgpIGNvbnN0
CiAgICAgewogICAgICAgICByZXR1cm4gaXNSYXJlRGF0YShtX3ByZXZpb3VzT3JSYXJlRGF0YS5n
ZXQoKSk7CiAgICAgfQorCisgICAgU3RydWN0dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkKKyAgICB7
CisgICAgICAgIEFTU0VSVChoYXNSYXJlRGF0YSgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFN0cnVjdHVyZVJhcmVEYXRhKj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOworICAg
IH0KKworICAgIGNvbnN0IFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpIGNvbnN0CisgICAg
eworICAgICAgICBBU1NFUlQoaGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBTdHJ1Y3R1cmVSYXJlRGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgp
KTsKKyAgICB9CisKKyAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogZW5zdXJlUmFyZURhdGEoVk0mIHZt
KQorICAgIHsKKyAgICAgICAgaWYgKCFoYXNSYXJlRGF0YSgpKQorICAgICAgICAgICAgYWxsb2Nh
dGVSYXJlRGF0YSh2bSk7CisgICAgICAgIHJldHVybiByYXJlRGF0YSgpOworICAgIH0KICAgICAK
ICAgICBTdHJ1Y3R1cmUqIHByZXZpb3VzSUQoKSBjb25zdAogICAgIHsKQEAgLTUzMywxMiArNTc5
LDYgQEAgcHVibGljOgogICAgICAgICBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzKHZt
KTsKICAgICB9CiAgICAgCi0gICAgdm9pZCBzdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVz
SWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbihWTSYgdm0pCi0gICAgewotICAgICAgICBmb3IgKFN0
cnVjdHVyZSogc3RydWN0dXJlID0gdGhpczsgc3RydWN0dXJlOyBzdHJ1Y3R1cmUgPSBzdHJ1Y3R1
cmUtPnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSgpKQotICAgICAgICAgICAgc3RydWN0dXJlLT5z
dGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVzSWZOZWNlc3Nhcnkodm0pOwotICAgIH0KLQog
ICAgIGJvb2wgaGFzSW5mZXJyZWRUeXBlcygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4g
ISFtX2luZmVycmVkVHlwZVRhYmxlOwpAQCAtNTg4LDExICs2MjgsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIHdpbGxTdG9yZVZhbHVlU2xvdyh2bSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxkT3B0
aW1pemUsIEluZmVycmVkVHlwZVRhYmxlOjpPbGRQcm9wZXJ0eSk7CiAgICAgfQogCi0gICAgUmVm
PFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUpOwotICAgIAotICAgIC8v
IERldGVybWluZXMgaWYgdGhlIHR3byBzdHJ1Y3R1cmVzIG1hdGNoIGVub3VnaCB0aGF0IHRoaXMg
b25lIGNvdWxkIGJlIHVzZWQgZm9yIGFsbG9jYXRpb25zCi0gICAgLy8gb2YgdGhlIG90aGVyIG9u
ZS4KLSAgICBib29sIGNhblVzZUZvckFsbG9jYXRpb25zT2YoU3RydWN0dXJlKik7CisgICAgUmVm
PFN0cnVjdHVyZVNoYXBlPiB0b1N0cnVjdHVyZVNoYXBlKEpTVmFsdWUsIGJvb2wmIHNhd1BvbHlQ
cm90b1N0cnVjdHVyZSk7CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7
CiAgICAgdm9pZCBkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBjb25z
dDsKQEAgLTYwMSw2ICs2MzcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGR1bXBDb250
ZXh0SGVhZGVyKFByaW50U3RyZWFtJik7CiAgICAgCiAgICAgQ29uY3VycmVudEpTTG9jayYgbG9j
aygpIHsgcmV0dXJuIG1fbG9jazsgfQorCisgICAgdW5zaWduZWQgcHJvcGVydHlIYXNoKCkgY29u
c3QgeyByZXR1cm4gbV9wcm9wZXJ0eUhhc2g7IH0KKworICAgIHN0YXRpYyBib29sIHNob3VsZENv
bnZlcnRUb1BvbHlQcm90byhjb25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSogYik7
CiAgICAgCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIApAQCAtNzIwLDggKzc2MCw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIHJldHVybiBudW1iZXJPZlNsb3RzRm9yTGFzdE9mZnNldChtX29mZnNl
dCwgbV9pbmxpbmVDYXBhY2l0eSk7CiAgICAgfQogCi0gICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWluKSBjb25zdDsKLSAg
ICBib29sIGlzVmFsaWQoRXhlY1N0YXRlKiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlw
ZUNoYWluKSBjb25zdDsKKyAgICBib29sIGlzVmFsaWQoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4sIEpTT2JqZWN0KiBiYXNlKSBjb25zdDsKIAog
ICAgIC8vIFlvdSBoYXZlIHRvIGhvbGQgdGhlIHN0cnVjdHVyZSBsb2NrIHRvIGRvIHRoZXNlLgog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcGluKGNvbnN0IEFic3RyYWN0TG9ja2VyJiwgVk0m
LCBQcm9wZXJ0eVRhYmxlKik7CkBAIC03MzIsMTIgKzc3MSw2IEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBjZWxsICYmIGNlbGwtPnN0cnVjdHVyZUlEKCkgIT0gc3RydWN0dXJlSUQoKTsKICAg
ICB9CiAKLSAgICBTdHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAotICAgIHsKLSAg
ICAgICAgQVNTRVJUKGhhc1JhcmVEYXRhKCkpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
U3RydWN0dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7Ci0gICAgfQot
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGV0YWlsc0Z1bmM+CiAgICAgYm9vbCBjaGVja09mZnNl
dENvbnNpc3RlbmN5KFByb3BlcnR5VGFibGUqLCBjb25zdCBEZXRhaWxzRnVuYyYpIGNvbnN0Owog
ICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeSgpIGNvbnN0OwpAQCAtNzg3LDYgKzgyMCw4
IEBAIHByaXZhdGU6CiAKICAgICAvLyBtX29mZnNldCBkb2VzIG5vdCBhY2NvdW50IGZvciBhbm9u
eW1vdXMgc2xvdHMKICAgICBQcm9wZXJ0eU9mZnNldCBtX29mZnNldDsKKworICAgIHVpbnQzMl90
IG1fcHJvcGVydHlIYXNoOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJKHJldmlzaW9uIDIy
MjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUNoYWluLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlND
ZWxsIEJhc2U7CiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFz
ZTo6U3RydWN0dXJlRmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogCi0gICAgc3RhdGljIFN0
cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBTdHJ1Y3R1cmUqIGhlYWQpCisgICAgc3RhdGlj
IFN0cnVjdHVyZUNoYWluKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogaGVhZCkKICAgICB7IAog
ICAgICAgICBTdHJ1Y3R1cmVDaGFpbiogY2hhaW4gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxTdHJ1Y3R1cmVDaGFpbj4odm0uaGVhcCkpIFN0cnVjdHVyZUNoYWluKHZtLCB2bS5zdHJ1Y3R1
cmVDaGFpblN0cnVjdHVyZS5nZXQoKSk7CiAgICAgICAgIGNoYWluLT5maW5pc2hDcmVhdGlvbih2
bSwgaGVhZCk7CkBAIC02MiwyMSArNjIsMjMgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRl
c3Ryb3koSlNDZWxsKik7CiAKIHByb3RlY3RlZDoKLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBK
U09iamVjdCogaGVhZCkKICAgICB7CiAgICAgICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsK
KwogICAgICAgICBzaXplX3Qgc2l6ZSA9IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJy
ZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgp
LmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3Ry
dWN0dXJlKCkpCisgICAgICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSBoZWFkOyBjdXJyZW50
OyBjdXJyZW50ID0gY3VycmVudC0+c3RydWN0dXJlKHZtKS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0
KGN1cnJlbnQpKQogICAgICAgICAgICAgKytzaXplOwogCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxXcml0ZUJhcnJpZXI8U3RydWN0dXJlPltdPiB2ZWN0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+W10+KHNpemUgKyAxKTsKIAogICAgICAgICBzaXplX3QgaSA9
IDA7Ci0gICAgICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3Vy
cmVudCA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0
KGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpKS0+c3RydWN0dXJlKCkpCi0gICAgICAgICAgICB2
ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMsIGN1cnJlbnQpOworICAgICAgICBmb3IgKEpTT2JqZWN0
KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2
bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKKyAgICAgICAgICAgIHZlY3Rvcltp
KytdLnNldCh2bSwgdGhpcywgY3VycmVudC0+c3RydWN0dXJlKHZtKSk7CiAgICAgICAgIAogICAg
ICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgpOwogICAgICAgICBtX3ZlY3RvciA9IFdURk1vdmUo
dmVjdG9yKTsKKyAgICAgICAgdm0uaGVhcC53cml0ZUJhcnJpZXIodGhpcyk7CiAgICAgfQogCiBw
cml2YXRlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxNiArNTEs
MTcgQEAgaW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGVTdHJ1YwogICAgIHJldHVy
biBzdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldh
dGNocG9pbnRGaXJlKiBkZWZlcnJlZCkKK2lubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBwcmV2aW91cywgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0
aW9uV2F0Y2hwb2ludEZpcmUqIGRlZmVycmVkKQogewogICAgIEFTU0VSVCh2bS5zdHJ1Y3R1cmVT
dHJ1Y3R1cmUpOwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3ROdWxsLCBh
bGxvY2F0ZUNlbGw8U3RydWN0dXJlPih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUs
IGRlZmVycmVkKTsKLSAgICBuZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBT
dHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVj
dHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgcHJldmlvdXMsIGRlZmVycmVkKTsKKyAgICBu
ZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtLCBwcmV2aW91cyk7CiAgICAgcmV0dXJuIG5l
d1N0cnVjdHVyZTsKIH0KIAogaW5saW5lIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpIGNvbnN0CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkp
OwogICAgIEpTVmFsdWUgdmFsdWUgPSBtX3Byb3RvdHlwZS5nZXQoKTsKICAgICBpZiAodmFsdWUu
aXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtNjksMTIgKzcwLDQxIEBAIGlu
bGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3QKIAogaW5saW5lIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoKSBjb25zdAogeworICAgIFJF
TEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBKU09iamVjdCogb2JqZWN0ID0gc3Rv
cmVkUHJvdG90eXBlT2JqZWN0KCk7CiAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSgpOwogfQogCitBTFdBWVNfSU5M
SU5FIEpTVmFsdWUgU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGUoY29uc3QgSlNPYmplY3QqIG9i
amVjdCkgY29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09
IHRoaXMpOworICAgIGlmIChoYXNNb25vUHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFBy
b3RvdHlwZSgpOworICAgIFJFTEVBU0VfQVNTRVJUKG1fcHJvdG90eXBlLmdldCgpLmlzSW50MzIo
KSk7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gbV9wcm90b3R5cGUuZ2V0KCkuYXNJbnQz
MigpOworICAgIHJldHVybiBvYmplY3QtPmdldERpcmVjdChvZmZzZXQpOworfQorCitBTFdBWVNf
SU5MSU5FIEpTT2JqZWN0KiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZU9iamVjdChjb25zdCBK
U09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG9iamVjdC0+c3Ry
dWN0dXJlKCkgPT0gdGhpcyk7CisgICAgaWYgKGhhc01vbm9Qcm90bygpKQorICAgICAgICByZXR1
cm4gc3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7CisgICAgSlNWYWx1ZSBwcm90byA9IG9iamVjdC0+
Z2V0RGlyZWN0KHBvbHlQcm90b09mZnNldCgpKTsKKyAgICBpZiAocHJvdG8uaXNOdWxsKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBhc09iamVjdChwcm90byk7Cit9CisK
K0FMV0FZU19JTkxJTkUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVj
dHVyZShjb25zdCBKU09iamVjdCogb2JqZWN0KSBjb25zdAoreworICAgIGlmIChKU09iamVjdCog
cHJvdG8gPSBzdG9yZWRQcm90b3R5cGVPYmplY3Qob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHBy
b3RvLT5zdHJ1Y3R1cmUoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogQUxXQVlTX0lOTElO
RSBQcm9wZXJ0eU9mZnNldCBTdHJ1Y3R1cmU6OmdldChWTSYgdm0sIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpCiB7CiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKQEAgLTE2Niw0MyArMTk2LDU2
IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6dHJhbnNpdGl2ZWx5VHJhbnMKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKK0FMV0FZU19JTkxJTkUgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXBQcmlt
aXRpdmVJbXBsKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cnVjdHVyZSog
c3RydWN0dXJlKQoreworICAgIEFTU0VSVCghc3RydWN0dXJlLT5pc09iamVjdCgpKTsKKworICAg
IGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpCisgICAgICAg
IHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworCisgICAgQVNTRVJUKHN0
cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSk7CisgICAgcmV0dXJuIGds
b2JhbE9iamVjdC0+c3ltYm9sUHJvdG90eXBlKCk7CisKK30KKwogaW5saW5lIEpTVmFsdWUgU3Ry
dWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkg
Y29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNNb25vUHJvdG8oKSk7CiAgICAgaWYgKGlz
T2JqZWN0KCkpCi0gICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKLSAgICBpZiAodHlw
ZUluZm8oKS50eXBlKCkgPT0gU3ltYm9sVHlwZSkKLSAgICAgICAgcmV0dXJuIGdsb2JhbE9iamVj
dC0+c3ltYm9sUHJvdG90eXBlKCk7Ci0KLSAgICBBU1NFUlQodHlwZUluZm8oKS50eXBlKCkgPT0g
U3RyaW5nVHlwZSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+c3RyaW5nUHJvdG90eXBlKCk7
CisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gcHJvdG90eXBl
Rm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRoaXMpOwogfQogCi1pbmxpbmUg
SlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChFeGVjU3RhdGUqIGV4ZWMpIGNv
bnN0CitpbmxpbmUgSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1cChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IHByb3RvdHlwZUZvckxvb2t1cChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIFJF
TEVBU0VfQVNTRVJUKGJhc2UtPnN0cnVjdHVyZSgpID09IHRoaXMpOworICAgIGlmIChpc09iamVj
dCgpKQorICAgICAgICByZXR1cm4gc3RvcmVkUHJvdG90eXBlKGFzT2JqZWN0KGJhc2UpKTsKKyAg
ICByZXR1cm4gcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChnbG9iYWxPYmplY3QsIHRo
aXMpOwogfQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hh
aW4oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSBjb25zdAoraW5saW5lIFN0
cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7CisgICAgUkVMRUFT
RV9BU1NFUlQoYmFzZS0+c3RydWN0dXJlKHZtKSA9PSB0aGlzKTsKICAgICAvLyBXZSBjYWNoZSBv
dXIgcHJvdG90eXBlIGNoYWluIHNvIG91ciBjbGllbnRzIGNhbiBzaGFyZSBpdC4KLSAgICBpZiAo
IWlzVmFsaWQoZ2xvYmFsT2JqZWN0LCBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKSkgewot
ICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmpl
Y3QpOwotICAgICAgICBtX2NhY2hlZFByb3RvdHlwZUNoYWluLnNldCh2bSwgdGhpcywgU3RydWN0
dXJlQ2hhaW46OmNyZWF0ZSh2bSwgcHJvdG90eXBlLmlzTnVsbCgpID8gMCA6IGFzT2JqZWN0KHBy
b3RvdHlwZSktPnN0cnVjdHVyZSgpKSk7CisgICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9iamVjdCwg
bV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSwgYmFzZSkpIHsKKyAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBiYXNlKTsKKyAgICAg
ICAgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpj
cmVhdGUodm0sIHByb3RvdHlwZS5pc051bGwoKSA/IG51bGxwdHIgOiBhc09iamVjdChwcm90b3R5
cGUpKSk7CiAgICAgfQogICAgIHJldHVybiBtX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpOwog
fQogCi1pbmxpbmUgU3RydWN0dXJlQ2hhaW4qIFN0cnVjdHVyZTo6cHJvdG90eXBlQ2hhaW4oRXhl
Y1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSk7CisgICAgcmV0dXJuIHByb3RvdHlwZUNoYWluKGV4ZWMtPnZtKCksIGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZSk7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6
aXNWYWxpZChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmVDaGFpbiogY2Fj
aGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0CitpbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3Rv
dHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3QKIHsKICAgICBpZiAoIWNhY2hlZFByb3Rv
dHlwZUNoYWluKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOworICAgIEpTVmFsdWUgcHJvdG90
eXBlID0gcHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4qIGNhY2hlZFN0cnVjdHVyZSA9IGNhY2hlZFByb3RvdHlwZUNoYWlu
LT5oZWFkKCk7CiAgICAgd2hpbGUgKCpjYWNoZWRTdHJ1Y3R1cmUgJiYgIXByb3RvdHlwZS5pc051
bGwoKSkgewogICAgICAgICBpZiAoYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCkgIT0g
Y2FjaGVkU3RydWN0dXJlLT5nZXQoKSkKQEAgLTIxMywxMSArMjU2LDYgQEAgaW5saW5lIGJvb2wg
U3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsTwogICAgIHJldHVybiBwcm90b3R5cGUuaXNOdWxs
KCkgJiYgISpjYWNoZWRTdHJ1Y3R1cmU7CiB9CiAKLWlubGluZSBib29sIFN0cnVjdHVyZTo6aXNW
YWxpZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFp
bikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZChleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGNhY2hlZFByb3RvdHlwZUNoYWluKTsKLX0KLQogaW5saW5lIHZvaWQgU3RydWN0dXJlOjpk
aWRSZXBsYWNlUHJvcGVydHkoUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogewogICAgIGlmIChMSUtF
TFkoIWhhc1JhcmVEYXRhKCkpKQpAQCAtMzQxLDYgKzM3OSw4IEBAIGlubGluZSBQcm9wZXJ0eU9m
ZnNldCBTdHJ1Y3R1cmU6OmFkZChWTSYKICAgICBhdXRvIHJlcCA9IHByb3BlcnR5TmFtZS51aWQo
KTsKIAogICAgIFByb3BlcnR5T2Zmc2V0IG5ld09mZnNldCA9IHRhYmxlLT5uZXh0T2Zmc2V0KG1f
aW5saW5lQ2FwYWNpdHkpOworCisgICAgbV9wcm9wZXJ0eUhhc2ggPSBtX3Byb3BlcnR5SGFzaCBe
IHJlcC0+ZXhpc3RpbmdTeW1ib2xBd2FyZUhhc2goKTsKICAgICAKICAgICBQcm9wZXJ0eU9mZnNl
dCBuZXdMYXN0T2Zmc2V0ID0gbV9vZmZzZXQ7CiAgICAgdGFibGUtPmFkZChQcm9wZXJ0eU1hcEVu
dHJ5KHJlcCwgbmV3T2Zmc2V0LCBhdHRyaWJ1dGVzKSwgbmV3TGFzdE9mZnNldCwgUHJvcGVydHlU
YWJsZTo6UHJvcGVydHlPZmZzZXRNYXlDaGFuZ2UpOwpAQCAtNDAwLDkgKzQ0MCw1NiBAQCBpbmxp
bmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjpyZW1vdmVQCiAgICAgcmV0dXJuIHJlbW92ZShw
cm9wZXJ0eU5hbWUsIGZ1bmMpOwogfQogCi1pbmxpbmUgdm9pZCBTdHJ1Y3R1cmU6OnNldFByb3Bl
cnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJsZSkKK0FMV0FZU19JTkxJTkUgdm9p
ZCBTdHJ1Y3R1cmU6OnNldFByb3BlcnR5VGFibGUoVk0mIHZtLCBQcm9wZXJ0eVRhYmxlKiB0YWJs
ZSkKIHsKICAgICBtX3Byb3BlcnR5VGFibGVVbnNhZmUuc2V0TWF5QmVOdWxsKHZtLCB0aGlzLCB0
YWJsZSk7CiB9CisKK0FMV0FZU19JTkxJTkUgYm9vbCBTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRU
b1BvbHlQcm90byhjb25zdCBTdHJ1Y3R1cmUqIGEsIGNvbnN0IFN0cnVjdHVyZSogYikKK3sKKyAg
ICBpZiAoIWEgfHwgIWIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhID09IGIp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhLT5wcm9wZXJ0eUhhc2goKSAhPSBi
LT5wcm9wZXJ0eUhhc2goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25s
eSBjYXJlIGFib3V0IG9iamVjdHMgY3JlYXRlZCB2aWEgYSBjb25zdHJ1Y3RvcidzIHRvX3RoaXMu
IFRoZXNlCisgICAgLy8gYWxsIGhhdmUgU3RydWN0dXJlcyB3aXRoIHJhcmUgZGF0YSBhbmQgYSBz
aGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50LgorICAgIGlmICghYS0+aGFzUmFyZURhdGEoKSB8fCAh
Yi0+aGFzUmFyZURhdGEoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ugb25s
eSBjYXJlIGFib3V0IFN0cnVjdHVyZSdzIGdlbmVyYXRlZCBmcm9tIGZ1bmN0aW9ucyB0aGF0IHNo
YXJlCisgICAgLy8gdGhlIHNhbWUgZXhlY3V0YWJsZS4KKyAgICBjb25zdCBCb3g8SW5saW5lV2F0
Y2hwb2ludFNldD4mIGFJbmxpbmVXYXRjaHBvaW50U2V0ID0gYS0+cmFyZURhdGEoKS0+c2hhcmVk
UG9seVByb3RvV2F0Y2hwb2ludCgpOworICAgIGNvbnN0IEJveDxJbmxpbmVXYXRjaHBvaW50U2V0
PiYgYklubGluZVdhdGNocG9pbnRTZXQgPSBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9X
YXRjaHBvaW50KCk7CisgICAgaWYgKGFJbmxpbmVXYXRjaHBvaW50U2V0LmdldCgpICE9IGJJbmxp
bmVXYXRjaHBvaW50U2V0LmdldCgpIHx8ICFhSW5saW5lV2F0Y2hwb2ludFNldCkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIEFTU0VSVChhSW5saW5lV2F0Y2hwb2ludFNldCAmJiBiSW5saW5l
V2F0Y2hwb2ludFNldCAmJiBhSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSA9PSBiSW5saW5lV2F0
Y2hwb2ludFNldC5nZXQoKSk7CisKKyAgICBpZiAoYS0+aGFzUG9seVByb3RvKCkgfHwgYi0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhLT5zdG9yZWRQ
cm90b3R5cGUoKSA9PSBiLT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgVk0mIHZtID0gKmEtPnZtKCk7CisgICAgSlNPYmplY3QqIGFPYmogPSBhLT5zdG9y
ZWRQcm90b3R5cGVPYmplY3QoKTsKKyAgICBKU09iamVjdCogYk9iaiA9IGItPnN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpOworICAgIHdoaWxlIChhT2JqICYmIGJPYmopIHsKKyAgICAgICAgYSA9IGFP
YmotPnN0cnVjdHVyZSh2bSk7CisgICAgICAgIGIgPSBiT2JqLT5zdHJ1Y3R1cmUodm0pOworCisg
ICAgICAgIGlmIChhLT5wcm9wZXJ0eUhhc2goKSAhPSBiLT5wcm9wZXJ0eUhhc2goKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBhT2JqID0gYS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KGFPYmopOworICAgICAgICBiT2JqID0gYi0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KGJP
YmopOworICAgIH0KKworICAgIHJldHVybiAhYU9iaiAmJiAhYk9iajsKK30KICAgICAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Miw2ICs2MiwxMSBAQCBwdWJsaWM6CiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNo
ZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9w
ZXJ0eU5hbWVFbnVtZXJhdG9yKFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CiAKKyAg
ICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gY29weVNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQo
KSBjb25zdCB7IHJldHVybiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7IH0KKyAgICBjb25zdCBCb3g8
SW5saW5lV2F0Y2hwb2ludFNldD4mIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKSBjb25zdCB7
IHJldHVybiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7IH0KKyAgICB2b2lkIHNldFNoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQoQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiYgc2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludCkgeyBtX3BvbHlQcm90b1dhdGNocG9pbnQgPSBXVEZNb3ZlKHNoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQpOyB9CisgICAgYm9vbCBoYXNTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obV9wb2x5UHJvdG9XYXRjaHBvaW50
KTsgfQorCiAgICAgREVDTEFSRV9FWFBPUlRfSU5GTzsKIAogcHJpdmF0ZToKQEAgLTc2LDExICs4
MSwxMiBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJldmlvdXM7
CiAgICAgV3JpdGVCYXJyaWVyPEpTU3RyaW5nPiBtX29iamVjdFRvU3RyaW5nVmFsdWU7CiAgICAg
V3JpdGVCYXJyaWVyPEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcj4gbV9jYWNoZWRQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yOwotICAgIAorCiAgICAgdHlwZWRlZiBIYXNoTWFwPFByb3BlcnR5T2Zmc2V0
LCBSZWZQdHI8V2F0Y2hwb2ludFNldD4sIFdURjo6SW50SGFzaDxQcm9wZXJ0eU9mZnNldD4sIFdU
Rjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8UHJvcGVydHlPZmZzZXQ+PiBQcm9wZXJ0
eVdhdGNocG9pbnRNYXA7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb3BlcnR5V2F0Y2hwb2ludE1h
cD4gbV9yZXBsYWNlbWVudFdhdGNocG9pbnRTZXRzOwogICAgIEJhZzxPYmplY3RUb1N0cmluZ0Fk
YXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlV2F0Y2hw
b2ludFNldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZUluZmVy
cmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZUluZmVy
cmVkVmFsdWVXYXRjaHBvaW50OworICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBtX3BvbHlQ
cm90b1dhdGNocG9pbnQ7CiAgICAgYm9vbCBtX2dpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNh
Y2hlOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2Zp
bGVyTG9nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
eXBlUHJvZmlsZXJMb2cuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UeXBlUHJvZmlsZXJMb2cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Mywx
OSArNjMsMzUgQEAgdm9pZCBUeXBlUHJvZmlsZXJMb2c6OnByb2Nlc3NMb2dFbnRyaWVzKAogICAg
ICAgICBiZWZvcmUgPSBjdXJyZW50VGltZU1TKCk7CiAgICAgfQogCisgICAgSGFzaE1hcDxTdHJ1
Y3R1cmUqLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+PiBjYWNoZWRNb25vUHJvdG9TaGFwZXM7Cisg
ICAgSGFzaE1hcDxzdGQ6OnBhaXI8U3RydWN0dXJlKiwgSlNDZWxsKj4sIFJlZlB0cjxTdHJ1Y3R1
cmVTaGFwZT4+IGNhY2hlZFBvbHlQcm90b1NoYXBlczsKKwogICAgIExvZ0VudHJ5KiBlbnRyeSA9
IG1fbG9nU3RhcnRQdHI7Ci0gICAgSGFzaE1hcDxTdHJ1Y3R1cmUqLCBSZWZQdHI8U3RydWN0dXJl
U2hhcGU+PiBzZWVuU2hhcGVzOworCiAgICAgd2hpbGUgKGVudHJ5ICE9IG1fY3VycmVudExvZ0Vu
dHJ5UHRyKSB7CiAgICAgICAgIFN0cnVjdHVyZUlEIGlkID0gZW50cnktPnN0cnVjdHVyZUlEOwot
ICAgICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IHNoYXBlOyAKKyAgICAgICAgUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPiBzaGFwZTsKICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGVudHJ5LT52YWx1
ZTsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBudWxscHRyOworICAgICAgICBib29s
IHNhd1BvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlOwogICAgICAgICBpZiAoaWQpIHsKLSAgICAg
ICAgICAgIHN0cnVjdHVyZSA9IEhlYXA6OmhlYXAodmFsdWUuYXNDZWxsKCkpLT5zdHJ1Y3R1cmVJ
RFRhYmxlKCkuZ2V0KGlkKTsgCi0gICAgICAgICAgICBhdXRvIGl0ZXIgPSBzZWVuU2hhcGVzLmZp
bmQoc3RydWN0dXJlKTsKLSAgICAgICAgICAgIGlmIChpdGVyID09IHNlZW5TaGFwZXMuZW5kKCkp
IHsKLSAgICAgICAgICAgICAgICBzaGFwZSA9IHN0cnVjdHVyZS0+dG9TdHJ1Y3R1cmVTaGFwZSh2
YWx1ZSk7Ci0gICAgICAgICAgICAgICAgc2VlblNoYXBlcy5zZXQoc3RydWN0dXJlLCBzaGFwZSk7
CisgICAgICAgICAgICBzdHJ1Y3R1cmUgPSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3Ry
dWN0dXJlSURUYWJsZSgpLmdldChpZCk7CisgICAgICAgICAgICBhdXRvIGl0ZXIgPSBjYWNoZWRN
b25vUHJvdG9TaGFwZXMuZmluZChzdHJ1Y3R1cmUpOworICAgICAgICAgICAgaWYgKGl0ZXIgPT0g
Y2FjaGVkTW9ub1Byb3RvU2hhcGVzLmVuZCgpKSB7CisgICAgICAgICAgICAgICAgYXV0byBrZXkg
PSBzdGQ6Om1ha2VfcGFpcihzdHJ1Y3R1cmUsIHZhbHVlLmFzQ2VsbCgpKTsKKyAgICAgICAgICAg
ICAgICBhdXRvIGl0ZXIgPSBjYWNoZWRQb2x5UHJvdG9TaGFwZXMuZmluZChrZXkpOworICAgICAg
ICAgICAgICAgIGlmIChpdGVyICE9IGNhY2hlZFBvbHlQcm90b1NoYXBlcy5lbmQoKSkgeworICAg
ICAgICAgICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgICAgICAg
ICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgICAgIGlmICghc2hhcGUpIHsKKyAgICAgICAgICAgICAgICAgICAgc2hhcGUgPSBz
dHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7
CisgICAgICAgICAgICAgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpCisgICAgICAg
ICAgICAgICAgICAgICAgICBjYWNoZWRQb2x5UHJvdG9TaGFwZXMuc2V0KGtleSwgc2hhcGUpOwor
ICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWRN
b25vUHJvdG9TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHNoYXBlID0gaXRlci0+dmFsdWU7
CiAgICAgICAgIH0KQEAgLTg0LDggKzEwMCw4IEBAIHZvaWQgVHlwZVByb2ZpbGVyTG9nOjpwcm9j
ZXNzTG9nRW50cmllcygKICAgICAgICAgVHlwZUxvY2F0aW9uKiBsb2NhdGlvbiA9IGVudHJ5LT5s
b2NhdGlvbjsKICAgICAgICAgbG9jYXRpb24tPm1fbGFzdFNlZW5UeXBlID0gdHlwZTsKICAgICAg
ICAgaWYgKGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQpCi0gICAgICAgICAgICBsb2NhdGlvbi0+
bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigp
LCBzdHJ1Y3R1cmUpOwotICAgICAgICBsb2NhdGlvbi0+bV9pbnN0cnVjdGlvblR5cGVTZXQtPmFk
ZFR5cGVJbmZvcm1hdGlvbih0eXBlLCBXVEZNb3ZlKHNoYXBlKSwgc3RydWN0dXJlKTsKKyAgICAg
ICAgICAgIGxvY2F0aW9uLT5tX2dsb2JhbFR5cGVTZXQtPmFkZFR5cGVJbmZvcm1hdGlvbih0eXBl
LCBzaGFwZS5jb3B5UmVmKCksIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsKKyAg
ICAgICAgbG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24o
dHlwZSwgV1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSwgc2F3UG9seVByb3RvU3RydWN0dXJlKTsK
IAogICAgICAgICBlbnRyeSsrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UeXBlU2V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTQgKzQxLDE3
IEBAIFR5cGVTZXQ6OlR5cGVTZXQoKQogewogfQogCi12b2lkIFR5cGVTZXQ6OmFkZFR5cGVJbmZv
cm1hdGlvbihSdW50aW1lVHlwZSB0eXBlLCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+JiYgcGFzc2Vk
TmV3U2hhcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQordm9pZCBUeXBlU2V0OjphZGRUeXBlSW5m
b3JtYXRpb24oUnVudGltZVR5cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3Nl
ZE5ld1NoYXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1
cmUpCiB7CiAgICAgbV9zZWVuVHlwZXMgPSBtX3NlZW5UeXBlcyB8IHR5cGU7CiAKICAgICBpZiAo
c3RydWN0dXJlICYmIHBhc3NlZE5ld1NoYXBlICYmICFydW50aW1lVHlwZUlzUHJpbWl0aXZlKHR5
cGUpKSB7CiAgICAgICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4gbmV3U2hhcGUgPSBwYXNzZWROZXdT
aGFwZS5yZWxlYXNlTm9uTnVsbCgpOwotICAgICAgICBpZiAoIW1fc3RydWN0dXJlU2V0LmNvbnRh
aW5zKHN0cnVjdHVyZSkpIHsKLSAgICAgICAgICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFR5cGVT
ZXQgc2hvdWxkIGJlIGFibGUgdG8gY2FjaGUgcG9seSBwcm90byBjaGFpbnMKKyAgICAgICAgLy8g
anVzdCBieSBjYWNoaW5nIHRoZSBwcm90b3R5cGUgY2hhaW46CisgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc2MjcKKyAgICAgICAgaWYgKHNhd1Bv
bHlQcm90b1N0cnVjdHVyZSB8fCAhbV9zdHJ1Y3R1cmVTZXQuY29udGFpbnMoc3RydWN0dXJlKSkg
eworICAgICAgICAgICAgaWYgKCFzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpIHsKICAgICAgICAgICAg
ICAgICBDb25jdXJyZW50SlNMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgICAgICAgICAg
bV9zdHJ1Y3R1cmVTZXQuYWRkKHN0cnVjdHVyZSk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVNldC5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTg1LDcgKzg1LDcgQEAgY2xhc3MgVHlwZVNldCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bgog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8VHlwZVNldD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBUeXBlU2V0KTsgfQogICAgIFR5cGVTZXQoKTsKLSAgICB2b2lkIGFkZFR5cGVJbmZv
cm1hdGlvbihSdW50aW1lVHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUq
KTsKKyAgICB2b2lkIGFkZFR5cGVJbmZvcm1hdGlvbihSdW50aW1lVHlwZSwgUmVmUHRyPFN0cnVj
dHVyZVNoYXBlPiYmLCBTdHJ1Y3R1cmUqLCBib29sIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAg
ICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGUoKTsKICAgICBTdHJpbmcgZHVtcFR5cGVzKCkgY29uc3Q7
CiAgICAgU3RyaW5nIGRpc3BsYXlOYW1lKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Xcml0ZUJhcnJpZXIuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3JpdGVCYXJyaWVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmRlZmluZWQoKSB7IG1f
dmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7IH0KICAgICB2b2lkIHNldFN0
YXJ0aW5nVmFsdWUoSlNWYWx1ZSB2YWx1ZSkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKHZh
bHVlKTsgfQogICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bWJl
cigpOyB9CisgICAgYm9vbCBpc0ludDMyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNJbnQzMigp
OyB9CiAgICAgYm9vbCBpc09iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzT2JqZWN0KCk7
IH0KICAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzTnVsbCgpOyB9CiAg
ICAgYm9vbCBpc0dldHRlclNldHRlcigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzR2V0dGVyU2V0
dGVyKCk7IH0KSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTAzICBTYWFtIEJhcmF0
aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBw
cm90b3R5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzYzOTEKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICAq
IHd0Zi9Cb3guaDoKKyAgICAgICAgKFdURjo6Qm94OjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAg
ICAgICAgKFdURjo6Qm94OjpvcGVyYXRvciBib29sKTogRGVsZXRlZC4KKyAgICAgICAgTWFrZSBC
b3ggbW92YWJsZS4gQWxzbyBlbnN1cmUgaXRzIG9wZXJhdG9yIGJvb2wgZG9lc24ndCBkbyBhbiBh
dG9taWMgaW5jcmVtZW50LgorICAgICAgICAqIHd0Zi9SZWZQdHIuaDoKKyAgICAgICAgKFdURjo6
UmVmUHRyOjpvcGVyYXRvciBib29sIGNvbnN0KToKKyAgICAgICAgQWRkIGBleHBsaWNpdCBvcGVy
YXRvciBib29sKClgIGZvciBSZWZQdHIuCisKIDIwMTctMTAtMDMgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IGFzc2lnbmluZyBXZWFrUHRyPERlcml2
ZWQ+IHRvIFdlYWtQdHI8QmFzZT4KSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0JveC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0JveC5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2Uv
V1RGL3d0Zi9Cb3guaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTQgKzM2LDE3IEBAIG5hbWVzcGFj
ZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIGNsYXNzIEJveCB7CiBwdWJsaWM6Ci0gICAg
Qm94KCkKLSAgICB7Ci0gICAgfQorICAgIEJveCgpID0gZGVmYXVsdDsKKyAgICBCb3goQm94JiYp
ID0gZGVmYXVsdDsKKyAgICBCb3goY29uc3QgQm94JikgPSBkZWZhdWx0OwogCiAgICAgQm94KHN0
ZDo6bnVsbHB0cl90KQogICAgIHsKICAgICB9CiAKKyAgICBCb3gmIG9wZXJhdG9yPShCb3gmJikg
PSBkZWZhdWx0OworICAgIEJveCYgb3BlcmF0b3I9KGNvbnN0IEJveCYpID0gZGVmYXVsdDsKKwog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBzdGF0aWMgQm94IGNyZWF0
ZShBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgewpAQCAtNTcsNyArNjAsNyBAQCBwdWJs
aWM6CiAgICAgVCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLT52YWx1ZTsgfQog
ICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiAmbV9kYXRhLT52YWx1ZTsgfQogCi0g
ICAgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpIHsgcmV0dXJuIG1fZGF0YTsgfQorICAgIGV4cGxp
Y2l0IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxib29sPihtX2Rh
dGEpOyB9CiAgICAgCiBwcml2YXRlOgogICAgIHN0cnVjdCBEYXRhIDogVGhyZWFkU2FmZVJlZkNv
dW50ZWQ8RGF0YT4gewpJbmRleDogU291cmNlL1dURi93dGYvUmVmUHRyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvUmVmUHRyLmgJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9X
VEYvd3RmL1JlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw2ICs4Myw4IEBAIHB1YmxpYzoK
ICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNp
b24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCiAgICAgdHlwZWRlZiBU
KiAoUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZp
ZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlZlB0cjo6bV9wdHIgOiBudWxs
cHRyOyB9CisKKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gISFt
X3B0cjsgfQogICAgIAogICAgIFJlZlB0ciYgb3BlcmF0b3I9KGNvbnN0IFJlZlB0ciYpOwogICAg
IFJlZlB0ciYgb3BlcmF0b3I9KFQqKTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMjgwMikKKysrIFRvb2xzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE3LTEwLTAzICBTYWFtIEJhcmF0
aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBwb2x5bW9ycGhpYyBw
cm90b3R5cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzYzOTEKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4KKworICAgICAgICAq
IFNjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHM6CisKIDIwMTctMTAtMDMgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgT2JqQyBTUEkg
ZXF1aXZhbGVudCB0byBXS1BhZ2VMb2FkZXJDbGllbnQud2lsbEdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtCkluZGV4OiBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHJldmlzaW9uIDIyMjgwMSkK
KysrIFRvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMJKHdvcmtpbmcgY29weSkKQEAg
LTYxOSw3ICs2MTksNyBAQCBkZWYgcnVuRlRMTm9DSklUKCpvcHRpb25hbFRlc3RTcGVjaWZpY09w
CiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVEIzTzEoKm9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9u
cykKLSAgICBydW4oImZ0bC1uby1jaml0LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9m
aWxpbmc9ZmFsc2UiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TICsgQjNPMV9PUFRJ
T05TICsgb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKSkKKyAgICBydW4oImZ0bC1uby1jaml0
LWIzbzEiLCAiLS11c2VBcnJheUFsbG9jYXRpb25Qcm9maWxpbmc9ZmFsc2UiLCAiLS1mb3JjZVBv
bHlQcm90bz10cnVlIiwgKihGVExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BU
SU9OUyArIG9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTE5v
Q0pJVFZhbGlkYXRlKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCkBAIC02NDcsNyArNjQ3
LDcgQEAgZGVmIHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUoKm9wdGlvbmFsVAogZW5kCiAKIGRl
ZiBydW5GVExFYWdlcigqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQotICAgIHJ1bigiZnRs
LWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1ZSIsICooRlRMX09QVElPTlMg
KyBFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlvbmFs
VGVzdFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAiLS1haXJGb3JjZUJy
aWdnc0FsbG9jYXRvcj10cnVlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICooRlRMX09QVElP
TlMgKyBFQUdFUl9PUFRJT05TICsgQ09MTEVDVF9DT05USU5VT1VTTFlfT1BUSU9OUyArIG9wdGlv
bmFsVGVzdFNwZWNpZmljT3B0aW9ucykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyV2F0Y2hkb2co
Km9wdGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKQEAgLTg2NCw2ICs4NjQsNyBAQCBkZWYgcnVu
VHlwZVByb2ZpbGVyCiAKICAgICBydW4oImZ0bC1uby1jaml0LXR5cGUtcHJvZmlsZXIiLCAiLS11
c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMpKQog
ICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICoo
RlRMX09QVElPTlMpKQorICAgIHJ1bigiZnRsLXR5cGUtcHJvZmlsZXItZm9yY2UtcG9seS1wcm90
by1mdGwtZWFnZXIiLCAiLS11c2VUeXBlUHJvZmlsZXI9dHJ1ZSIsICItLWZvcmNlUG9seVByb3Rv
PXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkNv
bnRyb2xGbG93UHJvZmlsZXIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>322594</attachid>
            <date>2017-10-03 15:22:51 -0700</date>
            <delta_ts>2017-10-03 15:22:51 -0700</delta_ts>
            <desc>traditional perf benchmark results</desc>
            <filename>scratch</filename>
            <type>text/plain</type>
            <size>13024</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">T2N0YW5lOgotLS0tLS0tCkNvbGxlY3RlZCA4IHNhbXBsZXMgcGVyIGJlbmNobWFyay9WTSwgd2l0
aCA4IFZNIGludm9jYXRpb25zIHBlciBiZW5jaG1hcmsuIEVtaXR0ZWQgYSBjYWxsIHRvIGdjKCkK
YmV0d2VlbiBzYW1wbGUgbWVhc3VyZW1lbnRzLiBVc2VkIDEgYmVuY2htYXJrIGl0ZXJhdGlvbiBw
ZXIgVk0gaW52b2NhdGlvbiBmb3Igd2FybS11cC4gVXNlZCB0aGUKanNjLXNwZWNpZmljIHByZWNp
c2VUaW1lKCkgZnVuY3Rpb24gdG8gZ2V0IG1pY3Jvc2Vjb25kLWxldmVsIHRpbWluZy4gUmVwb3J0
aW5nIGJlbmNobWFyayBleGVjdXRpb24KdGltZXMgd2l0aCA5NSUgY29uZmlkZW5jZSBpbnRlcnZh
bHMgaW4gbWlsbGlzZWNvbmRzLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9nICAg
ICAgICAgICAgICAgICAgICAgIGNoYW5nZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCgplbmNyeXB0ICAgICAgICAgICAgICAgICAwLjE1ODk4Ky0wLjAwNDgwICAgICAgICAg
IDAuMTU3NzIrLTAuMDAyNTAgICAgICAgCmRlY3J5cHQgICAgICAgICAgICAgICAgIDIuNzMyNDEr
LTAuMDM5NTYgICAgPyAgICAgMi44MTc5MSstMC4xMDU5MyAgICAgICA/IG1pZ2h0IGJlIDEuMDMx
M3ggc2xvd2VyCmRlbHRhYmx1ZSAgICAgIHgyICAgICAgIDAuMTM0MTQrLTAuMDAzNDAgICAgICAg
ICAgMC4xMzE3MystMC4wMDM2MyAgICAgICAgIG1pZ2h0IGJlIDEuMDE4M3ggZmFzdGVyCmVhcmxl
eSAgICAgICAgICAgICAgICAgIDAuMjgyNDIrLTAuMDAzNDQgICAgICAgICAgMC4yNzc3NystMC4w
MDQxNCAgICAgICAgIG1pZ2h0IGJlIDEuMDE2N3ggZmFzdGVyCmJveWVyICAgICAgICAgICAgICAg
ICAgIDQuNjE4NTMrLTAuMTQxNjggICAgPyAgICAgNC43OTEzOSstMC4wODA1MyAgICAgICA/IG1p
Z2h0IGJlIDEuMDM3NHggc2xvd2VyCm5hdmllci1zdG9rZXMgIHgyICAgICAgIDUuMDYwNDcrLTAu
MDU0MTMgICAgICAgICAgNS4wNDU0NistMC4wODM0NiAgICAgICAKcmF5dHJhY2UgICAgICAgeDIg
ICAgICAgMC43NjQxMystMC4wMTQwMiAgICAgICAgICAwLjc2Mjk2Ky0wLjAwNjc3ICAgICAgIApy
aWNoYXJkcyAgICAgICB4MiAgICAgICAwLjEwMDEwKy0wLjAwMTgzICAgICAgICAgIDAuMDk5Njcr
LTAuMDAxNTggICAgICAgCnNwbGF5ICAgICAgICAgIHgyICAgICAgIDAuMzI0NzArLTAuMDA0NzQg
ICAgICAgICAgMC4zMjA5MSstMC4wMDQ1OSAgICAgICAgIG1pZ2h0IGJlIDEuMDExOHggZmFzdGVy
CnJlZ2V4cCAgICAgICAgIHgyICAgICAgMTcuNDAzNTkrLTAuNDcxMzUgICAgPyAgICAxNy40Nzg0
NystMC4zODYxNyAgICAgICA/CnBkZmpzICAgICAgICAgIHgyICAgICAgMzUuNzA4MzYrLTAuNTQw
NDkgICAgPyAgICAzNi41MTkxNCstMC4zODYzMyAgICAgICA/IG1pZ2h0IGJlIDEuMDIyN3ggc2xv
d2VyCm1hbmRyZWVsICAgICAgIHgyICAgICAgNDQuMDQwMzMrLTAuMzU0NjUgICAgICAgICA0My44
Nzk3MSstMC40OTQ4MCAgICAgICAKZ2JlbXUgICAgICAgICAgeDIgICAgICAzMS42MDMyOCstMC4z
OTU4OSAgICA/ICAgIDMxLjY5NTE3Ky0wLjY3MjQzICAgICAgID8KY2xvc3VyZSAgICAgICAgICAg
ICAgICAgMC41MTA0OSstMC4wMDU1OSAgICAhICAgICAwLjUxOTA4Ky0wLjAwMjYwICAgICAgICEg
ZGVmaW5pdGVseSAxLjAxNjh4IHNsb3dlcgpqcXVlcnkgICAgICAgICAgICAgICAgICA2LjcxMjQx
Ky0wLjA3MzUyICAgID8gICAgIDYuNzQ2MjErLTAuMDU0NDkgICAgICAgPwpib3gyZCAgICAgICAg
ICB4MiAgICAgICA4Ljc1NTA1Ky0wLjEwMDQ1ICAgID8gICAgIDguODA0NTArLTAuMTUyNjkgICAg
ICAgPwp6bGliICAgICAgICAgICB4MiAgICAgMzA5LjM5ODU0Ky00LjMzMzQwICAgID8gICAzMTEu
NjQzMzErLTUuMDQyNTMgICAgICAgPwp0eXBlc2NyaXB0ICAgICB4MiAgICAgNjA1LjQ5NzkyKy0x
My4yNzMxNyAgID8gICA2MTMuMzE0OTcrLTkuOTY4NTMgICAgICAgPyBtaWdodCBiZSAxLjAxMjl4
IHNsb3dlcgoKPGdlb21ldHJpYz4gICAgICAgICAgICAgNS4wMjg0OSstMC4wMjAxNiAgICA/ICAg
ICA1LjA0Mzc4Ky0wLjAyNjQ1ICAgICAgID8gbWlnaHQgYmUgMS4wMDMweCBzbG93ZXIKCgpLcmFr
ZW46Ci0tLS0tLS0KQ29sbGVjdGVkIDE2IHNhbXBsZXMgcGVyIGJlbmNobWFyay9WTSwgd2l0aCAx
NiBWTSBpbnZvY2F0aW9ucyBwZXIgYmVuY2htYXJrLiBFbWl0dGVkIGEgY2FsbCB0byBnYygpIGJl
dHdlZW4gc2FtcGxlCm1lYXN1cmVtZW50cy4gVXNlZCAxIGJlbmNobWFyayBpdGVyYXRpb24gcGVy
IFZNIGludm9jYXRpb24gZm9yIHdhcm0tdXAuIFVzZWQgdGhlIGpzYy1zcGVjaWZpYyBwcmVjaXNl
VGltZSgpCmZ1bmN0aW9uIHRvIGdldCBtaWNyb3NlY29uZC1sZXZlbCB0aW1pbmcuIFJlcG9ydGlu
ZyBiZW5jaG1hcmsgZXhlY3V0aW9uIHRpbWVzIHdpdGggOTUlIGNvbmZpZGVuY2UgaW50ZXJ2YWxz
IGluCm1pbGxpc2Vjb25kcy4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvZyAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAoKYWktYXN0YXIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDk5LjgwOCstMS4xNjAgICAgICAgICAgICAgOTcuNDQzKy0yLjE4MCAgICAgICAgICAgbWln
aHQgYmUgMS4wMjQzeCBmYXN0ZXIKYXVkaW8tYmVhdC1kZXRlY3Rpb24gICAgICAgICAgICAgICAg
ICAgIDM5LjAzOCstMC41NDAgICAgICAgICAgICAgMzguNzQ4Ky0wLjMxNSAgICAgICAgIAphdWRp
by1kZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDEuOTg3Ky0yLjE4NiAgICAgID8g
ICAgIDEwMi44OTcrLTIuOTc2ICAgICAgICAgPwphdWRpby1mZnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMjkuODc0Ky0wLjk1OSAgICAgID8gICAgICAzMC4xMzQrLTEuNTMxICAgICAg
ICAgPwphdWRpby1vc2NpbGxhdG9yICAgICAgICAgICAgICAgICAgICAgICAgNDcuNTYzKy0xLjY0
OCAgICAgICAgICAgICA0Ny4wMjkrLTEuMTQwICAgICAgICAgICBtaWdodCBiZSAxLjAxMTN4IGZh
c3RlcgppbWFnaW5nLWRhcmtyb29tICAgICAgICAgICAgICAgICAgICAgICAgNjMuNzk5Ky0xLjc0
OSAgICAgICAgICAgICA2MC45NjArLTEuNTc4ICAgICAgICAgICBtaWdodCBiZSAxLjA0NjZ4IGZh
c3RlcgppbWFnaW5nLWRlc2F0dXJhdGUgICAgICAgICAgICAgICAgICAgICAgNDcuMTExKy0yLjQ2
MSAgICAgICAgICAgICA0NS45OTUrLTEuMzI0ICAgICAgICAgICBtaWdodCBiZSAxLjAyNDN4IGZh
c3RlcgppbWFnaW5nLWdhdXNzaWFuLWJsdXIgICAgICAgICAgICAgICAgICAgNjkuNDY4Ky00LjEy
OCAgICAgICAgICAgICA2OS4zNjArLTQuMjAzICAgICAgICAgCmpzb24tcGFyc2UtZmluYW5jaWFs
ICAgICAgICAgICAgICAgICAgICAzNC45NTArLTEuMTE3ICAgICAgICAgICAgIDM0LjQyNSstMS4y
OTIgICAgICAgICAgIG1pZ2h0IGJlIDEuMDE1MnggZmFzdGVyCmpzb24tc3RyaW5naWZ5LXRpbmRl
cmJveCAgICAgICAgICAgICAgICAyMS4wMjQrLTAuNzczICAgICAgICAgICAgIDIwLjMxOSstMC44
ODUgICAgICAgICAgIG1pZ2h0IGJlIDEuMDM0N3ggZmFzdGVyCnN0YW5mb3JkLWNyeXB0by1hZXMg
ICAgICAgICAgICAgICAgICAgICAzOC45ODMrLTAuOTY0ICAgICAgPyAgICAgIDM5Ljg2MCstMS40
NDQgICAgICAgICA/IG1pZ2h0IGJlIDEuMDIyNXggc2xvd2VyCnN0YW5mb3JkLWNyeXB0by1jY20g
ICAgICAgICAgICAgICAgICAgICAzNS4yNzMrLTIuMTA0ICAgICAgPyAgICAgIDM1LjQ2NCstMi41
NjcgICAgICAgICA/CnN0YW5mb3JkLWNyeXB0by1wYmtkZjIgICAgICAgICAgICAgICAgICA2MC4z
MzIrLTAuNzQyICAgICAgPyAgICAgIDYyLjIzMystMS4zMDQgICAgICAgICA/IG1pZ2h0IGJlIDEu
MDMxNXggc2xvd2VyCnN0YW5mb3JkLWNyeXB0by1zaGEyNTYtaXRlcmF0aXZlICAgICAgICAxOS40
NDErLTAuNTgwICAgICAgPyAgICAgIDE5LjYzNCstMC41MDMgICAgICAgICA/Cgo8YXJpdGhtZXRp
Yz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAuNjE4Ky0wLjQwNiAgICAgICAgICAgICA1
MC4zMjErLTAuNjc3ICAgICAgICAgICBtaWdodCBiZSAxLjAwNTl4IGZhc3RlcgoKCgpTdW5zcGlk
ZXI6Ci0tLS0tLS0tLS0KQ29sbGVjdGVkIDE4IHNhbXBsZXMgcGVyIGJlbmNobWFyay9WTSwgd2l0
aCAxOCBWTSBpbnZvY2F0aW9ucyBwZXIgYmVuY2htYXJrLiBFbWl0dGVkIGEgY2FsbCB0byBnYygp
CmJldHdlZW4gc2FtcGxlIG1lYXN1cmVtZW50cy4gVXNlZCAxIGJlbmNobWFyayBpdGVyYXRpb24g
cGVyIFZNIGludm9jYXRpb24gZm9yIHdhcm0tdXAuIFVzZWQgdGhlCmpzYy1zcGVjaWZpYyBwcmVj
aXNlVGltZSgpIGZ1bmN0aW9uIHRvIGdldCBtaWNyb3NlY29uZC1sZXZlbCB0aW1pbmcuIFJlcG9y
dGluZyBiZW5jaG1hcmsgZXhlY3V0aW9uIHRpbWVzCndpdGggOTUlIGNvbmZpZGVuY2UgaW50ZXJ2
YWxzIGluIG1pbGxpc2Vjb25kcy4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb2cgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKCjNkLWN1YmUgICAgICAgICAgICAgICAgICAgICAgICAgNC43NTY5Ky0w
LjIyMTMgICAgICAgICAgICA0LjcwMzcrLTAuMjA5NyAgICAgICAgICBtaWdodCBiZSAxLjAxMTN4
IGZhc3RlcgozZC1tb3JwaCAgICAgICAgICAgICAgICAgICAgICAgIDUuMzI3OSstMC4yMDAzICAg
ICA/ICAgICAgNS4zMjkyKy0wLjIwMTcgICAgICAgID8KM2QtcmF5dHJhY2UgICAgICAgICAgICAg
ICAgICAgICA0Ljc0MjYrLTAuMTk3OSAgICAgPyAgICAgIDQuNzQzNSstMC4xOTAzICAgICAgICA/
CmFjY2Vzcy1iaW5hcnktdHJlZXMgICAgICAgICAgICAgMi4xMDQ1Ky0wLjA4NjkgICAgID8gICAg
ICAyLjE0NzgrLTAuMTM3OCAgICAgICAgPyBtaWdodCBiZSAxLjAyMDZ4IHNsb3dlcgphY2Nlc3Mt
ZmFubmt1Y2ggICAgICAgICAgICAgICAgIDYuMzE4MystMC4yMjQ1ICAgICAgICAgICAgNi4yNjU0
Ky0wLjE5OTIgICAgICAgIAphY2Nlc3MtbmJvZHkgICAgICAgICAgICAgICAgICAgIDIuODYxOCst
MC4xNTI5ICAgICAgICAgICAgMi44MzI1Ky0wLjE0MjggICAgICAgICAgbWlnaHQgYmUgMS4wMTAz
eCBmYXN0ZXIKYWNjZXNzLW5zaWV2ZSAgICAgICAgICAgICAgICAgICAzLjI1MjkrLTAuMTM4NSAg
ICAgPyAgICAgIDMuMzI4MistMC4xODc0ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIzMnggc2xvd2Vy
CmJpdG9wcy0zYml0LWJpdHMtaW4tYnl0ZSAgICAgICAgMS4zMDQ1Ky0wLjA3NzkgICAgICAgICAg
ICAxLjI1NjgrLTAuMDY1NCAgICAgICAgICBtaWdodCBiZSAxLjAzNzl4IGZhc3RlcgpiaXRvcHMt
Yml0cy1pbi1ieXRlICAgICAgICAgICAgIDIuOTgyNCstMC4xNjI4ICAgICA/ICAgICAgMy4wNjE3
Ky0wLjEyNTggICAgICAgID8gbWlnaHQgYmUgMS4wMjY2eCBzbG93ZXIKYml0b3BzLWJpdHdpc2Ut
YW5kICAgICAgICAgICAgICAyLjMzNTIrLTAuMDc1NiAgICAgPyAgICAgIDIuMzYyNCstMC4wOTE4
ICAgICAgICA/IG1pZ2h0IGJlIDEuMDExNnggc2xvd2VyCmJpdG9wcy1uc2lldmUtYml0cyAgICAg
ICAgICAgICAgMy42NDczKy0wLjA5OTQgICAgID8gICAgICAzLjY1NTcrLTAuMTQ1MSAgICAgICAg
Pwpjb250cm9sZmxvdy1yZWN1cnNpdmUgICAgICAgICAgIDIuMjI5MistMC4wNjY4ICAgICA/ICAg
ICAgMi4zMjE1Ky0wLjEyMTkgICAgICAgID8gbWlnaHQgYmUgMS4wNDE0eCBzbG93ZXIKY3J5cHRv
LWFlcyAgICAgICAgICAgICAgICAgICAgICA0LjUzODQrLTAuMjMxNyAgICAgICAgICAgIDQuNDkx
OSstMC4xODc2ICAgICAgICAgIG1pZ2h0IGJlIDEuMDEwM3ggZmFzdGVyCmNyeXB0by1tZDUgICAg
ICAgICAgICAgICAgICAgICAgMi43OTY5Ky0wLjE1MzUgICAgICAgICAgICAyLjY4MTkrLTAuMDc0
MCAgICAgICAgICBtaWdodCBiZSAxLjA0Mjl4IGZhc3RlcgpjcnlwdG8tc2hhMSAgICAgICAgICAg
ICAgICAgICAgIDIuOTM0NistMC4xMzI5ICAgICAgICAgICAgMi43MzA4Ky0wLjA3ODEgICAgICAg
ICAgbWlnaHQgYmUgMS4wNzQ2eCBmYXN0ZXIKZGF0ZS1mb3JtYXQtdG9mdGUgICAgICAgICAgICAg
ICA3LjY4NjcrLTAuMzAwNSAgICAgPyAgICAgIDcuNjk0MystMC4zMTU1ICAgICAgICA/CmRhdGUt
Zm9ybWF0LXhwYXJiICAgICAgICAgICAgICAgNS40MzE0Ky0wLjIwMTYgICAgID8gICAgICA1Ljc3
NTMrLTAuMzgwMCAgICAgICAgPyBtaWdodCBiZSAxLjA2MzN4IHNsb3dlcgptYXRoLWNvcmRpYyAg
ICAgICAgICAgICAgICAgICAgIDMuMjgzMSstMC4xNjU3ICAgICA/ICAgICAgMy4zMTM2Ky0wLjI3
MzAgICAgICAgID8KbWF0aC1wYXJ0aWFsLXN1bXMgICAgICAgICAgICAgICA0LjYwOTMrLTAuMjY2
MiAgICAgICAgICAgIDQuNTkwMCstMC4xNjU3ICAgICAgICAKbWF0aC1zcGVjdHJhbC1ub3JtICAg
ICAgICAgICAgICAyLjAyNjYrLTAuMDQ4NiAgICAgPyAgICAgIDIuMTcwMSstMC4xMzE2ICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDcwOHggc2xvd2VyCnJlZ2V4cC1kbmEgICAgICAgICAgICAgICAgICAg
ICAgNi45NDIzKy0wLjM0ODggICAgICAgICAgICA2LjkxNjErLTAuMjYyNSAgICAgICAgCnN0cmlu
Zy1iYXNlNjQgICAgICAgICAgICAgICAgICAgNC4zNzAxKy0wLjE2NzIgICAgICAgICAgICA0LjM0
NDArLTAuMTgwNSAgICAgICAgCnN0cmluZy1mYXN0YSAgICAgICAgICAgICAgICAgICAgNi4zOTE1
Ky0wLjI5ODIgICAgID8gICAgICA2LjU0MDMrLTAuMjA1MSAgICAgICAgPyBtaWdodCBiZSAxLjAy
MzN4IHNsb3dlcgpzdHJpbmctdGFnY2xvdWQgICAgICAgICAgICAgICAgIDguODY1NistMC4zMTA2
ICAgICA/ICAgICAgOC45MTczKy0wLjI4MzggICAgICAgID8Kc3RyaW5nLXVucGFjay1jb2RlICAg
ICAgICAgICAgIDE4Ljg0MjYrLTAuNTYwNSAgICAgICAgICAgMTguODE5OSstMC45ODkxICAgICAg
ICAKc3RyaW5nLXZhbGlkYXRlLWlucHV0ICAgICAgICAgICA0Ljc5MzkrLTAuMTczNCAgICAgICAg
ICAgIDQuNzU4OCstMC4xOTk0ICAgICAgICAKCjxhcml0aG1ldGljPiAgICAgICAgICAgICAgICAg
ICAgNC44MjIyKy0wLjA0MzUgICAgID8gICAgICA0LjgzNjYrLTAuMDU4NiAgICAgICAgPyBtaWdo
dCBiZSAxLjAwMzB4IHNsb3dlcgoKClNpeHNwZWVkOgotLS0tLS0tLQpWTXMgdGVzdGVkOgoib2ci
IGF0IC9Wb2x1bWVzL0RhdGEvV0svYy9PcGVuU291cmNlL1dlYktpdEJ1aWxkL1JlbGVhc2UvanNj
IChyMjIyNzEyKQoiY2hhbmdlIiBhdCAvVm9sdW1lcy9EYXRhL1dLL2IvT3BlblNvdXJjZS9XZWJL
aXRCdWlsZC9SZWxlYXNlL2pzYyAocjIyMjcxMikKCkNvbGxlY3RlZCA4IHNhbXBsZXMgcGVyIGJl
bmNobWFyay9WTSwgd2l0aCA4IFZNIGludm9jYXRpb25zIHBlciBiZW5jaG1hcmsuIEVtaXR0ZWQg
YSBjYWxsIHRvIGdjKCkgYmV0d2VlbgpzYW1wbGUgbWVhc3VyZW1lbnRzLiBVc2VkIDEgYmVuY2ht
YXJrIGl0ZXJhdGlvbiBwZXIgVk0gaW52b2NhdGlvbiBmb3Igd2FybS11cC4gVXNlZCB0aGUganNj
LXNwZWNpZmljCnByZWNpc2VUaW1lKCkgZnVuY3Rpb24gdG8gZ2V0IG1pY3Jvc2Vjb25kLWxldmVs
IHRpbWluZy4gUmVwb3J0aW5nIGJlbmNobWFyayBleGVjdXRpb24gdGltZXMgd2l0aCA5NSUKY29u
ZmlkZW5jZSBpbnRlcnZhbHMgaW4gbWlsbGlzZWNvbmRzLgoKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvZyAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKdGVtcGxhdGVfc3RyaW5nLmVzNSAgICAgICAg
ICA1NjAwLjk2MDYrLTMzLjk1MzggICAgPyAgIDU2NzUuOTIwNSstNDIuOTM3NSAgICAgICA/IG1p
Z2h0IGJlIDEuMDEzNHggc2xvd2VyCnRlbXBsYXRlX3N0cmluZy5lczYgICAgICAgICAgMzU2OS40
MDU5Ky00Ny40NTg3ICAgID8gICAzNTg2Ljg0MjArLTU3LjcyODQgICAgICAgPwpkZWZhdWx0cy5l
czUgICAgICAgICAgICAgICAgICAzNDAuOTAzMistMy41MTY1ICAgICA/ICAgIDM0My40OTczKy05
LjI1MzIgICAgICAgID8KZGVmYXVsdHMuZXM2ICAgICAgICAgICAgICAgICAgMzQ0LjQwMDMrLTYu
MTQyNyAgICAgICAgICAzMzYuNzk5MCstNC45ODExICAgICAgICAgIG1pZ2h0IGJlIDEuMDIyNngg
ZmFzdGVyCm1hcC1zZXQtbG9va3VwLmVzNSAgICAgICAgICAgICA2MS4wNjUxKy0xLjg0MDQgICAg
ID8gICAgIDYyLjA5OTQrLTEuNjYzMiAgICAgICAgPyBtaWdodCBiZSAxLjAxNjl4IHNsb3dlcgpt
YXAtc2V0LWxvb2t1cC5lczYgICAgICAgICAgICAgIDEuODc1MSstMC41OTQyICAgICAgICAgICAg
MS44MzkzKy0xLjM4MjcgICAgICAgICAgbWlnaHQgYmUgMS4wMTk0eCBmYXN0ZXIKc3ByZWFkLmVz
NSAgICAgICAgICAgICAgICAgICAgIDEyLjUwODkrLTEuMDY4MiAgICAgPyAgICAgMTIuNzQ5NCst
MC41Mzg3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDE5Mnggc2xvd2VyCnNwcmVhZC5lczYgICAgICAg
ICAgICAgICAgICAgICA0My43NTMxKy0zLjIyMjQgICAgID8gICAgIDQzLjg0NjMrLTIuMDg2NCAg
ICAgICAgPwpvYmplY3QtYXNzaWduLmVzNSAgICAgICAgICAgICAyNTIuMTAxOCstMTAuNDkwMiAg
ICA/ICAgIDI1Mi40NDcxKy00Ljg1NzYgICAgICAgID8Kb2JqZWN0LWFzc2lnbi5lczYgICAgICAg
ICAgICAgMjY1LjM5MTYrLTYuNTc5NSAgICAgICAgICAyNTEuODcxMistMTAuNjcyNSAgICAgICAg
IG1pZ2h0IGJlIDEuMDUzN3ggZmFzdGVyCnNwcmVhZC1saXRlcmFsLmVzNSAgICAgICAgICAgICAx
My40NDA0Ky0wLjMwNTggICAgID8gICAgIDE0LjA3NzErLTAuODk0MCAgICAgICAgPyBtaWdodCBi
ZSAxLjA0NzR4IHNsb3dlcgpzcHJlYWQtbGl0ZXJhbC5lczYgICAgICAgICAgICAgMjMuNTQ3MCst
MC45Mzg3ICAgICAgICAgICAyMy41MjQ4Ky0wLjU3NjEgICAgICAgIAptYXAtc2V0LmVzNSAgICAg
ICAgICAgICAgICAgICAgMTkuMDQwMistMS42ODM5ICAgICA/ICAgICAyMC43ODk5Ky0xLjc5MTcg
ICAgICAgID8gbWlnaHQgYmUgMS4wOTE5eCBzbG93ZXIKbWFwLXNldC5lczYgICAgICAgICAgICAg
ICAgICAgMTQ3Ljk1MTgrLTIuMDQ5MyAgICAgPyAgICAxNTAuODM5OSstNC4yNDgwICAgICAgICA/
IG1pZ2h0IGJlIDEuMDE5NXggc2xvd2VyCmRlc3RydWN0dXJpbmctc2ltcGxlLmVzNSAgICAgICA2
Ny45OTc5Ky0yLjU3NDUgICAgICAgICAgIDY3LjkwMTArLTMuMzIzNSAgICAgICAgCmRlc3RydWN0
dXJpbmctc2ltcGxlLmVzNiAgICAgICA1Ni4yOTkyKy02LjE1MjUgICAgID8gICAgIDYyLjk0MjEr
LTUuNTg3NyAgICAgICAgPyBtaWdodCBiZSAxLjExODB4IHNsb3dlcgpzdXBlci5lczUgICAgICAg
ICAgICAgICAgICAgICAgIDkuMDk0NSstMC40NzgxICAgICAgICAgICAgOS4wOTA3Ky0wLjQxNzEg
ICAgICAgIApzdXBlci5lczYgICAgICAgICAgICAgICAgICAgICAgNzYuMjMxNistMi45MjAwICAg
ICA/ICAgICA3OS4xNTg0Ky0yLjk1OTggICAgICAgID8gbWlnaHQgYmUgMS4wMzg0eCBzbG93ZXIK
Zm9yLW9mLW9iamVjdC5lczUgICAgICAgICAgICAgIDQ1LjAyNDArLTIuNTk4OCAgICAgISAgICAg
NTMuNzQ5MSstMi40MzE2ICAgICAgICAhIGRlZmluaXRlbHkgMS4xOTM4eCBzbG93ZXIKZm9yLW9m
LW9iamVjdC5lczYgICAgICAgICAgICAgMTc2Ljk3MzgrLTYuNDk2OSAgICAgICAgICAxNzIuOTI0
OCstNC40OTM0ICAgICAgICAgIG1pZ2h0IGJlIDEuMDIzNHggZmFzdGVyCnJlc3QuZXM1ICAgICAg
ICAgICAgICAgICAgICAgICAzNS4wNzkwKy0yLjA5NjUgICAgICEgICAgIDQ0LjAzNDErLTIuNDkx
MyAgICAgICAgISBkZWZpbml0ZWx5IDEuMjU1M3ggc2xvd2VyCnJlc3QuZXM2ICAgICAgICAgICAg
ICAgICAgICAgICAgMS43MjI5Ky0wLjA5MDAgICAgID8gICAgICAxLjc0MDcrLTAuMTA3OSAgICAg
ICAgPyBtaWdodCBiZSAxLjAxMDN4IHNsb3dlcgpyZWdleC11LmVzNSAgICAgICAgICAgICAgICAg
ICAgNDAuMjQ3NystMS40ODAwICAgICA/ICAgICA0MC45MzkzKy0zLjIwNTAgICAgICAgID8gbWln
aHQgYmUgMS4wMTcyeCBzbG93ZXIKcmVnZXgtdS5lczYgICAgICAgICAgICAgICAgICAgIDcwLjQz
ODYrLTIuNDY1NiAgICAgPyAgICAgNzQuNjc3MSstMy42MzcwICAgICAgICA/IG1pZ2h0IGJlIDEu
MDYwMnggc2xvd2VyCmFycm93LmVzNSAgICAgICAgICAgICAgICAgICAgICA2Ny44MjM5Ky0yLjkx
NTYgICAgICAgICAgIDY3LjYwNTgrLTQuNDAyMCAgICAgICAgCmFycm93LmVzNiAgICAgICAgICAg
ICAgICAgICAgICA2Ni43NDM5Ky00LjU4ODQgICAgID8gICAgIDY3Ljc1MzYrLTMuMjIwMCAgICAg
ICAgPyBtaWdodCBiZSAxLjAxNTF4IHNsb3dlcgpiaW5kaW5ncy1jb21wb3VuZC5lczUgICAgICAg
ICAgNTguNjQzMSstMy4yNjY4ICAgICA/ICAgICA1OC43ODc5Ky01Ljk1MjMgICAgICAgID8KYmlu
ZGluZ3MtY29tcG91bmQuZXM2ICAgICAgICAgIDU1LjE3MzErLTIuMzI3NyAgICAgPyAgICAgNTYu
NDY2NCstMy4xMTQ3ICAgICAgICA/IG1pZ2h0IGJlIDEuMDIzNHggc2xvd2VyCmNsYXNzZXMuZXM1
ICAgICAgICAgICAgICAgICAgICA2MC4wNzYyKy0xLjQ1MTkgICAgID8gICAgIDYyLjAxNTQrLTMu
NzY0MCAgICAgICAgPyBtaWdodCBiZSAxLjAzMjN4IHNsb3dlcgpjbGFzc2VzLmVzNiAgICAgICAg
ICAgICAgICAgICAgNjAuMDg5NCstMS42ODIzICAgICAgICAgICA1OS40NTAxKy0yLjAyODkgICAg
ICAgICAgbWlnaHQgYmUgMS4wMTA4eCBmYXN0ZXIKdGVtcGxhdGVfc3RyaW5nX3RhZy5lczUgICAg
ICAgIDU3Ljg5MzgrLTEuOTU5MyAgICAgICAgICAgNTYuNzQ2OSstMS42MjU3ICAgICAgICAgIG1p
Z2h0IGJlIDEuMDIwMnggZmFzdGVyCnRlbXBsYXRlX3N0cmluZ190YWcuZXM2ICAgICAgIDE3NC45
NDg3Ky00LjAxNDYgICAgID8gICAgMTc3LjUwMDYrLTQuNjM0OCAgICAgICAgPyBtaWdodCBiZSAx
LjAxNDZ4IHNsb3dlcgptYXAtc3RyaW5nLmVzNSAgICAgICAgICAgICAgICAxMTYuMTU4NSstOC4x
OTY2ICAgICAgICAgIDExMi40MjMxKy05LjY0NTEgICAgICAgICAgbWlnaHQgYmUgMS4wMzMyeCBm
YXN0ZXIKbWFwLXN0cmluZy5lczYgICAgICAgICAgICAgICAgNDU4LjUxODErLTUuODA0OSAgICAg
PyAgICA0OTAuNDA5MystMjcuNzAwNiAgICAgICA/IG1pZ2h0IGJlIDEuMDY5Nnggc2xvd2VyCmFy
cm93LWRlY2xhcmUuZXM1ICAgICAgICAgICAgIDEwMy44ODk2Ky0zLjAzNzkgICAgID8gICAgMTAz
LjkxNzErLTEuNzg5NyAgICAgICAgPwphcnJvdy1kZWNsYXJlLmVzNiAgICAgICAgICAgICAxMDEu
MjM2OCstMy4yNzc5ICAgICA/ICAgIDEwMS4yNDk1Ky00LjI0MjggICAgICAgID8Kc3ByZWFkLWdl
bmVyYXRvci5lczUgICAgICAgICAgIDc4Ljk1NzYrLTQuMzI4OCAgICAgICAgICAgNzguMTkyMCst
MS45MDUwICAgICAgICAKc3ByZWFkLWdlbmVyYXRvci5lczYgICAgICAgICAgMTk3LjA5ODQrLTcu
ODczNiAgICAgPyAgICAxOTcuMjQ0NCstNS42MzI5ICAgICAgICA/Cm9iamVjdC1saXRlcmFsLWV4
dC5lczUgICAgICAgICAxNi4xNzU3Ky0wLjMwMjYgICAgICAgICAgIDE2LjE1ODYrLTAuMzYyMCAg
ICAgICAgCm9iamVjdC1saXRlcmFsLWV4dC5lczYgICAgICAgICAxOC42MTEyKy0wLjQxMzQgICAg
ID8gICAgIDE5LjM1OTcrLTAuOTY3MCAgICAgICAgPyBtaWdodCBiZSAxLjA0MDJ4IHNsb3dlcgpn
ZW5lcmF0b3IuZXM1ICAgICAgICAgICAgICAgICAgOTkuMzYyMistMC43NzQ1ICAgICA/ICAgIDEw
MC4yMDc4Ky0xLjI0MTAgICAgICAgID8KZ2VuZXJhdG9yLmVzNiAgICAgICAgICAgICAgICAgMTYw
Ljc2MDcrLTMuNDU5NCAgICAgPyAgICAxNjIuNTg3OSstNC4zMzQ3ICAgICAgICA/IG1pZ2h0IGJl
IDEuMDExNHggc2xvd2VyCmFycm93LWFyZ3MuZXM1ICAgICAgICAgICAgICAgICA2NC4yNTgzKy00
Ljk3NDcgICAgID8gICAgIDY0LjYxNzcrLTcuMDEyNCAgICAgICAgPwphcnJvdy1hcmdzLmVzNiAg
ICAgICAgICAgICAgICAgNjguOTkxNystMi43OTExICAgICAgICAgICA2Ny4xNjUxKy01LjE2Mzkg
ICAgICAgICAgbWlnaHQgYmUgMS4wMjcyeCBmYXN0ZXIKZm9yLW9mLWFycmF5LmVzNSAgICAgICAg
ICAgICAgMTY5Ljk3NjErLTIuMTYzOCAgICAgPyAgICAxNzEuNzYyNistNC4zMjg2ICAgICAgICA/
IG1pZ2h0IGJlIDEuMDEwNXggc2xvd2VyCmZvci1vZi1hcnJheS5lczYgICAgICAgICAgICAgIDE5
My4yNDI0Ky01LjY4NDggICAgID8gICAgMjAxLjkzODkrLTMuMzkzMSAgICAgICAgPyBtaWdodCBi
ZSAxLjA0NTB4IHNsb3dlcgpiaW5kaW5ncy5lczUgICAgICAgICAgICAgICAgICAgNTcuOTY1MSst
NC40Mzc4ICAgICAgICAgICA1Ni44NTI2Ky0zLjkxNjAgICAgICAgICAgbWlnaHQgYmUgMS4wMTk2
eCBmYXN0ZXIKYmluZGluZ3MuZXM2ICAgICAgICAgICAgICAgICAgIDY2Ljg0MDYrLTIuMjExNCAg
ICAgICAgICAgNjUuODQ4MSstMS4yNjA2ICAgICAgICAgIG1pZ2h0IGJlIDEuMDE1MXggZmFzdGVy
CmRlc3RydWN0dXJpbmcuZXM1ICAgICAgICAgICAgICA2NC4yMDEzKy0xLjg0ODAgICAgID8gICAg
IDY3LjU1NDArLTIuMTAxMSAgICAgICAgPyBtaWdodCBiZSAxLjA1MjJ4IHNsb3dlcgpkZXN0cnVj
dHVyaW5nLmVzNiAgICAgICAgICAgICAgNzkuNzM2NSstMy4xNzQ1ICAgICAgICAgICA3OC43ODgw
Ky0yLjAyNTcgICAgICAgICAgbWlnaHQgYmUgMS4wMTIweCBmYXN0ZXIKbWFwLXNldC1vYmplY3Qu
ZXM1ICAgICAgICAgICAgIDI3LjU5MTgrLTAuMjg0MyAgICAgPyAgICAgMjcuNjYwOCstMC4zNDgz
ICAgICAgICA/Cm1hcC1zZXQtb2JqZWN0LmVzNiAgICAgICAgICAgIDE1NC4zNDE2Ky0zLjU4MjUg
ICAgID8gICAgMTU0LjcwNTcrLTQuNzk2NSAgICAgICAgPwoKPGdlb21ldHJpYz4gICAgICAgICAg
ICAgICAgICAgIDcyLjk4NjgrLTAuODkwMiAgICAgPyAgICAgNzQuMDY4NystMC45OTQ0ICAgICAg
ICA/IG1pZ2h0IGJlIDEuMDE0OHggc2xvd2VyCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>322601</attachid>
            <date>2017-10-03 15:56:46 -0700</date>
            <delta_ts>2017-10-03 18:53:22 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>239173</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjI4MDEpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDExOCBAQAorMjAxNy0xMC0wMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRmlsaXAgUGl6bG8uCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3Mv
cG9seS1wcm90by1hY2Nlc3MuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAg
KGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmFyKToKKyAgICAgICAgKGZv
byk6CisgICAgICAgIChiYXIpOgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb2x5LXByb3Rv
LXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAg
ICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVy
Zm9ybVNldCk6CisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tc2V0dGVyLXNw
ZWVkLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3Rv
T2JqZWN0LmZvby5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90
eXBlLnNldCBwKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAg
KG1ha2VQb2x5UHJvdG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICog
c3RyZXNzL2NvbnN0cnVjdG9yLXdpdGgtcmV0dXJuLmpzOgorICAgICAgICAoaS50ZXN0cy5mb3JF
YWNoLkNvbnN0cnVjdG9yKToKKyAgICAgICAgKGkudGVzdHMuZm9yRWFjaCk6CisgICAgICAgICh0
ZXN0cy5mb3JFYWNoLkNvbnN0cnVjdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKHRlc3RzLmZvckVh
Y2gpOiBEZWxldGVkLgorICAgICAgICAqIHN0cmVzcy9kb20taml0LXdpdGgtcG9seS1wcm90by5q
czogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVj
dC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgICht
YWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJl
c3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAgICAg
ICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmpl
Y3QpOgorICAgICAgICAoaXRlbXMuZm9yRWFjaCk6CisgICAgICAgIChzZXQgZ2V0IGZvcik6Cisg
ICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5q
czogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVj
dC5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgICht
YWtlUG9seVByb3RvT2JqZWN0KToKKyAgICAgICAgKGZvbyk6CisgICAgICAgICogc3RyZXNzL3Bv
bHktcHJvdG8tbWlzcy5qczogQWRkZWQuCisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZS5mb28uQyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZS5mb28pOgorICAgICAgICAobWFrZVBvbHlQcm90b0luc3RhbmNlV2l0
aE51bGxQcm90b3R5cGUpOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToK
KyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAodmFsaWRhdGUpOgorICAgICAgICAodmFsaWRhdGUyKToKKyAgICAg
ICAgKiBzdHJlc3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi5qczogQWRkZWQuCisgICAgICAg
IChhc3NlcnQpOgorICAgICAgICAobWFrZVBvbHlQcm90b09iamVjdC5mb28uQyk6CisgICAgICAg
IChtYWtlUG9seVByb3RvT2JqZWN0LmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0
KToKKyAgICAgICAgKHBlcmZvcm1TZXQpOgorICAgICAgICAoaS5vYmouX19wcm90b19fLnNldCBw
KToKKyAgICAgICAgKiBzdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChsZXQuYWx0ZXJuYXRlUHJvdG8uZ2V0IHgpOgor
ICAgICAgICAobGV0LmFsdGVybmF0ZVByb3RvMi5nZXQgeSk6CisgICAgICAgIChsZXQuYWx0ZXJu
YXRlUHJvdG8yLmdldCB4KToKKyAgICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvbyk6CisgICAg
ICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogc3RyZXNzL3BvbHktcHJvdG8tc2V0dGVyLmpzOiBB
ZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZv
by5DKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLnNldCBw
KToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vLkMucHJvdG90eXBlLmdldCBwKToK
KyAgICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJv
dG9PYmplY3QpOgorICAgICAgICAocGVyZm9ybVNldCk6CisgICAgICAgICogc3RyZXNzL3BvbHkt
cHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAg
ICAgICAgKGZvby5DKToKKyAgICAgICAgKGZvby5DLnByb3RvdHlwZS5nZXQgYmF6KToKKyAgICAg
ICAgKGZvbyk6CisgICAgICAgIChiYXIuQyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAodmFs
aWRhdGUpOgorICAgICAgICAqIHN0cmVzcy9wcmltaXRpdmUtcG9seS1wcm90by5qczogQWRkZWQu
CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UuZm9vLkMpOgorICAgICAgICAobWFrZVBv
bHlQcm90b0luc3RhbmNlLmZvbyk6CisgICAgICAgIChtYWtlUG9seVByb3RvSW5zdGFuY2UpOgor
ICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToKKyAgICAgICAgKiBzdHJlc3Mv
cHJvdG90eXBlLWlzLW5vdC1qcy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vLmJhcik6
CisgICAgICAgIChmb28pOgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHZhbGlkYXRlKToK
KyAgICAgICAgKiBzdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzOiBBZGRlZC4KKyAg
ICAgICAgKGFzc2VydCk6CisgICAgICAgIChtYWtlUG9seVByb3RvT2JqZWN0LmZvby5DKToKKyAg
ICAgICAgKG1ha2VQb2x5UHJvdG9PYmplY3QuZm9vKToKKyAgICAgICAgKG1ha2VQb2x5UHJvdG9P
YmplY3QpOgorICAgICAgICAodHJ5R2V0QnlJZFRleHQpOgorICAgICAgICAoeC5fX3Byb3RvX18u
Z2V0IGJhcik6CisgICAgICAgICh2YWxpZGF0ZSk6CisgICAgICAgICogdHlwZVByb2ZpbGVyL292
ZXJmbG93LmpzOgorCiAyMDE3LTEwLTAzICBKRiBCYXN0aWVuICA8amZiYXN0aWVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJBc3NlbWJseTogbm8gVk0gLyBKUyB2ZXJzaW9uIG9mIGV2ZXJ5dGhp
bmcgYnV0IEluc3RhbmNlCkluZGV4OiBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXByb3Rv
LWFjY2Vzcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLWFjY2Vzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9w
b2x5LXByb3RvLWFjY2Vzcy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQzIEBACitmdW5j
dGlvbiBhc3NlcnQoYikgeyBpZiAoIWIpIHRocm93IG5ldyBFcnJvcigiQmFkIik7IH0KK25vSW5s
aW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAg
Y29uc3RydWN0b3IoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLnggPSAyMDsKKyAgICAg
ICAgfQorCisgICAgICAgIGdldCBiYXIoKQorICAgICAgICB7CisgICAgICAgICAgICBhc3NlcnQo
dGhpcy54ID09PSAyMCk7CisgICAgICAgICAgICBhc3NlcnQodGhpcy5mb28gPT09IHVuZGVmaW5l
ZCB8fCB0aGlzLmZvbyA9PT0gNDIpOworICAgICAgICAgICAgcmV0dXJuIDQ1OworICAgICAgICB9
CisgICAgfQorICAgIHJldHVybiBuZXcgQzsKK30KKworZm9vKCk7CitsZXQgYSA9IFtdOworZm9y
IChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQorICAgIGEucHVzaChmb28oKSk7CisKK2Z1bmN0aW9u
IGJhcihvKSB7CisgICAgYXNzZXJ0KG8uZm9vID09PSB1bmRlZmluZWQgfHwgby5mb28gPT09IDQy
KTsKKyAgICBhc3NlcnQoby5iYXIgPT09IDQ1KTsKK30KK25vSW5saW5lKGJhcik7CisKK2xldCBz
dGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDA7ICsraSkgewor
ICAgIGlmIChpID09PSA1MDAwKSB7CisgICAgICAgIGZvciAobGV0IGFyciBvZiBhKQorICAgICAg
ICAgICAgYXJyLl9fcHJvdG9fXy5mb28gPSA0MjsKKyAgICB9CisgICAgZm9yIChsZXQgaiA9IDA7
IGogPCBhLmxlbmd0aDsgKytqKSB7CisgICAgICAgIGJhcihhW2pdKTsKKyAgICB9Cit9CitpZiAo
ZmFsc2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvbWlj
cm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24tc3BlZWQuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1wdXQtdHJhbnNpdGlvbi1z
cGVlZC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb2x5LXBy
b3RvLXB1dC10cmFuc2l0aW9uLXNwZWVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMg
QEAKK2Z1bmN0aW9uIGFzc2VydChiLCBtKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3Qo
KSB7CisgICAgZnVuY3Rpb24gZm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkgeyB0aGlzLl9maWVsZCA9IDQyOyB9CisgICAgICAgIH07CisgICAgICAg
IHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKQor
ICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBnbG9iYWw7CisKK2Z1
bmN0aW9uIHBlcmZvcm1TZXQobykgeworICAgIG8ucCA9IDIwOworfQorCitsZXQgaXRlbXMgPSBb
XTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMjU7ICsraSkgeworICAgIGxldCBpdGVtID0gbWFrZVBv
bHlQcm90b09iamVjdCgpOworICAgIGl0ZW0uX19wcm90b19fID0gbnVsbDsKKyAgICBpdGVtcy5w
dXNoKGl0ZW0pOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9IDA7
IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgbGV0IG9iaiA9IGl0ZW1zW2ldOworICAgICAgICBwZXJmb3JtU2V0
KG9iaik7CisgICAgICAgIGFzc2VydChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICJw
IikpOworICAgICAgICBhc3NlcnQob2JqLnAgPT09IDIwKTsKKyAgICAgICAgYXNzZXJ0KG9iai5f
ZmllbGQgPT09IDQyKTsKKyAgICB9CisKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5v
dygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1z
ZXR0ZXItc3BlZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1zZXR0ZXItc3BlZWQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2Jl
bmNobWFya3MvcG9seS1wcm90by1zZXR0ZXItc3BlZWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSw1MiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0IGNhbGxlZCA9IGZhbHNlOwor
ZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7Cisg
ICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSAKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgc2V0IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjYWxsZWQg
PSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSB4OworICAgICAgICAgICAgfQorICAg
ICAgICB9OworICAgICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAw
OyBpIDwgMTU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitm
dW5jdGlvbiBwZXJmb3JtU2V0KG8pIHsKKyAgICBvLnAgPSAyMDsKK30KKworbGV0IGl0ZW1zID0g
W107Citmb3IgKGxldCBpID0gMDsgaSA8IDg7ICsraSkgeworICAgIGl0ZW1zLnB1c2gobWFrZVBv
bHlQcm90b09iamVjdCgpKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldCh4LCBpKSB7CisgICAg
eC5wID0gaTsKK30KKworbGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBp
KTsKKyAgICAgICAgYXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAgICBhc3NlcnQoY2FsbGVkID09
PSB0cnVlKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAgfQorfQoraWYgKGZhbHNlKQor
ICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9jb25z
dHJ1Y3Rvci13aXRoLXJldHVybi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9jb25z
dHJ1Y3Rvci13aXRoLXJldHVybi5qcwkocmV2aXNpb24gMjIyODAxKQorKysgSlNUZXN0cy9zdHJl
c3MvY29uc3RydWN0b3Itd2l0aC1yZXR1cm4uanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDE5ICsy
MSwyMSBAQCB2YXIgdGVzdHMgPSBbCiAgICAgbmV3IFRlc3QoT2JqZWN0KFN5bWJvbC5pdGVyYXRv
ciksIHRydWUpLAogXTsKIAotdGVzdHMuZm9yRWFjaChmdW5jdGlvbiAodGVzdCkgewotICAgIGZ1
bmN0aW9uIENvbnN0cnVjdG9yKCkgewotICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsKLSAgICB9
Ci0KLSAgICB2YXIgcmVzdWx0ID0gbmV3IENvbnN0cnVjdG9yKCk7Ci0gICAgaWYgKHRlc3QucmV0
dXJuSXQpIHsKLSAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3VsdCkgewotICAgICAgICAg
ICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Citmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7ICsraSkgeworICAgIHRlc3RzLmZvckVhY2goZnVuY3Rpb24gKHRlc3QpIHsKKyAgICAgICAg
ZnVuY3Rpb24gQ29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICByZXR1cm4gdGVzdC52YWx1ZTsK
ICAgICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICghKHJlc3VsdCBpbnN0YW5jZW9m
IENvbnN0cnVjdG9yKSkgewotICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisKKyAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zdHJ1Y3RvcigpOworICAgICAgICBp
ZiAodGVzdC5yZXR1cm5JdCkgeworICAgICAgICAgICAgaWYgKHRlc3QudmFsdWUgIT09IHJlc3Vs
dCkgeworICAgICAgICAgICAgICAgIHRocm93ICJCYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAg
ICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCEocmVzdWx0IGlu
c3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7CisgICAgICAgICAgICAgICAgdGhyb3cgIkJhZCByZXN1
bHQ6ICIgKyByZXN1bHQ7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19KTsKKyAg
ICB9KTsKK30KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3RvLmpz
CShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL2RvbS1qaXQtd2l0aC1wb2x5LXByb3Rv
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzkgQEAKK2Z1bmN0aW9uIGFzc2VydChiLCBt
KSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZDoiICsgbSk7Cit9
CisKK2Z1bmN0aW9uIG1ha2VQb2x5UHJvdG9PYmplY3QoKSB7CisgICAgZnVuY3Rpb24gZm9vKCkg
eworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAg
ICAgICAgICAgIHRoaXMuX2ZpZWxkID0gMjU7CisgICAgICAgICAgICB9CisgICAgICAgIH07Cisg
ICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsg
KytpKQorICAgICAgICBmb28oKTsKKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2xldCBwcm90byA9
IGNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCgpOworbGV0IG9iaiA9IG1ha2VQb2x5UHJv
dG9PYmplY3QoKTsKK29iai5fX3Byb3RvX18gPSBwcm90bzsKKworZnVuY3Rpb24gdmFsaWRhdGUo
eCwgdikgeworICAgIGFzc2VydCh4LmN1c3RvbUdldHRlciA9PT0gdiwgeC5jdXN0b21HZXR0ZXIp
OworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsr
aSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworcHJvdG8uZm9vID0gMjU7Citmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDA7ICsraSkKKyAgICB2YWxpZGF0ZShvYmosIHByb3RvKTsKKworUmVm
bGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9KTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgdmFsaWRhdGUob2JqLCB1bmRlZmluZWQpOworfQpJbmRleDogSlNUZXN0cy9z
dHJlc3MvcG9seS1wcm90by1jdXN0b20tdmFsdWUtYW5kLWFjY2Vzc29yLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tY3VzdG9tLXZhbHVlLWFuZC1hY2Nlc3Nvci5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWN1c3RvbS12YWx1
ZS1hbmQtYWNjZXNzb3IuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5MyBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeyAKKyAgICAgICAgICAgIGNvbnN0cnVj
dG9yKCkgeyB0aGlzLmZpZWxkID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5l
dyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpIHsKKyAgICAgICAg
YXNzZXJ0KGZvbygpLmZpZWxkID09PSAyMCk7CisgICAgfQorICAgIHJldHVybiBmb28oKTsKK30K
KworbGV0IGl0ZW1zID0gWworICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9s
eVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5
UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQ
cm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVBy
b3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJv
dG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3RvT2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90
b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9PYmplY3QoKSwKKyAgICBtYWtlUG9seVByb3Rv
T2JqZWN0KCksCisgICAgbWFrZVBvbHlQcm90b09iamVjdCgpLAorICAgIG1ha2VQb2x5UHJvdG9P
YmplY3QoKSwKK107CisKK2xldCBjdXN0b21HZXR0ZXJTZXR0ZXIgPSBjcmVhdGVDdXN0b21UZXN0
R2V0dGVyU2V0dGVyKCk7CitpdGVtcy5mb3JFYWNoKCh4KSA9PiB7CisgICAgeC5fX3Byb3RvX18g
PSBjdXN0b21HZXR0ZXJTZXR0ZXI7CisgICAgYXNzZXJ0KHguX19wcm90b19fID09PSBjdXN0b21H
ZXR0ZXJTZXR0ZXIpOworfSk7CisKK2Z1bmN0aW9uIHZhbGlkYXRlKHgsIHZhbHVlUmVzdWx0LCBh
Y2Nlc3NvclJlc3VsdCkgeworICAgIGFzc2VydCh4LmN1c3RvbVZhbHVlID09PSB2YWx1ZVJlc3Vs
dCk7CisKKyAgICBhc3NlcnQoeC5jdXN0b21BY2Nlc3NvciA9PT0gYWNjZXNzb3JSZXN1bHQpOwor
CisgICAgbGV0IG8gPSB7fTsKKyAgICB4LmN1c3RvbVZhbHVlID0gbzsKKyAgICBhc3NlcnQoby5y
ZXN1bHQgPT09IHZhbHVlUmVzdWx0KTsKKworICAgIG8gPSB7fTsKKyAgICB4LmN1c3RvbUFjY2Vz
c29yID0gbzsKKyAgICBhc3NlcnQoby5yZXN1bHQgPT09IGFjY2Vzc29yUmVzdWx0KTsKKworICAg
IGFzc2VydCh4LnJhbmRvbVByb3AgPT09IDQyIHx8IHgucmFuZG9tUHJvcCA9PT0gdW5kZWZpbmVk
KTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBpdGVtcy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YWxpZGF0ZShpdGVtc1tpXSwgY3VzdG9t
R2V0dGVyU2V0dGVyLCBpdGVtc1tpXSk7CisgICAgfQorfQorCitjdXN0b21HZXR0ZXJTZXR0ZXIu
cmFuZG9tUHJvcCA9IDQyOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhbGlk
YXRlKGl0ZW1zW2ldLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIGl0ZW1zW2ldKTsKKyAgICB9Cit9CisK
K2l0ZW1zLmZvckVhY2goKHgpID0+IHsKKyAgICBSZWZsZWN0LnNldFByb3RvdHlwZU9mKHgsIHsK
KyAgICAgICAgZ2V0IGN1c3RvbVZhbHVlKCkgeyByZXR1cm4gNDI7IH0sCisgICAgICAgIGdldCBj
dXN0b21BY2Nlc3NvcigpIHsgcmV0dXJuIDIyOyB9LAorICAgICAgICBzZXQgY3VzdG9tVmFsdWUo
eCkgeyB4LnJlc3VsdCA9IDQyOyB9LAorICAgICAgICBzZXQgY3VzdG9tQWNjZXNzb3IoeCkgeyB4
LnJlc3VsdCA9IDIyOyB9LAorICAgIH0pOworfSk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAw
MDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsK
KyAgICAgICAgdmFsaWRhdGUoaXRlbXNbaV0sIDQyLCAyMik7CisgICAgfQorfQorCitpZiAoZmFs
c2UpCisgICAgcHJpbnQoRGF0ZS5ub3coKSAtIHN0YXJ0KTsKSW5kZXg6IEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8taW50cmluc2ljLWdldHRlci1jb3JyZWN0bmVzcy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLWludHJpbnNpYy1nZXR0ZXItY29ycmVjdG5lc3Mu
anMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1pbnRyaW5zaWMt
Z2V0dGVyLWNvcnJlY3RuZXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCEiKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5j
dGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0b3Io
KSB7CisgICAgICAgICAgICAgICAgdGhpcy5fZmllbGQgPSA0MjsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKwor
bGV0IHggPSBuZXcgVWludDMyQXJyYXkoMTApOworbGV0IHAgPSB4Ll9fcHJvdG9fXy5fX3Byb3Rv
X187CitsZXQgb2JqID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworb2JqLl9fcHJvdG9fXyA9IHA7
Cit4Ll9fcHJvdG9fXyA9IG9iajsKKworZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4geC5i
eXRlTGVuZ3RoOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsKKyAgICBhc3NlcnQoZm9vKHgpID09PSAxMCAqIDQpOworfTsKKworb2JqLl9fcHJv
dG9fXyA9IHt9OworCithc3NlcnQoZm9vKHgpID09PSB1bmRlZmluZWQpOwpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by1taXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tbWlzcy5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLW1pc3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorZnVuY3Rpb24g
bWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSB7CisgICAgZnVuY3Rpb24g
Zm9vKCkgeworICAgICAgICBjbGFzcyBDIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0
aGlzLnggPSAyMDsgfQorICAgICAgICB9OworICAgICAgICBDLnByb3RvdHlwZS55ID0gNDI7Cisg
ICAgICAgIGxldCByZXN1bHQgPSBuZXcgQzsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAg
bGV0IHJlc3VsdCA9IGZvbygpOworICAgIHJlc3VsdC5fX3Byb3RvX18gPSBudWxsOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NzZXJ0aW9uIikKK30KKworbGV0IGluc3RhbmNl
cyA9IFsKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAg
IG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQ
cm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFu
Y2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxs
UHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUo
KSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VXaXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1h
a2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJvdG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90
b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwKKyAgICBtYWtlUG9seVByb3RvSW5zdGFuY2VX
aXRoTnVsbFByb3RvdHlwZSgpLAorICAgIG1ha2VQb2x5UHJvdG9JbnN0YW5jZVdpdGhOdWxsUHJv
dG90eXBlKCksCisgICAgbWFrZVBvbHlQcm90b0luc3RhbmNlV2l0aE51bGxQcm90b3R5cGUoKSwK
K107CisKK2xldCBwID0gdW5kZWZpbmVkOworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFz
c2VydCh4LnggPT09IDIwKTsKKyAgICBhc3NlcnQoeC5wID09PSB1bmRlZmluZWQpOworfQorbm9J
bmxpbmUodmFsaWRhdGUpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5zdGFuY2Vz
Lmxlbmd0aDsgKytpKQorICAgICAgICB2YWxpZGF0ZShpbnN0YW5jZXNbaV0pOworfQoraWYgKGZh
bHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVz
cy9wb2x5LXByb3RvLW9wLWluLWNhY2hpbmcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJl
c3MvcG9seS1wcm90by1vcC1pbi1jYWNoaW5nLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL3BvbHktcHJvdG8tb3AtaW4tY2FjaGluZy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDY0IEBACitmdW5jdGlvbiBhc3NlcnQoYiwgbSkgeworICAgIGlmICghYikKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQ6IiArIG0pOworfQorCitmdW5jdGlvbiBtYWtlUG9seVByb3Rv
T2JqZWN0KCkgeworICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAg
ICAgICAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmZpZWxkID0gNDI7
CisgICAgICAgICAgICB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgKytpKSB7CisgICAgICAgIGFzc2VydChmb28o
KS5maWVsZCA9PT0gNDIpOworICAgIH0KKyAgICByZXR1cm4gZm9vKCk7Cit9CisKK2Z1bmN0aW9u
IHZhbGlkYXRlKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9Jbmxp
bmUodmFsaWRhdGUpOworCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOworCitsZXQgb2JqcyA9IFtd
OworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKQorICAgIG9ianMucHVzaChtYWtlUG9seVBy
b3RvT2JqZWN0KCkpOworCitvYmpzLmZvckVhY2gob2JqID0+IFJlZmxlY3Quc2V0UHJvdG90eXBl
T2Yob2JqLCB7eDoyMH0pKTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7Cisg
ICAgZm9yIChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlKG9iaiwgdHJ1ZSk7Cit9
CisKK29ianMuZm9yRWFjaChvYmogPT4gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihvYmosIHt9KSk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Yg
b2JqcykKKyAgICAgICAgdmFsaWRhdGUob2JqLCBmYWxzZSk7Cit9CisKKworZnVuY3Rpb24gdmFs
aWRhdGUyKG8sIGIpIHsKKyAgICBhc3NlcnQoIngiIGluIG8gPT09IGIpOworfQorbm9JbmxpbmUo
dmFsaWRhdGUyKTsKKworb2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9m
KG9iaiwgbnVsbCkpOworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7CisgICAgZm9y
IChsZXQgb2JqIG9mIG9ianMpCisgICAgICAgIHZhbGlkYXRlMihvYmosIGZhbHNlKTsKK30KKwor
b2Jqcy5mb3JFYWNoKG9iaiA9PiBSZWZsZWN0LnNldFByb3RvdHlwZU9mKG9iaiwge3g6MjV9KSk7
Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICBmb3IgKGxldCBvYmogb2Yg
b2JqcykKKyAgICAgICAgdmFsaWRhdGUyKG9iaiwgdHJ1ZSk7Cit9CisKK2lmIChmYWxzZSkKKyAg
ICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1w
cm90by1wdXQtdHJhbnNpdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9wb2x5
LXByb3RvLXB1dC10cmFuc2l0aW9uLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNz
L3BvbHktcHJvdG8tcHV0LXRyYW5zaXRpb24uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1
MiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVj
dCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAg
ICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fZmllbGQgPSA0MjsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVy
biBmb28oKTsKK30KKworbGV0IGdsb2JhbDsKKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7Cisg
ICAgby5wID0gMjA7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDA7ICsraSkgeworICAgIGxldCBvYmogPSBtYWtlUG9seVByb3RvT2JqZWN0KCk7
CisgICAgb2JqLl9fcHJvdG9fXyA9IG51bGw7CisgICAgcGVyZm9ybVNldChvYmopOworICAgIGFz
c2VydChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChvYmosICJwIikpOworICAgIGFzc2VydChv
YmoucCA9PT0gMjApOworCit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7Cisg
ICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBvYmouX19wcm90b19fID0g
eyBzZXQgcCh4KSB7IGdsb2JhbCA9IHg7IH0gfTsKKyAgICBwZXJmb3JtU2V0KG9iaik7CisgICAg
YXNzZXJ0KCFvYmouaGFzT3duUHJvcGVydHkoInAiKSk7CisgICAgYXNzZXJ0KGdsb2JhbCA9PT0g
MjApOworICAgIGdsb2JhbCA9IG51bGw7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7CisgICAgbGV0IG9iaiA9IG1ha2VQb2x5UHJvdG9PYmplY3QoKTsKKyAgICBwZXJmb3Jt
U2V0KG9iaik7CisgICAgYXNzZXJ0KG9iai5oYXNPd25Qcm9wZXJ0eSgicCIpKTsKKyAgICBhc3Nl
cnQob2JqLnAgPT09IDIwKTsKK30KK2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0g
c3RhcnQpOwpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXQtcHJvdG90eXBlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tc2V0LXByb3RvdHlwZS5q
cwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXNldC1wcm90b3R5
cGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIik7Cit9CisKK2xl
dCBhbHRlcm5hdGVQcm90byA9IHsKKyAgICBnZXQgeCgpIHsKKyAgICAgICAgcmV0dXJuIG51bGw7
CisgICAgfQorfTsKKworbGV0IGFsdGVybmF0ZVByb3RvMiA9IHsKKyAgICBnZXQgeSgpIHsgcmV0
dXJuIDIyOyB9LAorICAgIGdldCB4KCkgeworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9Cit9
OworCitPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIngiLCB7CisgICAg
Z2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuX3g7IH0KK30pOworCitmdW5jdGlvbiBmb28o
KSB7CisgICAgY2xhc3MgQyB7CisgICAgICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICAgICAg
dGhpcy5feCA9IDQyOworICAgICAgICB9CisgICAgfTsKKyAgICByZXR1cm4gbmV3IEM7Cit9CisK
K2Z1bmN0aW9uIHZhbGlkYXRlKG8sIHApIHsKKyAgICBhc3NlcnQoby54ID09PSBwKTsKK30KK25v
SW5saW5lKHZhbGlkYXRlKTsKKworbGV0IGFyciA9IFtdOworZm9vKCk7Citmb3IgKGxldCBpID0g
MDsgaSA8IDI1OyArK2kpCisgICAgYXJyLnB1c2goZm9vKCkpOworCitmb3IgKGxldCBpID0gMDsg
aSA8IDEwMDsgKytpKSB7CisgICAgZm9yIChsZXQgYSBvZiBhcnIpCisgICAgICAgIHZhbGlkYXRl
KGEsIDQyKTsKK30KKworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFs
dGVybmF0ZVByb3RvOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZv
ciAobGV0IGEgb2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgIH0KK30K
KworZm9yIChsZXQgYSBvZiBhcnIpIHsKKyAgICBhLl9fcHJvdG9fXyA9IGFsdGVybmF0ZVByb3Rv
MjsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7ICsraSkgeworICAgIGZvciAobGV0IGEg
b2YgYXJyKSB7CisgICAgICAgIHZhbGlkYXRlKGEsIG51bGwpOworICAgICAgICBhc3NlcnQoYS55
ID09PSAyMik7CisgICAgfQorfQpJbmRleDogSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0
ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJ
KG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvcG9seS1wcm90by1zZXR0ZXIuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw3MSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAg
ICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworbGV0
IGNhbGxlZCA9IGZhbHNlOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBm
dW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNzIEMgeworICAgICAgICAgICAgY29uc3RydWN0
b3IoKSAKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9wID0gbnVsbDsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgc2V0IHAoeCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjYWxsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgIHRoaXMuX3AgPSB4Owor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgZ2V0IHAoKQorICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHJldHVybiB0aGlzLl9wOworICAgICAgICAgICAgfQorICAgICAgICB9OworICAg
ICAgICByZXR1cm4gbmV3IEM7CisgICAgfQorICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7ICsr
aSkgeworICAgICAgICBhc3NlcnQoZm9vKCkucCA9PT0gbnVsbCk7CisgICAgfQorICAgIHJldHVy
biBmb28oKTsKK30KKworZnVuY3Rpb24gcGVyZm9ybVNldChvKSB7CisgICAgby5wID0gMjA7Cit9
CisKK2xldCBpdGVtcyA9IFtdOworZm9yIChsZXQgaSA9IDA7IGkgPCAyMDsgKytpKSB7CisgICAg
aXRlbXMucHVzaChtYWtlUG9seVByb3RvT2JqZWN0KCkpOworfQorCitmdW5jdGlvbiBwZXJmb3Jt
U2V0KHgsIGkpIHsKKyAgICB4LnAgPSBpOworfQorCitsZXQgc3RhcnQgPSBEYXRlLm5vdygpOwor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8gPSBpdGVtc1tpXTsKKyAgICAg
ICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8uX3AgPT09IGkpOworICAgICAg
ICBhc3NlcnQoY2FsbGVkID09PSB0cnVlKTsKKyAgICAgICAgY2FsbGVkID0gZmFsc2U7CisgICAg
fQorfQorCitpdGVtcy5mb3JFYWNoKG8gPT4geworICAgIFJlZmxlY3Quc2V0UHJvdG90eXBlT2Yo
bywgbnVsbCk7Cit9KTsKKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgbGV0IG8g
PSBpdGVtc1tpXTsKKyAgICAgICAgcGVyZm9ybVNldChvLCBpKTsKKyAgICAgICAgYXNzZXJ0KG8u
cCA9PT0gaSk7CisgICAgICAgIGFzc2VydChjYWxsZWQgPT09IGZhbHNlKTsKKyAgICB9Cit9CisK
K2lmIChmYWxzZSkKKyAgICBwcmludChEYXRlLm5vdygpIC0gc3RhcnQpOwpJbmRleDogSlNUZXN0
cy9zdHJlc3MvcG9seS1wcm90by11c2luZy1pbmhlcml0YW5jZS5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3N0cmVzcy9wb2x5LXByb3RvLXVzaW5nLWluaGVyaXRhbmNlLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvc3RyZXNzL3BvbHktcHJvdG8tdXNpbmctaW5oZXJpdGFuY2UuanMJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBp
ZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIik7Cit9CisKK2Z1bmN0aW9uIGZv
bygpIHsKKyAgICBjbGFzcyBDIHsKKyAgICAgICAgY29uc3RydWN0b3IoKQorICAgICAgICB7Cisg
ICAgICAgICAgICB0aGlzLnkgPSAyMjsKKyAgICAgICAgfQorICAgICAgICBnZXQgYmF6KCkgeyBy
ZXR1cm4gdGhpcy54OyB9CisgICAgfQorICAgIEMucHJvdG90eXBlLmZpZWxkID0gNDI7CisgICAg
bmV3IEM7CisgICAgcmV0dXJuIEM7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgNTsgKytpKQor
ICAgIGZvbygpOworCitmdW5jdGlvbiBiYXIocCkgeworICAgIGNsYXNzIEMgZXh0ZW5kcyBwIHsK
KyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAgICAgICAg
ICAgdGhpcy54ID0gMjI7CisgICAgICAgIH0KKyAgICB9OworICAgIGxldCByZXN1bHQgPSBuZXcg
QzsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDU7ICsraSkK
KyAgICBiYXIoZm9vKCkpOworCitsZXQgaW5zdGFuY2VzID0gW107Citmb3IgKGxldCBpID0gMDsg
aSA8IDQwOyArK2kpCisgICAgaW5zdGFuY2VzLnB1c2goYmFyKGZvbygpKSk7CisKK2Z1bmN0aW9u
IHZhbGlkYXRlKGl0ZW0pIHsKKyAgICBhc3NlcnQoaXRlbS54ID09PSAyMik7CisgICAgYXNzZXJ0
KGl0ZW0uYmF6ID09PSAyMik7CisgICAgYXNzZXJ0KGl0ZW0uZmllbGQgPT09IDQyKTsKK30KKwor
bGV0IHN0YXJ0ID0gRGF0ZS5ub3coKTsKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kp
IHsKKyAgICBpbnN0YW5jZXMuZm9yRWFjaCgoeCkgPT4gdmFsaWRhdGUoeCkpOworfQoraWYgKGZh
bHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBKU1Rlc3RzL3N0cmVz
cy9wcmltaXRpdmUtcG9seS1wcm90by5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9w
cmltaXRpdmUtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9w
cmltaXRpdmUtcG9seS1wcm90by5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUzIEBACits
ZXQgeSA9IDQyOworZnVuY3Rpb24gbWFrZVBvbHlQcm90b0luc3RhbmNlKCkgeworICAgIGZ1bmN0
aW9uIGZvbygpIHsKKyAgICAgICAgY2xhc3MgQyB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rvcigp
IHsgdGhpcy54ID0gMjA7IH0KKyAgICAgICAgfTsKKyAgICAgICAgQy5wcm90b3R5cGUueSA9IHk7
CisgICAgICAgIHJldHVybiBuZXcgQzsKKyAgICB9CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8
IDU7ICsraSkKKyAgICAgICAgZm9vKCk7CisgICAgcmV0dXJuIGZvbygpOworfQorCitsZXQgcG9s
eVByb3RvSW5zdGFuY2UgPSBtYWtlUG9seVByb3RvSW5zdGFuY2UoKTsKK1N0cmluZy5wcm90b3R5
cGUuX19wcm90b19fID0gcG9seVByb3RvSW5zdGFuY2U7CitTeW1ib2wucHJvdG90eXBlLl9fcHJv
dG9fXyA9IHBvbHlQcm90b0luc3RhbmNlOworbGV0IHN0cmluZ3MgPSBbCisgICAgImZvbyIsCisg
ICAgU3ltYm9sKCJmb28iKSwKKyAgICAiYmFyIiwKKyAgICBTeW1ib2woImJhciIpLAorXTsKKwor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIGFzc3NlcnRpb24iKQorfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVuY3Rpb24gdmFs
aWRhdGUocykgeworICAgIGFzc2VydChzLnggPT09IDIwKTsKKyAgICBhc3NlcnQocy55ID09PSB5
KTsKKyAgICBhc3NlcnQocy5ub25FeGlzdGVudFByb3BlcnR5ID09PSB1bmRlZmluZWQpOworICAg
IGFzc2VydCh0eXBlb2Ygcy5oYXNPd25Qcm9wZXJ0eSA9PT0gImZ1bmN0aW9uIik7CisgICAgYXNz
ZXJ0KHMuaGFzT3duUHJvcGVydHkgPT09IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkp
OworfQorbm9JbmxpbmUodmFsaWRhdGUpOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsr
aSkgeworICAgIGZvciAobGV0IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsK
KyAgICB9Cit9CisKK3kgPSAyNzsKK3BvbHlQcm90b0luc3RhbmNlLl9fcHJvdG9fXyA9IHt6OjQw
MCwgeTogeX07Citmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIGZvciAobGV0
IHMgb2Ygc3RyaW5ncykgeworICAgICAgICB2YWxpZGF0ZShzKTsKKyAgICB9Cit9CkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwkobm9uZXhpc3Rl
bnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9wcm90b3R5cGUtaXMtbm90LWpzLW9iamVjdC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACitmdW5jdGlvbiBmb28oKSB7CisgICAgZnVuY3Rp
b24gYmFyKCkgeworICAgICAgICB0aGlzLnggPSA0MjsKKyAgICB9CisgICAgYmFyLnByb3RvdHlw
ZSA9IDUwOworICAgIHJldHVybiBuZXcgYmFyKCk7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChiKSB7
CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCIpOworfQorCitsZXQg
aXRlbXMgPSBbCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCksCisgICAgZm9vKCks
CisgICAgZm9vKCksCisgICAgZm9vKCksCitdOworCitmdW5jdGlvbiB2YWxpZGF0ZShpdGVtKSB7
CisgICAgYXNzZXJ0KGl0ZW0ubm90VGhlcmUgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0KGl0
ZW0ueCA9PT0gNDIpOworICAgIGFzc2VydChpdGVtLl9fcHJvdG9fXyA9PT0gT2JqZWN0LnByb3Rv
dHlwZSk7Cit9CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgIGZvciAo
bGV0IGl0ZW0gb2YgaXRlbXMpCisgICAgICAgIHZhbGlkYXRlKGl0ZW0pOworfQpJbmRleDogSlNU
ZXN0cy9zdHJlc3MvdHJ5LWdldC1ieS1pZC1wb2x5LXByb3RvLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL3RyeS1nZXQtYnktaWQtcG9seS1wcm90by5qcwkobm9uZXhpc3RlbnQpCisr
KyBKU1Rlc3RzL3N0cmVzcy90cnktZ2V0LWJ5LWlkLXBvbHktcHJvdG8uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwzOCBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0pIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkOiIgKyBtKTsKK30KKworZnVuY3Rpb24gbWFr
ZVBvbHlQcm90b09iamVjdCgpIHsKKyAgICBmdW5jdGlvbiBmb28oKSB7CisgICAgICAgIGNsYXNz
IEMgeworICAgICAgICAgICAgY29uc3RydWN0b3IoKSB7IHRoaXMuX2ZpZWxkID0gNDI7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgcmV0dXJuIG5ldyBDOworICAgIH0KKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDE1OyArK2kpCisgICAgICAgIGZvbygpOworICAgIHJldHVybiBmb28oKTsKK30KKwor
ZnVuY3Rpb24gdHJ5R2V0QnlJZFRleHQocHJvcGVydHlOYW1lKSB7IHJldHVybiBgKGZ1bmN0aW9u
IChiYXNlKSB7IHJldHVybiBAdHJ5R2V0QnlJZChiYXNlLCAnJHtwcm9wZXJ0eU5hbWV9Jyk7IH0p
YDsgfQorbGV0IGdldEZvbyA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoImZvbyIpKTsK
K2xldCBnZXRCYXIgPSBjcmVhdGVCdWlsdGluKHRyeUdldEJ5SWRUZXh0KCJiYXIiKSk7CitsZXQg
Z2V0Tm9uRXhpc3RlbnRGaWVsZCA9IGNyZWF0ZUJ1aWx0aW4odHJ5R2V0QnlJZFRleHQoIm5vbkV4
aXN0ZW50RmllbGQiKSk7CisKK2xldCB4ID0gbWFrZVBvbHlQcm90b09iamVjdCgpOworeC5fX3By
b3RvX18gPSB7IGZvbzogNDIsIGdldCBiYXIoKSB7IHJldHVybiAyMjsgfSB9OworbGV0IGJhckdl
dHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoeC5fX3Byb3RvX18sICJiYXIi
KS5nZXQ7Cithc3NlcnQodHlwZW9mIGJhckdldHRlciA9PT0gImZ1bmN0aW9uIik7Cithc3NlcnQo
YmFyR2V0dGVyKCkgPT09IDIyKTsKKworZnVuY3Rpb24gdmFsaWRhdGUoeCkgeworICAgIGFzc2Vy
dChnZXRGb28oeCkgPT09IDQyKTsKKyAgICBhc3NlcnQobG9hZEdldHRlckZyb21HZXR0ZXJTZXR0
ZXIoZ2V0QmFyKHgpKSA9PT0gYmFyR2V0dGVyKTsKKyAgICBhc3NlcnQoZ2V0Tm9uRXhpc3RlbnRG
aWVsZCh4KSA9PT0gdW5kZWZpbmVkKTsKK30KK25vSW5saW5lKHZhbGlkYXRlKTsKKworZm9yIChs
ZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB2YWxpZGF0ZSh4KTsKK30KSW5kZXg6IEpT
VGVzdHMvdHlwZVByb2ZpbGVyL292ZXJmbG93LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvdHlw
ZVByb2ZpbGVyL292ZXJmbG93LmpzCShyZXZpc2lvbiAyMjI4MDEpCisrKyBKU1Rlc3RzL3R5cGVQ
cm9maWxlci9vdmVyZmxvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtOSw2ICs5LDggQEAgdmFyIG9s
ZFByb3RvOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVDb3VudFdpdGhvdXRPdmVy
ZmxvdzsgaSsrKSB7CiAgICAgLy8gTWFrZSBzdXJlIHdlIGdldCBhIG5ldyBwcm90b3R5cGUgY2hh
aW4gb24gZWFjaCBhc3NpZ25tZW50IHRvIHggYmVjYXVzZSBvYmplY3RzIHdpdGggc2hhcmVkIHBy
b3RvdHlwZSBjaGFpbnMgd2lsbCBiZSBtZXJnZWQuCiAgICAgeCA9IG5ldyBQcm90bzsKKyAgICB4
WydmaWVsZCcgKyBpXSA9IDIwOworICAgIHggPSB4CiAgICAgb2xkUHJvdG8gPSBQcm90bzsKICAg
ICBQcm90byA9IGZ1bmN0aW9uKCkge307CiAgICAgUHJvdG8ucHJvdG90eXBlLl9fcHJvdG9fXyA9
IG9sZFByb3RvLnByb3RvdHlwZTsKQEAgLTIwLDYgKzIyLDggQEAgUHJvdG8gPSBmdW5jdGlvbigp
IHt9Owogb2xkUHJvdG8gPSBudWxsOwogZm9yICh2YXIgaSA9IDA7IGkgPCBNYXhTdHJ1Y3R1cmVD
b3VudFdpdGhvdXRPdmVyZmxvdyAtIDE7IGkrKykgewogICAgIHkgPSBuZXcgUHJvdG87CisgICAg
eVsnZmllbGQnICsgaV0gPSAyMDsKKyAgICB5ID0geQogICAgIG9sZFByb3RvID0gUHJvdG87CiAg
ICAgUHJvdG8gPSBmdW5jdGlvbigpIHt9OwogICAgIFByb3RvLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBvbGRQcm90by5wcm90b3R5cGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMjkgQEAKKzIwMTctMTAtMDMgIFNhYW0gQmFyYXRpICA8c2JhcmF0
aUBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjM5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IEZpbGlwIFBpemxvLgorCisgICAgICAgIFRoaXMgcGF0Y2gg
Y2hhbmdlcyBKU0MncyBvYmplY3QgbW9kZWwgd2l0aCByZXNwZWN0IHRvIHdoZXJlIHRoZSBwcm90
b3R5cGUKKyAgICAgICAgb2YgYW4gb2JqZWN0IGlzIHN0b3JlZC4gUHJldmlvdXNseSwgaXQgd2Fz
IGFsd2F5cyBzdG9yZWQgYXMKKyAgICAgICAgYSBjb25zdGFudCB2YWx1ZSBpbnNpZGUgU3RydWN0
dXJlLiBTbyBhbiBvYmplY3QncyBzdHJ1Y3R1cmUgdXNlZCB0bworICAgICAgICBhbHdheXMgdGVs
bCB5b3Ugd2hhdCBpdHMgcHJvdG90eXBlIGlzLiBBbnl0aW1lIGFuIG9iamVjdCBjaGFuZ2VkCisg
ICAgICAgIGl0cyBwcm90b3R5cGUsIGl0IHdvdWxkIGRvIGEgc3RydWN0dXJlIHRyYW5zaXRpb24u
IFRoaXMgZW5hYmxlcworICAgICAgICBhIGxhcmdlIGNsYXNzIG9mIG9wdGltaXphdGlvbnM6IGp1
c3QgYnkgZG9pbmcgYSBzdHJ1Y3R1cmUgY2hlY2ssCisgICAgICAgIHdlIGtub3cgd2hhdCB0aGUg
cHJvdG90eXBlIGlzLgorICAgICAgICAKKyAgICAgICAgSG93ZXZlciwgdGhpcyBkZXNpZ24gZmFs
bHMgZG93biB3aGVuIHlvdSBoYXZlIG1hbnkgb2JqZWN0cyB0aGF0CisgICAgICAgIGhhdmUgdGhl
IHNhbWUgc2hhcGUsIGJ1dCBvbmx5IGRpZmZlciBpbiB3aGF0IHRoZWlyIHByb3RvdHlwZSB2YWx1
ZQorICAgICAgICBpcy4gVGhpcyBhcmlzZXMgaW4gbWFueSBKUyBwcm9ncmFtcy4gQSBzaW1wbGUs
IGFuZCBwcm9iYWJseSBjb21tb24sIGV4YW1wbGUKKyAgICAgICAgaXMgd2hlbiB0aGUgcHJvZ3Jh
bSBoYXMgYSBjb25zdHJ1Y3RvciBpbnNpZGUgb2YgYSBmdW5jdGlvbjoKKyAgICAgICAgYGBgCisg
ICAgICAgIGZ1bmN0aW9uIGZvbygpIHsKKyAgICAgICAgICAgIGNsYXNzIEMgeworICAgICAgICAg
ICAgICAgIGNvbnN0cnVjdG9yKCkgeyB0aGlzLmZpZWxkMSA9IDQyOyAuLi47IHRoaXMuZmllbGRO
ID0gNDI7IH0KKyAgICAgICAgICAgICAgICBtZXRob2QxKCkgeyBkb1N0dWZmV2l0aCh0aGlzLmZp
ZWxkKTsgfQorICAgICAgICAgICAgICAgIG1ldGhvZDIoKSB7IGRvU3R1ZmZXaXRoKHRoaXMuZmll
bGQpOyB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBsZXQgYyA9IG5ldyBDOworICAgICAg
ICAgICAgZG8gdGhpbmdzIHdpdGggYzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgcmVwZWF0ZWRs
eSBjYWxsIGZvbygpIGhlcmUuCisgICAgICAgIGBgYAorICAgICAgICAKKyAgICAgICAgQmVmb3Jl
IHRoaXMgcGF0Y2gsIGluIHRoZSBhYm92ZSBwcm9ncmFtLCBlYWNoIHRpbWUgYG5ldyBDYCBjcmVh
dGVkIGFuCisgICAgICAgIG9iamVjdCwgaXQgd291bGQgY3JlYXRlIGFuIG9iamVjdCB3aXRoIGEg
ZGlmZmVyZW50IHN0cnVjdHVyZS4gVGhlCisgICAgICAgIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0
IGVhY2ggdGltZSBmb28gaXMgY2FsbGVkLCB0aGVyZSBpcyBhIG5ldworICAgICAgICBpbnN0YW5j
ZSBvZiBDLnByb3RvdHlwZS4gSG93ZXZlciwgZWFjaCBgbmV3IENgIHRoYXQgd2FzIGNyZWF0ZWQK
KyAgICAgICAgd2l0aCBoYXZlIGlkZW50aWNhbCBzaGFwZSBzYW5zIGl0cyBwcm90b3R5cGUgdmFs
dWUuIFRoaXMgd291bGQKKyAgICAgICAgY2F1c2UgYWxsIElDcyB0aGF0IHVzZWQgYGNgIHRvIHF1
aWNrbHkgZ2l2ZSB1cCBvbiBhbnkgZm9ybSBvZiBjYWNoaW5nCisgICAgICAgIGJlY2F1c2UgdGhl
eSB3b3VsZCBzZWUgdG9vIG1hbnkgc3RydWN0dXJlcyBhbmQgZ2l2ZSB1cCBhbmQgcGVybWFuZW50
bHkKKyAgICAgICAgZGl2ZXJ0IGNvbnRyb2wgZmxvdyB0byB0aGUgc2xvdyBwYXRoLgorICAgICAg
ICAKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGlzc3VlIGJ5IGV4cGFuZGluZyB0aGUg
bm90aW9uIG9mIHdoZXJlIHRoZSBwcm90b3R5cGUKKyAgICAgICAgb2YgYW4gb2JqZWN0IGlzIHN0
b3JlZC4gVGhlcmUgYXJlIG5vdyB0d28gbm90aW9ucyBvZiB3aGVyZSB0aGUgcHJvdG90eXBlCisg
ICAgICAgIGlzIHN0b3JlZC4gQSBTdHJ1Y3R1cmUgY2FuIG5vdyBiZSBpbiB0d28gbW9kZXM6Cisg
ICAgICAgIDEuIE1vbm8gcHJvdG8gbW9kZS4gVGhpcyBpcyB0aGUgc2FtZSBtb2RlIGFzIHdlIHVz
ZWQgdG8gaGF2ZS4gSXQgbWVhbnMKKyAgICAgICAgdGhlIHN0cnVjdHVyZSBpdHNlbGYgaGFzIGEg
Y29uc3RhbnQgcHJvdG90eXBlIHZhbHVlLgorICAgICAgICAyLiBQb2x5IHByb3RvIG1vZGUuIFRo
aXMgbWVhbnMgdGhlIHN0cnVjdHVyZSBrbm93cyBub3RoaW5nIGFib3V0IHRoZQorICAgICAgICBw
cm90b3R5cGUgdmFsdWUgaXRzZWxmLiBPYmplY3RzIHdpdGggdGhpcyBzdHJ1Y3R1cmUgc3RvcmUg
dGhlaXIgcHJvdG90eXBlCisgICAgICAgIGluIG5vcm1hbCBvYmplY3QgZmllbGQgc3RvcmFnZS4g
VGhlIHN0cnVjdHVyZSB3aWxsIHRlbGwgeW91IHRoZSBvZmZzZXQgb2YKKyAgICAgICAgdGhpcyBw
cm90b3R5cGUgaW5zaWRlIHRoZSBvYmplY3QncyBzdG9yYWdlLiBBcyBvZiB0b2RheSwgd2Ugb25s
eSByZXNlcnZlCisgICAgICAgIGlubGluZSBzbG90cyBmb3IgdGhlIHByb3RvdHlwZSBmaWVsZCBi
ZWNhdXNlIHBvbHkgcHJvdG8gb25seSBvY2N1cnMKKyAgICAgICAgZm9yIEpTRmluYWxPYmplY3Qu
IEhvd2V2ZXIsIHRoaXMgd2lsbCBiZSBleHBhbmRlZCB0byBzdXBwb3J0IG91dCBvZiBsaW5lCisg
ICAgICAgIG9mZnNldHMgaW4gYSBmdXR1cmUgcGF0Y2ggd2hlbiB3ZSBleHRlbmQgcG9seSBwcm90
byB0byB3b3JrIHdoZW4gd2UgaW5oZXJpdAorICAgICAgICBmcm9tIGJ1aWx0aW4gdHlwZXMgbGlr
ZSBNYXAgYW5kIEFycmF5LgorICAgICAgICAKKyAgICAgICAgSW4gdGhpcyBpbml0aWFsIHBhdGNo
LCB3ZSBkbyBwb2x5IHByb3RvIHN0eWxlIGlubGluZSBjYWNoaW5nIHdoZW5ldmVyCisgICAgICAg
IHdlIHNlZSBhbiBvYmplY3QgdGhhdCBpcyBwb2x5IHByb3RvIG9yIGlmIGFuIG9iamVjdCBpbiBp
dHMgcHJvdG90eXBlIGxvb2t1cAorICAgICAgICBjaGFpbiBpcyBwb2x5IHByb3RvLiBQb2x5IHBy
b3RvIElDcyB3b3JrIGJ5IHZlcmlmeWluZyB0aGUgbG9va3VwIGNoYWluCisgICAgICAgIGF0IHJ1
bnRpbWUuIFRoaXMgZXNzZW50aWFsbHkgYm9pbHMgZG93biB0byBwZXJmb3JtaW5nIHN0cnVjdHVy
ZSBjaGVja3MKKyAgICAgICAgdXAgdGhlIHByb3RvdHlwZSBjaGFpbi4gSW4gYSBmdXR1cmUgcGF0
Y2gsIHdlJ3JlIGdvaW5nIHRvIGV4dGVuZCBvYmplY3QKKyAgICAgICAgcHJvcGVydHkgY29uZGl0
aW9uIHNldCB0byB3b3JrIHdpdGggb2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgcG9seSBwcm90byBi
YXNlcy4KKyAgICAgICAgCisgICAgICAgIEluaXRpYWxseSwgYWNjZXNzZXMgdGhhdCBoYXZlIHBv
bHkgcHJvdG8gYWNjZXNzIGNoYWlucyB3aWxsIGFsd2F5cyB0dXJuCisgICAgICAgIGludG8gR2V0
QnlJZC9QdXRCeUlkIGluIHRoZSBERkcuIEluIGEgZnV0dXJlIHBhdGNoLCBJJ20gZ29pbmcgdG8g
dGVhY2gKKyAgICAgICAgdGhlIERGRyBob3cgdG8gaW5saW5lIGNlcnRhaW4gYWNjZXNzZXMgdGhh
dCBoYXZlIHBvbHkgcHJvdG8gaW4gdGhlIGFjY2VzcworICAgICAgICBjaGFpbi4KKyAgICAgICAg
CisgICAgICAgIE9uZSBvZiBtb3N0IGludGVyZXN0aW5nIHBhcnRzIGFib3V0IHRoaXMgcGF0Y2gg
aXMgaG93IHdlIGRlY2lkZSB3aGVuIHRvIGdvCisgICAgICAgIHBvbHkgcHJvdG8uIFRoaXMgcGF0
Y2ggdXNlcyBhIHByb2ZpbGluZyBiYXNlZCBhcHByb2FjaC4gQW4gSUMgd2lsbCBpbmZvcm0KKyAg
ICAgICAgYSB3YXRjaHBvaW50IHRoYXQgaXQgc2VlcyBhbiBvcHBvcnR1bml0eSB3aGVuIHR3byBT
dHJ1Y3R1cmUncyBhcmUgc3RydWN0dXJhbGx5CisgICAgICAgIHRoZSBzYW1lLCBzYW5zIHRoZSBi
YXNlIG9iamVjdCdzIHByb3RvdHlwZS4gVGhpcyBtZWFucyB0aGF0IHR3byBzdHJ1Y3R1cmVzCisg
ICAgICAgIGhhdmUgZXF1aXZhbGVudCBzaGFwZXMgYWxsIHRoZSB3YXkgdXAgdGhlIHByb3RvdHlw
ZSBjaGFpbi4gVG8gc3VwcG9ydCBmYXN0CisgICAgICAgIHN0cnVjdHVyYWwgY29tcGFyaXNvbiwg
d2UgY29tcHV0ZSBhIGhhc2ggZm9yIGEgc3RydWN0dXJlIGJhc2VkIG9uIHRoZSBwcm9wZXJ0aWVz
CisgICAgICAgIGl0IGhhcy4gV2UgY29tcHV0ZSB0aGlzIGhhc2ggYXMgd2UgYWRkIHByb3BlcnRp
ZXMgdG8gdGhlIHN0cnVjdHVyZS4gVGhpcworICAgICAgICBjb21wdXRhdGlvbiBpcyBuZWFybHkg
ZnJlZSBzaW5jZSB3ZSBhbHdheXMgYWRkIFVuaXF1ZWRTdHJpbmdJbXBsKidzIHdoaWNoCisgICAg
ICAgIGFscmVhZHkgaGF2ZSB0aGVpciBoYXNoZXMgY29tcHV0ZWQuIFRvIGNvbXBhcmUgc3RydWN0
dXJhbCBlcXVpdmFsZW5jZSwgd2UKKyAgICAgICAganVzdCBjb21wYXJlIGhhc2ggdmFsdWVzIGFs
bCB0aGUgd2F5IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uIFRoaXMgbWVhbnMgd2UKKyAgICAgICAg
Y2FuIGdldCBoYXNoIGNvbmZsaWN0cyBiZXR3ZWVuIHR3byBzdHJ1Y3R1cmVzLCBidXQgaXQncyBl
eHRyZW1lbHkgcmFyZS4gRmlyc3QsCisgICAgICAgIGl0J2xsIGJlIHJhcmUgZm9yIHR3byBzdHJ1
Y3R1cmVzIHRvIGhhdmUgdGhlIHNhbWUgaGFzaC4gU2Vjb25kbHksIHdlIG9ubHkKKyAgICAgICAg
Y29uc2lkZXIgc3RydWN0dXJlcyBvcmlnaW5hdGluZyBmcm9tIHRoZSBzYW1lIGV4ZWN1dGFibGUu
CisgICAgICAgIAorICAgICAgICBIb3cgd2Ugc2V0IHVwIHRoaXMgcG9seSBwcm90byB3YXRjaHBv
aW50IGlzIGNydWNpYWwgdG8gaXRzIGRlc2lnbi4gV2hlbiB3ZSBjcmVhdGVfdGhpcworICAgICAg
ICBhbiBvYmplY3Qgb3JpZ2luYXRpbmcgZnJvbSBzb21lIGV4ZWN1dGFibGUsIHRoYXQgZXhlY3V0
YWJsZSB3aWxsIGNyZWF0ZSBhIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pi4KKyAgICAgICAgRWFj
aCBzdHJ1Y3R1cmUgdGhhdCBvcmlnaW5hdGVzIGZyb20gdGhpcyBleGVjdXRhYmxlIHdpbGwgZ2V0
IGEgY29weSBvZiB0aGF0CisgICAgICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0Pi4gQXMgdGhh
dCBzdHJ1Y3R1cmUgdHJhbnNpdGlvbnMgdG8gbmV3IHN0cnVjdHVyZXMsCisgICAgICAgIHRoZXkg
dG9vIHdpbGwgZ2V0IGEgY29weSBvZiB0aGF0IEJveDxJbmlsbmVXYXRjaHBvaW50U2V0Pi4gVGhl
cmVmb3JlLCB3aGVuCisgICAgICAgIGludmFsaWRhdGluZyBhbiBhcmJpdHJhcnkgc3RydWN0dXJl
J3MgcG9seSBwcm90byB3YXRjaHBvaW50LCB3ZSB3aWxsIGtub3cKKyAgICAgICAgdGhlIG5leHQg
dGltZSB3ZSBjcmVhdGVfdGhpcyBmcm9tIHRoYXQgZXhlY3V0YWJsZSB0aGF0IGl0IGhhZCBiZWVu
CisgICAgICAgIGludmFsaWRhdGVkLCBhbmQgdGhhdCB3ZSBzaG91bGQgY3JlYXRlIGFuIG9iamVj
dCB3aXRoIGEgcG9seSBwcm90bworICAgICAgICBzdHJ1Y3R1cmUuIFdlIGFsc28gdXNlIHRoZSBw
b2ludGVyIHZhbHVlIG9mIHRoaXMgQm94PElubGluZVdhdGNocG9pbnRTZXQ+CisgICAgICAgIHRv
IGRldGVybWluZSBpZiB0d28gc3RydWN0dXJlcyBvcmlnaW5hdGVkIGZyb20gdGhlIHNhbWUgZXhl
Y3V0YWJsZS4gVGhpcworICAgICAgICBwcnVuaW5nIHdpbGwgc2V2ZXJlbHkgbGltaXQgdGhlIGNo
YW5jZXMgb2YgZ2V0dGluZyBhIGhhc2ggY29uZmxpY3QgaW4gcHJhY3RpY2UuCisgICAgICAgIAor
ICAgICAgICBUaGlzIHBhdGNoIGlzIG5ldXRyYWwgb24gbXkgTUJQIG9uIHRyYWRpdGlvbmFsIEpT
IGJlbmNobWFya3MgbGlrZSBPY3RhbmUvS3Jha2VuL1N1bnNwaWRlci4KKyAgICAgICAgSXQgbWF5
IGJlIGEgMS0yJSBBUkVTLTYgcHJvZ3Jlc3Npb24uCisgICAgICAgIAorICAgICAgICBUaGlzIHBh
dGNoIGlzIGJldHdlZW4gbmV1dHJhbCBhbmQgYSA5eCBwcm9ncmVzc2lvbiBvbiB0aGUgdmFyaW91
cyB0ZXN0cworICAgICAgICBJIGFkZGVkLiBNb3N0IG9mIHRoZSBtaWNyb2JlbmNobWFya3MgYXJl
IHByb2dyZXNzZWQgYnkgYXQgbGVhc3QgNTAlLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAg
ICAgKiBidWlsdGlucy9CdWlsdGluTmFtZXMuY3BwOgorICAgICAgICAqIGJ1aWx0aW5zL0J1aWx0
aW5OYW1lcy5oOgorICAgICAgICAoSlNDOjpCdWlsdGluTmFtZXM6OkJ1aWx0aW5OYW1lcyk6Cisg
ICAgICAgIChKU0M6OkJ1aWx0aW5OYW1lczo6dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUgY29u
c3QpOgorICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpB
Y2Nlc3NDYXNlOjpBY2Nlc3NDYXNlKToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y3JlYXRl
KToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Y29tbWl0KToKKyAgICAgICAgKEpTQzo6QWNj
ZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2sgY29uc3QpOgorICAgICAgICAoSlNDOjpB
Y2Nlc3NDYXNlOjpjYW5SZXBsYWNlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6
ZHVtcCBjb25zdCk6CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OnZpc2l0V2VhayBjb25zdCk6
CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OnByb3BhZ2F0ZVRyYW5zaXRpb25zIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQpOgorICAgICAgICAo
SlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgorICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vz
c0Nhc2UuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzQ2FzZTo6dXNlc1BvbHlQcm90byBjb25zdCk6
CisgICAgICAgIChKU0M6OkFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVj
b2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRp
b24pOgorICAgICAgICAqIGJ5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlND
OjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm9XaXRob3V0RXhpdFNpdGVGZWVkYmFj
ayk6CisgICAgICAgICogYnl0ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHA6CisgICAg
ICAgIChKU0M6OkdldHRlclNldHRlckFjY2Vzc0Nhc2U6OkdldHRlclNldHRlckFjY2Vzc0Nhc2Up
OgorICAgICAgICAoSlNDOjpHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUpOgorICAgICAg
ICAqIGJ5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaDoKKyAgICAgICAgKiBieXRlY29k
ZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaDoKKyAgICAgICAgKEpTQzo6SW50
ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJl
RnJvbUJhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlKToKKyAgICAgICAgKiBieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nl
c3NDYXNlLmg6CisgICAgICAgICogYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5j
cHA6CisgICAgICAgIChKU0M6Ok1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5hbWVz
cGFjZUFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9m
aWxlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6Ok9iamVjdEFsbG9jYXRpb25Qcm9maWxlOjpp
bml0aWFsaXplUHJvZmlsZSk6CisgICAgICAgIChKU0M6Ok9iamVjdEFsbG9jYXRpb25Qcm9maWxl
Ojpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KToKKyAgICAgICAgKiBieXRlY29kZS9PYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS5oOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5p
dGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6Ok9iamVjdEFsbG9jYXRpb25Qcm9maWxl
Ojpwb3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBieXRl
Y29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHA6CisgICAgICAgICogYnl0ZWNvZGUv
UG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6UG9seVByb3Rv
QWNjZXNzQ2hhaW46OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWlu
OjpuZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50IGNvbnN0KToKKyAgICAgICAgKEpTQzo6UG9s
eVByb3RvQWNjZXNzQ2hhaW46Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoSlNDOjpQb2x5
UHJvdG9BY2Nlc3NDaGFpbjo6ZHVtcCBjb25zdCk6CisgICAgICAgICogYnl0ZWNvZGUvUG9seVBy
b3RvQWNjZXNzQ2hhaW4uaDogQWRkZWQuCisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0No
YWluOjpjbG9uZSk6CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjogY29uc3Qp
OgorICAgICAgICAoSlNDOjpQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6b3BlcmF0b3IhPSBjb25zdCk6
CisgICAgICAgIChKU0M6OlBvbHlQcm90b0FjY2Vzc0NoYWluOjpmb3JFYWNoIGNvbnN0KToKKyAg
ICAgICAgKiBieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OlBv
bHltb3JwaGljQWNjZXNzOjphZGRDYXNlcyk6CisgICAgICAgIChKU0M6OlBvbHltb3JwaGljQWNj
ZXNzOjpyZWdlbmVyYXRlKToKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAg
ICogYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaDoKKyAgICAgICAgKEpTQzo6QWNjZXNzR2Vu
ZXJhdGlvblJlc3VsdDo6c2hvdWxkUmVzZXRTdHViIGNvbnN0KToKKyAgICAgICAgKEpTQzo6QWNj
ZXNzR2VuZXJhdGlvblN0YXRlOjpBY2Nlc3NHZW5lcmF0aW9uU3RhdGUpOgorICAgICAgICAqIGJ5
dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6UHJvcGVydHlDb25k
aXRpb246OmlzU3RpbGxWYWxpZEFzc3VtaW5nSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50IGNvbnN0
KToKKyAgICAgICAgKiBieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAg
KEpTQzo6UHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZSk6CisgICAgICAg
IChKU0M6OlByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUv
UHJveHlhYmxlQWNjZXNzQ2FzZS5oOgorICAgICAgICAqIGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMu
Y3BwOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8pOgor
ICAgICAgICAqIGJ5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcDoKKyAgICAgICAgKEpTQzo6
U3RydWN0dXJlU3R1YkluZm86OmFkZEFjY2Vzc0Nhc2UpOgorICAgICAgICAqIGRmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmxvYWQp
OgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAg
ICAgKiBkZmcvREZHR3JhcGguY3BwOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpjYW5Eb0Zh
c3RTcHJlYWQpOgorICAgICAgICAqIGRmZy9ERkdPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlSW5zdGFuY2VPZkZvck9iamVjdCk6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0Iz
Ojpjb21waWxlSW5zdGFuY2VPZik6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAg
ICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZik6CisgICAgICAgICogaml0L0pJVE9w
Y29kZXMzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9pbnN0YW5jZW9mKToK
KyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OnRyeUNhY2hlR2V0QnlJ
RCk6CisgICAgICAgIChKU0M6OnRyeUNhY2hlUHV0QnlJRCk6CisgICAgICAgIChKU0M6OnRyeVJl
cGF0Y2hJbik6CisgICAgICAgICoganNjLmNwcDoKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVy
QmFzZUpTT2JqZWN0OjpET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpOgorICAgICAgICAoV1RGOjpE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgIChXVEY6
OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6Y3JlYXRlKToKKyAgICAgICAgKFdURjo6RE9NSklU
R2V0dGVyQmFzZUpTT2JqZWN0OjpET01KSVRBdHRyaWJ1dGU6OkRPTUpJVEF0dHJpYnV0ZSk6Cisg
ICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklUQXR0cmlidXRlOjpz
bG93Q2FsbCk6CisgICAgICAgIChXVEY6OkRPTUpJVEdldHRlckJhc2VKU09iamVjdDo6RE9NSklU
QXR0cmlidXRlOjpjYWxsRE9NR2V0dGVyKToKKyAgICAgICAgKFdURjo6RE9NSklUR2V0dGVyQmFz
ZUpTT2JqZWN0OjpjdXN0b21HZXR0ZXIpOgorICAgICAgICAoV1RGOjpET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3Q6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEdsb2JhbE9iamVjdDo6ZmluaXNo
Q3JlYXRpb24pOgorICAgICAgICAoZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJCYXNlSlNPYmpl
Y3QpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6
TExJbnQ6OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKToK
KyAgICAgICAgKEpTQzo6ZmFzdEpvaW4pOgorICAgICAgICAoSlNDOjphcnJheVByb3RvRnVuY1Jl
dmVyc2UpOgorICAgICAgICAoSlNDOjptb3ZlRWxlbWVudHMpOgorICAgICAgICAqIHJ1bnRpbWUv
Q2xvbmVkQXJndW1lbnRzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVh
dGVFbXB0eSk6CisgICAgICAgIChKU0M6OkNsb25lZEFyZ3VtZW50czo6Y3JlYXRlV2l0aElubGlu
ZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVhdGVXaXRoTWFjaGlu
ZUZyYW1lKToKKyAgICAgICAgKEpTQzo6Q2xvbmVkQXJndW1lbnRzOjpjcmVhdGVCeUNvcHlpbmdG
cm9tKToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHA6CisgICAgICAgIChK
U0M6OlNMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJs
ZS5jcHA6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbik6
CisgICAgICAgICogcnVudGltZS9GdW5jdGlvbkV4ZWN1dGFibGUuaDoKKyAgICAgICAgKiBydW50
aW1lL0Z1bmN0aW9uUmFyZURhdGEuY3BwOgorICAgICAgICAoSlNDOjpGdW5jdGlvblJhcmVEYXRh
Ojppbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUpOgorICAgICAgICAqIHJ1bnRpbWUv
RnVuY3Rpb25SYXJlRGF0YS5oOgorICAgICAgICAqIHJ1bnRpbWUvSW50ZXJuYWxGdW5jdGlvbi5j
cHA6CisgICAgICAgIChKU0M6OkludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0
dXJlU2xvdyk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6
SlNBcnJheTo6ZmFzdFNsaWNlKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6c2hpZnRDb3VudFdp
dGhBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpzaGlmdENvdW50V2l0aEFu
eUluZGV4aW5nVHlwZSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmlzSXRlcmF0b3JQcm90b2Nv
bEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlJbmxpbmVz
Lmg6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmNhbkZhc3RDb3B5KToKKyAgICAgICAgKiBydW50
aW1lL0pTQ0pTVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpkdW1wSW5Db250ZXh0
QXNzdW1pbmdTdHJ1Y3R1cmUgY29uc3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5j
cHA6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OnByb3RvdHlwZUZvckNvbnN0cnVjdGlvbik6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFsbG9jYXRlQW5kSW5pdGlhbGl6ZVJhcmVEYXRh
KToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6aW5pdGlhbGl6ZVJhcmVEYXRhKToKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6Z2V0T3duUHJvcGVydHlTbG90KToKKyAgICAgICAgKiBydW50
aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTTWFwLmNwcDoKKyAgICAgICAg
KEpTQzo6SlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAg
ICAgICAgKEpTQzo6SlNNYXA6OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUpOgorICAgICAg
ICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0SW5s
aW5lU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbml0aWFsSW5kZXhlZFN0
b3JhZ2UpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdlKToKKyAg
ICAgICAgKEpTQzo6SlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0Ojpjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2UpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVJbnQzMlNsb3cpOgorICAgICAgICAoSlNDOjpKU09i
amVjdDo6ZW5zdXJlRG91YmxlU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVD
b250aWd1b3VzU2xvdyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3Jh
Z2VTbG93KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlIGNvbnN0KToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhTbG93T3JCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpuZWVkc1Nsb3dQdXRJbmRl
eGluZyBjb25zdCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRQcm90b3R5cGVEaXJlY3QgY29uc3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
Z2V0UHJvcGVydHlTbG90KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0SW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmdldE5vbkluZGV4UHJvcGVydHlTbG90KToKKyAgICAgICAgKEpTQzo6SlNPYmpl
Y3Q6OnB1dElubGluZUZvckpTT2JqZWN0KToKKyAgICAgICAgKiBydW50aW1lL0pTUHJvcGVydHlO
YW1lRW51bWVyYXRvci5oOgorICAgICAgICAoSlNDOjpwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKToK
KyAgICAgICAgKiBydW50aW1lL0pTU2V0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTZXQ6OmlzSXRl
cmF0b3JQcm90b2NvbEZhc3RBbmROb25PYnNlcnZhYmxlKToKKyAgICAgICAgKEpTQzo6SlNTZXQ6
OmNhbkNsb25lRmFzdEFuZE5vbk9ic2VydmFibGUpOgorICAgICAgICAqIHJ1bnRpbWUvTGF6eUNs
YXNzU3RydWN0dXJlLmg6CisgICAgICAgIChKU0M6OkxhenlDbGFzc1N0cnVjdHVyZTo6cHJvdG90
eXBlQ29uY3VycmVudGx5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBydW50aW1lL09wZXJh
dGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpub3JtYWxpemVQcm90b3R5cGVDaGFpbik6CisgICAg
ICAgICogcnVudGltZS9PcGVyYXRpb25zLmg6CisgICAgICAgICogcnVudGltZS9PcHRpb25zLmg6
CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVNYXAuY3BwOgorICAgICAgICAoSlNDOjpQcm90
b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6UHJvdG90eXBl
TWFwOjplbXB0eVN0cnVjdHVyZUZvclByb3RvdHlwZUZyb21CYXNlU3RydWN0dXJlKToKKyAgICAg
ICAgKEpTQzo6UHJvdG90eXBlTWFwOjplbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZSk6
CisgICAgICAgIChKU0M6OlByb3RvdHlwZU1hcDo6Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZv
clByb3RvdHlwZSk6CisgICAgICAgICogcnVudGltZS9Qcm90b3R5cGVNYXAuaDoKKyAgICAgICAg
KiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6U3RydWN0
dXJlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSBjb25zdCk6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbik6CisgICAgICAgIChKU0M6
OlN0cnVjdHVyZTo6aXNDaGVhcER1cmluZ0dDKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjp0
b1N0cnVjdHVyZVNoYXBlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpkdW1wIGNvbnN0KToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3Ig
Y29uc3QpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1
Y3R1cmU6Om5lZWRzU2xvd1B1dEluZGV4aW5nIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluTWF5SW50
ZXJjZXB0U3RvcmVUbyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y2FuVXNl
Rm9yQWxsb2NhdGlvbnNPZik6IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUu
aDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZUNoYWluLmg6CisgICAgICAgICogcnVudGlt
ZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlKToK
KyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QgY29uc3QpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN0b3JlZFByb3RvdHlwZVN0cnVjdHVyZSBjb25zdCk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3RvcmVkUHJvdG90eXBlIGNvbnN0KToKKyAgICAg
ICAgKEpTQzo6cHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbCk6CisgICAgICAgIChKU0M6
OlN0cnVjdHVyZTo6cHJvdG90eXBlRm9yTG9va3VwIGNvbnN0KToKKyAgICAgICAgKEpTQzo6U3Ry
dWN0dXJlOjpwcm90b3R5cGVDaGFpbiBjb25zdCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6
aXNWYWxpZCBjb25zdCk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YWRkKToKKyAgICAgICAg
KEpTQzo6U3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKToKKyAgICAgICAgKEpTQzo6U3RydWN0
dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuaDoKKyAgICAgICAgKiBydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHA6Cisg
ICAgICAgIChKU0M6OlR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMpOgorICAgICAg
ICAqIHJ1bnRpbWUvVHlwZVNldC5jcHA6CisgICAgICAgIChKU0M6OlR5cGVTZXQ6OmFkZFR5cGVJ
bmZvcm1hdGlvbik6CisgICAgICAgICogcnVudGltZS9UeXBlU2V0Lmg6CisgICAgICAgICogcnVu
dGltZS9Xcml0ZUJhcnJpZXIuaDoKKyAgICAgICAgKEpTQzo6V3JpdGVCYXJyaWVyQmFzZTxVbmtu
b3duPjo6aXNJbnQzMiBjb25zdCk6CisKIDIwMTctMTAtMDMgIEpGIEJhc3RpZW4gIDxqZmJhc3Rp
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBubyBWTSAvIEpTIHZlcnNpb24g
b2YgZXZlcnl0aGluZyBidXQgSW5zdGFuY2UKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9T
b3VyY2VzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50
eHQJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjI3LDkgKzIyNywxMSBAQCBieXRlY29kZS9MYXp5T3BlcmFu
ZFZhbHVlUHJvZmlsZS5jcHAKIGJ5dGVjb2RlL01ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUu
Y3BwCiBieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAogYnl0ZWNvZGUvTW9k
dWxlUHJvZ3JhbUNvZGVCbG9jay5jcHAKK2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxl
LmNwcAogYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb24uY3BwCiBieXRlY29kZS9PYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAKIGJ5dGVjb2RlL09wY29kZS5jcHAKK2J5dGVjb2Rl
L1BvbHlQcm90b0FjY2Vzc0NoYWluLmNwcAogYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuY3Bw
CiBieXRlY29kZS9QcmVjaXNlSnVtcFRhcmdldHMuY3BwCiBieXRlY29kZS9Qcm9ncmFtQ29kZUJs
b2NrLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTMsNiArOTUz
LDkwIEBAIHZvaWQgRE9NSklUQ2hlY2tTdWJDbGFzc09iamVjdDo6ZmluaXNoQ3IKICAgICBwdXRE
aXJlY3ROYXRpdmVGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3Ry
aW5nKCZ2bSwgImZ1bmMiKSwgMCwgc2FmZUZ1bmN0aW9uLCBOb0ludHJpbnNpYywgJkRPTUpJVENo
ZWNrU3ViQ2xhc3NPYmplY3RTaWduYXR1cmUsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkpKTsKIH0KIAorY2xhc3MgRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0IDogcHVibGljIERPTUpJVE5vZGUgeworcHVibGljOgorICAgIERPTUpJVEdldHRlckJhc2VK
U09iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgICAgICA6IEJhc2Uodm0s
IHN0cnVjdHVyZSkKKyAgICB7CisgICAgfQorCisgICAgREVDTEFSRV9JTkZPOworICAgIHVzaW5n
IEJhc2UgPSBET01KSVROb2RlOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0M6OkpTVHlwZShMYXN0SlNDT2Jq
ZWN0VHlwZSArIDEpLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCisgICAgc3Rh
dGljIERPTUpJVEdldHRlckJhc2VKU09iamVjdCogY3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCisgICAgeworICAgICAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIGdldHRl
ciA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPERPTUpJVEdldHRlckJhc2VKU09iamVjdD4o
dm0uaGVhcCwgc2l6ZW9mKERPTUpJVEdldHRlckJhc2VKU09iamVjdCkpKSBET01KSVRHZXR0ZXJC
YXNlSlNPYmplY3Qodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIGdldHRlci0+ZmluaXNoQ3JlYXRp
b24odm0pOworICAgICAgICByZXR1cm4gZ2V0dGVyOworICAgIH0KKworICAgIGNsYXNzIERPTUpJ
VEF0dHJpYnV0ZSA6IHB1YmxpYyBET01KSVQ6OkdldHRlclNldHRlciB7CisgICAgcHVibGljOgor
ICAgICAgICBjb25zdGV4cHIgRE9NSklUQXR0cmlidXRlKCkKKyAgICAgICAgICAgIDogRE9NSklU
OjpHZXR0ZXJTZXR0ZXIoCisgICAgICAgICAgICAgICAgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0
OjpjdXN0b21HZXR0ZXIsCisjaWYgRU5BQkxFKEpJVCkKKyAgICAgICAgICAgICAgICAmY2FsbERP
TUdldHRlciwKKyNlbHNlCisgICAgICAgICAgICAgICAgbnVsbHB0ciwKKyNlbmRpZgorICAgICAg
ICAgICAgICAgIFNwZWNCeXRlY29kZVRvcCkKKyAgICAgICAgeworICAgICAgICB9CisKKyNpZiBF
TkFCTEUoSklUKQorICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBz
bG93Q2FsbChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHBvaW50ZXIpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgICAgICBKU09iamVjdCogb2JqZWN0ID0g
c3RhdGljX2Nhc3Q8SlNPYmplY3QqPihwb2ludGVyKTsKKyAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUob2JqZWN0LT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgICAgIH0KKwor
ICAgICAgICBzdGF0aWMgUmVmPERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ+IGNhbGxET01H
ZXR0ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBSZWY8RE9NSklUOjpDYWxsRE9NR2V0dGVy
U25pcHBldD4gc25pcHBldCA9IERPTUpJVDo6Q2FsbERPTUdldHRlclNuaXBwZXQ6OmNyZWF0ZSgp
OworICAgICAgICAgICAgc25pcHBldC0+cmVxdWlyZUdsb2JhbE9iamVjdCA9IGZhbHNlOworICAg
ICAgICAgICAgc25pcHBldC0+c2V0R2VuZXJhdG9yKFs9XShDQ2FsbEhlbHBlcnMmIGppdCwgU25p
cHBldFBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0
cyA9IHBhcmFtc1swXS5qc1ZhbHVlUmVncygpOworICAgICAgICAgICAgICAgIEdQUlJlZyBkb20g
PSBwYXJhbXNbMV0uZ3ByKCk7CisgICAgICAgICAgICAgICAgcGFyYW1zLmFkZFNsb3dQYXRoQ2Fs
bChqaXQuanVtcCgpLCBqaXQsIHNsb3dDYWxsLCByZXN1bHRzLCBkb20pOworICAgICAgICAgICAg
ICAgIHJldHVybiBDQ2FsbEhlbHBlcnM6Okp1bXBMaXN0KCk7CisKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgcmV0dXJuIHNuaXBwZXQ7CisgICAgICAgIH0KKyNlbmRpZgorICAgIH07CisK
K3ByaXZhdGU6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworCisgICAgc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIGN1c3RvbUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorICAgIHsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKKyAgICAgICAgSlNPYmplY3QqIHRoaXNPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTT2Jq
ZWN0Kj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQodGhpc09iamVjdCk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09i
amVjdC0+Z2V0UHJvdG90eXBlRGlyZWN0KCkpOworICAgIH0KK307CisKK3N0YXRpYyBjb25zdCBE
T01KSVRHZXR0ZXJCYXNlSlNPYmplY3Q6OkRPTUpJVEF0dHJpYnV0ZSBET01KSVRHZXR0ZXJCYXNl
SlNPYmplY3RET01KSVQ7CisKK3ZvaWQgRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0OjpmaW5pc2hD
cmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworICAgIGNv
bnN0IERPTUpJVDo6R2V0dGVyU2V0dGVyKiBkb21KSVQgPSAmRE9NSklUR2V0dGVyQmFzZUpTT2Jq
ZWN0RE9NSklUOworICAgIGF1dG8qIGN1c3RvbUdldHRlclNldHRlciA9IERPTUF0dHJpYnV0ZUdl
dHRlclNldHRlcjo6Y3JlYXRlKHZtLCBkb21KSVQtPmdldHRlcigpLCBudWxscHRyLCBET01BdHRy
aWJ1dGVBbm5vdGF0aW9uIHsgSlNPYmplY3Q6OmluZm8oKSwgZG9tSklUIH0pOworICAgIHB1dERp
cmVjdEN1c3RvbUFjY2Vzc29yKHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKCZ2bSwgImN1c3Rv
bUdldHRlciIpLCBjdXN0b21HZXR0ZXJTZXR0ZXIsIFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25s
eSB8IFByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nvcik7Cit9CisKIGNvbnN0IENsYXNz
SW5mbyBFbGVtZW50OjpzX2luZm8gPSB7ICJFbGVtZW50IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0
ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShFbGVtZW50KSB9OwogY29uc3QgQ2xhc3NJ
bmZvIE1hc3F1ZXJhZGVyOjpzX2luZm8gPSB7ICJNYXNxdWVyYWRlciIsICZCYXNlOjpzX2luZm8s
IG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoTWFzcXVlcmFkZXIpIH07CiBj
b25zdCBDbGFzc0luZm8gUm9vdDo6c19pbmZvID0geyAiUm9vdCIsICZCYXNlOjpzX2luZm8sIG51
bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoUm9vdCkgfTsKQEAgLTk2NSw2ICsx
MDQ5LDcgQEAgY29uc3QgQ2xhc3NJbmZvIERPTUpJVE5vZGU6OnNfaW5mbyA9IHsgIgogI2VuZGlm
CiBjb25zdCBDbGFzc0luZm8gRE9NSklUR2V0dGVyOjpzX2luZm8gPSB7ICJET01KSVRHZXR0ZXIi
LCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERP
TUpJVEdldHRlcikgfTsKIGNvbnN0IENsYXNzSW5mbyBET01KSVRHZXR0ZXJDb21wbGV4OjpzX2lu
Zm8gPSB7ICJET01KSVRHZXR0ZXJDb21wbGV4IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVs
bHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJDb21wbGV4KSB9OworY29uc3Qg
Q2xhc3NJbmZvIERPTUpJVEdldHRlckJhc2VKU09iamVjdDo6c19pbmZvID0geyAiRE9NSklUR2V0
dGVyQmFzZUpTT2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRF
X01FVEhPRF9UQUJMRShET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QpIH07CiAjaWYgRU5BQkxFKEpJ
VCkKIGNvbnN0IENsYXNzSW5mbyBET01KSVRGdW5jdGlvbk9iamVjdDo6c19pbmZvID0geyAiRE9N
SklURnVuY3Rpb25PYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCAmRE9NSklURnVuY3Rp
b25PYmplY3Q6OmNoZWNrU3ViQ2xhc3NTbmlwcGV0LCBDUkVBVEVfTUVUSE9EX1RBQkxFKERPTUpJ
VEZ1bmN0aW9uT2JqZWN0KSB9OwogI2Vsc2UKQEAgLTExNDYsNiArMTIzMSw3IEBAIHN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQ29tcGxleE9iamVjdChFeGVj
U3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3Jl
YXRlRE9NSklURnVuY3Rpb25PYmplY3QoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3Qo
RXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlv
bkNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlQnVpbHRpbihFeGVjU3RhdGUq
KTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlYXRlR2xv
YmFsT2JqZWN0KEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgZnVuY3Rpb25TZXRJbXB1cmVHZXR0ZXJEZWxlZ2F0ZShFeGVjU3RhdGUqKTsKQEAgLTE0NjQs
NiArMTU1MCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVE
T01KSVRHZXR0ZXJDb21wbGV4T2JqZWN0IiwgZnVuY3Rpb25DcmVhdGVET01KSVRHZXR0ZXJDb21w
bGV4T2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJjcmVhdGVET01KSVRGdW5j
dGlvbk9iamVjdCIsIGZ1bmN0aW9uQ3JlYXRlRE9NSklURnVuY3Rpb25PYmplY3QsIDApOwogICAg
ICAgICBhZGRGdW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QiLCBm
dW5jdGlvbkNyZWF0ZURPTUpJVENoZWNrU3ViQ2xhc3NPYmplY3QsIDApOworICAgICAgICBhZGRG
dW5jdGlvbih2bSwgImNyZWF0ZURPTUpJVEdldHRlckJhc2VKU09iamVjdCIsIGZ1bmN0aW9uQ3Jl
YXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0LCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0s
ICJjcmVhdGVCdWlsdGluIiwgZnVuY3Rpb25DcmVhdGVCdWlsdGluLCAyKTsKICAgICAgICAgYWRk
RnVuY3Rpb24odm0sICJjcmVhdGVHbG9iYWxPYmplY3QiLCBmdW5jdGlvbkNyZWF0ZUdsb2JhbE9i
amVjdCwgMCk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAic2V0SW1wdXJlR2V0dGVyRGVsZWdh
dGUiLCBmdW5jdGlvblNldEltcHVyZUdldHRlckRlbGVnYXRlLCAyKTsKQEAgLTIyMDAsNiArMjI4
NywxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ3JlCiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGZ1bmN0aW9uQ3JlYXRlRE9NSklUR2V0dGVyQmFzZUpTT2JqZWN0KEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEpTTG9ja0hvbGRlciBsb2Nr
KHZtKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IERPTUpJVEdldHRlckJhc2VKU09iamVj
dDo6Y3JlYXRlU3RydWN0dXJlKHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGpzTnVs
bCgpKTsKKyAgICBET01KSVRHZXR0ZXJCYXNlSlNPYmplY3QqIHJlc3VsdCA9IERPTUpJVEdldHRl
ckJhc2VKU09iamVjdDo6Y3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUocmVzdWx0KTsKK30KKworCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uU2V0SW1wdXJlR2V0dGVyRGVsZWdhdGUoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2
aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTgxMCw2ICs4MTAsNyBA
QAogCQk0NDQzQUUzMzE2RTE4OEQ5MDA3NkYxMTAgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwRUI2MTA1
Qzg2QzZCMDBFNkRGMUIgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTQ1MTUzOUI5
MTJEQzk5NDUwMEVGN0FDNCAvKiBZYXJyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NTE1MzlCODEyREM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ3M0RBNEE0NzY0
QzQ1RkU4NzFCMDQ4NSAvKiBEZWZpbmVQcm9wZXJ0eUF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE2OTk0OEVERTY4RDQwNTRCMDFFRjc5
NyAvKiBEZWZpbmVQcm9wZXJ0eUF0dHJpYnV0ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MjExMzFGNzFGODJCRjE0MDA3Q0NFRUUgLyogUG9s
eVByb3RvQWNjZXNzQ2hhaW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUyMTEzMUY2MUY4MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFp
bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUy
MTMyMjQ2MUVDQkNFODIwMEY2NTYxNSAvKiBXZWJBc3NlbWJseUZ1bmN0aW9uQmFzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTIxMzIyNDQxRUNCQ0U4
MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmggKi87IH07CiAJCTUyNTBEMkQy
MUU4REEwNUEwMDI5QTkzMiAvKiBXYXNtVGh1bmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjUwRDJEMDFFOERBMDVBMDAyOUE5MzIgLyogV2FzbVRo
dW5rcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTUyNUMwRERBMUU5MzU4NDcwMDIxODRDRCAvKiBXYXNtQ2FsbGVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MjVDMEREODFFOTM1ODQ3MDAyMTg0Q0Qg
LyogV2FzbUNhbGxlZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0zMTI3LDYgKzMxMjgsOCBAQAogCQk0Q0U5NzhFMzg1QTg0OTgxOTkwNTIxNTMg
LyogTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxRjBFQjYxMDVDODZDNkIwMEU2REYxQiAvKiBGb3VuZGF0aW9uLmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBw
ZXIuZnJhbWV3b3JrOyBuYW1lID0gRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8
YWJzb2x1dGU+IjsgfTsKIAkJNTFGMEVDMDcwNUM4NkM5QTAwRTZERjFCIC8qIGxpYm9iamMuZHls
aWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSAiY29t
cGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IGxpYm9iamMuZHlsaWI7IHBhdGggPSAvdXNyL2xp
Yi9saWJvYmpjLmR5bGliOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OworCQk1MjExMzFG
NTFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1MjExMzFGNjFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUG9seVByb3RvQWNjZXNzQ2hhaW4uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTIxMzIyNDMxRUNCQ0U4MjAwRjY1NjE1IC8qIFdlYkFzc2VtYmx5RnVu
Y3Rpb25CYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYkFz
c2VtYmx5RnVuY3Rpb25CYXNlLmNwcDsgcGF0aCA9IGpzL1dlYkFzc2VtYmx5RnVuY3Rpb25CYXNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTIxMzIyNDQxRUNCQ0U4MjAwRjY1
NjE1IC8qIFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYkFzc2VtYmx5RnVuY3Rpb25CYXNlLmg7IHBhdGggPSBqcy9XZWJBc3NlbWJs
eUZ1bmN0aW9uQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MjUwRDJDRjFF
OERBMDVBMDAyOUE5MzIgLyogV2FzbVRodW5rcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXYXNtVGh1bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTc0MTgsNiArNzQyMSw4IEBACiAJCQkJOTY5QTA3OTUwRUQxRDNBRTAwRjFGNjgxIC8qIE9w
Y29kZS5oICovLAogCQkJCTBGMkJEQzJCMTUxRkRFOEIwMENEODkxMCAvKiBPcGVyYW5kcy5oICov
LAogCQkJCUE3MDQ0N0U5MTdBMEJENDYwMEY1ODk4RSAvKiBPcGVyYW5kc0lubGluZXMuaCAqLywK
KwkJCQk1MjExMzFGNTFGODJCRjExMDA3Q0NFRUUgLyogUG9seVByb3RvQWNjZXNzQ2hhaW4uY3Bw
ICovLAorCQkJCTUyMTEzMUY2MUY4MkJGMTEwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFp
bi5oICovLAogCQkJCTBGRjlDRTcxMUI5Q0Q2RDAwMDRFRENBNiAvKiBQb2x5bW9ycGhpY0FjY2Vz
cy5jcHAgKi8sCiAJCQkJMEZGOUNFNzIxQjlDRDZEMDAwNEVEQ0E2IC8qIFBvbHltb3JwaGljQWNj
ZXNzLmggKi8sCiAJCQkJMEY5ODIwNUQxNkJGRTM3RjAwMjQwRDAyIC8qIFByZWNpc2VKdW1wVGFy
Z2V0cy5jcHAgKi8sCkBAIC04MjY1LDYgKzgyNzAsNyBAQAogCQkJCUE3OTg2RDU3MTdBMEJCMUUw
MEE5NUREMCAvKiBERkdFZGdlVXNlc1N0cnVjdHVyZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4
RjE0MzQxQURGMDkwMTAwRUQ3OTJDIC8qIERGR0Vwb2NoLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RkJDMEFFODE0OTZDN0M3MDBENEZCREQgLyogREZHRXhpdFByb2ZpbGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTUyMTEzMUY3MUY4MkJGMTQwMDdDQ0VFRSAvKiBQb2x5UHJvdG9BY2Nlc3NDaGFpbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTc4QTk3NzUxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZhaWxl
ZEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdCRkYzQzAxNzk4Njg5NDAwMDJGNDYy
IC8qIERGR0ZpbHRyYXRpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OEE5Nzc3MTc5
NzM4QjgwMDlERjc0NCAvKiBERkdGaW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5jcHAJKHJldmlz
aW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9CdWlsdGluTmFt
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEpTQ19DT01NT05fUFJJVkFU
RV9JREVOVElGSUVSU19FQUNIX1BST1AKICN1bmRlZiBJTklUSUFMSVpFX0JVSUxUSU5fUFJJVkFU
RV9OQU1FUwogCiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIGRvbGxhclZNUHJpdmF0ZU5h
bWUgeyAiUHJpdmF0ZVN5bWJvbC4kdm0iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUgfTsK
K1N5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgdW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUg
eyAiUHJpdmF0ZVN5bWJvbC5fX3Byb3RvX18iLCBTeW1ib2xJbXBsOjpzX2ZsYWdJc1ByaXZhdGUg
fTsKIAogfSAvLyBuYW1lc3BhY2UgU3ltYm9scwogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0J1aWx0aW5OYW1lcy5oCShyZXZpc2lv
biAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbk5hbWVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNiw2ICsyMDYsNyBAQCBKU0NfQ09NTU9OX1BSSVZBVEVf
SURFTlRJRklFUlNfRUFDSF9QUk9QCiAjdW5kZWYgREVDTEFSRV9CVUlMVElOX1BSSVZBVEVfTkFN
RVMKIAogZXh0ZXJuIFN5bWJvbEltcGw6OlN0YXRpY1N5bWJvbEltcGwgZG9sbGFyVk1Qcml2YXRl
TmFtZTsKK2V4dGVybiBTeW1ib2xJbXBsOjpTdGF0aWNTeW1ib2xJbXBsIHVuZGVyc2NvcmVQcm90
b1ByaXZhdGVOYW1lOwogfQogCiAjZGVmaW5lIElOSVRJQUxJWkVfUFJJVkFURV9UT19QVUJMSUNf
RU5UUlkobmFtZSkgbV9wcml2YXRlVG9QdWJsaWNNYXAuYWRkKG1fIyNuYW1lIyNQcml2YXRlTmFt
ZS5pbXBsKCksICZtXyMjbmFtZSk7CkBAIC0yMzAsNiArMjMxLDcgQEAgcHVibGljOgogICAgICAg
ICBKU0NfQ09NTU9OX1BSSVZBVEVfSURFTlRJRklFUlNfRUFDSF9XRUxMX0tOT1dOX1NZTUJPTChJ
TklUSUFMSVpFX0JVSUxUSU5fU1lNQk9MUykKICAgICAgICAgLCBtX2RvbGxhclZNTmFtZShJZGVu
dGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiJHZtIikpCiAgICAgICAgICwgbV9kb2xsYXJWTVByaXZh
dGVOYW1lKElkZW50aWZpZXI6OmZyb21VaWQodm0sICZzdGF0aWNfY2FzdDxTeW1ib2xJbXBsJj4o
U3ltYm9sczo6ZG9sbGFyVk1Qcml2YXRlTmFtZSkpKQorICAgICAgICAsIG1fdW5kZXJzY29yZVBy
b3RvUHJpdmF0ZU5hbWUoSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgJnN0YXRpY19jYXN0PFN5bWJv
bEltcGwmPihTeW1ib2xzOjp1bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFtZSkpKQogICAgIHsKICAg
ICAgICAgSlNDX0ZPUkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKElOSVRJQUxJWkVfUFJJVkFU
RV9UT19QVUJMSUNfRU5UUlkpCiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9JREVOVElGSUVS
U19FQUNIX1BST1BFUlRZX05BTUUoSU5JVElBTElaRV9QUklWQVRFX1RPX1BVQkxJQ19FTlRSWSkK
QEAgLTIzOCw2ICsyNDAsOCBAQCBwdWJsaWM6CiAgICAgICAgIEpTQ19DT01NT05fUFJJVkFURV9J
REVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKElOSVRJQUxJWkVfU1lNQk9MX1BVQkxJ
Q19UT19QUklWQVRFX0VOVFJZKQogICAgICAgICBtX3ByaXZhdGVUb1B1YmxpY01hcC5hZGQobV9k
b2xsYXJWTVByaXZhdGVOYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1OYW1lKTsKICAgICAgICAgbV9w
dWJsaWNUb1ByaXZhdGVNYXAuYWRkKG1fZG9sbGFyVk1OYW1lLmltcGwoKSwgJm1fZG9sbGFyVk1Q
cml2YXRlTmFtZSk7CisgICAgICAgIG1fcHJpdmF0ZVRvUHVibGljTWFwLmFkZChtX3VuZGVyc2Nv
cmVQcm90b1ByaXZhdGVOYW1lLmltcGwoKSwgJmNvbW1vbklkZW50aWZpZXJzLT51bmRlcnNjb3Jl
UHJvdG8pOworICAgICAgICBtX3B1YmxpY1RvUHJpdmF0ZU1hcC5hZGQoY29tbW9uSWRlbnRpZmll
cnMtPnVuZGVyc2NvcmVQcm90by5pbXBsKCksICZtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1l
KTsKICAgICB9CiAKICAgICBjb25zdCBJZGVudGlmaWVyKiBsb29rVXBQcml2YXRlTmFtZShjb25z
dCBJZGVudGlmaWVyJikgY29uc3Q7CkBAIC0yNTAsNiArMjU0LDcgQEAgcHVibGljOgogICAgIEpT
Q19DT01NT05fUFJJVkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xB
UkVfQlVJTFRJTl9TWU1CT0xfQUNDRVNTT1IpCiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBk
b2xsYXJWTVB1YmxpY05hbWUoKSBjb25zdCB7IHJldHVybiBtX2RvbGxhclZNTmFtZTsgfQogICAg
IGNvbnN0IEpTQzo6SWRlbnRpZmllciYgZG9sbGFyVk1Qcml2YXRlTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZG9sbGFyVk1Qcml2YXRlTmFtZTsgfQorICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciYg
dW5kZXJzY29yZVByb3RvUHJpdmF0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3VuZGVyc2NvcmVQ
cm90b1ByaXZhdGVOYW1lOyB9CiAKIHByaXZhdGU6CiAgICAgSWRlbnRpZmllciBtX2VtcHR5SWRl
bnRpZmllcjsKQEAgLTI1OCw2ICsyNjMsNyBAQCBwcml2YXRlOgogICAgIEpTQ19DT01NT05fUFJJ
VkFURV9JREVOVElGSUVSU19FQUNIX1dFTExfS05PV05fU1lNQk9MKERFQ0xBUkVfQlVJTFRJTl9T
WU1CT0xTKQogICAgIGNvbnN0IEpTQzo6SWRlbnRpZmllciBtX2RvbGxhclZNTmFtZTsKICAgICBj
b25zdCBKU0M6OklkZW50aWZpZXIgbV9kb2xsYXJWTVByaXZhdGVOYW1lOworICAgIGNvbnN0IEpT
Qzo6SWRlbnRpZmllciBtX3VuZGVyc2NvcmVQcm90b1ByaXZhdGVOYW1lOwogICAgIHR5cGVkZWYg
SGFzaE1hcDxSZWZQdHI8VW5pcXVlZFN0cmluZ0ltcGw+LCBjb25zdCBJZGVudGlmaWVyKiwgSWRl
bnRpZmllclJlcEhhc2g+IEJ1aWx0aW5OYW1lc01hcDsKICAgICBCdWlsdGluTmFtZXNNYXAgbV9w
dWJsaWNUb1ByaXZhdGVNYXA7CiAgICAgQnVpbHRpbk5hbWVzTWFwIG1fcHJpdmF0ZVRvUHVibGlj
TWFwOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNl
LmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0FjY2Vzc0Nhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwzNiArNTUsMzkgQEAgbmFtZXNw
YWNlIEFjY2Vzc0Nhc2VJbnRlcm5hbCB7CiBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFs
c2U7CiB9CiAKLUFjY2Vzc0Nhc2U6OkFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zmc2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitBY2Nl
c3NDYXNlOjpBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBl
LCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogICAgIDogbV90eXBlKHR5
cGUpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCisgICAgLCBtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
KFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKQogewogICAgIG1fc3RydWN0dXJlLnNldE1h
eUJlTnVsbCh2bSwgb3duZXIsIHN0cnVjdHVyZSk7CiAgICAgbV9jb25kaXRpb25TZXQgPSBjb25k
aXRpb25TZXQ7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpj
cmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBBY2Nlc3NUeXBlIHR5cGUsIFByb3BlcnR5T2Zm
c2V0IG9mZnNldCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uU2V0JiBjb25kaXRpb25TZXQpCitzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNj
ZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQ
cm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVBy
b3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlw
ZSkgewogICAgIGNhc2UgSW5IaXQ6CiAgICAgY2FzZSBJbk1pc3M6CisgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgQXJyYXlMZW5ndGg6CiAgICAgY2FzZSBTdHJpbmdMZW5ndGg6CiAgICAgY2FzZSBE
aXJlY3RBcmd1bWVudHNMZW5ndGg6CiAgICAgY2FzZSBTY29wZWRBcmd1bWVudHNMZW5ndGg6CiAg
ICAgY2FzZSBNb2R1bGVOYW1lc3BhY2VMb2FkOgogICAgIGNhc2UgUmVwbGFjZToKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQoIXByb3RvdHlwZUFjY2Vzc0NoYWluKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgZGVmYXVsdDoKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8QWNjZXNzQ2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQs
IHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxB
Y2Nlc3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7CiB9CiAK
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAgVk0m
IHZtLCBKU0NlbGwqIG93bmVyLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogb2xk
U3RydWN0dXJlLCBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwKLSAgICBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0KQorICAgIGNvbnN0IE9iamVjdFByb3BlcnR5
Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nl
c3NDaGFpbj4gcHJvdG90eXBlQWNjZXNzQ2hhaW4pCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQob2xk
U3RydWN0dXJlID09IG5ld1N0cnVjdHVyZS0+cHJldmlvdXNJRCgpKTsKIApAQCAtOTYsNyArOTks
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6CiAgICAgICAgIHJl
dHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNz
Q2FzZT4obmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBUcmFuc2l0aW9uLCBvZmZzZXQsIG5ld1N0
cnVjdHVyZSwgY29uZGl0aW9uU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nl
c3NDYXNlPihuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIG9mZnNldCwgbmV3
U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKSk7
CiB9CiAKIEFjY2Vzc0Nhc2U6On5BY2Nlc3NDYXNlKCkKQEAgLTEzNSw3ICsxMzgsOCBAQCBWZWN0
b3I8V2F0Y2hwb2ludFNldCosIDI+IEFjY2Vzc0Nhc2U6OmNvCiAgICAgVmVjdG9yPFdhdGNocG9p
bnRTZXQqLCAyPiByZXN1bHQ7CiAKICAgICBpZiAoKHN0cnVjdHVyZSgpICYmIHN0cnVjdHVyZSgp
LT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpCi0gICAgICAgIHx8IG1fY29uZGl0aW9u
U2V0Lm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKSkKKyAgICAgICAgfHwgbV9jb25kaXRp
b25TZXQubmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpCisgICAgICAgIHx8IChtX3BvbHlQ
cm90b0FjY2Vzc0NoYWluICYmIG1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPm5lZWRJbXB1cmVQcm9w
ZXJ0eVdhdGNocG9pbnQoKSkpCiAgICAgICAgIHJlc3VsdC5hcHBlbmQodm0uZW5zdXJlV2F0Y2hw
b2ludFNldEZvckltcHVyZVByb3BlcnR5KGlkZW50KSk7CiAKICAgICBpZiAoYWRkaXRpb25hbFNl
dCgpKQpAQCAtMTUxLDYgKzE1NSw5IEBAIGJvb2wgQWNjZXNzQ2FzZTo6Z3VhcmRlZEJ5U3RydWN0
dXJlQ2hlY2sKICAgICBpZiAodmlhUHJveHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgaWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKwog
ICAgIHN3aXRjaCAobV90eXBlKSB7CiAgICAgY2FzZSBBcnJheUxlbmd0aDoKICAgICBjYXNlIFN0
cmluZ0xlbmd0aDoKQEAgLTIxMCw2ICsyMTcsMTkgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5SZXBs
YWNlKGNvbnN0IEFjY2VzcwogICAgICAgICByZXR1cm4gdGhpc0Nhc2UubW9kdWxlTmFtZXNwYWNl
T2JqZWN0KCkgPT0gb3RoZXJDYXNlLm1vZHVsZU5hbWVzcGFjZU9iamVjdCgpOwogICAgIH0KICAg
ICBkZWZhdWx0OgorICAgICAgICBpZiAob3RoZXIudHlwZSgpICE9IHR5cGUoKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikg
eworICAgICAgICAgICAgaWYgKCFvdGhlci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIG9ubHkg
Y2hlY2sgd2UgbmVlZCBzaW5jZSBQb2x5UHJvdG9BY2Nlc3NDaGFpbiBjb250YWlucyB0aGUgYmFz
ZSBzdHJ1Y3R1cmUuCisgICAgICAgICAgICAvLyBJZiB3ZSBldmVyIGNoYW5nZSBpdCB0byBjb250
YWluIG9ubHkgdGhlIHByb3RvdHlwZSBjaGFpbiwgd2UnbGwgYWxzbyBuZWVkIHRvIGNoYW5nZQor
ICAgICAgICAgICAgLy8gdGhpcyB0byBjaGVjayB0aGUgYmFzZSBzdHJ1Y3R1cmUuCisgICAgICAg
ICAgICByZXR1cm4gc3RydWN0dXJlKCkgPT0gb3RoZXIuc3RydWN0dXJlKCkKKyAgICAgICAgICAg
ICAgICAmJiAqbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbiA9PSAqb3RoZXIubV9wb2x5UHJvdG9BY2Nl
c3NDaGFpbjsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICghZ3VhcmRlZEJ5U3RydWN0dXJlQ2hl
Y2soKSB8fCAhb3RoZXIuZ3VhcmRlZEJ5U3RydWN0dXJlQ2hlY2soKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApAQCAtMjE5LDIyICsyMzksMjcgQEAgYm9vbCBBY2Nlc3NDYXNlOjpjYW5S
ZXBsYWNlKGNvbnN0IEFjY2VzcwogCiB2b2lkIEFjY2Vzc0Nhc2U6OmR1bXAoUHJpbnRTdHJlYW0m
IG91dCkgY29uc3QKIHsKLSAgICBvdXQucHJpbnQobV90eXBlLCAiOigiKTsKKyAgICBvdXQucHJp
bnQoIlxuIiwgbV90eXBlLCAiOigiKTsKIAogICAgIENvbW1hUHJpbnRlciBjb21tYTsKIAogICAg
IG91dC5wcmludChjb21tYSwgbV9zdGF0ZSk7CiAKLSAgICBpZiAobV90eXBlID09IFRyYW5zaXRp
b24pCi0gICAgICAgIG91dC5wcmludChjb21tYSwgInN0cnVjdHVyZSA9ICIsIHBvaW50ZXJEdW1w
KHN0cnVjdHVyZSgpKSwgIiAtPiAiLCBwb2ludGVyRHVtcChuZXdTdHJ1Y3R1cmUoKSkpOwotICAg
IGVsc2UgaWYgKG1fc3RydWN0dXJlKQotICAgICAgICBvdXQucHJpbnQoY29tbWEsICJzdHJ1Y3R1
cmUgPSAiLCBwb2ludGVyRHVtcChtX3N0cnVjdHVyZS5nZXQoKSkpOwotCiAgICAgaWYgKGlzVmFs
aWRPZmZzZXQobV9vZmZzZXQpKQogICAgICAgICBvdXQucHJpbnQoY29tbWEsICJvZmZzZXQgPSAi
LCBtX29mZnNldCk7CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0VtcHR5KCkpCiAgICAgICAg
IG91dC5wcmludChjb21tYSwgImNvbmRpdGlvbnMgPSAiLCBtX2NvbmRpdGlvblNldCk7CiAKKyAg
ICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICBvdXQucHJpbnQoY29tbWEs
ICJwcm90b3R5cGUgYWNjZXNzIGNoYWluID0gIik7CisgICAgICAgIG1fcG9seVByb3RvQWNjZXNz
Q2hhaW4tPmR1bXAoc3RydWN0dXJlKCksIG91dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYg
KG1fdHlwZSA9PSBUcmFuc2l0aW9uKQorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAic3Ry
dWN0dXJlID0gIiwgcG9pbnRlckR1bXAoc3RydWN0dXJlKCkpLCAiIC0+ICIsIHBvaW50ZXJEdW1w
KG5ld1N0cnVjdHVyZSgpKSk7CisgICAgICAgIGVsc2UgaWYgKG1fc3RydWN0dXJlKQorICAgICAg
ICAgICAgb3V0LnByaW50KGNvbW1hLCAic3RydWN0dXJlID0gIiwgcG9pbnRlckR1bXAobV9zdHJ1
Y3R1cmUuZ2V0KCkpKTsKKyAgICB9CisKICAgICBkdW1wSW1wbChvdXQsIGNvbW1hKTsKICAgICBv
dXQucHJpbnQoIikiKTsKIH0KQEAgLTI0Myw2ICsyNjgsMTIgQEAgYm9vbCBBY2Nlc3NDYXNlOjp2
aXNpdFdlYWsoVk0mIHZtKSBjb25zdAogewogICAgIGlmIChtX3N0cnVjdHVyZSAmJiAhSGVhcDo6
aXNNYXJrZWQobV9zdHJ1Y3R1cmUuZ2V0KCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKG1fcG9seVByb3RvQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA6IG1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmNoYWluKCkpIHsKKyAgICAgICAgICAg
IGlmICghSGVhcDo6aXNNYXJrZWQoc3RydWN0dXJlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIH0KKyAgICB9CiAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5hcmVTdGls
bExpdmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmIChpc0FjY2Vzc29yKCkpIHsK
QEAgLTI3Myw2ICszMDQsMTEgQEAgYm9vbCBBY2Nlc3NDYXNlOjpwcm9wYWdhdGVUcmFuc2l0aW9u
cyhTbAogICAgIGlmIChtX3N0cnVjdHVyZSkKICAgICAgICAgcmVzdWx0ICY9IG1fc3RydWN0dXJl
LT5tYXJrSWZDaGVhcCh2aXNpdG9yKTsKIAorICAgIGlmIChtX3BvbHlQcm90b0FjY2Vzc0NoYWlu
KSB7CisgICAgICAgIGZvciAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgOiBtX3BvbHlQcm90b0FjY2Vz
c0NoYWluLT5jaGFpbigpKQorICAgICAgICAgICAgcmVzdWx0ICY9IHN0cnVjdHVyZS0+bWFya0lm
Q2hlYXAodmlzaXRvcik7CisgICAgfQorCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAgICBjYXNl
IFRyYW5zaXRpb246CiAgICAgICAgIGlmIChIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShtX3N0
cnVjdHVyZS0+cHJldmlvdXNJRCgpKSkKQEAgLTM3MiwyNiArNDA4LDcyIEBAIHZvaWQgQWNjZXNz
Q2FzZTo6Z2VuZXJhdGVXaXRoR3VhcmQoCiAgICAgfQogCiAgICAgZGVmYXVsdDogewotICAgICAg
ICBpZiAodmlhUHJveHkoKSkgewotICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAotICAg
ICAgICAgICAgICAgIGppdC5icmFuY2g4KAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLAotICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
YmFzZUdQUiwgSlNDZWxsOjp0eXBlSW5mb1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSkp
OwotCi0gICAgICAgICAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQ
UiwgSlNQcm94eTo6dGFyZ2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKLQotICAgICAgICAgICAg
ZmFsbFRocm91Z2guYXBwZW5kKAotICAgICAgICAgICAgICAgIGppdC5icmFuY2hTdHJ1Y3R1cmUo
Ci0gICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCi0gICAgICAgICAg
ICAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCBKU0NlbGw6OnN0cnVj
dHVyZUlET2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUoKSkpOworICAg
ICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgR1BSUmVnIGJh
c2VGb3JBY2Nlc3NHUFIgPSBzdGF0ZS5zY3JhdGNoR1BSOworICAgICAgICAgICAgaml0Lm1vdmUo
c3RhdGUuYmFzZUdQUiwgYmFzZUZvckFjY2Vzc0dQUik7CisgICAgICAgICAgICBtX3BvbHlQcm90
b0FjY2Vzc0NoYWluLT5mb3JFYWNoKHN0cnVjdHVyZSgpLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0
dXJlLCBib29sIGF0RW5kKSB7CisgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICBqaXQuYnJhbmNoU3RydWN0dXJlKAorICAgICAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVhbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6QWRkcmVzcyhiYXNlRm9yQWNjZXNzR1BSLCBKU0NlbGw6OnN0cnVjdHVy
ZUlET2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlKSk7CisgICAg
ICAgICAgICAgICAgaWYgKGF0RW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICgobV90eXBl
ID09IE1pc3MgfHwgbV90eXBlID09IEluTWlzcyB8fCBtX3R5cGUgPT0gVHJhbnNpdGlvbikgJiYg
c3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Rm9yIGEgTWlzcy9Jbk1pc3MvVHJhbnNpdGlvbiwgd2UgbXVzdCBlbnN1cmUgd2UncmUgYXQgdGhl
IGVuZCB3aGVuIHRoZSBsYXN0IGl0ZW0gaXMgcG9seSBwcm90by4KKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIFRyYW5zaXRpb25zIG11c3QgZG8gdGhpcyBiZWNhdXNlIHRoZXkgbmVlZCB0byB2
ZXJpZnkgdGhlcmUgaXNuJ3QgYSBzZXR0ZXIgaW4gdGhlIGNoYWluLgorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gTWlzcy9Jbk1pc3MgbmVlZCB0byBkbyB0aGlzIHRvIGVuc3VyZSB0aGVyZSBp
c24ndCBhIG5ldyBpdGVtIGF0IHRoZSBlbmQgb2YgdGhlIGNoYWluIHRoYXQKKyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIGhhcyB0aGUgcHJvcGVydHkuCisgICAgICAgICAgICAgICAgICAgICAg
ICBQcm9wZXJ0eU9mZnNldCBwb2x5UHJvdG9PZmZzZXQgPSBzdHJ1Y3R1cmUtPnBvbHlQcm90b09m
ZnNldCgpOworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaXNJbmxpbmVP
ZmZzZXQocG9seVByb3RvT2Zmc2V0KSk7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGppdC5sb2FkNjQoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoYmFzZUZvckFj
Y2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2UocG9seVByb3RvT2Zmc2V0KSksIGJhc2VGb3JB
Y2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRocm91Z2guYXBwZW5kKGpp
dC5icmFuY2g2NChDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBiYXNlRm9yQWNjZXNzR1BSLCBDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW02NChWYWx1ZU51bGwpKSk7CisjZWxzZQorICAgICAgICAgICAg
ICAgICAgICAgICAgaml0LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlRm9yQWNj
ZXNzR1BSLCBvZmZzZXRSZWxhdGl2ZVRvQmFzZShwb2x5UHJvdG9PZmZzZXQpICsgUGF5bG9hZE9m
ZnNldCksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAgICAgICAgICAgICAgICAgICAgZmFsbFRo
cm91Z2guYXBwZW5kKGppdC5icmFuY2hUZXN0UHRyKENDYWxsSGVscGVyczo6Tm9uWmVybywgYmFz
ZUZvckFjY2Vzc0dQUikpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNN
b25vUHJvdG8oKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUg
PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChzdGF0ZS5tX2dsb2JhbE9iamVjdCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm90b3R5cGUuaXNPYmplY3Qo
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIoYXNPYmplY3QocHJvdG90eXBlKSksIGJhc2VGb3JBY2Nlc3NHUFIpOworICAgICAg
ICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUkVMRUFTRV9B
U1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsgLy8gUHJpbWl0aXZlcyBtdXN0IGhhdmUgYSBz
dG9yZWQgcHJvdG90eXBlLiBXZSB1c2UgcHJvdG90eXBlRm9yTG9va3VwIGZvciB0aGVtLgorICAg
ICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0ID0gc3Ry
dWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVB
U0VfQVNTRVJUKGlzSW5saW5lT2Zmc2V0KHBvbHlQcm90b09mZnNldCkpOworI2lmIFVTRShKU1ZB
TFVFNjQpCisgICAgICAgICAgICAgICAgICAgICAgICBqaXQubG9hZDY0KE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKGJhc2VGb3JBY2Nlc3NHUFIsIG9mZnNldFJlbGF0aXZlVG9CYXNlKHBvbHlQcm90
b09mZnNldCkpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoNjQoQ0NhbGxIZWxwZXJzOjpFcXVhbCwgYmFzZUZv
ckFjY2Vzc0dQUiwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoVmFsdWVOdWxsKSkpOworI2Vs
c2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3MoYmFzZUZvckFjY2Vzc0dQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2UocG9seVByb3RvT2Zm
c2V0KSArIFBheWxvYWRPZmZzZXQpLCBiYXNlRm9yQWNjZXNzR1BSKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVuZChqaXQuYnJhbmNoVGVzdFB0cihDQ2FsbEhlbHBl
cnM6Olplcm8sIGJhc2VGb3JBY2Nlc3NHUFIpKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBmYWxsVGhyb3VnaC5hcHBlbmQoCi0gICAgICAgICAgICAgICAgaml0LmJy
YW5jaFN0cnVjdHVyZSgKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb3RFcXVh
bCwKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpT
Q2VsbDo6c3RydWN0dXJlSURPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdHVy
ZSgpKSk7CisgICAgICAgICAgICBpZiAodmlhUHJveHkoKSkgeworICAgICAgICAgICAgICAgIGZh
bGxUaHJvdWdoLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaDgoCisgICAg
ICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAorICAgICAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGJhc2VHUFIsIEpTQ2VsbDo6dHlwZUlu
Zm9UeXBlT2Zmc2V0KCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tMzIoUHVyZUZvcndhcmRpbmdQcm94eVR5cGUpKSk7CisKKyAgICAgICAgICAgICAg
ICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNQcm94eTo6dGFy
Z2V0T2Zmc2V0KCkpLCBzY3JhdGNoR1BSKTsKKworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdo
LmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAg
ICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwgSlNDZWxsOjpzdHJ1
Y3R1cmVJRE9mZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGZhbGxUaHJvdWdoLmFwcGVu
ZCgKKyAgICAgICAgICAgICAgICAgICAgaml0LmJyYW5jaFN0cnVjdHVyZSgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6Tm90RXF1YWwsCisgICAgICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoYmFzZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVJRE9m
ZnNldCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSgpKSk7CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfSB9OwpAQCAtNDI4LDYgKzUx
MCw4IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmUKICAgICBBU1NF
UlQobV9jb25kaXRpb25TZXQuc3RydWN0dXJlc0Vuc3VyZVZhbGlkaXR5QXNzdW1pbmdJbXB1cmVQ
cm9wZXJ0eVdhdGNocG9pbnQoKSk7CiAKICAgICBmb3IgKGNvbnN0IE9iamVjdFByb3BlcnR5Q29u
ZGl0aW9uJiBjb25kaXRpb24gOiBtX2NvbmRpdGlvblNldCkgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVCghbV9wb2x5UHJvdG9BY2Nlc3NDaGFpbik7CisKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBjb25kaXRpb24ub2JqZWN0KCktPnN0cnVjdHVyZSgpOwogCiAgICAgICAgIGlmIChj
b25kaXRpb24uaXNXYXRjaGFibGVBc3N1bWluZ0ltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7
CkBAIC01MDQsMTMgKzU4OCwxOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nl
c3NHZW5lCiAgICAgICAgICAgICBiYXNlRm9yR2V0R1BSID0gYmFzZUdQUjsKIAogICAgICAgICBH
UFJSZWcgYmFzZUZvckFjY2Vzc0dQUjsKLSAgICAgICAgaWYgKCFtX2NvbmRpdGlvblNldC5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgICAgIGppdC5tb3ZlKAotICAgICAgICAgICAgICAgIENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbVB0cihhbHRlcm5hdGVCYXNlKCkpLAotICAgICAgICAgICAgICAgIHNj
cmF0Y2hHUFIpOworICAgICAgICBpZiAobV9wb2x5UHJvdG9BY2Nlc3NDaGFpbikgeworICAgICAg
ICAgICAgLy8gVGhpcyBpc24ndCBwcmV0dHksIGJ1dCB3ZSBrbm93IHdlIGdvdCBoZXJlIHZpYSBn
ZW5lcmF0ZVdpdGhHdWFyZCwKKyAgICAgICAgICAgIC8vIGFuZCBpdCBsZWZ0IHRoZSBiYXNlRm9y
QWNjZXNzIGluc2lkZSBzY3JhdGNoR1BSLiBXZSBjb3VsZCByZS1kZXJpdmUgdGhlIGJhc2UsCisg
ICAgICAgICAgICAvLyBidXQgaXQnZCByZXF1aXJlIGVtaXR0aW5nIHRoZSBzYW1lIGNvZGUgdG8g
bG9hZCB0aGUgYmFzZSB0d2ljZS4KICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3Jh
dGNoR1BSOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBi
YXNlRm9yR2V0R1BSOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtX2NvbmRp
dGlvblNldC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICBqaXQubW92ZSgKKyAgICAgICAg
ICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGFsdGVybmF0ZUJhc2UoKSks
IHNjcmF0Y2hHUFIpOworICAgICAgICAgICAgICAgIGJhc2VGb3JBY2Nlc3NHUFIgPSBzY3JhdGNo
R1BSOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgYmFzZUZvckFjY2Vzc0dQ
UiA9IGJhc2VGb3JHZXRHUFI7CisgICAgICAgIH0KIAogICAgICAgICBHUFJSZWcgbG9hZGVkVmFs
dWVHUFIgPSBJbnZhbGlkR1BSUmVnOwogICAgICAgICBpZiAobV90eXBlICE9IEN1c3RvbVZhbHVl
R2V0dGVyICYmIG1fdHlwZSAhPSBDdXN0b21BY2Nlc3NvckdldHRlciAmJiBtX3R5cGUgIT0gQ3Vz
dG9tVmFsdWVTZXR0ZXIgJiYgbV90eXBlICE9IEN1c3RvbUFjY2Vzc29yU2V0dGVyKSB7CkBAIC0x
MDE2LDcgKzExMDYsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nlc3NHZW5l
CiAgICAgICAgIAogICAgIGNhc2UgSW50cmluc2ljR2V0dGVyOiB7CiAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KCkpKTsKLSAgICAgICAgCisKICAgICAgICAgLy8g
V2UgbmVlZCB0byBlbnN1cmUgdGhlIGdldHRlciB2YWx1ZSBkb2VzIG5vdCBtb3ZlIGZyb20gdW5k
ZXIgdXMuIE5vdGUgdGhhdCBHZXR0ZXJTZXR0ZXJzCiAgICAgICAgIC8vIGFyZSBpbW11dGFibGUg
c28gd2UganVzdCBuZWVkIHRvIHdhdGNoIHRoZSBwcm9wZXJ0eSBub3QgYW55IHZhbHVlIGluc2lk
ZSBpdC4KICAgICAgICAgU3RydWN0dXJlKiBjdXJyU3RydWN0dXJlOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCShyZXZpc2lvbiAyMjI4MDEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgog
I2luY2x1ZGUgIk9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0LmgiCisjaW5jbHVkZSAiUG9seVBy
b3RvQWNjZXNzQ2hhaW4uaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewpAQCAtMTIwLDExICsxMjEsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKFZNJiwgSlNDZWxsKiBvd25l
ciwgQWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgPSBpbnZhbGlkT2Zmc2V0LAotICAgICAgICBT
dHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0g
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAgIFN0cnVjdHVyZSogPSBudWxs
cHRyLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCgpLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+ID0gbnVs
bHB0cik7CiAKICAgICAvLyBUaGlzIGNyZWF0ZSBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgZm9yIHRy
YW5zaXRpb25zLgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRl
KFZNJiwgSlNDZWxsKiBvd25lciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0
dXJlLAotICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSk7CisgICAgICAg
IFN0cnVjdHVyZSogbmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNl
dCYsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBmcm9tU3RydWN0dXJlU3R1YkluZm8oVk0mLCBK
U0NlbGwqIG93bmVyLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCkBAIC0xODYsOSArMTg3LDI1IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkFjY2Vzc0Nhc2UoKTsKIAorICAgIGJvb2wgdXNlc1Bv
bHlQcm90bygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISFtX3BvbHlQcm90b0FjY2Vz
c0NoYWluOworICAgIH0KKwogcHJvdGVjdGVkOgotICAgIEFjY2Vzc0Nhc2UoVk0mLCBKU0NlbGwq
IG93bmVyLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiwgY29uc3QgT2Jq
ZWN0UHJvcGVydHlDb25kaXRpb25TZXQmKTsKLSAgICBBY2Nlc3NDYXNlKGNvbnN0IEFjY2Vzc0Nh
c2UmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNv
bmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOworICAg
IEFjY2Vzc0Nhc2UoQWNjZXNzQ2FzZSYmKSA9IGRlZmF1bHQ7CisgICAgQWNjZXNzQ2FzZShjb25z
dCBBY2Nlc3NDYXNlJiBvdGhlcikKKyAgICAgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQorICAg
ICAgICAsIG1fc3RhdGUob3RoZXIubV9zdGF0ZSkKKyAgICAgICAgLCBtX29mZnNldChvdGhlci5t
X29mZnNldCkKKyAgICAgICAgLCBtX3N0cnVjdHVyZShvdGhlci5tX3N0cnVjdHVyZSkKKyAgICAg
ICAgLCBtX2NvbmRpdGlvblNldChvdGhlci5tX2NvbmRpdGlvblNldCkKKyAgICB7CisgICAgICAg
IGlmIChvdGhlci5tX3BvbHlQcm90b0FjY2Vzc0NoYWluKQorICAgICAgICAgICAgbV9wb2x5UHJv
dG9BY2Nlc3NDaGFpbiA9IG90aGVyLm1fcG9seVByb3RvQWNjZXNzQ2hhaW4tPmNsb25lKCk7Cisg
ICAgfQorCiAgICAgQWNjZXNzQ2FzZSYgb3BlcmF0b3I9KGNvbnN0IEFjY2Vzc0Nhc2UmKSA9IGRl
bGV0ZTsKICAgICB2b2lkIHJlc2V0U3RhdGUoKSB7IG1fc3RhdGUgPSBQcmltb3JkaWFsOyB9CiAK
QEAgLTIyNyw2ICsyNDQsOCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fc3RydWN0dXJlOwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgbV9jb25kaXRp
b25TZXQ7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IG1fcG9s
eVByb3RvQWNjZXNzQ2hhaW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lvbiAyMjI4
MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTkzLDcgKzU5Myw3IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVh
dGlvbihWTSYgdm0sIFMKICAgICAgICAgICAgIGludCBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0g
cGNbb3BMZW5ndGggLSAyXS51Lm9wZXJhbmQ7CiAKICAgICAgICAgICAgIGluc3RydWN0aW9uc1tp
ICsgb3BMZW5ndGggLSAxXSA9IG9iamVjdEFsbG9jYXRpb25Qcm9maWxlOwotICAgICAgICAgICAg
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUtPmluaXRpYWxpemUodm0sCisgICAgICAgICAgICBvYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZS0+aW5pdGlhbGl6ZVByb2ZpbGUodm0sCiAgICAgICAgICAgICAg
ICAgbV9nbG9iYWxPYmplY3QuZ2V0KCksIHRoaXMsIG1fZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90
b3R5cGUoKSwgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0
dXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRC
eUlkU3RhdHVzLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTksNiArMjE5
LDkgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yUwogICAgICAgICAg
ICAgY29uc3QgQWNjZXNzQ2FzZSYgYWNjZXNzID0gbGlzdC0+YXQobGlzdEluZGV4KTsKICAgICAg
ICAgICAgIGlmIChhY2Nlc3MudmlhUHJveHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gR2V0
QnlJZFN0YXR1cyhzbG93UGF0aFN0YXRlLCB0cnVlKTsKKworICAgICAgICAgICAgaWYgKGFjY2Vz
cy51c2VzUG9seVByb3RvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMo
c2xvd1BhdGhTdGF0ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYWNjZXNzLnN0cnVjdHVyZSgpOwogICAgICAgICAgICAgaWYgKCFzdHJ1
Y3R1cmUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDIsMTcgKzQyLDE3IEBAIG5hbWVzcGFjZSBHZXR0ZXJTZXR0ZXJB
Y2Nlc3NDYXNlSW50ZXJuYWwKIHN0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKIH0K
IAotR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYgdm0s
IEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zm
c2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25h
bFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlKQotICAgIDogQmFzZSh2bSwgb3duZXIsIGFj
Y2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRp
dGlvbmFsU2V0KQorR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6R2V0dGVyU2V0dGVyQWNjZXNzQ2Fz
ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlD
b25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCog
YWRkaXRpb25hbFNldCwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlLCBzdGQ6OnVuaXF1ZV9wdHI8
UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2
bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZp
YVByb3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkKIHsK
ICAgICBtX2N1c3RvbVNsb3RCYXNlLnNldE1heUJlTnVsbCh2bSwgb3duZXIsIGN1c3RvbVNsb3RC
YXNlKTsKIH0KIAogCiBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNj
ZXNzQ2FzZTo6Y3JlYXRlKAotICAgIFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLAotICAgIGNv
bnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIGJvb2wgdmlhUHJv
eHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsCi0gICAgUHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmMgY3VzdG9tR2V0dGVyLCBKU09iamVjdCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0
aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4gZG9tQXR0cmlidXRlKQorICAgIFZNJiB2bSwg
SlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29u
ZGl0aW9uU2V0LAorICAgIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxT
ZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIGN1c3RvbUdldHRlciwgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlLAorICAgIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4g
ZG9tQXR0cmlidXRlLCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgR2V0dGVy
OgpAQCAtNjMsMTggKzYzLDE4IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJT
ZXR0ZXIKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfTsKIAotICAgIHN0ZDo6
dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNldHRl
ckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9u
U2V0LCB2aWFQcm94eSwgYWRkaXRpb25hbFNldCwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0
ZXJBY2Nlc3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlv
blNldCwgdmlhUHJveHksIGFkZGl0aW9uYWxTZXQsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSkpOwogICAgIHJlc3VsdC0+bV9kb21BdHRyaWJ1dGUgPSBkb21B
dHRyaWJ1dGU7CiAgICAgcmVzdWx0LT5tX2N1c3RvbUFjY2Vzc29yLmdldHRlciA9IGN1c3RvbUdl
dHRlcjsKICAgICByZXR1cm4gV1RGTW92ZShyZXN1bHQpOwogfQogCiBzdGQ6OnVuaXF1ZV9wdHI8
QWNjZXNzQ2FzZT4gR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxs
KiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlP
ZmZzZXQgb2Zmc2V0LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25k
aXRpb25TZXQsIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jIGN1c3RvbVNldHRlciwKKyAg
ICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBzdGQ6OnVu
aXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3RvdHlwZUFjY2Vzc0NoYWluLCBQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyBjdXN0b21TZXR0ZXIsCiAgICAgSlNPYmplY3QqIGN1
c3RvbVNsb3RCYXNlKQogewogICAgIEFTU0VSVCh0eXBlID09IFNldHRlciB8fCB0eXBlID09IEN1
c3RvbVZhbHVlU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tQWNjZXNzb3JTZXR0ZXIpOwotICAgIHN0
ZDo6dW5pcXVlX3B0cjxHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEdldHRlclNl
dHRlckFjY2Vzc0Nhc2Uodm0sIG93bmVyLCB0eXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0
aW9uU2V0LCBmYWxzZSwgbnVsbHB0ciwgY3VzdG9tU2xvdEJhc2UpKTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nl
c3NDYXNlKHZtLCBvd25lciwgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
ZmFsc2UsIG51bGxwdHIsIGN1c3RvbVNsb3RCYXNlLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0No
YWluKSkpOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3Nvci5zZXR0ZXIgPSBjdXN0b21TZXR0
ZXI7CiAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuaAko
cmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldHRl
clNldHRlckFjY2Vzc0Nhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTYgKzQ4LDEyIEBAIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY3JlYXRlKAog
ICAgICAgICBWTSYsIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBT
dHJ1Y3R1cmUqLAotICAgICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLAotICAgICAgICBib29sIHZpYVByb3h5ID0gZmFs
c2UsCi0gICAgICAgIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQgPSBudWxscHRyLAotICAg
ICAgICBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyA9IG51bGxwdHIsCi0gICAgICAgIEpTT2Jq
ZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIsCi0gICAgICAgIHN0ZDo6b3B0aW9uYWw8RE9N
QXR0cmlidXRlQW5ub3RhdGlvbj4gPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBjb25zdCBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFk
ZGl0aW9uYWxTZXQsIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jLAorICAgICAgICBKU09iamVj
dCogY3VzdG9tU2xvdEJhc2UsIHN0ZDo6b3B0aW9uYWw8RE9NQXR0cmlidXRlQW5ub3RhdGlvbj4s
IHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiAgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqIG93bmVyLCBBY2Nl
c3NUeXBlLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU9mZnNldCwKLSAgICAgICAgY29uc3QgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYyA9IG51
bGxwdHIsCi0gICAgICAgIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSA9IG51bGxwdHIpOworICAg
ICAgICBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIHN0ZDo6dW5pcXVlX3B0cjxQ
b2x5UHJvdG9BY2Nlc3NDaGFpbj4sCisgICAgICAgIFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jID0gbnVsbHB0ciwgSlNPYmplY3QqIGN1c3RvbVNsb3RCYXNlID0gbnVsbHB0cik7CiAKICAg
ICB2b2lkIGR1bXBJbXBsKFByaW50U3RyZWFtJiwgQ29tbWFQcmludGVyJikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IGNsb25lKCkgY29uc3Qgb3ZlcnJp
ZGU7CkBAIC02Nyw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkKiBjdXN0b21BY2Nlc3Nvcigp
IGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tQWNjZXNzb3Iub3BhcXVlOyB9CiAKIHByaXZhdGU6Ci0g
ICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3Bl
cnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIEpTT2JqZWN0KiBj
dXN0b21TbG90QmFzZSk7CisgICAgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCos
IEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wgdmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9u
YWxTZXQsIEpTT2JqZWN0KiBjdXN0b21TbG90QmFzZSwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPik7CiAKICAgICBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlKGNvbnN0IEdldHRl
clNldHRlckFjY2Vzc0Nhc2UmKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblBy
b2ZpbGUuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Niw4ICs0NiwxMSBAQCBwcml2YXRlOgogaW5saW5lIFN0cnVjdHVyZSogSW50ZXJuYWxGdW5j
dGlvbkFsbG9jYXRpb25Qcm9maWxlOjpjcmVhdGVBbGxvY2F0aW9uU3RydWN0dXJlRnJvbUJhc2Uo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUpCiB7CiAgICAgQVNTRVJU
KCFtX3N0cnVjdHVyZSB8fCBtX3N0cnVjdHVyZS5nZXQoKS0+Y2xhc3NJbmZvKCkgIT0gYmFzZVN0
cnVjdHVyZS0+Y2xhc3NJbmZvKCkpOworICAgIEFTU0VSVChiYXNlU3RydWN0dXJlLT5oYXNNb25v
UHJvdG8oKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50IHBvbHltb3JwaGljIHByb3RvdHlwZXMgZm9yIHN1YmNsYXNzZXMgb2YgYnVpbHRpbiB0
eXBlczoKKyAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3
MzE4CiAgICAgaWYgKHByb3RvdHlwZSA9PSBiYXNlU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUo
KSkKICAgICAgICAgc3RydWN0dXJlID0gYmFzZVN0cnVjdHVyZTsKICAgICBlbHNlCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvSW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDcgKzMzLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBJbnRyaW5zaWNHZXR0
ZXJBY2Nlc3NDYXNlOjpJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKFZNJiB2bSwgSlNDZWxsKiBv
d25lciwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3Qg
T2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgSlNGdW5jdGlvbiogaW50
cmluc2ljRnVuY3Rpb24pCi0gICAgOiBCYXNlKHZtLCBvd25lciwgSW50cmluc2ljR2V0dGVyLCBv
ZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0KQorICAgIDogQmFzZSh2bSwgb3duZXIsIElu
dHJpbnNpY0dldHRlciwgb2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgbnVsbHB0cikK
IHsKICAgICBtX2ludHJpbnNpY0Z1bmN0aW9uLnNldCh2bSwgb3duZXIsIGludHJpbnNpY0Z1bmN0
aW9uKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNH
ZXR0ZXJBY2Nlc3NDYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2UuaAkocmV2aXNpb24gMjIyODAxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJv
b2wgY2FuRW1pdEludHJpbnNpY0dldHRlcihKU0Z1bmN0aW9uKiwgU3RydWN0dXJlKik7CiAgICAg
dm9pZCBlbWl0SW50cmluc2ljR2V0dGVyKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYpOwogCisgICAg
Ly8gRklYTUU6IE1ha2UgdGhpcyB3b3JrIHdpdGggcG9seSBwcm90bzoKKyAgICAvLyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzE4CiAgICAgc3RhdGljIHN0ZDo6
dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBQcm9wZXJ0eU9mZnNl
dCwgU3RydWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmLCBKU0Z1bmN0
aW9uKiBpbnRyaW5zaWNGdW5jdGlvbik7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2Fz
ZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAJ
KHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1
bGVOYW1lc3BhY2VBY2Nlc3NDYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBA
QAogbmFtZXNwYWNlIEpTQyB7CiAKIE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6Ok1vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBKU01vZHVsZU5hbWVzcGFj
ZU9iamVjdCogbW9kdWxlTmFtZXNwYWNlT2JqZWN0LCBKU01vZHVsZUVudmlyb25tZW50KiBtb2R1
bGVFbnZpcm9ubWVudCwgU2NvcGVPZmZzZXQgc2NvcGVPZmZzZXQpCi0gICAgOiBCYXNlKHZtLCBv
d25lciwgTW9kdWxlTmFtZXNwYWNlTG9hZCwgaW52YWxpZE9mZnNldCwgbnVsbHB0ciwgT2JqZWN0
UHJvcGVydHlDb25kaXRpb25TZXQoKSkKKyAgICA6IEJhc2Uodm0sIG93bmVyLCBNb2R1bGVOYW1l
c3BhY2VMb2FkLCBpbnZhbGlkT2Zmc2V0LCBudWxscHRyLCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlv
blNldCgpLCBudWxscHRyKQogICAgICwgbV9zY29wZU9mZnNldChzY29wZU9mZnNldCkKIHsKICAg
ICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdC5zZXQodm0sIG93bmVyLCBtb2R1bGVOYW1lc3BhY2VP
YmplY3QpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9j
YXRpb25Qcm9maWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk9iamVj
dEFsbG9jYXRpb25Qcm9maWxlLmgiCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVk
ZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3ZvaWQgT2JqZWN0
QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxpemVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5z
aWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IpCit7
CisgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CisgICAgQVNTRVJUKCFtX3N0cnVjdHVyZSk7Cisg
ICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKworICAgIC8vIEZJWE1FOiBXaGVuIGdvaW5n
IHBvbHkgcHJvdG8sIHdlIHNob3VsZCBtYWtlIGFuIGFsbG9jYXRvciBhbmQgdGVhY2gKKyAgICAv
LyBjcmVhdGVfdGhpcycgZmFzdCBwYXRoIGhvdyB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2Jq
ZWN0LgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1
MTcKKyAgICBib29sIGlzUG9seVByb3RvID0gZmFsc2U7CisgICAgRnVuY3Rpb25FeGVjdXRhYmxl
KiBleGVjdXRhYmxlID0gbnVsbHB0cjsKKyAgICBpZiAoY29uc3RydWN0b3IpIHsKKyAgICAgICAg
Ly8gRklYTUU6IEEgSlNGdW5jdGlvbiBzaG91bGQgd2F0Y2ggdGhlIHBvbHkgcHJvdG8gd2F0Y2hw
b2ludCBpZiBpdCBpcyBub3QgaW52YWxpZGF0ZWQuCisgICAgICAgIC8vIFRoYXQgd2F5IGl0IGNh
biBjbGVhciB0aGlzIG9iamVjdCBhbGxvY2F0aW9uIHByb2ZpbGUgdG8gZW5zdXJlIGl0IHN0b3Bz
IGFsbG9jYXRpbmcKKyAgICAgICAgLy8gbW9ubyBwcm90byB8dGhpc3wgdmFsdWVzIHdoZW4gaXQg
a25vd3MgdGhhdCBpdCBzaG91bGQgYmUgYWxsb2NhdGluZyBwb2x5IHByb3RvCisgICAgICAgIC8v
IHx0aGlzfCB2YWx1ZXM6CisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc3OTIKKworICAgICAgICBleGVjdXRhYmxlID0gY29uc3RydWN0b3ItPmpz
RXhlY3V0YWJsZSgpOworICAgICAgICBpc1BvbHlQcm90byA9IGZhbHNlOworICAgICAgICBpZiAo
T3B0aW9uczo6Zm9yY2VQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIGlzUG9seVByb3RvID0gdHJ1
ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaXNQb2x5UHJvdG8gPSBleGVjdXRhYmxlLT5l
bnN1cmVQb2x5UHJvdG9XYXRjaHBvaW50KCkuaGFzQmVlbkludmFsaWRhdGVkKCkgJiYgZXhlY3V0
YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCk7CisKKyAgICAg
ICAgaWYgKGlzUG9seVByb3RvKSB7CisgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBleGVjdXRhYmxlLT5jYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoKSkgeworICAgICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0cnVjdHVyZS0+dHlwZUluZm8oKS50eXBlKCkgPT0gRmlu
YWxPYmplY3RUeXBlKTsKKyAgICAgICAgICAgICAgICBtX2FsbG9jYXRvciA9IG51bGxwdHI7Cisg
ICAgICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0dXJlKTsKKyAg
ICAgICAgICAgICAgICBtX2lubGluZUNhcGFjaXR5ID0gc3RydWN0dXJlLT5pbmxpbmVDYXBhY2l0
eSgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKworICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMDsKKyAgICBpZiAoaW5mZXJy
ZWRJbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6OmRlZmF1bHRJbmxpbmVDYXBhY2l0eSgp
KSB7CisgICAgICAgIC8vIFRyeSB0byBzaHJpbmsgdGhlIG9iamVjdCBiYXNlZCBvbiBzdGF0aWMg
YW5hbHlzaXMuCisgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZh
dWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90eXBlKTsKKworICAgICAgICBpZiAoIWluZmVycmVk
SW5saW5lQ2FwYWNpdHkpIHsKKyAgICAgICAgICAgIC8vIEVtcHR5IG9iamVjdHMgYXJlIHJhcmUs
IHNvIG1vc3QgbGlrZWx5IHRoZSBzdGF0aWMgYW5hbHl6ZXIganVzdCBkaWRuJ3QKKyAgICAgICAg
ICAgIC8vIHNlZSB0aGUgcmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVu
IHdpdGggaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgICAgIGluZmVycmVkSW5saW5lQ2FwYWNp
dHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNpdHkoKTsKKyAgICAgICAgfSBl
bHNlIGlmIChpbmZlcnJlZElubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElu
bGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUg
d2VhayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAorICAgICAg
ICAgICAgLy8gb2JqZWN0IGludG8gYSBsYXJnZSBvYmplY3QuCisgICAgICAgICAgICBpbmZlcnJl
ZElubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7
CisgICAgICAgIH0KKworICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IGluZmVycmVkSW5saW5lQ2Fw
YWNpdHk7CisgICAgICAgIEFTU0VSVChpbmxpbmVDYXBhY2l0eSA8IEpTRmluYWxPYmplY3Q6Om1h
eElubGluZUNhcGFjaXR5KCkpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIE5vcm1hbCBvciBs
YXJnZSBvYmplY3QuCisgICAgICAgIGlubGluZUNhcGFjaXR5ID0gaW5mZXJyZWRJbmxpbmVDYXBh
Y2l0eTsKKyAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5s
aW5lQ2FwYWNpdHkoKSkKKyAgICAgICAgICAgIGlubGluZUNhcGFjaXR5ID0gSlNGaW5hbE9iamVj
dDo6bWF4SW5saW5lQ2FwYWNpdHkoKTsKKyAgICB9CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsK
KyAgICAgICAgKytpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBzdGQ6
Om1pbihpbmxpbmVDYXBhY2l0eSwgSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7
CisgICAgfQorCisgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5ID4gMCk7CisgICAgQVNTRVJUKGlu
bGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpOworCisg
ICAgc2l6ZV90IGFsbG9jYXRpb25TaXplID0gSlNGaW5hbE9iamVjdDo6YWxsb2NhdGlvblNpemUo
aW5saW5lQ2FwYWNpdHkpOworICAgIE1hcmtlZEFsbG9jYXRvciogYWxsb2NhdG9yID0gdm0uY2Vs
bFNwYWNlLmFsbG9jYXRvckZvcihhbGxvY2F0aW9uU2l6ZSk7CisKKyAgICAvLyBUYWtlIGFkdmFu
dGFnZSBvZiBleHRyYSBpbmxpbmUgY2FwYWNpdHkgYXZhaWxhYmxlIGluIHRoZSBzaXplIGNsYXNz
LgorICAgIGlmIChhbGxvY2F0b3IpIHsKKyAgICAgICAgc2l6ZV90IHNsb3AgPSAoYWxsb2NhdG9y
LT5jZWxsU2l6ZSgpIC0gYWxsb2NhdGlvblNpemUpIC8gc2l6ZW9mKFdyaXRlQmFycmllcjxVbmtu
b3duPik7CisgICAgICAgIGlubGluZUNhcGFjaXR5ICs9IHNsb3A7CisgICAgICAgIGlmIChpbmxp
bmVDYXBhY2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCisgICAgICAg
ICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCk7
CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVNYXAuZW1w
dHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlu
bGluZUNhcGFjaXR5LCBpc1BvbHlQcm90byk7CisKKyAgICBpZiAoaXNQb2x5UHJvdG8pIHsKKyAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpOworICAgICAgICBtX2FsbG9j
YXRvciA9IG51bGxwdHI7CisgICAgICAgIGV4ZWN1dGFibGUtPnNldENhY2hlZFBvbHlQcm90b1N0
cnVjdHVyZSh2bSwgc3RydWN0dXJlKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoZXhlY3V0
YWJsZSkgeworICAgICAgICAgICAgZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2lu
dCgpOworICAgICAgICAgICAgc3RydWN0dXJlLT5lbnN1cmVSYXJlRGF0YSh2bSktPnNldFNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQoZXhlY3V0YWJsZS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAg
IH0KKworICAgIC8vIEVuc3VyZSB0aGF0IGlmIGFub3RoZXIgdGhyZWFkIHNlZXMgdGhlIHN0cnVj
dHVyZSwgaXQgd2lsbCBzZWUgaXQgcHJvcGVybHkgY3JlYXRlZAorICAgIFdURjo6c3RvcmVTdG9y
ZUZlbmNlKCk7CisKKyAgICBtX3N0cnVjdHVyZS5zZXQodm0sIG93bmVyLCBzdHJ1Y3R1cmUpOwor
ICAgIG1faW5saW5lQ2FwYWNpdHkgPSBpbmxpbmVDYXBhY2l0eTsKK30KKwordW5zaWduZWQgT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU6OnBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQoVk0mIHZt
LCBKU09iamVjdCogcHJvdG90eXBlKQoreworICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBl
LT5nbG9iYWxPYmplY3QoKS0+b2JqZWN0UHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5h
bWVBcnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRl
U3ltYm9sTW9kZTo6SW5jbHVkZSk7CisgICAgcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKS0+Z2V0UHJv
cGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUodm0sIHByb3BlcnR5TmFtZUFycmF5LCBFbnVtZXJhdGlv
bk1vZGUoKSk7CisgICAgUHJvcGVydHlOYW1lQXJyYXlEYXRhOjpQcm9wZXJ0eU5hbWVWZWN0b3Im
IHByb3BlcnR5TmFtZVZlY3RvciA9IHByb3BlcnR5TmFtZUFycmF5LmRhdGEoKS0+cHJvcGVydHlO
YW1lVmVjdG9yKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0eU5hbWVWZWN0
b3Iuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHByb3RvdHlwZS0+Z2V0
RGlyZWN0KHZtLCBwcm9wZXJ0eU5hbWVWZWN0b3JbaV0pOworCisgICAgICAgIC8vIEZ1bmN0aW9u
cyBhcmUgY29tbW9uLCBhbmQgYXJlIHVzdWFsbHkgY2xhc3MtbGV2ZWwgb2JqZWN0cyB0aGF0IGFy
ZSBub3Qgb3ZlcnJpZGRlbi4KKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+
KHZtLCB2YWx1ZSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICArK2NvdW50Owor
CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKworfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0QWxs
b2NhdGlvblByb2ZpbGUuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDU5ICs0OCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1f
c3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGluaXRpYWxpemUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNp
Z25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2Fs
bG9jYXRvcik7Ci0gICAgICAgIEFTU0VSVCghbV9zdHJ1Y3R1cmUpOwotICAgICAgICBBU1NFUlQo
IW1faW5saW5lQ2FwYWNpdHkpOwotCi0gICAgICAgIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0g
MDsKLSAgICAgICAgaWYgKGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPCBKU0ZpbmFsT2JqZWN0Ojpk
ZWZhdWx0SW5saW5lQ2FwYWNpdHkoKSkgewotICAgICAgICAgICAgLy8gVHJ5IHRvIHNocmluayB0
aGUgb2JqZWN0IGJhc2VkIG9uIHN0YXRpYyBhbmFseXNpcy4KLSAgICAgICAgICAgIGluZmVycmVk
SW5saW5lQ2FwYWNpdHkgKz0gcG9zc2libGVEZWZhdWx0UHJvcGVydHlDb3VudCh2bSwgcHJvdG90
eXBlKTsKLQotICAgICAgICAgICAgaWYgKCFpbmZlcnJlZElubGluZUNhcGFjaXR5KSB7Ci0gICAg
ICAgICAgICAgICAgLy8gRW1wdHkgb2JqZWN0cyBhcmUgcmFyZSwgc28gbW9zdCBsaWtlbHkgdGhl
IHN0YXRpYyBhbmFseXplciBqdXN0IGRpZG4ndAotICAgICAgICAgICAgICAgIC8vIHNlZSB0aGUg
cmVhbCBpbml0aWFsaXplciBmdW5jdGlvbi4gVGhpcyBjYW4gaGFwcGVuIHdpdGggaGVscGVyIGZ1
bmN0aW9ucy4KLSAgICAgICAgICAgICAgICBpbmZlcnJlZElubGluZUNhcGFjaXR5ID0gSlNGaW5h
bE9iamVjdDo6ZGVmYXVsdElubGluZUNhcGFjaXR5KCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYg
KGluZmVycmVkSW5saW5lQ2FwYWNpdHkgPiBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2Fw
YWNpdHkoKSkgewotICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgcHJvcGVydGllcyBhcmUgd2Vh
ayBndWVzc2VzLCBzbyBkb24ndCBhbGxvdyB0aGVtIHRvIHR1cm4gYSBzbWFsbAotICAgICAgICAg
ICAgICAgIC8vIG9iamVjdCBpbnRvIGEgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgICAgIGlu
ZmVycmVkSW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjpkZWZhdWx0SW5saW5lQ2FwYWNp
dHkoKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaW5saW5lQ2FwYWNpdHkgPSBpbmZl
cnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDwg
SlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAvLyBOb3JtYWwgb3IgbGFyZ2Ugb2JqZWN0LgotICAgICAgICAgICAgaW5saW5l
Q2FwYWNpdHkgPSBpbmZlcnJlZElubGluZUNhcGFjaXR5OwotICAgICAgICAgICAgaWYgKGlubGlu
ZUNhcGFjaXR5ID4gSlNGaW5hbE9iamVjdDo6bWF4SW5saW5lQ2FwYWNpdHkoKSkKLSAgICAgICAg
ICAgICAgICBpbmxpbmVDYXBhY2l0eSA9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICBBU1NFUlQoaW5saW5lQ2FwYWNpdHkgPiAwKTsKLSAg
ICAgICAgQVNTRVJUKGlubGluZUNhcGFjaXR5IDw9IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNh
cGFjaXR5KCkpOwotCi0gICAgICAgIHNpemVfdCBhbGxvY2F0aW9uU2l6ZSA9IEpTRmluYWxPYmpl
Y3Q6OmFsbG9jYXRpb25TaXplKGlubGluZUNhcGFjaXR5KTsKLSAgICAgICAgTWFya2VkQWxsb2Nh
dG9yKiBhbGxvY2F0b3IgPSB2bS5jZWxsU3BhY2UuYWxsb2NhdG9yRm9yKGFsbG9jYXRpb25TaXpl
KTsKLSAgICAgICAgCi0gICAgICAgIC8vIFRha2UgYWR2YW50YWdlIG9mIGV4dHJhIGlubGluZSBj
YXBhY2l0eSBhdmFpbGFibGUgaW4gdGhlIHNpemUgY2xhc3MuCi0gICAgICAgIGlmIChhbGxvY2F0
b3IpIHsKLSAgICAgICAgICAgIHNpemVfdCBzbG9wID0gKGFsbG9jYXRvci0+Y2VsbFNpemUoKSAt
IGFsbG9jYXRpb25TaXplKSAvIHNpemVvZihXcml0ZUJhcnJpZXI8VW5rbm93bj4pOwotICAgICAg
ICAgICAgaW5saW5lQ2FwYWNpdHkgKz0gc2xvcDsKLSAgICAgICAgICAgIGlmIChpbmxpbmVDYXBh
Y2l0eSA+IEpTRmluYWxPYmplY3Q6Om1heElubGluZUNhcGFjaXR5KCkpCi0gICAgICAgICAgICAg
ICAgaW5saW5lQ2FwYWNpdHkgPSBKU0ZpbmFsT2JqZWN0OjptYXhJbmxpbmVDYXBhY2l0eSgpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB2bS5wcm90b3R5cGVN
YXAuZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIGlubGluZUNhcGFjaXR5KTsKLQotICAgICAgICAvLyBFbnN1cmUgdGhhdCBpZiBhbm90aGVy
IHRocmVhZCBzZWVzIHRoZSBzdHJ1Y3R1cmUsIGl0IHdpbGwgc2VlIGl0IHByb3Blcmx5IGNyZWF0
ZWQKLSAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKLQotICAgICAgICBtX2FsbG9jYXRv
ciA9IGFsbG9jYXRvcjsKLSAgICAgICAgbV9zdHJ1Y3R1cmUuc2V0KHZtLCBvd25lciwgc3RydWN0
dXJlKTsKLSAgICAgICAgbV9pbmxpbmVDYXBhY2l0eSA9IGlubGluZUNhcGFjaXR5OwotICAgIH0K
KyAgICB2b2lkIGluaXRpYWxpemVQcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwq
IG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFj
aXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUoKQogICAgIHsKQEAgLTExMyw3ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgY2xlYXIoKQogICAgIHsKLSAgICAgICAgbV9hbGxvY2F0b3IgPSAwOworICAgICAgICBtX2Fs
bG9jYXRvciA9IG51bGxwdHI7CiAgICAgICAgIG1fc3RydWN0dXJlLmNsZWFyKCk7CiAgICAgICAg
IG1faW5saW5lQ2FwYWNpdHkgPSAwOwogICAgICAgICBBU1NFUlQoaXNOdWxsKCkpOwpAQCAtMTI1
LDI4ICs3Myw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0KLSAgICB1bnNpZ25lZCBw
b3NzaWJsZURlZmF1bHRQcm9wZXJ0eUNvdW50KFZNJiB2bSwgSlNPYmplY3QqIHByb3RvdHlwZSkK
LSAgICB7Ci0gICAgICAgIGlmIChwcm90b3R5cGUgPT0gcHJvdG90eXBlLT5nbG9iYWxPYmplY3Qo
KS0+b2JqZWN0UHJvdG90eXBlKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBz
aXplX3QgY291bnQgPSAwOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheSBwcm9wZXJ0eU5hbWVB
cnJheSgmdm0sIFByb3BlcnR5TmFtZU1vZGU6OlN0cmluZ3NBbmRTeW1ib2xzLCBQcml2YXRlU3lt
Ym9sTW9kZTo6SW5jbHVkZSk7Ci0gICAgICAgIHByb3RvdHlwZS0+c3RydWN0dXJlKCktPmdldFBy
b3BlcnR5TmFtZXNGcm9tU3RydWN0dXJlKHZtLCBwcm9wZXJ0eU5hbWVBcnJheSwgRW51bWVyYXRp
b25Nb2RlKCkpOwotICAgICAgICBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OlByb3BlcnR5TmFtZVZl
Y3RvciYgcHJvcGVydHlOYW1lVmVjdG9yID0gcHJvcGVydHlOYW1lQXJyYXkuZGF0YSgpLT5wcm9w
ZXJ0eU5hbWVWZWN0b3IoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwcm9wZXJ0
eU5hbWVWZWN0b3Iuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBw
cm90b3R5cGUtPmdldERpcmVjdCh2bSwgcHJvcGVydHlOYW1lVmVjdG9yW2ldKTsKLQotICAgICAg
ICAgICAgLy8gRnVuY3Rpb25zIGFyZSBjb21tb24sIGFuZCBhcmUgdXN1YWxseSBjbGFzcy1sZXZl
bCBvYmplY3RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuLgotICAgICAgICAgICAgaWYgKGpzRHlu
YW1pY0Nhc3Q8SlNGdW5jdGlvbio+KHZtLCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgICAgICsrY291bnQ7Ci0KLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
Y291bnQ7Ci0gICAgfQorICAgIHVuc2lnbmVkIHBvc3NpYmxlRGVmYXVsdFByb3BlcnR5Q291bnQo
Vk0mLCBKU09iamVjdCogcHJvdG90eXBlKTsKIAogICAgIE1hcmtlZEFsbG9jYXRvciogbV9hbGxv
Y2F0b3I7IC8vIFByZWNvbXB1dGVkIHRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgZ2VuZXJhdGVk
IGNvZGUuCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9zdHJ1Y3R1cmU7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQ
cm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIwNCwxMSArMjA0LDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uIGdl
bmVyYXRlQ29uZGl0aW8KICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgUHJvcGVydHlD
b25kaXRpb246OkFic2VuY2U6IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3Rv
KCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRpb24oKTsKICAgICAg
ICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2UoCiAgICAgICAgICAg
ICB2bSwgb3duZXIsIG9iamVjdCwgdWlkLCBvYmplY3QtPnN0cnVjdHVyZSgpLT5zdG9yZWRQcm90
b3R5cGVPYmplY3QoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFByb3BlcnR5
Q29uZGl0aW9uOjpBYnNlbmNlT2ZTZXRFZmZlY3Q6IHsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzUG9seVByb3RvKCkpCisgICAgICAgICAgICByZXR1cm4gT2JqZWN0UHJvcGVydHlDb25kaXRp
b24oKTsKICAgICAgICAgcmVzdWx0ID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb246OmFic2VuY2VP
ZlNldEVmZmVjdCgKICAgICAgICAgICAgIHZtLCBvd25lciwgb2JqZWN0LCB1aWQsIG9iamVjdC0+
c3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpKTsKICAgICAgICAgYnJlYWs7CkBA
IC0yNTgsNiArMjYyLDE1IEBAIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGdlbmVyYXRlQ29u
ZGkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJdCdzIGEgcHJveHksIHNvIGludmFsaWQuXG4i
KTsKICAgICAgICAgICAgIHJldHVybiBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldDo6aW52YWxp
ZCgpOwogICAgICAgICB9CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkp
IHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBJbnRlZ3JhdGUgdGhpcyB3aXRoIFBvbHlQcm90b0Fj
Y2Vzc0NoYWluOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NzMzOQorICAgICAgICAgICAgLy8gT3IgYXQgbGVhc3QgYWxsb3cgT1BDIHNl
dCBnZW5lcmF0aW9uIHdoZW4gdGhlCisgICAgICAgICAgICAvLyBiYXNlIGlzIG5vdCBwb2x5IHBy
b3RvOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3NzcyMQorICAgICAgICAgICAgcmV0dXJuIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0
OjppbnZhbGlkKCk7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgdmFsdWUg
PSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUZvckxvb2t1cChnbG9iYWxPYmplY3QpOwogICAgICAgICAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5UHJvdG9BY2Nlc3NDaGFp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQ
cm90b0FjY2Vzc0NoYWluLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvUG9seVByb3RvQWNjZXNzQ2hhaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQb2x5UHJvdG9BY2Nlc3NDaGFpbi5o
IgorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK3N0ZDo6dW5p
cXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gUG9seVByb3RvQWNjZXNzQ2hhaW46OmNyZWF0
ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3Bl
cnR5U2xvdCYgc2xvdCwgYm9vbCYgdXNlc1BvbHlQcm90bykKK3sKKyAgICBKU09iamVjdCogdGFy
Z2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBudWxscHRyIDogc2xvdC5zbG90QmFzZSgpOworICAgIHJl
dHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCBiYXNlLCB0YXJnZXQsIHVzZXNQb2x5UHJvdG8pOwor
fQorCitzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IFBvbHlQcm90b0FjY2Vz
c0NoYWluOjpjcmVhdGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBiYXNl
LCBKU09iamVjdCogdGFyZ2V0LCBib29sJiB1c2VzUG9seVByb3RvKQoreworICAgIEpTQ2VsbCog
Y3VycmVudCA9IGJhc2U7CisgICAgVk0mIHZtID0gKmJhc2UtPnZtKCk7CisKKyAgICBib29sIGZv
dW5kID0gZmFsc2U7CisKKyAgICB1c2VzUG9seVByb3RvID0gZmFsc2U7CisKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHJlc3VsdChuZXcgUG9seVByb3RvQWNjZXNz
Q2hhaW4oKSk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGl0ZXJhdGlvbk51bWJlciA9IDA7IHRydWU7
ICsraXRlcmF0aW9uTnVtYmVyKSB7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gY3Vy
cmVudC0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoIXN0cnVjdHVyZS0+cHJvcGVydHlB
Y2Nlc3Nlc0FyZUNhY2hlYWJsZSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICAgICAgaWYgKHN0cnVjdHVyZS0+aXNQcm94eSgpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgICAg
ICAgIEFTU0VSVChzdHJ1Y3R1cmUtPmlzT2JqZWN0KCkpOworICAgICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+aGFzQmVlbkZsYXR0ZW5lZEJlZm9yZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0
dXJlKHZtLCBhc09iamVjdChjdXJyZW50KSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBUbyBz
YXZlIG1lbW9yeSwgd2UgZG9uJ3QgaW5jbHVkZSB0aGUgYmFzZSBpbiB0aGUgY2hhaW4uIFdlIGxl
dAorICAgICAgICAvLyBBY2Nlc3NDYXNlIHByb3ZpZGUgdGhlIGJhc2UgdG8gdXMgYXMgbmVlZGVk
LgorICAgICAgICBpZiAoaXRlcmF0aW9uTnVtYmVyKQorICAgICAgICAgICAgcmVzdWx0LT5tX2No
YWluLmFwcGVuZChzdHJ1Y3R1cmUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChjdXJyZW50ID09IGJhc2UpOworCisgICAgICAgIGlmIChjdXJyZW50ID09IHRhcmdl
dCkgeworICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKworICAgICAgICAvLyBXZSBvbmx5IGhhdmUgcG9seSBwcm90byBpZiB3ZSBuZWVkIHRv
IGFjY2VzcyBvdXIgcHJvdG90eXBlIHZpYQorICAgICAgICAvLyB0aGUgcG9seSBwcm90byBwcm90
b2NvbC4gSWYgdGhlIHNsb3QgYmFzZSBpcyB0aGUgb25seSBwb2x5IHByb3RvCisgICAgICAgIC8v
IHRoaW5nIGluIHRoZSBjaGFpbiwgYW5kIHdlIGhhdmUgYSBjYWNoZSBoaXQgb24gaXQsIHRoZW4g
d2UncmUgbm90CisgICAgICAgIC8vIHBvbHkgcHJvdG8uCisgICAgICAgIHVzZXNQb2x5UHJvdG8g
fD0gc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKKworICAgICAgICBKU1ZhbHVlIHByb3RvdHlw
ZSA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgY3VycmVudCk7
CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7CisgICAgfQorCisgICAgaWYgKCFm
b3VuZCAmJiAhIXRhcmdldCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCitib29sIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpuZWVkSW1wdXJlUHJvcGVy
dHlXYXRjaHBvaW50KCkgY29uc3QKK3sKKyAgICBmb3IgKFN0cnVjdHVyZSogc3RydWN0dXJlIDog
bV9jaGFpbikgeworICAgICAgICBpZiAoc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRj
aHBvaW50KCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpvcGVyYXRvcj09KGNvbnN0IFBv
bHlQcm90b0FjY2Vzc0NoYWluJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jaGFpbiA9
PSBvdGhlci5tX2NoYWluOworfQorCit2b2lkIFBvbHlQcm90b0FjY2Vzc0NoYWluOjpkdW1wKFN0
cnVjdHVyZSogYmFzZVN0cnVjdHVyZSwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBv
dXQucHJpbnQoIlBvbHlQb2x5UHJvdG9BY2Nlc3NDaGFpbjogW1xuIik7CisgICAgZm9yRWFjaChi
YXNlU3RydWN0dXJlLCBbJl0gKFN0cnVjdHVyZSogc3RydWN0dXJlLCBib29sKSB7CisgICAgICAg
IG91dC5wcmludCgiXHQiKTsKKyAgICAgICAgc3RydWN0dXJlLT5kdW1wKG91dCk7CisgICAgICAg
IG91dC5wcmludCgiXG4iKTsKKyAgICB9KTsKK30KKworfQpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vzc0NoYWluLmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHlQcm90b0FjY2Vz
c0NoYWluLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTR2xvYmFsT2JqZWN0
OworY2xhc3MgSlNPYmplY3Q7CitjbGFzcyBQcm9wZXJ0eVNsb3Q7CitjbGFzcyBTdHJ1Y3R1cmU7
CisKK2NsYXNzIFBvbHlQcm90b0FjY2Vzc0NoYWluIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKKworcHVibGljOgorICAgIFBvbHlQcm90b0FjY2Vzc0NoYWluKFBvbHlQcm90b0FjY2Vz
c0NoYWluJikgPSBkZWZhdWx0OworCisgICAgLy8gUmV0dXJucyBudWxscHRyIHdoZW4gaW52YWxp
ZC4KKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBjcmVh
dGUoSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIGJhc2UsIGNvbnN0IFByb3BlcnR5U2xvdCYsIGJv
b2wmIHVzZXNQb2x5UHJvdG8pOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3Rv
QWNjZXNzQ2hhaW4+IGNyZWF0ZShKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogYmFzZSwgSlNPYmpl
Y3QqIHRhcmdldCwgYm9vbCYgdXNlc1BvbHlQcm90byk7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
UG9seVByb3RvQWNjZXNzQ2hhaW4+IGNsb25lKCkKKyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6
Om1ha2VfdW5pcXVlPFBvbHlQcm90b0FjY2Vzc0NoYWluPigqdGhpcyk7CisgICAgfQorCisgICAg
Y29uc3QgVmVjdG9yPFN0cnVjdHVyZSo+JiBjaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2hhaW47
IH0KKworICAgIHZvaWQgZHVtcChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIFByaW50U3RyZWFt
JiBvdXQpIGNvbnN0OworCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFBvbHlQcm90b0FjY2Vz
c0NoYWluJiBvdGhlcikgY29uc3Q7CisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFBvbHlQcm90
b0FjY2Vzc0NoYWluJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCp0aGlz
ID09IG90aGVyKTsKKyAgICB9CisKKyAgICBib29sIG5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9p
bnQoKSBjb25zdDsKKworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jPgorICAgIHZvaWQgZm9y
RWFjaChTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIGNvbnN0IEZ1bmMmIGZ1bmMpIGNvbnN0Cisg
ICAgeworICAgICAgICBib29sIGF0RW5kID0gIW1fY2hhaW4uc2l6ZSgpOworICAgICAgICBmdW5j
KGJhc2VTdHJ1Y3R1cmUsIGF0RW5kKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fY2hhaW4uc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGF0RW5kID0gaSArIDEgPT0gbV9j
aGFpbi5zaXplKCk7CisgICAgICAgICAgICBmdW5jKG1fY2hhaW5baV0sIGF0RW5kKTsKKyAgICAg
ICAgfQorICAgIH0KKworcHJpdmF0ZToKKyAgICBQb2x5UHJvdG9BY2Nlc3NDaGFpbigpID0gZGVm
YXVsdDsKKworICAgIC8vIFRoaXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgYmFzZS4gV2UgcmVseSBv
biBBY2Nlc3NDYXNlIHByb3ZpZGluZyBpdCBmb3IgdXMuIFRoYXQgc2FpZCwgdGhpcyBkYXRhCisg
ICAgLy8gc3RydWN0dXJlIGlzIHRpZWQgdG8gdGhlIGJhc2UgdGhhdCBpdCB3YXMgY3JlYXRlZCB3
aXRoLgorICAgIFZlY3RvcjxTdHJ1Y3R1cmUqPiBtX2NoYWluOyAKK307CisKK30KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNz
LmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1BvbHltb3JwaGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU4LDYgKzI1OCw0MSBA
QCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFBvbHltb3JwaGljQWNjZXNzCiAgICAgaWYgKGNhc2Vz
VG9BZGQuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6
TWFkZU5vQ2hhbmdlczsKIAorICAgIGJvb2wgc2hvdWxkUmVzZXQgPSBmYWxzZTsKKyAgICBhdXRv
IGNvbnNpZGVyUG9seVByb3RvUmVzZXQgPSBbJl0gKFN0cnVjdHVyZSogYSwgU3RydWN0dXJlKiBi
KSB7CisgICAgICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byhhLCBi
KSkgeworICAgICAgICAgICAgLy8gRm9yIG5vdywgd2Ugb25seSByZXNldCBpZiB0aGlzIGlzIG91
ciBmaXJzdCB0aW1lIGludmFsaWRhdGluZyB0aGlzIHdhdGNocG9pbnQuCisgICAgICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IGhhdmUgYWxsIHRoYXQgY2FuIHdhdGNoIGZvciB0
aGUgcG9seSBwcm90bworICAgICAgICAgICAgLy8gd2F0Y2hwb2ludCBkbyBpdC4gVGhpcyB3aWxs
IGFsbG93IHN0dWJzIHRvIGNsZWFyIG91dCB0aGVpciBub24tcG9seS1wcm90bworICAgICAgICAg
ICAgLy8gSUMgY2FzZXMuIFRoaXMgaXMgbGlrZWx5IHRvIGJlIGZhc3RlciBpZiB5b3UgYnVpbGQg
dXAgYSBidW5jaCBvZiBJQ3MsIHRoZW4KKyAgICAgICAgICAgIC8vIHRyaWdnZXIgcG9seSBwcm90
bywgdGhlbiBvbmx5IGFjY2VzcyBwb2x5IHByb3RvIG9iamVjdHMuIElmIHdlIGRvIHRoaXMsIHdl
J2xsCisgICAgICAgICAgICAvLyBuZWVkIHRoaXMgY29kZSBiZWxvdyB0byBkZWxheSBmaXJpbmcg
dGhlIHdhdGNocG9pbnQgc2luY2UgaXQgbWlnaHQgY2F1c2UKKyAgICAgICAgICAgIC8vIHVzIHRv
IGRlYWxsb2NhdGUgb3Vyc2VsdmVzOgorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc2NQorICAgICAgICAgICAgQVNTRVJUKGEtPnJhcmVE
YXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS5nZXQoKSA9PSBiLT5yYXJlRGF0YSgp
LT5zaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkuZ2V0KCkpOworICAgICAgICAgICAgc2hvdWxk
UmVzZXQgfD0gYS0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5oYXNC
ZWVuSW52YWxpZGF0ZWQoKTsgCisgICAgICAgICAgICBhLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5
UHJvdG9XYXRjaHBvaW50KCktPmludmFsaWRhdGUodm0sIFN0cmluZ0ZpcmVEZXRhaWwoIkRldGVj
dGVkIHBvbHkgcHJvdG8gb3B0aW1pemF0aW9uIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgfQor
ICAgIH07CisKKyAgICBmb3IgKGF1dG8mIGNhc2VUb0FkZCA6IGNhc2VzVG9BZGQpIHsKKyAgICAg
ICAgZm9yIChhdXRvJiBleGlzdGluZ0Nhc2UgOiBtX2xpc3QpIHsKKyAgICAgICAgICAgIFN0cnVj
dHVyZSogYSA9IGNhc2VUb0FkZC0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBTdHJ1Y3R1cmUq
IGIgPSBleGlzdGluZ0Nhc2UtPnN0cnVjdHVyZSgpOworICAgICAgICAgICAgY29uc2lkZXJQb2x5
UHJvdG9SZXNldChhLCBiKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgY2FzZXNUb0FkZC5zaXplKCk7ICsraSkgeworICAgICAgICBmb3IgKHVuc2lnbmVk
IGogPSBpICsgMTsgaiA8IGNhc2VzVG9BZGQuc2l6ZSgpOyArK2opIHsKKyAgICAgICAgICAgIFN0
cnVjdHVyZSogYSA9IGNhc2VzVG9BZGRbaV0tPnN0cnVjdHVyZSgpOworICAgICAgICAgICAgU3Ry
dWN0dXJlKiBiID0gY2FzZXNUb0FkZFtqXS0+c3RydWN0dXJlKCk7CisgICAgICAgICAgICBjb25z
aWRlclBvbHlQcm90b1Jlc2V0KGEsIGIpOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKHNo
b3VsZFJlc2V0KQorICAgICAgICByZXR1cm4gQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6UmVzZXRT
dHViOworCiAgICAgLy8gTm93IGFkZCB0aGluZ3MgdG8gdGhlIG5ldyBsaXN0LiBOb3RlIHRoYXQg
YXQgdGhpcyBwb2ludCwgd2Ugd2lsbCBzdGlsbCBoYXZlIG9sZCBjYXNlcyB0aGF0CiAgICAgLy8g
bWF5IGJlIHJlcGxhY2VkIGJ5IHRoZSBuZXcgb25lcy4gVGhhdCdzIGZpbmUuIFdlIHdpbGwgc29y
dCB0aGF0IG91dCB3aGVuIHdlIHJlZ2VuZXJhdGUuCiAgICAgZm9yIChhdXRvJiBjYXNlVG9BZGQg
OiBjYXNlc1RvQWRkKSB7CkBAIC0zMzksNyArMzc0LDcgQEAgQWNjZXNzR2VuZXJhdGlvblJlc3Vs
dCBQb2x5bW9ycGhpY0FjY2VzcwogICAgIGlmIChQb2x5bW9ycGhpY0FjY2Vzc0ludGVybmFsOjp2
ZXJib3NlKQogICAgICAgICBkYXRhTG9nKCJSZWdlbmVyYXRlIHdpdGggbV9saXN0OiAiLCBsaXN0
RHVtcChtX2xpc3QpLCAiXG4iKTsKICAgICAKLSAgICBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUgc3Rh
dGUodm0pOworICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSBzdGF0ZSh2bSwgY29kZUJsb2NrLT5n
bG9iYWxPYmplY3QoKSk7CiAKICAgICBzdGF0ZS5hY2Nlc3MgPSB0aGlzOwogICAgIHN0YXRlLnN0
dWJJbmZvID0gJnN0dWJJbmZvOwpAQCAtNTkwLDYgKzYyNSw5IEBAIHZvaWQgcHJpbnRJbnRlcm5h
bChQcmludFN0cmVhbSYgb3V0LCBBY2MKICAgICBjYXNlIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQ6
OkdlbmVyYXRlZEZpbmFsQ29kZToKICAgICAgICAgb3V0LnByaW50KCJHZW5lcmF0ZWRGaW5hbENv
ZGUiKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQWNjZXNzR2VuZXJhdGlvblJlc3VsdDo6
UmVzZXRTdHViOgorICAgICAgICBvdXQucHJpbnQoIlJlc2V0U3R1YiIpOworICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nlc3MuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUG9seW1vcnBoaWNBY2Nl
c3MuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1BvbHltb3JwaGljQWNjZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDggQEAgcHVi
bGljOgogICAgICAgICBHYXZlVXAsCiAgICAgICAgIEJ1ZmZlcmVkLAogICAgICAgICBHZW5lcmF0
ZWROZXdDb2RlLAotICAgICAgICBHZW5lcmF0ZWRGaW5hbENvZGUgLy8gR2VuZXJhdGVkIHNvIG11
Y2ggY29kZSB0aGF0IHdlIG5ldmVyIHdhbnQgdG8gZ2VuZXJhdGUgY29kZSBhZ2Fpbi4KKyAgICAg
ICAgR2VuZXJhdGVkRmluYWxDb2RlLCAvLyBHZW5lcmF0ZWQgc28gbXVjaCBjb2RlIHRoYXQgd2Ug
bmV2ZXIgd2FudCB0byBnZW5lcmF0ZSBjb2RlIGFnYWluLgorICAgICAgICBSZXNldFN0dWIgLy8g
V2UgZm91bmQgb3V0IHNvbWUgZGF0YSB0aGF0IG1ha2VzIHVzIHdhbnQgdG8gc3RhcnQgb3ZlciBm
cmVzaCB3aXRoIHRoaXMgc3R1Yi4gQ3VycmVudGx5LCB0aGlzIGhhcHBlbnMgd2hlbiB3ZSBkZXRl
Y3QgcG9seSBwcm90by4KICAgICB9OwogICAgIAogICAgIEFjY2Vzc0dlbmVyYXRpb25SZXN1bHQo
KQpAQCAtOTgsNiArOTksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBidWZmZXJlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fa2luZCA9PSBCdWZmZXJlZDsgfQogICAgIGJvb2wgZ2VuZXJhdGVkTmV3Q29kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fa2luZCA9PSBHZW5lcmF0ZWROZXdDb2RlOyB9CiAgICAgYm9vbCBn
ZW5lcmF0ZWRGaW5hbENvZGUoKSBjb25zdCB7IHJldHVybiBtX2tpbmQgPT0gR2VuZXJhdGVkRmlu
YWxDb2RlOyB9CisgICAgYm9vbCBzaG91bGRSZXNldFN0dWIoKSBjb25zdCB7IHJldHVybiBtX2tp
bmQgPT0gUmVzZXRTdHViOyB9CiAgICAgCiAgICAgLy8gSWYgd2UgZ2F2ZSB1cCBvbiB0aGlzIGF0
dGVtcHQgdG8gZ2VuZXJhdGUgY29kZSwgb3IgaWYgd2UgZ2VuZXJhdGVkIHRoZSAiZmluYWwiIGNv
ZGUsIHRoZW4gd2UKICAgICAvLyBzaG91bGQgZ2l2ZSB1cCBhZnRlciB0aGlzLgpAQCAtMTcxLDE0
ICsxNzMsMTYgQEAgcHJpdmF0ZToKIH07CiAKIHN0cnVjdCBBY2Nlc3NHZW5lcmF0aW9uU3RhdGUg
ewotICAgIEFjY2Vzc0dlbmVyYXRpb25TdGF0ZShWTSYgdm0pCisgICAgQWNjZXNzR2VuZXJhdGlv
blN0YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAgICAgOiBt
X3ZtKHZtKSAKKyAgICAgICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCiAgICAgICAg
ICwgbV9jYWxjdWxhdGVkUmVnaXN0ZXJzRm9yQ2FsbEFuZEV4Y2VwdGlvbkhhbmRsaW5nKGZhbHNl
KQogICAgICAgICAsIG1fbmVlZHNUb1Jlc3RvcmVSZWdpc3RlcnNJZkV4Y2VwdGlvbihmYWxzZSkK
ICAgICAgICAgLCBtX2NhbGN1bGF0ZWRDYWxsU2l0ZUluZGV4KGZhbHNlKQogICAgIHsKICAgICB9
CiAgICAgVk0mIG1fdm07CisgICAgSlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OwogICAg
IENDYWxsSGVscGVycyogaml0IHsgbnVsbHB0ciB9OwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9j
YXRvciogYWxsb2NhdG9yOwogICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6UHJlc2VydmVk
U3RhdGUgcHJlc2VydmVkUmV1c2VkUmVnaXN0ZXJTdGF0ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm9wZXJ0eUNvbmRpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29uZGl0aW9uLmNwcAkocmV2aXNp
b24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb3BlcnR5Q29u
ZGl0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3LDE0ICsxMDcsMzAgQEAgYm9vbCBQcm9w
ZXJ0eUNvbmRpdGlvbjo6aXNTdGlsbFZhbGlkQXNzdQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpIHsK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgdG9vIGNvbnNlcnZhdGl2ZS4g
V2UgY2FuIHByb2JhYmx5IHByb3ZlIHRoaXMgaWYKKyAgICAgICAgICAgIC8vIHdlIGhhdmUgdGhl
IGJhc2UuIEFueXdheXMsIHdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aGVuIGludGVncmF0aW5n
CisgICAgICAgICAgICAvLyBPUEMgYW5kIHBvbHkgcHJvdG8uCisgICAgICAgICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBjdXJyZW50
T2Zmc2V0ID0gc3RydWN0dXJlLT5nZXRDb25jdXJyZW50bHkodWlkKCkpOwogICAgICAgICBpZiAo
Y3VycmVudE9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CiAgICAgICAgICAgICBpZiAoUHJvcGVy
dHlDb25kaXRpb25JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgICAgICBkYXRhTG9nKCJJ
bnZhbGlkIGJlY2F1c2UgdGhlIHByb3BlcnR5IGV4aXN0cyBhdCBvZmZzZXQ6ICIsIGN1cnJlbnRP
ZmZzZXQsICJcbiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAg
ICAgIAotICAgICAgICBpZiAoc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKSAhPSBw
cm90b3R5cGUoKSkgeworCisgICAgICAgIEpTT2JqZWN0KiBjdXJyZW50UHJvdG90eXBlOworICAg
ICAgICBpZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkKKyAgICAgICAgICAgIGN1cnJlbnRQ
cm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZU9iamVjdCgpOworICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UpOworICAgICAgICAgICAgY3Vy
cmVudFByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPigqc3RydWN0dXJlLT52bSgp
LCBiYXNlLT5nZXRQcm90b3R5cGVEaXJlY3QoKSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
Y3VycmVudFByb3RvdHlwZSAhPSBwcm90b3R5cGUoKSkgewogICAgICAgICAgICAgaWYgKFByb3Bl
cnR5Q29uZGl0aW9uSW50ZXJuYWw6OnZlcmJvc2UpIHsKICAgICAgICAgICAgICAgICBkYXRhTG9n
KAogICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBiZWNhdXNlIHRoZSBwcm90b3R5cGUgaXMg
Iiwgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSwgIiBldmVuIHRob3VnaCAiCkBAIC0xNDUs
NiArMTYxLDE0IEBAIGJvb2wgUHJvcGVydHlDb25kaXRpb246OmlzU3RpbGxWYWxpZEFzc3UKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKwor
ICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkgeworICAgICAgICAgICAgLy8g
RklYTUU6IEkgdGhpbmsgdGhpcyBpcyB0b28gY29uc2VydmF0aXZlLiBXZSBjYW4gcHJvYmFibHkg
cHJvdmUgdGhpcyBpZgorICAgICAgICAgICAgLy8gd2UgaGF2ZSB0aGUgYmFzZS4gQW55d2F5cywg
d2Ugc2hvdWxkIG1ha2UgdGhpcyB3b3JrIHdoZW4gaW50ZWdyYXRpbmcKKyAgICAgICAgICAgIC8v
IE9QQyBhbmQgcG9seSBwcm90by4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMzkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
T2JqZWN0KCkgIT0gcHJvdG90eXBlKCkpIHsKICAgICAgICAgICAgIGlmIChQcm9wZXJ0eUNvbmRp
dGlvbkludGVybmFsOjp2ZXJib3NlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCShyZXZpc2lvbiAyMjI4
MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2Fz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDE3ICszMCwxOCBAQAogCiBuYW1lc3BhY2UgSlND
IHsKIAotUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQm
IGNvbmRpdGlvblNldCwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNl
dCkKLSAgICA6IEJhc2Uodm0sIG93bmVyLCBhY2Nlc3NUeXBlLCBvZmZzZXQsIHN0cnVjdHVyZSwg
Y29uZGl0aW9uU2V0KQorUHJveHlhYmxlQWNjZXNzQ2FzZTo6UHJveHlhYmxlQWNjZXNzQ2FzZShW
TSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwKKyAgICBjb25zdCBPYmplY3RQcm9wZXJ0
eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBXYXRjaHBvaW50U2V0
KiBhZGRpdGlvbmFsU2V0LCBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHBy
b3RvdHlwZUFjY2Vzc0NoYWluKQorICAgIDogQmFzZSh2bSwgb3duZXIsIGFjY2Vzc1R5cGUsIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hh
aW4pKQogICAgICwgbV92aWFQcm94eSh2aWFQcm94eSkKICAgICAsIG1fYWRkaXRpb25hbFNldChh
ZGRpdGlvbmFsU2V0KQogewogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gUHJveHlh
YmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0
eXBlLCBQcm9wZXJ0eU9mZnNldCBvZmZzZXQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBib29sIHZpYVByb3h5LCBX
YXRjaHBvaW50U2V0KiBhZGRpdGlvbmFsU2V0KQorc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZShWTSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vz
c1R5cGUgdHlwZSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
Y29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwgYm9vbCB2aWFQ
cm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCwgc3RkOjp1bmlxdWVfcHRyPFBvbHlQ
cm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKIHsKICAgICBBU1NFUlQodHlw
ZSA9PSBMb2FkIHx8IHR5cGUgPT0gTWlzcyB8fCB0eXBlID09IEdldEdldHRlcik7Ci0gICAgcmV0
dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2
bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5
LCBhZGRpdGlvbmFsU2V0KSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PihuZXcgUHJveHlhYmxlQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBXVEZNb3ZlKHByb3Rv
dHlwZUFjY2Vzc0NoYWluKSkpOwogfQogCiBQcm94eWFibGVBY2Nlc3NDYXNlOjp+UHJveHlhYmxl
QWNjZXNzQ2FzZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJveHlh
YmxlQWNjZXNzQ2FzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDEzICszMywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgUHJveHlhYmxl
QWNjZXNzQ2FzZSA6IHB1YmxpYyBBY2Nlc3NDYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEFj
Y2Vzc0Nhc2UgQmFzZTsKKyAgICB1c2luZyBCYXNlID0gQWNjZXNzQ2FzZTsKIAogICAgIGJvb2wg
dmlhUHJveHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3ZpYVByb3h5OyB9CiAgICAgV2F0
Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYWRk
aXRpb25hbFNldC5nZXQoKTsgfQogCiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3ND
YXNlPiBjcmVhdGUoVk0mLCBKU0NlbGwqLCBBY2Nlc3NUeXBlLCBQcm9wZXJ0eU9mZnNldCwgU3Ry
dWN0dXJlKiwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmID0gT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQoKSwKLSAgICAgICAgYm9vbCB2aWFQcm94eSA9IGZhbHNlLCBXYXRjaHBv
aW50U2V0KiBhZGRpdGlvbmFsU2V0ID0gbnVsbHB0cik7CisgICAgICAgIGJvb2wgdmlhUHJveHkg
PSBmYWxzZSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCA9IG51bGxwdHIsIHN0ZDo6dW5p
cXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4gPSBudWxscHRyKTsKIAogICAgIHZvaWQgZHVt
cEltcGwoUHJpbnRTdHJlYW0mLCBDb21tYVByaW50ZXImKSBjb25zdCBvdmVycmlkZTsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8QWNjZXNzQ2FzZT4gY2xvbmUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTQ3
LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIH5Qcm94eWFibGVBY2Nlc3NDYXNlKCk7CiAKIHByb3Rl
Y3RlZDoKLSAgICBQcm94eWFibGVBY2Nlc3NDYXNlKFZNJiwgSlNDZWxsKiwgQWNjZXNzVHlwZSwg
UHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSosIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9u
U2V0JiwgYm9vbCB2aWFQcm94eSwgV2F0Y2hwb2ludFNldCogYWRkaXRpb25hbFNldCk7CisgICAg
UHJveHlhYmxlQWNjZXNzQ2FzZShWTSYsIEpTQ2VsbCosIEFjY2Vzc1R5cGUsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIGJvb2wg
dmlhUHJveHksIFdhdGNocG9pbnRTZXQqIGFkZGl0aW9uYWxTZXQsIHN0ZDo6dW5pcXVlX3B0cjxQ
b2x5UHJvdG9BY2Nlc3NDaGFpbj4pOwogCiBwcml2YXRlOgogICAgIGJvb2wgbV92aWFQcm94eTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1
cy5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9QdXRCeUlkU3RhdHVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg0LDYgKzE4NCw4IEBAIFB1
dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclMKICAgICAgICAgICAgIGNvbnN0
IEFjY2Vzc0Nhc2UmIGFjY2VzcyA9IGxpc3QtPmF0KGkpOwogICAgICAgICAgICAgaWYgKGFjY2Vz
cy52aWFQcm94eSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKHNsb3dQ
YXRoU3RhdGUpOworICAgICAgICAgICAgaWYgKGFjY2Vzcy51c2VzUG9seVByb3RvKCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoc2xvd1BhdGhTdGF0ZSk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIFB1dEJ5SWRWYXJpYW50IHZhcmlhbnQ7CiAgICAgICAgICAgICAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVy
ZVN0dWJJbmZvLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYg
KzEzMSwxMSBAQCBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IFN0cnVjdHVyZVN0dWJJbmZvCiAgICAg
ICAgIGlmIChTdHJ1Y3R1cmVTdHViSW5mb0ludGVybmFsOjp2ZXJib3NlKQogICAgICAgICAgICAg
ZGF0YUxvZygiSGFkIHN0dWIsIHJlc3VsdDogIiwgcmVzdWx0LCAiXG4iKTsKIAorICAgICAgICBp
ZiAocmVzdWx0LnNob3VsZFJlc2V0U3R1YigpKSB7CisgICAgICAgICAgICByZXNldChjb2RlQmxv
Y2spOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorCiAgICAgICAgIGlm
ICghcmVzdWx0LmJ1ZmZlcmVkKCkpIHsKICAgICAgICAgICAgIGJ1ZmZlcmVkU3RydWN0dXJlcy5j
bGVhcigpOwogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTE1Miw2ICsxNTcsMTEgQEAg
QWNjZXNzR2VuZXJhdGlvblJlc3VsdCBTdHJ1Y3R1cmVTdHViSW5mbwogICAgICAgICBpZiAoU3Ry
dWN0dXJlU3R1YkluZm9JbnRlcm5hbDo6dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2coIkNy
ZWF0ZWQgc3R1YiwgcmVzdWx0OiAiLCByZXN1bHQsICJcbiIpOwogCisgICAgICAgIGlmIChyZXN1
bHQuc2hvdWxkUmVzZXRTdHViKCkpIHsKKyAgICAgICAgICAgIHJlc2V0KGNvZGVCbG9jayk7Cisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisKICAgICAgICAgaWYgKCFyZXN1
bHQuYnVmZmVyZWQoKSkgewogICAgICAgICAgICAgYnVmZmVyZWRTdHJ1Y3R1cmVzLmNsZWFyKCk7
CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzQ0LDYgKzM3NDQsMTEgQEAgTm9kZSogQnl0ZUNvZGVQYXJzZXI6OmxvYWQoCiAg
ICAgICAgICAgICAgICAgLy8gdGhlIHN0cnVjdHVyZXMgaW4gdGhlIHZhcmlhbnQuc3RydWN0dXJl
U2V0KCkgYWdyZWUgb24gdGhlIHByb3RvdHlwZSAoaXQgd291bGQgYmUKICAgICAgICAgICAgICAg
ICAvLyBoaWxhcmlvdXNseSByYXJlIGlmIHRoZXkgZGlkbid0KS4gTm90ZSB0aGF0IHdlIGFyZSBy
ZWx5aW5nIG9uIHN0cnVjdHVyZVNldCgpIGhhdmluZwogICAgICAgICAgICAgICAgIC8vIGF0IGxl
YXN0IG9uZSBlbGVtZW50LiBUaGF0IHdpbGwgYWx3YXlzIGJlIHRydWUgaGVyZSBiZWNhdXNlIG9m
IGhvdyBHZXRCeUlkU3RhdHVzL1B1dEJ5SWRTdGF0dXMgd29yay4KKworICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiByaWdodCBub3csIGlmIHdlIGhhdmUgYW4gT1BDUywgd2UgaGF2ZSBtb25vIHBy
b3RvLiBIb3dldmVyLCB0aGlzIHdpbGwKKyAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGJlIGNo
YW5nZWQgaW4gdGhlIGZ1dHVyZSBvbmNlIHdlIGhhdmUgYSBoeWJyaWQgZGF0YSBzdHJ1Y3R1cmUg
Zm9yCisgICAgICAgICAgICAgICAgLy8gcG9seSBwcm90bzoKKyAgICAgICAgICAgICAgICAvLyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzM5CiAgICAgICAgICAg
ICAgICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IHZhcmlhbnQuc3RydWN0dXJlU2V0KClbMF0tPnN0
b3JlZFByb3RvdHlwZU9iamVjdCgpOwogICAgICAgICAgICAgICAgIGJvb2wgYWxsQWdyZWUgPSB0
cnVlOwogICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCB2YXJpYW50LnN0
cnVjdHVyZVNldCgpLnNpemUoKTsgKytpKSB7CkBAIC00MzQxLDEyICs0MzQ2LDE2IEBAIGJvb2wg
Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGlmIChmdW5j
dGlvbikgewogICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9
IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURh
dGEtPmFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwgbGl2ZSB1cCB0byB0aGlzIHBvaW50LgotICAg
ICAgICAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChQaGFudG9tLCBjYWxsZWUpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwgYWRkVG9HcmFwaChOZXdPYmplY3QsIE9wSW5mbyhtX2dyYXBoLnJlZ2lz
dGVyU3RydWN0dXJlKHN0cnVjdHVyZSkpKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhbHJl
YWR5RW1pdHRlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ug
c2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
TW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6
ZShyYXJlRGF0YSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBv
aW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0
KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBjYWxsZWUgaXMgc3RpbGwg
bGl2ZSB1cCB0byB0aGlzIHBvaW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZFRv
R3JhcGgoUGhhbnRvbSwgY2FsbGVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dy
YXBoKE5ld09iamVjdCwgT3BJbmZvKG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJl
KSkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHJlYWR5RW1pdHRlZCA9IHRydWU7
CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0dyYXBoLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3ODcsNyArMTc4Nyw4IEBAIGJv
b2wgR3JhcGg6OmNhbkRvRmFzdFNwcmVhZChOb2RlKiBub2RlLCAKICAgICBBcnJheVByb3RvdHlw
ZSogYXJyYXlQcm90b3R5cGUgPSBnbG9iYWxPYmplY3RGb3Iobm9kZS0+Y2hpbGQxKCktPm9yaWdp
bi5zZW1hbnRpYyktPmFycmF5UHJvdG90eXBlKCk7CiAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsK
ICAgICB2YWx1ZS5tX3N0cnVjdHVyZS5mb3JFYWNoKFsmXSAoUmVnaXN0ZXJlZFN0cnVjdHVyZSBz
dHJ1Y3R1cmUpIHsKLSAgICAgICAgYWxsR29vZCAmPSBzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlw
ZSgpID09IGFycmF5UHJvdG90eXBlCisgICAgICAgIGFsbEdvb2QgJj0gc3RydWN0dXJlLT5oYXNN
b25vUHJvdG8oKQorICAgICAgICAgICAgJiYgc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKSA9
PSBhcnJheVByb3RvdHlwZQogICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+aXNEaWN0aW9uYXJ5
KCkKICAgICAgICAgICAgICYmIHN0cnVjdHVyZS0+Z2V0Q29uY3VycmVudGx5KG1fdm0ucHJvcGVy
dHlOYW1lcy0+aXRlcmF0b3JTeW1ib2wuaW1wbCgpKSA9PSBpbnZhbGlkT2Zmc2V0CiAgICAgICAg
ICAgICAmJiAhc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24g
MjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ0LDcgKzI0NCwxMSBAQCBKU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uQ3JlYXRlVGhpCiAgICAgaWYgKGNvbnN0cnVjdG9yLT50eXBlKCkgPT0gSlNGdW5j
dGlvblR5cGUpIHsKICAgICAgICAgYXV0byByYXJlRGF0YSA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4o
Y29uc3RydWN0b3IpLT5yYXJlRGF0YShleGVjLCBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwotICAgICAgICByZXR1cm4gY29uc3Ry
dWN0RW1wdHlPYmplY3QoZXhlYywgcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkt
PnN0cnVjdHVyZSgpKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+
b2JqZWN0QWxsb2NhdGlvblByb2ZpbGUoKS0+c3RydWN0dXJlKCk7CisgICAgICAgIEpTT2JqZWN0
KiByZXN1bHQgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOworICAgICAg
ICBpZiAoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSkKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0
RGlyZWN0KHZtLCBzdHJ1Y3R1cmUtPnBvbHlQcm90b09mZnNldCgpLCBqc0Nhc3Q8SlNGdW5jdGlv
bio+KGNvbnN0cnVjdG9yKS0+cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKSk7Cisg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAgICAgSlNWYWx1ZSBwcm90byA9IGNvbnN0
cnVjdG9yLT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAko
cmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI5Miw3ICs0MjkyLDkgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBzbG93UGF0aC5hcHBl
bmQobV9qaXQuYnJhbmNoVGVzdFB0cihNYWNyb0Fzc2VtYmxlcjo6WmVybywgcmFyZURhdGFHUFIp
KTsKICAgICAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhyYXJlRGF0YUdQ
UiwgRnVuY3Rpb25SYXJlRGF0YTo6b2Zmc2V0T2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpICsg
T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6Om9mZnNldE9mQWxsb2NhdG9yKCkpLCBhbGxvY2F0b3JH
UFIpOwogICAgICAgICBtX2ppdC5sb2FkUHRyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJhcmVEYXRh
R1BSLCBGdW5jdGlvblJhcmVEYXRhOjpvZmZzZXRPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlKCkg
KyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6b2Zmc2V0T2ZTdHJ1Y3R1cmUoKSksIHN0cnVjdHVy
ZUdQUik7CisKICAgICAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFj
cm9Bc3NlbWJsZXI6Olplcm8sIGFsbG9jYXRvckdQUikpOworCiAgICAgICAgIGVtaXRBbGxvY2F0
ZUpTT2JqZWN0KHJlc3VsdEdQUiwgbnVsbHB0ciwgYWxsb2NhdG9yR1BSLCBzdHJ1Y3R1cmVHUFIs
IFRydXN0ZWRJbW1QdHIoMCksIHNjcmF0Y2hHUFIsIHNsb3dQYXRoKTsKICAgICAgICAgCiAgICAg
ICAgIG1faml0LmxvYWRQdHIoSklUQ29tcGlsZXI6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0
aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpLCByYXJlRGF0YUdQUik7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMjIy
ODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMyMzcsNyArMzIzNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGVQdXRCeVZhbEZvckMKICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAotdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJlZyB2YWx1
ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hSZWcsIEdQUlJlZyBzY3Jh
dGNoMlJlZykKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0
KE5vZGUqLCBHUFJSZWcgdmFsdWVSZWcsIEdQUlJlZyBwcm90b3R5cGVSZWcsIEdQUlJlZyBzY3Jh
dGNoUmVnLCBHUFJSZWcgc2NyYXRjaDJSZWcsIEdQUlJlZyBzY3JhdGNoM1JlZykKIHsKICAgICAv
LyBDaGVjayB0aGF0IHByb3RvdHlwZSBpcyBhbiBvYmplY3QuCiAgICAgc3BlY3VsYXRpb25DaGVj
ayhCYWRUeXBlLCBKU1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hJZk5vdE9iamVjdChwcm90
b3R5cGVSZWcpKTsKQEAgLTMyNDksOCArMzI0OSwyMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlSW5zdGFuY2VPZkZvCiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGxvb3AoJm1faml0
KTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBwZXJmb3JtRGVmYXVsdEhhc0luc3RhbmNlID0g
bV9qaXQuYnJhbmNoOChNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsCiAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIEpTQ2VsbDo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpLCBU
cnVzdGVkSW1tMzIoUHJveHlPYmplY3RUeXBlKSk7Ci0gICAgbV9qaXQuZW1pdExvYWRTdHJ1Y3R1
cmUoKm1faml0LnZtKCksIHNjcmF0Y2hSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnKTsKLSAg
ICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2hSZWcsIFN0cnVj
dHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBDZWxsUGF5bG9hZE9mZnNldCksIHNjcmF0Y2hSZWcp
OworICAgIG1faml0LmVtaXRMb2FkU3RydWN0dXJlKCptX2ppdC52bSgpLCBzY3JhdGNoUmVnLCBz
Y3JhdGNoM1JlZywgc2NyYXRjaDJSZWcpOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgbV9qaXQu
bG9hZDY0KE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2gzUmVnLCBTdHJ1Y3R1cmU6OnBy
b3RvdHlwZU9mZnNldCgpKSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8gaXNNb25vUHJvdG8gPSBt
X2ppdC5icmFuY2hJZk5vdEludDMyKEpTVmFsdWVSZWdzKHNjcmF0Y2gzUmVnKSk7CisgICAgbV9q
aXQuemVyb0V4dGVuZDMyVG9QdHIoc2NyYXRjaDNSZWcsIHNjcmF0Y2gzUmVnKTsKKyAgICBtX2pp
dC5sb2FkNjQoSklUQ29tcGlsZXI6OkJhc2VJbmRleChzY3JhdGNoUmVnLCBzY3JhdGNoM1JlZywg
SklUQ29tcGlsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2Uo
KSksIHNjcmF0Y2gzUmVnKTsKKyAgICBpc01vbm9Qcm90by5saW5rKCZtX2ppdCk7CisgICAgbV9q
aXQubW92ZShzY3JhdGNoM1JlZywgc2NyYXRjaFJlZyk7CisjZWxzZQorICAgIG1faml0LmxvYWQz
MihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoM1JlZywgU3RydWN0dXJlOjpwcm90b3R5
cGVPZmZzZXQoKSArIFRhZ09mZnNldCksIHNjcmF0Y2gyUmVnKTsKKyAgICBtX2ppdC5sb2FkMzIo
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2NyYXRjaDNSZWcsIFN0cnVjdHVyZTo6cHJvdG90eXBl
T2Zmc2V0KCkgKyBQYXlsb2FkT2Zmc2V0KSwgc2NyYXRjaDNSZWcpOworICAgIGF1dG8gaXNNb25v
UHJvdG8gPSBtX2ppdC5icmFuY2gzMihDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBzY3JhdGNoMlJl
ZywgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkludDMyVGFnKSk7CisgICAgbV9qaXQubG9hZDMyKEpJ
VENvbXBpbGVyOjpCYXNlSW5kZXgoc2NyYXRjaFJlZywgc2NyYXRjaDNSZWcsIEpJVENvbXBpbGVy
OjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgKyBQYXlsb2Fk
T2Zmc2V0KSwgc2NyYXRjaDNSZWcpOworICAgIGlzTW9ub1Byb3RvLmxpbmsoJm1faml0KTsKKyAg
ICBtX2ppdC5tb3ZlKHNjcmF0Y2gzUmVnLCBzY3JhdGNoUmVnKTsKKyNlbmRpZgorCiAgICAgTWFj
cm9Bc3NlbWJsZXI6Okp1bXAgaXNJbnN0YW5jZSA9IG1faml0LmJyYW5jaFB0cihNYWNyb0Fzc2Vt
Ymxlcjo6RXF1YWwsIHNjcmF0Y2hSZWcsIHByb3RvdHlwZVJlZyk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKICAgICBtX2ppdC5icmFuY2hJZkNlbGwoSlNWYWx1ZVJlZ3Moc2NyYXRjaFJlZykpLmxpbmtU
byhsb29wLCAmbV9qaXQpOwpAQCAtMzM4MSwxMCArMzM5NiwxMiBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHBy
b3RvdHlwZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIodGhpcyk7CisgICAgICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIEdQUlJlZyBw
cm90b3R5cGVSZWcgPSBwcm90b3R5cGUuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoUmVn
ID0gc2NyYXRjaC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2gyUmVnID0gc2NyYXRjaDIu
Z3ByKCk7CisgICAgICAgIEdQUlJlZyBzY3JhdGNoM1JlZyA9IHNjcmF0Y2gzLmdwcigpOwogICAg
ICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNDZWxsID0gbV9qaXQuYnJhbmNo
SWZDZWxsKHZhbHVlLmpzVmFsdWVSZWdzKCkpOwogICAgICAgICBHUFJSZWcgdmFsdWVSZWcgPSB2
YWx1ZS5qc1ZhbHVlUmVncygpLnBheWxvYWRHUFIoKTsKQEAgLTMzOTQsNyArMzQxMSw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnN0YW5jZU9mKE4KICAgICAgICAgCiAgICAgICAg
IGlzQ2VsbC5saW5rKCZtX2ppdCk7CiAgICAgICAgIAotICAgICAgICBjb21waWxlSW5zdGFuY2VP
ZkZvck9iamVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3Jh
dGNoMlJlZyk7CisgICAgICAgIGNvbXBpbGVJbnN0YW5jZU9mRm9yT2JqZWN0KG5vZGUsIHZhbHVl
UmVnLCBwcm90b3R5cGVSZWcsIHNjcmF0Y2hSZWcsIHNjcmF0Y2gyUmVnLCBzY3JhdGNoM1JlZyk7
CiAgICAgICAgIAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIApAQCAtMzQwNywxMyArMzQy
NCwxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlSW5zdGFuY2VPZihOCiAgICAgCiAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gy
KHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMyh0aGlzKTsKICAgICAKICAgICBHUFJS
ZWcgdmFsdWVSZWcgPSB2YWx1ZS5ncHIoKTsKICAgICBHUFJSZWcgcHJvdG90eXBlUmVnID0gcHJv
dG90eXBlLmdwcigpOwogICAgIEdQUlJlZyBzY3JhdGNoUmVnID0gc2NyYXRjaC5ncHIoKTsKICAg
ICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJSZWcgc2NyYXRj
aDNSZWcgPSBzY3JhdGNoMy5ncHIoKTsKICAgICAKLSAgICBjb21waWxlSW5zdGFuY2VPZkZvck9i
amVjdChub2RlLCB2YWx1ZVJlZywgcHJvdG90eXBlUmVnLCBzY3JhdGNoUmVnLCBzY3JhdGNoMlJl
Zyk7CisgICAgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3Qobm9kZSwgdmFsdWVSZWcsIHByb3Rv
dHlwZVJlZywgc2NyYXRjaFJlZywgc2NyYXRjaDJSZWcsIHNjcmF0Y2gzUmVnKTsKIAogICAgIGJs
ZXNzZWRCb29sZWFuUmVzdWx0KHNjcmF0Y2hSZWcsIG5vZGUpOwogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMjIyODAx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NTksNyArNzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbm9uU3BlY3Vs
YXRpdmVOb25QZWVwaG9sZVN0cmljdEVxKE5vZGUqLCBib29sIGludmVydCA9IGZhbHNlKTsKICAg
ICBib29sIG5vblNwZWN1bGF0aXZlU3RyaWN0RXEoTm9kZSosIGJvb2wgaW52ZXJ0ID0gZmFsc2Up
OwogICAgIAotICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2ZGb3JPYmplY3QoTm9kZSosIEdQUlJl
ZyB2YWx1ZVJlZywgR1BSUmVnIHByb3RvdHlwZVJlZywgR1BSUmVnIHNjcmF0Y2hBbmRSZXN1bHRS
ZWcsIEdQUlJlZyBzY3JhdGNoMlJlZyk7CisgICAgdm9pZCBjb21waWxlSW5zdGFuY2VPZkZvck9i
amVjdChOb2RlKiwgR1BSUmVnIHZhbHVlUmVnLCBHUFJSZWcgcHJvdG90eXBlUmVnLCBHUFJSZWcg
c2NyYXRjaEFuZFJlc3VsdFJlZywgR1BSUmVnIHNjcmF0Y2gyUmVnLCBHUFJSZWcgc2NyYXRjaDNS
ZWcpOwogICAgIHZvaWQgY29tcGlsZUluc3RhbmNlT2YoTm9kZSopOwogICAgIHZvaWQgY29tcGls
ZUluc3RhbmNlT2ZDdXN0b20oTm9kZSopOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTg5NTMsMTAgKzg5NTMsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgCiAgICAgICAgIExCYXNpY0Js
b2NrIGlzQ2VsbENhc2UgPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBs
b29wID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlw
ZUJpdHMgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBsb2FkUG9seVBy
b3RvID0gbV9vdXQubmV3QmxvY2soKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29tcGFyZVByb3Rv
dHlwZSA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIG5vdFlldEluc3Rh
bmNlID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9u
ID0gbV9vdXQubmV3QmxvY2soKTsKLSAgICAgICAgTEJhc2ljQmxvY2sgbG9hZFByb3RvdHlwZURp
cmVjdCA9IG1fb3V0Lm5ld0Jsb2NrKCk7CiAgICAgICAgIExCYXNpY0Jsb2NrIGRlZmF1bHRIYXNJ
bnN0YW5jZVNsb3cgPSBtX291dC5uZXdCbG9jaygpOworICAgICAgICBMQmFzaWNCbG9jayBjb250
aW51YXRpb24gPSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIGNv
bmRpdGlvbjsKICAgICAgICAgaWYgKG1fbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlw
ZWRVc2UpCkBAIC04OTc0LDE2ICs4OTc2LDI4IEBAIHByaXZhdGU6CiAgICAgICAgIFZhbHVlRnJv
bUJsb2NrIG9yaWdpbmFsVmFsdWUgPSBtX291dC5hbmNob3IoY2VsbCk7CiAgICAgICAgIG1fb3V0
Lmp1bXAobG9vcCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBlbmRUbyhsb29wLCBsb2Fk
UHJvdG90eXBlRGlyZWN0KTsKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9vcCwgbG9hZFByb3Rv
dHlwZUJpdHMpOwogICAgICAgICBMVmFsdWUgdmFsdWUgPSBtX291dC5waGkoSW50NjQsIG9yaWdp
bmFsVmFsdWUpOwogICAgICAgICBMVmFsdWUgdHlwZSA9IG1fb3V0LmxvYWQ4WmVyb0V4dDMyKHZh
bHVlLCBtX2hlYXBzLkpTQ2VsbF90eXBlSW5mb1R5cGUpOwogICAgICAgICBtX291dC5icmFuY2go
CiAgICAgICAgICAgICBtX291dC5ub3RFcXVhbCh0eXBlLCBtX291dC5jb25zdEludDMyKFByb3h5
T2JqZWN0VHlwZSkpLAotICAgICAgICAgICAgdXN1YWxseShsb2FkUHJvdG90eXBlRGlyZWN0KSwg
cmFyZWx5KGRlZmF1bHRIYXNJbnN0YW5jZVNsb3cpKTsKKyAgICAgICAgICAgIHVzdWFsbHkobG9h
ZFByb3RvdHlwZUJpdHMpLCByYXJlbHkoZGVmYXVsdEhhc0luc3RhbmNlU2xvdykpOwogCi0gICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQcm90b3R5cGVEaXJlY3QsIG5vdFlldEluc3RhbmNlKTsK
KyAgICAgICAgbV9vdXQuYXBwZW5kVG8obG9hZFByb3RvdHlwZUJpdHMsIGxvYWRQb2x5UHJvdG8p
OwogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbG9hZFN0cnVjdHVyZSh2YWx1ZSk7Ci0gICAg
ICAgIExWYWx1ZSBjdXJyZW50UHJvdG90eXBlID0gbV9vdXQubG9hZDY0KHN0cnVjdHVyZSwgbV9o
ZWFwcy5TdHJ1Y3R1cmVfcHJvdG90eXBlKTsKKworICAgICAgICBMVmFsdWUgcHJvdG90eXBlQml0
cyA9IG1fb3V0LmxvYWQ2NChzdHJ1Y3R1cmUsIG1faGVhcHMuU3RydWN0dXJlX3Byb3RvdHlwZSk7
CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGRpcmVjdFByb3RveXBlID0gbV9vdXQuYW5jaG9yKHBy
b3RvdHlwZUJpdHMpOworICAgICAgICBtX291dC5icmFuY2goaXNJbnQzMihwcm90b3R5cGVCaXRz
KSwgdW5zdXJlKGxvYWRQb2x5UHJvdG8pLCB1bnN1cmUoY29tcGFyZVByb3RvdHlwZSkpOworCisg
ICAgICAgIG1fb3V0LmFwcGVuZFRvKGxvYWRQb2x5UHJvdG8sIGNvbXBhcmVQcm90b3R5cGUpOwor
ICAgICAgICBMVmFsdWUgaW5kZXggPSBtX291dC5iaXRBbmQocHJvdG90eXBlQml0cywgbV9vdXQu
Y29uc3RJbnQ2NChVSU5UX01BWCkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBwb2x5UHJvdG8g
PSBtX291dC5hbmNob3IoCisgICAgICAgICAgICBtX291dC5sb2FkNjQobV9vdXQuYmFzZUluZGV4
KG1faGVhcHMucHJvcGVydGllcy5hdEFueU51bWJlcigpLCB2YWx1ZSwgaW5kZXgsIFNjYWxlRWln
aHQsIEpTT2JqZWN0OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSkpKTsKKyAgICAgICAgbV9vdXQu
anVtcChjb21wYXJlUHJvdG90eXBlKTsKKworICAgICAgICBtX291dC5hcHBlbmRUbyhjb21wYXJl
UHJvdG90eXBlLCBub3RZZXRJbnN0YW5jZSk7CisgICAgICAgIExWYWx1ZSBjdXJyZW50UHJvdG90
eXBlID0gbV9vdXQucGhpKEludDY0LCBkaXJlY3RQcm90b3lwZSwgcG9seVByb3RvKTsKICAgICAg
ICAgVmFsdWVGcm9tQmxvY2sgaXNJbnN0YW5jZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihtX291dC5i
b29sZWFuVHJ1ZSk7CiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0LmVx
dWFsKGN1cnJlbnRQcm90b3R5cGUsIHByb3RvdHlwZSksCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI0OCw4ICsyNDgsMTMgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfaW5zdGFuY2VvZihJbnN0
cnVjdGlvbgogCiAgICAgLy8gTG9hZCB0aGUgcHJvdG90eXBlIG9mIHRoZSBjZWxsIGluIHJlZ1Qy
LiAgSWYgdGhpcyBpcyBlcXVhbCB0byByZWdUMSAtIFdJTiEKICAgICAvLyBPdGhlcndpc2UsIGNo
ZWNrIGlmIHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2UgaGF2ZSB0aGVuIGRyb3Agb3V0IG9mIHRoZSBs
b29wLCBpZiBub3QgZ28gYWdhaW4uCi0gICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBKU0NlbGw6
OnN0cnVjdHVyZUlET2Zmc2V0KCkpLCByZWdUMik7Ci0gICAgbG9hZDMyKEFkZHJlc3MocmVnVDIs
IFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwg
dS5hc0JpdHMucGF5bG9hZCkpLCByZWdUMik7CisgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QyLCBK
U0NlbGw6OnN0cnVjdHVyZUlET2Zmc2V0KCkpLCByZWdUNCk7CisgICAgbG9hZDMyKEFkZHJlc3Mo
cmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkgKyBUYWdPZmZzZXQpLCByZWdUMyk7
CisgICAgbG9hZDMyKEFkZHJlc3MocmVnVDQsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkg
KyBQYXlsb2FkT2Zmc2V0KSwgcmVnVDQpOworICAgIGF1dG8gaXNNb25vUHJvdG8gPSBicmFuY2gz
MihOb3RFcXVhbCwgcmVnVDMsIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpJbnQzMlRhZykpOworICAg
IGxvYWQzMihCYXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zm
c2V0T2ZJbmxpbmVTdG9yYWdlKCkgKyBQYXlsb2FkT2Zmc2V0KSwgcmVnVDQpOworICAgIGlzTW9u
b1Byb3RvLmxpbmsodGhpcyk7CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJ
bnN0YW5jZSA9IGJyYW5jaFB0cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBicmFuY2hUZXN0
MzIoTm9uWmVybywgcmVnVDIpLmxpbmtUbyhsb29wLCB0aGlzKTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NjYsOCArMTY2LDEzIEBAIHZvaWQgSklUOjplbWl0X29wX2luc3RhbmNlb2YoSW5zdHJ1Y3Rpb24K
IAogICAgIC8vIExvYWQgdGhlIHByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGluIHJlZ1QyLiAgSWYg
dGhpcyBpcyBlcXVhbCB0byByZWdUMSAtIFdJTiEKICAgICAvLyBPdGhlcndpc2UsIGNoZWNrIGlm
IHdlJ3ZlIGhpdCBudWxsIC0gaWYgd2UgaGF2ZSB0aGVuIGRyb3Agb3V0IG9mIHRoZSBsb29wLCBp
ZiBub3QgZ28gYWdhaW4uCi0gICAgZW1pdExvYWRTdHJ1Y3R1cmUoKnZtKCksIHJlZ1QyLCByZWdU
MiwgcmVnVDMpOwotICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1QyLCBTdHJ1Y3R1cmU6OnByb3RvdHlw
ZU9mZnNldCgpKSwgcmVnVDIpOworICAgIGVtaXRMb2FkU3RydWN0dXJlKCp2bSgpLCByZWdUMiwg
cmVnVDQsIHJlZ1QzKTsKKyAgICBsb2FkNjQoQWRkcmVzcyhyZWdUNCwgU3RydWN0dXJlOjpwcm90
b3R5cGVPZmZzZXQoKSksIHJlZ1Q0KTsKKyAgICBhdXRvIGhhc01vbm9Qcm90byA9IGJyYW5jaElm
Tm90SW50MzIoSlNWYWx1ZVJlZ3MocmVnVDQpKTsKKyAgICB6ZXJvRXh0ZW5kMzJUb1B0cihyZWdU
NCwgcmVnVDQpOworICAgIGxvYWQ2NChCYXNlSW5kZXgocmVnVDIsIHJlZ1Q0LCBUaW1lc0VpZ2h0
LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkpLCByZWdUNCk7CisgICAgaGFzTW9u
b1Byb3RvLmxpbmsodGhpcyk7CisgICAgbW92ZShyZWdUNCwgcmVnVDIpOwogICAgIEp1bXAgaXNJ
bnN0YW5jZSA9IGJyYW5jaFB0cihFcXVhbCwgcmVnVDIsIHJlZ1QxKTsKICAgICBlbWl0SnVtcElm
SlNDZWxsKHJlZ1QyKS5saW5rVG8obG9vcCwgdGhpcyk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZXBhdGNoLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ0LDYgKzI0NCw4IEBA
IHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogCisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQb2x5UHJvdG9BY2Nlc3NDaGFp
bj4gcHJvdG90eXBlQWNjZXNzQ2hhaW47CisKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0
ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZhbGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsK
IAogICAgICAgICBpZiAoc2xvdC5pc1Vuc2V0KCkgfHwgc2xvdC5zbG90QmFzZSgpICE9IGJhc2VW
YWx1ZSkgewpAQCAtMjU1LDIzICsyNTcsMzUgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRy
eUNhY2hlR2V0QnlJRAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0dXJlKHZt
LCBqc0Nhc3Q8SlNPYmplY3QqPihiYXNlQ2VsbCkpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgCisKICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSAmJiBzdHJ1Y3R1cmUtPnR5cGVJ
bmZvKCkuZ2V0T3duUHJvcGVydHlTbG90SXNJbXB1cmVGb3JQcm9wZXJ0eUFic2VuY2UoKSkKICAg
ICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKIAotICAgICAgICAgICAgaWYgKHNs
b3QuaXNVbnNldCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVD
b25kaXRpb25zRm9yUHJvcGVydHlNaXNzKAotICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJs
b2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlv
bnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVC
bG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCi0gICAgICAgICAgICAgICAg
ICAgIHByb3BlcnR5TmFtZS5pbXBsKCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICBib29s
IHVzZXNQb2x5UHJvdG87CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFBvbHlQ
cm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNl
Q2VsbCwgc2xvdCwgdXNlc1BvbHlQcm90byk7CisgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFj
Y2Vzc0NoYWluKSB7CisgICAgICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0
aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKKyAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0
KCkgPyBpbnZhbGlkT2Zmc2V0IDogY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zm
c2V0KCk7CisgICAgICAgICAgICBpZiAoIXVzZXNQb2x5UHJvdG8pIHsKKyAgICAgICAgICAgICAg
ICAvLyBXZSB1c2UgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgaW5zdGVhZCBmb3IgZmFzdGVy
IGFjY2Vzc2VzLgorICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gbnVsbHB0
cjsKKworICAgICAgICAgICAgICAgIGlmIChzbG90LmlzVW5zZXQoKSkgeworICAgICAgICAgICAg
ICAgICAgICBjb25kaXRpb25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3Mo
CisgICAgICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUs
IHByb3BlcnR5TmFtZS5pbXBsKCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlw
ZVByb3BlcnR5SGl0KAorICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhl
Yywgc3RydWN0dXJlLCBzbG90LnNsb3RCYXNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICBw
cm9wZXJ0eU5hbWUuaW1wbCgpKTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg
ICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
biBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBvZmZzZXQgPSBz
bG90LmlzVW5zZXQoKSA/IGludmFsaWRPZmZzZXQgOiBzbG90LmNhY2hlZE9mZnNldCgpOwogICAg
ICAgICB9CiAKICAgICAgICAgSlNGdW5jdGlvbiogZ2V0dGVyID0gbnVsbHB0cjsKQEAgLTI5Mywx
MyArMzA3LDE3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogCi0gICAgICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRl
KHZtLCBjb2RlQmxvY2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxv
YWRUYXJnZXRGcm9tUHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpKTsKLSAgICAgICAgfSBlbHNl
IGlmICghbG9hZFRhcmdldEZyb21Qcm94eSAmJiBnZXR0ZXIgJiYgSW50cmluc2ljR2V0dGVyQWNj
ZXNzQ2FzZTo6Y2FuRW1pdEludHJpbnNpY0dldHRlcihnZXR0ZXIsIHN0cnVjdHVyZSkpCisgICAg
ICAgICAgICBuZXdDYXNlID0gUHJveHlhYmxlQWNjZXNzQ2FzZTo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2ssIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9t
UHJveHksIHNsb3Qud2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWlu
KSk7CisgICAgICAgIH0gZWxzZSBpZiAoIWxvYWRUYXJnZXRGcm9tUHJveHkgJiYgZ2V0dGVyICYm
IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNhbkVtaXRJbnRyaW5zaWNHZXR0ZXIoZ2V0dGVy
LCBzdHJ1Y3R1cmUpICYmICFwcm90b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8g
RklYTUU6IFdlIHNob3VsZCBtYWtlIHRoaXMgd29yayB3aXRoIHBvbHkgcHJvdG8sIGJ1dCBmb3Ig
b3VyIG93biBzYW5pdHksIHdlIHByb2JhYmx5CisgICAgICAgICAgICAvLyB3YW50IHRvIGRvIGEg
cG9pbnRlciBjaGVjayBvbiB0aGUgYWN0dWFsIGdldHRlci4gQSBnb29kIHRpbWUgdG8gbWFrZSB0
aGlzIHdvcmsgd291bGQKKyAgICAgICAgICAgIC8vIGJlIHdoZW4gd2UgY2FuIGluaGVyaXQgZnJv
bSBidWlsdGluIHR5cGVzIGluIHBvbHkgcHJvdG8gZmFzaGlvbjoKKyAgICAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzczMTgKICAgICAgICAgICAg
IG5ld0Nhc2UgPSBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUodm0sIGNvZGVCbG9j
aywgc2xvdC5jYWNoZWRPZmZzZXQoKSwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGdldHRlcik7
Ci0gICAgICAgIGVsc2UgeworICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHNsb3Qu
aXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNVbnNldCgpKSB7CiAgICAgICAgICAgICAgICAg
bmV3Q2FzZSA9IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBzbG90
LmlzVW5zZXQoKSA/IEFjY2Vzc0Nhc2U6Ok1pc3MgOiBBY2Nlc3NDYXNlOjpMb2FkLAotICAgICAg
ICAgICAgICAgICAgICBvZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBsb2FkVGFyZ2V0
RnJvbVByb3h5LCBzbG90LndhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAgICAgICAgICAgIG9m
ZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGxvYWRUYXJnZXRGcm9tUHJveHksIHNsb3Qu
d2F0Y2hwb2ludFNldCgpLCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIEFjY2Vzc0Nhc2U6OkFjY2Vzc1R5cGUgdHlw
ZTsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpKQpAQCAtMzE2
LDcgKzMzNCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAg
ICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgdHlwZSwgb2Zmc2V0LCBzdHJ1Y3R1cmUs
IGNvbmRpdGlvblNldCwgbG9hZFRhcmdldEZyb21Qcm94eSwKICAgICAgICAgICAgICAgICAgICAg
c2xvdC53YXRjaHBvaW50U2V0KCksIHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSA/IHNsb3QuY3Vz
dG9tR2V0dGVyKCkgOiBudWxscHRyLAogICAgICAgICAgICAgICAgICAgICBzbG90LmlzQ2FjaGVh
YmxlQ3VzdG9tKCkgPyBzbG90LnNsb3RCYXNlKCkgOiBudWxscHRyLAotICAgICAgICAgICAgICAg
ICAgICBkb21BdHRyaWJ1dGUpOworICAgICAgICAgICAgICAgICAgICBkb21BdHRyaWJ1dGUsIFdU
Rk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgIH0KQEAgLTM4Niw2ICs0MDQsNyBAQCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2Fj
aGVQdXRCeUlECiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogCiAgICAgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IG5ld0Nhc2U7CisgICAgSlNDZWxsKiBiYXNlQ2VsbCA9IGJhc2VW
YWx1ZS5hc0NlbGwoKTsKIAogICAgIGlmIChzbG90LmJhc2UoKSA9PSBiYXNlVmFsdWUgJiYgc2xv
dC5pc0NhY2hlYWJsZVB1dCgpKSB7CiAgICAgICAgIGlmIChzbG90LnR5cGUoKSA9PSBQdXRQcm9w
ZXJ0eVNsb3Q6OkV4aXN0aW5nUHJvcGVydHkpIHsKQEAgLTQyOSw0OCArNDQ4LDgzIEBAIHN0YXRp
YyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAgICAgICAgICAgIEFTU0VSVCgh
bmV3U3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSk7CiAgICAgICAgICAgICBBU1NFUlQobmV3U3Ry
dWN0dXJlLT5pc09iamVjdCgpKTsKICAgICAgICAgICAgIAorICAgICAgICAgICAgc3RkOjp1bmlx
dWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKICAgICAg
ICAgICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKICAgICAgICAg
ICAgIGlmIChwdXRLaW5kID09IE5vdERpcmVjdCkgewotICAgICAgICAgICAgICAgIGNvbmRpdGlv
blNldCA9Ci0gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5
U2V0dGVyTWlzcygKLSAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMs
IG5ld1N0cnVjdHVyZSwgaWRlbnQuaW1wbCgpKTsKLSAgICAgICAgICAgICAgICBpZiAoIWNvbmRp
dGlvblNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOwor
ICAgICAgICAgICAgICAgIHByb3RvdHlwZUFjY2Vzc0NoYWluID0gUG9seVByb3RvQWNjZXNzQ2hh
aW46OmNyZWF0ZShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIGJhc2VDZWxsLCBudWxscHRy
LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0No
YWluKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhp
cyBwcm90b3R5cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBP
bkNhY2hlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1Bv
bHlQcm90bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51
bGxwdHI7CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAg
ICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eVNldHRlck1pc3MoCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgbmV3U3RydWN0dXJl
LCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNldC5p
c1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsK
KyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgbmV3Q2Fz
ZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQsIHN0cnVjdHVyZSwg
bmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQpOworICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vz
c0Nhc2U6OmNyZWF0ZSh2bSwgY29kZUJsb2NrLCBvZmZzZXQsIHN0cnVjdHVyZSwgbmV3U3RydWN0
dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKICAgICAg
ICAgfQogICAgIH0gZWxzZSBpZiAoc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgpIHx8IHNsb3QuaXND
YWNoZWFibGVTZXR0ZXIoKSkgewogICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUN1c3RvbSgp
KSB7CiAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7
CisgICAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+IHByb3Rv
dHlwZUFjY2Vzc0NoYWluOwogCiAgICAgICAgICAgICBpZiAoc2xvdC5iYXNlKCkgIT0gYmFzZVZh
bHVlKSB7Ci0gICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0ID0KLSAgICAgICAgICAgICAgICAg
ICAgZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQoCi0gICAgICAgICAg
ICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFzZSgp
LCBpZGVudC5pbXBsKCkpOwotICAgICAgICAgICAgICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFs
aWQoKSkKKyAgICAgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87CisgICAgICAgICAgICAg
ICAgcHJvdG90eXBlQWNjZXNzQ2hhaW4gPSBQb2x5UHJvdG9BY2Nlc3NDaGFpbjo6Y3JlYXRlKGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgYmFzZUNlbGwsIHNsb3QuYmFzZSgpLCB1c2VzUG9s
eVByb3RvKTsKKyAgICAgICAgICAgICAgICBpZiAoIXByb3RvdHlwZUFjY2Vzc0NoYWluKSB7Cisg
ICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgaW52YWxpZCB0byBhY2Nlc3MgdGhpcyBwcm90b3R5
cGUgcHJvcGVydHkuCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90bykg
eworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7Cisg
ICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAgICAgICAg
ICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3QuYmFz
ZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlvblNl
dC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNo
ZTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG5ld0Nh
c2UgPSBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAgdm0s
IGNvZGVCbG9jaywgc2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkgPyBBY2Nlc3NDYXNlOjpDdXN0b21B
Y2Nlc3NvclNldHRlciA6IEFjY2Vzc0Nhc2U6OkN1c3RvbVZhbHVlU2V0dGVyLCBzdHJ1Y3R1cmUs
IGludmFsaWRPZmZzZXQsIGNvbmRpdGlvblNldCwKLSAgICAgICAgICAgICAgICBzbG90LmN1c3Rv
bVNldHRlcigpLCBzbG90LmJhc2UoKSk7CisgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywg
c2xvdC5pc0N1c3RvbUFjY2Vzc29yKCkgPyBBY2Nlc3NDYXNlOjpDdXN0b21BY2Nlc3NvclNldHRl
ciA6IEFjY2Vzc0Nhc2U6OkN1c3RvbVZhbHVlU2V0dGVyLCBzdHJ1Y3R1cmUsIGludmFsaWRPZmZz
ZXQsCisgICAgICAgICAgICAgICAgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vz
c0NoYWluKSwgc2xvdC5jdXN0b21TZXR0ZXIoKSwgc2xvdC5iYXNlKCkpOwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0
OwotICAgICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0OworICAgICAgICAgICAgc3RkOjp1
bmlxdWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKKyAg
ICAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAK
ICAgICAgICAgICAgIGlmIChzbG90LmJhc2UoKSAhPSBiYXNlVmFsdWUpIHsKLSAgICAgICAgICAg
ICAgICBjb25kaXRpb25TZXQgPQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZUNvbmRpdGlv
bnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKLSAgICAgICAgICAgICAgICAgICAgICAgIHZtLCBj
b2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgc2xvdC5iYXNlKCksIGlkZW50LmltcGwoKSk7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFjb25kaXRpb25TZXQuaXNWYWxpZCgpKQorICAgICAgICAgICAg
ICAgIGJvb2wgdXNlc1BvbHlQcm90bzsKKyAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3ND
aGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLCBiYXNlQ2VsbCwgc2xvdC5iYXNlKCksIHVzZXNQb2x5UHJvdG8pOworICAgICAgICAg
ICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAgICAgICAgICAgICAgICAg
Ly8gSXQncyBpbnZhbGlkIHRvIGFjY2VzcyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7Ci0gICAgICAgICAgICAgICAgb2Zm
c2V0ID0gY29uZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCk7Ci0gICAgICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBvZmZzZXQgPSBzbG90LmNhY2hlZE9mZnNldCgp
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmICghdXNlc1BvbHlQcm90
bykgeworICAgICAgICAgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7
CisgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvblNldCA9CisgICAgICAgICAgICAgICAgICAg
ICAgICBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm90b3R5cGVQcm9wZXJ0eUhpdCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Qu
YmFzZSgpLCBpZGVudC5pbXBsKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmRpdGlv
blNldC5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25D
YWNoZTsKKworICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvZmZzZXQgPT0gY29u
ZGl0aW9uU2V0LnNsb3RCYXNlQ29uZGl0aW9uKCkub2Zmc2V0KCkpOworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBuZXdDYXNlID0gR2V0dGVyU2V0dGVy
QWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIEFjY2Vz
c0Nhc2U6OlNldHRlciwgc3RydWN0dXJlLCBvZmZzZXQsIGNvbmRpdGlvblNldCk7CisgICAgICAg
ICAgICAgICAgdm0sIGNvZGVCbG9jaywgQWNjZXNzQ2FzZTo6U2V0dGVyLCBzdHJ1Y3R1cmUsIG9m
ZnNldCwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAgICAg
ICAgIH0KICAgICB9CiAKQEAgLTUxNywxNSArNTcxLDM1IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFj
dGlvbiB0cnlSZXBhdGNoSW4oCiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgCisgICAgc3RkOjp1bmlx
dWVfcHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiBwcm90b3R5cGVBY2Nlc3NDaGFpbjsKICAgICBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CiAgICAgaWYgKHdhc0ZvdW5k
KSB7CiAgICAgICAgIGlmIChzbG90LnNsb3RCYXNlKCkgIT0gYmFzZSkgewotICAgICAgICAgICAg
Y29uZGl0aW9uU2V0ID0gZ2VuZXJhdGVDb25kaXRpb25zRm9yUHJvdG90eXBlUHJvcGVydHlIaXQo
Ci0gICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBzbG90LnNs
b3RCYXNlKCksIGlkZW50LmltcGwoKSk7CisgICAgICAgICAgICBib29sIHVzZXNQb2x5UHJvdG87
CisgICAgICAgICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWlu
OjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9s
eVByb3RvKTsKKyAgICAgICAgICAgIGlmICghcHJvdG90eXBlQWNjZXNzQ2hhaW4pIHsKKyAgICAg
ICAgICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWNjZXNzIHRoaXMgcHJvdG90eXBlIHByb3Bl
cnR5LgorICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAgICAgICAgICAgcHJv
dG90eXBlQWNjZXNzQ2hhaW4gPSBudWxscHRyOworICAgICAgICAgICAgICAgIGNvbmRpdGlvblNl
dCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3RvdHlwZVByb3BlcnR5SGl0KAorICAgICAgICAg
ICAgICAgICAgICB2bSwgY29kZUJsb2NrLCBleGVjLCBzdHJ1Y3R1cmUsIHNsb3Quc2xvdEJhc2Uo
KSwgaWRlbnQuaW1wbCgpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSB7
Ci0gICAgICAgIGNvbmRpdGlvblNldCA9IGdlbmVyYXRlQ29uZGl0aW9uc0ZvclByb3BlcnR5TWlz
cygKLSAgICAgICAgICAgIHZtLCBjb2RlQmxvY2ssIGV4ZWMsIHN0cnVjdHVyZSwgaWRlbnQuaW1w
bCgpKTsKKyAgICAgICAgYm9vbCB1c2VzUG9seVByb3RvOworICAgICAgICBwcm90b3R5cGVBY2Nl
c3NDaGFpbiA9IFBvbHlQcm90b0FjY2Vzc0NoYWluOjpjcmVhdGUoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBiYXNlLCBzbG90LCB1c2VzUG9seVByb3RvKTsKKyAgICAgICAgaWYgKCFwcm90
b3R5cGVBY2Nlc3NDaGFpbikgeworICAgICAgICAgICAgLy8gSXQncyBpbnZhbGlkIHRvIGFjY2Vz
cyB0aGlzIHByb3RvdHlwZSBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNh
Y2hlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF1c2VzUG9seVByb3RvKSB7CisgICAgICAg
ICAgICBwcm90b3R5cGVBY2Nlc3NDaGFpbiA9IG51bGxwdHI7CisgICAgICAgICAgICBjb25kaXRp
b25TZXQgPSBnZW5lcmF0ZUNvbmRpdGlvbnNGb3JQcm9wZXJ0eU1pc3MoCisgICAgICAgICAgICAg
ICAgdm0sIGNvZGVCbG9jaywgZXhlYywgc3RydWN0dXJlLCBpZGVudC5pbXBsKCkpOworICAgICAg
ICB9CiAgICAgfQogICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkKICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CkBAIC01MzMsNyArNjA3LDcgQEAgc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBMT0dfSUMoKElDRXZlbnQ6OkluQWRkQWNjZXNzQ2Fz
ZSwgc3RydWN0dXJlLT5jbGFzc0luZm8oKSwgaWRlbnQpKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxBY2Nlc3NDYXNlPiBuZXdDYXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlKAotICAgICAgICB2bSwg
Y29kZUJsb2NrLCB3YXNGb3VuZCA/IEFjY2Vzc0Nhc2U6OkluSGl0IDogQWNjZXNzQ2FzZTo6SW5N
aXNzLCBpbnZhbGlkT2Zmc2V0LCBzdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCk7CisgICAgICAgIHZt
LCBjb2RlQmxvY2ssIHdhc0ZvdW5kID8gQWNjZXNzQ2FzZTo6SW5IaXQgOiBBY2Nlc3NDYXNlOjpJ
bk1pc3MsIGludmFsaWRPZmZzZXQsIHN0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHBy
b3RvdHlwZUFjY2Vzc0NoYWluKSk7CiAKICAgICBBY2Nlc3NHZW5lcmF0aW9uUmVzdWx0IHJlc3Vs
dCA9IHN0dWJJbmZvLmFkZEFjY2Vzc0Nhc2UobG9ja2VyLCBjb2RlQmxvY2ssIGlkZW50LCBXVEZN
b3ZlKG5ld0Nhc2UpKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjY3
LDYgKzY2NywyNCBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfZ2V0X2J5X2lkCiAg
ICAgICAgICYmIGJhc2VWYWx1ZS5pc0NlbGwoKQogICAgICAgICAmJiBzbG90LmlzQ2FjaGVhYmxl
KCkpIHsKIAorICAgICAgICB7CisgICAgICAgICAgICBTdHJ1Y3R1cmVJRCBvbGRTdHJ1Y3R1cmVJ
RCA9IHBjWzRdLnUuc3RydWN0dXJlSUQ7CisgICAgICAgICAgICBpZiAob2xkU3RydWN0dXJlSUQp
IHsKKyAgICAgICAgICAgICAgICBhdXRvIG9wY29kZSA9IEludGVycHJldGVyOjpnZXRPcGNvZGVJ
RChwY1swXSk7CisgICAgICAgICAgICAgICAgaWYgKG9wY29kZSA9PSBvcF9nZXRfYnlfaWQKKyAg
ICAgICAgICAgICAgICAgICAgfHwgb3Bjb2RlID09IG9wX2dldF9ieV9pZF91bnNldAorICAgICAg
ICAgICAgICAgICAgICB8fCBvcGNvZGUgPT0gb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWQpIHsKKyAg
ICAgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBhID0gdm0uaGVhcC5zdHJ1Y3R1cmVJRFRhYmxl
KCkuZ2V0KG9sZFN0cnVjdHVyZUlEKTsKKyAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlKiBi
ID0gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOworCisgICAgICAgICAgICAgICAg
ICAgIGlmIChTdHJ1Y3R1cmU6OnNob3VsZENvbnZlcnRUb1BvbHlQcm90byhhLCBiKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90
b1dhdGNocG9pbnQoKS5nZXQoKSA9PSBiLT5yYXJlRGF0YSgpLT5zaGFyZWRQb2x5UHJvdG9XYXRj
aHBvaW50KCkuZ2V0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgYS0+cmFyZURhdGEoKS0+
c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpLT5pbnZhbGlkYXRlKHZtLCBTdHJpbmdGaXJlRGV0
YWlsKCJEZXRlY3RlZCBwb2x5IHByb3RvIG9wcG9ydHVuaXR5LiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAg
ICAgICAgIEpTQ2VsbCogYmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAgICAgICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZUNlbGwtPnN0cnVjdHVyZSgpOwogICAgICAgICBpZiAo
c2xvdC5pc1ZhbHVlKCkgJiYgc2xvdC5zbG90QmFzZSgpID09IGJhc2VWYWx1ZSkgewpAQCAtNzM3
LDYgKzc1NSwyMiBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfcHV0X2J5X2lkCiAg
ICAgICAgICYmIGJhc2VWYWx1ZS5pc0NlbGwoKQogICAgICAgICAmJiBzbG90LmlzQ2FjaGVhYmxl
UHV0KCkpIHsKIAorCisgICAgICAgIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZUlEIG9sZFN0cnVj
dHVyZUlEID0gcGNbNF0udS5zdHJ1Y3R1cmVJRDsKKyAgICAgICAgICAgIGlmIChvbGRTdHJ1Y3R1
cmVJRCkgeworICAgICAgICAgICAgICAgIFN0cnVjdHVyZSogYSA9IHZtLmhlYXAuc3RydWN0dXJl
SURUYWJsZSgpLmdldChvbGRTdHJ1Y3R1cmVJRCk7CisgICAgICAgICAgICAgICAgU3RydWN0dXJl
KiBiID0gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUodm0pOworICAgICAgICAgICAgICAg
IGlmIChzbG90LnR5cGUoKSA9PSBQdXRQcm9wZXJ0eVNsb3Q6Ok5ld1Byb3BlcnR5KQorICAgICAg
ICAgICAgICAgICAgICBiID0gYi0+cHJldmlvdXNJRCgpOworCisgICAgICAgICAgICAgICAgaWYg
KFN0cnVjdHVyZTo6c2hvdWxkQ29udmVydFRvUG9seVByb3RvKGEsIGIpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQoKS0+aW52
YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0ZWQgcG9seSBwcm90byBvcHBvcnR1
bml0eS4iKSk7CisgICAgICAgICAgICAgICAgICAgIGItPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQ
cm90b1dhdGNocG9pbnQoKS0+aW52YWxpZGF0ZSh2bSwgU3RyaW5nRmlyZURldGFpbCgiRGV0ZWN0
ZWQgcG9seSBwcm90byBvcHBvcnR1bml0eS4iKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgLy8gU3RhcnQgb3V0IGJ5IGNsZWFyaW5nIG91
dCB0aGUgb2xkIGNhY2hlLgogICAgICAgICBwY1s0XS51LnBvaW50ZXIgPSBudWxscHRyOyAvLyBv
bGQgc3RydWN0dXJlCiAgICAgICAgIHBjWzVdLnUucG9pbnRlciA9IG51bGxwdHI7IC8vIG9mZnNl
dApAQCAtNzYwLDE2ICs3OTQsMTcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX3B1
dF9ieV9pZAogICAgICAgICAgICAgICAgIGlmICghc3RydWN0dXJlLT5pc0RpY3Rpb25hcnkoKSAm
JiBzdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSA9PSBzdHJ1Y3R1
cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZS0+cHJldmlvdXNJRCgpLT50cmFuc2l0aW9uV2F0Y2hwb2ludFNldEhhc0JlZW5JbnZh
bGlkYXRlZCgpKTsKIAotICAgICAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplUHJvdG90eXBl
Q2hhaW4oZXhlYywgc3RydWN0dXJlKSAhPSBJbnZhbGlkUHJvdG90eXBlQ2hhaW4pIHsKKyAgICAg
ICAgICAgICAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICAgICAgYXV0byByZXN1bHQgPSBub3JtYWxpemVQcm90b3R5cGVDaGFpbihleGVjLCBiYXNlQ2Vs
bCwgc2F3UG9seVByb3RvKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAhPSBJbnZh
bGlkUHJvdG90eXBlQ2hhaW4gJiYgIXNhd1BvbHlQcm90bykgewogICAgICAgICAgICAgICAgICAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZS0+cHJldmlvdXNJRCgpLT5pc09iamVjdCgpKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjWzRdLnUuc3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmUtPnByZXZp
b3VzSUQoKS0+aWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzVdLnUub3BlcmFuZCA9
IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBwY1s2XS51LnN0
cnVjdHVyZUlEID0gc3RydWN0dXJlLT5pZCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCEocGNbOF0udS5wdXRCeUlkRmxhZ3MgJiBQdXRCeUlkSXNEaXJlY3QpKSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RydWN0dXJlQ2hhaW4qIGNoYWluID0gc3RydWN0dXJlLT5wcm90
b3R5cGVDaGFpbihleGVjKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmVD
aGFpbiogY2hhaW4gPSBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGFzT2JqZWN0KGJh
c2VDZWxsKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJUKGNoYWluKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s3XS51LnN0cnVjdHVyZUNoYWluLnNldCgKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm0sIGNvZGVCbG9jaywgY2hhaW4pOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBjWzddLnUuc3RydWN0dXJlQ2hhaW4uc2V0KHZtLCBj
b2RlQmxvY2ssIGNoYWluKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgICAgIHBjWzhdLnUucHV0QnlJZEZsYWdzID0gc3RhdGljX2Nhc3Q8UHV0QnlJZEZs
YWdzPigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY1s4XS51LnB1dEJ5SWRGbGFncyB8
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5
cGUuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiwxMCArNTIyLDkgQEAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGlubGluZSBib29sIAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShF
eGVjU3RhdGUmIHN0YXRlLCBKU09iamVjdCogb2JqZWN0KQorc3RhdGljIGlubGluZSBib29sIGhv
bGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBvYmplY3QpCiB7Ci0g
ICAgYXV0byYgdm0gPSBzdGF0ZS52bSgpOwotICAgIHJldHVybiBvYmplY3QtPnN0cnVjdHVyZSh2
bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSk7CisgICAgcmV0dXJuIG9iamVjdC0+
c3RydWN0dXJlKHZtKS0+aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBvYmplY3QpOwog
fQogCiBzdGF0aWMgSlNWYWx1ZSBzbG93Sm9pbihFeGVjU3RhdGUmIGV4ZWMsIEpTT2JqZWN0KiB0
aGlzT2JqZWN0LCBKU1N0cmluZyogc2VwYXJhdG9yLCB1aW50NjRfdCBsZW5ndGgpCkBAIC02MTAs
NyArNjA5LDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGZhc3RKb2luKEV4ZWNTdGF0ZQogICAg
ICAgICAgICAgICAgICAgICBnb3RvIGdlbmVyYWxDYXNlOwogICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICBpZiAoIWhvbGVzS25vd25Ub0JlT0spIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKGhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZShzdGF0ZSwgdGhpc09iamVjdCkp
CisgICAgICAgICAgICAgICAgICAgIGlmIChob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0s
IHRoaXNPYmplY3QpKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBnZW5lcmFsQ2FzZTsK
ICAgICAgICAgICAgICAgICAgICAgaG9sZXNLbm93blRvQmVPSyA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgfQpAQCAtNjM0LDcgKzYzMyw3IEBAIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBmYXN0Sm9p
bihFeGVjU3RhdGUKICAgICAgICAgICAgICAgICBqb2luZXIuYXBwZW5kKHN0YXRlLCBqc0RvdWJs
ZU51bWJlcih2YWx1ZSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgaWYg
KCFob2xlc0tub3duVG9CZU9LKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgICAg
ICAgICAgICAgICAgICBpZiAoaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCB0aGlzT2Jq
ZWN0KSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZ2VuZXJhbENhc2U7CiAgICAgICAg
ICAgICAgICAgICAgIGhvbGVzS25vd25Ub0JlT0sgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0K
QEAgLTgxNiw3ICs4MTUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJv
dG9GCiAgICAgICAgIGlmIChsZW5ndGggPiBidXR0ZXJmbHkucHVibGljTGVuZ3RoKCkpCiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgYXV0byBkYXRhID0gYnV0dGVyZmx5LmNvbnRpZ3VvdXMo
KS5kYXRhKCk7Ci0gICAgICAgIGlmIChjb250YWluc0hvbGUoZGF0YSwgbGVuZ3RoKSAmJiBob2xl
c011c3RGb3J3YXJkVG9Qcm90b3R5cGUoKmV4ZWMsIHRoaXNPYmplY3QpKQorICAgICAgICBpZiAo
Y29udGFpbnNIb2xlKGRhdGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KHZtLCB0aGlzT2JqZWN0KSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBzdGQ6OnJldmVy
c2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
dGhpc09iamVjdCk7CkBAIC04MjYsNyArODI1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBhcnJheVByb3RvRgogICAgICAgICBpZiAobGVuZ3RoID4gYnV0dGVyZmx5LnB1YmxpY0xl
bmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IGJ1dHRlcmZs
eS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpOwotICAgICAgICBpZiAoY29udGFpbnNIb2xlKGRh
dGEsIGxlbmd0aCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKCpleGVjLCB0aGlzT2Jq
ZWN0KSkKKyAgICAgICAgaWYgKGNvbnRhaW5zSG9sZShkYXRhLCBsZW5ndGgpICYmIGhvbGVzTXVz
dEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpc09iamVjdCkpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgc3RkOjpyZXZlcnNlKGRhdGEsIGRhdGEgKyBsZW5ndGgpOwogICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmplY3QpOwpAQCAtODM1LDcgKzgzNCw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgYXV0byYgc3RvcmFn
ZSA9ICp0aGlzT2JqZWN0LT5idXR0ZXJmbHkoKS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlm
IChsZW5ndGggPiBzdG9yYWdlLnZlY3Rvckxlbmd0aCgpKQogICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGlmIChzdG9yYWdlLmhhc0hvbGVzKCkgJiYgaG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90
eXBlKCpleGVjLCB0aGlzT2JqZWN0KSkKKyAgICAgICAgaWYgKHN0b3JhZ2UuaGFzSG9sZXMoKSAm
JiBob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXNPYmplY3QpKQogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGF1dG8gZGF0YSA9IHN0b3JhZ2UudmVjdG9yKCkuZGF0YSgpOwog
ICAgICAgICBzdGQ6OnJldmVyc2UoZGF0YSwgZGF0YSArIGxlbmd0aCk7CkBAIC0xMTc2LDcgKzEx
NzUsNyBAQCBzdGF0aWMgYm9vbCBtb3ZlRWxlbWVudHMoRXhlY1N0YXRlKiBleGVjCiB7CiAgICAg
YXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKExJS0VMWSgh
aGFzQW55QXJyYXlTdG9yYWdlKHNvdXJjZS0+aW5kZXhpbmdUeXBlKCkpICYmICFzb3VyY2UtPnN0
cnVjdHVyZSgpLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSkgeworICAgIGlmIChM
SUtFTFkoIWhhc0FueUFycmF5U3RvcmFnZShzb3VyY2UtPmluZGV4aW5nVHlwZSgpKSAmJiAhaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtLCBzb3VyY2UpKSkgewogICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgc291cmNlTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIEpTVmFs
dWUgdmFsdWUgPSBzb3VyY2UtPnRyeUdldEluZGV4UXVpY2tseShpKTsKICAgICAgICAgICAgIGlm
ICh2YWx1ZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ2xvbmVkQXJn
dW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bG9uZWRBcmd1bWVudHMuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9DbG9uZWRBcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwx
MCArNDksOSBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgQnV0dGVyZmx5KiBidXR0ZXJmbHk7Ci0gICAgaWYgKFVOTElL
RUxZKHN0cnVjdHVyZS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSkpIHsKKyAgICBpZiAoVU5MSUtF
TFkoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBzdHJ1Y3R1cmUt
PnN0b3JlZFByb3RvdHlwZU9iamVjdCgpLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKSkgewogICAg
ICAgICBidXR0ZXJmbHkgPSBjcmVhdGVBcnJheVN0b3JhZ2VCdXR0ZXJmbHkodm0sIG51bGxwdHIs
IHN0cnVjdHVyZSwgbGVuZ3RoLCB2ZWN0b3JMZW5ndGgpOwogICAgICAgICBidXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpLT5tX251bVZhbHVlc0luVmVjdG9yID0gdmVjdG9yTGVuZ3RoOwotCiAgICAg
fSBlbHNlIHsKICAgICAgICAgSW5kZXhpbmdIZWFkZXIgaW5kZXhpbmdIZWFkZXI7CiAgICAgICAg
IGluZGV4aW5nSGVhZGVyLnNldFZlY3Rvckxlbmd0aCh2ZWN0b3JMZW5ndGgpOwpAQCAtODEsNyAr
ODAsNyBAQCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgLy8g
TkIuIFNvbWUgY2xpZW50cyBtaWdodCBleHBlY3QgdGhhdCB0aGUgZ2xvYmFsIG9iamVjdCBvZiBv
ZiB0aGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdAogICAgIC8vIG9mIHRoZSBjYWxsZWUu
IFdlIGRvbid0IGRvIHRoaXMgZm9yIG5vdywgYnV0IG1heWJlIHdlIHNob3VsZC4KICAgICBDbG9u
ZWRBcmd1bWVudHMqIHJlc3VsdCA9IGNyZWF0ZUVtcHR5KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCktPmNsb25lZEFyZ3VtZW50c1N0cnVjdHVyZSgpLCBjYWxsZWUsIGxlbmd0aCk7Ci0g
ICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkg
fHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgp
KSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkgfHwgc2hvdWxk
VXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSh2bSktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI1LDE0ICsxMjQsMTQgQEAgQ2xvbmVkQXJndW1lbnRz
KiBDbG9uZWRBcmd1bWVudHM6OmNyZWF0ZQogICAgIH0gfQogCiAgICAgQVNTRVJUKG15RnJhbWUt
PmxleGljYWxHbG9iYWxPYmplY3QoKS0+Y2xvbmVkQXJndW1lbnRzU3RydWN0dXJlKCkgPT0gcmVz
dWx0LT5zdHJ1Y3R1cmUoKSk7Ci0gICAgQVNTRVJUKCFyZXN1bHQtPnN0cnVjdHVyZSgpLT5uZWVk
c1Nsb3dQdXRJbmRleGluZygpIHx8IHNob3VsZFVzZVNsb3dQdXQocmVzdWx0LT5zdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NFUlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5k
ZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogQ2xvbmVkQXJndW1lbnRzKiBDbG9u
ZWRBcmd1bWVudHM6OmNyZWF0ZVdpdGhNYWNoaW5lRnJhbWUoRXhlY1N0YXRlKiBteUZyYW1lLCBF
eGVjU3RhdGUqIHRhcmdldEZyYW1lLCBBcmd1bWVudHNNb2RlIG1vZGUpCiB7CiAgICAgQ2xvbmVk
QXJndW1lbnRzKiByZXN1bHQgPSBjcmVhdGVXaXRoSW5saW5lRnJhbWUobXlGcmFtZSwgdGFyZ2V0
RnJhbWUsIG51bGxwdHIsIG1vZGUpOwotICAgIEFTU0VSVCghcmVzdWx0LT5zdHJ1Y3R1cmUoKS0+
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJlc3VsdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CisgICAgQVNTRVJUKCFyZXN1bHQtPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkgfHwgc2hvdWxkVXNlU2xvd1B1dChyZXN1bHQtPnN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0NSw3ICsxNDQsNyBA
QCBDbG9uZWRBcmd1bWVudHMqIENsb25lZEFyZ3VtZW50czo6Y3JlYXRlCiAgICAgCiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gbGVuZ3RoOyBpLS07KQogICAgICAgICByZXN1bHQtPnB1dERpcmVjdElu
ZGV4KGV4ZWMsIGksIGFyZ3VtZW50U3RhcnRbaV0uanNWYWx1ZSgpKTsKLSAgICBBU1NFUlQoIXJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VT
bG93UHV0KHJlc3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICBBU1NF
UlQoIXJlc3VsdC0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSB8fCBzaG91bGRVc2VTbG93UHV0KHJl
c3VsdC0+c3RydWN0dXJlKHZtKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0
aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
blNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvbW1vblNsb3dQYXRocy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Miw2ICsy
NDIsOCBAQCBTTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY3JlYXRlX3RoaXMpCiAgICAgICAgIHNp
emVfdCBpbmxpbmVDYXBhY2l0eSA9IHBjWzNdLnUub3BlcmFuZDsKICAgICAgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBjb25zdHJ1Y3Rvci0+cmFyZURhdGEoZXhlYywgaW5saW5lQ2FwYWNpdHkp
LT5vYmplY3RBbGxvY2F0aW9uUHJvZmlsZSgpLT5zdHJ1Y3R1cmUoKTsKICAgICAgICAgcmVzdWx0
ID0gY29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKKyAgICAgICAgaWYgKHN0
cnVjdHVyZS0+aGFzUG9seVByb3RvKCkpCisgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdCh2
bSwgc3RydWN0dXJlLT5wb2x5UHJvdG9PZmZzZXQoKSwgY29uc3RydWN0b3ItPnByb3RvdHlwZUZv
ckNvbnN0cnVjdGlvbih2bSwgZXhlYykpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIGh0dHA6
Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzYuMC8jc2VjLW9yZGluYXJ5Y3JlYXRl
ZnJvbWNvbnN0cnVjdG9yCiAgICAgICAgIEpTVmFsdWUgcHJvdG8gPSBjb25zdHJ1Y3RvckFzT2Jq
ZWN0LT5nZXQoZXhlYywgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0YWJsZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmNw
cAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVu
Y3Rpb25FeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQCB2b2lk
IEZ1bmN0aW9uRXhlY3V0YWJsZTo6dmlzaXRDaGlsZHJlbihKCiAgICAgICAgIGNvZGVCbG9ja0Zv
ckNvbnN0cnVjdC0+dmlzaXRXZWFrbHkodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV91bmxpbmtlZEV4ZWN1dGFibGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fc2luZ2xldG9uRnVuY3Rpb24pOworICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmpl
Y3QtPm1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlKTsKIH0KIAogRnVuY3Rpb25FeGVjdXRhYmxl
KiBGdW5jdGlvbkV4ZWN1dGFibGU6OmZyb21HbG9iYWxDb2RlKApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25FeGVjdXRhYmxlLmgJKHJldmlzaW9u
IDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uRXhlY3V0
YWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOSwgMjAxMCwgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsNiArMjcsNyBAQAogCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0YWJsZS5oIgogI2luY2x1ZGUgIlNvdXJjZUNvZGUuaCIKKyNp
bmNsdWRlIDx3dGYvQm94Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0xNzIsNiArMTczLDE4
IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX0lORk87CiAKICAgICBJbmZlcnJlZFZhbHVlKiBzaW5n
bGV0b25GdW5jdGlvbigpIHsgcmV0dXJuIG1fc2luZ2xldG9uRnVuY3Rpb24uZ2V0KCk7IH0KKyAg
ICAvLyBDYWNoZWQgcG9seSBwcm90byBzdHJ1Y3R1cmUgZm9yIHRoZSByZXN1bHQgb2YgY29uc3Ry
dWN0aW5nIHRoaXMgZXhlY3V0YWJsZS4KKyAgICBTdHJ1Y3R1cmUqIGNhY2hlZFBvbHlQcm90b1N0
cnVjdHVyZSgpIHsgcmV0dXJuIG1fY2FjaGVkUG9seVByb3RvU3RydWN0dXJlLmdldCgpOyB9Cisg
ICAgdm9pZCBzZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkgeyBtX2NhY2hlZFBvbHlQcm90b1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIHN0cnVj
dHVyZSk7IH0KKworICAgIElubGluZVdhdGNocG9pbnRTZXQmIGVuc3VyZVBvbHlQcm90b1dhdGNo
cG9pbnQoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX3BvbHlQcm90b1dhdGNocG9pbnQpCisgICAg
ICAgICAgICBtX3BvbHlQcm90b1dhdGNocG9pbnQgPSBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD46
OmNyZWF0ZShJc1dhdGNoZWQpOworICAgICAgICByZXR1cm4gKm1fcG9seVByb3RvV2F0Y2hwb2lu
dDsKKyAgICB9CisKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gc2hhcmVkUG9seVByb3Rv
V2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9seVByb3RvV2F0Y2hwb2ludDsgfQogCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKQEAgLTE4OSw2ICsyMDIs
OCBAQCBwcml2YXRlOgogICAgIFdyaXRlQmFycmllcjxGdW5jdGlvbkNvZGVCbG9jaz4gbV9jb2Rl
QmxvY2tGb3JDb25zdHJ1Y3Q7CiAgICAgUmVmUHRyPFR5cGVTZXQ+IG1fcmV0dXJuU3RhdGVtZW50
VHlwZVNldDsKICAgICBXcml0ZUJhcnJpZXI8SW5mZXJyZWRWYWx1ZT4gbV9zaW5nbGV0b25GdW5j
dGlvbjsKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhY2hlZFBvbHlQcm90b1N0cnVj
dHVyZTsKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gbV9wb2x5UHJvdG9XYXRjaHBvaW50
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjIyODAxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc5LDkgKzc5LDkgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9u
UmFyZURhdGEoKQogewogfQogCi12b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmpl
Y3RBbGxvY2F0aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTT2JqZWN0KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKK3ZvaWQgRnVuY3Rp
b25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemUodm0sIGdsb2JhbE9iamVjdCwgdGhpcywgcHJvdG90
eXBlLCBpbmxpbmVDYXBhY2l0eSk7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0
aWFsaXplUHJvZmlsZSh2bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNh
cGFjaXR5LCBjb25zdHJ1Y3Rvcik7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIo
Y29uc3QgY2hhciogcmVhc29uKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBA
IC03OSw3ICs3OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXIoY29uc3QgY2hhciogcmVh
c29uKTsKIAotICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwg
SlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNp
dHkpOworICAgIHZvaWQgaW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCogcHJvdG90eXBlLCBzaXplX3QgaW5saW5lQ2FwYWNpdHks
IEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yKTsKIAogICAgIGJvb2wgaXNPYmplY3RBbGxvY2F0aW9u
UHJvZmlsZUluaXRpYWxpemVkKCkgeyByZXR1cm4gIW1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGUu
aXNOdWxsKCk7IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50ZXJu
YWxGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW50ZXJuYWxGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0ludGVybmFsRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC05NiwxMiArOTYsMTMgQEAgY29uc3QgU3RyaW5nIEludGVybmFsRnVuY3Rpb246OmNhbGN1bGF0
ZQogCiBTdHJ1Y3R1cmUqIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN1YmNsYXNzU3RydWN0dXJl
U2xvdyhFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgbmV3VGFyZ2V0LCBTdHJ1Y3R1cmUqIGJhc2VD
bGFzcykKIHsKLQogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEFTU0VSVCghbmV3VGFyZ2V0IHx8IG5ld1Rhcmdl
dC5pc0NvbnN0cnVjdG9yKCkpOwogICAgIEFTU0VSVChuZXdUYXJnZXQgJiYgbmV3VGFyZ2V0ICE9
IGV4ZWMtPmpzQ2FsbGVlKCkpOwogCisgICAgQVNTRVJUKGJhc2VDbGFzcy0+aGFzTW9ub1Byb3Rv
KCkpOworCiAgICAgLy8gbmV3VGFyZ2V0IG1heSBiZSBhbiBJbnRlcm5hbEZ1bmN0aW9uIGlmIHdl
IHdlcmUgY2FsbGVkIGZyb20gUmVmbGVjdC5jb25zdHJ1Y3QuCiAgICAgSlNGdW5jdGlvbiogdGFy
Z2V0RnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPih2bSwgbmV3VGFyZ2V0KTsK
ICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
YXkuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzM4LDcgKzczOCw3IEBAIEpTQXJyYXkq
IEpTQXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICBjYXNlIEFycmF5V2l0aEludDMy
OgogICAgIGNhc2UgQXJyYXlXaXRoQ29udGlndW91czogewogICAgICAgICBWTSYgdm0gPSBleGVj
LnZtKCk7Ci0gICAgICAgIGlmIChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0
cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSkpCisgICAgICAgIGlm
IChjb3VudCA+PSBNSU5fU1BBUlNFX0FSUkFZX0lOREVYIHx8IHN0cnVjdHVyZSh2bSktPmhvbGVz
TXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgdGhpcykpCiAgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCA9IGV4
ZWMubGV4aWNhbEdsb2JhbE9iamVjdCgpOwpAQCAtNzczLDcgKzc3Myw3IEBAIGJvb2wgSlNBcnJh
eTo6c2hpZnRDb3VudFdpdGhBcnJheVN0b3JhZ2UKICAgICAKICAgICAvLyBJZiB0aGUgYXJyYXkg
Y29udGFpbnMgaG9sZXMgb3IgaXMgb3RoZXJ3aXNlIGluIGFuIGFibm9ybWFsIHN0YXRlLAogICAg
IC8vIHVzZSB0aGUgZ2VuZXJpYyBhbGdvcml0aG0gaW4gQXJyYXlQcm90b3R5cGUuCi0gICAgaWYg
KChzdG9yYWdlLT5oYXNIb2xlcygpICYmIHRoaXMtPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZv
cndhcmRUb1Byb3RvdHlwZSh2bSkpIAorICAgIGlmICgoc3RvcmFnZS0+aGFzSG9sZXMoKSAmJiB0
aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMp
KSAKICAgICAgICAgfHwgaGFzU3BhcnNlTWFwKCkgCiAgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQ
dXQoaW5kZXhpbmdUeXBlKCkpKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTkwNCw3ICs5
MDQsNyBAQCBib29sIEpTQXJyYXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAg
IC8vIFdlIGhhdmUgdG8gY2hlY2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhp
bmdzIGFyb3VuZCBzbyB0aGF0IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJv
dWdoIHNoaWZ0aW5nIGFuZCB0aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJh
eVN0b3JhZ2UgbW9kZS4KICAgICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7
Ci0gICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90
b3R5cGUodm0pKSB7CisgICAgICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RG
b3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBzdGFydEluZGV4OyBpIDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBKU1ZhbHVl
IHYgPSBidXR0ZXJmbHktPmNvbnRpZ3VvdXMoKVtpICsgY291bnRdLmdldCgpOwogICAgICAgICAg
ICAgICAgIGlmIChVTkxJS0VMWSghdikpIHsKQEAgLTk0NSw3ICs5NDUsNyBAQCBib29sIEpTQXJy
YXk6OnNoaWZ0Q291bnRXaXRoQW55SW5kZXhpbmdUCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gY2hl
Y2sgZm9yIGhvbGVzIGJlZm9yZSB3ZSBzdGFydCBtb3ZpbmcgdGhpbmdzIGFyb3VuZCBzbyB0aGF0
IHdlIGRvbid0IGdldCBoYWxmd2F5IAogICAgICAgICAvLyB0aHJvdWdoIHNoaWZ0aW5nIGFuZCB0
aGVuIHJlYWxpemUgd2Ugc2hvdWxkIGhhdmUgYmVlbiBpbiBBcnJheVN0b3JhZ2UgbW9kZS4KICAg
ICAgICAgdW5zaWduZWQgZW5kID0gb2xkTGVuZ3RoIC0gY291bnQ7Ci0gICAgICAgIGlmICh0aGlz
LT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKSB7CisgICAg
ICAgIGlmICh0aGlzLT5zdHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUo
dm0sIHRoaXMpKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGFydEluZGV4OyBp
IDwgZW5kOyArK2kpIHsKICAgICAgICAgICAgICAgICBkb3VibGUgdiA9IGJ1dHRlcmZseS0+Y29u
dGlndW91c0RvdWJsZSgpW2kgKyBjb3VudF07CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KHYgIT0gdikpIHsKQEAgLTEyOTIsNyArMTI5Miw3IEBAIGJvb2wgSlNBcnJheTo6aXNJdGVyYXRv
clByb3RvY29sRmFzdEFuZE4KICAgICBpZiAoc3RydWN0dXJlLT5tYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5hcnJheVByb3RvdHlwZSgpKQorICAg
IGlmIChnZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmFycmF5UHJvdG90eXBl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+
dm0oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUlu
bGluZXMuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsOCArNjQsOCBAQCBpbmxp
bmUgYm9vbCBKU0FycmF5OjpjYW5GYXN0Q29weShWTSYgdm0sCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSB3YXRjaHBvaW50IGZvciBpbmRleGVk
IHByb3BlcnRpZXMgb24gQXJyYXkucHJvdG90eXBlIGFuZCBPYmplY3QucHJvdG90eXBlCiAgICAg
Ly8gaW5zdGVhZCBvZiB3YWxraW5nIHRoZSBwcm90b3R5cGUgY2hhaW4uIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTU1OTIKLSAgICBpZiAoc3RydWN0dXJlKHZtKS0+
aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKHZtKQotICAgICAgICB8fCBvdGhlckFycmF5LT5z
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAgIGlmIChz
dHJ1Y3R1cmUodm0pLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0sIHRoaXMpCisgICAg
ICAgIHx8IG90aGVyQXJyYXktPnN0cnVjdHVyZSh2bSktPmhvbGVzTXVzdEZvcndhcmRUb1Byb3Rv
dHlwZSh2bSwgb3RoZXJBcnJheSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFs
dWUuY3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NKU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3LDEzICsyNzcsMTMgQEAgdm9p
ZCBKU1ZhbHVlOjpkdW1wSW5Db250ZXh0QXNzdW1pbmdTdHJ1YwogICAgICAgICBlbHNlIGlmIChz
dHJ1Y3R1cmUtPmNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoSlNPYmplY3Q6OmluZm8oKSkpIHsK
ICAgICAgICAgICAgIG91dC5wcmludCgiT2JqZWN0OiAiLCBSYXdQb2ludGVyKGFzQ2VsbCgpKSk7
CiAgICAgICAgICAgICBvdXQucHJpbnQoIiB3aXRoIGJ1dHRlcmZseSAiLCBSYXdQb2ludGVyKGFz
T2JqZWN0KGFzQ2VsbCgpKS0+YnV0dGVyZmx5KCkpKTsKLSAgICAgICAgICAgIG91dC5wcmludCgi
ICgiLCBpbkNvbnRleHQoKnN0cnVjdHVyZSwgY29udGV4dCksICIpIik7CisgICAgICAgICAgICBv
dXQucHJpbnQoIiAoU3RydWN0dXJlICIsIGluQ29udGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwg
IikiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG91dC5wcmludCgiQ2VsbDogIiwg
UmF3UG9pbnRlcihhc0NlbGwoKSkpOwogICAgICAgICAgICAgb3V0LnByaW50KCIgKCIsIGluQ29u
dGV4dCgqc3RydWN0dXJlLCBjb250ZXh0KSwgIikiKTsKICAgICAgICAgfQogI2lmIFVTRShKU1ZB
TFVFNjQpCi0gICAgICAgIG91dC5wcmludCgiLCBJRDogIiwgYXNDZWxsKCktPnN0cnVjdHVyZUlE
KCkpOworICAgICAgICBvdXQucHJpbnQoIiwgU3RydWN0dXJlSUQ6ICIsIGFzQ2VsbCgpLT5zdHJ1
Y3R1cmVJRCgpKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoaXNUcnVlKCkpCiAgICAgICAgIG91
dC5wcmludCgiVHJ1ZSIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBA
CiAKICNpbmNsdWRlICJBc3luY0dlbmVyYXRvclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkJ1aWx0
aW5OYW1lcy5oIgorI2luY2x1ZGUgIkNhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJDbG9uZWRBcmd1
bWVudHMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJDb21tb25JZGVudGlm
aWVycy5oIgpAQCAtMTI2LDE2ICsxMjcsMjQgQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlv
bjo6YWxsb2NhdGVSYQogICAgIHJldHVybiBtX3JhcmVEYXRhLmdldCgpOwogfQogCitKU09iamVj
dCogSlNGdW5jdGlvbjo6cHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZNJiB2bSwgRXhlY1N0YXRl
KiBleGVjKQoreworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHZtKTsKKyAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IGdldChleGVjLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUpOworICAgIEFTU0VSVF9VTlVTRUQoc2NvcGUsICFzY29wZS5leGNlcHRpb24oKSk7CisgICAg
aWYgKHByb3RvdHlwZS5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4gYXNPYmplY3QocHJvdG90
eXBlKTsKKworICAgIHJldHVybiBnbG9iYWxPYmplY3Qodm0pLT5vYmplY3RQcm90b3R5cGUoKTsK
K30KKwogRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6YWxsb2NhdGVBbmRJbml0aWFsaXpl
UmFyZURhdGEoRXhlY1N0YXRlKiBleGVjLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkpCiB7CiAgICAg
QVNTRVJUKCFtX3JhcmVEYXRhKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIEpTT2Jq
ZWN0KiBwcm90b3R5cGUgPSBqc0R5bmFtaWNDYXN0PEpTT2JqZWN0Kj4odm0sIGdldChleGVjLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUpKTsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KHZtKTsKLSAgICBpZiAoIXByb3RvdHlwZSkKLSAg
ICAgICAgcHJvdG90eXBlID0gZ2xvYmFsT2JqZWN0LT5vYmplY3RQcm90b3R5cGUoKTsKKyAgICBK
U09iamVjdCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKTsK
ICAgICBGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0YSA9IEZ1bmN0aW9uUmFyZURhdGE6OmNyZWF0
ZSh2bSk7Ci0gICAgcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICByYXJlRGF0
YS0+aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKHZtLCBnbG9iYWxPYmplY3Qodm0p
LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCB0aGlzKTsKIAogICAgIC8vIEEgREZHIGNvbXBp
bGF0aW9uIHRocmVhZCBtYXkgYmUgdHJ5aW5nIHRvIHJlYWQgdGhlIHJhcmUgZGF0YQogICAgIC8v
IFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgc2VlcyBpdCBwcm9wZXJseSBhbGxvY2F0ZWQKQEAg
LTE0OSwxMSArMTU4LDggQEAgRnVuY3Rpb25SYXJlRGF0YSogSlNGdW5jdGlvbjo6aW5pdGlhbGl6
ZQogewogICAgIEFTU0VSVCghIW1fcmFyZURhdGEpOwogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
Ci0gICAgSlNPYmplY3QqIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNPYmplY3QqPih2bSwg
Z2V0KGV4ZWMsIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSkpOwotICAgIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3Qodm0pOwotICAgIGlmICghcHJv
dG90eXBlKQotICAgICAgICBwcm90b3R5cGUgPSBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlw
ZSgpOwotICAgIG1fcmFyZURhdGEtPmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBKU09iamVj
dCogcHJvdG90eXBlID0gcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKHZtLCBleGVjKTsKKyAgICBt
X3JhcmVEYXRhLT5pbml0aWFsaXplT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUodm0sIGdsb2JhbE9i
amVjdCh2bSksIHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIHRoaXMpOwogICAgIHJldHVybiBt
X3JhcmVEYXRhLmdldCgpOwogfQogCkBAIC0zNzEsNyArMzc3LDYgQEAgYm9vbCBKU0Z1bmN0aW9u
OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYgogICAgICAgICAgICAgb2Zmc2V0ID0gdGhpc09iamVj
dC0+Z2V0RGlyZWN0T2Zmc2V0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGF0dHJp
YnV0ZXMpOwogICAgICAgICAgICAgQVNTRVJUKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CiAgICAg
ICAgIH0KLQogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIGF0dHJpYnV0ZXMsIHRo
aXNPYmplY3QtPmdldERpcmVjdChvZmZzZXQpLCBvZmZzZXQpOwogICAgIH0KIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkocmV2aXNpb24gMjIyODAx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDgsNiArMTQ4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGdW5jdGlv
bk5hbWUoRXhlY1N0YXRlKiwgSlNWYWx1ZSBuYW1lKTsKIAorICAgIC8vIFJldHVybnMgdGhlIF9f
cHJvdG9fXyBmb3IgdGhlIHx0aGlzfCB2YWx1ZSBpZiB0aGlzIEpTRnVuY3Rpb24gd2VyZSB0byBi
ZSBjb25zdHJ1Y3RlZC4KKyAgICBKU09iamVjdCogcHJvdG90eXBlRm9yQ29uc3RydWN0aW9uKFZN
JiwgRXhlY1N0YXRlKik7CisKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1
bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9u
KFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTWFwLmNwcAkocmV2aXNpb24gMjIyODAxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNYXAuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNNYXA6OmlzSXRlcmF0b3JQcm90b2NvbEZhc3RBbmRO
b24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+bWFwU3RydWN0dXJlKCkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBl
KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKKyAgICBpZiAoZ2V0UHJvdG90eXBl
RGlyZWN0KCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOwpAQCAtNzMsNiArNzMs
OSBAQCBib29sIEpTTWFwOjpjYW5DbG9uZUZhc3RBbmROb25PYnNlcnZhYmxlCiAgICAgICAgIGlm
ICghZ2xvYmFsT2JqZWN0LT5pc01hcFByb3RvdHlwZVNldEZhc3RBbmROb25PYnNlcnZhYmxlKCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFz
UG9seVByb3RvKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHN0
cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5tYXBQcm90b3R5cGUo
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NzAs
NyArNzcwLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0SW5saW5lU2xvdyhFeGVjU3RhdGUqIAogICAg
ICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSh2bSktPmdldCh2bSwg
cHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zm
c2V0KSkgewogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKHZtKS0+cHJvdG90
eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0
aGlzKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQodGhpcy0+cHJvdG90eXBlQ2hhaW5NYXlJbnRl
cmNlcHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpIHx8IG9iaiA9PSB0aGlzKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHlwZUVycm9yKGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgp
LCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICAgICAgICAg
IH0KIApAQCAtMTAxNiw3ICsxMDE2LDcgQEAgQnV0dGVyZmx5KiBKU09iamVjdDo6Y3JlYXRlSW5p
dGlhbEluZGV4ZQogICAgIEFTU0VSVChsZW5ndGggPD0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdU
SCk7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBpbmRleGluZ1R5cGUoKTsKICAgICBBU1NF
UlRfVU5VU0VEKG9sZFR5cGUsICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7Ci0gICAg
QVNTRVJUKCFzdHJ1Y3R1cmUoKS0+bmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CisgICAgQVNTRVJU
KCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxkQmVT
cGFyc2UoKSk7CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSB0aGlzLT5zdHJ1Y3R1cmUodm0p
OwogICAgIHVuc2lnbmVkIHByb3BlcnR5Q2FwYWNpdHkgPSBzdHJ1Y3R1cmUtPm91dE9mTGluZUNh
cGFjaXR5KCk7CkBAIC0xMTEyLDcgKzExMTIsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpj
cmVhdGVBcnJheVN0b3JhCiAKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IGNyZWF0ZUFy
cmF5U3RvcmFnZUJ1dHRlcmZseSh2bSwgdGhpcywgb2xkU3RydWN0dXJlLCBsZW5ndGgsIHZlY3Rv
ckxlbmd0aCwgbV9idXR0ZXJmbHkuZ2V0TWF5QmVOdWxsKCkpOwogICAgIEFycmF5U3RvcmFnZSog
cmVzdWx0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKLSAgICBTdHJ1Y3R1cmUqIG5l
d1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBvbGRTdHJ1
Y3R1cmUsIG9sZFN0cnVjdHVyZS0+c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpKTsK
KyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFu
c2l0aW9uKHZtLCBvbGRTdHJ1Y3R1cmUsIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CiAgICAgbnVrZVN0cnVjdHVyZUFuZFNldEJ1dHRlcmZseSh2bSwgb2xkU3RydWN0dXJlSUQs
IG5ld0J1dHRlcmZseSk7CiAgICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwogICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xMjA3LDcgKzEyMDcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0Ojpjb252ZXJ0VW5kZWNpZGVkCiAKIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRV
bmRlY2lkZWRUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRVbmRl
Y2lkZWRUb0FycmF5U3RvcmFnZSh2bSwgc3RydWN0dXJlKHZtKS0+c3VnZ2VzdGVkQXJyYXlTdG9y
YWdlVHJhbnNpdGlvbigpKTsKKyAgICByZXR1cm4gY29udmVydFVuZGVjaWRlZFRvQXJyYXlTdG9y
YWdlKHZtLCBzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOwogfQogCiBDb250aWd1
b3VzRG91YmxlcyBKU09iamVjdDo6Y29udmVydEludDMyVG9Eb3VibGUoVk0mIHZtKQpAQCAtMTI2
NSw3ICsxMjY1LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29udmVydEludDMyVG9Bcgog
CiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0Ojpjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZShWTSYg
dm0pCiB7Ci0gICAgcmV0dXJuIGNvbnZlcnRJbnQzMlRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1
cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBj
b252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSwgc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNp
dGlvbigpKTsKIH0KIAogQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0Ojpjb252ZXJ0RG91Ymxl
VG9Db250aWd1b3VzKFZNJiB2bSkKQEAgLTEzMTgsNyArMTMxOCw3IEBAIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNvbnZlcnREb3VibGVUb0EKIAogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y29u
dmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKFZNJiB2bSkKIHsKLSAgICByZXR1cm4gY29udmVydERv
dWJsZVRvQXJyYXlTdG9yYWdlKHZtLCBzdHJ1Y3R1cmUodm0pLT5zdWdnZXN0ZWRBcnJheVN0b3Jh
Z2VUcmFuc2l0aW9uKCkpOworICAgIHJldHVybiBjb252ZXJ0RG91YmxlVG9BcnJheVN0b3JhZ2Uo
dm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CiB9CiAKIEFycmF5U3RvcmFn
ZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2UoVk0mIHZtLCBOb25Q
cm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTEzNjcsNyArMTM2Nyw3IEBAIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmNvbnZlcnRDb250aWd1b3UKIAogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6Y29udmVydENvbnRpZ3VvdXNUb0FycmF5U3RvcmFnZShWTSYgdm0pCiB7Ci0gICAgcmV0
dXJuIGNvbnZlcnRDb250aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN0cnVjdHVyZSh2bSktPnN1
Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24oKSk7CisgICAgcmV0dXJuIGNvbnZlcnRDb250
aWd1b3VzVG9BcnJheVN0b3JhZ2Uodm0sIHN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRpb24o
KSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OmNvbnZlcnRVbmRlY2lkZWRGb3JWYWx1ZShWTSYgdm0s
IEpTVmFsdWUgdmFsdWUpCkBAIC0xNDQ4LDcgKzE0NDgsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMg
SlNPYmplY3Q6OmVuc3VyZUludDMyCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkg
ewogICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtF
TFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1
dEluZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJz
ZSgpIHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRp
Z3VvdXNKU1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEludDMyKHZtLCAw
KTsKICAgICAgICAgCkBAIC0xNDc1LDcgKzE0NzUsNyBAQCBDb250aWd1b3VzRG91YmxlcyBKU09i
amVjdDo6ZW5zdXJlRG91YmxlCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewog
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFko
aW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3Vv
dXNEb3VibGVzKCk7CiAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsRG91YmxlKHZtLCAwKTsK
ICAgICAgICAgCkBAIC0xNTA0LDcgKzE1MDQsNyBAQCBDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmVuc3VyZUNvbnRpCiAgICAgCiAgICAgc3dpdGNoIChpbmRleGluZ1R5cGUoKSkgewogICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgotICAgICAgICBpZiAoVU5MSUtFTFkoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpKQorICAgICAgICBpZiAoVU5MSUtFTFkoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8
IG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpKQogICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNK
U1ZhbHVlcygpOwogICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbENvbnRpZ3VvdXModm0sIDAp
OwogICAgICAgICAKQEAgLTE1NDEsMjIgKzE1NDEsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgICAgICAKICAgICBjYXNlIEFMTF9VTkRFQ0lERURfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIEFTU0VSVCghaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpKTsK
LSAgICAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUodm0pLT5uZWVkc1Nsb3dQdXRJbmRleGluZygpKTsK
KyAgICAgICAgQVNTRVJUKCFuZWVkc1Nsb3dQdXRJbmRleGluZygpKTsKICAgICAgICAgcmV0dXJu
IGNvbnZlcnRVbmRlY2lkZWRUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGNhc2Ug
QUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBBU1NFUlQoIWluZGV4aW5nU2hvdWxk
QmVTcGFyc2UoKSk7Ci0gICAgICAgIEFTU0VSVCghc3RydWN0dXJlKHZtKS0+bmVlZHNTbG93UHV0
SW5kZXhpbmcoKSk7CisgICAgICAgIEFTU0VSVCghbmVlZHNTbG93UHV0SW5kZXhpbmcoKSk7CiAg
ICAgICAgIHJldHVybiBjb252ZXJ0SW50MzJUb0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAog
ICAgIGNhc2UgQUxMX0RPVUJMRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgQVNTRVJUKCFpbmRl
eGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0cnVjdHVyZSh2bSktPm5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5lZWRzU2xvd1B1dEluZGV4
aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydERvdWJsZVRvQXJyYXlTdG9yYWdlKHZtKTsK
ICAgICAgICAgCiAgICAgY2FzZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgQVNTRVJUKCFpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpOwotICAgICAgICBBU1NFUlQoIXN0
cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpOworICAgICAgICBBU1NFUlQoIW5l
ZWRzU2xvd1B1dEluZGV4aW5nKCkpOwogICAgICAgICByZXR1cm4gY29udmVydENvbnRpZ3VvdXNU
b0FycmF5U3RvcmFnZSh2bSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xNjM0LDE0ICsx
NjM0LDE3IEBAIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZURpcmVjdChWTSYgdm0KICAgICBp
ZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAgICAgIHZtLnByb3RvdHlwZU1hcC5hZGRQcm90
b3R5cGUoYXNPYmplY3QocHJvdG90eXBlKSk7CiAgICAgCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1
Y3R1cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24odm0sIHN0cnVjdHVy
ZSh2bSksIHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBuZXdTdHJ1Y3R1cmUpOwot
ICAgIAotICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhhc01vbm9Qcm90bygp
KSB7CisgICAgICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQ
cm90b3R5cGVUcmFuc2l0aW9uKHZtLCBzdHJ1Y3R1cmUodm0pLCBwcm90b3R5cGUpOworICAgICAg
ICBzZXRTdHJ1Y3R1cmUodm0sIG5ld1N0cnVjdHVyZSk7CisgICAgfSBlbHNlCisgICAgICAgIHB1
dERpcmVjdCh2bSwgc3RydWN0dXJlKHZtKS0+cG9seVByb3RvT2Zmc2V0KCksIHByb3RvdHlwZSk7
CisKKyAgICBpZiAoIWFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMo
KSkKICAgICAgICAgcmV0dXJuOwogICAgIAogICAgIGlmICh2bS5wcm90b3R5cGVNYXAuaXNQcm90
b3R5cGUodGhpcykpIHsKLSAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2
ZUFCYWRUaW1lKHZtKTsKKyAgICAgICAgc3RydWN0dXJlKHZtKS0+Z2xvYmFsT2JqZWN0KCktPmhh
dmVBQmFkVGltZSh2bSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xOTUyLDcg
KzE5NTUsOCBAQCBKU1ZhbHVlIEpTT2JqZWN0OjpvcmRpbmFyeVRvUHJpbWl0aXZlKEV4CiAKICAg
ICAvLyBNYWtlIHN1cmUgdGhhdCB3aGF0ZXZlciBkZWZhdWx0IHZhbHVlIG1ldGhvZHMgdGhlcmUg
YXJlIG9uIG9iamVjdCdzIHByb3RvdHlwZSBjaGFpbiBhcmUKICAgICAvLyBiZWluZyB3YXRjaGVk
LgotICAgIHRoaXMtPnN0cnVjdHVyZSgpLT5zdGFydFdhdGNoaW5nSW50ZXJuYWxQcm9wZXJ0aWVz
SWZOZWNlc3NhcnlGb3JFbnRpcmVDaGFpbih2bSk7CisgICAgZm9yIChjb25zdCBKU09iamVjdCog
b2JqZWN0ID0gdGhpczsgb2JqZWN0OyBvYmplY3QgPSBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnN0
b3JlZFByb3RvdHlwZU9iamVjdChvYmplY3QpKQorICAgICAgICBvYmplY3QtPnN0cnVjdHVyZSh2
bSktPnN0YXJ0V2F0Y2hpbmdJbnRlcm5hbFByb3BlcnRpZXNJZk5lY2Vzc2FyeSh2bSk7CiAKICAg
ICBKU1ZhbHVlIHZhbHVlOwogICAgIGlmIChoaW50ID09IFByZWZlclN0cmluZykgewpAQCAtMjcy
Nyw3ICsyNzMxLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbgog
ICAgICAgICAgICAgcmV0dXJuIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlT
dG9yYWdlKAogICAgICAgICAgICAgICAgIGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgY3Jl
YXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAwKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVj
dHVyZSh2bSktPm5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xv
d1B1dEluZGV4aW5nKCkpIHsKICAgICAgICAgICAgIC8vIENvbnZlcnQgdGhlIGluZGV4aW5nIHR5
cGUgdG8gdGhlIFNsb3dQdXRBcnJheVN0b3JhZ2UgYW5kIHJldHJ5LgogICAgICAgICAgICAgY3Jl
YXRlQXJyYXlTdG9yYWdlKHZtLCBpICsgMSwgZ2V0TmV3VmVjdG9yTGVuZ3RoKDAsIDAsIDAsIGkg
KyAxKSk7CiAgICAgICAgICAgICByZXR1cm4gcHV0QnlJbmRleCh0aGlzLCBleGVjLCBpLCB2YWx1
ZSwgc2hvdWxkVGhyb3cpOwpAQCAtMjg3OSw3ICsyODgzLDcgQEAgYm9vbCBKU09iamVjdDo6cHV0
RGlyZWN0SW5kZXhTbG93T3JCZXlvbgogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4
QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZSgKICAgICAgICAgICAgICAgICBleGVj
LCBpLCB2YWx1ZSwgYXR0cmlidXRlcywgbW9kZSwgY3JlYXRlQXJyYXlTdG9yYWdlKHZtLCAwLCAw
KSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHN0cnVjdHVyZSh2bSktPm5lZWRzU2xvd1B1dElu
ZGV4aW5nKCkpIHsKKyAgICAgICAgaWYgKG5lZWRzU2xvd1B1dEluZGV4aW5nKCkpIHsKICAgICAg
ICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGNyZWF0ZUFycmF5U3RvcmFnZSh2bSwgaSAr
IDEsIGdldE5ld1ZlY3Rvckxlbmd0aCgwLCAwLCAwLCBpICsgMSkpOwogICAgICAgICAgICAgc3Rv
cmFnZS0+bV92ZWN0b3JbaV0uc2V0KHZtLCB0aGlzLCB2YWx1ZSk7CiAgICAgICAgICAgICBzdG9y
YWdlLT5tX251bVZhbHVlc0luVmVjdG9yKys7CkBAIC0zNTU5LDcgKzM1NjMsNyBAQCB1aW50MzJf
dCBKU09iamVjdDo6Z2V0RW51bWVyYWJsZUxlbmd0aChFCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG9iamVjdC0+c3RydWN0dXJlKHZtKTsK
LSAgICBpZiAoc3RydWN0dXJlLT5ob2xlc011c3RGb3J3YXJkVG9Qcm90b3R5cGUodm0pKQorICAg
IGlmIChzdHJ1Y3R1cmUtPmhvbGVzTXVzdEZvcndhcmRUb1Byb3RvdHlwZSh2bSwgb2JqZWN0KSkK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgc3dpdGNoIChvYmplY3QtPmluZGV4aW5nVHlwZSgpKSB7
CiAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CkBAIC0zNjY5LDQgKzM2NzMsNTYg
QEAgSlNWYWx1ZSBKU09iamVjdDo6Z2V0TWV0aG9kKEV4ZWNTdGF0ZSogZQogICAgIHJldHVybiBt
ZXRob2Q7CiB9CiAKK2Jvb2wgSlNPYmplY3Q6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKSBjb25zdAoreworICAgIFZNJiB2bSA9ICp0aGlzLT52bSgpOworICAg
IGZvciAoY29uc3QgSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChj
dXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5
cGUgPSBjdXJyZW50LT5nZXRQcm90b3R5cGVEaXJlY3QoKTsKKyAgICAgICAgaWYgKHByb3RvdHlw
ZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAg
IGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpOworICAgIH0KK30KKworYm9vbCBKU09iamVj
dDo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSkKK3sKKyAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQorICAg
ICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
OworICAgIAorICAgIGZvciAoSlNPYmplY3QqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAg
IEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+Z2V0UHJvdG90eXBlRGlyZWN0KCk7CisgICAg
ICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlKTsKKyAgICAgICAg
CisgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CisgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9m
ZnNldCA9IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSktPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRy
aWJ1dGVzKTsKKyAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KK30KKworYm9vbCBKU09iamVjdDo6bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25z
dAoreworICAgIHJldHVybiBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKTsKK30KKworTm9uUHJv
cGVydHlUcmFuc2l0aW9uIEpTT2JqZWN0OjpzdWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9u
KCkgY29uc3QKK3sKKyAgICBpZiAobmVlZHNTbG93UHV0SW5kZXhpbmcoKSkKKyAgICAgICAgcmV0
dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwor
ICAgIAorICAgIHJldHVybiBOb25Qcm9wZXJ0eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9y
YWdlOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBA
QAogI2luY2x1ZGUgIlB1dERpcmVjdEluZGV4TW9kZS5oIgogI2luY2x1ZGUgIlB1dFByb3BlcnR5
U2xvdC5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgorI2luY2x1ZGUgIlN0cnVjdHVyZVRyYW5z
aXRpb25UYWJsZS5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNp
bmNsdWRlICJTcGFyc2VBcnJheVZhbHVlTWFwLmgiCkBAIC03MzMsNiArNzM0LDEyIEBAIHB1Ymxp
YzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc0V4dGVuc2libGUoSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3Ry
dWN0dXJlKHZtKS0+aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsg
cmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQorCisgICAgYm9vbCBhbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7CisgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQ
cm9wZXJ0eU5hbWUpOworICAgIGJvb2wgbmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKKyAg
ICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigp
IGNvbnN0OworCiBwcml2YXRlOgogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0V4dGVuc2libGVJ
bXBsKCkgeyByZXR1cm4gaXNTdHJ1Y3R1cmVFeHRlbnNpYmxlKCk7IH0KIHB1YmxpYzoKQEAgLTg2
Niw3ICs4NzMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CiAgICAgICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7Ci0gICAgICAg
IEFTU0VSVChnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwoKSB8fCBIZWFwOjpoZWFwKHRoaXMp
ID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkpKTsKKyAgICAgICAgQVNTRVJUKHN0
cnVjdHVyZSgpLT5oYXNQb2x5UHJvdG8oKSB8fCBnZXRQcm90b3R5cGVEaXJlY3QoKS5pc051bGwo
KSB8fCBIZWFwOjpoZWFwKHRoaXMpID09IEhlYXA6OmhlYXAoZ2V0UHJvdG90eXBlRGlyZWN0KCkp
KTsKICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pc09iamVjdCgpKTsKICAgICAgICAgQVNT
RVJUKGNsYXNzSW5mbyh2bSkpOwogICAgIH0KQEAgLTEyOTgsNyArMTMwNSw3IEBAIGlubGluZSBK
U09iamVjdDo6SlNPYmplY3QoVk0mIHZtLCBTdHJ1Y3QKIAogaW5saW5lIEpTVmFsdWUgSlNPYmpl
Y3Q6OmdldFByb3RvdHlwZURpcmVjdCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0cnVjdHVyZSgp
LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3Rv
dHlwZSh0aGlzKTsKIH0KIAogaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OmdldFByb3RvdHlwZShW
TSYgdm0sIEV4ZWNTdGF0ZSogZXhlYykKQEAgLTE0MDAsNyArMTQwNyw5IEBAIEFMV0FZU19JTkxJ
TkUgYm9vbCBKU09iamVjdDo6Z2V0UHJvcGVydHkKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBzdHJ1Y3R1cmVJRFRhYmxlLmdldChvYmplY3QtPnN0cnVjdHVyZUlEKCkpOwogICAgICAg
ICBpZiAob2JqZWN0LT5nZXRPd25Ob25JbmRleFByb3BlcnR5U2xvdCh2bSwgc3RydWN0dXJlLCBw
cm9wZXJ0eU5hbWUsIHNsb3QpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIEpT
VmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAg
Ly8gRklYTUU6IFRoaXMgZG9lc24ndCBsb29rIGxpa2UgaXQncyBmb2xsb3dpbmcgdGhlIHNwZWNp
ZmljYXRpb246CisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzI1NzIKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUtPnN0b3Jl
ZFByb3RvdHlwZShvYmplY3QpOwogICAgICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlwZSk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGluZXMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdElubGlu
ZXMuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3RJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNiw3ICsxMTYsNyBAQCBBTFdB
WVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldFByb3BlcnR5CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3Ry
dWN0dXJlLT5jbGFzc0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRH
ZXRQcm90b3R5cGUgfHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6
OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9
IHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBv
YmplY3QtPmdldFByb3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
IHByb3RvdHlwZSA9IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTE1MCw3ICsxNTAsNyBAQCBB
TFdBWVNfSU5MSU5FIGJvb2wgSlNPYmplY3Q6OmdldE5vbkluZGV4CiAgICAgICAgIH0KICAgICAg
ICAgSlNWYWx1ZSBwcm90b3R5cGU7CiAgICAgICAgIGlmIChMSUtFTFkoc3RydWN0dXJlLT5jbGFz
c0luZm8oKS0+bWV0aG9kVGFibGUuZ2V0UHJvdG90eXBlID09IGRlZmF1bHRHZXRQcm90b3R5cGUg
fHwgc2xvdC5pbnRlcm5hbE1ldGhvZFR5cGUoKSA9PSBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0
aG9kVHlwZTo6Vk1JbnF1aXJ5KSkKLSAgICAgICAgICAgIHByb3RvdHlwZSA9IHN0cnVjdHVyZS0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgICAgICBwcm90b3R5cGUgPSBvYmplY3QtPmdldFBy
b3RvdHlwZURpcmVjdCgpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHByb3RvdHlwZSA9
IG9iamVjdC0+Z2V0UHJvdG90eXBlKHZtLCBleGVjKTsKICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGZhbHNlKTsKQEAgLTIxOSw3ICsyMTksNyBAQCBBTFdBWVNfSU5MSU5F
IGJvb2wgSlNPYmplY3Q6OnB1dElubGluZUZvCiAgICAgfQogCiAgICAgaWYgKHRoaXNPYmplY3Qt
PmNhblBlcmZvcm1GYXN0UHV0SW5saW5lKHZtLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIEFT
U0VSVCghdGhpc09iamVjdC0+c3RydWN0dXJlKHZtKS0+cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNl
cHRTdG9yZVRvKHZtLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAgICAgQVNTRVJUKCF0aGlzT2JqZWN0
LT5wcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8odm0sIHByb3BlcnR5TmFtZSkpOwog
ICAgICAgICBpZiAoIXRoaXNPYmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVQdXQ+KHZt
LCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAwLCBzbG90KSkKICAgICAgICAgICAgIHJldHVybiB0eXBl
RXJyb3IoZXhlYywgc2NvcGUsIHNsb3QuaXNTdHJpY3RNb2RlKCksIEFTQ0lJTGl0ZXJhbChSZWFk
b25seVByb3BlcnR5V3JpdGVFcnJvcikpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTUHJvcGVydHlOYW1l
RW51bWVyYXRvci5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA4
LDcgKzEwOCw3IEBAIGlubGluZSBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIHByb3BlcnQKICAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2UtPnN0cnVjdHVyZSh2bSk7CiAgICAgaWYgKCFp
bmRleGVkTGVuZ3RoCiAgICAgICAgICYmIChlbnVtZXJhdG9yID0gc3RydWN0dXJlLT5jYWNoZWRQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yKCkpCi0gICAgICAgICYmIGVudW1lcmF0b3ItPmNhY2hlZFBy
b3RvdHlwZUNoYWluKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVDaGFpbihleGVjKSkKKyAgICAg
ICAgJiYgZW51bWVyYXRvci0+Y2FjaGVkUHJvdG90eXBlQ2hhaW4oKSA9PSBzdHJ1Y3R1cmUtPnBy
b3RvdHlwZUNoYWluKGV4ZWMsIGJhc2UpKQogICAgICAgICByZXR1cm4gZW51bWVyYXRvcjsKIAog
ICAgIHVpbnQzMl90IG51bWJlclN0cnVjdHVyZVByb3BlcnRpZXMgPSAwOwpAQCAtMTMzLDEyICsx
MzMsMTUgQEAgaW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogcHJvcGVydAogCiAgICAg
QVNTRVJUKHByb3BlcnR5TmFtZXMuc2l6ZSgpIDwgVUlOVDMyX01BWCk7CiAKLSAgICBib29sIHN1
Y2Nlc3NmdWxseU5vcm1hbGl6ZWRDaGFpbiA9IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKGV4ZWMs
IHN0cnVjdHVyZSkgIT0gSW52YWxpZFByb3RvdHlwZUNoYWluOworICAgIGJvb2wgc2F3UG9seVBy
b3RvOworICAgIGJvb2wgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluID0gbm9ybWFsaXplUHJv
dG90eXBlQ2hhaW4oZXhlYywgYmFzZSwgc2F3UG9seVByb3RvKSAhPSBJbnZhbGlkUHJvdG90eXBl
Q2hhaW47CiAKICAgICBlbnVtZXJhdG9yID0gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVh
dGUodm0sIHN0cnVjdHVyZSwgaW5kZXhlZExlbmd0aCwgbnVtYmVyU3RydWN0dXJlUHJvcGVydGll
cywgV1RGTW92ZShwcm9wZXJ0eU5hbWVzKSk7Ci0gICAgZW51bWVyYXRvci0+c2V0Q2FjaGVkUHJv
dG90eXBlQ2hhaW4odm0sIHN0cnVjdHVyZS0+cHJvdG90eXBlQ2hhaW4oZXhlYykpOwotICAgIGlm
ICghaW5kZXhlZExlbmd0aCAmJiBzdWNjZXNzZnVsbHlOb3JtYWxpemVkQ2hhaW4gJiYgc3RydWN0
dXJlLT5jYW5DYWNoZVByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSkKLSAgICAgICAgc3RydWN0dXJl
LT5zZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKHZtLCBlbnVtZXJhdG9yKTsKKyAgICBp
ZiAoIWluZGV4ZWRMZW5ndGggJiYgc3VjY2Vzc2Z1bGx5Tm9ybWFsaXplZENoYWluICYmIGJhc2Ut
PnN0cnVjdHVyZSh2bSkgPT0gc3RydWN0dXJlKSB7CisgICAgICAgIGVudW1lcmF0b3ItPnNldENh
Y2hlZFByb3RvdHlwZUNoYWluKHZtLCBzdHJ1Y3R1cmUtPnByb3RvdHlwZUNoYWluKGV4ZWMsIGJh
c2UpKTsKKyAgICAgICAgaWYgKHN0cnVjdHVyZS0+Y2FuQ2FjaGVQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKCkpCisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnNldENhY2hlZFByb3BlcnR5TmFtZUVudW1l
cmF0b3Iodm0sIGVudW1lcmF0b3IpOworICAgIH0KICAgICByZXR1cm4gZW51bWVyYXRvcjsKIH0K
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2V0LmNwcAkocmV2aXNpb24g
MjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTZXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIGJvb2wgSlNTZXQ6OmlzSXRlcmF0b3JQcm90b2Nv
bEZhc3RBbmROb24KICAgICBpZiAoc3RydWN0dXJlID09IGdsb2JhbE9iamVjdC0+c2V0U3RydWN0
dXJlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKHN0cnVjdHVyZS0+c3RvcmVk
UHJvdG90eXBlKCkgIT0gZ2xvYmFsT2JqZWN0LT5qc1NldFByb3RvdHlwZSgpKQorICAgIGlmIChn
ZXRQcm90b3R5cGVEaXJlY3QoKSAhPSBnbG9iYWxPYmplY3QtPmpzU2V0UHJvdG90eXBlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
QEAgLTczLDYgKzczLDkgQEAgYm9vbCBKU1NldDo6Y2FuQ2xvbmVGYXN0QW5kTm9uT2JzZXJ2YWJs
ZQogICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNTZXRQcm90b3R5cGVBZGRGYXN0QW5kTm9u
T2JzZXJ2YWJsZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmIChz
dHJ1Y3R1cmUtPmhhc1BvbHlQcm90bygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgICAgIGlmIChzdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZSgpICE9IGdsb2JhbE9iamVjdC0+
anNTZXRQcm90b3R5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGF6eUNsYXNzU3RydWN0dXJlLmgJ
KHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xhenlD
bGFzc1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsMTMgKzEwMSw2IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuIG1fc3RydWN0dXJlLmdldENvbmN1cnJlbnRseSgpOwogICAgIH0K
ICAgICAKLSAgICBKU09iamVjdCogcHJvdG90eXBlQ29uY3VycmVudGx5KCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdldENvbmN1cnJlbnRseSgpKQot
ICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KCk7Ci0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIH0KLSAgICAKICAgICBKU09iamVjdCogY29uc3Ry
dWN0b3JDb25jdXJyZW50bHkoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fY29uc3Ry
dWN0b3IuZ2V0KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVyYXRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcGVy
YXRpb25zLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiwyMyArMTM2LDMwIEBA
IGJvb2wganNJc0Z1bmN0aW9uVHlwZShKU1ZhbHVlIHYpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1zaXplX3Qgbm9ybWFsaXplUHJvdG90eXBlQ2hhaW4oQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorc2l6ZV90IG5vcm1hbGl6ZVByb3RvdHlwZUNoYWluKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU0NlbGwqIGJhc2UsIGJvb2wmIHNhd1BvbHlQcm90bykKIHsKICAg
ICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgc2l6ZV90IGNvdW50ID0gMDsKKyAgICBz
YXdQb2x5UHJvdG8gPSBmYWxzZTsKKyAgICBKU0NlbGwqIGN1cnJlbnQgPSBiYXNlOworICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBjYWxsRnJhbWUtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKTsKICAgICB3aGlsZSAoMSkgeworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGN1
cnJlbnQtPnN0cnVjdHVyZSh2bSk7CiAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzUHJveHkoKSkK
ICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90eXBlQ2hhaW47Ci0gICAgICAgIEpTVmFs
dWUgdiA9IHN0cnVjdHVyZS0+cHJvdG90eXBlRm9yTG9va3VwKGNhbGxGcmFtZSk7Ci0gICAgICAg
IGlmICh2LmlzTnVsbCgpKQorCisgICAgICAgIHNhd1BvbHlQcm90byB8PSBzdHJ1Y3R1cmUtPmhh
c1BvbHlQcm90bygpOworCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gc3RydWN0dXJlLT5w
cm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0LCBjdXJyZW50KTsKKyAgICAgICAgaWYgKHBy
b3RvdHlwZS5pc051bGwoKSkKICAgICAgICAgICAgIHJldHVybiBjb3VudDsKIAotICAgICAgICBK
U0NlbGwqIGJhc2UgPSB2LmFzQ2VsbCgpOwotICAgICAgICBzdHJ1Y3R1cmUgPSBiYXNlLT5zdHJ1
Y3R1cmUodm0pOworICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLmFzQ2VsbCgpOworICAgICAg
ICBzdHJ1Y3R1cmUgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pOwogICAgICAgICBpZiAoc3RydWN0
dXJlLT5pc0RpY3Rpb25hcnkoKSkgewogICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzQmVl
bkZsYXR0ZW5lZEJlZm9yZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBJbnZhbGlkUHJvdG90
eXBlQ2hhaW47Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5EaWN0aW9uYXJ5U3RydWN0
dXJlKHZtLCBhc09iamVjdChiYXNlKSk7CisgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZsYXR0ZW5E
aWN0aW9uYXJ5U3RydWN0dXJlKHZtLCBhc09iamVjdChjdXJyZW50KSk7CiAgICAgICAgIH0KIAog
ICAgICAgICArK2NvdW50OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3Bl
cmF0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09w
ZXJhdGlvbnMuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3BlcmF0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIEpTVmFs
dWUganNUeXBlU3RyaW5nRm9yVmFsdWUoQ2FsbEZyYW1lKiwKIEpTVmFsdWUganNUeXBlU3RyaW5n
Rm9yVmFsdWUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUpOwogYm9vbCBqc0lzT2JqZWN0
VHlwZU9yTnVsbChDYWxsRnJhbWUqLCBKU1ZhbHVlKTsKIGJvb2wganNJc0Z1bmN0aW9uVHlwZShK
U1ZhbHVlKTsKLXNpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqLCBTdHJ1
Y3R1cmUqKTsKK3NpemVfdCBub3JtYWxpemVQcm90b3R5cGVDaGFpbihDYWxsRnJhbWUqLCBKU0Nl
bGwqLCBib29sJiBzYXdQb2x5UHJvdG8pOwogCiBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiBqc1N0
cmluZyhFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzMSwgSlNTdHJpbmcqIHMyKQogewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNpb24gMjIyODAx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NzAsNyArNDcwLDggQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7
CiAgICAgdihib29sLCB1c2VGYXN0VExTRm9yV2FzbUNvbnRleHQsIHRydWUsIE5vcm1hbCwgIklm
IHRydWUsIHdlIHdpbGwgc3RvcmUgY29udGV4dCBpbiBmYXN0IFRMUy4gSWYgZmFsc2UsIHdlIHdp
bGwgcGluIGl0IHRvIGEgcmVnaXN0ZXIuIikgXAogICAgIHYoYm9vbCwgdXNlQ2FsbElDc0Zvcldl
YkFzc2VtYmx5VG9KU0NhbGxzLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHVzZSBD
YWxsTGlua0luZm8gdG8gaW5saW5lIGNhY2hlIFdhc20gdG8gSlMgY2FsbHMuIikgXAogICAgIHYo
Ym9vbCwgdXNlT2JqZWN0UmVzdFNwcmVhZCwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2ls
bCBlbmFibGUgT2JqZWN0IFJlc3QvU3ByZWFkIGZlYXR1cmUuIikgXAotICAgIHYoYm9vbCwgdXNl
QXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nLCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxs
IHVzZSBvdXIgbm9ybWFsIGFycmF5IGFsbG9jYXRpb24gcHJvZmlsaW5nLiBJZiBmYWxzZSwgdGhl
IGFsbG9jYXRpb24gcHJvZmlsZSB3aWxsIGFsd2F5cyBjbGFpbSB0byBiZSB1bmRlY2lkZWQuIikK
KyAgICB2KGJvb2wsIHVzZUFycmF5QWxsb2NhdGlvblByb2ZpbGluZywgdHJ1ZSwgTm9ybWFsLCAi
SWYgdHJ1ZSwgd2Ugd2lsbCB1c2Ugb3VyIG5vcm1hbCBhcnJheSBhbGxvY2F0aW9uIHByb2ZpbGlu
Zy4gSWYgZmFsc2UsIHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgd2lsbCBhbHdheXMgY2xhaW0gdG8g
YmUgdW5kZWNpZGVkLiIpXAorICAgIHYoYm9vbCwgZm9yY2VQb2x5UHJvdG8sIGZhbHNlLCBOb3Jt
YWwsICJJZiB0cnVlLCBjcmVhdGVfdGhpcyB3aWxsIGFsd2F5cyBjcmVhdGUgYW4gb2JqZWN0IHdp
dGggYSBwb2x5IHByb3RvIHN0cnVjdHVyZS4iKQogCiAKIGVudW0gT3B0aW9uRXF1aXZhbGVuY2Ug
ewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm90b3R5cGVNYXAu
Y3BwCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Q
cm90b3R5cGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxOCArNTQsMzQgQEAgdm9pZCBQ
cm90b3R5cGVNYXA6OmFkZFByb3RvdHlwZShKU09iamVjdAogICAgIC8vIHVzZWQgYXMgYSBwcm90
b3R5cGUuCiB9CiAKLWlubGluZSBTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6Y3JlYXRlRW1wdHlT
dHJ1Y3R1cmUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywg
SW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCitpbmxp
bmUgU3RydWN0dXJlKiBQcm90b3R5cGVNYXA6OmNyZWF0ZUVtcHR5U3RydWN0dXJlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZv
JiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5nVHlwZSBpbmRl
eGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5LCBib29sIG1ha2VQb2x5UHJvdG9TdHJ1
Y3R1cmUpCiB7Ci0gICAgYXV0byBrZXkgPSBzdGQ6Om1ha2VfdHVwbGUocHJvdG90eXBlLCBpbmxp
bmVDYXBhY2l0eSwgY2xhc3NJbmZvLCBnbG9iYWxPYmplY3QpOworICAgIFJFTEVBU0VfQVNTRVJU
KCEhcHJvdG90eXBlKTsgLy8gV2UgdXNlIG51bGxwdHIgaW5zaWRlIHRoZSBIYXNoTWFwIGZvciBw
cm90b3R5cGUgdG8gbWVhbiBwb2x5IHByb3RvLCBzbyB1c2VyJ3Mgb2YgdGhpcyBBUEkgbXVzdCBw
cm92aWRlIG5vbi1udWxsIHByb3RvdHlwZXMuCisKKyAgICBhdXRvIGtleSA9IHN0ZDo6bWFrZV90
dXBsZShtYWtlUG9seVByb3RvU3RydWN0dXJlID8gbnVsbHB0ciA6IHByb3RvdHlwZSwgaW5saW5l
Q2FwYWNpdHksIGNsYXNzSW5mbywgZ2xvYmFsT2JqZWN0KTsKICAgICBpZiAoU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBtX3N0cnVjdHVyZXMuZ2V0KGtleSkpIHsKKyAgICAgICAgaWYgKG1ha2VQb2x5
UHJvdG9TdHJ1Y3R1cmUpIHsKKyAgICAgICAgICAgIGFkZFByb3RvdHlwZShwcm90b3R5cGUpOwor
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKSk7Cisg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3RydWN0dXJlLT5oYXNN
b25vUHJvdG8oKSk7CiAgICAgICAgIEFTU0VSVChpc1Byb3RvdHlwZShwcm90b3R5cGUpKTsKICAg
ICAgICAgcmV0dXJuIHN0cnVjdHVyZTsKICAgICB9CiAKICAgICBhZGRQcm90b3R5cGUocHJvdG90
eXBlKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y3JlYXRlKAotICAg
ICAgICBnbG9iYWxPYmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBlSW5m
bywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKworICAgIFZNJiB2
bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZTsKKyAgICBp
ZiAobWFrZVBvbHlQcm90b1N0cnVjdHVyZSkgeworICAgICAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1
cmU6OmNyZWF0ZSgKKyAgICAgICAgICAgIFN0cnVjdHVyZTo6UG9seVByb3RvLCB2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0cnVjdHVyZSA9IFN0cnVjdHVy
ZTo6Y3JlYXRlKAorICAgICAgICAgICAgdm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0eXBl
SW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICB9CiAg
ICAgbV9zdHJ1Y3R1cmVzLnNldChrZXksIFdlYWs8U3RydWN0dXJlPihzdHJ1Y3R1cmUpKTsKKwog
ICAgIHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKQEAgLTczLDIwICs4OSwyMSBAQCBTdHJ1Y3R1cmUq
IFByb3RvdHlwZU1hcDo6ZW1wdHlTdHJ1Y3R1cmVGCiB7CiAgICAgLy8gV2UgY3VycmVudGx5IGRv
IG5vdCBoYXZlIGlubGluZSBjYXBhY2l0eSBzdGF0aWMgYW5hbHlzaXMgZm9yIHN1YmNsYXNzZXMg
YW5kIGFsbCBpbnRlcm5hbCBmdW5jdGlvbiBjb25zdHJ1Y3RvcnMgaGF2ZSBhIGRlZmF1bHQgaW5s
aW5lIGNhcGFjaXR5IG9mIDAuCiAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSA9IGJhc2VT
dHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpOwotICAgIGlmIChwcm90b3R5cGUtPnN0cnVjdHVyZSgp
LT5hbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5k
ZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKSkKKyAgICBpZiAocHJvdG90eXBlLT5hbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgJiYgaGFzSW5kZXhlZFByb3Bl
cnRpZXMoaW5kZXhpbmdUeXBlKSkKICAgICAgICAgaW5kZXhpbmdUeXBlID0gKGluZGV4aW5nVHlw
ZSAmIH5JbmRleGluZ1NoYXBlTWFzaykgfCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGU7CiAKLSAg
ICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIGJh
c2VTdHJ1Y3R1cmUtPnR5cGVJbmZvKCksIGJhc2VTdHJ1Y3R1cmUtPmNsYXNzSW5mbygpLCBpbmRl
eGluZ1R5cGUsIDApOworICAgIHJldHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgYmFzZVN0cnVjdHVyZS0+dHlwZUluZm8oKSwgYmFzZVN0cnVjdHVyZS0+
Y2xhc3NJbmZvKCksIGluZGV4aW5nVHlwZSwgMCwgZmFsc2UpOwogfQogCi1TdHJ1Y3R1cmUqIFBy
b3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQcm90b3R5cGUoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkpCitTdHJ1Y3R1cmUqIFByb3RvdHlwZU1hcDo6ZW1wdHlPYmplY3RTdHJ1Y3R1cmVGb3JQ
cm90b3R5cGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlw
ZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSkK
IHsKLSAgICByZXR1cm4gY3JlYXRlRW1wdHlTdHJ1Y3R1cmUoZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIEpTRmluYWxPYmplY3Q6OnR5cGVJbmZvKCksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgSlNG
aW5hbE9iamVjdDo6ZGVmYXVsdEluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAgIHJl
dHVybiBjcmVhdGVFbXB0eVN0cnVjdHVyZShnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgSlNGaW5h
bE9iamVjdDo6dHlwZUluZm8oKSwgSlNGaW5hbE9iamVjdDo6aW5mbygpLCBKU0ZpbmFsT2JqZWN0
OjpkZWZhdWx0SW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSwgbWFrZVBvbHlQcm90b1N0cnVj
dHVyZSk7CiB9CiAKIHZvaWQgUHJvdG90eXBlTWFwOjpjbGVhckVtcHR5T2JqZWN0U3RydWN0dXJl
Rm9yUHJvdG90eXBlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBvYmpl
Y3QsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQogewogICAgIG1fc3RydWN0dXJlcy5yZW1vdmUo
c3RkOjptYWtlX3R1cGxlKG9iamVjdCwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6Omlu
Zm8oKSwgZ2xvYmFsT2JqZWN0KSk7CisgICAgbV9zdHJ1Y3R1cmVzLnJlbW92ZShzdGQ6Om1ha2Vf
dHVwbGUobnVsbHB0ciwgaW5saW5lQ2FwYWNpdHksIEpTRmluYWxPYmplY3Q6OmluZm8oKSwgZ2xv
YmFsT2JqZWN0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvdG90eXBlTWFwLmgJKHJldmlzaW9uIDIyMjgwMSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3RvdHlwZU1hcC5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NiwxOCArNDYsMTggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBKU19F
WFBPUlRfUFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5T2JqZWN0U3RydWN0dXJlRm9yUHJvdG90eXBl
KEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7Cisg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RydWN0dXJlKiBlbXB0eU9iamVjdFN0cnVjdHVyZUZvclBy
b3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNp
dHksIGJvb2wgbWFrZVBvbHlQcm90b1N0cnVjdHVyZSA9IGZhbHNlKTsKICAgICBKU19FWFBPUlRf
UFJJVkFURSBTdHJ1Y3R1cmUqIGVtcHR5U3RydWN0dXJlRm9yUHJvdG90eXBlRnJvbUJhc2VTdHJ1
Y3R1cmUoSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIFN0cnVjdHVyZSopOwogICAgIHZvaWQg
Y2xlYXJFbXB0eU9iamVjdFN0cnVjdHVyZUZvclByb3RvdHlwZShKU0dsb2JhbE9iamVjdCosIEpT
T2JqZWN0KiwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpOwogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHZvaWQgYWRkUHJvdG90eXBlKEpTT2JqZWN0Kik7CiAgICAgaW5saW5lIFRyaVN0YXRlIGlzUHJv
dG90eXBlKEpTT2JqZWN0KikgY29uc3Q7IC8vIFJldHVybnMgYSBjb25zZXJ2YXRpdmUgZXN0aW1h
dGUuCiAKIHByaXZhdGU6Ci0gICAgU3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3Qg
Q2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSk7CisgICAg
U3RydWN0dXJlKiBjcmVhdGVFbXB0eVN0cnVjdHVyZShKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdU
eXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSwgYm9vbCBtYWtlUG9seVByb3RvU3RydWN0dXJl
KTsKIAogICAgIFdlYWtHQ01hcDxKU09iamVjdCosIEpTT2JqZWN0PiBtX3Byb3RvdHlwZXM7CiAg
ICAgLy8gRklYTUU6IG1ha2UgdGhlIGtleSBhIHN0cnVjdC4KLSAgICB0eXBlZGVmIFdlYWtHQ01h
cDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENsYXNzSW5mbyosIEpTR2xv
YmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT4gU3RydWN0dXJlTWFwOworICAgIHVzaW5nIFN0cnVjdHVy
ZU1hcCA9IFdlYWtHQ01hcDxzdGQ6OnR1cGxlPEpTT2JqZWN0KiwgdW5zaWduZWQsIGNvbnN0IENs
YXNzSW5mbyosIEpTR2xvYmFsT2JqZWN0Kj4sIFN0cnVjdHVyZT47CiAgICAgU3RydWN0dXJlTWFw
IG1fc3RydWN0dXJlczsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg4LDYgKzE4OCw3
IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmoKICAgICAsIG1fY2xh
c3NJbmZvKGNsYXNzSW5mbykKICAgICAsIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRj
aGVkKQogICAgICwgbV9vZmZzZXQoaW52YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNo
KDApCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBz
ZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUoZmFsc2UpOwpAQCAtMjIwLDYgKzIyMSw3IEBAIFN0cnVj
dHVyZTo6U3RydWN0dXJlKFZNJiB2bSkKICAgICAsIG1fY2xhc3NJbmZvKGluZm8oKSkKICAgICAs
IG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoSXNXYXRjaGVkKQogICAgICwgbV9vZmZzZXQoaW52
YWxpZE9mZnNldCkKKyAgICAsIG1fcHJvcGVydHlIYXNoKDApCiB7CiAgICAgc2V0RGljdGlvbmFy
eUtpbmQoTm9uZURpY3Rpb25hcnlLaW5kKTsKICAgICBzZXRJc1Bpbm5lZFByb3BlcnR5VGFibGUo
ZmFsc2UpOwpAQCAtMjQ3LDEwICsyNDksMTEgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIAogICAgIDogSlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUuZ2V0
KCkpCiAgICAgLCBtX2lubGluZUNhcGFjaXR5KHByZXZpb3VzLT5tX2lubGluZUNhcGFjaXR5KQog
ICAgICwgbV9iaXRGaWVsZCgwKQotICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3Vz
LT5zdG9yZWRQcm90b3R5cGUoKSkKKyAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91
cy0+bV9wcm90b3R5cGUuZ2V0KCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFz
c0luZm8pCiAgICAgLCBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0KElzV2F0Y2hlZCkKICAgICAs
IG1fb2Zmc2V0KGludmFsaWRPZmZzZXQpCisgICAgLCBtX3Byb3BlcnR5SGFzaChwcmV2aW91cy0+
bV9wcm9wZXJ0eUhhc2gpCiB7CiAgICAgc2V0RGljdGlvbmFyeUtpbmQocHJldmlvdXMtPmRpY3Rp
b25hcnlLaW5kKCkpOwogICAgIHNldElzUGlubmVkUHJvcGVydHlUYWJsZShmYWxzZSk7CkBAIC0y
OTYsNiArMjk5LDIzIEBAIHZvaWQgU3RydWN0dXJlOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKICAg
ICBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmUqPihjZWxsKS0+U3RydWN0dXJlOjp+U3RydWN0dXJlKCk7
CiB9CiAKK1N0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBwcm90b3R5cGUsIGNvbnN0
IFR5cGVJbmZvJiB0eXBlSW5mbywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8sIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5KQoreworICAgIFN0cnVj
dHVyZSogcmVzdWx0ID0gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgdHlwZUlu
Zm8sIGNsYXNzSW5mbywgaW5kZXhpbmdUeXBlLCBpbmxpbmVDYXBhY2l0eSk7CisKKyAgICB1bnNp
Z25lZCBvbGRPdXRPZkxpbmVDYXBhY2l0eSA9IHJlc3VsdC0+b3V0T2ZMaW5lQ2FwYWNpdHkoKTsK
KyAgICByZXN1bHQtPmFkZFByb3BlcnR5V2l0aG91dFRyYW5zaXRpb24oCisgICAgICAgIHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS51bmRlcnNjb3JlUHJvdG9Qcml2YXRlTmFt
ZSgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwK
KyAgICAgICAgWyZdIChjb25zdCBHQ1NhZmVDb25jdXJyZW50SlNMb2NrZXImLCBQcm9wZXJ0eU9m
ZnNldCBvZmZzZXQsIFByb3BlcnR5T2Zmc2V0IG5ld0xhc3RPZmZzZXQpIHsKKyAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKFN0cnVjdHVyZTo6b3V0T2ZMaW5lQ2FwYWNpdHkobmV3TGFzdE9mZnNl
dCkgPT0gb2xkT3V0T2ZMaW5lQ2FwYWNpdHkpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
aXNJbmxpbmVPZmZzZXQob2Zmc2V0KSk7CisgICAgICAgICAgICByZXN1bHQtPm1fcHJvdG90eXBl
LnNldCh2bSwgcmVzdWx0LCBqc051bWJlcihvZmZzZXQpKTsKKyAgICAgICAgICAgIHJlc3VsdC0+
c2V0TGFzdE9mZnNldChuZXdMYXN0T2Zmc2V0KTsKKyAgICAgICAgfSk7CisKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCiB2b2lkIFN0cnVjdHVyZTo6ZmluZFN0cnVjdHVyZXNBbmRNYXBGb3JNYXRl
cmlhbGl6YXRpb24oVmVjdG9yPFN0cnVjdHVyZSosIDg+JiBzdHJ1Y3R1cmVzLCBTdHJ1Y3R1cmUq
JiBzdHJ1Y3R1cmUsIFByb3BlcnR5VGFibGUqJiB0YWJsZSkKIHsKICAgICBBU1NFUlQoc3RydWN0
dXJlcy5pc0VtcHR5KCkpOwpAQCAtMzk5LDI2ICs0MTksMTQgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1
cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25U
b0V4aXN0aW5nU3RydWN0dXJlSW1wbChzdHJ1Y3R1cmUsIHVpZCwgYXR0cmlidXRlcywgb2Zmc2V0
KTsKIH0KIAotYm9vbCBTdHJ1Y3R1cmU6OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRl
eGVkQWNjZXNzZXMoKSBjb25zdAorYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndhcmRUb1By
b3RvdHlwZShWTSYgdm0sIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIGZvciAoY29uc3Qg
U3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAgICAgICBpZiAoY3VycmVudC0+bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgCi0gICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90
eXBlKCk7Ci0gICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIAotICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBl
KS0+c3RydWN0dXJlKCk7Ci0gICAgfQotfQorICAgIEFTU0VSVChiYXNlLT5zdHJ1Y3R1cmUodm0p
ID09IHRoaXMpOwogCi1ib29sIFN0cnVjdHVyZTo6aG9sZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBl
KFZNJiB2bSkgY29uc3QKLXsKICAgICBpZiAodGhpcy0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSB0
aGlzLT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHRoaXMtPnN0
b3JlZFByb3RvdHlwZShiYXNlKTsKICAgICBpZiAoIXByb3RvdHlwZS5pc09iamVjdCgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHByb3Rv
dHlwZSk7CkBAIC00MjcsNyArNDM1LDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmhvbGVzTXVzdEZvcndh
cmRUb1Byb3RvdAogICAgICAgICBTdHJ1Y3R1cmUmIHN0cnVjdHVyZSA9ICpvYmplY3QtPnN0cnVj
dHVyZSh2bSk7CiAgICAgICAgIGlmIChoYXNJbmRleGVkUHJvcGVydGllcyhvYmplY3QtPmluZGV4
aW5nVHlwZSgpKSB8fCBzdHJ1Y3R1cmUubWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcHJvdG90eXBlID0gc3RydWN0dXJlLnN0
b3JlZFByb3RvdHlwZSgpOworICAgICAgICBwcm90b3R5cGUgPSBzdHJ1Y3R1cmUuc3RvcmVkUHJv
dG90eXBlKG9iamVjdCk7CiAgICAgICAgIGlmICghcHJvdG90eXBlLmlzT2JqZWN0KCkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG9iamVjdCA9IGFzT2JqZWN0KHByb3RvdHlw
ZSk7CkBAIC00MzcsMjAgKzQ0NSw2IEBAIGJvb2wgU3RydWN0dXJlOjpob2xlc011c3RGb3J3YXJk
VG9Qcm90b3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU3RydWN0dXJlOjpuZWVkc1Ns
b3dQdXRJbmRleGluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFueU9iamVjdEluQ2hhaW5NYXlJ
bnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKQotICAgICAgICB8fCBnbG9iYWxPYmplY3QoKS0+aXNI
YXZpbmdBQmFkVGltZSgpOwotfQotCi1Ob25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpz
dWdnZXN0ZWRBcnJheVN0b3JhZ2VUcmFuc2l0aW9uKCkgY29uc3QKLXsKLSAgICBpZiAobmVlZHNT
bG93UHV0SW5kZXhpbmcoKSkKLSAgICAgICAgcmV0dXJuIE5vblByb3BlcnR5VHJhbnNpdGlvbjo6
QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwotICAgIAotICAgIHJldHVybiBOb25Qcm9wZXJ0
eVRyYW5zaXRpb246OkFsbG9jYXRlQXJyYXlTdG9yYWdlOwotfQotCiBTdHJ1Y3R1cmUqIFN0cnVj
dHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5
T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBhZGRQcm9w
ZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlKApAQCAtNTUzLDYgKzU0Nyw4IEBAIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpyZW1vdmVQcm9wZXJ0eVRyYW4KIAogU3RydWN0dXJlKiBTdHJ1
Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CisgICAgQVNTRVJUKHByb3RvdHlwZS5pc09iamVj
dCgpIHx8IHByb3RvdHlwZS5pc051bGwoKSk7CisKICAgICBEZWZlckdDIGRlZmVyR0Modm0uaGVh
cCk7CiAgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOwog
CkBAIC0xMDY4LDExICsxMDY0LDYgQEAgdm9pZCBTdHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9t
VGhpc1N0cgogICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwoKnZtKCks
IFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykpOwogfQogCi1KU1ZhbHVlIFN0cnVjdHVyZTo6cHJv
dG90eXBlRm9yTG9va3VwKENvZGVCbG9jayogY29kZUJsb2NrKSBjb25zdAotewotICAgIHJldHVy
biBwcm90b3R5cGVGb3JMb29rdXAoY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KIHZv
aWQgU3RydWN0dXJlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZp
c2l0b3IpCiB7CiAgICAgU3RydWN0dXJlKiB0aGlzT2JqZWN0ID0ganNDYXN0PFN0cnVjdHVyZSo+
KGNlbGwpOwpAQCAtMTExMCw3ICsxMTAxLDcgQEAgYm9vbCBTdHJ1Y3R1cmU6OmlzQ2hlYXBEdXJp
bmdHQygpCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NzMzNAogICAgIAogICAgIHJldHVybiAoIW1fZ2xvYmFsT2JqZWN0IHx8IEhlYXA6OmlzTWFya2Vk
Q29uY3VycmVudGx5KG1fZ2xvYmFsT2JqZWN0LmdldCgpKSkKLSAgICAgICAgJiYgKCFzdG9yZWRQ
cm90b3R5cGVPYmplY3QoKSB8fCBIZWFwOjppc01hcmtlZENvbmN1cnJlbnRseShzdG9yZWRQcm90
b3R5cGVPYmplY3QoKSkpOworICAgICAgICAmJiAoaGFzUG9seVByb3RvKCkgfHwgIXN0b3JlZFBy
b3RvdHlwZU9iamVjdCgpIHx8IEhlYXA6OmlzTWFya2VkQ29uY3VycmVudGx5KHN0b3JlZFByb3Rv
dHlwZU9iamVjdCgpKSk7CiB9CiAKIGJvb2wgU3RydWN0dXJlOjptYXJrSWZDaGVhcChTbG90Vmlz
aXRvciYgdmlzaXRvcikKQEAgLTExMjIsNDAgKzExMTMsMTkgQEAgYm9vbCBTdHJ1Y3R1cmU6Om1h
cmtJZkNoZWFwKFNsb3RWaXNpdG9yJgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFN0cnVj
dHVyZTo6cHJvdG90eXBlQ2hhaW5NYXlJbnRlcmNlcHRTdG9yZVRvKFZNJiB2bSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkKLXsKLSAgICBpZiAocGFyc2VJbmRleChwcm9wZXJ0eU5hbWUpKQot
ICAgICAgICByZXR1cm4gYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpOwotICAgIAotICAgIGZvciAoU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgewotICAg
ICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOwotICAg
ICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKLSAgICAgICAgY3VycmVudCA9IHByb3RvdHlwZS5hc0NlbGwoKS0+c3RydWN0dXJl
KHZtKTsKLSAgICAgICAgCi0gICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7Ci0gICAgICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IGN1cnJlbnQtPmdldCh2bSwgcHJvcGVydHlOYW1lLCBhdHRy
aWJ1dGVzKTsKLSAgICAgICAgaWYgKCFKU0M6OmlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUHJv
cGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSkK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0KLX0KLQotUmVmPFN0cnVjdHVyZVNoYXBlPiBTdHJ1Y3R1cmU6OnRvU3RydWN0dXJl
U2hhcGUoSlNWYWx1ZSB2YWx1ZSkKK1JlZjxTdHJ1Y3R1cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0
cnVjdHVyZVNoYXBlKEpTVmFsdWUgdmFsdWUsIGJvb2wmIHNhd1BvbHlQcm90b1N0cnVjdHVyZSkK
IHsKICAgICBSZWY8U3RydWN0dXJlU2hhcGU+IGJhc2VTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpj
cmVhdGUoKTsKICAgICBSZWZQdHI8U3RydWN0dXJlU2hhcGU+IGN1clNoYXBlID0gYmFzZVNoYXBl
LnB0cigpOwogICAgIFN0cnVjdHVyZSogY3VyU3RydWN0dXJlID0gdGhpczsKICAgICBKU1ZhbHVl
IGN1clZhbHVlID0gdmFsdWU7CisgICAgc2F3UG9seVByb3RvU3RydWN0dXJlID0gZmFsc2U7CiAg
ICAgd2hpbGUgKGN1clN0cnVjdHVyZSkgeworICAgICAgICBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUg
fD0gY3VyU3RydWN0dXJlLT5oYXNQb2x5UHJvdG8oKTsKICAgICAgICAgY3VyU3RydWN0dXJlLT5m
b3JFYWNoUHJvcGVydHlDb25jdXJyZW50bHkoCiAgICAgICAgICAgICBbJl0gKGNvbnN0IFByb3Bl
cnR5TWFwRW50cnkmIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAgICAgICBjdXJTaGFwZS0+
YWRkUHJvcGVydHkoKmVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgaWYgKCFQcm9wZXJ0eU5h
bWUoZW50cnkua2V5KS5pc1ByaXZhdGVOYW1lKCkpCisgICAgICAgICAgICAgICAgICAgIGN1clNo
YXBlLT5hZGRQcm9wZXJ0eSgqZW50cnkua2V5KTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgICAgIH0pOwogCkBAIC0xMTY5LDI2ICsxMTM5LDI0IEBAIFJlZjxTdHJ1Y3R1
cmVTaGFwZT4gU3RydWN0dXJlOjp0b1N0cnVjdHUKIAogICAgICAgICBjdXJTaGFwZS0+bWFya0Fz
RmluYWwoKTsKIAotICAgICAgICBpZiAoY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGVTdHJ1
Y3R1cmUoKSkgewotICAgICAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0cnVjdHVyZVNoYXBlOjpj
cmVhdGUoKTsKLSAgICAgICAgICAgIGN1clNoYXBlLT5zZXRQcm90byhuZXdTaGFwZS5jb3B5UmVm
KCkpOwotICAgICAgICAgICAgY3VyU2hhcGUgPSBXVEZNb3ZlKG5ld1NoYXBlKTsKLSAgICAgICAg
ICAgIGN1clZhbHVlID0gY3VyU3RydWN0dXJlLT5zdG9yZWRQcm90b3R5cGUoKTsKLSAgICAgICAg
fQorICAgICAgICBpZiAoIWN1clZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgICAgICBicmVhazsK
IAotICAgICAgICBjdXJTdHJ1Y3R1cmUgPSBjdXJTdHJ1Y3R1cmUtPnN0b3JlZFByb3RvdHlwZVN0
cnVjdHVyZSgpOworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY3VyVmFsdWUp
OworICAgICAgICBKU09iamVjdCogcHJvdG90eXBlT2JqZWN0ID0gb2JqZWN0LT5zdHJ1Y3R1cmUo
KS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0KG9iamVjdCk7CisgICAgICAgIGlmICghcHJvdG90eXBl
T2JqZWN0KQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgYXV0byBuZXdTaGFwZSA9IFN0
cnVjdHVyZVNoYXBlOjpjcmVhdGUoKTsKKyAgICAgICAgY3VyU2hhcGUtPnNldFByb3RvKG5ld1No
YXBlLmNvcHlSZWYoKSk7CisgICAgICAgIGN1clNoYXBlID0gV1RGTW92ZShuZXdTaGFwZSk7Cisg
ICAgICAgIGN1clZhbHVlID0gcHJvdG90eXBlT2JqZWN0OworICAgICAgICBjdXJTdHJ1Y3R1cmUg
PSBwcm90b3R5cGVPYmplY3QtPnN0cnVjdHVyZSgpOwogICAgIH0KICAgICAKICAgICByZXR1cm4g
YmFzZVNoYXBlOwogfQogCi1ib29sIFN0cnVjdHVyZTo6Y2FuVXNlRm9yQWxsb2NhdGlvbnNPZihT
dHJ1Y3R1cmUqIG90aGVyKQotewotICAgIHJldHVybiBpbmxpbmVDYXBhY2l0eSgpID09IG90aGVy
LT5pbmxpbmVDYXBhY2l0eSgpCi0gICAgICAgICYmIHN0b3JlZFByb3RvdHlwZSgpID09IG90aGVy
LT5zdG9yZWRQcm90b3R5cGUoKQotICAgICAgICAmJiBvYmplY3RJbml0aWFsaXphdGlvbkJsb2Io
KSA9PSBvdGhlci0+b2JqZWN0SW5pdGlhbGl6YXRpb25CbG9iKCk7Ci19Ci0KIHZvaWQgU3RydWN0
dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiB7CiAgICAgb3V0LnByaW50KFJhd1Bv
aW50ZXIodGhpcyksICI6WyIsIGNsYXNzSW5mbygpLT5jbGFzc05hbWUsICIsIHsiKTsKQEAgLTEy
MDMsNyArMTE3MSw5IEBAIHZvaWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGMK
ICAgICAKICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAoaW5kZXhpbmdUeXBl
KCkpKTsKICAgICAKLSAgICBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXNDZWxsKCkpCisgICAgaWYg
KGhhc1BvbHlQcm90bygpKQorICAgICAgICBvdXQucHJpbnQoIiwgUG9seVByb3RvIG9mZnNldDoi
LCBwb2x5UHJvdG9PZmZzZXQoKSk7CisgICAgZWxzZSBpZiAobV9wcm90b3R5cGUuZ2V0KCkuaXND
ZWxsKCkpCiAgICAgICAgIG91dC5wcmludCgiLCBQcm90bzoiLCBSYXdQb2ludGVyKG1fcHJvdG90
eXBlLmdldCgpLmFzQ2VsbCgpKSk7CiAKICAgICBzd2l0Y2ggKGRpY3Rpb25hcnlLaW5kKCkpIHsK
QEAgLTEyODgsOSArMTI1OCw3IEBAIGJvb2wgU3RydWN0dXJlOjpjYW5DYWNoZVByb3BlcnR5TmFt
ZUVudW0KICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICBpZiAoIXN0cnVjdHVyZS0+Z2V0KCkp
CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgaWYgKHN0cnVjdHVyZS0+Z2V0KCktPmlzRGlj
dGlvbmFyeSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBpZiAoc3RydWN0
dXJlLT5nZXQoKS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCisgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPmdldCgpLT5pc0RpY3Rpb25hcnkoKSB8fCBzdHJ1Y3R1cmUtPmdl
dCgpLT50eXBlSW5mbygpLm92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMoKSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgc3RydWN0dXJlKys7CiAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDIyMjgwMSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjksNyArMTI5LDkgQEAgcHVibGljOgogICAgIHR5cGVkZWYgSlNDZWxsIEJhc2U7CiAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJl
RmxhZ3MgfCBTdHJ1Y3R1cmVJc0ltbW9ydGFsOwogICAgIAorICAgIGVudW0gUG9seVByb3RvVGFn
IHsgUG9seVByb3RvIH07CiAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25zdCBDbGFz
c0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSAwKTsKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGUoUG9seVByb3RvVGFnLCBWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mLCBjb25z
dCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUgPSBOb25BcnJheSwgdW5zaWduZWQgaW5saW5lQ2Fw
YWNpdHkgPSAwKTsKIAogICAgIH5TdHJ1Y3R1cmUoKTsKIApAQCAtMTM4LDcgKzE0MCwxOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAg
ICAgIEFTU0VSVChtX3Byb3RvdHlwZSk7Ci0gICAgICAgIEFTU0VSVChtX3Byb3RvdHlwZS5pc09i
amVjdCgpIHx8IG1fcHJvdG90eXBlLmlzTnVsbCgpKTsKKyAgICAgICAgQVNTRVJUKG1fcHJvdG90
eXBlLmlzT2JqZWN0KCkgfHwgbV9wcm90b3R5cGUuaXNOdWxsKCkgfHwgbV9wcm90b3R5cGUuaXNJ
bnQzMigpKTsKKyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgY29uc3Qg
U3RydWN0dXJlKiBwcmV2aW91cykKKyAgICB7CisgICAgICAgIHRoaXMtPmZpbmlzaENyZWF0aW9u
KHZtKTsKKyAgICAgICAgaWYgKHByZXZpb3VzLT5oYXNSYXJlRGF0YSgpKSB7CisgICAgICAgICAg
ICBjb25zdCBTdHJ1Y3R1cmVSYXJlRGF0YSogcHJldmlvdXNSYXJlRGF0YSA9IHByZXZpb3VzLT5y
YXJlRGF0YSgpOworICAgICAgICAgICAgaWYgKHByZXZpb3VzUmFyZURhdGEtPmhhc1NoYXJlZFBv
bHlQcm90b1dhdGNocG9pbnQoKSkgeworICAgICAgICAgICAgICAgIGVuc3VyZVJhcmVEYXRhKHZt
KTsKKyAgICAgICAgICAgICAgICByYXJlRGF0YSgpLT5zZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBv
aW50KHByZXZpb3VzUmFyZURhdGEtPmNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIENyZWF0aW5nRWFybHlDZWxsVGFnKQpAQCAtMTY3LDcgKzE4MSw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQcm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5n
U3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0
cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFBy
b3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFu
c2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwot
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGNoYW5nZVByb3RvdHlwZVRy
YW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBKU1ZhbHVlIHByb3RvdHlwZSk7CisgICAgc3RhdGlj
IFN0cnVjdHVyZSogY2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIEpT
VmFsdWUgcHJvdG90eXBlKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiBhdHRyaWJ1dGVDaGFuZ2VUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVydHlOYW1l
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3Ry
dWN0dXJlKiB0b0NhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwg
RGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogdG9VbmNhY2hlYWJsZURpY3Rpb25hcnlUcmFuc2l0aW9uKFZN
JiwgU3RydWN0dXJlKik7CkBAIC0yMDgsNyArMjIyLDcgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgcmV0dXJuICF0eXBlSW5mbygpLmdldE93blByb3BlcnR5U2xvdElzSW1wdXJlRm9yUHJvcGVy
dHlBYnNlbmNlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBuZWVkSW1wdXJlUHJvcGVydHlX
YXRjaHBvaW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFjY2Vzc2VzQXJlQ2Fj
aGVhYmxlKCkKQEAgLTI0MCwyNiArMjU0LDQyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuICEh
KGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3Jz
KTsKICAgICB9CiAgICAgICAgIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgYW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OwotICAgIGJvb2wgaG9s
ZXNNdXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJikgY29uc3Q7Ci0gICAgICAgIAotICAgIGJvb2wg
bmVlZHNTbG93UHV0SW5kZXhpbmcoKSBjb25zdDsKLSAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24g
c3VnZ2VzdGVkQXJyYXlTdG9yYWdlVHJhbnNpdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG9sZXNN
dXN0Rm9yd2FyZFRvUHJvdG90eXBlKFZNJiwgSlNPYmplY3QqKSBjb25zdDsKICAgICAgICAgCiAg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFs
T2JqZWN0LmdldCgpOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBi
ZSBjYWxsZWQgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBzdHJ1Y3R1cmVzLCBzaW5jZSB0aGUgZ2xv
YmFsCiAgICAgLy8gb2JqZWN0IG9mIGEgc3RydWN0dXJlIGlzIHByZXN1bWVkIHRvIGJlIGltbXV0
YWJsZSBpbiBhIGJ1bmNoIG9mIHBsYWNlcy4KICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KHZt
LCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9Ci0gICAgICAgIAotICAgIEpTVmFsdWUgc3RvcmVkUHJv
dG90eXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7IH0KKworICAgIGJvb2wg
aGFzTW9ub1Byb3RvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV9wcm90b3R5cGUu
Z2V0KCkuaXNJbnQzMigpOworICAgIH0KKyAgICBib29sIGhhc1BvbHlQcm90bygpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gIWhhc01vbm9Qcm90bygpOworICAgIH0KKyAgICBKU1ZhbHVl
IHN0b3JlZFByb3RvdHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICBSRUxFQVNFX0FTU0VSVCho
YXNNb25vUHJvdG8oKSk7CisgICAgICAgIHJldHVybiBtX3Byb3RvdHlwZS5nZXQoKTsKKyAgICB9
CisgICAgUHJvcGVydHlPZmZzZXQgcG9seVByb3RvT2Zmc2V0KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGhhc1BvbHlQcm90bygpKTsKKyAgICAgICAgcmV0dXJuIG1fcHJv
dG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICB9CisgICAgSlNWYWx1ZSBzdG9yZWRQcm90b3R5
cGUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKyAgICBKU09iamVjdCogc3RvcmVkUHJvdG90eXBl
T2JqZWN0KGNvbnN0IEpTT2JqZWN0KikgY29uc3Q7CisgICAgU3RydWN0dXJlKiBzdG9yZWRQcm90
b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmplY3QqKSBjb25zdDsKKwogICAgIEpTT2JqZWN0KiBz
dG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25zdDsKICAgICBTdHJ1Y3R1cmUqIHN0b3JlZFByb3Rv
dHlwZVN0cnVjdHVyZSgpIGNvbnN0OwotICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEV4
ZWNTdGF0ZSopIGNvbnN0OwogICAgIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwKEpTR2xvYmFs
T2JqZWN0KikgY29uc3Q7Ci0gICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoQ29kZUJsb2Nr
KikgY29uc3Q7Ci0gICAgU3RydWN0dXJlQ2hhaW4qIHByb3RvdHlwZUNoYWluKFZNJiwgSlNHbG9i
YWxPYmplY3QqKSBjb25zdDsKLSAgICBTdHJ1Y3R1cmVDaGFpbiogcHJvdG90eXBlQ2hhaW4oRXhl
Y1N0YXRlKikgY29uc3Q7CisgICAgSlNWYWx1ZSBwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxP
YmplY3QqLCBKU0NlbGwqIGJhc2UpIGNvbnN0OworICAgIFN0cnVjdHVyZUNoYWluKiBwcm90b3R5
cGVDaGFpbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqIGJhc2UpIGNvbnN0OworICAg
IFN0cnVjdHVyZUNoYWluKiBwcm90b3R5cGVDaGFpbihFeGVjU3RhdGUqLCBKU09iamVjdCogYmFz
ZSkgY29uc3Q7CiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90Vmlz
aXRvciYpOwogICAgIAogICAgIC8vIEEgU3RydWN0dXJlIGlzIGNoZWFwIHRvIG1hcmsgZHVyaW5n
IEdDIGlmIGRvaW5nIHNvIHdvdWxkIG9ubHkgYWRkIGEgc21hbGwgYW5kIGJvdW5kZWQgYW1vdW50
CkBAIC0yNzIsMTQgKzMwMiwzMCBAQCBwdWJsaWM6CiAgICAgCiAgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoaXMgc3RydWN0dXJlIGlzIG5vdyBtYXJrZWQuCiAgICAgYm9vbCBtYXJrSWZDaGVhcChT
bG90VmlzaXRvciYpOwotICAgICAgICAKLSAgICAvLyBXaWxsIGp1c3QgdGhlIHByb3RvdHlwZSBj
aGFpbiBpbnRlcmNlcHQgdGhpcyBwcm9wZXJ0eSBhY2Nlc3M/Ci0gICAgSlNfRVhQT1JUX1BSSVZB
VEUgYm9vbCBwcm90b3R5cGVDaGFpbk1heUludGVyY2VwdFN0b3JlVG8oVk0mLCBQcm9wZXJ0eU5h
bWUpOwogICAgIAogICAgIGJvb2wgaGFzUmFyZURhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAg
cmV0dXJuIGlzUmFyZURhdGEobV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwogICAgIH0KKwor
ICAgIFN0cnVjdHVyZVJhcmVEYXRhKiByYXJlRGF0YSgpCisgICAgeworICAgICAgICBBU1NFUlQo
aGFzUmFyZURhdGEoKSk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxTdHJ1Y3R1cmVSYXJl
RGF0YSo+KG1fcHJldmlvdXNPclJhcmVEYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjb25zdCBT
dHJ1Y3R1cmVSYXJlRGF0YSogcmFyZURhdGEoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KGhhc1JhcmVEYXRhKCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3RydWN0
dXJlUmFyZURhdGEqPihtX3ByZXZpb3VzT3JSYXJlRGF0YS5nZXQoKSk7CisgICAgfQorCisgICAg
U3RydWN0dXJlUmFyZURhdGEqIGVuc3VyZVJhcmVEYXRhKFZNJiB2bSkKKyAgICB7CisgICAgICAg
IGlmICghaGFzUmFyZURhdGEoKSkKKyAgICAgICAgICAgIGFsbG9jYXRlUmFyZURhdGEodm0pOwor
ICAgICAgICByZXR1cm4gcmFyZURhdGEoKTsKKyAgICB9CiAgICAgCiAgICAgU3RydWN0dXJlKiBw
cmV2aW91c0lEKCkgY29uc3QKICAgICB7CkBAIC01MzMsMTIgKzU3OSw2IEBAIHB1YmxpYzoKICAg
ICAgICAgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllcyh2bSk7CiAgICAgfQogICAgIAot
ICAgIHZvaWQgc3RhcnRXYXRjaGluZ0ludGVybmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5Rm9yRW50
aXJlQ2hhaW4oVk0mIHZtKQotICAgIHsKLSAgICAgICAgZm9yIChTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IHRoaXM7IHN0cnVjdHVyZTsgc3RydWN0dXJlID0gc3RydWN0dXJlLT5zdG9yZWRQcm90b3R5
cGVTdHJ1Y3R1cmUoKSkKLSAgICAgICAgICAgIHN0cnVjdHVyZS0+c3RhcnRXYXRjaGluZ0ludGVy
bmFsUHJvcGVydGllc0lmTmVjZXNzYXJ5KHZtKTsKLSAgICB9Ci0KICAgICBib29sIGhhc0luZmVy
cmVkVHlwZXMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuICEhbV9pbmZlcnJlZFR5cGVU
YWJsZTsKQEAgLTU4OCwxMSArNjI4LDcgQEAgcHVibGljOgogICAgICAgICB3aWxsU3RvcmVWYWx1
ZVNsb3codm0sIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZE9wdGltaXplLCBJbmZlcnJlZFR5
cGVUYWJsZTo6T2xkUHJvcGVydHkpOwogICAgIH0KIAotICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4g
dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlKTsKLSAgICAKLSAgICAvLyBEZXRlcm1pbmVzIGlmIHRo
ZSB0d28gc3RydWN0dXJlcyBtYXRjaCBlbm91Z2ggdGhhdCB0aGlzIG9uZSBjb3VsZCBiZSB1c2Vk
IGZvciBhbGxvY2F0aW9ucwotICAgIC8vIG9mIHRoZSBvdGhlciBvbmUuCi0gICAgYm9vbCBjYW5V
c2VGb3JBbGxvY2F0aW9uc09mKFN0cnVjdHVyZSopOworICAgIFJlZjxTdHJ1Y3R1cmVTaGFwZT4g
dG9TdHJ1Y3R1cmVTaGFwZShKU1ZhbHVlLCBib29sJiBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwog
ICAgIAogICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIHZvaWQgZHVtcElu
Q29udGV4dChQcmludFN0cmVhbSYsIER1bXBDb250ZXh0KikgY29uc3Q7CkBAIC02MDEsNiArNjM3
LDEwIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkdW1wQ29udGV4dEhlYWRlcihQcmludFN0
cmVhbSYpOwogICAgIAogICAgIENvbmN1cnJlbnRKU0xvY2smIGxvY2soKSB7IHJldHVybiBtX2xv
Y2s7IH0KKworICAgIHVuc2lnbmVkIHByb3BlcnR5SGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
cGVydHlIYXNoOyB9CisKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8o
Y29uc3QgU3RydWN0dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpOwogICAgIAogICAgIERFQ0xB
UkVfRVhQT1JUX0lORk87CiAKQEAgLTcyMCw4ICs3NjAsNyBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gbnVtYmVyT2ZTbG90c0Zvckxhc3RPZmZzZXQobV9vZmZzZXQsIG1faW5saW5lQ2FwYWNp
dHkpOwogICAgIH0KIAotICAgIGJvb2wgaXNWYWxpZChKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Ci0gICAgYm9vbCBpc1ZhbGlkKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbikgY29uc3Q7Cisg
ICAgYm9vbCBpc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFBy
b3RvdHlwZUNoYWluLCBKU09iamVjdCogYmFzZSkgY29uc3Q7CiAKICAgICAvLyBZb3UgaGF2ZSB0
byBob2xkIHRoZSBzdHJ1Y3R1cmUgbG9jayB0byBkbyB0aGVzZS4KICAgICBKU19FWFBPUlRfUFJJ
VkFURSB2b2lkIHBpbihjb25zdCBBYnN0cmFjdExvY2tlciYsIFZNJiwgUHJvcGVydHlUYWJsZSop
OwpAQCAtNzMyLDEyICs3NzEsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gY2VsbCAmJiBj
ZWxsLT5zdHJ1Y3R1cmVJRCgpICE9IHN0cnVjdHVyZUlEKCk7CiAgICAgfQogCi0gICAgU3RydWN0
dXJlUmFyZURhdGEqIHJhcmVEYXRhKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIEFTU0VSVChoYXNS
YXJlRGF0YSgpKTsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFN0cnVjdHVyZVJhcmVEYXRh
Kj4obV9wcmV2aW91c09yUmFyZURhdGEuZ2V0KCkpOwotICAgIH0KLQogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIERldGFpbHNGdW5jPgogICAgIGJvb2wgY2hlY2tPZmZzZXRDb25zaXN0ZW5jeShQcm9w
ZXJ0eVRhYmxlKiwgY29uc3QgRGV0YWlsc0Z1bmMmKSBjb25zdDsKICAgICBib29sIGNoZWNrT2Zm
c2V0Q29uc2lzdGVuY3koKSBjb25zdDsKQEAgLTc4Nyw2ICs4MjAsOCBAQCBwcml2YXRlOgogCiAg
ICAgLy8gbV9vZmZzZXQgZG9lcyBub3QgYWNjb3VudCBmb3IgYW5vbnltb3VzIHNsb3RzCiAgICAg
UHJvcGVydHlPZmZzZXQgbV9vZmZzZXQ7CisKKyAgICB1aW50MzJfdCBtX3Byb3BlcnR5SGFzaDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlQ2hhaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVDaGFpbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Miw3ICs0Miw3IEBAIHB1YmxpYzoKICAgICB0eXBlZGVmIEpTQ2VsbCBCYXNlOwogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdz
IHwgU3RydWN0dXJlSXNJbW1vcnRhbDsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiogY3Jl
YXRlKFZNJiB2bSwgU3RydWN0dXJlKiBoZWFkKQorICAgIHN0YXRpYyBTdHJ1Y3R1cmVDaGFpbiog
Y3JlYXRlKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAgICAgeyAKICAgICAgICAgU3RydWN0dXJl
Q2hhaW4qIGNoYWluID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0dXJlQ2hhaW4+
KHZtLmhlYXApKSBTdHJ1Y3R1cmVDaGFpbih2bSwgdm0uc3RydWN0dXJlQ2hhaW5TdHJ1Y3R1cmUu
Z2V0KCkpOwogICAgICAgICBjaGFpbi0+ZmluaXNoQ3JlYXRpb24odm0sIGhlYWQpOwpAQCAtNjIs
MjEgKzYyLDIzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSog
aGVhZCkKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNPYmplY3QqIGhlYWQpCiAg
ICAgewogICAgICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisKICAgICAgICAgc2l6ZV90
IHNpemUgPSAwOwotICAgICAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJl
bnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBh
c09iamVjdChjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQorICAgICAg
ICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gaGVhZDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJl
bnQtPnN0cnVjdHVyZSh2bSktPnN0b3JlZFByb3RvdHlwZU9iamVjdChjdXJyZW50KSkKICAgICAg
ICAgICAgICsrc2l6ZTsKIAogICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT5bXT4gdmVjdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPltdPihzaXplICsgMSk7CiAKICAgICAgICAgc2l6ZV90IGkgPSAwOwotICAgICAgICBmb3Ig
KFN0cnVjdHVyZSogY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5z
dG9yZWRQcm90b3R5cGUoKS5pc051bGwoKSA/IDAgOiBhc09iamVjdChjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKSktPnN0cnVjdHVyZSgpKQotICAgICAgICAgICAgdmVjdG9yW2krK10uc2V0KHZt
LCB0aGlzLCBjdXJyZW50KTsKKyAgICAgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IGhlYWQ7
IGN1cnJlbnQ7IGN1cnJlbnQgPSBjdXJyZW50LT5zdHJ1Y3R1cmUodm0pLT5zdG9yZWRQcm90b3R5
cGVPYmplY3QoY3VycmVudCkpCisgICAgICAgICAgICB2ZWN0b3JbaSsrXS5zZXQodm0sIHRoaXMs
IGN1cnJlbnQtPnN0cnVjdHVyZSh2bSkpOwogICAgICAgICAKICAgICAgICAgdm0uaGVhcC5tdXRh
dG9yRmVuY2UoKTsKICAgICAgICAgbV92ZWN0b3IgPSBXVEZNb3ZlKHZlY3Rvcik7CisgICAgICAg
IHZtLmhlYXAud3JpdGVCYXJyaWVyKHRoaXMpOwogICAgIH0KIAogcHJpdmF0ZToKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJKHJl
dmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTYgKzUxLDE3IEBAIGlubGluZSBTdHJ1
Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlU3RydWMKICAgICByZXR1cm4gc3RydWN0dXJlOwogfQog
Ci1pbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSog
c3RydWN0dXJlLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogZGVm
ZXJyZWQpCitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogcHJldmlvdXMsIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJl
KiBkZWZlcnJlZCkKIHsKICAgICBBU1NFUlQodm0uc3RydWN0dXJlU3RydWN0dXJlKTsKLSAgICBT
dHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0cnVj
dHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgc3RydWN0dXJlLCBkZWZlcnJlZCk7Ci0gICAg
bmV3U3RydWN0dXJlLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1
Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBT
dHJ1Y3R1cmUodm0sIHByZXZpb3VzLCBkZWZlcnJlZCk7CisgICAgbmV3U3RydWN0dXJlLT5maW5p
c2hDcmVhdGlvbih2bSwgcHJldmlvdXMpOwogICAgIHJldHVybiBuZXdTdHJ1Y3R1cmU7CiB9CiAK
IGlubGluZSBKU09iamVjdCogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoKSBjb25z
dAogeworICAgIFJFTEVBU0VfQVNTRVJUKGhhc01vbm9Qcm90bygpKTsKICAgICBKU1ZhbHVlIHZh
bHVlID0gbV9wcm90b3R5cGUuZ2V0KCk7CiAgICAgaWYgKHZhbHVlLmlzTnVsbCgpKQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKQEAgLTY5LDEyICs3MCw0MSBAQCBpbmxpbmUgSlNPYmplY3QqIFN0
cnVjdHVyZTo6c3RvcmVkUHJvdG90CiAKIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6c3Rv
cmVkUHJvdG90eXBlU3RydWN0dXJlKCkgY29uc3QKIHsKKyAgICBSRUxFQVNFX0FTU0VSVChoYXNN
b25vUHJvdG8oKSk7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IHN0b3JlZFByb3RvdHlwZU9iamVj
dCgpOwogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1
cm4gb2JqZWN0LT5zdHJ1Y3R1cmUoKTsKIH0KIAorQUxXQVlTX0lOTElORSBKU1ZhbHVlIFN0cnVj
dHVyZTo6c3RvcmVkUHJvdG90eXBlKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpIGNvbnN0Cit7Cisg
ICAgUkVMRUFTRV9BU1NFUlQob2JqZWN0LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAo
aGFzTW9ub1Byb3RvKCkpCisgICAgICAgIHJldHVybiBzdG9yZWRQcm90b3R5cGUoKTsKKyAgICBS
RUxFQVNFX0FTU0VSVChtX3Byb3RvdHlwZS5nZXQoKS5pc0ludDMyKCkpOworICAgIFByb3BlcnR5
T2Zmc2V0IG9mZnNldCA9IG1fcHJvdG90eXBlLmdldCgpLmFzSW50MzIoKTsKKyAgICByZXR1cm4g
b2JqZWN0LT5nZXREaXJlY3Qob2Zmc2V0KTsKK30KKworQUxXQVlTX0lOTElORSBKU09iamVjdCog
U3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVPYmplY3QoY29uc3QgSlNPYmplY3QqIG9iamVjdCkg
Y29uc3QKK3sKKyAgICBSRUxFQVNFX0FTU0VSVChvYmplY3QtPnN0cnVjdHVyZSgpID09IHRoaXMp
OworICAgIGlmIChoYXNNb25vUHJvdG8oKSkKKyAgICAgICAgcmV0dXJuIHN0b3JlZFByb3RvdHlw
ZU9iamVjdCgpOworICAgIEpTVmFsdWUgcHJvdG8gPSBvYmplY3QtPmdldERpcmVjdChwb2x5UHJv
dG9PZmZzZXQoKSk7CisgICAgaWYgKHByb3RvLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICByZXR1cm4gYXNPYmplY3QocHJvdG8pOworfQorCitBTFdBWVNfSU5MSU5FIFN0
cnVjdHVyZSogU3RydWN0dXJlOjpzdG9yZWRQcm90b3R5cGVTdHJ1Y3R1cmUoY29uc3QgSlNPYmpl
Y3QqIG9iamVjdCkgY29uc3QKK3sKKyAgICBpZiAoSlNPYmplY3QqIHByb3RvID0gc3RvcmVkUHJv
dG90eXBlT2JqZWN0KG9iamVjdCkpCisgICAgICAgIHJldHVybiBwcm90by0+c3RydWN0dXJlKCk7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEFMV0FZU19JTkxJTkUgUHJvcGVydHlPZmZzZXQg
U3RydWN0dXJlOjpnZXQoVk0mIHZtLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAg
IHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkBAIC0xNjYsNDMgKzE5Niw1NiBAQCBpbmxpbmUgYm9vbCBT
dHJ1Y3R1cmU6OnRyYW5zaXRpdmVseVRyYW5zCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitBTFdB
WVNfSU5MSU5FIEpTVmFsdWUgcHJvdG90eXBlRm9yTG9va3VwUHJpbWl0aXZlSW1wbChKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKK3sKKyAg
ICBBU1NFUlQoIXN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CisKKyAgICBpZiAoc3RydWN0dXJlLT50
eXBlSW5mbygpLnR5cGUoKSA9PSBTdHJpbmdUeXBlKQorICAgICAgICByZXR1cm4gZ2xvYmFsT2Jq
ZWN0LT5zdHJpbmdQcm90b3R5cGUoKTsKKworICAgIEFTU0VSVChzdHJ1Y3R1cmUtPnR5cGVJbmZv
KCkudHlwZSgpID09IFN5bWJvbFR5cGUpOworICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJv
bFByb3RvdHlwZSgpOworCit9CisKIGlubGluZSBKU1ZhbHVlIFN0cnVjdHVyZTo6cHJvdG90eXBl
Rm9yTG9va3VwKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIGNvbnN0CiB7CisgICAgUkVM
RUFTRV9BU1NFUlQoaGFzTW9ub1Byb3RvKCkpOwogICAgIGlmIChpc09iamVjdCgpKQotICAgICAg
ICByZXR1cm4gbV9wcm90b3R5cGUuZ2V0KCk7Ci0gICAgaWYgKHR5cGVJbmZvKCkudHlwZSgpID09
IFN5bWJvbFR5cGUpCi0gICAgICAgIHJldHVybiBnbG9iYWxPYmplY3QtPnN5bWJvbFByb3RvdHlw
ZSgpOwotCi0gICAgQVNTRVJUKHR5cGVJbmZvKCkudHlwZSgpID09IFN0cmluZ1R5cGUpOwotICAg
IHJldHVybiBnbG9iYWxPYmplY3QtPnN0cmluZ1Byb3RvdHlwZSgpOworICAgICAgICByZXR1cm4g
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgcmV0dXJuIHByb3RvdHlwZUZvckxvb2t1cFByaW1pdGl2
ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAotaW5saW5lIEpTVmFsdWUgU3RydWN0dXJl
Ojpwcm90b3R5cGVGb3JMb29rdXAoRXhlY1N0YXRlKiBleGVjKSBjb25zdAoraW5saW5lIEpTVmFs
dWUgU3RydWN0dXJlOjpwcm90b3R5cGVGb3JMb29rdXAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgSlNDZWxsKiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5cGVGb3JMb29r
dXAoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICBSRUxFQVNFX0FTU0VSVChiYXNl
LT5zdHJ1Y3R1cmUoKSA9PSB0aGlzKTsKKyAgICBpZiAoaXNPYmplY3QoKSkKKyAgICAgICAgcmV0
dXJuIHN0b3JlZFByb3RvdHlwZShhc09iamVjdChiYXNlKSk7CisgICAgcmV0dXJuIHByb3RvdHlw
ZUZvckxvb2t1cFByaW1pdGl2ZUltcGwoZ2xvYmFsT2JqZWN0LCB0aGlzKTsKIH0KIAotaW5saW5l
IFN0cnVjdHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCkgY29uc3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3Ry
dWN0dXJlOjpwcm90b3R5cGVDaGFpbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogeworICAgIFJFTEVBU0VfQVNTRVJUKGJhc2UtPnN0
cnVjdHVyZSh2bSkgPT0gdGhpcyk7CiAgICAgLy8gV2UgY2FjaGUgb3VyIHByb3RvdHlwZSBjaGFp
biBzbyBvdXIgY2xpZW50cyBjYW4gc2hhcmUgaXQuCi0gICAgaWYgKCFpc1ZhbGlkKGdsb2JhbE9i
amVjdCwgbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKSkpIHsKLSAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGUgPSBwcm90b3R5cGVGb3JMb29rdXAoZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgbV9j
YWNoZWRQcm90b3R5cGVDaGFpbi5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZUNoYWluOjpjcmVhdGUo
dm0sIHByb3RvdHlwZS5pc051bGwoKSA/IDAgOiBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1
cmUoKSkpOworICAgIGlmICghaXNWYWxpZChnbG9iYWxPYmplY3QsIG1fY2FjaGVkUHJvdG90eXBl
Q2hhaW4uZ2V0KCksIGJhc2UpKSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gcHJvdG90
eXBlRm9yTG9va3VwKGdsb2JhbE9iamVjdCwgYmFzZSk7CisgICAgICAgIG1fY2FjaGVkUHJvdG90
eXBlQ2hhaW4uc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmVDaGFpbjo6Y3JlYXRlKHZtLCBwcm90b3R5
cGUuaXNOdWxsKCkgPyBudWxscHRyIDogYXNPYmplY3QocHJvdG90eXBlKSkpOwogICAgIH0KICAg
ICByZXR1cm4gbV9jYWNoZWRQcm90b3R5cGVDaGFpbi5nZXQoKTsKIH0KIAotaW5saW5lIFN0cnVj
dHVyZUNoYWluKiBTdHJ1Y3R1cmU6OnByb3RvdHlwZUNoYWluKEV4ZWNTdGF0ZSogZXhlYykgY29u
c3QKK2lubGluZSBTdHJ1Y3R1cmVDaGFpbiogU3RydWN0dXJlOjpwcm90b3R5cGVDaGFpbihFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlKSBjb25zdAogewotICAgIHJldHVybiBwcm90b3R5
cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIHJl
dHVybiBwcm90b3R5cGVDaGFpbihleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCksIGJhc2UpOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlQ2hhaW4qIGNhY2hlZFByb3RvdHlwZUNoYWlu
KSBjb25zdAoraW5saW5lIGJvb2wgU3RydWN0dXJlOjppc1ZhbGlkKEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFN0cnVjdHVyZUNoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbiwgSlNPYmpl
Y3QqIGJhc2UpIGNvbnN0CiB7CiAgICAgaWYgKCFjYWNoZWRQcm90b3R5cGVDaGFpbikKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBwcm90b3R5cGVGb3JM
b29rdXAoZ2xvYmFsT2JqZWN0KTsKKyAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IHByb3RvdHlwZUZv
ckxvb2t1cChnbG9iYWxPYmplY3QsIGJhc2UpOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
KiBjYWNoZWRTdHJ1Y3R1cmUgPSBjYWNoZWRQcm90b3R5cGVDaGFpbi0+aGVhZCgpOwogICAgIHdo
aWxlICgqY2FjaGVkU3RydWN0dXJlICYmICFwcm90b3R5cGUuaXNOdWxsKCkpIHsKICAgICAgICAg
aWYgKGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpICE9IGNhY2hlZFN0cnVjdHVyZS0+
Z2V0KCkpCkBAIC0yMTMsMTEgKzI1Niw2IEBAIGlubGluZSBib29sIFN0cnVjdHVyZTo6aXNWYWxp
ZChKU0dsb2JhbE8KICAgICByZXR1cm4gcHJvdG90eXBlLmlzTnVsbCgpICYmICEqY2FjaGVkU3Ry
dWN0dXJlOwogfQogCi1pbmxpbmUgYm9vbCBTdHJ1Y3R1cmU6OmlzVmFsaWQoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1cmVDaGFpbiogY2FjaGVkUHJvdG90eXBlQ2hhaW4pIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGlzVmFsaWQoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCBjYWNoZWRQcm90b3R5
cGVDaGFpbik7Ci19Ci0KIGlubGluZSB2b2lkIFN0cnVjdHVyZTo6ZGlkUmVwbGFjZVByb3BlcnR5
KFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKIHsKICAgICBpZiAoTElLRUxZKCFoYXNSYXJlRGF0YSgp
KSkKQEAgLTM0MSw2ICszNzksOCBAQCBpbmxpbmUgUHJvcGVydHlPZmZzZXQgU3RydWN0dXJlOjph
ZGQoVk0mCiAgICAgYXV0byByZXAgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CiAKICAgICBQcm9wZXJ0
eU9mZnNldCBuZXdPZmZzZXQgPSB0YWJsZS0+bmV4dE9mZnNldChtX2lubGluZUNhcGFjaXR5KTsK
KworICAgIG1fcHJvcGVydHlIYXNoID0gbV9wcm9wZXJ0eUhhc2ggXiByZXAtPmV4aXN0aW5nU3lt
Ym9sQXdhcmVIYXNoKCk7CiAgICAgCiAgICAgUHJvcGVydHlPZmZzZXQgbmV3TGFzdE9mZnNldCA9
IG1fb2Zmc2V0OwogICAgIHRhYmxlLT5hZGQoUHJvcGVydHlNYXBFbnRyeShyZXAsIG5ld09mZnNl
dCwgYXR0cmlidXRlcyksIG5ld0xhc3RPZmZzZXQsIFByb3BlcnR5VGFibGU6OlByb3BlcnR5T2Zm
c2V0TWF5Q2hhbmdlKTsKQEAgLTQwMCw5ICs0NDAsNTYgQEAgaW5saW5lIFByb3BlcnR5T2Zmc2V0
IFN0cnVjdHVyZTo6cmVtb3ZlUAogICAgIHJldHVybiByZW1vdmUocHJvcGVydHlOYW1lLCBmdW5j
KTsKIH0KIAotaW5saW5lIHZvaWQgU3RydWN0dXJlOjpzZXRQcm9wZXJ0eVRhYmxlKFZNJiB2bSwg
UHJvcGVydHlUYWJsZSogdGFibGUpCitBTFdBWVNfSU5MSU5FIHZvaWQgU3RydWN0dXJlOjpzZXRQ
cm9wZXJ0eVRhYmxlKFZNJiB2bSwgUHJvcGVydHlUYWJsZSogdGFibGUpCiB7CiAgICAgbV9wcm9w
ZXJ0eVRhYmxlVW5zYWZlLnNldE1heUJlTnVsbCh2bSwgdGhpcywgdGFibGUpOwogfQorCitBTFdB
WVNfSU5MSU5FIGJvb2wgU3RydWN0dXJlOjpzaG91bGRDb252ZXJ0VG9Qb2x5UHJvdG8oY29uc3Qg
U3RydWN0dXJlKiBhLCBjb25zdCBTdHJ1Y3R1cmUqIGIpCit7CisgICAgaWYgKCFhIHx8ICFiKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYSA9PSBiKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoYS0+cHJvcGVydHlIYXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBvYmpl
Y3RzIGNyZWF0ZWQgdmlhIGEgY29uc3RydWN0b3IncyB0b190aGlzLiBUaGVzZQorICAgIC8vIGFs
bCBoYXZlIFN0cnVjdHVyZXMgd2l0aCByYXJlIGRhdGEgYW5kIGEgc2hhcmVkUG9seVByb3RvV2F0
Y2hwb2ludC4KKyAgICBpZiAoIWEtPmhhc1JhcmVEYXRhKCkgfHwgIWItPmhhc1JhcmVEYXRhKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIG9ubHkgY2FyZSBhYm91dCBTdHJ1
Y3R1cmUncyBnZW5lcmF0ZWQgZnJvbSBmdW5jdGlvbnMgdGhhdCBzaGFyZQorICAgIC8vIHRoZSBz
YW1lIGV4ZWN1dGFibGUuCisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRTZXQ+JiBhSW5s
aW5lV2F0Y2hwb2ludFNldCA9IGEtPnJhcmVEYXRhKCktPnNoYXJlZFBvbHlQcm90b1dhdGNocG9p
bnQoKTsKKyAgICBjb25zdCBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4mIGJJbmxpbmVXYXRjaHBv
aW50U2V0ID0gYi0+cmFyZURhdGEoKS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpOworICAg
IGlmIChhSW5saW5lV2F0Y2hwb2ludFNldC5nZXQoKSAhPSBiSW5saW5lV2F0Y2hwb2ludFNldC5n
ZXQoKSB8fCAhYUlubGluZVdhdGNocG9pbnRTZXQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBBU1NFUlQoYUlubGluZVdhdGNocG9pbnRTZXQgJiYgYklubGluZVdhdGNocG9pbnRTZXQgJiYg
YUlubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkgPT0gYklubGluZVdhdGNocG9pbnRTZXQuZ2V0KCkp
OworCisgICAgaWYgKGEtPmhhc1BvbHlQcm90bygpIHx8IGItPmhhc1BvbHlQcm90bygpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoYS0+c3RvcmVkUHJvdG90eXBlKCkgPT0gYi0+
c3RvcmVkUHJvdG90eXBlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFZNJiB2bSA9
ICphLT52bSgpOworICAgIEpTT2JqZWN0KiBhT2JqID0gYS0+c3RvcmVkUHJvdG90eXBlT2JqZWN0
KCk7CisgICAgSlNPYmplY3QqIGJPYmogPSBiLT5zdG9yZWRQcm90b3R5cGVPYmplY3QoKTsKKyAg
ICB3aGlsZSAoYU9iaiAmJiBiT2JqKSB7CisgICAgICAgIGEgPSBhT2JqLT5zdHJ1Y3R1cmUodm0p
OworICAgICAgICBiID0gYk9iai0+c3RydWN0dXJlKHZtKTsKKworICAgICAgICBpZiAoYS0+cHJv
cGVydHlIYXNoKCkgIT0gYi0+cHJvcGVydHlIYXNoKCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgYU9iaiA9IGEtPnN0b3JlZFByb3RvdHlwZU9iamVjdChhT2JqKTsKKyAg
ICAgICAgYk9iaiA9IGItPnN0b3JlZFByb3RvdHlwZU9iamVjdChiT2JqKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gIWFPYmogJiYgIWJPYmo7Cit9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBKU0MKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURh
dGEuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTEgQEAgcHVi
bGljOgogICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogY2FjaGVkUHJvcGVydHlOYW1lRW51
bWVyYXRvcigpIGNvbnN0OwogICAgIHZvaWQgc2V0Q2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRv
cihWTSYsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciopOwogCisgICAgQm94PElubGluZVdhdGNo
cG9pbnRTZXQ+IGNvcHlTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4g
bV9wb2x5UHJvdG9XYXRjaHBvaW50OyB9CisgICAgY29uc3QgQm94PElubGluZVdhdGNocG9pbnRT
ZXQ+JiBzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9wb2x5UHJv
dG9XYXRjaHBvaW50OyB9CisgICAgdm9pZCBzZXRTaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KEJv
eDxJbmxpbmVXYXRjaHBvaW50U2V0PiYmIHNoYXJlZFBvbHlQcm90b1dhdGNocG9pbnQpIHsgbV9w
b2x5UHJvdG9XYXRjaHBvaW50ID0gV1RGTW92ZShzaGFyZWRQb2x5UHJvdG9XYXRjaHBvaW50KTsg
fQorICAgIGJvb2wgaGFzU2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpIGNvbnN0IHsgcmV0dXJu
IHN0YXRpY19jYXN0PGJvb2w+KG1fcG9seVByb3RvV2F0Y2hwb2ludCk7IH0KKwogICAgIERFQ0xB
UkVfRVhQT1JUX0lORk87CiAKIHByaXZhdGU6CkBAIC03NiwxMSArODEsMTIgQEAgcHJpdmF0ZToK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByZXZpb3VzOwogICAgIFdyaXRlQmFycmll
cjxKU1N0cmluZz4gbV9vYmplY3RUb1N0cmluZ1ZhbHVlOwogICAgIFdyaXRlQmFycmllcjxKU1By
b3BlcnR5TmFtZUVudW1lcmF0b3I+IG1fY2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcjsKLSAg
ICAKKwogICAgIHR5cGVkZWYgSGFzaE1hcDxQcm9wZXJ0eU9mZnNldCwgUmVmUHRyPFdhdGNocG9p
bnRTZXQ+LCBXVEY6OkludEhhc2g8UHJvcGVydHlPZmZzZXQ+LCBXVEY6OlVuc2lnbmVkV2l0aFpl
cm9LZXlIYXNoVHJhaXRzPFByb3BlcnR5T2Zmc2V0Pj4gUHJvcGVydHlXYXRjaHBvaW50TWFwOwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9wZXJ0eVdhdGNocG9pbnRNYXA+IG1fcmVwbGFjZW1lbnRX
YXRjaHBvaW50U2V0czsKICAgICBCYWc8T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdh
dGNocG9pbnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVdhdGNocG9pbnRTZXQ7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVX
YXRjaHBvaW50PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZlcnJlZFZhbHVlV2F0Y2hwb2lu
dDsKKyAgICBCb3g8SW5saW5lV2F0Y2hwb2ludFNldD4gbV9wb2x5UHJvdG9XYXRjaHBvaW50Owog
ICAgIGJvb2wgbV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZTsKIH07CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1R5cGVQcm9maWxlckxvZy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlwZVByb2ZpbGVyTG9nLmNw
cAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlw
ZVByb2ZpbGVyTG9nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMTkgKzYzLDM1IEBAIHZvaWQg
VHlwZVByb2ZpbGVyTG9nOjpwcm9jZXNzTG9nRW50cmllcygKICAgICAgICAgYmVmb3JlID0gY3Vy
cmVudFRpbWVNUygpOwogICAgIH0KIAorICAgIEhhc2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPj4gY2FjaGVkTW9ub1Byb3RvU2hhcGVzOworICAgIEhhc2hNYXA8c3RkOjpw
YWlyPFN0cnVjdHVyZSosIEpTQ2VsbCo+LCBSZWZQdHI8U3RydWN0dXJlU2hhcGU+PiBjYWNoZWRQ
b2x5UHJvdG9TaGFwZXM7CisKICAgICBMb2dFbnRyeSogZW50cnkgPSBtX2xvZ1N0YXJ0UHRyOwot
ICAgIEhhc2hNYXA8U3RydWN0dXJlKiwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPj4gc2VlblNoYXBl
czsKKwogICAgIHdoaWxlIChlbnRyeSAhPSBtX2N1cnJlbnRMb2dFbnRyeVB0cikgewogICAgICAg
ICBTdHJ1Y3R1cmVJRCBpZCA9IGVudHJ5LT5zdHJ1Y3R1cmVJRDsKLSAgICAgICAgUmVmUHRyPFN0
cnVjdHVyZVNoYXBlPiBzaGFwZTsgCisgICAgICAgIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4gc2hh
cGU7CiAgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBlbnRyeS0+dmFsdWU7CiAgICAgICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gbnVsbHB0cjsKKyAgICAgICAgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1
Y3R1cmUgPSBmYWxzZTsKICAgICAgICAgaWYgKGlkKSB7Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUg
PSBIZWFwOjpoZWFwKHZhbHVlLmFzQ2VsbCgpKS0+c3RydWN0dXJlSURUYWJsZSgpLmdldChpZCk7
IAotICAgICAgICAgICAgYXV0byBpdGVyID0gc2VlblNoYXBlcy5maW5kKHN0cnVjdHVyZSk7Ci0g
ICAgICAgICAgICBpZiAoaXRlciA9PSBzZWVuU2hhcGVzLmVuZCgpKSB7Ci0gICAgICAgICAgICAg
ICAgc2hhcGUgPSBzdHJ1Y3R1cmUtPnRvU3RydWN0dXJlU2hhcGUodmFsdWUpOwotICAgICAgICAg
ICAgICAgIHNlZW5TaGFwZXMuc2V0KHN0cnVjdHVyZSwgc2hhcGUpOworICAgICAgICAgICAgc3Ry
dWN0dXJlID0gSGVhcDo6aGVhcCh2YWx1ZS5hc0NlbGwoKSktPnN0cnVjdHVyZUlEVGFibGUoKS5n
ZXQoaWQpOworICAgICAgICAgICAgYXV0byBpdGVyID0gY2FjaGVkTW9ub1Byb3RvU2hhcGVzLmZp
bmQoc3RydWN0dXJlKTsKKyAgICAgICAgICAgIGlmIChpdGVyID09IGNhY2hlZE1vbm9Qcm90b1No
YXBlcy5lbmQoKSkgeworICAgICAgICAgICAgICAgIGF1dG8ga2V5ID0gc3RkOjptYWtlX3BhaXIo
c3RydWN0dXJlLCB2YWx1ZS5hc0NlbGwoKSk7CisgICAgICAgICAgICAgICAgYXV0byBpdGVyID0g
Y2FjaGVkUG9seVByb3RvU2hhcGVzLmZpbmQoa2V5KTsKKyAgICAgICAgICAgICAgICBpZiAoaXRl
ciAhPSBjYWNoZWRQb2x5UHJvdG9TaGFwZXMuZW5kKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
c2hhcGUgPSBpdGVyLT52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgc2F3UG9seVByb3RvU3Ry
dWN0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAo
IXNoYXBlKSB7CisgICAgICAgICAgICAgICAgICAgIHNoYXBlID0gc3RydWN0dXJlLT50b1N0cnVj
dHVyZVNoYXBlKHZhbHVlLCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOworICAgICAgICAgICAgICAg
ICAgICBpZiAoc2F3UG9seVByb3RvU3RydWN0dXJlKQorICAgICAgICAgICAgICAgICAgICAgICAg
Y2FjaGVkUG9seVByb3RvU2hhcGVzLnNldChrZXksIHNoYXBlKTsKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVkTW9ub1Byb3RvU2hhcGVzLnNl
dChzdHJ1Y3R1cmUsIHNoYXBlKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICBzaGFwZSA9IGl0ZXItPnZhbHVlOwogICAgICAgICB9CkBAIC04
NCw4ICsxMDAsOCBAQCB2b2lkIFR5cGVQcm9maWxlckxvZzo6cHJvY2Vzc0xvZ0VudHJpZXMoCiAg
ICAgICAgIFR5cGVMb2NhdGlvbiogbG9jYXRpb24gPSBlbnRyeS0+bG9jYXRpb247CiAgICAgICAg
IGxvY2F0aW9uLT5tX2xhc3RTZWVuVHlwZSA9IHR5cGU7CiAgICAgICAgIGlmIChsb2NhdGlvbi0+
bV9nbG9iYWxUeXBlU2V0KQotICAgICAgICAgICAgbG9jYXRpb24tPm1fZ2xvYmFsVHlwZVNldC0+
YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIHNoYXBlLmNvcHlSZWYoKSwgc3RydWN0dXJlKTsKLSAg
ICAgICAgbG9jYXRpb24tPm1faW5zdHJ1Y3Rpb25UeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24o
dHlwZSwgV1RGTW92ZShzaGFwZSksIHN0cnVjdHVyZSk7CisgICAgICAgICAgICBsb2NhdGlvbi0+
bV9nbG9iYWxUeXBlU2V0LT5hZGRUeXBlSW5mb3JtYXRpb24odHlwZSwgc2hhcGUuY29weVJlZigp
LCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CisgICAgICAgIGxvY2F0aW9uLT5t
X2luc3RydWN0aW9uVHlwZVNldC0+YWRkVHlwZUluZm9ybWF0aW9uKHR5cGUsIFdURk1vdmUoc2hh
cGUpLCBzdHJ1Y3R1cmUsIHNhd1BvbHlQcm90b1N0cnVjdHVyZSk7CiAKICAgICAgICAgZW50cnkr
KzsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UeXBlU2V0LmNw
cAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVHlw
ZVNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDE0ICs0MSwxNyBAQCBUeXBlU2V0OjpUeXBl
U2V0KCkKIHsKIH0KIAotdm9pZCBUeXBlU2V0OjphZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5
cGUgdHlwZSwgUmVmUHRyPFN0cnVjdHVyZVNoYXBlPiYmIHBhc3NlZE5ld1NoYXBlLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKK3ZvaWQgVHlwZVNldDo6YWRkVHlwZUluZm9ybWF0aW9uKFJ1bnRpbWVU
eXBlIHR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiBwYXNzZWROZXdTaGFwZSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIGJvb2wgc2F3UG9seVByb3RvU3RydWN0dXJlKQogewogICAgIG1fc2Vl
blR5cGVzID0gbV9zZWVuVHlwZXMgfCB0eXBlOwogCiAgICAgaWYgKHN0cnVjdHVyZSAmJiBwYXNz
ZWROZXdTaGFwZSAmJiAhcnVudGltZVR5cGVJc1ByaW1pdGl2ZSh0eXBlKSkgewogICAgICAgICBS
ZWY8U3RydWN0dXJlU2hhcGU+IG5ld1NoYXBlID0gcGFzc2VkTmV3U2hhcGUucmVsZWFzZU5vbk51
bGwoKTsKLSAgICAgICAgaWYgKCFtX3N0cnVjdHVyZVNldC5jb250YWlucyhzdHJ1Y3R1cmUpKSB7
Ci0gICAgICAgICAgICB7CisgICAgICAgIC8vIEZJWE1FOiBUeXBlU2V0IHNob3VsZCBiZSBhYmxl
IHRvIGNhY2hlIHBvbHkgcHJvdG8gY2hhaW5zCisgICAgICAgIC8vIGp1c3QgYnkgY2FjaGluZyB0
aGUgcHJvdG90eXBlIGNoYWluOgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc3NjI3CisgICAgICAgIGlmIChzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUg
fHwgIW1fc3RydWN0dXJlU2V0LmNvbnRhaW5zKHN0cnVjdHVyZSkpIHsKKyAgICAgICAgICAgIGlm
ICghc2F3UG9seVByb3RvU3RydWN0dXJlKSB7CiAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpT
TG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICAgICAgICAgIG1fc3RydWN0dXJlU2V0LmFk
ZChzdHJ1Y3R1cmUpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVHlwZVNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1R5cGVTZXQuaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVHlwZVNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC04NSw3ICs4NSw3IEBAIGNs
YXNzIFR5cGVTZXQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW4KIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPFR5cGVTZXQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHlwZVNldCk7
IH0KICAgICBUeXBlU2V0KCk7Ci0gICAgdm9pZCBhZGRUeXBlSW5mb3JtYXRpb24oUnVudGltZVR5
cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3RydWN0dXJlKik7CisgICAgdm9pZCBhZGRU
eXBlSW5mb3JtYXRpb24oUnVudGltZVR5cGUsIFJlZlB0cjxTdHJ1Y3R1cmVTaGFwZT4mJiwgU3Ry
dWN0dXJlKiwgYm9vbCBzYXdQb2x5UHJvdG9TdHJ1Y3R1cmUpOwogICAgIHZvaWQgaW52YWxpZGF0
ZUNhY2hlKCk7CiAgICAgU3RyaW5nIGR1bXBUeXBlcygpIGNvbnN0OwogICAgIFN0cmluZyBkaXNw
bGF5TmFtZSgpIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV3Jp
dGVCYXJyaWVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V3JpdGVCYXJyaWVyLmgJKHJldmlzaW9uIDIyMjgwMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dyaXRlQmFycmllci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNiArMTQ0LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5kZWZpbmVkKCkgeyBtX3ZhbHVlID0gSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOyB9CiAgICAgdm9pZCBzZXRTdGFydGluZ1ZhbHVlKEpTVmFs
dWUgdmFsdWUpIHsgbV92YWx1ZSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZSk7IH0KICAgICBib29s
IGlzTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gZ2V0KCkuaXNOdW1iZXIoKTsgfQorICAgIGJvb2wg
aXNJbnQzMigpIGNvbnN0IHsgcmV0dXJuIGdldCgpLmlzSW50MzIoKTsgfQogICAgIGJvb2wgaXNP
YmplY3QoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc09iamVjdCgpOyB9CiAgICAgYm9vbCBpc051
bGwoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc051bGwoKTsgfQogICAgIGJvb2wgaXNHZXR0ZXJT
ZXR0ZXIoKSBjb25zdCB7IHJldHVybiBnZXQoKS5pc0dldHRlclNldHRlcigpOyB9CkluZGV4OiBT
b3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwko
cmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMC0wMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRmlsaXAgUGl6bG8uCisKKyAgICAgICAgKiB3dGYvQm94Lmg6CisgICAg
ICAgIChXVEY6OkJveDo6b3BlcmF0b3IgYm9vbCBjb25zdCk6CisgICAgICAgIChXVEY6OkJveDo6
b3BlcmF0b3IgYm9vbCk6IERlbGV0ZWQuCisgICAgICAgIE1ha2UgQm94IG1vdmFibGUuIEFsc28g
ZW5zdXJlIGl0cyBvcGVyYXRvciBib29sIGRvZXNuJ3QgZG8gYW4gYXRvbWljIGluY3JlbWVudC4K
KyAgICAgICAgKiB3dGYvUmVmUHRyLmg6CisgICAgICAgIChXVEY6OlJlZlB0cjo6b3BlcmF0b3Ig
Ym9vbCBjb25zdCk6CisgICAgICAgIEFkZCBgZXhwbGljaXQgb3BlcmF0b3IgYm9vbCgpYCBmb3Ig
UmVmUHRyLgorCiAyMDE3LTEwLTAzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBBbGxvdyBhc3NpZ25pbmcgV2Vha1B0cjxEZXJpdmVkPiB0byBXZWFrUHRyPEJh
c2U+CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9Cb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RG
L3d0Zi9Cb3guaAkocmV2aXNpb24gMjIyODAxKQorKysgU291cmNlL1dURi93dGYvQm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTM2LDE0ICszNiwxNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+CiBjbGFzcyBCb3ggewogcHVibGljOgotICAgIEJveCgpCi0gICAgewotICAg
IH0KKyAgICBCb3goKSA9IGRlZmF1bHQ7CisgICAgQm94KEJveCYmKSA9IGRlZmF1bHQ7CisgICAg
Qm94KGNvbnN0IEJveCYpID0gZGVmYXVsdDsKIAogICAgIEJveChzdGQ6Om51bGxwdHJfdCkKICAg
ICB7CiAgICAgfQogCisgICAgQm94JiBvcGVyYXRvcj0oQm94JiYpID0gZGVmYXVsdDsKKyAgICBC
b3gmIG9wZXJhdG9yPShjb25zdCBCb3gmKSA9IGRlZmF1bHQ7CisKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZS4uLiBBcmd1bWVudHM+CiAgICAgc3RhdGljIEJveCBjcmVhdGUoQXJndW1lbnRzJiYuLi4g
YXJndW1lbnRzKQogICAgIHsKQEAgLTU3LDcgKzYwLDcgQEAgcHVibGljOgogICAgIFQmIG9wZXJh
dG9yKigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS0+dmFsdWU7IH0KICAgICBUKiBvcGVyYXRvci0+
KCkgY29uc3QgeyByZXR1cm4gJm1fZGF0YS0+dmFsdWU7IH0KIAotICAgIGV4cGxpY2l0IG9wZXJh
dG9yIGJvb2woKSB7IHJldHVybiBtX2RhdGE7IH0KKyAgICBleHBsaWNpdCBvcGVyYXRvciBib29s
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Ym9vbD4obV9kYXRhKTsgfQogICAgIAogcHJp
dmF0ZToKICAgICBzdHJ1Y3QgRGF0YSA6IFRocmVhZFNhZmVSZWZDb3VudGVkPERhdGE+IHsKSW5k
ZXg6IFNvdXJjZS9XVEYvd3RmL1JlZlB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3Rm
L1JlZlB0ci5oCShyZXZpc2lvbiAyMjI4MDEpCisrKyBTb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAko
d29ya2luZyBjb3B5KQpAQCAtODMsNiArODMsOCBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBjb252
ZXJzaW9uIG9wZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBjb252ZXJzaW9uIHRvIGJvb2wgYnV0IG5v
dCB0byBvdGhlciBpbnRlZ2VyIHR5cGVzLgogICAgIHR5cGVkZWYgVCogKFJlZlB0cjo6KlVuc3Bl
Y2lmaWVkQm9vbFR5cGUpOwogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25z
dCB7IHJldHVybiBtX3B0ciA/ICZSZWZQdHI6Om1fcHRyIDogbnVsbHB0cjsgfQorCisgICAgZXhw
bGljaXQgb3BlcmF0b3IgYm9vbCgpIGNvbnN0IHsgcmV0dXJuICEhbV9wdHI7IH0KICAgICAKICAg
ICBSZWZQdHImIG9wZXJhdG9yPShjb25zdCBSZWZQdHImKTsKICAgICBSZWZQdHImIG9wZXJhdG9y
PShUKik7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMjI4MDIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMiBAQAorMjAxNy0xMC0wMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcG9seW1vcnBoaWMgcHJvdG90eXBlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRmlsaXAgUGl6bG8uCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mt
c3RyZXNzLXRlc3RzOgorCiAyMDE3LTEwLTAzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIE9iakMgU1BJIGVxdWl2YWxlbnQgdG8gV0tQ
YWdlTG9hZGVyQ2xpZW50LndpbGxHb1RvQmFja0ZvcndhcmRMaXN0SXRlbQpJbmRleDogVG9vbHMv
U2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMjI4MDEpCisrKyBUb29scy9TY3JpcHRz
L3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC02MTksNyArNjE5LDcgQEAg
ZGVmIHJ1bkZUTE5vQ0pJVCgqb3B0aW9uYWxUZXN0U3BlY2lmaWNPcAogZW5kCiAKIGRlZiBydW5G
VExOb0NKSVRCM08xKCpvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlvbnMpCi0gICAgcnVuKCJmdGwt
bm8tY2ppdC1iM28xIiwgIi0tdXNlQXJyYXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgKihG
VExfT1BUSU9OUyArIE5PX0NKSVRfT1BUSU9OUyArIEIzTzFfT1BUSU9OUyArIG9wdGlvbmFsVGVz
dFNwZWNpZmljT3B0aW9ucykpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1iM28xIiwgIi0tdXNlQXJy
YXlBbGxvY2F0aW9uUHJvZmlsaW5nPWZhbHNlIiwgIi0tZm9yY2VQb2x5UHJvdG89dHJ1ZSIsICoo
RlRMX09QVElPTlMgKyBOT19DSklUX09QVElPTlMgKyBCM08xX09QVElPTlMgKyBvcHRpb25hbFRl
c3RTcGVjaWZpY09wdGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExOb0NKSVRWYWxpZGF0ZSgqb3B0
aW9uYWxUZXN0U3BlY2lmaWNPcHRpb25zKQpAQCAtNjQ3LDcgKzY0Nyw3IEBAIGRlZiBydW5ERkdF
YWdlck5vQ0pJVFZhbGlkYXRlKCpvcHRpb25hbFQKIGVuZAogCiBkZWYgcnVuRlRMRWFnZXIoKm9w
dGlvbmFsVGVzdFNwZWNpZmljT3B0aW9ucykKLSAgICBydW4oImZ0bC1lYWdlciIsICItLWFpckZv
cmNlQnJpZ2dzQWxsb2NhdG9yPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9OUyAr
IENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09wdGlv
bnMpKQorICAgIHJ1bigiZnRsLWVhZ2VyIiwgIi0tYWlyRm9yY2VCcmlnZ3NBbGxvY2F0b3I9dHJ1
ZSIsICItLWZvcmNlUG9seVByb3RvPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJfT1BUSU9O
UyArIENPTExFQ1RfQ09OVElOVU9VU0xZX09QVElPTlMgKyBvcHRpb25hbFRlc3RTcGVjaWZpY09w
dGlvbnMpKQogZW5kCiAKIGRlZiBydW5GVExFYWdlcldhdGNoZG9nKCpvcHRpb25hbFRlc3RTcGVj
aWZpY09wdGlvbnMpCkBAIC04NjQsNiArODY0LDcgQEAgZGVmIHJ1blR5cGVQcm9maWxlcgogCiAg
ICAgcnVuKCJmdGwtbm8tY2ppdC10eXBlLXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRy
dWUiLCAqKEZUTF9PUFRJT05TICsgTk9fQ0pJVF9PUFRJT05TKSkKICAgICBydW4oImZ0bC10eXBl
LXByb2ZpbGVyIiwgIi0tdXNlVHlwZVByb2ZpbGVyPXRydWUiLCAqKEZUTF9PUFRJT05TKSkKKyAg
ICBydW4oImZ0bC10eXBlLXByb2ZpbGVyLWZvcmNlLXBvbHktcHJvdG8tZnRsLWVhZ2VyIiwgIi0t
dXNlVHlwZVByb2ZpbGVyPXRydWUiLCAiLS1mb3JjZVBvbHlQcm90bz10cnVlIiwgKihGVExfT1BU
SU9OUyArIEVBR0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5Db250cm9sRmxvd1Byb2ZpbGVy
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>